On 7 July 2014 15:26, Stefan Dösinger stefandoesinger@gmail.com wrote:
The drawable format is a winex11.drv / winemac.drv internal thing.
In a sense, but wined3d picks it in context_create() / context_choose_pixel_format(). That's also where WINED3DFMT_P8_UINT is overridden to WINED3DFMT_B8G8R8A8_UNORM.
So I think the fix for this would need to be in wined3d_check_device_format(), or its utility functions.
I don't think so. Wined3d_check_device_format doesn't know what ddraw is going to do with the source surface. What if e.g. the application tries to create a YUY2 offscreen surface in P8 mode?
Does it really matter what ddraw is going to do with it, beyond what's passed in through usage / resource_type? In principle I see no reason why wined3d shouldn't allow offscreen YUY2 surfaces in P8 mode.
I'm open to the argument that blits between converted surfaces with the same format should be reported as supposed.
In some cases, yes, but when e.g. stretching is involved that's not necessarily true either.