Skip to content

Reuse OptiX denoiser setup for unchanged configuration - #382

Merged
tarcila merged 1 commit into
NVIDIA:next_releasefrom
kvankooten:reuse-denoiser-setup
Oct 27, 2026
Merged

tarcila merged 1 commit into
NVIDIA:next_releasefrom
kvankooten:reuse-denoiser-setup

Conversation

@kvankooten

Copy link
Copy Markdown
Collaborator

Repeated frame commits, including animation-time changes, can call Denoiser::setup() without changing the OptiX setup configuration. This currently repeats memory-resource queries and optixDenoiserSetup() for unchanged tiles.

Reuse the setup while tile dimensions and guide configuration remain compatible, and invalidate it on cleanup or denoiser recreation. Image descriptors and packing buffers are refreshed on every call so changed input/output addresses remain valid.

Adds TestDenoiserReuse covering repeated frame commits, guide modes, resizing, and disabling/re-enabling denoising. The test checks mapped output and verifies that equal configurations do not produce additional OptiX layer-creation messages.

Validation on Windows with CUDA 13.2, OptiX 7.7, and MDL enabled (MDL runtime DLL directory on PATH):

  • Release build of TestDenoiserReuse and its VisRTX dependencies.
  • ctest --test-dir _build -C Release -R '^TestDenoiserReuse$' --output-on-failure.

@jeffamstutz
jeffamstutz requested a review from tarcila October 27, 2026 13:55
@tarcila

tarcila commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator

LGTM, the only nit I have is relying on layers created output from OptiX for the test. Let's save that for later if this actually becomes an issue.

@tarcila
tarcila merged commit 302144a into NVIDIA:next_release Oct 27, 2026
8 checks passed
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