Mesa (master): radv: trim buffer load result (fixes dota2)

Dave Airlie airlied at kemper.freedesktop.org
Fri Jan 12 00:42:17 UTC 2018


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

Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Jan 11 02:10:23 2018 +0000

radv: trim buffer load result (fixes dota2)

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)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
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 6ab93b3678..0e1fefede5 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -2607,7 +2607,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), "");
 }




More information about the mesa-commit mailing list