summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/i915simple/i915_state_immediate.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/i915simple/i915_state_immediate.c')
-rw-r--r--src/gallium/drivers/i915simple/i915_state_immediate.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/gallium/drivers/i915simple/i915_state_immediate.c b/src/gallium/drivers/i915simple/i915_state_immediate.c
index dfbbcab624..2501f2d7cb 100644
--- a/src/gallium/drivers/i915simple/i915_state_immediate.c
+++ b/src/gallium/drivers/i915simple/i915_state_immediate.c
@@ -54,7 +54,7 @@ static void upload_S0S1(struct i915_context *i915)
/* INTEL_NEW_VBO */
/* TODO: re-use vertex buffers here? */
- LIS0 = 0;
+ LIS0 = i915->vbo_offset;
/* INTEL_NEW_VERTEX_SIZE -- do this where the vertex size is calculated!
*/
@@ -156,8 +156,12 @@ const struct i915_tracked_state i915_upload_S5 = {
*/
static void upload_S6( struct i915_context *i915 )
{
- unsigned LIS6 = (S6_COLOR_WRITE_ENABLE |
- (2 << S6_TRISTRIP_PV_SHIFT));
+ unsigned LIS6 = (2 << S6_TRISTRIP_PV_SHIFT);
+
+ /* I915_NEW_FRAMEBUFFER
+ */
+ if (i915->framebuffer.cbufs[0])
+ LIS6 |= S6_COLOR_WRITE_ENABLE;
/* I915_NEW_BLEND
*/
@@ -174,7 +178,7 @@ static void upload_S6( struct i915_context *i915 )
}
const struct i915_tracked_state i915_upload_S6 = {
- I915_NEW_BLEND | I915_NEW_DEPTH_STENCIL,
+ I915_NEW_BLEND | I915_NEW_DEPTH_STENCIL | I915_NEW_FRAMEBUFFER,
upload_S6
};