From: Marek Olšák <marek.ol...@amd.com>

---
 src/gallium/drivers/radeon/r600_pipe_common.c | 2 ++
 src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c | 7 +++++++
 2 files changed, 9 insertions(+)

diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c 
b/src/gallium/drivers/radeon/r600_pipe_common.c
index 7ec5703..052054b 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.c
+++ b/src/gallium/drivers/radeon/r600_pipe_common.c
@@ -945,20 +945,22 @@ const char *r600_get_llvm_processor_name(enum 
radeon_family family)
        case CHIP_CARRIZO: return "carrizo";
        case CHIP_FIJI:
                return "fiji";
        case CHIP_STONEY:
                return "stoney";
        case CHIP_POLARIS10:
                return HAVE_LLVM >= 0x0309 ? "polaris10" : "carrizo";
        case CHIP_POLARIS11:
        case CHIP_POLARIS12: /* same as polaris11 */
                return HAVE_LLVM >= 0x0309 ? "polaris11" : "carrizo";
+       case CHIP_VEGA10:
+               return "gfx900";
        default:
                return "";
        }
 }
 
 static int r600_get_compute_param(struct pipe_screen *screen,
         enum pipe_shader_ir ir_type,
         enum pipe_compute_cap param,
         void *ret)
 {
diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c 
b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
index 25f08ef..4becd2a 100644
--- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
+++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
@@ -225,20 +225,27 @@ static bool do_winsys_init(struct amdgpu_winsys *ws, int 
fd)
       ws->info.chip_class = VI;
    else if (ws->info.family >= CHIP_BONAIRE)
       ws->info.chip_class = CIK;
    else if (ws->info.family >= CHIP_TAHITI)
       ws->info.chip_class = SI;
    else {
       fprintf(stderr, "amdgpu: Unknown family.\n");
       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",
+              HAVE_LLVM >> 8, HAVE_LLVM & 255);
+      goto fail;
+   }
+
    /* family and rev_id are for addrlib */
    switch (ws->info.family) {
    case CHIP_TAHITI:
       ws->family = FAMILY_SI;
       ws->rev_id = SI_TAHITI_P_A0;
       break;
    case CHIP_PITCAIRN:
       ws->family = FAMILY_SI;
       ws->rev_id = SI_PITCAIRN_PM_A0;
       break;
-- 
2.7.4

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to