Reviewed-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl>
Thanks! On Mon, Oct 15, 2018 at 5:19 PM Alex Smith <asm...@feralinteractive.com> wrote: > > LLVMInt*Type() return types from the global context and therefore are > not safe for use in other contexts. Use types from our own context > instead. > > Fixes frequent crashes seen when doing multithreaded pipeline creation. > > Fixes: 4d0b02bb5a "ac: add support for 16bit load_push_constant" > Fixes: 7e7ee82698 "ac: add support for 16bit buffer loads" > Cc: "18.2" <mesa-sta...@lists.freedesktop.org> > Signed-off-by: Alex Smith <asm...@feralinteractive.com> > --- > src/amd/common/ac_nir_to_llvm.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c > index e0a8e04cf3..402cf2d665 100644 > --- a/src/amd/common/ac_nir_to_llvm.c > +++ b/src/amd/common/ac_nir_to_llvm.c > @@ -1387,7 +1387,7 @@ static LLVMValueRef visit_load_push_constant(struct > ac_nir_context *ctx, > > if (instr->dest.ssa.bit_size == 16) { > unsigned load_dwords = instr->dest.ssa.num_components / 2 + 1; > - LLVMTypeRef vec_type = LLVMVectorType(LLVMInt16Type(), 2 * > load_dwords); > + LLVMTypeRef vec_type = > LLVMVectorType(LLVMInt16TypeInContext(ctx->ac.context), 2 * load_dwords); > ptr = ac_cast_ptr(&ctx->ac, ptr, vec_type); > LLVMValueRef res = LLVMBuildLoad(ctx->ac.builder, ptr, ""); > res = LLVMBuildBitCast(ctx->ac.builder, res, vec_type, ""); > @@ -1671,7 +1671,7 @@ static LLVMValueRef visit_load_buffer(struct > ac_nir_context *ctx, > }; > results[idx] = ac_build_intrinsic(&ctx->ac, > load_name, data_type, params, 5, 0); > unsigned num_elems = ac_get_type_size(data_type) / > elem_size_bytes; > - LLVMTypeRef resTy = > LLVMVectorType(LLVMIntType(instr->dest.ssa.bit_size), num_elems); > + LLVMTypeRef resTy = > LLVMVectorType(LLVMIntTypeInContext(ctx->ac.context, > instr->dest.ssa.bit_size), num_elems); > results[idx] = LLVMBuildBitCast(ctx->ac.builder, > results[idx], resTy, ""); > } > } > -- > 2.14.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev