ClangFormat: apply to source, most of intern
[blender.git] / intern / opensubdiv / internal / opensubdiv_device_context_cuda.h
1 // Adopted from OpenSubdiv with the following license:
2 //
3 //   Copyright 2013 Pixar
4 //
5 //   Licensed under the Apache License, Version 2.0 (the "Apache License")
6 //   with the following modification; you may not use this file except in
7 //   compliance with the Apache License and the following modification to it:
8 //   Section 6. Trademarks. is deleted and replaced with:
9 //
10 //   6. Trademarks. This License does not grant permission to use the trade
11 //      names, trademarks, service marks, or product names of the Licensor
12 //      and its affiliates, except as required to comply with Section 4(c) of
13 //      the License and to reproduce the content of the NOTICE file.
14 //
15 //   You may obtain a copy of the Apache License at
16 //
17 //       http: //www.apache.org/licenses/LICENSE-2.0
18 //
19 //   Unless required by applicable law or agreed to in writing, software
20 //   distributed under the Apache License with the above modification is
21 //   distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
22 //   KIND, either express or implied. See the Apache License for the specific
23 //   language governing permissions and limitations under the Apache License.
24
25 #ifndef OPENSUBDIV_DEVICE_CONTEXT_CUDA_H_
26 #define OPENSUBDIV_DEVICE_CONTEXT_CUDA_H_
27
28 #ifdef OPENSUBDIV_HAS_CUDA
29
30 struct ID3D11Device;
31
32 class CudaDeviceContext {
33  public:
34   CudaDeviceContext();
35   ~CudaDeviceContext();
36
37   static bool HAS_CUDA_VERSION_4_0();
38
39   // Initialze cuda device from the current GL context.
40   bool Initialize();
41
42   // Initialze cuda device from the ID3D11Device.
43   bool Initialize(ID3D11Device *device);
44
45   // Returns true if the cuda device has already been initialized.
46   bool IsInitialized() const;
47
48  private:
49   bool initialized_;
50 };
51
52 #endif  // OPENSUBDIV_HAS_CUDA
53
54 #endif  // _OPENSUBDIV_DEVICE_CONTEXT_CUDA_H_