[PATCH i-g-t v2 01/18] lib/intel_aux_pgtable: Library to add support for RGB16161616_64B format

Juha-Pekka Heikkila juhapekka.heikkila at gmail.com
Mon Sep 23 09:51:35 UTC 2024


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

On 18.9.2024 15.05, Ville Syrjala wrote:
> From: Melanie Lobo <melanie.lobo at intel.com>
> 
> TGL+ supports RGB16161616_64B FP16 format which is a binary
> floating-point computer number format that occupies 16 bits
> in computer memory.
> 
> This was tested with kernel patch,
> https://patchwork.freedesktop.org/series/124957/
> https://lore.kernel.org/all/20231201091133.23508-1-melanie.lobo@intel.com/
> 
> [vsyrjala: s/0x1/0x10/ to make the format correct for TGL.
> The original number was for DG2/MTL media compression, but
> for those platforms bspec says:
>   "Compression format from AUX page walk is ignored.
>    Instead compression format from Surface State is used."
>   so we can just always use the TGL numbers here.
> ]
> 
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> cc: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> cc: Swati Sharma <swati2.sharma at intel.com>
> Signed-off-by: Melanie Lobo <melanie.lobo at intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>   lib/intel_aux_pgtable.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/lib/intel_aux_pgtable.c b/lib/intel_aux_pgtable.c
> index 3cbb0e26f35c..8ff48641619e 100644
> --- a/lib/intel_aux_pgtable.c
> +++ b/lib/intel_aux_pgtable.c
> @@ -22,6 +22,7 @@
>   #define AUX_FORMAT_AYUV		0x09
>   #define AUX_FORMAT_ARGB_8B	0x0A
>   #define AUX_FORMAT_NV12_21	0x0F
> +#define AUX_FORMAT_RGBA16_FLOAT	0x10
>   
>   struct pgtable_level_desc {
>   	int idx_shift;
> @@ -306,6 +307,10 @@ static uint64_t pgt_get_l1_flags(const struct intel_buf *buf, int surface_idx)
>   			entry.e.format = AUX_FORMAT_ARGB_8B;
>   			entry.e.depth = bpp_to_depth_val(32);
>   			break;
> +		case 64:
> +			entry.e.format = AUX_FORMAT_RGBA16_FLOAT;
> +			entry.e.depth = bpp_to_depth_val(64);
> +			break;
>   		default:
>   			igt_assert(0);
>   		}



More information about the igt-dev mailing list