diff options
-rw-r--r-- | src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c b/src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c index 624a167c7d5..2f38949b88a 100644 --- a/src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c +++ b/src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c @@ -22,6 +22,7 @@ */ #include "si_shader_internal.h" +#include "si_pipe.h" #include "radeon/radeon_elf_util.h" #include "gallivm/lp_bld_const.h" @@ -1246,7 +1247,10 @@ void si_llvm_context_init(struct si_shader_context *ctx, ctx->gallivm.module = LLVMModuleCreateWithNameInContext("tgsi", ctx->gallivm.context); LLVMSetTarget(ctx->gallivm.module, "amdgcn--"); - ctx->gallivm.builder = LLVMCreateBuilderInContext(ctx->gallivm.context); + + bool unsafe_fpmath = (sscreen->b.debug_flags & DBG_UNSAFE_MATH) != 0; + ctx->gallivm.builder = lp_create_builder(ctx->gallivm.context, + unsafe_fpmath); struct lp_build_tgsi_context *bld_base = &ctx->soa.bld_base; |