On 14 September 2015 at 00:13, Józef Kucia jkucia@codeweavers.com wrote:
- if (swapchain_out)
*swapchain_out = swapchain;
- else
IDXGISwapChain_Release(swapchain);
Is "desc" validated or modified in this case? Otherwise you could return a lot earlier. The test doesn't really cover that.
- hr = D3D11CreateDevice(adapter, driver_type, swrast, flags, feature_levels, levels, sdk_version,
&device, NULL, NULL);
- if (FAILED(hr))
- {
WARN("Failed to create a device, returning %#x.\n", hr);
*device_out = NULL;
return hr;
- }
...
- if (obtained_feature_level)
*obtained_feature_level = ID3D11Device_GetFeatureLevel(device);
- if (immediate_context)
ID3D11Device_GetImmediateContext(device, immediate_context);
This seems odd. Why not just pass these to D3D11CreateDevice()?
If you like you can do things like the D3D11CreateDevice() call inside the if. I.e., "if (FAILED(hr = D3D11CreateDevice(...)))". I tend to do that for newer code, older code usually has it on separate lines.