[Mesa-dev] [PATCH] gen7: Use logical, not physical, dims in 3DSTATE_DEPTH_BUFFER (v2)
Jordan Justen
jordan.l.justen at intel.com
Thu Oct 3 09:42:55 PDT 2013
It would be good to test HSW too.
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
On Wed, 2013-10-02 at 17:50 -0700, Chad Versace wrote:
> 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.
>
> CC: Jordan Justen <jordan.l.justen at intel.com>
> CC: Eric Anholt <eric at anholt.org>
> Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
> ---
>
> My first patch was garbage. It segfaulted in gen7_misc_state.c and hung the GPU
> in gen7_blorp.cpp. I thought I regression tested it, but my Piglit automation
> scripts suck; the scripts just ran Piglit twice on master.
>
> I really regression tested this patch. I promise.
>
>
>
> src/mesa/drivers/dri/i965/gen7_blorp.cpp | 4 ++--
> src/mesa/drivers/dri/i965/gen7_misc_state.c | 4 ++--
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/gen7_blorp.cpp b/src/mesa/drivers/dri/i965/gen7_blorp.cpp
> index 9df3d92..f64e536 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 eb942cf..3f3833e 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 */
More information about the mesa-dev
mailing list