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>
/* 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,
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:
unreachable("bad shader part");
}
- build(&ctx, key, true);
+ build(&ctx, key);
/* Compile. */
si_llvm_optimize_module(&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;
/* 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. */
* 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 = {};
* 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));
* (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;