Matteo Bruni (@Mystral) commented about dlls/d3d9/tests/d3d9ex.c:
- reset_d3d9on12_args(&override_list);
- override_list.Enable9On12 = TRUE;
- override_list.pD3D12Device = (IUnknown *)d3d12device;
- override_entries = 1;
- hr = create_d3d9on12_device(&d3d9, window, &override_list, override_entries, &device);
- if (FAILED(hr))
- {
skip("Failed to create a regular Direct3DDevice9, skipping d3d9on12 tests\n");
goto out;
- }
- hr = IDirect3DDevice9_QueryInterface(device, &IID_IDirect3DDevice9On12, (void **)&d3d9on12);
- ok(hr == S_OK, "Got hr %#lx.\n", hr);
- IDirect3DDevice9On12_QueryInterface(d3d9on12, &IID_IDirect3DDevice9On12, (void **)&d3d9on12_2);
- ok(hr == S_OK, "Got hr %#lx.\n", hr);
I'm not sure what's the deal with this double QI on the d3d9 object (here and in the previous tests). It doesn't seem to add anything of value.