1 /* 2 * Copyright 2020 Google LLC 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef GrD3DBackendContext_DEFINED 9 #define GrD3DBackendContext_DEFINED 10 11 // GrD3DTypes.h includes d3d12.h, which in turn includes windows.h, which redefines many 12 // common identifiers such as: 13 // * interface 14 // * small 15 // * near 16 // * far 17 // * CreateSemaphore 18 // * MemoryBarrier 19 // 20 // You should only include GrD3DBackendContext.h if you are prepared to rename those identifiers. 21 #include "include/gpu/d3d/GrD3DTypes.h" 22 23 #include "include/gpu/GrTypes.h" 24 25 // The BackendContext contains all of the base D3D objects needed by the GrD3DGpu. The assumption 26 // is that the client will set these up and pass them to the GrD3DGpu constructor. 27 struct SK_API GrD3DBackendContext { 28 gr_cp<IDXGIAdapter1> fAdapter; 29 gr_cp<ID3D12Device> fDevice; 30 gr_cp<ID3D12CommandQueue> fQueue; 31 sk_sp<GrD3DMemoryAllocator> fMemoryAllocator; 32 GrProtected fProtectedContext = GrProtected::kNo; 33 }; 34 35 #endif 36