summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/i915/i915_state_dynamic.c
diff options
context:
space:
mode:
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 );
}