[PATCH 3/6] d3d8/tests: Test device caps on multiple adapters.
Henri Verbeet
hverbeet at gmail.com
Tue Mar 17 09:40:52 CDT 2020
On Tue, 17 Mar 2020 at 12:16, Zhiyi Zhang <zzhang at codeweavers.com> wrote:
> + for (adapter_idx = 0; adapter_idx < adapter_count; ++adapter_idx)
> {
> - skip("Failed to create a D3D device.\n");
> - IDirect3D8_Release(d3d);
> - DestroyWindow(window);
> - return;
> + /* Test IDirect3D8_GetDeviceCaps */
> + hr = IDirect3D8_GetDeviceCaps(d3d, adapter_idx, D3DDEVTYPE_HAL, &caps);
> + ok(hr == D3D_OK || hr == D3DERR_NOTAVAILABLE, "Adapter %u: GetDeviceCaps failed, hr %#x.\n",
> + adapter_idx, hr);
> + if (hr == D3DERR_NOTAVAILABLE)
> + {
> + skip("Adapter %u: No Direct3D support, skipping test.\n", adapter_idx);
> + break;
> + }
> + ok(caps.AdapterOrdinal == adapter_idx, "Adapter %u: Got unexpected adapter ordinal %u.\n",
> + adapter_idx, caps.AdapterOrdinal);
> +
> + /* Test IDirect3DDevice8_GetDeviceCaps */
> + device_desc.adapter_ordinal = adapter_idx;
> + device = create_device(d3d, window, &device_desc);
> + ok(!!device, "Adapter %u: Failed to create a D3D device.\n", adapter_idx);
> + hr = IDirect3DDevice8_GetDeviceCaps(device, &caps);
> + ok(SUCCEEDED(hr), "Adapter %u: Failed to get caps, hr %#x.\n", adapter_idx, hr);
This crashes with the "gdi" renderer:
device.c:8884: Test failed: Adapter 0: Failed to create a D3D device.
wine: Unhandled page fault on read access to 00000000 at address
0040EF16 (thread 0009), starting debugger...
...
8885 hr = IDirect3DDevice8_GetDeviceCaps(device, &caps);
More information about the wine-devel
mailing list