Skip to content

Commit fc97603

Browse files
authored
Merge branch 'AcademySoftwareFoundation:main' into functional_nodedefs
2 parents d24b4f1 + 3e5a82f commit fc97603

File tree

41 files changed

+864
-542
lines changed

Some content is hidden

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

41 files changed

+864
-542
lines changed

.github/workflows/main.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ jobs:
193193
- name: CMake Generate
194194
shell: bash
195195
run: |
196+
EXTENDED_BUILD_CONFIG=""
196197
if [ "${{ env.IS_EXTENDED_BUILD }}" == "true" ]; then
197198
if [ "${{ runner.os }}" == "Windows" ]; then
198199
EXTENDED_BUILD_CONFIG="-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows"
@@ -204,7 +205,14 @@ jobs:
204205
EXTENDED_BUILD_CONFIG="$EXTENDED_BUILD_CONFIG -DMATERIALX_MDL_SDK_DIR=C:/vcpkg/installed/x64-windows"
205206
fi
206207
fi
207-
cmake -S . -B build -DMATERIALX_BUILD_PYTHON=ON -DMATERIALX_BUILD_VIEWER=ON -DMATERIALX_BUILD_GRAPH_EDITOR=ON -DMATERIALX_BUILD_TESTS=ON -DMATERIALX_TEST_RENDER=OFF -DMATERIALX_WARNINGS_AS_ERRORS=ON $EXTENDED_BUILD_CONFIG ${{matrix.cmake_config}}
208+
TEST_RENDER_CONFIG="-DMATERIALX_TEST_RENDER=OFF"
209+
if [ "${{ matrix.test_render }}" == "ON" ]; then
210+
if [ "${{ runner.os }}" == "macOS" ]; then
211+
TEST_RENDER_CONFIG="-DMATERIALX_TEST_RENDER=ON -DMATERIALX_RENDER_MSL_ONLY=ON"
212+
fi
213+
fi
214+
EXTENDED_BUILD_CONFIG="$EXTENDED_BUILD_CONFIG $TEST_RENDER_CONFIG"
215+
cmake -S . -B build -DMATERIALX_BUILD_PYTHON=ON -DMATERIALX_BUILD_VIEWER=ON -DMATERIALX_BUILD_GRAPH_EDITOR=ON -DMATERIALX_BUILD_TESTS=ON -DMATERIALX_WARNINGS_AS_ERRORS=ON $EXTENDED_BUILD_CONFIG ${{matrix.cmake_config}}
208216
209217
- name: CMake Build
210218
run: cmake --build build --target install --config Release --parallel 2
@@ -332,6 +340,13 @@ jobs:
332340
name: Renders_${{ matrix.name }}
333341
path: build/render/*.png
334342

343+
- name: Upload Resources (MacOS)
344+
uses: actions/upload-artifact@v4
345+
if: matrix.test_render == 'ON' && runner.os == 'macOS'
346+
with:
347+
name: Resources_${{ matrix.name }}
348+
path: build/bin/resources
349+
335350
- name: Upload Coverage Report
336351
uses: actions/upload-artifact@v4
337352
if: matrix.coverage_analysis == 'ON'

CMakeLists.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ option(MATERIALX_BUILD_GEN_MSL "Build the MSL shader generator back-end." ON)
4545
option(MATERIALX_BUILD_GEN_SLANG "Build the Slang shader generator back-end." ON)
4646
option(MATERIALX_BUILD_RENDER "Build the MaterialX Render modules." ON)
4747
option(MATERIALX_BUILD_RENDER_PLATFORMS "Build platform-specific render modules for each shader generator." ON)
48+
option(MATERIALX_RENDER_MSL_ONLY "On macOS, use Metal Shading Language only for tests and viewer (skips GLSL render tests)." OFF)
4849
option(MATERIALX_BUILD_OIIO "Build OpenImageIO support for MaterialXRender." OFF)
4950
option(MATERIALX_BUILD_OCIO "Build OpenColorIO support for shader generators." OFF)
5051
option(MATERIALX_BUILD_TESTS "Build unit tests." OFF)
@@ -112,6 +113,17 @@ if (MATERIALX_BUILD_JS)
112113
set(MATERIALX_BUILD_TESTS OFF)
113114
endif()
114115

116+
# Validate MSL-only rendering option
117+
if(MATERIALX_RENDER_MSL_ONLY)
118+
if(NOT APPLE)
119+
message(FATAL_ERROR "MATERIALX_RENDER_MSL_ONLY can only be enabled on Apple platforms")
120+
endif()
121+
if(NOT MATERIALX_BUILD_GEN_MSL)
122+
message(FATAL_ERROR "MATERIALX_RENDER_MSL_ONLY requires MATERIALX_BUILD_GEN_MSL to be enabled")
123+
endif()
124+
message(STATUS "MSL-only testing mode enabled - MaterialXTest will not link MaterialXRenderGlsl")
125+
endif()
126+
115127
# All hardware shading languages currently depend on the GLSL shader generator.
116128
if(MATERIALX_BUILD_GEN_MSL)
117129
set(MATERIALX_BUILD_GEN_GLSL ON)
@@ -178,6 +190,7 @@ mark_as_advanced(MATERIALX_BUILD_GEN_MSL)
178190
mark_as_advanced(MATERIALX_BUILD_OSOS)
179191
mark_as_advanced(MATERIALX_BUILD_RENDER)
180192
mark_as_advanced(MATERIALX_BUILD_RENDER_PLATFORMS)
193+
mark_as_advanced(MATERIALX_RENDER_MSL_ONLY)
181194
mark_as_advanced(MATERIALX_BUILD_OIIO)
182195
mark_as_advanced(MATERIALX_BUILD_OCIO)
183196
mark_as_advanced(MATERIALX_BUILD_BENCHMARK_TESTS)

javascript/MaterialXTest/package-lock.json

Lines changed: 138 additions & 142 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

javascript/MaterialXTest/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@
1616
"author": "",
1717
"license": "ISC",
1818
"devDependencies": {
19-
"@babel/core": "^7.28.0",
20-
"@babel/preset-env": "^7.28.0",
21-
"@babel/register": "^7.27.1",
19+
"@babel/core": "^7.28.5",
20+
"@babel/preset-env": "^7.28.5",
21+
"@babel/register": "^7.28.3",
2222
"chai": "^4.5.0",
2323
"copyfiles": "^2.4.1",
2424
"karma": "^6.4.4",
2525
"karma-chai": "^0.1.0",
2626
"karma-chrome-launcher": "^3.2.0",
2727
"karma-mocha": "^2.0.1",
2828
"karma-mocha-reporter": "^2.2.5",
29-
"mocha": "^11.7.4",
29+
"mocha": "^11.7.5",
3030
"rimraf": "^3.0.2"
3131
}
3232
}

0 commit comments

Comments
 (0)