X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbackends%2Fvulkan%2Fpredicate_backend.cpp;fp=source%2Fbackends%2Fvulkan%2Fpredicate_backend.cpp;h=ecc2be9d5f56283e797e866aca60b7f2487debe9;hb=99ca354f18119f82f1adeca100cd665a8f640317;hp=0000000000000000000000000000000000000000;hpb=4cd245dafe6a7ee5c93edca5aee2d146f1155309;p=libs%2Fgl.git diff --git a/source/backends/vulkan/predicate_backend.cpp b/source/backends/vulkan/predicate_backend.cpp new file mode 100644 index 00000000..ecc2be9d --- /dev/null +++ b/source/backends/vulkan/predicate_backend.cpp @@ -0,0 +1,27 @@ +#include "predicate.h" +#include "predicate_backend.h" +#include "vulkan.h" + +using namespace std; + +namespace Msp { +namespace GL { + +unsigned get_vulkan_predicate(Predicate pred) +{ + switch(pred) + { + case NEVER: return VK_COMPARE_OP_NEVER; + case ALWAYS: return VK_COMPARE_OP_ALWAYS; + case LESS: return VK_COMPARE_OP_LESS; + case LEQUAL: return VK_COMPARE_OP_LESS_OR_EQUAL; + case EQUAL: return VK_COMPARE_OP_EQUAL; + case GREATER: return VK_COMPARE_OP_GREATER; + case GEQUAL: return VK_COMPARE_OP_GREATER_OR_EQUAL; + case NOTEQUAL: return VK_COMPARE_OP_NOT_EQUAL; + default: throw invalid_argument("get_vulkan_predicate"); + } +} + +} // namespace GL +} // namespace Msp