From 0e6be2e67b409d1542fd02e7c0f454676fc04587 Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Tue, 9 Jul 2013 14:25:11 -0700 Subject: [PATCH] i965: init global state first in brw_workaround_depthstencil_alignment In a future pass this will allow us to exit-early from this routine to disable it for gen >= 7. Signed-off-by: Jordan Justen Reviewed-by: Paul Berry --- src/mesa/drivers/dri/i965/brw_misc_state.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_misc_state.c b/src/mesa/drivers/dri/i965/brw_misc_state.c index 0ab1e76b3ce..1e31ad8cc41 100644 --- a/src/mesa/drivers/dri/i965/brw_misc_state.c +++ b/src/mesa/drivers/dri/i965/brw_misc_state.c @@ -341,6 +341,20 @@ brw_workaround_depthstencil_alignment(struct brw_context *brw, if (depth_irb) depth_mt = depth_irb->mt; + /* Initialize brw->depthstencil to 'nop' workaround state. + */ + brw->depthstencil.tile_x = 0; + brw->depthstencil.tile_y = 0; + brw->depthstencil.depth_offset = 0; + brw->depthstencil.stencil_offset = 0; + brw->depthstencil.hiz_offset = 0; + brw->depthstencil.depth_mt = NULL; + brw->depthstencil.stencil_mt = NULL; + if (depth_irb) + brw->depthstencil.depth_mt = depth_mt; + if (stencil_irb) + brw->depthstencil.stencil_mt = get_stencil_miptree(stencil_irb); + /* Check if depth buffer is in depth/stencil format. If so, then it's only * safe to invalidate it if we're also clearing stencil, and both depth_irb * and stencil_irb point to the same miptree. @@ -515,11 +529,6 @@ brw_workaround_depthstencil_alignment(struct brw_context *brw, */ brw->depthstencil.tile_x = tile_x; brw->depthstencil.tile_y = tile_y; - brw->depthstencil.depth_offset = 0; - brw->depthstencil.stencil_offset = 0; - brw->depthstencil.hiz_offset = 0; - brw->depthstencil.depth_mt = NULL; - brw->depthstencil.stencil_mt = NULL; if (depth_irb) { depth_mt = depth_irb->mt; brw->depthstencil.depth_mt = depth_mt; -- 2.30.2