From 4175ed50994a27b7d0b36471da58195670aa4192 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 9 Dec 2021 18:20:55 -0600 Subject: [PATCH] crocus: wm_prog_key::key_alpha_test uses GL enums Fixes: f3630548f1da ("crocus: initial gallium driver for Intel gfx 4-7") Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/crocus/crocus_state.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/crocus/crocus_state.c b/src/gallium/drivers/crocus/crocus_state.c index a6bd2d8d41a..509a4b30aa2 100644 --- a/src/gallium/drivers/crocus/crocus_state.c +++ b/src/gallium/drivers/crocus/crocus_state.c @@ -4751,6 +4751,22 @@ crocus_populate_gs_key(const struct crocus_context *ice, key->nr_userclip_plane_consts = cso_rast->num_clip_plane_consts; } +static inline GLenum +compare_func_to_gl(enum pipe_compare_func pipe_func) +{ + static const unsigned map[] = { + [PIPE_FUNC_NEVER] = GL_NEVER, + [PIPE_FUNC_LESS] = GL_LESS, + [PIPE_FUNC_EQUAL] = GL_EQUAL, + [PIPE_FUNC_LEQUAL] = GL_LEQUAL, + [PIPE_FUNC_GREATER] = GL_GREATER, + [PIPE_FUNC_NOTEQUAL] = GL_NOTEQUAL, + [PIPE_FUNC_GEQUAL] = GL_GEQUAL, + [PIPE_FUNC_ALWAYS] = GL_ALWAYS, + }; + return map[pipe_func]; +} + /** * Populate FS program key fields based on the current state. */ @@ -4837,7 +4853,7 @@ crocus_populate_fs_key(const struct crocus_context *ice, #if GFX_VER <= 5 if (fb->nr_cbufs > 1 && zsa->cso.alpha_enabled) { - key->alpha_test_func = zsa->cso.alpha_func; + key->alpha_test_func = compare_func_to_gl(zsa->cso.alpha_func); key->alpha_test_ref = zsa->cso.alpha_ref_value; } #endif