etnaviv: implement texture comparator
[mesa.git] / src / gallium / drivers / etnaviv / etnaviv_translate.h
index fd48c60a123261ee500f507064f47f1171546cfd..4e9b2d5249ad7a7058d174ec33b94d349ff3ce68 100644 (file)
@@ -497,4 +497,29 @@ translate_texture_target(unsigned target)
    }
 }
 
+static inline uint32_t
+translate_texture_compare(enum pipe_compare_func compare_func)
+{
+   switch (compare_func) {
+   case PIPE_FUNC_NEVER:
+      return TEXTURE_COMPARE_FUNC_NEVER;
+   case PIPE_FUNC_LESS:
+      return TEXTURE_COMPARE_FUNC_LESS;
+   case PIPE_FUNC_EQUAL:
+      return TEXTURE_COMPARE_FUNC_EQUAL;
+   case PIPE_FUNC_LEQUAL:
+      return TEXTURE_COMPARE_FUNC_LEQUAL;
+   case PIPE_FUNC_GREATER:
+      return TEXTURE_COMPARE_FUNC_GREATER;
+   case PIPE_FUNC_NOTEQUAL:
+      return TEXTURE_COMPARE_FUNC_NOTEQUAL;
+   case PIPE_FUNC_GEQUAL:
+      return TEXTURE_COMPARE_FUNC_GEQUAL;
+   case PIPE_FUNC_ALWAYS:
+      return TEXTURE_COMPARE_FUNC_ALWAYS;
+   default:
+      unreachable("Invalid compare func");
+   }
+}
+
 #endif