diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2011-02-25 23:40:27 +0100 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2011-02-27 22:10:46 +0100 |
commit | d42c9433b0a3d9b3a198261d8037ce0d4595452d (patch) | |
tree | 663b65b395504391a908e828c562bbc41ca14e5b /src/gallium/drivers/i915/i915_state_static.c | |
parent | f90fa55347c641cd0bcdde121909045f0dedbd66 (diff) |
i915g: implement cache flushing
With an extremely dumb strategy. But it's the same i915c employs.
Also improve the hw_atom code slightly by statically specifying the
required batch space. For extremely variably stuff (shaders, constants)
it would probably be better to add a new parameter to the hw_atom->validate
function.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'src/gallium/drivers/i915/i915_state_static.c')
-rw-r--r-- | src/gallium/drivers/i915/i915_state_static.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/i915/i915_state_static.c b/src/gallium/drivers/i915/i915_state_static.c index fd10cbc378..9704449999 100644 --- a/src/gallium/drivers/i915/i915_state_static.c +++ b/src/gallium/drivers/i915/i915_state_static.c @@ -169,6 +169,9 @@ static void update_framebuffer(struct i915_context *i915) i915->current.draw_size = (w - 1 + x) | ((h - 1 + y) << 16); i915->hardware_dirty |= I915_HW_STATIC; + + /* flush the cache in case we sample from the old renderbuffers */ + i915_set_flush_dirty(i915, I915_FLUSH_CACHE); } struct i915_tracked_state i915_hw_framebuffer = { |