Mesa (main): nir, aco: Remove vertex and primitive count overwrite intrinsic.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Aug 2 11:58:53 UTC 2021


Module: Mesa
Branch: main
Commit: da9f4b2e6780525846ee7c7aa376583fcaa4021a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=da9f4b2e6780525846ee7c7aa376583fcaa4021a

Author: Timur Kristóf <timur.kristof at gmail.com>
Date:   Thu Jul 15 14:38:27 2021 +0200

nir, aco: Remove vertex and primitive count overwrite intrinsic.

It's no longer needed.

No Fossil DB changes.

Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11908>

---

 src/amd/compiler/aco_instruction_selection.cpp | 11 -----------
 src/compiler/nir/nir_intrinsics.py             |  2 --
 2 files changed, 13 deletions(-)

diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp
index 57793000320..396045c60a1 100644
--- a/src/amd/compiler/aco_instruction_selection.cpp
+++ b/src/amd/compiler/aco_instruction_selection.cpp
@@ -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();
diff --git a/src/compiler/nir/nir_intrinsics.py b/src/compiler/nir/nir_intrinsics.py
index 13314a8005c..05e7ee7c912 100644
--- a/src/compiler/nir/nir_intrinsics.py
+++ b/src/compiler/nir/nir_intrinsics.py
@@ -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],



More information about the mesa-commit mailing list