On Fri, 17 Dec 2021 at 07:13, Conor McCarthy cmccarthy@codeweavers.com wrote:
Setting this value to nonzero enables blitting of incompatible formats in raw_blitter_blit().
Games may blit between a depth/stencil format and a colour format, even though it's invalid in D3D10/11. In some situations glCopyImageSubData() handles this well enough, with much higher performance than the FBO path.
Is that invalid in the sense that it doesn't work, or in the sense that the documentation claims it's not allowed? If this is something that works in practice, we'd want tests to go along with the fix.
On the OpenGL side, if this does indeed work reliably with ARB_copy_image, we could just detect that during adapter initialisation and set a quirk bit; we wouldn't need a registry setting. Still, it this point, the most interesting question is probably why it's so slow with FBO blits.