]> git.tdb.fi Git - libs/gl.git/blob - source/backends/vulkan/primitivetype_backend.cpp
Initial implementation of Vulkan backend
[libs/gl.git] / source / backends / vulkan / primitivetype_backend.cpp
1 #include "primitivetype.h"
2 #include "primitivetype_backend.h"
3 #include "vulkan.h"
4
5 using namespace std;
6
7 namespace Msp {
8 namespace GL {
9
10 unsigned get_vulkan_primitive_type(PrimitiveType pt)
11 {
12         switch(pt)
13         {
14         case POINTS: return VK_PRIMITIVE_TOPOLOGY_POINT_LIST;
15         case LINES: return VK_PRIMITIVE_TOPOLOGY_LINE_LIST;
16         case LINE_STRIP: return VK_PRIMITIVE_TOPOLOGY_LINE_STRIP;
17         case TRIANGLES: return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
18         case TRIANGLE_STRIP: return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
19         case TRIANGLE_FAN: return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN;
20         default: throw invalid_argument("get_vulkan_primitive_type");
21         }
22 }
23
24 } // namespace GL
25 } // namespace Msp