[Mesa-stable] [PATCH 3/3] i965/miptree: Use the correct BLT pitch
Dylan Baker
dylan at pnwbakers.com
Fri Jul 20 21:48:58 UTC 2018
Hi Nanley,
This applies cleanly to the 18.1 branch, but there is something else missing as
it adds roughly 2200 regressions, see here:
http://otc-mesa-ci.jf.intel.com/view/dev/job/dcbaker_18.1/66/testReport/
For the moment I've reverted it out of the staging/18.1 branch. If we need to
get it back in we can, but we need to sort out those regressions first.
Dylan
Quoting Nanley Chery (2018-07-12 10:28:16)
> Retile miptrees to a linear tiling less often. Retiling can cause issues
> with imported BOs.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106738
> Suggested-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: <mesa-stable at lists.freedesktop.org>
> ---
> src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> index 53e01120a92..1ddb945b085 100644
> --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> @@ -509,7 +509,7 @@ free_aux_state_map(enum isl_aux_state **state)
> }
>
> static bool
> -need_to_retile_as_linear(struct brw_context *brw, unsigned row_pitch,
> +need_to_retile_as_linear(struct brw_context *brw, unsigned blt_pitch,
> enum isl_tiling tiling, unsigned samples)
> {
> if (samples > 1)
> @@ -518,9 +518,9 @@ need_to_retile_as_linear(struct brw_context *brw, unsigned row_pitch,
> if (tiling == ISL_TILING_LINEAR)
> return false;
>
> - if (ALIGN(row_pitch, 512) >= 32768) {
> - perf_debug("row pitch %u too large to blit, falling back to untiled",
> - row_pitch);
> + if (blt_pitch >= 32768) {
> + perf_debug("blt pitch %u too large to blit, falling back to untiled",
> + blt_pitch);
> return true;
> }
>
> @@ -600,7 +600,7 @@ make_surface(struct brw_context *brw, GLenum target, mesa_format format,
> bool is_depth_stencil =
> mt->surf.usage & (ISL_SURF_USAGE_STENCIL_BIT | ISL_SURF_USAGE_DEPTH_BIT);
> if (!is_depth_stencil) {
> - if (need_to_retile_as_linear(brw, mt->surf.row_pitch,
> + if (need_to_retile_as_linear(brw, intel_miptree_blt_pitch(mt),
> mt->surf.tiling, mt->surf.samples)) {
> init_info.tiling_flags = 1u << ISL_TILING_LINEAR;
> if (!isl_surf_init_s(&brw->isl_dev, &mt->surf, &init_info))
> @@ -3577,7 +3577,7 @@ can_blit_slice(struct intel_mipmap_tree *mt,
> unsigned int level, unsigned int slice)
> {
> /* See intel_miptree_blit() for details on the 32k pitch limit. */
> - if (mt->surf.row_pitch >= 32768)
> + if (intel_miptree_blt_pitch(mt) >= 32768)
> return false;
>
> return true;
> --
> 2.18.0
>
> _______________________________________________
> mesa-stable mailing list
> mesa-stable at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-stable
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-stable/attachments/20180720/a4214012/attachment-0001.sig>
More information about the mesa-stable
mailing list