Commit Graph

92 Commits

Author SHA1 Message Date
Takahito Tejima
5c54962d3b Improve OpenCL/DX interop configuration
build osd and examples with DX/CL interop only of cmake finds
cl_d3d11.h or cl_d3d11_ext.h.
2015-06-02 16:20:59 -07:00
Takahito Tejima
89dcea57c2 Fix CMakeLists: make project-relative include path overridable
All examples, regression tests and tutorials directly looked into
opensubdiv source directory to grab the header files. This is somewhat
convenient during development but they can mistakenly access private
header files.

With this change, when OPENSUBDIV_INCLUDE_DIR is given to cmake,
it will be used as an include search path to build examples etc.
Otherwise it follows the same behavior as before.

Also replaces include references to the files in regression dir
to be relative, and cleanups some copy-paste patterns.
2015-05-28 17:32:33 -07:00
David G. Yu
421e60f8c5 A couple more DX / OpenCL changes for AMD 2015-04-30 10:01:01 -07:00
Takahito Tejima
9316852e69 use OPENSUBDIV_HAS_DX11SDK
replace OPENSUBDIV_HAS_DX of the previous change with
OPENSUBDIV_HAS_DX11SDK since we already have that.
2015-04-29 17:06:42 -07:00
Takahito Tejima
dcb022e1db Fix DX-OpenCL/CUDA interop.
- resolves DX-CL interop functions in Osd::ClD3D11VertexBuffer.
- enable CL kernels in DX build.
- more cleanup in test harnesses, adding D3D11 initializations into DeviceContext.
- add new defines OPENSUBDIV_HAS_OPENGL and OPENSUBDIV_HAS_DX for convenience.
2015-04-29 11:51:12 -07:00
Takahito Tejima
2a543ee9a8 Travis CI configuration
add NO_GLTESTS option to cmake.
2015-04-28 14:44:07 -07:00
George ElKoura
8456c703fa Minor fixes to building docs and doc links.
- Upped minimum required version of docutils from 0.6 to 0.9.
- Fixed link to pygments in build documentation
- Fixed link to doxygen in build documentation
2015-04-24 19:16:34 -07:00
Takahito Tejima
6e6e8040b7 CMakeLists: add enable_testing/add_test 2015-04-16 10:52:08 -07:00
manuelk
35c927209e Improving ICC CMake hints
fixes #396
2015-02-12 10:57:04 -08:00
Christoph Kubisch
222f95d6c3 build option to disable DX on windows 2015-01-27 16:15:36 -08:00
manuelk
7ac73157f4 Bump gcc version requirement to 4.8 : upcoming changes run into compiler bugs with older gcc versions 2014-09-24 14:47:57 -07:00
manuelk
c399655dcc Landing 3.0.0.alpha
Sync'ing the 'dev' branch with the 'feature_3.0dev' branch at commit 68c6d11fc36761ae1a5e6cdc3457be16f2e9704a

The branch 'feature_3.0dev' is now locked and preserved for historical purposes.
2014-09-05 15:07:46 -07:00
Nathan Litke
0128417447 Allow NEON to be disabled on Android. Works similar to GCD on Mac OS X. 2014-08-07 13:10:54 -07:00
Rachid El Guerrab
035e58f44a Added subdivision kernels for ARM NEON
* assembler kernels are based on the C implementation in neonKernel.cpp
* enable assembler kernel functions in neonComputeController.cpp with #define USE_ASM_KERNELS 1
2014-08-05 22:09:12 -07:00
David G. Yu
ccdffb5855 Fixed cmake diagnostic messsage. 2014-06-23 22:14:57 -07:00
Sergey Sharybin
7b5a25f63d Fix compilation error with CLEW enabled
For some reason it compiled fine on the desktop but
compilation on laptop requires explicit linking against
dl library.
2014-05-25 04:42:04 +02:00
Sergey Sharybin
6ef232c95a Integrate CLEW into osd library and examples
If the system has CLEW installed (which is detected by recently
added FindCLEW routines) then OpenSubduv would be compiled against
this library.

