Skip to content

Commit

Permalink
MDL SDK 2024.0.4 (377400.3959)
Browse files Browse the repository at this point in the history
  • Loading branch information
jreichel-nvidia committed Oct 21, 2024
1 parent e26aef8 commit 052a30a
Show file tree
Hide file tree
Showing 151 changed files with 12,493 additions and 11,001 deletions.
74 changes: 74 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,79 @@
Change Log
==========
MDL SDK 2024.0.4 (377400.3959): 07 Oct 2024
-----------------------------------------------

ABI compatible with the MDL SDK 2024.0.4 (377400.3959) binary release
(see [https://developer.nvidia.com/mdl-sdk](https://developer.nvidia.com/mdl-sdk))

**Added and Changed Features**

- MDL 1.9 Language Specification
- Updated to document version 1.9.2.

- General
- The default value for the backend option `enable_exceptions` is now `off`,
as this is the behavior described by the MDL specification.

- MDL Compiler and Backends
- Implemented folding of `::tex` function calls with invalid textures on the DAG.
- Added “`max_const_data`” backend option to limit the size of global constants in the
generated code when the “`enable_ro_segment`” option is enabled. Larger constants are put
into read-only data segment. The default is “`1024`” bytes, which corresponds to
the old behavior.

- MDL SDK examples
- MDL Core code_gen example:
- Added support for single-init mode.
- MDL SDK df_vulkan example:
- Added support for read-only data segments and `max_const_data` backend option.
- MDL Example Execution Native:
- It now supports the `-p` abbreviation for `–mdl_path` as in all other examples.
- MDL Example df_native:
- Added support for argument blocks in Class Compilation mode.
- Added OpenGL GUI for editing material parameters and displaying stats during rendering.
- Changed default compilation mode to Class Compilation.
- Removed command line option `--cc` which is now replaced
by `--nocc` (or disable Class Compilation mode).

**Fixed Bugs**

- General
- libbsdf: Fixed issues for `df::thin_film` over `df::custom_curve_layer` and
`df::directional_factor` with normal reflectivity approaching zero.
- Fixed a build error if image plugins are disabled.
- Fixed a build error caused by picking up LLVM header files from a different location.
- Fixed documented return codes for `IExpression_factory::create_cast()` and
`create_decl_cast()` (error codes are negative as usual, not positive).
- Fixed missing build dependencies for the distiller plugins and the distiller example plugin.

- MDL Compiler and Backends
- Allow material sub structs to be used inside a declarative struct and declarative functions.
- Improved error message in case a select operator cannot be executed because of the
left-hand-side type was not imported.
- Fixed wrong HLSL/GLSL read functions used for shadow copies of function parameters.
- Fixed crash when compiling a function which receives a material parameter but doesn't
use the state (GLSL backend with rodata segment disabled).
- Avoid undefined behavior with "%" operator for negative values for GLSL
by implementing “`a % b`” as “`a - (a / b) * b`”.
- Report when a standard library module is imported with a weak relative import names from
a module in a search path root. This is needed because standard library modules are
loaded from a high-priority search path and would shadow any relative import. This will
trigger a warning for MDL versions between 1.6 and 1.9, and an error for MDL versions
greater than 1.9.
- Fixed the documentation of the backend option "`hlsl_use_resource_data`" and
"`glsl_use_resource_data`". These are recognized but not supported at the moment.
- Fixed compilation of calls to non-inlined functions which receive material parameters as
arguments for GLSL/HLSL.
- Return identity matrix instead of zero for unimplemented `tex::grid_to_object_space()`.
- Fixed crash when compiling an expression as `const` which only becomes `const` after
optimization (e.g. by getting rid of state access).
- libbsdf: Fixed wrong shadow mask in microfacet BSDFs.
- libbsdf: Avoid `NaNs` due to out-of-range roundings during random number updates.
- MDL Core: Fixed resource indices for native code if a custom texture runtime is used.
- Fixed crashes if a non-constant default constructor occurred during code generation
in various backends.

MDL SDK 2024.0.2 (377400.2626): 07 Aug 2024
-----------------------------------------------

Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ endif()

write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/mdl-config-version.cmake"
VERSION ${neuraylib_product_version}
COMPATIBILITY SameMajorVersion
COMPATIBILITY SameMinorVersion
)

# Install
Expand Down
8 changes: 4 additions & 4 deletions LICENSE_THIRD_PARTY.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ The documentation uses the following fonts, CSS, and JavaScript frameworks with
additional or alternate copyrights, licenses, and/or restrictions:

* jQuery v3.6.4: [doc/js/jquery/jquery-3.6.4.min.js](doc/js/jquery/jquery-3.6.4.min.js), see https://jquery.org/license
* jQuery v3.7.0: [doc/base_module/ext/jquery/jquery-3.7.0.min.js](doc/base_module/ext/jquery/jquery-3.7.0.min.js),
[doc/core_definitions/ext/jquery/jquery-3.7.0.min.js](doc/core_definitions/ext/jquery/jquery-3.7.0.min.js), see https://jquery.org/license
* jQuery UI v1.12.1: [doc/base_module/ext/jquery/jquery-ui-1.12.1.custom/LICENSE.txt](doc/base_module/ext/jquery/jquery-ui-1.12.1.custom/LICENSE.txt),
[doc/core_definitions/ext/jquery/jquery-ui-1.12.1.custom/LICENSE.txt](doc/core_definitions/ext/jquery/jquery-ui-1.12.1.custom/LICENSE.txt)
* jQuery v3.7.1: [doc/base_module/ext/jquery/jquery-3.7.1.min.js](doc/base_module/ext/jquery/jquery-3.7.1.min.js),
[doc/core_definitions/ext/jquery/jquery-3.7.1.min.js](doc/core_definitions/ext/jquery/jquery-3.7.1.min.js), see https://jquery.org/license
* jQuery UI v1.14.0: [doc/base_module/ext/jquery/jquery-ui-1.14.0.custom/LICENSE.txt](doc/base_module/ext/jquery/jquery-ui-1.14.0.custom/LICENSE.txt),
[doc/core_definitions/ext/jquery/jquery-ui-1.14.0.custom/LICENSE.txt](doc/core_definitions/ext/jquery/jquery-ui-1.14.0.custom/LICENSE.txt)
* Linux Libertine font: [doc/css/linux-libertine/SIL Open Font License.txt](doc/css/linux-libertine/SIL Open Font License.txt),
[doc/base_module/ext/fonts/linux-libertine/SIL Open Font License.txt](doc/base_module/ext/fonts/linux-libertine/SIL Open Font License.txt),
[doc/core_definitions/ext/fonts/linux-libertine/SIL Open Font License.txt](doc/core_definitions/ext/fonts/linux-libertine/SIL Open Font License.txt)
Expand Down
2 changes: 1 addition & 1 deletion cmake/dependencies/add_llvm.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ set(_LLVM_LIB_NAMES
${_LLVM_PLATFORM_UTILS}
)

target_include_directories(${__TARGET_ADD_DEPENDENCY_TARGET}
target_include_directories(${__TARGET_ADD_DEPENDENCY_TARGET} BEFORE
PRIVATE
${mdl-jit-llvm_SOURCE_DIR}/dist/include
${mdl-jit-llvm_BINARY_DIR}/dist/include
Expand Down
12 changes: 10 additions & 2 deletions cmake/dependencies/add_mdl_sdk.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,18 @@ target_include_directories(${__TARGET_ADD_DEPENDENCY_TARGET}
if(MDL_TREAT_RUNTIME_DEPS_AS_BUILD_DEPS)
add_dependencies(${__TARGET_ADD_DEPENDENCY_TARGET}
mdl::mdl_sdk
mdl::dds
mdl::nv_openimageio
mdl::mdl_distiller
)
if(TARGET mdl::dds)
add_dependencies(${__TARGET_ADD_DEPENDENCY_TARGET}
mdl::dds
)
endif()
if(TARGET mdl::openimageio)
add_dependencies(${__TARGET_ADD_DEPENDENCY_TARGET}
mdl::openimageio
)
endif()
endif()

# runtime dependencies
Expand Down
1 change: 1 addition & 0 deletions cmake/utilities.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ function(TARGET_BUILD_SETUP)
"_MSC_VER=${MSVC_VERSION}"
"_CRT_SECURE_NO_WARNINGS"
"_SCL_SECURE_NO_WARNINGS"
"_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING" # std::iterator is used by LLVM 12 as base classes
)

# set static or dynamic runtime
Expand Down
2 changes: 0 additions & 2 deletions doc/base_module/ext/jquery/jquery-3.7.0.min.js

This file was deleted.

2 changes: 2 additions & 0 deletions doc/base_module/ext/jquery/jquery-3.7.1.min.js

Large diffs are not rendered by default.

This file was deleted.

This file was deleted.

This file was deleted.

Loading

0 comments on commit 052a30a

Please sign in to comment.