diff options
Diffstat (limited to 'src/amd')
-rw-r--r-- | src/amd/common/ac_llvm_util.h | 1 | ||||
-rw-r--r-- | src/amd/vulkan/radv_shader.c | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/amd/common/ac_llvm_util.h b/src/amd/common/ac_llvm_util.h index 0ba70835678..2a8f6911365 100644 --- a/src/amd/common/ac_llvm_util.h +++ b/src/amd/common/ac_llvm_util.h @@ -59,6 +59,7 @@ enum ac_target_machine_options { AC_TM_FORCE_ENABLE_XNACK = (1 << 2), AC_TM_FORCE_DISABLE_XNACK = (1 << 3), AC_TM_PROMOTE_ALLOCA_TO_SCRATCH = (1 << 4), + AC_TM_CHECK_IR = (1 << 5), }; enum ac_float_mode { diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 62225baf81e..d115f21cf32 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -562,10 +562,12 @@ shader_variant_create(struct radv_device *device, tm_options |= AC_TM_SUPPORTS_SPILL; if (device->instance->perftest_flags & RADV_PERFTEST_SISCHED) tm_options |= AC_TM_SISCHED; + if (options->check_ir) + tm_options |= AC_TM_CHECK_IR; radv_init_llvm_once(); tm = ac_create_target_machine(chip_family, tm_options, NULL); - passmgr = ac_create_passmgr(NULL, options->check_ir); + passmgr = ac_create_passmgr(NULL, tm_options & AC_TM_CHECK_IR); if (gs_copy_shader) { assert(shader_count == 1); radv_compile_gs_copy_shader(tm, passmgr, *shaders, &binary, |