[igt-dev] [PATCH i-g-t 1/3] lib/intel_bufops: Fix CCS plane width calculation
Juha-Pekka Heikkila
juhapekka.heikkila at gmail.com
Mon May 3 14:13:11 UTC 2021
Series is
Reviewed-by: Juha-Pekka Heikkilä <juha-pekka.heikkila at intel.com>
On 1.5.2021 4.50, Imre Deak wrote:
> The CCS plane width calculation was correct only for 32bpp formats,
> where a 64 byte CCS unit maps to a 4 tiles * 32 pixel width on the main
> surface, but for other bpps the same CCS unit maps to a
> (4 tiles * 128 bytes / (bpp/8 bytes/pixel)) width. Fix the width
> calculation accordingly.
>
> Signed-off-by: Imre Deak <imre.deak at intel.com>
> ---
> lib/intel_bufops.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/intel_bufops.h b/lib/intel_bufops.h
> index 1a3d86925..3dc059808 100644
> --- a/lib/intel_bufops.h
> +++ b/lib/intel_bufops.h
> @@ -78,7 +78,7 @@ intel_buf_ccs_width(int gen, const struct intel_buf *buf)
> * main surface.
> */
> if (gen >= 12)
> - return DIV_ROUND_UP(intel_buf_width(buf), 128) * 64;
> + return DIV_ROUND_UP(intel_buf_width(buf), 512 / (buf->bpp / 8)) * 64;
>
> return DIV_ROUND_UP(intel_buf_width(buf), 1024) * 128;
> }
>
More information about the igt-dev
mailing list