[Mesa-dev] [PATCH 21/18] ac: skip type for tcs input on RADV
Timothy Arceri
tarceri at itsqueeze.com
Mon Dec 11 09:56:31 UTC 2017
The type can be a struct on RADV and causes an assert() to be
thrown, for radeonsi all structs should have been lowered away.
---
src/amd/common/ac_nir_to_llvm.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 38a840bf813..1466c7f875f 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -2972,23 +2972,25 @@ static LLVMValueRef visit_load_var(struct ac_nir_context *ctx,
unsigned const_index = 0;
unsigned location = instr->variables[0]->var->data.location;
unsigned driver_location = instr->variables[0]->var->data.driver_location;
const bool is_patch = instr->variables[0]->var->data.patch;
const bool is_compact = instr->variables[0]->var->data.compact;
get_deref_offset(ctx, instr->variables[0],
false, NULL, is_patch ? NULL : &vertex_index,
&const_index, &indir_index);
+ LLVMTypeRef type = ctx->nctx ? NULL :
+ nir2llvmtype(ctx, instr->variables[0]->var->type);
+
result = ctx->abi->load_tess_inputs(ctx->abi, vertex_index, indir_index,
- const_index, location, driver_location,
- nir2llvmtype(ctx, instr->variables[0]->var->type),
+ const_index, location, driver_location, type,
instr->variables[0]->var->data.location_frac,
instr->num_components,
is_patch, is_compact);
return ctx->nctx ?
LLVMBuildBitCast(ctx->nctx->builder, result, get_def_type(ctx, &instr->dest.ssa), "") :
result;
}
if (ctx->stage == MESA_SHADER_GEOMETRY) {
LLVMValueRef indir_index;
--
2.14.3
More information about the mesa-dev
mailing list