From 01bd29d681c68c8b5b23dfc8f92a3ff25c51a069 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Tue, 2 Apr 2013 10:29:37 -0700 Subject: [PATCH] i965: Fix stencil write enable flag in 3DSTATE_DEPTH_BUFFER on Gen7+. ctx->Stencil.WriteMask is a statically sized array of 3 elements. Checking it against 0 actually is a NULL check, and can never fail, which meant that we always said stencil writes were enabled. Use the new core Mesa derived state flag to fix this. NOTE: This is a candidate for stable branches. Signed-off-by: Kenneth Graunke Reviewed-by: Paul Berry --- src/mesa/drivers/dri/i965/gen7_misc_state.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/gen7_misc_state.c b/src/mesa/drivers/dri/i965/gen7_misc_state.c index 2009070dda9..1d3677d38da 100644 --- a/src/mesa/drivers/dri/i965/gen7_misc_state.c +++ b/src/mesa/drivers/dri/i965/gen7_misc_state.c @@ -50,7 +50,7 @@ gen7_emit_depth_stencil_hiz(struct brw_context *brw, OUT_BATCH((depth_mt ? depth_mt->region->pitch - 1 : 0) | (depthbuffer_format << 18) | ((hiz_mt ? 1 : 0) << 22) | - ((stencil_mt != NULL && ctx->Stencil.WriteMask != 0) << 27) | + ((stencil_mt != NULL && ctx->Stencil._WriteEnabled) << 27) | ((ctx->Depth.Mask != 0) << 28) | (depth_surface_type << 29)); -- 2.30.2