Mesa (master): radeon: Add work-around for missing Hainan support in clang < 3.6 v2

Tom Stellard tstellar at kemper.freedesktop.org
Thu Aug 21 14:07:22 UTC 2014


Module: Mesa
Branch: master
Commit: 8109664dedee588dc98c9a7c25bd40c0eb56c35f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8109664dedee588dc98c9a7c25bd40c0eb56c35f

Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Tue Aug 19 13:18:19 2014 -0700

radeon: Add work-around for missing Hainan support in clang < 3.6 v2

v2:
  - Add missing break.

https://bugs.freedesktop.org/show_bug.cgi?id=82709

CC: "10.2" <mesa-stable at lists.freedesktop.org>

---

 src/gallium/drivers/radeon/r600_pipe_common.c |   15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c
index a6bba8f..dec8063 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.c
+++ b/src/gallium/drivers/radeon/r600_pipe_common.c
@@ -499,7 +499,20 @@ static int r600_get_compute_param(struct pipe_screen *screen,
 	//TODO: select these params by asic
 	switch (param) {
 	case PIPE_COMPUTE_CAP_IR_TARGET: {
-		const char *gpu = r600_get_llvm_processor_name(rscreen->family);
+		const char *gpu;
+		switch(rscreen->family) {
+		/* Clang < 3.6 is missing Hainan in its list of
+		 * GPUs, so we need to use the name of a similar GPU.
+		 */
+#if HAVE_LLVM < 0x0306
+		case CHIP_HAINAN:
+			gpu = "oland";
+			break;
+#endif
+		default:
+			gpu = r600_get_llvm_processor_name(rscreen->family);
+			break;
+		}
 		if (ret) {
 			sprintf(ret, "%s-r600--", gpu);
 		}




More information about the mesa-commit mailing list