Mesa/n_Disable-AMDGPU-GFX9-Vega-on-LLVM-lessthan-6.0.0.patch
Stefan Dirsch a71b936efc Accepting request 570576 from home:michalsrb:branches:bnc1075901:X11:XOrg
- Disable AMDGPU GFX9/Vega with LLVM < 6.0.0.
  * n_Disable-AMDGPU-GFX9-Vega-on-LLVM-lessthan-6.0.0.patch
  * While it is supported since LLVM 5.0.0, it was not working
    correctly (bnc#1075901). Since we do not have the resources to
    determine which fixes should be backported and LLVM 6 will be
    released relatively soon, disable the support until then. Users
    with the card will have working desktop using software
    rendering just like they did with LLVM 4.

OBS-URL: https://build.opensuse.org/request/show/570576
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=686
2018-01-29 13:59:21 +00:00

61 lines
2.8 KiB
Diff

From 63a73495438d621b8de24fa031a6af938bbf4ff4 Mon Sep 17 00:00:00 2001
From: Michal Srb <msrb@suse.com>
Date: Mon, 29 Jan 2018 11:38:28 +0100
Subject: [PATCH] Disable AMDGPU GFX9/Vega on LLVM < 6.0.0.
Upstream advertises support since LLVM 5.0.0, but it does not work properly:
https://bugzilla.opensuse.org/show_bug.cgi?id=1075901
---
src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c | 13 ++++++++++---
src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c | 13 ++++++++++---
2 files changed, 20 insertions(+), 6 deletions(-)
Index: mesa-17.3.3/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c
===================================================================
--- mesa-17.3.3.orig/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c
+++ mesa-17.3.3/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c
@@ -46,9 +46,16 @@ do_winsys_init(struct radv_amdgpu_winsys
if (!ac_query_gpu_info(fd, ws->dev, &ws->info, &ws->amdinfo))
return false;
- /* LLVM 5.0 is required for GFX9. */
- if (ws->info.chip_class >= GFX9 && HAVE_LLVM < 0x0500) {
- fprintf(stderr, "amdgpu: LLVM 5.0 is required, got LLVM %i.%i\n",
+ /* LLVM 6.0 is required for GFX9. */
+ /*
+ Upstream version of Mesa allows GFX9 since LLVM 5.0, but it does not work correctly:
+ https://bugzilla.opensuse.org/show_bug.cgi?id=1075901
+ The issues are fixed in LLVM 6. We have decided to disable GFX9 support with LLVM 5
+ and wait for LLVM 6.
+ -- Michal Srb msrb@suse.com, 2018-01-29
+ */
+ if (ws->info.chip_class >= GFX9 && HAVE_LLVM < 0x0600) {
+ fprintf(stderr, "amdgpu: LLVM 6.0 is required, got LLVM %i.%i\n",
HAVE_LLVM >> 8, HAVE_LLVM & 255);
return false;
}
Index: mesa-17.3.3/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
===================================================================
--- mesa-17.3.3.orig/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
+++ mesa-17.3.3/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
@@ -58,9 +58,16 @@ static bool do_winsys_init(struct amdgpu
if (!ac_query_gpu_info(fd, ws->dev, &ws->info, &ws->amdinfo))
goto fail;
- /* LLVM 5.0 is required for GFX9. */
- if (ws->info.chip_class >= GFX9 && HAVE_LLVM < 0x0500) {
- fprintf(stderr, "amdgpu: LLVM 5.0 is required, got LLVM %i.%i\n",
+ /* LLVM 6.0 is required for GFX9. */
+ /*
+ Upstream version of Mesa allows GFX9 since LLVM 5.0, but it does not work correctly:
+ https://bugzilla.opensuse.org/show_bug.cgi?id=1075901
+ The issues are fixed in LLVM 6. We have decided to disable GFX9 support with LLVM 5
+ and wait for LLVM 6.
+ -- Michal Srb msrb@suse.com, 2018-01-29
+ */
+ if (ws->info.chip_class >= GFX9 && HAVE_LLVM < 0x0600) {
+ fprintf(stderr, "amdgpu: LLVM 6.0 is required, got LLVM %i.%i\n",
HAVE_LLVM >> 8, HAVE_LLVM & 255);
goto fail;
}