Commit fcb79357 by Jamie Madill Committed by Commit Bot

D3D11: Detect driver version before workaround init.

This is order-sensitive. The workarounds need the driver version to properly determine if workarounds should be used. This fixes the WebGL 2 test invalidate/sub on NVIDIA. BUG=angleproject:1246 Change-Id: I7ca4f44ec2874553f167214e937e918b49e69567 Reviewed-on: https://chromium-review.googlesource.com/385077Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent adaeb85f
...@@ -885,6 +885,18 @@ void Renderer11::populateRenderer11DeviceCaps() ...@@ -885,6 +885,18 @@ void Renderer11::populateRenderer11DeviceCaps()
{ {
HRESULT hr = S_OK; HRESULT hr = S_OK;
LARGE_INTEGER version;
hr = mDxgiAdapter->CheckInterfaceSupport(__uuidof(IDXGIDevice), &version);
if (FAILED(hr))
{
mRenderer11DeviceCaps.driverVersion.reset();
ERR("Error querying driver version from DXGI Adapter.");
}
else
{
mRenderer11DeviceCaps.driverVersion = version;
}
if (mDeviceContext1) if (mDeviceContext1)
{ {
D3D11_FEATURE_DATA_D3D11_OPTIONS d3d11Options; D3D11_FEATURE_DATA_D3D11_OPTIONS d3d11Options;
...@@ -925,18 +937,6 @@ void Renderer11::populateRenderer11DeviceCaps() ...@@ -925,18 +937,6 @@ void Renderer11::populateRenderer11DeviceCaps()
IDXGIAdapter2 *dxgiAdapter2 = d3d11::DynamicCastComObject<IDXGIAdapter2>(mDxgiAdapter); IDXGIAdapter2 *dxgiAdapter2 = d3d11::DynamicCastComObject<IDXGIAdapter2>(mDxgiAdapter);
mRenderer11DeviceCaps.supportsDXGI1_2 = (dxgiAdapter2 != nullptr); mRenderer11DeviceCaps.supportsDXGI1_2 = (dxgiAdapter2 != nullptr);
SafeRelease(dxgiAdapter2); SafeRelease(dxgiAdapter2);
LARGE_INTEGER version;
hr = mDxgiAdapter->CheckInterfaceSupport(__uuidof(IDXGIDevice), &version);
if (FAILED(hr))
{
mRenderer11DeviceCaps.driverVersion.reset();
ERR("Error querying driver version from DXGI Adapter.");
}
else
{
mRenderer11DeviceCaps.driverVersion = version;
}
} }
egl::ConfigSet Renderer11::generateConfigs() egl::ConfigSet Renderer11::generateConfigs()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment