From: Sebastian Mayr me@sam.st
In d3d8, setting texture filters to invalid values does not yield an error when calling IDirect3DDevice8::ValidateDevice. Some applications, such as Worms Blast, rely on this behaviour.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54898 --- dlls/d3d8/device.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c index 3727ad3e4eb..bfcab95cd68 100644 --- a/dlls/d3d8/device.c +++ b/dlls/d3d8/device.c @@ -2409,6 +2409,13 @@ static HRESULT WINAPI d3d8_device_ValidateDevice(IDirect3DDevice8 *iface, DWORD hr = wined3d_device_validate_device(device->wined3d_device, pass_count); wined3d_mutex_unlock();
+ /* In d3d8, texture filters are not validated, so errors concerning + * unsupported ones are ignored here. */ + if (hr == WINED3DERR_UNSUPPORTEDTEXTUREFILTER) { + *pass_count = 1; + return D3D_OK; + } + return hr; }