diff options
author | Roland Scheidegger <sroland@vmware.com> | 2010-02-11 18:16:09 +0100 |
---|---|---|
committer | Roland Scheidegger <sroland@vmware.com> | 2010-02-11 18:16:09 +0100 |
commit | 388109c04dc92ed81d1dbe6209120c95bdbc83cd (patch) | |
tree | 293a3b675b9b9edf88981a578adeef7fb1a02fae /src/gallium/drivers/i915/i915_state_dynamic.c | |
parent | 263406addb90ca7599ddfb210944ab0dd63b973c (diff) |
i915g: adapt to stencil ref changes
Diffstat (limited to 'src/gallium/drivers/i915/i915_state_dynamic.c')
-rw-r--r-- | src/gallium/drivers/i915/i915_state_dynamic.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gallium/drivers/i915/i915_state_dynamic.c b/src/gallium/drivers/i915/i915_state_dynamic.c index 86126a5a15..9c6723b391 100644 --- a/src/gallium/drivers/i915/i915_state_dynamic.c +++ b/src/gallium/drivers/i915/i915_state_dynamic.c @@ -94,9 +94,16 @@ const struct i915_tracked_state i915_upload_MODES4 = { static void upload_BFO( struct i915_context *i915 ) { + unsigned bfo[2]; + bfo[0] = i915->depth_stencil->bfo[0]; + bfo[1] = i915->depth_stencil->bfo[1]; + /* I don't get it only allowed to set a ref mask when the enable bit is set? */ + if (bfo[0] & BFO_ENABLE_STENCIL_REF) { + bfo[0] |= i915->stencil_ref.ref_value[1] << BFO_STENCIL_REF_SHIFT; + } set_dynamic_indirect( i915, I915_DYNAMIC_BFO_0, - &(i915->depth_stencil->bfo[0]), + &(bfo[0]), 2 ); } |