diff options
author | Dave Airlie <airlied@redhat.com> | 2010-09-03 14:38:41 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-09-10 19:41:18 +1000 |
commit | 50526e094f4c66957c7f74c190c35903bc82fb62 (patch) | |
tree | 595047f8d8af22012d1a80a8ec37b6db1a34fbfe /src/gallium/drivers/r600/r600_context.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_context.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_context.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/r600/r600_context.c b/src/gallium/drivers/r600/r600_context.c index ed8f2655fb..80573a638b 100644 --- a/src/gallium/drivers/r600/r600_context.c +++ b/src/gallium/drivers/r600/r600_context.c @@ -34,7 +34,6 @@ #include "r600_resource.h" #include "r600d.h" - static void r600_destroy_context(struct pipe_context *context) { struct r600_context *rctx = r600_context(context); @@ -115,7 +114,10 @@ struct pipe_context *r600_create_context(struct pipe_screen *screen, void *priv) rctx->screen = rscreen; rctx->rw = rscreen->rw; - rctx->vtbl = &r600_hw_state_vtbl; + if (rscreen->chip_class == EVERGREEN) + rctx->vtbl = &eg_hw_state_vtbl; + else + rctx->vtbl = &r600_hw_state_vtbl; r600_init_blit_functions(rctx); r600_init_query_functions(rctx); |