intel: drop clamp_fragment_color handling

This is all dead code since we weren't even seting the cap in iris/crocus!

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37447>
This commit is contained in:
Alyssa Rosenzweig 2025-09-17 12:48:56 -04:00 committed by Marge Bot
parent 957f326a10
commit 36bd06ebab
11 changed files with 13 additions and 50 deletions

View file

@ -4850,8 +4850,6 @@ crocus_populate_fs_key(const struct crocus_context *ice,
key->nr_color_regions = fb->nr_cbufs;
key->clamp_fragment_color = rast->cso.clamp_fragment_color;
key->alpha_to_coverage = blend->cso.alpha_to_coverage ?
ELK_ALWAYS : ELK_NEVER;

View file

@ -281,13 +281,12 @@ struct iris_fs_prog_key {
bool flat_shade:1;
bool alpha_test_replicate_alpha:1;
bool alpha_to_coverage:1;
bool clamp_fragment_color:1;
bool persample_interp:1;
bool multisample_fbo:1;
bool force_dual_color_blend:1;
bool coherent_fb_fetch:1;
enum intel_vue_layout vue_layout:2;
uint64_t padding:41;
uint64_t padding:42;
};
struct iris_cs_prog_key {

View file

@ -579,7 +579,6 @@ iris_to_brw_fs_key(const struct iris_screen *screen,
.flat_shade = key->flat_shade,
.alpha_test_replicate_alpha = key->alpha_test_replicate_alpha,
.alpha_to_coverage = key->alpha_to_coverage ? INTEL_ALWAYS : INTEL_NEVER,
.clamp_fragment_color = key->clamp_fragment_color,
.persample_interp = key->persample_interp ? INTEL_ALWAYS : INTEL_NEVER,
.multisample_fbo = key->multisample_fbo ? INTEL_ALWAYS : INTEL_NEVER,
.force_dual_color_blend = key->force_dual_color_blend,
@ -666,7 +665,6 @@ iris_to_elk_fs_key(const struct iris_screen *screen,
.flat_shade = key->flat_shade,
.alpha_test_replicate_alpha = key->alpha_test_replicate_alpha,
.alpha_to_coverage = key->alpha_to_coverage ? ELK_ALWAYS : ELK_NEVER,
.clamp_fragment_color = key->clamp_fragment_color,
.persample_interp = key->persample_interp ? ELK_ALWAYS : ELK_NEVER,
.multisample_fbo = key->multisample_fbo ? ELK_ALWAYS : ELK_NEVER,
.force_dual_color_blend = key->force_dual_color_blend,

View file

@ -2252,7 +2252,6 @@ struct iris_rasterizer_state {
bool depth_clip_far; /* for CC_VIEWPORT */
bool flatshade; /* for shader state */
bool flatshade_first; /* for stream output */
bool clamp_fragment_color; /* for shader state */
bool light_twoside; /* for shader state */
bool rasterizer_discard; /* for 3DSTATE_STREAMOUT and 3DSTATE_CLIP */
bool half_pixel_center; /* for 3DSTATE_MULTISAMPLE */
@ -2316,7 +2315,6 @@ iris_create_rasterizer_state(struct pipe_context *ctx,
cso->depth_clip_far = state->depth_clip_far;
cso->flatshade = state->flatshade;
cso->flatshade_first = state->flatshade_first;
cso->clamp_fragment_color = state->clamp_fragment_color;
cso->light_twoside = state->light_twoside;
cso->rasterizer_discard = state->rasterizer_discard;
cso->half_pixel_center = state->half_pixel_center;
@ -5044,8 +5042,6 @@ iris_populate_fs_key(const struct iris_context *ice,
key->nr_color_regions = fb->nr_cbufs;
key->clamp_fragment_color = rast->clamp_fragment_color;
key->alpha_to_coverage = blend->alpha_to_coverage;
key->alpha_test_replicate_alpha = fb->nr_cbufs > 1 && zsa->alpha_enabled;

View file

@ -399,7 +399,6 @@ struct brw_wm_prog_key {
unsigned nr_color_regions:5;
bool alpha_test_replicate_alpha:1;
enum intel_sometimes alpha_to_coverage:2;
bool clamp_fragment_color:1;
bool force_dual_color_blend:1;
@ -427,6 +426,7 @@ struct brw_wm_prog_key {
bool coarse_pixel:1;
bool null_push_constant_tbimr_workaround:1;
bool api_sample_shading:1;
unsigned pad:1;
};
static inline bool

View file

@ -136,7 +136,6 @@ debug_fs_recompile(const struct brw_compiler *c, void *log,
found |= check("number of color buffers", nr_color_regions);
found |= check("MRT alpha test", alpha_test_replicate_alpha);
found |= check("alpha to coverage", alpha_to_coverage);
found |= check("fragment color clamping", clamp_fragment_color);
found |= check("per-sample interpolation", persample_interp);
found |= check("multisampled FBO", multisample_fbo);
found |= check("force dual color blending", force_dual_color_blend);

View file

@ -275,20 +275,9 @@ lower_urb_write_logical_send_xe2(const brw_builder &bld, brw_urb_inst *urb)
}
static void
setup_color_payload(const brw_builder &bld, const brw_wm_prog_key *key,
brw_reg *dst, brw_reg color, unsigned components)
setup_color_payload(const brw_builder &bld, brw_reg *dst, brw_reg color,
unsigned components)
{
if (key->clamp_fragment_color) {
brw_reg tmp = bld.vgrf(BRW_TYPE_F, 4);
assert(color.type == BRW_TYPE_F);
for (unsigned i = 0; i < components; i++)
set_saturate(true,
bld.MOV(offset(tmp, bld, i), offset(color, bld, i)));
color = tmp;
}
for (unsigned i = 0; i < components; i++)
dst[i] = offset(color, bld, i);
}
@ -399,7 +388,7 @@ lower_fb_write_logical_send(const brw_builder &bld, brw_fb_write_inst *write,
.annotate("FB write src0 alpha");
const brw_reg tmp = ubld.vgrf(BRW_TYPE_F);
ubld.MOV(tmp, horiz_offset(src0_alpha, i * 8));
setup_color_payload(ubld, key, &sources[length], tmp, 1);
setup_color_payload(ubld, &sources[length], tmp, 1);
length++;
}
}
@ -430,11 +419,11 @@ lower_fb_write_logical_send(const brw_builder &bld, brw_fb_write_inst *write,
payload_header_size = length;
setup_color_payload(bld, key, &sources[length], color0, components);
setup_color_payload(bld, &sources[length], color0, components);
length += 4;
if (color1.file != BAD_FILE) {
setup_color_payload(bld, key, &sources[length], color1, components);
setup_color_payload(bld, &sources[length], color1, components);
length += 4;
}

View file

@ -496,7 +496,6 @@ struct elk_wm_prog_key {
enum compare_func alpha_test_func:3; /* < For Gfx4/5 MRT alpha test */
bool alpha_test_replicate_alpha:1;
enum elk_sometimes alpha_to_coverage:2;
bool clamp_fragment_color:1;
bool force_dual_color_blend:1;
@ -518,7 +517,7 @@ struct elk_wm_prog_key {
bool coherent_fb_fetch:1;
bool ignore_sample_mask_out:1;
uint64_t padding:56;
uint64_t padding:57;
};
struct elk_cs_prog_key {

View file

@ -164,7 +164,6 @@ debug_fs_recompile(const struct elk_compiler *c, void *log,
found |= check("number of color buffers", nr_color_regions);
found |= check("MRT alpha test", alpha_test_replicate_alpha);
found |= check("alpha to coverage", alpha_to_coverage);
found |= check("fragment color clamping", clamp_fragment_color);
found |= check("per-sample interpolation", persample_interp);
found |= check("multisampled FBO", multisample_fbo);
found |= check("line smoothing", line_aa);

View file

@ -124,20 +124,9 @@ lower_urb_write_logical_send(const fs_builder &bld, elk_fs_inst *inst)
}
static void
setup_color_payload(const fs_builder &bld, const elk_wm_prog_key *key,
elk_fs_reg *dst, elk_fs_reg color, unsigned components)
setup_color_payload(const fs_builder &bld, elk_fs_reg *dst, elk_fs_reg color,
unsigned components)
{
if (key->clamp_fragment_color) {
elk_fs_reg tmp = bld.vgrf(ELK_REGISTER_TYPE_F, 4);
assert(color.type == ELK_REGISTER_TYPE_F);
for (unsigned i = 0; i < components; i++)
set_saturate(true,
bld.MOV(offset(tmp, bld, i), offset(color, bld, i)));
color = tmp;
}
for (unsigned i = 0; i < components; i++)
dst[i] = offset(color, bld, i);
}
@ -273,7 +262,7 @@ lower_fb_write_logical_send(const fs_builder &bld, elk_fs_inst *inst,
.annotate("FB write src0 alpha");
const elk_fs_reg tmp = ubld.vgrf(ELK_REGISTER_TYPE_F);
ubld.MOV(tmp, horiz_offset(src0_alpha, i * 8));
setup_color_payload(ubld, key, &sources[length], tmp, 1);
setup_color_payload(ubld, &sources[length], tmp, 1);
length++;
}
}
@ -303,11 +292,11 @@ lower_fb_write_logical_send(const fs_builder &bld, elk_fs_inst *inst,
payload_header_size = length;
setup_color_payload(bld, key, &sources[length], color0, components);
setup_color_payload(bld, &sources[length], color0, components);
length += 4;
if (color1.file != BAD_FILE) {
setup_color_payload(bld, key, &sources[length], color1, components);
setup_color_payload(bld, &sources[length], color1, components);
length += 4;
}

View file

@ -286,9 +286,6 @@ populate_wm_prog_key(const struct anv_graphics_pipeline *pipeline,
*/
key->input_slots_valid = 0;
/* XXX Vulkan doesn't appear to specify */
key->clamp_fragment_color = false;
key->ignore_sample_mask_out = false;
assert(rp->color_attachment_count <= MAX_RTS);