It makes binaries and libraries more portable across the systems,
so it's possible to run the same binary on systems with and without
OpenCL SDK installed.

The most annoying part of the change is updating examples to load
OpenCL libraries, but ideally code around controllers and interface
creation is to be de-duplicated anyway.

Based on the pull request #303 from Martijn Berger
2014-05-22 09:10:59 +02:00
Sergey Sharybin
753397cbc5 Fix real stupid copy-paste typo from a while ago 2014-05-20 23:36:45 +02:00
Manuel Kraemer
97461ea722 Don't show warnings when OpenCL component is disabled 2014-05-17 12:50:51 -07:00
Sergey Sharybin
5cafd6c40e Make PTex support optional
Basically makes configuration log much cleaner on systems
where PTex is not installed.
2014-05-17 12:46:39 -07:00
Sergey Sharybin
575cb30e54 Document NO_MAYA command line option
If was used in CMake but was never documented.
2014-05-17 12:45:37 -07:00
Sergey Sharybin
28e3431aa9 Add an option to disable OpenCL
It's not always wanted to compile OpenSubdiv with OpenCL
support when the SDK is installed on the builder machine.
2014-05-17 12:43:25 -07:00
Sergey Sharybin
fddddbc80d Add command line option to CMake's options
It solves the issues when one generated makefiles with
some of the custom command line options passed to CMake
and then modified the CMake file. This used to forget
about settings passed via command line.

Now it's no longer required to re-run CMake with all
custom options every time CMakeLists.txt files are
modified.
2014-05-17 12:40:58 -07:00
manuelk
7f78bffc0d Fix icc build problems
- icc asserts out because of the length of rpath, so we are temporarily removing the elements
  that aren't defined until chrpath is invoked by cmake (this means installed executables are
  missing paths to the built OSD dsos)
- comment out some of the warnings for missing packages if they were deliberately turned off
2014-05-16 18:26:00 -07:00
manuelk
b74f45f68d Decrease compiler warning thresholds and fix outstanding warnings (continued)
- turn off some of icc's remarks (mostly because of tbb)
- fix many of icc -w3 remarks (more to fix once i can work around icc 14.0 linker barfing)
2014-05-15 18:03:44 -07:00
manuelk
5ff9edf4f9 Decrease compiler warning thresholds and fix outstanding warnings.
Note: this round fixes clang / gcc -Wetra warnings. More fixing remains for icc -w3 errors.
2014-05-15 13:34:32 -07:00
Manuel Kraemer
a497528c59 Adding a NO_MAYA flag to CMakeLists to disable all Autodesk Maya dependencies in the build 2014-04-28 10:21:39 -07:00
Nathan Litke
2a463b5c83 Draw contexts do not fully initialize patch arrays #281
* added the numVertexElements argument to Osd*DrawContext::Create, which is used to initialize the patch arrays when calling OsdDrawContext::ConvertPatchArrays
* removed the unused level argument from Osd*DrawContext::_initialize
* maintenance work on CL/D3D11 bindings to get them to compile
2014-04-17 18:55:07 -07:00
mkraemer
05a7db5e14 Make CMake path variables more robust
Add quotes around variables containing paths - this might require a second pass...

fixes #258
2014-04-09 16:43:38 -04:00
manuelk
8918173fda Improve stringification of shaders & kernels in build.
- added a _stringify function to top CMakeLists
- switched all stringification tasks to use the macro
- all suffixes are now .gen.h instead of .inc (to help cmake track dependencies)
2014-01-03 16:59:26 -08:00
David G Yu
8990d5712f Fixed iOS build 2013-12-15 23:39:32 -08:00
manuelk
ee26835d47 Fix CMake error message 2013-11-27 10:35:49 -08:00
manuelk
fdfdb1cc8b Adding an error check on version parsing of main CMakeLists 2013-11-18 16:02:27 -08:00
manuelk
3ae50d1c50 Amending Apache license language & file headers.
New text:

     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.
