From 4cb7c63f211c566257ec2bf2532999972feff3d0 Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Wed, 4 Feb 2026 14:16:56 +0100 Subject: [PATCH] etnaviv: blt: Add sRGB support to blt_imginfo Add sRGB field to blt_imginfo and use it to conditionally set the BLT_SRC_IMAGE_CONFIG_SRGB and BLT_DEST_IMAGE_CONFIG_SRGB bits in the BLT config register setup. Signed-off-by: Christian Gmeiner Part-of: --- src/gallium/drivers/etnaviv/etnaviv_blt.c | 2 ++ src/gallium/drivers/etnaviv/etnaviv_blt.h | 1 + 2 files changed, 3 insertions(+) diff --git a/src/gallium/drivers/etnaviv/etnaviv_blt.c b/src/gallium/drivers/etnaviv/etnaviv_blt.c index 44f4c33b956..38ad5a412e7 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_blt.c +++ b/src/gallium/drivers/etnaviv/etnaviv_blt.c @@ -83,6 +83,7 @@ blt_compute_dest_img_config_bits(const struct blt_imginfo *img) COND(img->use_ts && img->ts_compress_fmt >= 0, BLT_DEST_IMAGE_CONFIG_COMPRESSION) | BLT_DEST_IMAGE_CONFIG_COMPRESSION_FORMAT(img->ts_compress_fmt) | BLT_DEST_IMAGE_CONFIG_UNK22 | + COND(img->srgb, BLT_DEST_IMAGE_CONFIG_SRGB) | BLT_DEST_IMAGE_CONFIG_SWIZ_R(img->swizzle[0]) | BLT_DEST_IMAGE_CONFIG_SWIZ_G(img->swizzle[1]) | BLT_DEST_IMAGE_CONFIG_SWIZ_B(img->swizzle[2]) | @@ -97,6 +98,7 @@ blt_compute_src_img_config_bits(const struct blt_imginfo *img) COND(img->use_ts, BLT_SRC_IMAGE_CONFIG_TS) | COND(img->use_ts && img->ts_compress_fmt >= 0, BLT_SRC_IMAGE_CONFIG_COMPRESSION) | BLT_SRC_IMAGE_CONFIG_COMPRESSION_FORMAT(img->ts_compress_fmt) | + COND(img->srgb, BLT_SRC_IMAGE_CONFIG_SRGB) | BLT_SRC_IMAGE_CONFIG_SWIZ_R(img->swizzle[0]) | BLT_SRC_IMAGE_CONFIG_SWIZ_G(img->swizzle[1]) | BLT_SRC_IMAGE_CONFIG_SWIZ_B(img->swizzle[2]) | diff --git a/src/gallium/drivers/etnaviv/etnaviv_blt.h b/src/gallium/drivers/etnaviv/etnaviv_blt.h index 28a02d0ba7d..cf9e2c04e61 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_blt.h +++ b/src/gallium/drivers/etnaviv/etnaviv_blt.h @@ -41,6 +41,7 @@ struct blt_imginfo unsigned downsample_x : 1; /* Downsample in x direction */ unsigned downsample_y : 1; /* Downsample in y direction */ unsigned use_ts:1; + unsigned srgb : 1; struct etna_reloc addr; struct etna_reloc ts_addr; uint32_t format; /* BLT_FORMAT_* */