summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/r300_context.h
diff options
context:
space:
mode:
authorCorbin Simpson <[email protected]>2009-01-13 19:11:19 -0800
committerCorbin Simpson <[email protected]>2009-02-01 23:30:22 -0800
commit74288078eab1971cc6ce3ae00fa55eb917b5826a (patch)
treeac6abb04fdbaf89f17725aec49cfbbbedc646f69 /src/gallium/drivers/r300/r300_context.h
parent432ab001d042b816b5892398064e5735d0293955 (diff)
r300: Add blend state.
Also switched to r300_reg instead of radeon_reg. Yay?
Diffstat (limited to 'src/gallium/drivers/r300/r300_context.h')
-rw-r--r--src/gallium/drivers/r300/r300_context.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_context.h b/src/gallium/drivers/r300/r300_context.h
index 119d46af589..b9fff0deab9 100644
--- a/src/gallium/drivers/r300/r300_context.h
+++ b/src/gallium/drivers/r300/r300_context.h
@@ -27,6 +27,15 @@
#include "pipe/p_context.h"
#include "util/u_memory.h"
+struct r300_blend_state {
+ uint32_t blend_control; /* R300_RB3D_BLENDCNTL: 0x4e04 */
+ uint32_t alpha_blend_control; /* R300_RB3D_ABLENDCNTL: 0x4e08 */
+ uint32_t rop; /* R300_RB3D_ROPCNTL: 0x4e18 */
+ uint32_t dither; /* R300_RB3D_DITHER_CTL: 0x4e50 */
+};
+
+#define R300_NEW_BLEND 0x1
+
struct r300_context {
/* Parent class */
struct pipe_context context;
@@ -35,6 +44,13 @@ struct r300_context {
struct r300_winsys* winsys;
/* Draw module. Used mostly for SW TCL. */
struct draw_context* draw;
+
+ /* Various CSO state objects. */
+ /* Blend state. */
+ struct r300_blend_state* blend_state;
+
+ /* Bitmask of dirty state objects. */
+ uint32_t dirty_state;
};
/* Convenience cast wrapper. */