[PATCH i-g-t v2 12/18] lib/vebox: Add support for fp16 RGB formats

Ville Syrjala ville.syrjala at linux.intel.com
Wed Sep 18 12:05:12 UTC 2024


From: Ville Syrjälä <ville.syrjala at linux.intel.com>

Support VEBOX copies with fp16 RGB formats.

Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
 lib/veboxcopy_gen12.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/lib/veboxcopy_gen12.c b/lib/veboxcopy_gen12.c
index 44c914e7f2bf..af52a96578d9 100644
--- a/lib/veboxcopy_gen12.c
+++ b/lib/veboxcopy_gen12.c
@@ -32,6 +32,7 @@
 #define R8G8B8A8_UNORM	8
 #define PACKED_444_16	9
 #define PLANAR_420_16	12
+#define R16G16B16A16	13
 
 struct vebox_surface_state {
 	struct {
@@ -165,6 +166,8 @@ static uint32_t compression_format(int format, struct intel_buf *buf)
 		return 0;
 
 	switch (format) {
+	case R16G16B16A16:
+		return 0x1;
 	case R8G8B8A8_UNORM:
 		return 0xa;
 	case PLANAR_420_8:
@@ -344,8 +347,9 @@ void gen12_vebox_copyfunc(struct intel_bb *ibb,
 					      R8G8B8A8_UNORM;
 		break;
 	case 64:
-		igt_assert(!src->format_is_yuv_semiplanar && src->format_is_yuv);
-		format = PACKED_444_16;
+		igt_assert(!src->format_is_yuv_semiplanar);
+		format = src->format_is_yuv ? PACKED_444_16 :
+					      R16G16B16A16;
 		break;
 	default:
 		igt_assert_f(0, "Unsupported bpp: %u\n", src->bpp);
-- 
2.44.2



More information about the igt-dev mailing list