summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_screen.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2010-09-03 14:38:41 +1000
committerDave Airlie <airlied@redhat.com>2010-09-10 19:41:18 +1000
commit50526e094f4c66957c7f74c190c35903bc82fb62 (patch)
tree595047f8d8af22012d1a80a8ec37b6db1a34fbfe /src/gallium/drivers/r600/r600_screen.c
parent42da02743358fd4b212f47d2727340dcd0578b5a (diff)
r600g: add initial evergreen support
adds shader opcodes + assembler support (except ARL) uses constant buffers add interp instructions in fragment shader adds all evergreen hw states adds evergreen pm4 support. this runs gears for me on my evergreen
Diffstat (limited to 'src/gallium/drivers/r600/r600_screen.c')
-rw-r--r--src/gallium/drivers/r600/r600_screen.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_screen.c b/src/gallium/drivers/r600/r600_screen.c
index 54a61ddfb3..bb215a3367 100644
--- a/src/gallium/drivers/r600/r600_screen.c
+++ b/src/gallium/drivers/r600/r600_screen.c
@@ -46,8 +46,10 @@ static const char* r600_get_name(struct pipe_screen* pscreen)
if (family >= CHIP_R600 && family < CHIP_RV770)
return "R600 (HD2XXX,HD3XXX)";
- else
+ else if (family < CHIP_CEDAR)
return "R700 (HD4XXX)";
+ else
+ return "EVERGREEN";
}
static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
@@ -261,6 +263,14 @@ struct pipe_screen *r600_screen_create(struct radeon *rw)
case CHIP_RV740:
rscreen->chip_class = R700;
break;
+ case CHIP_CEDAR:
+ case CHIP_REDWOOD:
+ case CHIP_JUNIPER:
+ case CHIP_CYPRESS:
+ case CHIP_HEMLOCK:
+ rscreen->chip_class = EVERGREEN;
+ rscreen->use_mem_constant = TRUE;
+ break;
default:
FREE(rscreen);
return NULL;