nir, aco: Remove vertex and primitive count overwrite intrinsic.
authorTimur Kristóf <timur.kristof@gmail.com>
Thu, 15 Jul 2021 12:38:27 +0000 (14:38 +0200)
committerMarge Bot <eric+marge@anholt.net>
Mon, 2 Aug 2021 11:38:25 +0000 (11:38 +0000)
It's no longer needed.

No Fossil DB changes.

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/11908>

src/amd/compiler/aco_instruction_selection.cpp
src/compiler/nir/nir_intrinsics.py

index 5779300..396045c 100644 (file)
@@ -9070,17 +9070,6 @@ visit_intrinsic(isel_context* ctx, nir_intrinsic_instr* instr)
       ctx->arg_temps[ctx->args->ac.tes_patch_id.arg_index] = get_ssa_temp(ctx, instr->src[3].ssa);
       break;
    }
-   case nir_intrinsic_overwrite_subgroup_num_vertices_and_primitives_amd: {
-      Temp old_merged_wave_info = get_arg(ctx, ctx->args->ac.merged_wave_info);
-      Temp num_vertices = bld.as_uniform(get_ssa_temp(ctx, instr->src[0].ssa));
-      Temp num_primitives = bld.as_uniform(get_ssa_temp(ctx, instr->src[1].ssa));
-      Temp tmp = bld.sop2(aco_opcode::s_lshl_b32, bld.def(s1), bld.def(s1, scc), num_primitives,
-                          Operand::c32(8u));
-      tmp = bld.sop2(aco_opcode::s_or_b32, bld.def(s1), bld.def(s1, scc), tmp, num_vertices);
-      ctx->arg_temps[ctx->args->ac.merged_wave_info.arg_index] =
-         bld.sop2(aco_opcode::s_pack_lh_b32_b16, bld.def(s1), tmp, old_merged_wave_info);
-      break;
-   }
    default:
       isel_err(&instr->instr, "Unimplemented intrinsic instr");
       abort();
index 13314a8..05e7ee7 100644 (file)
@@ -1208,8 +1208,6 @@ intrinsic("alloc_vertices_and_primitives_amd", src_comp=[1, 1], indices=[])
 intrinsic("overwrite_vs_arguments_amd", src_comp=[1, 1], indices=[])
 # Overwrites TES input registers, for use with vertex compaction after culling. src = {tes_u, tes_v, rel_patch_id, patch_id}.
 intrinsic("overwrite_tes_arguments_amd", src_comp=[1, 1, 1, 1], indices=[])
-# Overwrites the input vertex and primitive count in the current subgroup after culling. src = {num_vertices, num_primitives}.
-intrinsic("overwrite_subgroup_num_vertices_and_primitives_amd", src_comp=[1, 1], indices=[])
 
 # src = [index] BINDING = which table BASE = offset within handle
 intrinsic("load_sbt_amd", src_comp=[-1], dest_comp=0, indices=[BINDING, BASE],