v3d: Stop advertising support for PIPE_CAP_*_COLOR_CLAMPED.

The GL frontend can lower away this deprecated GL feature for us.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8601>
This commit is contained in:
Eric Anholt
2021-01-20 13:05:59 -08:00
parent 2992dc7386
commit ff805f8ac7
5 changed files with 2 additions and 18 deletions

View File

@@ -389,7 +389,6 @@ struct v3d_fs_key {
bool sample_coverage; bool sample_coverage;
bool sample_alpha_to_coverage; bool sample_alpha_to_coverage;
bool sample_alpha_to_one; bool sample_alpha_to_one;
bool clamp_color;
bool shade_model_flat; bool shade_model_flat;
/* Mask of which color render targets are present. */ /* Mask of which color render targets are present. */
uint8_t cbufs; uint8_t cbufs;

View File

@@ -960,9 +960,6 @@ v3d_nir_lower_gs_late(struct v3d_compile *c)
static void static void
v3d_nir_lower_vs_late(struct v3d_compile *c) v3d_nir_lower_vs_late(struct v3d_compile *c)
{ {
if (c->vs_key->clamp_color)
NIR_PASS_V(c->s, nir_lower_clamp_color_outputs);
if (c->key->ucp_enables) { if (c->key->ucp_enables) {
NIR_PASS_V(c->s, nir_lower_clip_vs, c->key->ucp_enables, NIR_PASS_V(c->s, nir_lower_clip_vs, c->key->ucp_enables,
false, false, NULL); false, false, NULL);
@@ -977,9 +974,6 @@ v3d_nir_lower_vs_late(struct v3d_compile *c)
static void static void
v3d_nir_lower_fs_late(struct v3d_compile *c) v3d_nir_lower_fs_late(struct v3d_compile *c)
{ {
if (c->fs_key->clamp_color)
NIR_PASS_V(c->s, nir_lower_clamp_color_outputs);
/* In OpenGL the fragment shader can't read gl_ClipDistance[], but /* In OpenGL the fragment shader can't read gl_ClipDistance[], but
* Vulkan allows it, in which case the SPIR-V compiler will declare * Vulkan allows it, in which case the SPIR-V compiler will declare
* VARING_SLOT_CLIP_DIST0 as compact array variable. Pass true as * VARING_SLOT_CLIP_DIST0 as compact array variable. Pass true as

View File

@@ -1106,9 +1106,6 @@ pipeline_populate_v3d_fs_key(struct v3d_fs_key *key,
key->is_lines = (topology >= PIPE_PRIM_LINES && key->is_lines = (topology >= PIPE_PRIM_LINES &&
topology <= PIPE_PRIM_LINE_STRIP); topology <= PIPE_PRIM_LINE_STRIP);
/* Vulkan doesn't appear to specify (anv does the same) */
key->clamp_color = false;
const VkPipelineColorBlendStateCreateInfo *cb_info = const VkPipelineColorBlendStateCreateInfo *cb_info =
pCreateInfo->pColorBlendState; pCreateInfo->pColorBlendState;
@@ -1206,9 +1203,6 @@ pipeline_populate_v3d_vs_key(struct v3d_vs_key *key,
const bool rba = p_stage->pipeline->device->features.robustBufferAccess; const bool rba = p_stage->pipeline->device->features.robustBufferAccess;
pipeline_populate_v3d_key(&key->base, p_stage, 0, rba); pipeline_populate_v3d_key(&key->base, p_stage, 0, rba);
/* Vulkan doesn't appear to specify (anv does the same) */
key->clamp_color = false;
/* Vulkan specifies a point size per vertex, so true for if the prim are /* Vulkan specifies a point size per vertex, so true for if the prim are
* points, like on ES2) * points, like on ES2)
*/ */

View File

@@ -552,7 +552,6 @@ v3d_update_compiled_fs(struct v3d_context *v3d, uint8_t prim_mode)
prim_mode <= PIPE_PRIM_LINE_STRIP); prim_mode <= PIPE_PRIM_LINE_STRIP);
key->line_smoothing = (key->is_lines && key->line_smoothing = (key->is_lines &&
v3d_line_smoothing_enabled(v3d)); v3d_line_smoothing_enabled(v3d));
key->clamp_color = v3d->rasterizer->base.clamp_fragment_color;
if (v3d->blend->base.logicop_enable) { if (v3d->blend->base.logicop_enable) {
key->logicop_func = v3d->blend->base.logicop_func; key->logicop_func = v3d->blend->base.logicop_func;
} else { } else {
@@ -757,8 +756,6 @@ v3d_update_compiled_vs(struct v3d_context *v3d, uint8_t prim_mode)
sizeof(key->used_outputs)); sizeof(key->used_outputs));
} }
key->clamp_color = v3d->rasterizer->base.clamp_vertex_color;
key->per_vertex_point_size = key->per_vertex_point_size =
(prim_mode == PIPE_PRIM_POINTS && (prim_mode == PIPE_PRIM_POINTS &&
v3d->rasterizer->base.point_size_per_vertex); v3d->rasterizer->base.point_size_per_vertex);

View File

@@ -109,9 +109,7 @@ v3d_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
switch (param) { switch (param) {
/* Supported features (boolean caps). */ /* Supported features (boolean caps). */
case PIPE_CAP_VERTEX_COLOR_CLAMPED:
case PIPE_CAP_VERTEX_COLOR_UNCLAMPED: case PIPE_CAP_VERTEX_COLOR_UNCLAMPED:
case PIPE_CAP_FRAGMENT_COLOR_CLAMPED:
case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT: case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
case PIPE_CAP_NPOT_TEXTURES: case PIPE_CAP_NPOT_TEXTURES:
case PIPE_CAP_SHAREABLE_SHADERS: case PIPE_CAP_SHAREABLE_SHADERS:
@@ -261,6 +259,8 @@ v3d_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_ALPHA_TEST: case PIPE_CAP_ALPHA_TEST:
case PIPE_CAP_TWO_SIDED_COLOR: case PIPE_CAP_TWO_SIDED_COLOR:
case PIPE_CAP_VERTEX_COLOR_CLAMPED:
case PIPE_CAP_FRAGMENT_COLOR_CLAMPED:
return 0; return 0;
/* Geometry shaders */ /* Geometry shaders */