radeonsi: remove separate_prolog arg from prolog/epilog build
authorQiang Yu <yuq825@gmail.com>
Sat, 22 Jul 2023 14:40:52 +0000 (22:40 +0800)
committerQiang Yu <yuq825@gmail.com>
Wed, 16 Aug 2023 03:25:28 +0000 (11:25 +0800)
It's always true.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24443>

src/gallium/drivers/radeonsi/si_shader_internal.h
src/gallium/drivers/radeonsi/si_shader_llvm.c
src/gallium/drivers/radeonsi/si_shader_llvm_ps.c
src/gallium/drivers/radeonsi/si_shader_llvm_tess.c
src/gallium/drivers/radeonsi/si_shader_llvm_vs.c

index 7c7228eb0f50330dc0f6aa1f74afd01f4861db37..0d033c1530299492b189b0529a5bbb0723c96f0e 100644 (file)
@@ -199,21 +199,17 @@ void si_llvm_gs_build_end(struct si_shader_context *ctx);
 /* si_shader_llvm_tess.c */
 LLVMValueRef si_get_rel_patch_id(struct si_shader_context *ctx);
 void si_llvm_ls_build_end(struct si_shader_context *ctx);
-void si_llvm_build_tcs_epilog(struct si_shader_context *ctx, union si_shader_part_key *key,
-                              bool separate_epilog);
+void si_llvm_build_tcs_epilog(struct si_shader_context *ctx, union si_shader_part_key *key);
 void si_llvm_tcs_build_end(struct si_shader_context *ctx);
 void si_llvm_init_tcs_callbacks(struct si_shader_context *ctx);
 
 /* si_shader_llvm_ps.c */
-void si_llvm_build_ps_prolog(struct si_shader_context *ctx, union si_shader_part_key *key,
-                             bool separate_prolog);
-void si_llvm_build_ps_epilog(struct si_shader_context *ctx, union si_shader_part_key *key,
-                             bool separate_epilog);
+void si_llvm_build_ps_prolog(struct si_shader_context *ctx, union si_shader_part_key *key);
+void si_llvm_build_ps_epilog(struct si_shader_context *ctx, union si_shader_part_key *key);
 void si_llvm_ps_build_end(struct si_shader_context *ctx);
 
 /* si_shader_llvm_vs.c */
-void si_llvm_build_vs_prolog(struct si_shader_context *ctx, union si_shader_part_key *key,
-                             bool separate_prolog);
+void si_llvm_build_vs_prolog(struct si_shader_context *ctx, union si_shader_part_key *key);
 
 /* si_shader_aco.c */
 bool si_aco_compile_shader(struct si_shader *shader,
index 98506879f33211534f5326ea8a47ac26666046ec..7e496a816057b6b0dbb87c1e83da39539756fa59 100644 (file)
@@ -956,7 +956,7 @@ bool si_llvm_build_shader_part(struct si_screen *sscreen, gl_shader_stage stage,
    struct si_shader_args args;
    ctx.args = &args;
 
-   void (*build)(struct si_shader_context *, union si_shader_part_key *, bool);
+   void (*build)(struct si_shader_context *, union si_shader_part_key *);
 
    switch (stage) {
    case MESA_SHADER_VERTEX:
@@ -972,7 +972,7 @@ bool si_llvm_build_shader_part(struct si_screen *sscreen, gl_shader_stage stage,
       unreachable("bad shader part");
    }
 
-   build(&ctx, key, true);
+   build(&ctx, key);
 
    /* Compile. */
    si_llvm_optimize_module(&ctx);
index 6bbe7c248dfc0db2157cac75ddceb50b084c1cf0..2874d1715937433750ad23e7b2842f4351df30f7 100644 (file)
@@ -466,8 +466,7 @@ static void si_llvm_emit_polygon_stipple(struct si_shader_context *ctx,
  * overridden by other states. (e.g. per-sample interpolation)
  * Interpolated colors are stored after the preloaded VGPRs.
  */
-void si_llvm_build_ps_prolog(struct si_shader_context *ctx, union si_shader_part_key *key,
-                             bool separate_prolog)
+void si_llvm_build_ps_prolog(struct si_shader_context *ctx, union si_shader_part_key *key)
 {
    LLVMValueRef ret, func;
    int num_returns, i, num_color_channels;
@@ -591,13 +590,13 @@ void si_llvm_build_ps_prolog(struct si_shader_context *ctx, union si_shader_part
 
       /* Read LINEAR_SAMPLE. */
       for (i = 0; i < 2; i++)
-         linear_sample[i] = LLVMGetParam(func, base + (separate_prolog ? 6 : 9) + i);
+         linear_sample[i] = LLVMGetParam(func, base + 6 + i);
       /* Overwrite LINEAR_CENTER. */
       for (i = 0; i < 2; i++)
-         ret = LLVMBuildInsertValue(ctx->ac.builder, ret, linear_sample[i], base + (separate_prolog ? 8 : 11) + i, "");
+         ret = LLVMBuildInsertValue(ctx->ac.builder, ret, linear_sample[i], base + 8 + i, "");
       /* Overwrite LINEAR_CENTROID. */
       for (i = 0; i < 2; i++)
-         ret = LLVMBuildInsertValue(ctx->ac.builder, ret, linear_sample[i], base + (separate_prolog ? 10 : 13) + i, "");
+         ret = LLVMBuildInsertValue(ctx->ac.builder, ret, linear_sample[i], base + 10 + i, "");
    }
 
    /* Force center interpolation. */
@@ -715,8 +714,7 @@ void si_llvm_build_ps_prolog(struct si_shader_context *ctx, union si_shader_part
  * Build the pixel shader epilog function. This handles everything that must be
  * emulated for pixel shader exports. (alpha-test, format conversions, etc)
  */
-void si_llvm_build_ps_epilog(struct si_shader_context *ctx, union si_shader_part_key *key,
-                             UNUSED bool separate_epilog)
+void si_llvm_build_ps_epilog(struct si_shader_context *ctx, union si_shader_part_key *key)
 {
    int i;
    struct si_ps_exports exp = {};
index 00a341f2a9483bffe8806db7bb436be5ee063363..d86a8b6cb3208cf8d93bc671e5aee4de876a5839 100644 (file)
@@ -530,8 +530,7 @@ void si_llvm_ls_build_end(struct si_shader_context *ctx)
  * Compile the TCS epilog function. This writes tessellation factors to memory
  * based on the output primitive type of the tessellator (determined by TES).
  */
-void si_llvm_build_tcs_epilog(struct si_shader_context *ctx, union si_shader_part_key *key,
-                              UNUSED bool separate_epilog)
+void si_llvm_build_tcs_epilog(struct si_shader_context *ctx, union si_shader_part_key *key)
 {
    memset(ctx->args, 0, sizeof(*ctx->args));
 
index b1783b50ab053925441e1efe627621a9793f65e3..c2786028ff77c35c8e802fa3f2c33e8e4f3ad47c 100644 (file)
@@ -73,8 +73,7 @@ static LLVMValueRef get_vertex_index(struct si_shader_context *ctx,
  *   (InstanceID + StartInstance),
  *   (InstanceID / 2 + StartInstance)
  */
-void si_llvm_build_vs_prolog(struct si_shader_context *ctx, union si_shader_part_key *key,
-                             UNUSED bool separate_prolog)
+void si_llvm_build_vs_prolog(struct si_shader_context *ctx, union si_shader_part_key *key)
 {
    LLVMTypeRef *returns;
    LLVMValueRef ret, func;