Reviewed-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
On 10/15/18 5:23 PM, Bas Nieuwenhuizen wrote:
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
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev