summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_context.h
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2010-06-27 13:55:59 +0200
committerMarek Olšák <maraeo@gmail.com>2010-06-27 15:13:14 +0200
commit0a19d57b845b269601c862193ed801b19aa4c2f1 (patch)
tree337506ab9a69fb7a8245763acf08c37cb75284ee /src/gallium/drivers/r300/r300_context.h
parent808ad22592b4937e3c7c17793b2f891fb01c5dfb (diff)
r300g: separate the hyperz state and pipelined FB regs out of the FB state
Diffstat (limited to 'src/gallium/drivers/r300/r300_context.h')
-rw-r--r--src/gallium/drivers/r300/r300_context.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/gallium/drivers/r300/r300_context.h b/src/gallium/drivers/r300/r300_context.h
index 760336cc30..50dcd0fc67 100644
--- a/src/gallium/drivers/r300/r300_context.h
+++ b/src/gallium/drivers/r300/r300_context.h
@@ -105,6 +105,16 @@ struct r300_dsa_state {
boolean two_sided_stencil_ref;
};
+struct r300_hyperz_state {
+ /* This is actually a command buffer with named dwords. */
+ uint32_t cb_begin;
+ uint32_t zb_bw_cntl; /* R300_ZB_BW_CNTL */
+ uint32_t cb_reg1;
+ uint32_t zb_depthclearvalue; /* R300_ZB_DEPTHCLEARVALUE */
+ uint32_t cb_reg2;
+ uint32_t sc_hyperz; /* R300_SC_HYPERZ */
+};
+
struct r300_gpu_flush {
uint32_t cb_flush_clean[6];
};
@@ -211,7 +221,7 @@ struct r300_vertex_stream_state {
};
struct r300_invariant_state {
- uint32_t cb[22];
+ uint32_t cb[20];
};
struct r300_vap_invariant_state {
@@ -443,6 +453,10 @@ struct r300_context {
struct r300_atom fs_constants;
/* Framebuffer state. */
struct r300_atom fb_state;
+ /* Framebuffer state (pipelined regs). */
+ struct r300_atom fb_state_pipelined;
+ /* HyperZ state (various SC/ZB bits). */
+ struct r300_atom hyperz_state;
/* Occlusion query. */
struct r300_atom query_start;
/* Rasterizer state. */