webgpu/dawn/include/dawn/native/D3D11Backend.h
 1// Copyright 2023 The Dawn Authors
 2//
 3// Licensed under the Apache License, Version 2.0 (the "License");
 4// you may not use this file except in compliance with the License.
 5// You may obtain a copy of the License at
 6//
 7//     http://www.apache.org/licenses/LICENSE-2.0
 8//
 9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#ifndef INCLUDE_DAWN_NATIVE_D3D11BACKEND_H_
16#define INCLUDE_DAWN_NATIVE_D3D11BACKEND_H_
17
18#include <d3d11_1.h>
19#include <windows.h>
20#include <wrl/client.h>
21
22#include <memory>
23
24#include "dawn/native/D3DBackend.h"
25
26namespace dawn::native::d3d11 {
27
28struct DAWN_NATIVE_EXPORT PhysicalDeviceDiscoveryOptions
29    : public d3d::PhysicalDeviceDiscoveryOptions {
30    PhysicalDeviceDiscoveryOptions();
31    explicit PhysicalDeviceDiscoveryOptions(Microsoft::WRL::ComPtr<IDXGIAdapter> adapter);
32};
33
34// TODO(dawn:1774): Deprecated.
35using AdapterDiscoveryOptions = PhysicalDeviceDiscoveryOptions;
36
37DAWN_NATIVE_EXPORT Microsoft::WRL::ComPtr<ID3D11Device> GetD3D11Device(WGPUDevice device);
38
39}  // namespace dawn::native::d3d11
40
41#endif  // INCLUDE_DAWN_NATIVE_D3D11BACKEND_H_