--- /dev/null
+#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