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.