From: Chad Versace Date: Thu, 3 Oct 2013 00:21:33 +0000 (-0700) Subject: gen7: Use logical, not physical, dims in 3DSTATE_DEPTH_BUFFER (v2) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6cd1da83770e1d93b60b13f5518ee5eaa2e6c19d;p=mesa.git gen7: Use logical, not physical, dims in 3DSTATE_DEPTH_BUFFER (v2) In 3DSTATE_DEPTH_BUFFER, we set Width and Height to the miptree slice's physical dimensions. (Logical and physical dimensions may differ for multisample surfaces). However, in SURFACE_STATE, we always set Width and Height to the slice's logical dimensions. We should do the same for 3DSTATE_DEPTH_BUFFER, because the hw docs say so. No Piglit regressions (-x glx -x glean) on Ivybridge with Wayland. v2: No Piglit regressions, for real this time. Reviewed-by: Jordan Justen Signed-off-by: Chad Versace --- diff --git a/src/mesa/drivers/dri/i965/gen7_blorp.cpp b/src/mesa/drivers/dri/i965/gen7_blorp.cpp index 9df3d929ffb..f64e5369abf 100644 --- a/src/mesa/drivers/dri/i965/gen7_blorp.cpp +++ b/src/mesa/drivers/dri/i965/gen7_blorp.cpp @@ -706,8 +706,8 @@ gen7_blorp_emit_depth_stencil_config(struct brw_context *brw, surfwidth = params->depth.width; surfheight = params->depth.height; } else { - surfwidth = params->depth.mt->physical_width0; - surfheight = params->depth.mt->physical_height0; + surfwidth = params->depth.mt->logical_width0; + surfheight = params->depth.mt->logical_height0; } /* 3DSTATE_DEPTH_BUFFER */ diff --git a/src/mesa/drivers/dri/i965/gen7_misc_state.c b/src/mesa/drivers/dri/i965/gen7_misc_state.c index eb942cfcafa..3f3833e98e6 100644 --- a/src/mesa/drivers/dri/i965/gen7_misc_state.c +++ b/src/mesa/drivers/dri/i965/gen7_misc_state.c @@ -93,8 +93,8 @@ gen7_emit_depth_stencil_hiz(struct brw_context *brw, lod = irb ? irb->mt_level - irb->mt->first_level : 0; if (mt) { - width = mt->physical_width0; - height = mt->physical_height0; + width = mt->logical_width0; + height = mt->logical_height0; } /* _NEW_DEPTH, _NEW_STENCIL, _NEW_BUFFERS */