From b9a9cd59ff8938d1dd3c8a90a2cb4fb170d6adc8 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 20 Jan 2021 12:21:12 -0800 Subject: [PATCH] vc4: Stop advertising support for VS color clamping. This is special GL behavior that the frontend is now able to handle for us. Reviewed-by: Iago Toral Quiroga Part-of: --- src/gallium/drivers/vc4/vc4_program.c | 4 ---- src/gallium/drivers/vc4/vc4_qir.h | 1 - src/gallium/drivers/vc4/vc4_screen.c | 2 +- 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/gallium/drivers/vc4/vc4_program.c b/src/gallium/drivers/vc4/vc4_program.c index 2b6538b8890..a337039b70a 100644 --- a/src/gallium/drivers/vc4/vc4_program.c +++ b/src/gallium/drivers/vc4/vc4_program.c @@ -2298,9 +2298,6 @@ vc4_shader_ntq(struct vc4_context *vc4, enum qstage stage, NIR_PASS_V(c->s, nir_lower_tex, &tex_options); - if (c->vs_key && c->vs_key->clamp_color) - NIR_PASS_V(c->s, nir_lower_clamp_color_outputs); - if (c->key->ucp_enables) { if (stage == QSTAGE_FRAG) { NIR_PASS_V(c->s, nir_lower_clip_fs, @@ -2785,7 +2782,6 @@ vc4_update_compiled_vs(struct vc4_context *vc4, uint8_t prim_mode) vc4_setup_shared_key(vc4, &key->base, &vc4->verttex); key->base.shader_state = vc4->prog.bind_vs; key->fs_inputs = vc4->prog.fs->fs_inputs; - key->clamp_color = vc4->rasterizer->base.clamp_vertex_color; for (int i = 0; i < ARRAY_SIZE(key->attr_formats); i++) key->attr_formats[i] = vc4->vtx->pipe[i].src_format; diff --git a/src/gallium/drivers/vc4/vc4_qir.h b/src/gallium/drivers/vc4/vc4_qir.h index a2b818382e6..eb4050e8914 100644 --- a/src/gallium/drivers/vc4/vc4_qir.h +++ b/src/gallium/drivers/vc4/vc4_qir.h @@ -348,7 +348,6 @@ struct vc4_vs_key { enum pipe_format attr_formats[8]; bool is_coord; bool per_vertex_point_size; - bool clamp_color; }; /** A basic block of QIR intructions. */ diff --git a/src/gallium/drivers/vc4/vc4_screen.c b/src/gallium/drivers/vc4/vc4_screen.c index 2b1d18e2752..2cef30f0cc1 100644 --- a/src/gallium/drivers/vc4/vc4_screen.c +++ b/src/gallium/drivers/vc4/vc4_screen.c @@ -138,7 +138,6 @@ vc4_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) switch (param) { /* Supported features (boolean caps). */ - case PIPE_CAP_VERTEX_COLOR_CLAMPED: case PIPE_CAP_VERTEX_COLOR_UNCLAMPED: case PIPE_CAP_FRAGMENT_COLOR_CLAMPED: case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT: @@ -200,6 +199,7 @@ vc4_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 1; case PIPE_CAP_ALPHA_TEST: + case PIPE_CAP_VERTEX_COLOR_CLAMPED: case PIPE_CAP_TWO_SIDED_COLOR: return 0;