[PATCH i-g-t v3 04/11] lib/intel_bufops: Restrict tilings on non-flatccs platforms

Juha-Pekka Heikkila juhapekka.heikkila at gmail.com
Tue May 7 14:07:27 UTC 2024


Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>

On 7.5.2024 10.58, Zbigniew Kempczyński wrote:
> JP noticed after last changes introduced in bufops we keep unnecessary
> two conditions instead of pack them to single one. This is refactor,
> no functional change.
> 
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> Suggested-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> ---
>   lib/intel_bufops.c | 19 ++++++++-----------
>   1 file changed, 8 insertions(+), 11 deletions(-)
> 
> diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
> index 43d6dd5b43..7118272e5f 100644
> --- a/lib/intel_bufops.c
> +++ b/lib/intel_bufops.c
> @@ -896,7 +896,9 @@ static void __intel_buf_init(struct buf_ops *bops,
>   
>   	size = buf->surface[0].size = buf->surface[0].stride * aligned_height;
>   
> -	if (compression) {
> +	if (compression && !HAS_FLATCCS(buf_ops_get_devid(bops))) {
> +		int aux_width, aux_height;
> +
>   		igt_require(bops->intel_gen >= 9);
>   		igt_assert(req_tiling == I915_TILING_Y ||
>   			   req_tiling == I915_TILING_Yf ||
> @@ -907,17 +909,12 @@ static void __intel_buf_init(struct buf_ops *bops,
>   		 * CCS units, that is 4 * 64 bytes. These 4 CCS units are in
>   		 * turn mapped by one L1 AUX page table entry.
>   		 */
> +		aux_width = intel_buf_ccs_width(bops->intel_gen, buf);
> +		aux_height = intel_buf_ccs_height(bops->intel_gen, buf);
>   
> -		if (!HAS_FLATCCS(intel_get_drm_devid(bops->fd))) {
> -			int aux_width, aux_height;
> -
> -			aux_width = intel_buf_ccs_width(bops->intel_gen, buf);
> -			aux_height = intel_buf_ccs_height(bops->intel_gen, buf);
> -
> -			buf->ccs[0].offset = buf->surface[0].stride * ALIGN(height, 32);
> -			buf->ccs[0].stride = aux_width;
> -			size = buf->ccs[0].offset + aux_width * aux_height;
> -		}
> +		buf->ccs[0].offset = buf->surface[0].stride * ALIGN(height, 32);
> +		buf->ccs[0].stride = aux_width;
> +		size = buf->ccs[0].offset + aux_width * aux_height;
>   	}
>   
>   	/* Store buffer size to avoid mistakes in calculating it again */



More information about the igt-dev mailing list