[PATCH i-g-t v2 01/18] lib/intel_aux_pgtable: Library to add support for RGB16161616_64B format
Ville Syrjala
ville.syrjala at linux.intel.com
Wed Sep 18 12:05:01 UTC 2024
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);
}
--
2.44.2
More information about the igt-dev
mailing list