[Mesa-dev] [PATCH 068/140] radeonsi/gfx9: set the LLVM processor, require LLVM 5.0
Marek Olšák
maraeo at gmail.com
Mon Mar 20 22:43:18 UTC 2017
From: Marek Olšák <marek.olsak at 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
More information about the mesa-dev
mailing list