radeonsi: don't set any XNACK options on gfx10.3
authorMarek Olšák <marek.olsak@amd.com>
Thu, 9 Apr 2020 16:25:49 +0000 (12:25 -0400)
committerMarge Bot <eric+marge@anholt.net>
Tue, 9 Jun 2020 16:17:36 +0000 (16:17 +0000)
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5383>

src/amd/llvm/ac_llvm_util.c
src/gallium/drivers/radeonsi/si_pipe.c

index 9684101995b181005679e6f18ccf99015b421b26..5dc4c934ba0ec761074532dc0248bc8d89e5b2de 100644 (file)
@@ -177,8 +177,8 @@ static LLVMTargetMachineRef ac_create_target_machine(enum radeon_family family,
                 LLVM_VERSION_MAJOR >= 11 ? "" : ",-fp32-denormals,+fp64-denormals",
                 family >= CHIP_NAVI10 && !(tm_options & AC_TM_WAVE32) ?
                         ",+wavefrontsize64,-wavefrontsize32" : "",
-                tm_options & AC_TM_FORCE_ENABLE_XNACK ? ",+xnack" : "",
-                tm_options & AC_TM_FORCE_DISABLE_XNACK ? ",-xnack" : "",
+                family <= CHIP_NAVI14 && tm_options & AC_TM_FORCE_ENABLE_XNACK ? ",+xnack" : "",
+                family <= CHIP_NAVI14 && tm_options & AC_TM_FORCE_DISABLE_XNACK ? ",-xnack" : "",
                 tm_options & AC_TM_PROMOTE_ALLOCA_TO_SCRATCH ? ",-promote-alloca" : "",
                 tm_options & AC_TM_NO_LOAD_STORE_OPT ? ",-load-store-opt" : "");
 
index 7fdbfa24c574ab6b70f1f6a27e4bcd6eed6f38c2..b8a1a8cc3897f7dc49fe41f17459c7e927df68a7 100644 (file)
@@ -141,8 +141,8 @@ void si_init_compiler(struct si_screen *sscreen, struct ac_llvm_compiler *compil
 
    enum ac_target_machine_options tm_options =
       (sscreen->debug_flags & DBG(GISEL) ? AC_TM_ENABLE_GLOBAL_ISEL : 0) |
-      (sscreen->info.chip_class >= GFX9 ? AC_TM_FORCE_ENABLE_XNACK : 0) |
-      (sscreen->info.chip_class < GFX9 ? AC_TM_FORCE_DISABLE_XNACK : 0) |
+      (sscreen->info.chip_class <= GFX8 ? AC_TM_FORCE_DISABLE_XNACK :
+       sscreen->info.chip_class <= GFX10 ? AC_TM_FORCE_ENABLE_XNACK : 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) |
       (create_low_opt_compiler ? AC_TM_CREATE_LOW_OPT : 0);