Hi.
I was investigating a regression that cause the CheckDeviceFormat function to return WINED3DERR_NOTAVAILABLE when quering for RESZ surfaces. (WINED3DFMT_RESZ). This is causing OblivionReloaded (that worked properly until wine 2.5) to not work properly (it detect an incompatible hardware in wine or NVIDIA in wine-staging).
I tacked the regression to this commit : https://github.com/wine-mirror/wine/commit/8c98be4791f18f31b04a4a0f08d18979aa0d06df
github.com
…ility(). Rendertarget, depth/stencil and texturing restrictions are applied later in wined3d_check_device_format(), so to the extent this make a difference it mostly affects off-screen plain surf...
|
The last patch I made in my local branch is adding a wined3d_format_texture_info in the format_texture_info array:
However I know almost nothing about the internal work of wined3d and opengl and don't know if this kind of addition is correct. OblivionReloaded works and can properly use the RESZ depth texture.
I based this patch on the INTZ and RAWZ surfaces that are somewhat reported to be similar in scope in some docs.
Also I don't know if the flags are correct or even meaningful in this scope. I could not find any documentation about the internal meaning of these flags. As the good Jon Snow I know nothing.
Note I never did a patch in wine before (except adding some debug message). So please tell me if I'm in a completly wrong direction.
Also note that I didn't run the test suite. Using make test is failing hard on an advapi32 test even without this patch applied.
I attached the full patch file.