dri: Add R32F,RG32F,RGBA32F format mappings for DRIImage
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Add pipe format to sized internal format mappings for R32F,
RG32F and RGBA32F in the DRIImage format table. This fixes shader
image store operations on EGL images imported from DMA-BUF with
respective DRM formats.

Without these mappings, DMA-BUF imported textures received base internal
formats instead of sized internal formats, causing shader image unit
validation to fail and DispatchCompute write zeroes on compute shader
imageStore operation.

Fixes: 6d3f266406 ("dri: Add additional 16/32b float/int formats")
Signed-off-by: Lakshman Chandu Kondreddy <lkondred@qti.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39004>
This commit is contained in:
Lakshman Chandu Kondreddy 2025-12-16 18:47:11 +00:00 committed by Marge Bot
parent c2c9266fed
commit ffb5d5d224

View file

@ -903,6 +903,18 @@ static const struct {
.image_format = __DRI_IMAGE_FORMAT_XBGR16161616,
.internal_format = GL_RGB16,
},
{
.image_format = PIPE_FORMAT_R32G32B32A32_FLOAT,
.internal_format = GL_RGBA32F,
},
{
.image_format = PIPE_FORMAT_R32_FLOAT,
.internal_format = GL_R32F,
},
{
.image_format = PIPE_FORMAT_R32G32_FLOAT,
.internal_format = GL_RG32F,
},
{
.image_format = __DRI_IMAGE_FORMAT_ARGB2101010,
.internal_format = GL_RGB10_A2,