On Thu May 18 15:35:24 2023 +0000, Stefan Dösinger wrote:
TL;DR: Old HW is weird, I vote not to bother too much Never ask d3d too many questions, you might not like the answer... That r200 driver *does* care about the texture type. Binding a volume texture makes ValidateDevice fail with D3DERR_UNSUPPORTEDTEXTUREFILTER in the following conditions: *) A non-zero mip filter is used *) min filter != mag filter. As long as min == mag it is fine, even if both are 0xdeadbeef. But it only validates stage 0. On stage 1 and up everything goes. I still think we should stay the course and just ignore D3DERR_UNSUPPORTEDTEXTUREFILTER in d3d8. We don't implement texture type dependent filter capabilities and I don't know of a way to query this info from OpenGL. There is GL_ARB_internalformat_query2, but it requires OpenGL 2.0, which this GPU will never support. While I do have a fetish for making old games run on old hardware, the work to properly detect and communicate this restriction to the game is weeks of work and probably involves hardcoding restrictions based on the renderer string. Finding one user (other than myself) who runs a 2023 Wine on a 2003 hardware is probably impossible. If you have read this far, to satisfy my curiosity though: What texture type does the game bind on stage 0 when it validates the device? 2D? Cube? Volume? If 2D, are the sizes powers of 2? But now I have an excuse to update Linux on this box and build Wine git on it to see if it runs Worms Blast :-)
Huh, these are some weird conditions that ValidateDevice is checking on your r200... I wonder why they only care about stage 0. But I guess not asking too many questions about this is indeed better. :)
I'm obviously also fine with just ignoring D3DERR_UNSUPPORTEDTEXTUREFILTER, it's a pretty trivial fix after all.
Concerning the texture types used by Worms Blast, it's a bit disappointing: afaict nothing fancy is going on. Just regular, power of 2 sized, 2D textures with format D3DFMT_A8R8G8B8.
Can I ignore the reports about failed tests? They seem unrelated.
Many thanks for the review!