• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google Inc.
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 D3DTestContext_DEFINED
9 #define D3DTestContext_DEFINED
10 
11 #include "tools/gpu/TestContext.h"
12 
13 #ifdef SK_DIRECT3D
14 
15 #include "include/gpu/d3d/GrD3DBackendContext.h"
16 
17 namespace sk_gpu_test {
18 class D3DTestContext : public TestContext {
19 public:
backend()20     virtual GrBackendApi backend() override { return GrBackendApi::kDirect3D; }
21 
getD3DBackendContext()22     const GrD3DBackendContext& getD3DBackendContext() const {
23         return fD3D;
24     }
25 
26 protected:
D3DTestContext(const GrD3DBackendContext & d3d,bool ownsContext)27     D3DTestContext(const GrD3DBackendContext& d3d, bool ownsContext)
28             : fD3D(d3d)
29             , fOwnsContext(ownsContext) {}
30 
31     GrD3DBackendContext fD3D;
32     bool fOwnsContext;
33 
34 private:
35     using INHERITED = TestContext;
36 };
37 
38 /**
39  * Creates D3D context object bound to the native D3D library.
40  */
41 D3DTestContext* CreatePlatformD3DTestContext(D3DTestContext*);
42 
43 }  // namespace sk_gpu_test
44 
45 #endif
46 
47 #endif
48