mirror of
https://git.suyu.dev/suyu/suyu
synced 2024-12-27 03:42:51 -06:00
video_core: Implement other missing vulkan topology
This commit is contained in:
parent
86d5b4e556
commit
6a397bc8ed
1 changed files with 16 additions and 3 deletions
|
@ -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,11 +326,14 @@ 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:
|
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);
|
UNIMPLEMENTED_MSG("Unimplemented topology={}", topology);
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
VkFormat VertexFormat(const Device& device, Maxwell::VertexAttribute::Type type,
|
VkFormat VertexFormat(const Device& device, Maxwell::VertexAttribute::Type type,
|
||||||
Maxwell::VertexAttribute::Size size) {
|
Maxwell::VertexAttribute::Size size) {
|
||||||
|
|
Loading…
Reference in a new issue