[PATCH 3/6] wined3d: Move format conversion to surface_upload_data.

Henri Verbeet hverbeet at gmail.com
Wed Nov 27 11:56:22 CST 2013


On 27 November 2013 18:08, Stefan Dösinger <stefandoesinger at gmail.com> wrote:
> I don’t see how that helps here. This isn’t about a WINED3DFMT_R8G8B8A8_UNORM to WINED3DFMT_R32G32B32A32_FLOAT blit, this about uploading formats that have a conversion function to handle missing GL support (e.g. WINED3DFMT_R16G16_FLOAT without TEXTURE_RG or WINED3DFMT_R16G16_SNORM). Unless we add some WINED3DFMT enum values to express those conversions I don’t see how a staging resource helps here.
>
Doing conversions in the blitter allows them to be done on either the
GPU or the CPU, depending on what's appropriate. I also think it's
just the right place conceptually. It's correct that this would
require some work on the blitter to be able to correctly express some
of the conversions.

> I don’t think there are any d3d8/9 blit operations that our GPU blitters cannot handle.
But not all blitters are necessarily always available. E.g. d3d8 level
hardware generally doesn't have useful fragment shaders.



More information about the wine-devel mailing list