On Fri, 20 Mar 2020 at 15:38, Zhiyi Zhang <zzhang(a)codeweavers.com> wrote:
+ behavior_flags = D3DCREATE_HARDWARE_VERTEXPROCESSING; + if (FAILED(IDirect3D8_CreateDevice(d3d, adapter_idx, D3DDEVTYPE_HAL, window, + behavior_flags, &present_params, &device))) + { + behavior_flags = D3DCREATE_SOFTWARE_VERTEXPROCESSING; + if (FAILED(hr = IDirect3D8_CreateDevice(d3d, adapter_idx, D3DDEVTYPE_HAL, window, + behavior_flags, &present_params, &device))) + { + skip("Adapter %u: Failed to create a D3D device, hr %#x.\n", adapter_idx, hr); + break; + } + } Do we really care that much about the behaviour flags here? It seems tempting to use create_device() and just drop the relevant ok() line instead. On the other hand, if we do really care, there's CREATE_DEVICE_SWVP_ONLY and CREATE_DEVICE_MIXED_ONLY, and we could conceivably introduce CREATE_DEVICE_HWVP_ONLY.