Skip to content

Commit 946aede

Browse files
Merge branch 'RB-10.5'
2 parents e8bc39a + 0d816e8 commit 946aede

File tree

81 files changed

+3901
-996
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+3901
-996
lines changed

.github/workflows/main.yml

Lines changed: 37 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -30,73 +30,71 @@ jobs:
3030
# and then use `include` to define their settings.
3131

3232
name: [
33-
linux-gcc9,
34-
linux-debug-gcc9,
3533
linux-gcc11,
34+
linux-debug-gcc11,
3635
windows,
37-
windows-debug
36+
windows-debug,
37+
macos-arm64
3838
]
3939

4040
include:
4141

42-
- name: linux-gcc9
43-
os: ubuntu-20.04
42+
- name: linux-gcc11
43+
os: ubuntu-24.04
4444
buildType: RELEASE
45-
containerImage: ghcr.io/gafferhq/build/build:2.1.2
45+
containerImage: ghcr.io/gafferhq/build/build:3.0.0
4646
options: .github/workflows/main/options.posix
47-
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/8.0.1/gafferDependencies-8.0.1-linux-gcc9.tar.gz
47+
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/9.1.0/gafferDependencies-9.1.0-linux-gcc11.tar.gz
4848
tests: testCore testCorePython testScene testImage testAlembic testUSD testVDB
4949
publish: true
50+
jobs: 4
5051

51-
- name: linux-debug-gcc9
52-
os: ubuntu-20.04
52+
- name: linux-debug-gcc11
53+
os: ubuntu-24.04
5354
buildType: DEBUG
54-
containerImage: ghcr.io/gafferhq/build/build:2.1.2
55-
options: .github/workflows/main/options.posix
56-
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/8.0.1/gafferDependencies-8.0.1-linux-gcc9.tar.gz
57-
tests: testCore testCorePython testScene testImage testAlembic testUSD testVDB
58-
publish: false
59-
60-
- name: linux-gcc11
61-
os: ubuntu-20.04
62-
buildType: RELEASE
6355
containerImage: ghcr.io/gafferhq/build/build:3.0.0
6456
options: .github/workflows/main/options.posix
65-
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/8.0.1/gafferDependencies-8.0.1-linux-gcc11.tar.gz
57+
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/9.1.0/gafferDependencies-9.1.0-linux-gcc11.tar.gz
6658
tests: testCore testCorePython testScene testImage testAlembic testUSD testVDB
67-
publish: true
59+
publish: false
60+
jobs: 4
6861

6962
- name: windows
70-
os: windows-2019
63+
os: windows-2022
7164
buildType: RELEASE
7265
options: .github/workflows/main/options.windows
73-
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/8.0.1/gafferDependencies-8.0.1-windows.zip
66+
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/9.1.0/gafferDependencies-9.1.0-windows.zip
7467
tests: testCore testCorePython testScene testImage testAlembic testUSD testVDB
7568
publish: true
69+
jobs: 4
7670

7771
- name: windows-debug
78-
os: windows-2019
72+
os: windows-2022
7973
buildType: RELWITHDEBINFO
8074
options: .github/workflows/main/options.windows
81-
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/8.0.1/gafferDependencies-8.0.1-windows.zip
75+
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/9.1.0/gafferDependencies-9.1.0-windows.zip
8276
tests: testCore testCorePython testScene testImage testAlembic testUSD testVDB
8377
publish: false
78+
jobs: 4
79+
80+
- name: macos-arm64
81+
os: macos-14
82+
buildType: RELEASE
83+
options: .github/workflows/main/options.posix
84+
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/9.1.0/gafferDependencies-9.1.0-macos-arm64.tar.gz
85+
tests: testCore testCorePython testScene testImage testAlembic testUSD testVDB
86+
publish: true
87+
jobs: 3
8488

8589
runs-on: ${{ matrix.os }}
8690

8791
container: ${{ matrix.containerImage }}
8892

89-
env:
90-
# GitHub have moved to running actions on Node20, which prevents them from
91-
# running on CentOS 7. The below allows actions to continue running on Node16
92-
# until October.
93-
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
94-
9593
steps:
9694

97-
- uses: actions/checkout@v3
95+
- uses: actions/checkout@v4
9896

99-
- uses: ilammy/msvc-dev-cmd@v1.12.1
97+
- uses: ilammy/msvc-dev-cmd@v1.13.0
10098
with:
10199
sdk: 10.0.17763.0
102100

@@ -108,16 +106,8 @@ jobs:
108106
if: runner.os == 'Windows'
109107