2013-09-26 12:04:57 -07:00
manuelk
39d61eb2e3 Adding the ability of specifying the directory for the HTML documentation
as a sub-directory of the general installation directory (this is how
the graphics.pixar.com site is built).
2013-09-16 18:56:40 -07:00
David Aguilar
55c0b0d70f Install documentation into share/doc/opensubdiv/
Per the Filesystem Hierarchy Standard:

http://www.pathname.com/fhs/pub/fhs-2.3.html#SPECIFICOPTIONS15
2013-09-16 18:40:17 -07:00
manuelk
924d994fdd Fix CMake executable macro
- Added a macro for non-cuda / non-glfw executables to add proper dependencies for ICC
- Switched various examples & regressions
2013-09-16 18:16:28 -07:00
manuelk
bc2ec15476 Fixing search path suffixes for ICC libs 2013-09-04 18:59:46 -07:00
manuelk
d57df0eae0 Enable TBB for Linux builds
- Fix FindTBB.cmake
- Add TBB logic to various CMakeLists
- Update documentation
2013-08-15 16:11:33 -07:00
manuelk
b81d159b91 Enabling Intel's C++ Studio XE icc compiler in Linux
- Add a ICC_LOCATION option to CMake configuration
- Fix icc dependencies
- Add documentation
2013-08-15 15:21:00 -07:00
Sheng Fu
8298f06234 Add Intel compiler special options 2013-08-14 16:38:13 -07:00
David G Yu
52c6b65d1a Fixed whitespace merge. 2013-08-07 15:50:35 -07:00
Manuel Kraemer
9ad7a1ab2e Merge pull request #207 from davvid/header-paths
Looks like this is working - we will have to adjust some internal code when switching to this version, but this makes packaging much easier.

Thank you very much for this contribution !
2013-08-07 11:36:23 -07:00
David G Yu
7fdd82ba76 A few build fixes for Android and iOS 2013-08-07 11:16:00 -07:00
David Aguilar
4ab5da75ab cmake: move all headers to include/opensubdiv/
The base include/ directory is too general for general
installation.  Specifically, "include/version.h" will likely
clash with many other projects.

Move headers to include/opensubdiv/ to prevent filesystem
namespace clashes.
2013-08-07 10:56:39 -07:00
takahito-tejima
dd91b2de8c Fix some portability issues on OSX. (GLEW will be used if exists) 2013-07-18 19:49:00 -07:00
Takahito Tejima
51a45b598d Updating EULA 2013-07-18 14:19:50 -07:00
manuelk
500defee4c - adding new build flag options (NO_LIB, NO_CUDA...)
- move python build section into the python directory (cleaning up)

- fix some broken dependencies

- remove the public_headers targets if doxygen was not found

TODO :
- fix MSVC targets for public headers (wbn if MSVC didn't require the pro version
  in order to support solution folders)
- fix osd_regression to not build if -DNO_LIB is present (ie. fix the broken dependency)
2013-07-11 18:55:17 -07:00
manuelk
f079e57f96 Fix doc build
- turn the _add_doxy_headers macro into a no-op if -DNO_DOC is used
  so it doesn't cause problems

- moved the -DNO_DOC conditional into the top CMakeLists file, following
  pattern with other override flags
2013-07-09 10:00:40 -07:00
manuelk
9712b44239 Documentation build modifications:
- add macro "_add_doxy_headers" in order to track all header files elligible for
  doxygen documenation. This captures public header files that would otherwise be
  excluded from installation because they are not supported by the OS. Private
  header files remain excluded though.

- add custom targets and commands so that documentation build produces functioning
  RST and Doxygen documentation both in the build and install stages

- switched to Doxygen 1.8 (because markdown will make in-lined documentation easier)

- added build switches to disable examples, regression and python-SWIG targets

- fixed doxygen link in the nav bar

- modified python html processing tool to match Cmake changes
2013-07-05 15:36:54 -07:00