* Merging the previous ARM Neon branch
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Testing each SIMD variants using a small code snippet and first pass on unifying the way related cmake variables
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Removing the usage of USE_SSE in favor of the new OCIO_USE_SSE2 as they serve the same purpose
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Using try_compile instead of check_cxx_source_compiles as it was given false positive. Stubbing cpuinfo for Apple ARM plateform. Handling Apple M1 correctly and adding support for SSE2NEON.
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Comments clean up and refactor some comments and documentations
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Added something in the documentation for Rosetta and small change in cmake
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Fixing the build under Rosetta and fixing issue in the MacOS CI.
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Using try_compile for CheckSupportSSEUsingSSE2NEON to standardize the code and fixed CheckSupport compiler flags.
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* use emmintrin.h for only sse2 features
Signed-off-by: Mark Reid <mindmark@gmail.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Allow F16C to be completely turned off
Signed-off-by: Mark Reid <mindmark@gmail.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Seperate SIMD test code from code that adds unit tests.
This isolates the compulation units and
avoids executing illegal hardware instructions
Signed-off-by: Mark Reid <mindmark@gmail.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* remove uneeded checks
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* use software implementations of f16c intrinsics for SSE2
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Added preprocessor checks for ARM as it is needed for universal build on APPLE platform
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Adding missing checks for "not arm64"
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Ease the future maintainability a the new OCIO_USE_xyz be moving the logic into CPUInfoConfig.h.in as well as fixing issue on ARM when building with OCIO_USE_SSE2NEON=OFF.
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Fixing some spacing, documentations and making some cmake conditions clearer.
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Adding a build in ci_workflow for macos USE_OCIO_SSE2NEON=OFF
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* typo
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Changing back all the macOS (except one) builds to x86_64 only as it takes double the time to do the universal build.
OCIO no longuer build a universal binary by default
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Update the CMakeLists.txt logic to accomodate all scenario and fixing documentations.
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
* Update documentation and remove ocio_use_sse2neon from the CI matrix
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
---------
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Mark Reid <mindmark@gmail.com>
Signed-off-by: Cédrik Fuoco <105517825+cedrik-fuoco-adsk@users.noreply.github.com>
Co-authored-by: Mark Reid <mindmark@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
* Add AVX2/AVX/SSE2 accelerated pack/unpacking function templates
Signed-off-by: Mark Reid <mindmark@gmail.com>
* Add AVX2/AVX/SSE2 accelerated Lut3D Tetrahedral implementations
Signed-off-by: Mark Reid <mindmark@gmail.com>
* Add AVX2/AVX/SSE2 accelerated linear Lut1D implementations
Signed-off-by: Mark Reid <mindmark@gmail.com>
* Fix a bunch of typos
Signed-off-by: Mark Reid <mindmark@gmail.com>
* Remove USE_SSE code that is no longer needed
Signed-off-by: Mark Reid <mindmark@gmail.com>
* Use alignas specifier
Signed-off-by: Mark Reid <mindmark@gmail.com>
* Move x86 simd checking code to seperate file
Signed-off-by: Mark Reid <mindmark@gmail.com>
* Fix cacheID test, compare lengths and everything but the cacheID hash
Signed-off-by: Mark Reid <mindmark@gmail.com>
* Remove debug gather code
Signed-off-by: Mark Reid <mindmark@gmail.com>
* fixed outBD typo
Signed-off-by: Mark Reid <mindmark@gmail.com>
---------
Signed-off-by: Mark Reid <mindmark@gmail.com>
Co-authored-by: Doug Walker <doug.walker@autodesk.com>
* Review ops finalization.
- ops are only finalized once.
- clarify LUT inversion
- move direction to MatrixOpData and RangeOpData
- change how FixedFunction surround inverse is saved
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
* Fix build after merge from main.
- adjust gpu test set-up.
- expose new api function to python.
Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>