Skip to content

fix(tsd, rtx): Drop distinlling, improve PTX stitching, CMake#350

Merged
jeffamstutz merged 4 commits into
NVIDIA:next_releasefrom
tarcila:misc-fixes
Jul 18, 2026
Merged

fix(tsd, rtx): Drop distinlling, improve PTX stitching, CMake#350
jeffamstutz merged 4 commits into
NVIDIA:next_releasefrom
tarcila:misc-fixes

Conversation

@tarcila

@tarcila tarcila commented Jul 18, 2026

Copy link
Copy Markdown
Collaborator
  • Dropping distilling in favor of MDL auxilliary expressions
  • Fix possibly invalid version sorting when stitching PTXs
  • Only trigger debug renumber if actual debug information when stitching
  • Fix a TSD hard error with find_package(pxr) when MaterialX is not found

tarcila added 4 commits July 18, 2026 15:09
Replace the distill-to-diffuse tint path for the albedo AOV / denoiser
guide with MDL's BSDF auxiliary function (enable_auxiliary), reading a
faithful diffuse+glossy albedo straight from the compiled material.
Evaluated at normal incidence (k1=shading normal) for a stable,
view-independent guide. Removes the mdl_distiller plugin dependency.
stitchPTXs picked the max PTX .version/.target by lexicographic string
compare, which silently downgrades once a field goes multi-digit
(".version 10.0" < "8.5", "sm_100" < "sm_52"). Parse the numeric
major/minor and sm arch and compare as integers instead.
The $L__info_string / .file / .loc renumbering in stitchPTXs is only
needed under -lineinfo/-G (Debug, RelWithDebInfo). Detect a .file
directive once up front and skip the slow, text-fragile renumbering
passes entirely for Release blobs that carry no line info.
Can actually break find_package(pxr) if it ever sets MaterialX_DIR to NOTFOUND.

Only the rtx device is actually depending on MaterialX, in the case of TSD,
MaterialX is only about an abstract subtype.
@tarcila
tarcila requested a review from jeffamstutz July 18, 2026 20:01

@jeffamstutz jeffamstutz left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we work with USD that doesn't have MaterialX? I suppose the actual USD itself doesn't need MaterialX at runtime to load stages, correct?

@tarcila

tarcila commented Jul 18, 2026

Copy link
Copy Markdown
Collaborator Author

Can we work with USD that doesn't have MaterialX?

Yes, we can work with any USD build no matter MaterialX is enabled. USD detects MaterialX by itself, if it has been built with it (through find_dependency). Current (unnecessary) MaterialX detection in TSD can break this find_dependency process.

I suppose the actual USD itself doesn't need MaterialX at runtime to load stages, correct?

It might need it to correctly parse .mtlx references. But our very own importer does not parse the resulting USDShade graph, so this is a non issue for now.

@jeffamstutz
jeffamstutz merged commit 7ea2927 into NVIDIA:next_release Jul 18, 2026
20 checks passed
@tarcila
tarcila deleted the misc-fixes branch July 18, 2026 20:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants