nir: drop load_sample_id_no_per_sample

unused now.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36429>
This commit is contained in:
Alyssa Rosenzweig 2025-06-27 10:17:52 -04:00 committed by Marge Bot
parent 04be5a8910
commit 4f1bafa6d5
5 changed files with 5 additions and 18 deletions

View file

@ -774,7 +774,6 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state)
case nir_intrinsic_load_color0:
case nir_intrinsic_load_color1:
case nir_intrinsic_load_sample_id:
case nir_intrinsic_load_sample_id_no_per_sample:
case nir_intrinsic_load_sample_mask_in:
case nir_intrinsic_load_interpolated_input:
case nir_intrinsic_load_point_coord_maybe_flipped:

View file

@ -925,9 +925,6 @@ system_value("instance_id", 1)
system_value("base_instance", 1)
system_value("draw_id", 1)
system_value("sample_id", 1)
# sample_id_no_per_sample is like sample_id but does not imply per-
# sample shading. See the lower_helper_invocation option.
system_value("sample_id_no_per_sample", 1)
system_value("sample_pos", 2)
# sample_pos_or_center is like sample_pos but does not imply per-sample
# shading. When per-sample dispatch is not enabled, it returns (0.5, 0.5).

View file

@ -2968,7 +2968,6 @@ emit_intrinsic(struct ir3_context *ctx, nir_intrinsic_instr *intr)
dst[0] = ctx->instance_id;
break;
case nir_intrinsic_load_sample_id:
case nir_intrinsic_load_sample_id_no_per_sample:
if (!ctx->samp_id) {
ctx->samp_id = create_sysval_input(ctx, SYSTEM_VALUE_SAMPLE_ID, 0x1);
ctx->samp_id->dsts[0]->flags |= IR3_REG_HALF;

View file

@ -4562,15 +4562,10 @@ emit_load_sample_pos_from_id(struct ntd_context *ctx, nir_intrinsic_instr *intr)
static bool
emit_load_sample_id(struct ntd_context *ctx, nir_intrinsic_instr *intr)
{
assert(ctx->mod.info.has_per_sample_input ||
intr->intrinsic == nir_intrinsic_load_sample_id_no_per_sample);
assert(ctx->mod.info.has_per_sample_input);
if (ctx->mod.info.has_per_sample_input)
return emit_load_unary_external_function(ctx, intr, "dx.op.sampleIndex",
DXIL_INTR_SAMPLE_INDEX, nir_type_int);
store_def(ctx, &intr->def, 0, dxil_module_get_int32_const(&ctx->mod, 0));
return true;
return emit_load_unary_external_function(ctx, intr, "dx.op.sampleIndex",
DXIL_INTR_SAMPLE_INDEX, nir_type_int);
}
static bool
@ -4821,7 +4816,6 @@ emit_intrinsic(struct ntd_context *ctx, nir_intrinsic_instr *intr)
return emit_load_unary_external_function(ctx, intr, "dx.op.primitiveID",
DXIL_INTR_PRIMITIVE_ID, nir_type_int);
case nir_intrinsic_load_sample_id:
case nir_intrinsic_load_sample_id_no_per_sample:
return emit_load_sample_id(ctx, intr);
case nir_intrinsic_load_invocation_id:
switch (ctx->mod.shader_kind) {

View file

@ -25,10 +25,8 @@
#include "pan_ir.h"
/* Lower gl_HelperInvocation to (gl_SampleMaskIn == 0), this depends on
* architectural details but is required for correct operation with
* multisampling. NIR's lowering won't work for us, since there is no in-spec
* way to implement load_sample_id_no_per_sample. */
* architectural details but is more efficient than NIR's lowering.
*/
static bool
pan_lower_helper_invocation_instr(nir_builder *b, nir_intrinsic_instr *intr,
void *data)