Skip to content

Commit 9d7acc6

Browse files
Merge remote-tracking branch 'upstream/dev' into fix_skel_crash
2 parents 4cd76cc + b9282cb commit 9d7acc6

File tree

2,519 files changed

+92099
-81185
lines changed

Some content is hidden

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

2,519 files changed

+92099
-81185
lines changed

.github/workflows/buildusd.yml

Lines changed: 34 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -5,49 +5,35 @@ on:
55
branches:
66
- dev
77
- release
8-
issue_comment:
9-
types: [created]
8+
pull_request:
9+
branches:
10+
- dev
11+
paths:
12+
- '**'
13+
- '!.github/workflows/**'
1014

1115
jobs:
12-
GetUser:
16+
Validation:
1317
runs-on: ubuntu-22.04
14-
timeout-minutes: 5
18+
timeout-minutes: 30
1519
outputs:
16-
require-result: ${{ steps.check.outputs.require-result }}
20+
validation-failed: ${{ steps.changed-workflows.outputs.any_changed }}
1721
steps:
18-
- uses: actions-cool/check-user-permission@v2
19-
id: check
22+
- name: Checkout code
23+
uses: actions/checkout@v4
2024
with:
21-
require: 'write'
22-
username: ${{ github.event.comment.user.login }}
23-
24-
GetGitRef:
25-
runs-on: ubuntu-22.04
26-
timeout-minutes: 5
27-
outputs:
28-
ref: ${{ steps.setter.outputs.ref }}
29-
steps:
30-
- name: Get push ref
31-
if: ${{ github.event_name == 'push' }}
32-
run: |
33-
echo "REF=${{ github.ref }}" >> $GITHUB_ENV
34-
- name: Get PR ref
35-
if: ${{ github.event.issue.pull_request }}
36-
run: |
37-
echo "REF=refs/pull/${{ github.event.issue.number }}/merge" >> $GITHUB_ENV
38-
- name: Print ENV_VAR
39-
run: |
40-
echo "The value of REF is $REF"
41-
- name: Set ENV_VAR
42-
id: setter
43-
run: |
44-
echo "ref=$REF" >> "$GITHUB_OUTPUT"
25+
ref: ${{ github.ref }}
26+
- name: Check workflows directory
27+
id: changed-workflows
28+
uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c #v46
29+
with:
30+
files: |
31+
.github/workflows/**
4532
4633
Linux:
4734
needs:
48-
- GetUser
49-
- GetGitRef
50-
if: ${{ (github.event.issue.pull_request && contains(github.event.comment.body, '/AzurePipelines run') && needs.GetUser.outputs.require-result == 'true' ) || github.event_name == 'push' }}
35+
- Validation
36+
if: ${{ (github.event_name == 'pull_request' && needs.Validation.outputs.validation-failed != 'true') || github.event_name == 'push' }}
5137
runs-on: ubuntu-22.04
5238
env:
5339
PYTHON_VERSION: "3.9"
@@ -56,7 +42,7 @@ jobs:
5642
- name: Checkout code
5743
uses: actions/checkout@v4
5844
with:
59-
ref: ${{needs.GetGitRef.outputs.ref}}
45+
ref: ${{ github.ref }}
6046
- name: Restore cached artifacts
6147
id: cache-usd-build-dependency
6248
uses: actions/cache/restore@v4
@@ -94,22 +80,21 @@ jobs:
9480
- name: Test USD
9581
working-directory: ./USDgen/build/OpenUSD
9682
run: |
97-
ctest -V -C Release
83+
ctest -V -C Release --exclude-regex "testExecGeomXformable_Perf_Large"
9884
9985
macOS:
10086
needs:
101-
- GetUser
102-
- GetGitRef
103-
if: ${{ (github.event.issue.pull_request && contains(github.event.comment.body, '/AzurePipelines run') && needs.GetUser.outputs.require-result == 'true' ) || github.event_name == 'push' }}
104-
runs-on: macos-13
87+
- Validation
88+
if: ${{ (github.event_name == 'pull_request' && needs.Validation.outputs.validation-failed != 'true') || github.event_name == 'push' }}
89+
runs-on: macos-15
10590
env:
10691
PYTHON_VERSION: "3.11"
10792
timeout-minutes: 120
10893
steps:
10994
- name: Checkout code
11095
uses: actions/checkout@v4
11196
with:
112-
ref: ${{needs.GetGitRef.outputs.ref}}
97+
ref: ${{ github.ref }}
11398
- name: Restore cached artifacts
11499
id: cache-usd-build-dependency
115100
uses: actions/cache/restore@v4
@@ -125,7 +110,7 @@ jobs:
125110
- name: Install dependencies
126111
run: |
127112
export PATH=/Applications/CMake.app/Contents/bin:$PATH
128-
sudo xcode-select -s /Applications/Xcode_14.1.app/Contents/Developer
113+
sudo xcode-select -s /Applications/Xcode_16.app/Contents/Developer
129114
# Set SYSTEM_VERSION_COMPAT while installing Python packages to
130115
# accommodate the macOS version numbering change from 10.x to 11
131116
export SYSTEM_VERSION_COMPAT=1
@@ -152,13 +137,12 @@ jobs:
152137
working-directory: ./USDgen/build/OpenUSD
153138
run: |
154139
export PATH=/Applications/CMake.app/Contents/bin:$PATH
155-
ctest -V -C Release
140+
ctest -V -C Release --exclude-regex "testExecGeomXformable_Perf_Large"
156141
157142
Windows:
158143
needs:
159-
- GetUser
160-
- GetGitRef
161-
if: ${{ (github.event.issue.pull_request && contains(github.event.comment.body, '/AzurePipelines run') && needs.GetUser.outputs.require-result == 'true' ) || github.event_name == 'push' }}
144+
- Validation
145+
if: ${{ (github.event_name == 'pull_request' && needs.Validation.outputs.validation-failed != 'true') || github.event_name == 'push' }}
162146
runs-on: windows-2019
163147
env:
164148
PYTHON_VERSION: "3.9"
@@ -167,7 +151,7 @@ jobs:
167151
- name: Checkout code
168152
uses: actions/checkout@v4
169153
with:
170-
ref: ${{needs.GetGitRef.outputs.ref}}
154+
ref: ${{ github.ref }}
171155
- name: Restore cached artifacts
172156
id: cache-usd-build-dependency
173157
uses: actions/cache/restore@v4
@@ -204,9 +188,9 @@ jobs:
204188
- name: Test USD
205189
working-directory: ./USDgen/build/OpenUSD
206190
run: |
207-
call set PATH=D:\a\OpenUSD\OpenUSD\USDinst\bin;D:\a\OpenUSD\OpenUSD\USDinst\lib;D:\a\OpenUSD\OpenUSD\USDinst\share\usd\examples\plugin;D:\a\OpenUSD\OpenUSD\USDinst\plugin\usd;%PATH%
208-
call set PYTHONPATH=D:\a\OpenUSD\OpenUSD\USDinst\lib\python;%PYTHONPATH%
191+
call set PATH=${{ github.workspace }}\USDinst\bin;${{ github.workspace }}\USDinst\lib;${{ github.workspace }}\USDinst\share\usd\examples\plugin;${{ github.workspace }}\USDinst\plugin\usd;%PATH%
192+
call set PYTHONPATH=${{ github.workspace }}\USDinst\lib\python;%PYTHONPATH%
209193
# Internal ticket USD-8035
210-
ctest -V -C Release --exclude-regex "TfPathUtils"
194+
ctest -V -C Release --exclude-regex "TfPathUtils|testExecGeomXformable_Perf_Large"
211195
shell: cmd
212196

.github/workflows/pypi.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ jobs:
115115
- VERSION_SPEC: '3.12'
116116
INTERPRETER: python3.12
117117
TAG: cp312
118-
runs-on: macos-13
118+
runs-on: macos-15
119119
timeout-minutes: 120
120120
steps:
121121
- name: Checkout code
@@ -132,7 +132,7 @@ jobs:
132132
${{ matrix.PYTHON.INTERPRETER }} -m pip install delocate~=0.10.2 wheel
133133
- name: Build USD
134134
run: |
135-
sudo xcode-select -s /Applications/Xcode_14.1.app/Contents/Developer
135+
sudo xcode-select -s /Applications/Xcode_16.app/Contents/Developer
136136
${{ matrix.PYTHON.INTERPRETER }} build_scripts/build_usd.py --build-args USD,"-DPXR_PY_UNDEFINED_DYNAMIC_LOOKUP=ON -DPXR_BUILD_USD_TOOLS=OFF -DPXR_INSTALL_LOCATION=../pluginfo" --no-materialx --no-imaging --no-examples --no-tutorials --generator Xcode --build-target universal --build $GITHUB_WORKSPACE/USDgen/build --src $GITHUB_WORKSPACE/USDgen/src $GITHUB_WORKSPACE/USDinst -v
137137
- name: Packaging USD
138138
run: |
@@ -277,23 +277,23 @@ jobs:
277277
PYTHON_INTERPRETER: python3
278278
- NAME: Mac_Python38
279279
PYTHON_VERSION_SPEC: '3.8'
280-
IMAGE: macos-13
280+
IMAGE: macos-15
281281
PYTHON_INTERPRETER: python3
282282
- NAME: Mac_Python39
283283
PYTHON_VERSION_SPEC: '3.9'
284-
IMAGE: macos-13
284+
IMAGE: macos-15
285285
PYTHON_INTERPRETER: python3
286286
- NAME: Mac_Python310
287287
PYTHON_VERSION_SPEC: '3.10'
288-
IMAGE: macos-13
288+
IMAGE: macos-15
289289
PYTHON_INTERPRETER: python3
290290
- NAME: Mac_Python311
291291
PYTHON_VERSION_SPEC: '3.11'
292-
IMAGE: macos-13
292+
IMAGE: macos-15
293293
PYTHON_INTERPRETER: python3
294294
- NAME: Mac_Python312
295295
PYTHON_VERSION_SPEC: '3.12'
296-
IMAGE: macos-13
296+
IMAGE: macos-15
297297
PYTHON_INTERPRETER: python3
298298
- NAME: Windows_Python38
299299
PYTHON_VERSION_SPEC: '3.8'

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# Change Log
22

3+
## [25.05.01] - 2025-05-19
4+
5+
### USD
6+
7+
- Fix GfColor construction when converting color spaces.
8+
9+
- Fixed crash when sampling a float or half-valued TsSpline.
10+
(Issue: [#3614](https://github.com/PixarAnimationStudios/OpenUSD/issues/3614)
11+
12+
- Fixed bug where UsdStage would not update when a sublayer was added or removed.
13+
(Issue: [#3615](https://github.com/PixarAnimationStudios/OpenUSD/issues/3615)
14+
15+
### UsdImaging
16+
17+
- Fixed typo in release notes for environment variable used to enable scene
18+
indexes. The correct variable is `USDIMAGINGGL_ENGINE_ENABLE_SCENE_INDEX`.
19+
320
## [25.05] - 2025-04-28
421

522
We anticipate moving to the [VFX Reference Platform CY2023](https://vfxplatform.com/)

USD_CLA_Individual.pdf

12.2 KB
Binary file not shown.

build_scripts/build_usd.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1770,6 +1770,12 @@ def InstallUSD(context, force, buildArgs):
17701770
extraArgs.append('-DPXR_BUILD_PRMAN_PLUGIN=ON')
17711771
else:
17721772
extraArgs.append('-DPXR_BUILD_PRMAN_PLUGIN=OFF')
1773+
1774+
if MacOS():
1775+
if context.buildImageIO:
1776+
extraArgs.append('-DPXR_BUILD_IMAGEIO_PLUGIN=ON')
1777+
else:
1778+
extraArgs.append('-DPXR_BUILD_IMAGEIO_PLUGIN=OFF')
17731779

17741780
if context.buildOIIO:
17751781
extraArgs.append('-DPXR_BUILD_OPENIMAGEIO_PLUGIN=ON')
@@ -2160,6 +2166,12 @@ def InstallUSD(context, force, buildArgs):
21602166
help="Build OpenImageIO plugin for USD")
21612167
subgroup.add_argument("--no-openimageio", dest="build_oiio", action="store_false",
21622168
help="Do not build OpenImageIO plugin for USD (default)")
2169+
if MacOS():
2170+
group.add_argument("--imageio", dest="build_imageio", action="store_true",
2171+
default=True,
2172+
help="Build the ImageIO.framework plugin for USD (default).")
2173+
group.add_argument("--no-imageio", dest="build_imageio", action="store_false",
2174+
help="Do not build build the ImageIO.framework plugin for USD.")
21632175
subgroup = group.add_mutually_exclusive_group()
21642176
subgroup.add_argument("--opencolorio", dest="build_ocio", action="store_true",
21652177
default=False,
@@ -2373,6 +2385,8 @@ def __init__(self, args):
23732385
self.buildOIIO = ((args.build_oiio or (self.buildUsdImaging
23742386
and self.buildTests))
23752387
and not embedded)
2388+
if MacOS():
2389+
self.buildImageIO = args.build_imageio
23762390
self.buildOCIO = args.build_ocio and not embedded
23772391

23782392
# - Alembic Plugin
@@ -2678,8 +2692,10 @@ def _JoinVersion(v):
26782692
Imaging {buildImaging}
26792693
Ptex support: {enablePtex}
26802694
OpenVDB support: {enableOpenVDB}
2695+
ImageIO support: {buildImageIO}
26812696
OpenImageIO support: {buildOIIO}
26822697
OpenColorIO support: {buildOCIO}
2698+
Embree support: {buildEmbree}
26832699
PRMan support: {buildPrman}
26842700
Vulkan support: {enableVulkan}
26852701
UsdImaging {buildUsdImaging}
@@ -2742,8 +2758,10 @@ def FormatBuildArguments(buildArgs):
27422758
buildImaging=("On" if context.buildImaging else "Off"),
27432759
enablePtex=("On" if context.enablePtex else "Off"),
27442760
enableOpenVDB=("On" if context.enableOpenVDB else "Off"),
2761+
buildImageIO=("On" if (MacOS() and context.buildImageIO) else "Off"),
27452762
buildOIIO=("On" if context.buildOIIO else "Off"),
27462763
buildOCIO=("On" if context.buildOCIO else "Off"),
2764+
buildEmbree=("On" if context.buildEmbree else "Off"),
27472765
buildPrman=("On" if context.buildPrman else "Off"),
27482766
buildUsdImaging=("On" if context.buildUsdImaging else "Off"),
27492767
buildUsdview=("On" if context.buildUsdview else "Off"),

cmake/defaults/Options.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ option(PXR_BUILD_USD_TOOLS "Build commandline tools" ON)
1414
option(PXR_BUILD_IMAGING "Build imaging components" ON)
1515
option(PXR_BUILD_EMBREE_PLUGIN "Build embree imaging plugin" OFF)
1616
option(PXR_BUILD_OPENIMAGEIO_PLUGIN "Build OpenImageIO plugin" OFF)
17+
if(APPLE)
18+
option(PXR_BUILD_IMAGEIO_PLUGIN "Build the ImageIO.framework plugin for Apple platforms" ON)
19+
endif()
1720
option(PXR_BUILD_OPENCOLORIO_PLUGIN "Build OpenColorIO plugin" OFF)
1821
option(PXR_BUILD_USD_IMAGING "Build USD imaging components" ON)
1922
option(PXR_BUILD_USD_VALIDATION "Build USD validation library and core USD validators" ON)

cmake/macros/Public.cmake

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,12 @@ function(pxr_register_test TEST_NAME)
914914
set(testWrapperCmd ${testWrapperCmd} --expected-return-code=${bt_EXPECTED_RETURN_CODE})
915915
endif()
916916

917+
# Ensure that TF_FATAL_VERIFY is enabled for tests, so that failed verifies
918+
# turn into test failures.
919+
# Set this first, so that env vars passed to pxr_register_test can turn off
920+
# TF_FATAL_VERIFY where desired.
921+
set(testWrapperCmd ${testWrapperCmd} --env-var=TF_FATAL_VERIFY=1)
922+
917923
if (bt_ENV)
918924
foreach(env ${bt_ENV})
919925
set(testWrapperCmd ${testWrapperCmd} --env-var=${env})

docs/toolset.help

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -672,7 +672,7 @@ Options:
672672
--outputType validity|summary|outline|pseudoLayer|layer
673673
Specify output format; 'summary' reports overall statistics,
674674
'outline' is a flat text report of paths and fields,
675-
'pseudoLayer' is similar to the sdf file format but with truncated
675+
'pseudoLayer' is similar to the usda file format but with truncated
676676
array values and timeSamples for human readability, and 'layer' is
677677
true layer output, with the format controlled by the 'outputFile'
678678
and 'outputFormat' arguments. Default: outline

pxr/base/gf/nc/nanocolor.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -511,8 +511,8 @@ NcRGB NcTransformColor(const NcColorSpace* dst, const NcColorSpace* src, NcRGB r
511511
return rgb;
512512
}
513513

514-
NcM33f tx = _M33fMultiply(NcGetRGBToXYZMatrix(src),
515-
NcGetXYZToRGBMatrix(dst));
514+
NcM33f tx = _M33fMultiply(NcGetRGBToXYZMatrix(dst),
515+
NcGetXYZToRGBMatrix(src));
516516

517517
// if the source color space indicates a curve remove it.
518518
rgb.r = _ToLinear(src, rgb.r);
@@ -536,8 +536,8 @@ void NcTransformColors(const NcColorSpace* dst, const NcColorSpace* src, NcRGB*
536536
if (!dst || !src || !rgb)
537537
return;
538538

539-
NcM33f tx = _M33fMultiply(NcGetRGBToXYZMatrix(src),
540-
NcGetXYZToRGBMatrix(dst));
539+
NcM33f tx = _M33fMultiply(NcGetRGBToXYZMatrix(dst),
540+
NcGetXYZToRGBMatrix(src));
541541

542542
// if the source color space indicates a curve remove it.
543543
for (size_t i = 0; i < count; i++) {
@@ -629,8 +629,8 @@ void NcTransformColorsWithAlpha(const NcColorSpace* dst, const NcColorSpace* src
629629
if (!dst || !src || !rgba)
630630
return;
631631

632-
NcM33f tx = _M33fMultiply(NcGetRGBToXYZMatrix(src),
633-
NcGetXYZToRGBMatrix(dst));
632+
NcM33f tx = _M33fMultiply(NcGetRGBToXYZMatrix(dst),
633+
NcGetXYZToRGBMatrix(src));
634634

635635
// if the source color space indicates a curve remove it.
636636
for (size_t i = 0; i < count; i++) {

pxr/base/gf/testenv/testGfColorCpp.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -204,19 +204,19 @@ main(int argc, char *argv[])
204204
TF_AXIOM(colG22Rec709.GetColorSpace() == csG22Rec709);
205205

206206
TF_AXIOM(colLinRec709.GetColorSpace() == csLinearRec709);
207-
GfColorTest colSRGB_2(colLinRec709, csSRGB);
208-
GfVec2f xy1 = colG22Rec709.GetChromaticity();
209-
GfVec2f xy2 = colSRGB_2.GetChromaticity();
210-
TF_AXIOM(GfIsClose(xy1, xy2, 1e-5f));
207+
const GfColorTest colSRGB_2(colLinRec709, csSRGB);
208+
const GfVec2f chromaRec709 = colG22Rec709.GetChromaticity();
209+
const GfVec2f chromaRec709_2 = colSRGB_2.GetChromaticity();
210+
TF_AXIOM(GfIsClose(chromaRec709, chromaRec709_2, 1e-5f));
211+
211212
GfColorTest colAp0(colSRGB_2, csAp0);
212-
GfVec2f xy3 = colAp0.GetChromaticity();
213-
TF_AXIOM(GfIsClose(xy1, xy3, 3e-2f));
213+
const GfVec2f chroma_AP0 = colAp0.GetChromaticity();
214214
GfColorTest colSRGB_3(colAp0, csSRGB);
215-
GfVec2f xy4 = colAp0.GetChromaticity();
216-
TF_AXIOM(GfIsClose(xy1, xy4, 3e-2f));
217215
GfColorTest col_SRGBP3(colSRGB_3, csSRGBP3);
218-
GfVec2f xy5 = col_SRGBP3.GetChromaticity();
219-
TF_AXIOM(GfIsClose(xy1, xy5, 3e-2f));
216+
217+
GfColorTest colToAp0(col_SRGBP3, csAp0);
218+
const GfVec2f xy6 = colToAp0.GetChromaticity();
219+
TF_AXIOM(GfIsClose(chroma_AP0, xy6, 3e-2f));
220220

221221
// all the way back to rec709
222222
GfColorTest colLinRec709_2(col_SRGBP3, csLinearRec709);

0 commit comments

Comments
 (0)