summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/vc4/vc4_uniforms.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2015-04-13 21:36:24 -0700
committerEric Anholt <eric@anholt.net>2015-08-14 11:39:18 -0700
commitbf3c50fba221f216e38d3f60f89161ced4c684c0 (patch)
tree27547a49c8ed44d54f4f02031fa70118160a2ab7 /src/gallium/drivers/vc4/vc4_uniforms.c
parent38c6c0f5b499e2bcff2cc9607f67c0f1836f305b (diff)
downloadexternal_mesa3d-bf3c50fba221f216e38d3f60f89161ced4c684c0.zip
external_mesa3d-bf3c50fba221f216e38d3f60f89161ced4c684c0.tar.gz
external_mesa3d-bf3c50fba221f216e38d3f60f89161ced4c684c0.tar.bz2
vc4: Move all of our fixed function fragment color handling to NIR.
This massively reduces our dependency on VC4-specific optimization passes. shader-db: total uniforms in shared programs: 32077 -> 32067 (-0.03%) uniforms in affected programs: 149 -> 139 (-6.71%) total instructions in shared programs: 98208 -> 98182 (-0.03%) instructions in affected programs: 2154 -> 2128 (-1.21%)
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_uniforms.c')
-rw-r--r--src/gallium/drivers/vc4/vc4_uniforms.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/gallium/drivers/vc4/vc4_uniforms.c b/src/gallium/drivers/vc4/vc4_uniforms.c
index 3bf6672..85d6998 100644
--- a/src/gallium/drivers/vc4/vc4_uniforms.c
+++ b/src/gallium/drivers/vc4/vc4_uniforms.c
@@ -257,9 +257,14 @@ vc4_write_uniforms(struct vc4_context *vc4, struct vc4_compiled_shader *shader,
uinfo->data[i]));
break;
- case QUNIFORM_BLEND_CONST_COLOR:
+ case QUNIFORM_BLEND_CONST_COLOR_X:
+ case QUNIFORM_BLEND_CONST_COLOR_Y:
+ case QUNIFORM_BLEND_CONST_COLOR_Z:
+ case QUNIFORM_BLEND_CONST_COLOR_W:
cl_aligned_f(&uniforms,
- CLAMP(vc4->blend_color.color[uinfo->data[i]], 0, 1));
+ CLAMP(vc4->blend_color.color[uinfo->contents[i] -
+ QUNIFORM_BLEND_CONST_COLOR_X],
+ 0, 1));
break;
case QUNIFORM_STENCIL:
@@ -321,7 +326,10 @@ vc4_set_shader_uniform_dirty_flags(struct vc4_compiled_shader *shader)
dirty |= VC4_DIRTY_TEXSTATE;
break;
- case QUNIFORM_BLEND_CONST_COLOR:
+ case QUNIFORM_BLEND_CONST_COLOR_X:
+ case QUNIFORM_BLEND_CONST_COLOR_Y:
+ case QUNIFORM_BLEND_CONST_COLOR_Z:
+ case QUNIFORM_BLEND_CONST_COLOR_W:
dirty |= VC4_DIRTY_BLEND_COLOR;
break;