X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbackends%2Fvulkan%2Fprimitivetype_backend.cpp;fp=source%2Fbackends%2Fvulkan%2Fprimitivetype_backend.cpp;h=4115af446a6f855fbcc743839a6e5e6886dab4d4;hb=99ca354f18119f82f1adeca100cd665a8f640317;hp=0000000000000000000000000000000000000000;hpb=4cd245dafe6a7ee5c93edca5aee2d146f1155309;p=libs%2Fgl.git diff --git a/source/backends/vulkan/primitivetype_backend.cpp b/source/backends/vulkan/primitivetype_backend.cpp new file mode 100644 index 00000000..4115af44 --- /dev/null +++ b/source/backends/vulkan/primitivetype_backend.cpp @@ -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