summaryrefslogtreecommitdiff
path: root/chromium/third_party/dawn/src/dawn_native/d3d12/BackendD3D12.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/dawn/src/dawn_native/d3d12/BackendD3D12.cpp')
-rw-r--r--chromium/third_party/dawn/src/dawn_native/d3d12/BackendD3D12.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/chromium/third_party/dawn/src/dawn_native/d3d12/BackendD3D12.cpp b/chromium/third_party/dawn/src/dawn_native/d3d12/BackendD3D12.cpp
index 71beb6c5be6..b7a3f82cb48 100644
--- a/chromium/third_party/dawn/src/dawn_native/d3d12/BackendD3D12.cpp
+++ b/chromium/third_party/dawn/src/dawn_native/d3d12/BackendD3D12.cpp
@@ -61,7 +61,7 @@ namespace dawn_native { namespace d3d12 {
}
if (FAILED(functions->createDxgiFactory2(dxgiFactoryFlags, IID_PPV_ARGS(&factory)))) {
- return DAWN_DEVICE_LOST_ERROR("Failed to create a DXGI factory");
+ return DAWN_INTERNAL_ERROR("Failed to create a DXGI factory");
}
ASSERT(factory != nullptr);
@@ -70,7 +70,8 @@ namespace dawn_native { namespace d3d12 {
} // anonymous namespace
- Backend::Backend(InstanceBase* instance) : BackendConnection(instance, BackendType::D3D12) {
+ Backend::Backend(InstanceBase* instance)
+ : BackendConnection(instance, wgpu::BackendType::D3D12) {
}
MaybeError Backend::Initialize() {
@@ -105,7 +106,12 @@ namespace dawn_native { namespace d3d12 {
ASSERT(dxgiAdapter != nullptr);
- std::unique_ptr<Adapter> adapter = std::make_unique<Adapter>(this, dxgiAdapter);
+ ComPtr<IDXGIAdapter3> dxgiAdapter3;
+ HRESULT result = dxgiAdapter.As(&dxgiAdapter3);
+ ASSERT(SUCCEEDED(result));
+
+ std::unique_ptr<Adapter> adapter =
+ std::make_unique<Adapter>(this, std::move(dxgiAdapter3));
if (GetInstance()->ConsumedError(adapter->Initialize())) {
continue;
}