On 17 October 2011 19:54, Stefan Dösinger stefan@codeweavers.com wrote:
The fixup is a separate issue. We can write to formats with fixups just fine if the input is in the correct format or we have a shader that can convert TO that format. The problem with the blocks is that if one pixel is modified the entire block may have to be modified, and we can't do that even with shaders. So we can't blit to e.g. YUY2 surfaces even if the input is YUY2 as well and the underlying luminance-alpha textures may be fbo attachable.
That's mostly a limitation of the individual blitters. You could certainly make YUY2 and UYVY work with e.g. FBO blits as long as you only blit on block boundaries, and I wouldn't be all that surprised if you have to blit on block boundaries anyway in D3D. YV12 would be harder, but at least d3d10/11 hardware could probably do it.