vc4: Remove vestiges of alpha test lowering.
authorEric Anholt <eric@anholt.net>
Wed, 20 Jan 2021 20:07:54 +0000 (12:07 -0800)
committerEric Anholt <eric@anholt.net>
Wed, 10 Feb 2021 04:06:48 +0000 (20:06 -0800)
We stopped reporting the alpha test screen cap, and stopped using the
value in the key, so now shrink the key.  This gets another switch case
out of the hot uniforms upload path.

Fixes: 1404b8b1e5b6 ("vc4: do not report alpha-test as supported")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8601>

src/gallium/drivers/vc4/vc4_program.c
src/gallium/drivers/vc4/vc4_qir.h
src/gallium/drivers/vc4/vc4_uniforms.c

index 58cbf4d..30a9377 100644 (file)
@@ -2742,10 +2742,6 @@ vc4_update_compiled_fs(struct vc4_context *vc4, uint8_t prim_mode)
         key->stencil_full_writemasks = vc4->zsa->stencil_uniforms[2] != 0;
         key->depth_enabled = (vc4->zsa->base.depth_enabled ||
                               key->stencil_enabled);
-        if (vc4->zsa->base.alpha_enabled)
-                key->alpha_test_func = vc4->zsa->base.alpha_func;
-        else
-                key->alpha_test_func = COMPARE_FUNC_ALWAYS;
 
         if (key->is_points) {
                 key->point_sprite_mask =
index 4d8bf60..3b1a844 100644 (file)
@@ -286,7 +286,6 @@ enum quniform_contents {
 
         QUNIFORM_STENCIL,
 
-        QUNIFORM_ALPHA_REF,
         QUNIFORM_SAMPLE_MASK,
 
         /* Placeholder uniform that will be updated by the kernel when used by
@@ -336,7 +335,6 @@ struct vc4_fs_key {
         bool sample_coverage;
         bool sample_alpha_to_coverage;
         bool sample_alpha_to_one;
-        uint8_t alpha_test_func;
         uint8_t logicop_func;
         uint32_t point_sprite_mask;
         uint32_t ubo_1_size;
index e456105..045feb2 100644 (file)
@@ -340,11 +340,6 @@ vc4_write_uniforms(struct vc4_context *vc4, struct vc4_compiled_shader *shader,
                                         0));
                         break;
 
-                case QUNIFORM_ALPHA_REF:
-                        cl_aligned_f(&uniforms,
-                                     vc4->zsa->base.alpha_ref_value);
-                        break;
-
                 case QUNIFORM_SAMPLE_MASK:
                         cl_aligned_u32(&uniforms, vc4->sample_mask);
                         break;
@@ -422,7 +417,6 @@ vc4_set_shader_uniform_dirty_flags(struct vc4_compiled_shader *shader)
                         break;
 
                 case QUNIFORM_STENCIL:
-                case QUNIFORM_ALPHA_REF:
                         dirty |= VC4_DIRTY_ZSA;
                         break;