110108
- name: Install toolchain (MacOS)
111-
# Prefer `pip install` because it is faster
112-
# than `brew install`.
113109
run: |
114-
sudo pip3 install scons==4.0.1
115-
# Brew installs all manner of headers into `/usr/local/include`, including
116-
# OpenEXR and Imath versions that conflict with our own. We can't stop Clang
117-
# finding them because Clang is hardcoded to look in `/usr/local/include`
118-
# _before_ anything we specify with `-isystem`, despite documentation to the
119-
# contrary. So we nuke the headers.
120-
rm -rf /usr/local/include/*
110+
pipx install scons==4.6.0
121111
echo PACKAGE_COMMAND=tar -czf >> $GITHUB_ENV
122112
echo PACKAGE_EXTENSION=tar.gz >> $GITHUB_ENV
123113
if: runner.os == 'macOS'
@@ -161,7 +151,7 @@ jobs:
161151
shell: bash
162152

163153
- name: Cache
164-
uses: actions/cache@v3
154+
uses: actions/cache@v4
165155
with:
166156
path: sconsCache
167157
key: ${{ runner.os }}-${{ matrix.containerImage }}-${{env.CORTEX_DEPENDENCIES_HASH}}-${{ matrix.buildType }}-${{ github.sha }}
@@ -170,7 +160,7 @@ jobs:
170160
171161
- name: Build
172162
run: |
173-
scons -j 2 BUILD_TYPE=${{ matrix.buildType }} OPTIONS=${{ matrix.options }} BUILD_CACHEDIR=sconsCache
163+
scons -j ${{ matrix.jobs }} BUILD_TYPE=${{ matrix.buildType }} OPTIONS=${{ matrix.options }} BUILD_CACHEDIR=sconsCache
174164
# Copy the config log for use in the "Debug Failures" step, because it
175165
# gets clobbered by the `scons test*` call below.
176166
cp config.log buildConfig.log
@@ -188,10 +178,13 @@ jobs:
188178
${{ env.PACKAGE_COMMAND }} ${{ env.CORTEX_BUILD_NAME }}.${{env.PACKAGE_EXTENSION}} ${{ env.CORTEX_BUILD_NAME }}
189179
if: matrix.publish
190180

191-
- uses: actions/upload-artifact@v3
181+
- uses: actions/upload-artifact@v4
192182
with:
193183
name: ${{ env.CORTEX_BUILD_NAME }}
194184
path: ${{ env.CORTEX_BUILD_NAME }}.${{ env.PACKAGE_EXTENSION }}
185+
# Using compression-level 0 avoids compressing our already compressed
186+
# package and results in a significantly faster upload.
187+
compression-level: 0
195188
if: matrix.publish
196189

197190
- name: Publish Release

.github/workflows/main/options.windows

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import os
22

33
deps = os.environ.get( "CORTEX_BUILD_NAME" )
44
includes = os.path.join( deps, "include" )
5-
libs = os.path.join( deps, "lib" )
5+
libs = os.path.join( deps, "lib" ) + os.pathsep + os.path.join( deps, "bin" )
66

77
build = os.environ.get( "CORTEX_BUILD_NAME" )
88

Changes

Lines changed: 150 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,157 @@
1-
10.5.x.x (relative to 10.5.9.2)
1+
10.5.x.x (relative to 10.5.15.0)
22
========
33

44

55

6+
10.5.15.0 (relative to 10.5.14.1)
7+
=========
8+
9+
Improvements
10+
------------
11+
12+
- USDScene : Added loading of ArnoldAlembic, ArnoldUsd and ArnoldProceduralCustom prims as Cortex ExternalProcedural objects.
13+
14+
Fixes
15+
-----
16+
17+
- USDScene : Fixed loading of instanced UsdSkel geometry with unique animation applied.
18+
19+
10.5.14.1 (relative to 10.5.14.0)
20+
=========
21+
22+
Fixes
23+
-----
24+
25+
- Boost : Fixed compatibility with Boost 1.82.
26+
27+
10.5.14.0 (relative to 10.5.13.1)
28+
=========
29+
30+
Features
31+
--------
32+
33+
- ObjectMatrix : Added new class providing an object that holds a matrix of child objects.
34+
35+
Fixes
36+
-----
37+
38+
- Alembic : Fixed crashes caused by invalid UVs.
39+
40+
10.5.13.1 (relative to 10.5.13.0)
41+
=========
42+
43+
Fixes
44+
-----
45+
46+
- USD : Fixed compatibility with USD 25.05.
47+
48+
10.5.13.0 (relative to 10.5.12.0)
49+
=========
50+
51+
Features
52+
--------
53+
54+
- PointInstancerAlgo : Added support for the env var IECOREUSD_POINTINSTANCER_RELATIVEPROTOTYPES. If this is set to "1", then when USD PointInstancers are loaded as point clouds, if they contain prototype paths beneath themselves in the hierarchy, those prototype paths will be loaded as relative paths, starting with "./". This aligns with how Gaffer will now handle prototype paths, and allows point instancers to be relocated in the hierarchy.
55+
56+
Fixes
57+
-----
58+
59+
- USDScene :
60+
- Fixed timecodes used when writing animated attributes.
61+
- Fixed timecodes used when writing animated bounds.
62+
63+
10.5.12.0 (relative to 10.5.11.0)
64+
========
65+
66+
Features
67+
--------
68+
69+
- IECoreImage::DisplayDriverServer: Adds option to display server to client driver to write to the same display driver.
70+
71+
Fixes
72+
-----
73+
74+
- IECore : Fixed bug that was causing imath vectors and colors with values of `inf` / `std::numeric_limits<float>::infinity()` to be serialised in a way that could not be evaluated with `eval()`.
75+
76+
Build
77+
-----
78+
79+
- CI :
80+
- IECoreHoudini.LiveSceneTest : Reverted recent update since #1441 made it unnecessary.
81+
82+
10.5.11.0 (relative to 10.5.10.0)
83+
=========
84+
85+
Improvements
86+
------------
87+
88+
- OpenImageIOAlgo::DataView : Added support for Int64Data, UInt64Data, Int64VectorData and UInt64VectorData.
89+
- IECoreHoudini : Updated to support Houdini 20.0 and 20.5.
90+
- IECoreMaya : Avoid compilation warnings with new gcc.
91+
92+
Fixes
93+
-----
94+
95+
- MeshAlgo::MeshSplitter/segment : Fixed so that we now preserve vertex order while splitting. This matches the old behvaviour before 1.4.6.0 when segment was optimized. This doesn't affect the correctness of the result, but is a better convention to match user expectations - when combining meshes followed by splitting, it's better if you get back the same vertex ids you started with.
96+
97+
Build
98+
-----
99+
100+
- SConstruct :
101+
- Added `PYBIND11_INCLUDE_PATH` option.
102+
- Added `VDB_PYTHON_PATH` to USD tests.
103+
- Added `INSTALL_CREATE_SYMLINKS`, which allows you to disable the creation of version symlinks at the end of the install.
104+
- Added `USG_SHIMLIB_PATH` which may be necessary to run nuke tests.
105+
106+
- CI :
107+
- IECoreHoudini tests updated to pass on newer environments.
108+
- IECoreGL tests updated with relaxed precisions for image comparisons.
109+
- Updated to GafferHQ/dependencies 9.0.0.
110+
- Updated Windows build to use MSVC 2022.
111+
112+
10.5.10.0 (relative to 10.5.9.5)
113+
=========
114+
115+
Improvements
116+
------------
117+
118+
- USDScene : PointInstancers are now loaded with `invisibleIds` and `inactiveIds` as primitive variables.
119+
- IECoreUSD::DataAlgo :
120+
- Made `valueTypeName` argument to `fromUSD( const VtValue & )` optional. This allows VtValue to be converted without having additional type information available.
121+
- Added conversions between `VtDictionary` and `CompoundData`.
122+
- IECoreUSD::ShaderAlgo :
123+
- Stopped writing `cortex_autoAdaptor` metadata, which would cause errors in DCCs without the definition registered.
124+
- Added round-tripping of all blind data stored on Shaders.
125+
- IECoreScene::ShaderNetworkAlgo : Added a mechanism for customising the adapter shaders used by `addComponentConnectionAdapters()`.
126+
127+
10.5.9.5 (relative to 10.5.9.4)
128+
========
129+
130+
Fixes
131+
-----
132+
133+
- USDScene : Fixed crash loading skinned facevarying normals (bug introduced in 10.5.9.3).
134+
135+
10.5.9.4 (relative to 10.5.9.3)
136+
========
137+
138+
Fixes
139+
-----
140+
141+
- USDScene : Fixed crash loading a Volume with an empty field.
142+
143+
10.5.9.3 (relative to 10.5.9.2)
144+
========
145+
146+
Fixes
147+
-----
148+
149+
- USDScene :
150+
- Fixed crash attempting to write to a file that is already open for reading. An exception is now thrown instead.
151+
- Fixed loading of skinned facevarying normals.
152+
- `lightLink` and `shadowLink` collections on UsdLuxLightAPI are no longer treated as sets.
153+
- Version.h : Fixed `*Version()` functions to return the runtime version of the library, not the version that client code was compiled with. Use the `CORTEX_*_VERSION` macros for compile time checks.
154+
- IECoreUSD : Asset and volume paths now use `/` in the resolved path on all operating systems. This behavior can be disabled by setting the `IECOREUSD_FORCE_ASSET_PATH_FORWARD_SLASH` environment variable to a value of `0`.
6155

7156
10.5.9.2 (relative to 10.5.9.1)
8157
========

0 commit comments

Comments
 (0)