nir: Add AMD specific intrinsics for merged shaders and NGG.
These intrinsics represent what the hardware can actually do. Lowering our shaders to use these intrinsics will allow us to deal with mapping the classic VS, TES, GS (and the future MS) stages to the hardware capabilities using NIR, which makes our backend compilers simpler. Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10740>
This commit is contained in:
@@ -143,6 +143,9 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr)
|
||||
case nir_intrinsic_load_ring_esgs_amd:
|
||||
case nir_intrinsic_load_ring_es2gs_offset_amd:
|
||||
case nir_intrinsic_load_sample_positions_pan:
|
||||
case nir_intrinsic_load_workgroup_num_input_vertices_amd:
|
||||
case nir_intrinsic_load_workgroup_num_input_primitives_amd:
|
||||
case nir_intrinsic_load_shader_query_enabled_amd:
|
||||
is_divergent = false;
|
||||
break;
|
||||
|
||||
@@ -495,6 +498,11 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr)
|
||||
case nir_intrinsic_load_tlb_color_v3d:
|
||||
case nir_intrinsic_load_tess_rel_patch_id_amd:
|
||||
case nir_intrinsic_load_gs_vertex_offset_amd:
|
||||
case nir_intrinsic_has_input_vertex_amd:
|
||||
case nir_intrinsic_has_input_primitive_amd:
|
||||
case nir_intrinsic_load_packed_passthrough_primitive_amd:
|
||||
case nir_intrinsic_load_initial_edgeflag_amd:
|
||||
case nir_intrinsic_gds_atomic_add_amd:
|
||||
is_divergent = true;
|
||||
break;
|
||||
|
||||
|
Reference in New Issue
Block a user