video_core: Implement other missing vulkan topology
This commit is contained in:
		| @@ -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: |     case Maxwell::PrimitiveTopology::Polygon: | ||||||
|         UNIMPLEMENTED_MSG("Unimplemented topology={}", topology); |         LOG_WARNING(Render_Vulkan, "Draw mode is Polygon with a polygon mode of lines should be a " | ||||||
|         return {}; |                                    "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, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user