nir: lower interp_deref_at_vertex to load_input_vertex
This introduces a new NIR intrinsic for loading inputs at a specific vertex index. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3578>
This commit is contained in:

committed by
Marge Bot

parent
d29f10a7ca
commit
cf6cae832c
@@ -125,6 +125,11 @@ visit_intrinsic(bool *divergent, nir_intrinsic_instr *instr,
|
||||
else
|
||||
is_divergent = true;
|
||||
break;
|
||||
case nir_intrinsic_load_input_vertex:
|
||||
is_divergent = divergent[instr->src[1].ssa->index];
|
||||
assert(stage == MESA_SHADER_FRAGMENT);
|
||||
is_divergent |= !(options & nir_divergence_single_prim_per_subgroup);
|
||||
break;
|
||||
case nir_intrinsic_load_output:
|
||||
assert(stage == MESA_SHADER_TESS_CTRL || stage == MESA_SHADER_FRAGMENT);
|
||||
is_divergent = divergent[instr->src[0].ssa->index];
|
||||
@@ -264,6 +269,7 @@ visit_intrinsic(bool *divergent, nir_intrinsic_instr *instr,
|
||||
case nir_intrinsic_load_barycentric_pixel:
|
||||
case nir_intrinsic_load_barycentric_centroid:
|
||||
case nir_intrinsic_load_barycentric_sample:
|
||||
case nir_intrinsic_load_barycentric_model:
|
||||
case nir_intrinsic_load_barycentric_at_sample:
|
||||
case nir_intrinsic_load_barycentric_at_offset:
|
||||
case nir_intrinsic_interp_deref_at_offset:
|
||||
|
Reference in New Issue
Block a user