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@lists.freedesktop.org>
(cherry picked from commit 8109664ded)
This commit is contained in:
Tom Stellard 2014-08-19 13:18:19 -07:00 committed by Emil Velikov
parent 6f8d2db2ef
commit 0931f475fa

View file

@ -437,7 +437,20 @@ static int r600_get_compute_param(struct pipe_screen *screen,
//TODO: select these params by asic //TODO: select these params by asic
switch (param) { switch (param) {
case PIPE_COMPUTE_CAP_IR_TARGET: { 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) { if (ret) {
sprintf(ret, "%s-r600--", gpu); sprintf(ret, "%s-r600--", gpu);
} }