summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/i915/i915_state_dynamic.c
diff options
context:
space:
mode:
authorRoland Scheidegger <sroland@vmware.com>2010-02-11 18:16:09 +0100
committerRoland Scheidegger <sroland@vmware.com>2010-02-11 18:16:09 +0100
commit388109c04dc92ed81d1dbe6209120c95bdbc83cd (patch)
tree293a3b675b9b9edf88981a578adeef7fb1a02fae /src/gallium/drivers/i915/i915_state_dynamic.c
parent263406addb90ca7599ddfb210944ab0dd63b973c (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.c9
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 );
}