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

Juha-Pekka Heikkila juhapekka.heikkila at gmail.com
Tue Aug 27 15:16:20 UTC 2024


On 3.7.2024 2.27, 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/
> 
> 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>
> [vsyrjala: s/0x1/0x10/ to make the format correct, note that it's for TGL+]

I'm feeling bit challenged on this s/0x1/0x10/ change. When looking at 
bpsec 43868 Melanie's original '1' look correct. Rest of those 
AUX_FORMAT_* match to what's in 43868. Then with bspec 43869 this '10' 
look correct but what will we get on MTL with this? I think Melanie's 
original kernel change was targeting for MTL hence this was not looked at.

/Juha-Pekka

> 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