Skip to content

chore(tracy): add GPU profiling subzones#2194

Merged
alandtse merged 3 commits into
community-shaders:devfrom
alandtse:chore/tracy-subzones
Apr 24, 2026
Merged

chore(tracy): add GPU profiling subzones#2194
alandtse merged 3 commits into
community-shaders:devfrom
alandtse:chore/tracy-subzones

Conversation

@alandtse
Copy link
Copy Markdown
Collaborator

@alandtse alandtse commented Apr 23, 2026

Summary

  • Add Tracy GPU zones to UpscaleDepth: Upscaling - Depth Upscale, Upscaling - Underwater Mask, Upscaling - Depth VR Propagate
  • Add Tracy GPU zones to DeferredPasses: Deferred Composite - Copies, Deferred Composite - Draw

Enables finer-granularity timing in Tracy captures for these passes.

Note: depends on #2193 (perf/vr-reduce-copies) for context; base branch can be updated to dev after that merges.

Test plan

  • Build ALL-TRACY preset
  • Verify sub-zones appear in Tracy capture under their parent zones

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Added performance profiling instrumentation to deferred rendering composite stage, enabling detailed tracking of rendering operations for improved performance analysis and debugging.
    • Added performance profiling instrumentation to upscaling operations, monitoring performance across depth enhancement and related processing stages for better visibility and optimization.

alandtse and others added 2 commits April 22, 2026 22:26
- Zero-copy RCAS: redirect DLSS output to sharpenerTexture so RCAS
  writes directly to kMAIN.UAV, eliminating a ~214µs CopyResource
- Terrain blending: DepthBlend CS writes mainDepth inline to u2
  (R32_FLOAT UAV), eliminating a CopyResource(terrainDepth←mainDepth)
  of ~393µs
- Depth upscale: gate kMAIN→kMAIN_COPY copy to non-3D menu contexts
  only; the engine already does this copy during gameplay (~200µs)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add Tracy GPU zones to UpscaleDepth (Depth Upscale, Underwater Mask,
Depth VR Propagate) and Deferred Composite (Copies, Draw) for finer
granularity in captures.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 23, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8958934b-c0ab-4e34-9687-09ded2710488

📥 Commits

Reviewing files that changed from the base of the PR and between 94ec842 and 6c7a049.

📒 Files selected for processing (2)
  • src/Deferred.cpp
  • src/Features/Upscaling.cpp

📝 Walkthrough

Walkthrough

This pull request adds Tracy performance profiling instrumentation to two rendering operations. In the deferred composite stage, copy and draw operations are wrapped within separate profiling zones. Additionally, the depth upscaling function is instrumented with profiling markers around three sub-operations: depth upscale, underwater mask upscale, and VR depth propagation.

Changes

Cohort / File(s) Summary
Deferred Composite Instrumentation
src/Deferred.cpp
Wraps two CopySubresourceRegion operations into a TracyD3D11Zone labeled "Deferred Composite - Copies" and a subsequent Draw call into a zone labeled "Deferred Composite - Draw".
Upscaling Instrumentation
src/Features/Upscaling.cpp
Adds three new TracyD3D11Zone markers around distinct sub-operations within UpscaleDepth(): depth upscale, underwater mask upscale, and VR depth propagation.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Suggested reviewers

  • jiayev
  • davo0411
  • doodlum

Poem

🐰 With Tracy's lens we now can see,
Where cycles dance and render be,
The zones now glow with profiled light,
Performance metrics, clear and bright!

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title 'chore(tracy): add GPU profiling subzones' is partially related to the changeset. It accurately describes the primary focus of commit #2 and features like Tracy zones in Upscaling.cpp and Deferred.cpp, but overlooks the substantial performance optimization changes (zero-copy RCAS, DepthBlend CS inline writes, conditional depth copy) that constitute a significant portion of the actual changeset. Consider a more comprehensive title that reflects both optimization and profiling aspects, such as 'perf(VR): reduce copies and add Tracy profiling' or separate the performance work into its own PR.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

No actionable suggestions for changed features.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 23, 2026

✅ A pre-release build is available for this PR:
Download

@alandtse alandtse merged commit 4fc77d9 into community-shaders:dev Apr 24, 2026
9 of 10 checks passed
ParticleTroned pushed a commit to ParticleTroned/skyrim-community-shaders that referenced this pull request May 2, 2026
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 4fc77d9)
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