summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_pipe.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2012-02-02 14:01:12 +0100
committerMarek Olšák <[email protected]>2012-02-21 21:42:27 +0100
commite2809849ecac69615ece294a55ee355afaac33d3 (patch)
tree6773e21ab0f548157a5dc26580af2a0214a94cfa /src/gallium/drivers/r600/r600_pipe.c
parent8f5c172c854a52b2a69b8383a55c76f1faa5f704 (diff)
r600g: add a depth misc state which depends on occlusion queries
This is a state which is derived from other states and is actually the first state which doesn't correspond to any gallium state. There are two state flags: bool occlusion_query_enabled bool flush_depthstencil_enabled Additional flags can be added later if needed, e.g. bool hiz_enabled. The emit function will have to figure out the register values by itself. It basically just emits the registers when the state changes. This commit also adds a few helper functions for writing registers directly into a command stream.
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.c')
-rw-r--r--src/gallium/drivers/r600/r600_pipe.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c
index c8ee331789b..3d35ed289ce 100644
--- a/src/gallium/drivers/r600/r600_pipe.c
+++ b/src/gallium/drivers/r600/r600_pipe.c
@@ -232,6 +232,8 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen, void
rctx->family = rscreen->family;
rctx->chip_class = rscreen->chip_class;
+ LIST_INITHEAD(&rctx->dirty_states);
+
r600_init_blit_functions(rctx);
r600_init_query_functions(rctx);
r600_init_context_resource_functions(rctx);
@@ -293,8 +295,6 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen, void
return NULL;
}
- LIST_INITHEAD(&rctx->dirty_states);
-
r600_get_backend_mask(rctx); /* this emits commands and must be last */
return &rctx->context;