diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-07-20 16:18:35 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-07-20 23:29:25 +0300 |
commit | a040157e5dd7227fc61ee2608f30f2492db167be (patch) | |
tree | 0767877854dcb0874e53ee70f8f9f0ad91bd7762 /intern/opensubdiv/opensubdiv_device_context_cuda.h | |
parent | ccc3c2dbda36f00e74064e993d7e98bf8ab32a58 (diff) |
OpenSubdiv: Add new OpenSubdiv related files
This includes C-API bindings in intern/opensubdiv and CMAke module
which finds the OpenSubdiv library. This filea are not in use so
far, making it a separate commit to make actual integration commit
more clear.
Diffstat (limited to 'intern/opensubdiv/opensubdiv_device_context_cuda.h')
-rw-r--r-- | intern/opensubdiv/opensubdiv_device_context_cuda.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/intern/opensubdiv/opensubdiv_device_context_cuda.h b/intern/opensubdiv/opensubdiv_device_context_cuda.h new file mode 100644 index 00000000000..eb30b76f507 --- /dev/null +++ b/intern/opensubdiv/opensubdiv_device_context_cuda.h @@ -0,0 +1,54 @@ +/* + * Adopted from OpenSubdiv with the following license: + * + * Copyright 2013 Pixar + * + * Licensed under the Apache License, Version 2.0 (the "Apache License") + * with the following modification; you may not use this file except in + * compliance with the Apache License and the following modification to it: + * Section 6. Trademarks. is deleted and replaced with: + * + * 6. Trademarks. This License does not grant permission to use the trade + * names, trademarks, service marks, or product names of the Licensor + * and its affiliates, except as required to comply with Section 4(c) of + * the License and to reproduce the content of the NOTICE file. + * + * You may obtain a copy of the Apache License at + * + * http: //www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Apache License with the above modification is + * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the Apache License for the specific + * language governing permissions and limitations under the Apache License. + * + */ + +#ifndef __OPENSUBDIV_DEV_CE_CONTEXT_CUDA_H__ +#define __OPENSUBDIV_DEV_CE_CONTEXT_CUDA_H__ + +struct ID3D11Device; + +class CudaDeviceContext { +public: + CudaDeviceContext(); + ~CudaDeviceContext(); + + static bool HAS_CUDA_VERSION_4_0(); + + /* Initialze cuda device from the current GL context. */ + bool Initialize(); + + /* Initialze cuda device from the ID3D11Device/ */ + bool Initialize(ID3D11Device *device); + + /* Returns true if the cuda device has already been initialized. */ + bool IsInitialized() const { + return _initialized; + } +private: + bool _initialized; +}; + +#endif /* __OPENSUBDIV_DEV_CE_CONTEXT_OPENCL_H__ */ |