Skip to content

opengl: interop: fix fallback being used for RGBA and converters being ignored

So as to avoid adding converters for RGBA, b79c2b22 was forcing RGB fallbacks without changing the input format, which is not correct. The format update was re-added in c5ea9b76 but was explicitely opting out the changes for the software interop:

The interop may modify its format for two different reasons:
 - to request a converter from the core
 - to describe its output format to the sampler (internal changes of
   software chroma, actual orientation, etc.)

The internal changes *must not* be reported to the core, to avoid an
unwanted insertion of a converter.

The proper way to avoid the insertion of converters is to add support for the formats in the interop.c instead of using RGB fallbacks, so that the correct shader/swizzle is generated, and to check the original format before trying to use RGB fallbacks.

Merge request reports