Files
caa20dd196 Adsk contrib - Add support for neon intrinsic integration (#1828)
* 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>
2023-08-31 21:10:29 -04:00
..

Building OCIO on Windows using MS Visual Studio 2022

Manual steps for installing pre-requisites

  • Install Microsoft Visual Studio
  • Install Python
  • Install CMake
  • Install Doxygen (optional: only for python documentations)

Microsoft Visual Studio (Desktop development with C++)

Please use the official Microsoft Visual Studio installer.

See https://visualstudio.microsoft.com/downloads/

Python

Please use the official Python installer

See https://www.python.org/downloads/

Make sure to check the option to add Python to PATH environment variable while running the installer

Cmake

Please use the official CMake installer.

See https://cmake.org/download/

Example: https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1-windows-x86_64.msi

Make sure to check the option to add CMake to PATH environment variable while running the installer

Doxygen (optional: for editing the documentation)

Please use the official Doxygen installer.

See https://www.doxygen.nl/download.html

Example: https://www.doxygen.nl/files/doxygen-1.9.3-setup.exe

Running the script to install the remaining pre-requisites

Using ocio_deps.bat

ocio_deps.bat script can be used to verify and install the rest of OCIO dependencies.
The script can be used to install the following:

  • Vcpkg
  • OpenImageIO
  • FreeGLUT
  • Glew
  • Python documentation dependencies (six, testresources, recommonmark, sphinx-press-theme, sphinx-tabs, and breathe)

Run ocio script and follow the steps.

ocio_deps.bat --vcpkg <path to vcpkg root>

See ocio_deps --help:

Mandatory option:
--vcpkg        path to an existing vcpkg installation or path where you want to install vcpkg

Running the script to build and install OCIO

Using ocio.bat

Ocio.bat can be used to build and install OCIO.

# Options can be removed by modifying the value inside ocio.bat script.
# see the top of ocio.bat file

# Produce a release build using the default build and install paths.
ocio.bat --vcpkg <vcpkg directory> --type Release --ocio <path to OCIO source>
# Produce a debug build using the default build and install paths.
ocio.bat --vcpkg <vcpkg directory> --type Debug --ocio <path to OCIO source>
# Produce a release build using a custom build path (--b) and a custom install paths (--i).
ocio.bat --vcpkg <vcpkg directory> --type Release --b C:\ocio\__build --i C:\ocio\__install --ocio <path to OCIO source>

See ocio --help:

Mandatory options:
--vcpkg        path to an existing vcpkg installation

--ocio         path to OCIO source code

Optional options depending on the environment:
--python       Python installation location

--msvs         path where to find vcvars64.bat from Microsoft Visual Studio
               Default: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build

--b            build location
               Default: C:\Users\cfuoco\AppData\Local\Temp\OCIO\build

--i            installation location
               Default: C:\Users\cfuoco\AppData\Local\Temp\OCIO\install

--type         Release or Debug
               Default: Release
--configure    Run cmake configure or not
               Default: false