]> git.tdb.fi Git - libs/gl.git/blobdiff - source/backends/vulkan/primitivetype_backend.cpp
Initial implementation of Vulkan backend
[libs/gl.git] / source / backends / vulkan / primitivetype_backend.cpp
diff --git a/source/backends/vulkan/primitivetype_backend.cpp b/source/backends/vulkan/primitivetype_backend.cpp
new file mode 100644 (file)
index 0000000..4115af4
--- /dev/null
@@ -0,0 +1,25 @@
+#include "primitivetype.h"
+#include "primitivetype_backend.h"
+#include "vulkan.h"
+
+using namespace std;
+
+namespace Msp {
+namespace GL {
+
+unsigned get_vulkan_primitive_type(PrimitiveType pt)
+{
+       switch(pt)
+       {
+       case POINTS: return VK_PRIMITIVE_TOPOLOGY_POINT_LIST;
+       case LINES: return VK_PRIMITIVE_TOPOLOGY_LINE_LIST;
+       case LINE_STRIP: return VK_PRIMITIVE_TOPOLOGY_LINE_STRIP;
+       case TRIANGLES: return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
+       case TRIANGLE_STRIP: return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
+       case TRIANGLE_FAN: return VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN;
+       default: throw invalid_argument("get_vulkan_primitive_type");
+       }
+}
+
+} // namespace GL
+} // namespace Msp