Skip to content

Conversation

@pow2clk
Copy link

@pow2clk pow2clk commented Nov 7, 2025

This problem is a little involved as it spans three repos through submodules of submodules.

At the SHA specified in RTXPT, NRD synchs ShaderMake at a specific SHA with a shallow git depth: https://github.com/NVIDIA-RTX/NRD/blob/b233cc3ec5b1db2763e45fd18c9bb19793016355/CMakeLists.txt#L104-L105

As a result, the ShaderMake submodule is only synched with a history of 1 commit, the latest. A change was made to ShaderMake since the specified SHA tag was the latest, so it fails to find it in the history of one commit and cmake configuration fails. NRD fixed this problem by synching ShaderMake to "main" instead of that commit: NVIDIA-RTX/NRD@0479f55

If RTXPT synchs NRD Submodule to 0479f55a70d7cac341fb619ba9f0ca43deb278bb, it will benefit from that change and no longer break whenever ShaderMake gets an update.

This problem is a little involved as it spans three repos through submodules of submodules.

At the SHA specified in RTXPT, NRD synchs ShaderMake at a specific SHA with a shallow git depth: https://github.com/NVIDIA-RTX/NRD/blob/b233cc3ec5b1db2763e45fd18c9bb19793016355/CMakeLists.txt#L104-L105

As a result, the ShaderMake submodule is only synched with a history of 1 commit, the latest. A change was made to ShaderMake since the specified SHA tag was the latest, so it fails to find it in the history of one commit and cmake configuration fails. NRD fixed this problem by synching ShaderMake to "main" instead of that commit: NVIDIA-RTX/NRD@0479f55

If RTXPT synchs NRD  Submodule to 0479f55a70d7cac341fb619ba9f0ca43deb278bb, it will benefit from that change and no longer break whenever ShaderMake gets an update.
@fstrugar-nv
Copy link
Collaborator

Hey - thanks for the PR!

One thing I'm confused about is that this shouldn't happen at all because of the line https://github.com/NVIDIA-RTX/NRD/blob/b233cc3ec5b1db2763e45fd18c9bb19793016355/CMakeLists.txt#L97C1-L97C26 (few lines above your link) with
if(NOT TARGET ShaderMake)

There's another submodule within RTXPT, Donut, that actually gets the ShaderMake first and does its own CMake setup and NRD should (in all instances) skip its own handling of ShaderMake.

So it's unclear to me how this happens. However, on a possibly related note, since the last update (1.7), we've set up the Assets submodule to be shallow by default, and there were few reports that the setting could "leak" when checking out other submodules - I couldn't repro it myself though. I've now explicitly set all others to "shallow=false" which should fix that.

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