Module: Mesa Branch: master Commit: 35c82af5399fd5d31572098f7aaf760c1d750dc8 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=35c82af5399fd5d31572098f7aaf760c1d750dc8
Author: Dave Airlie <[email protected]> Date: Tue Jul 3 09:44:22 2018 +1000 radv/radeonsi: add a check ir tm options This doesn't do much yet, but it makes it easier to move the code to a common shared code base. Reviewed-by: Marek Olšák <[email protected]> --- src/amd/common/ac_llvm_util.h | 1 + src/amd/vulkan/radv_shader.c | 4 +++- src/gallium/drivers/radeonsi/si_pipe.c | 5 +++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/amd/common/ac_llvm_util.h b/src/amd/common/ac_llvm_util.h index 0ba7083567..2a8f691136 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 62225baf81..d115f21cf3 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, diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index f4bed98e84..5ac1a12a05 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -111,7 +111,8 @@ static void si_init_compiler(struct si_screen *sscreen, (sscreen->debug_flags & DBG(SI_SCHED) ? AC_TM_SISCHED : 0) | (sscreen->info.chip_class >= GFX9 ? AC_TM_FORCE_ENABLE_XNACK : 0) | (sscreen->info.chip_class < GFX9 ? AC_TM_FORCE_DISABLE_XNACK : 0) | - (!sscreen->llvm_has_working_vgpr_indexing ? AC_TM_PROMOTE_ALLOCA_TO_SCRATCH : 0); + (!sscreen->llvm_has_working_vgpr_indexing ? AC_TM_PROMOTE_ALLOCA_TO_SCRATCH : 0) | + (sscreen->debug_flags & DBG(CHECK_IR) ? AC_TM_CHECK_IR : 0); const char *triple; ac_init_llvm_once(); @@ -126,7 +127,7 @@ static void si_init_compiler(struct si_screen *sscreen, return; compiler->passmgr = ac_create_passmgr(compiler->target_library_info, - (sscreen->debug_flags & DBG(CHECK_IR))); + tm_options & AC_TM_CHECK_IR); if (!compiler->passmgr) return; } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
