|
|
@ -301,6 +301,8 @@ VkPrimitiveTopology PrimitiveTopology([[maybe_unused]] const Device& device, |
|
|
return VK_PRIMITIVE_TOPOLOGY_POINT_LIST; |
|
|
return VK_PRIMITIVE_TOPOLOGY_POINT_LIST; |
|
|
case Maxwell::PrimitiveTopology::Lines: |
|
|
case Maxwell::PrimitiveTopology::Lines: |
|
|
return VK_PRIMITIVE_TOPOLOGY_LINE_LIST; |
|
|
return VK_PRIMITIVE_TOPOLOGY_LINE_LIST; |
|
|
|
|
|
case Maxwell::PrimitiveTopology::LineLoop: |
|
|
|
|
|
return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST; |
|
|
case Maxwell::PrimitiveTopology::LineStrip: |
|
|
case Maxwell::PrimitiveTopology::LineStrip: |
|
|
return VK_PRIMITIVE_TOPOLOGY_LINE_STRIP; |
|
|
return VK_PRIMITIVE_TOPOLOGY_LINE_STRIP; |
|
|
case Maxwell::PrimitiveTopology::Triangles: |
|
|
case Maxwell::PrimitiveTopology::Triangles: |
|
|
@ -309,6 +311,14 @@ VkPrimitiveTopology PrimitiveTopology([[maybe_unused]] const Device& device, |
|
|
return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP; |
|
|
return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP; |
|
|
case Maxwell::PrimitiveTopology::TriangleFan: |
|
|
case Maxwell::PrimitiveTopology::TriangleFan: |
|
|
return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN; |
|
|
return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN; |
|
|
|
|
|
case Maxwell::PrimitiveTopology::LinesAdjacency: |
|
|
|
|
|
return VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY; |
|
|
|
|
|
case Maxwell::PrimitiveTopology::LineStripAdjacency: |
|
|
|
|
|
return VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY; |
|
|
|
|
|
case Maxwell::PrimitiveTopology::TrianglesAdjacency: |
|
|
|
|
|
return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY; |
|
|
|
|
|
case Maxwell::PrimitiveTopology::TriangleStripAdjacency: |
|
|
|
|
|
return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY; |
|
|
case Maxwell::PrimitiveTopology::Quads: |
|
|
case Maxwell::PrimitiveTopology::Quads: |
|
|
case Maxwell::PrimitiveTopology::QuadStrip: |
|
|
case Maxwell::PrimitiveTopology::QuadStrip: |
|
|
// TODO: Use VK_PRIMITIVE_TOPOLOGY_QUAD_LIST_EXT/VK_PRIMITIVE_TOPOLOGY_QUAD_STRIP_EXT
|
|
|
// TODO: Use VK_PRIMITIVE_TOPOLOGY_QUAD_LIST_EXT/VK_PRIMITIVE_TOPOLOGY_QUAD_STRIP_EXT
|
|
|
@ -316,10 +326,13 @@ VkPrimitiveTopology PrimitiveTopology([[maybe_unused]] const Device& device, |
|
|
return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST; |
|
|
return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST; |
|
|
case Maxwell::PrimitiveTopology::Patches: |
|
|
case Maxwell::PrimitiveTopology::Patches: |
|
|
return VK_PRIMITIVE_TOPOLOGY_PATCH_LIST; |
|
|
return VK_PRIMITIVE_TOPOLOGY_PATCH_LIST; |
|
|
default: |
|
|
|
|
|
UNIMPLEMENTED_MSG("Unimplemented topology={}", topology); |
|
|
|
|
|
return {}; |
|
|
|
|
|
|
|
|
case Maxwell::PrimitiveTopology::Polygon: |
|
|
|
|
|
LOG_WARNING(Render_Vulkan, "Draw mode is Polygon with a polygon mode of lines should be a " |
|
|
|
|
|
"single body and not a bunch of triangles."); |
|
|
|
|
|
return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN; |
|
|
} |
|
|
} |
|
|
|
|
|
UNIMPLEMENTED_MSG("Unimplemented topology={}", topology); |
|
|
|
|
|
return {}; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
VkFormat VertexFormat(const Device& device, Maxwell::VertexAttribute::Type type, |
|
|
VkFormat VertexFormat(const Device& device, Maxwell::VertexAttribute::Type type, |
|
|
|