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