diff options
author | Dave Airlie <[email protected]> | 2010-09-03 14:38:41 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2010-09-10 19:41:18 +1000 |
commit | 50526e094f4c66957c7f74c190c35903bc82fb62 (patch) | |
tree | 595047f8d8af22012d1a80a8ec37b6db1a34fbfe /src/gallium/drivers/r600/r600_screen.c | |
parent | 42da02743358fd4b212f47d2727340dcd0578b5a (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.c | 12 |
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 54a61ddfb33..bb215a33670 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; |