Stefan Dösinger (@stefan) commented about dlls/d3d8/tests/device.c:
+ ok(!!window, "Failed to create a window.\n"); + d3d = Direct3DCreate8(D3D_SDK_VERSION); + ok(!!d3d, "Failed to create a D3D object.\n"); + if (!(device = create_device(d3d, window, NULL))) + { + skip("Failed to create a 3D device, skipping test.\n"); + goto cleanup; + } + + hr = IDirect3DDevice8_CreateTexture(device, 16, 16, 1, 0, D3DFMT_A8R8G8B8, D3DPOOL_MANAGED, &texture); + ok(hr == D3D_OK, "CreateTexture failed, error %#lx.\n", hr); + + for (i = 0; i < 8; ++i) + { + hr = IDirect3DDevice8_SetTexture(device, i, (IDirect3DBaseTexture8 *)texture); + ok(hr == D3D_OK, "SetTexture failed, error %#lx.\n", hr); What about GPUs that support fewer than 8 textures and/or simultaneous active stages? I have an old r200 GPU around, I'll give that test a try there.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2821#note_32813