diff options
author | Jakob Bornecrantz <wallbraker@gmail.com> | 2011-02-26 01:48:27 +0100 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2011-02-26 14:58:41 +0100 |
commit | be724185d44011636090259aff2f6a98bd0f6e91 (patch) | |
tree | 0127f233b54fbca46b6a144a30e4ccbf39c97d9a | |
parent | 0bdc24e6485cf475d788439febc1c23e2a661cb4 (diff) |
i915g: Experimental fix for weird issue
-rw-r--r-- | src/gallium/auxiliary/draw/draw_context.c | 5 | ||||
-rw-r--r-- | src/gallium/auxiliary/draw/draw_context.h | 1 | ||||
-rw-r--r-- | src/gallium/drivers/i915/i915_state_derived.c | 1 |
3 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c index 2e38dacd1f..0b8ba4065e 100644 --- a/src/gallium/auxiliary/draw/draw_context.c +++ b/src/gallium/auxiliary/draw/draw_context.c @@ -199,6 +199,11 @@ void draw_flush( struct draw_context *draw ) draw_do_flush( draw, DRAW_FLUSH_BACKEND ); } +void draw_flush_state( struct draw_context *draw ) +{ + draw_do_flush( draw, DRAW_FLUSH_STATE_CHANGE ); +} + /** * Specify the Minimum Resolvable Depth factor for polygon offset. diff --git a/src/gallium/auxiliary/draw/draw_context.h b/src/gallium/auxiliary/draw/draw_context.h index a0b217e4d3..065f28cdbd 100644 --- a/src/gallium/auxiliary/draw/draw_context.h +++ b/src/gallium/auxiliary/draw/draw_context.h @@ -60,6 +60,7 @@ draw_create_gallivm(struct pipe_context *pipe, struct gallivm_state *gallivm); void draw_destroy( struct draw_context *draw ); void draw_flush(struct draw_context *draw); +void draw_flush_state(struct draw_context *draw); void draw_set_viewport_state( struct draw_context *draw, const struct pipe_viewport_state *viewport ); diff --git a/src/gallium/drivers/i915/i915_state_derived.c b/src/gallium/drivers/i915/i915_state_derived.c index 1d4026a214..341e4c2c96 100644 --- a/src/gallium/drivers/i915/i915_state_derived.c +++ b/src/gallium/drivers/i915/i915_state_derived.c @@ -144,6 +144,7 @@ static void calculate_vertex_layout(struct i915_context *i915) i915->dirty |= I915_NEW_VERTEX_FORMAT; memcpy(&i915->current.vertex_info, &vinfo, sizeof(vinfo)); + draw_flush_state(i915->draw); } } |