This is basically what we do in i965 only we support two SRGB formats. Acked-by: Jason Ekstrand <[email protected]>
On Fri, Aug 31, 2018 at 11:37 AM Daniel Stone <[email protected]> wrote: > Though the SARGB8888 format is used internally through its FourCC value, > it is not a real format as defined by drm_fourcc.h; it cannot be used > with KMS or other interfaces expecting drm_fourcc.h format codes. > > Ensure we don't advertise it through the dmabuf format/modifier query > interfaces, preventing us from tripping over an assert. > > Signed-off-by: Daniel Stone <[email protected]> > Reported-by: Michel Dänzer <[email protected]> > Fixes: 8c1b9882b2e0 ("egl/dri2: Guard against invalid fourcc formats") > Cc: Jason Ekstrand <[email protected]> > --- > src/gallium/state_trackers/dri/dri2.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/src/gallium/state_trackers/dri/dri2.c > b/src/gallium/state_trackers/dri/dri2.c > index 2ac32205d9a..c8a484e3926 100644 > --- a/src/gallium/state_trackers/dri/dri2.c > +++ b/src/gallium/state_trackers/dri/dri2.c > @@ -1485,6 +1485,12 @@ dri2_query_dma_buf_formats(__DRIscreen *_screen, > int max, int *formats, > > for (i = 0, j = 0; (i < ARRAY_SIZE(fourcc_formats)) && > (j < max || max == 0); i++) { > + /* The sRGB format is not a real FourCC as defined by drm_fourcc.h, > so we > + * must not leak it out to clients. > + */ > + if (fourcc_formats[i] == __DRI_IMAGE_FOURCC_SARGB8888) > + continue; > + > if (pscreen->is_format_supported(pscreen, > fourcc_to_pipe_format( > fourcc_formats[i]), > -- > 2.17.1 > > _______________________________________________ > mesa-dev mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
