summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/i915simple/i915_state_emit.c
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2007-08-09 11:19:09 +0100
committerKeith Whitwell <keith@tungstengraphics.com>2007-08-09 11:23:18 +0100
commit93b6e8aeac8ee410ee49cecd28a785efe5c2b1e3 (patch)
treefb9337f90642b43759d070e0abf99a096c9676a5 /src/mesa/pipe/i915simple/i915_state_emit.c
parentc046174eb047c95e25f31390019f04f310ae2b8e (diff)
Tweaks to state emit, acheives first hw triangles from a pipe driver.
Diffstat (limited to 'src/mesa/pipe/i915simple/i915_state_emit.c')
-rw-r--r--src/mesa/pipe/i915simple/i915_state_emit.c24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/mesa/pipe/i915simple/i915_state_emit.c b/src/mesa/pipe/i915simple/i915_state_emit.c
index 4aa7e28a86..aeb2d6753f 100644
--- a/src/mesa/pipe/i915simple/i915_state_emit.c
+++ b/src/mesa/pipe/i915simple/i915_state_emit.c
@@ -112,7 +112,7 @@ i915_emit_hardware_state(struct i915_context *i915 )
/* Need to initialize this to zero.
*/
{
- OUT_BATCH(_3DSTATE_LOAD_STATE_IMMEDIATE_1 | I1_LOAD_S(3) | (1));
+ OUT_BATCH(_3DSTATE_LOAD_STATE_IMMEDIATE_1 | I1_LOAD_S(3) | (0));
OUT_BATCH(0);
}
@@ -138,6 +138,7 @@ i915_emit_hardware_state(struct i915_context *i915 )
{
/* Don't support twosided stencil yet */
OUT_BATCH(_3DSTATE_BACKFACE_STENCIL_OPS | BFO_ENABLE_STENCIL_TWO_SIDE | 0);
+ OUT_BATCH(0);
}
@@ -150,11 +151,10 @@ i915_emit_hardware_state(struct i915_context *i915 )
I1_LOAD_S(6) |
(3));
- OUT_BATCH(0);
- OUT_BATCH(S4_VFMT_XYZ | S4_VFMT_COLOR);
- OUT_BATCH(0);
- OUT_BATCH(S6_COLOR_WRITE_ENABLE |
- (2 << S6_TRISTRIP_PV_SHIFT));
+ OUT_BATCH(0xffffffff);
+ OUT_BATCH(0x00902440); // OUT_BATCH(S4_VFMT_XYZ | S4_VFMT_COLOR);
+ OUT_BATCH(0x00000002);
+ OUT_BATCH(0x00020216); // OUT_BATCH( S6_COLOR_WRITE_ENABLE | (2 << S6_TRISTRIP_PV_SHIFT));
}
{
@@ -167,7 +167,7 @@ i915_emit_hardware_state(struct i915_context *i915 )
STENCIL_WRITE_MASK(0xff));
}
- {
+ if (0) {
OUT_BATCH(_3DSTATE_INDEPENDENT_ALPHA_BLEND_CMD |
IAB_MODIFY_ENABLE |
IAB_MODIFY_FUNC |
@@ -175,6 +175,16 @@ i915_emit_hardware_state(struct i915_context *i915 )
IAB_MODIFY_DST_FACTOR);
}
+ {
+ //3DSTATE_INDEPENDENT_ALPHA_BLEND (1 dwords):
+ OUT_BATCH(0x6ba008a1);
+
+ //3DSTATE_CONSTANT_BLEND_COLOR (2 dwords):
+ OUT_BATCH(0x7d880000);
+ OUT_BATCH(0x00000000);
+ }
+
+
if (i915->framebuffer.cbufs[0]) {
struct pipe_region *cbuf_region = i915->framebuffer.cbufs[0]->region;