| // Copyright (c) Microsoft Corporation |
| |
| #ifndef THIRD_PARTY_WIN_VIRTUAL_DISPLAY_DRIVER_DIRECT3DDEVICE_H_ |
| #define THIRD_PARTY_WIN_VIRTUAL_DISPLAY_DRIVER_DIRECT3DDEVICE_H_ |
| |
| // Make sure we don't get min/max macros |
| #ifndef NOMINMAX |
| #define NOMINMAX |
| #endif |
| |
| #include <windows.h> |
| |
| #include <wdf.h> |
| |
| #include <iddcx.h> |
| #include <wrl.h> |
| |
| namespace display::test { |
| // Manages the creation and lifetime of a Direct3D render device. |
| struct Direct3DDevice { |
| Direct3DDevice(LUID AdapterLuid); |
| Direct3DDevice(); |
| HRESULT Init(); |
| |
| LUID AdapterLuid; |
| Microsoft::WRL::ComPtr<IDXGIFactory5> DxgiFactory; |
| Microsoft::WRL::ComPtr<IDXGIAdapter1> Adapter; |
| Microsoft::WRL::ComPtr<ID3D11Device> Device; |
| Microsoft::WRL::ComPtr<ID3D11DeviceContext> DeviceContext; |
| }; |
| } // namespace display::test |
| |
| #endif // THIRD_PARTY_WIN_VIRTUAL_DISPLAY_DRIVER_DIRECT3DDEVICE_H_ |