[Mesa-dev] [PATCH] radv: trim buffer load result (fixes dota2)

Dave Airlie airlied at gmail.com
Thu Jan 11 02:11:56 UTC 2018


From: Dave Airlie <airlied at redhat.com>

Running dota2 since the below commit crashes with an llvm assert.

Trim the vector like the other user. This possible could also be
avoided by not padding inside the load vec3->vec4.

Fixes: 41c36c4549 (amd/common: use ac_build_buffer_load() for emitting UBO loads)
Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 src/amd/common/ac_nir_to_llvm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 5885c70ef89..49147aef51f 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -2593,7 +2593,7 @@ static LLVMValueRef visit_load_ubo_buffer(struct ac_nir_context *ctx,
 
 	ret = ac_build_buffer_load(&ctx->ac, rsrc, num_components, NULL, offset,
 				   NULL, 0, false, false, true, true);
-
+	ret = trim_vector(&ctx->ac, ret, num_components);
 	return LLVMBuildBitCast(ctx->ac.builder, ret,
 	                        get_def_type(ctx, &instr->dest.ssa), "");
 }
-- 
2.14.3



More information about the mesa-dev mailing list