I agree with your comments. Ill extend this patch with more tests, like non-1channel textures and other corner cases. Also I will detail more on the logic behind the arguments used for the test. Regarding the D3DPTEXTURECAPS_POW2, I just wanted to be sure those textures are supported, but if you think is not needed ill remove it in the next version. And I can try to draft a DF16/DF24 tests. However I did not think it was necessary since the depth formats are very similar to other depth formats in wine. And there is 1:1 mapping between those depth formats. (DF16 -> D16, DF24 -> D24S8) (unless there is a difference in precision or int/float used for storage, but that is not detailed in the spec) El jue., 22 nov. 2018 a las 15:01, Stefan Dösinger (< stefandoesinger(a)gmail.com>) escribió:
Hi,
Can you add a test showing that FETCH4 is disabled when the bound texture is not a single-channel texture? I sense that there might be applications that enable FETCH4 and then "forget" to disable it when they render from an ARGB texture.
A test for DF16 and DF24 would be great as well, but it doesn't belong in this patch and should be a separate one. It's probably best to extend intz_test.
+ if (caps.TextureCaps & D3DPTEXTURECAPS_POW2) + { + skip("No unconditional NP2 texture support, skipping FETCH4 test.\n"); + IDirect3DDevice9_Release(device); + goto done; + } Do you still need this?
+ hr = IDirect3DDevice9_SetSamplerState(device, 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); + ok(SUCCEEDED(hr), "SetSamplerState failed, hr %#x.\n", hr); + hr = IDirect3DDevice9_SetSamplerState(device, 0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); + ok(SUCCEEDED(hr), "SetSamplerState failed, hr %#x.\n", hr); + hr = IDirect3DDevice9_SetSamplerState(device, 0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); + ok(SUCCEEDED(hr), "SetSamplerState failed, hr %#x.\n", hr); This contradicts AMD's description, but I assume you placed them here to show that their docs are wrong and FETCH4 is used regardless of the filter. I think a comment would be useful.