Skip to content

feat(tracy): bump to upstream master snapshot#26

Merged
alandtse merged 3 commits into
devfrom
claude/xenodochial-fermi-3994c9
May 20, 2026
Merged

feat(tracy): bump to upstream master snapshot#26
alandtse merged 3 commits into
devfrom
claude/xenodochial-fermi-3994c9

Conversation

@alandtse
Copy link
Copy Markdown
Owner

@alandtse alandtse commented May 19, 2026

Summary

  • Pin tracy to wolfpld/tracy@1f1738c2 (post-0.13.1) to pick up features merged after the 0.13.1 tag.
  • Pass -DTRACY_ENABLE=ON in the vcpkg port options — upstream changed this option's default from ON to OFF after 0.13.1, which silently produced a stub TracyClient.lib (~50 KB) with no TRACY_ENABLE in its INTERFACE_COMPILE_DEFINITIONS. The build linked fine, but every ZoneScoped expanded to a no-op and the profiler couldn't see the game.
  • Request the on-demand feature in the project's vcpkg manifest so the client emits data only while a profiler is connected (≈0 runtime overhead when nothing is attached).
  • Bump the port's version-string to 0.13.3-1f1738c2-enable so vcpkg invalidates its binary cache and rebuilds with the new options.

After the fix TracyClient.lib grows from ~50 KB → ~2.4 MB, and the exported Tracy::TracyClient target carries INTERFACE_COMPILE_DEFINITIONS = TRACY_ENABLE;TRACY_ON_DEMAND so every consumer that links it gets real instrumentation automatically.

Test plan

  • BuildRelease.bat ALL-WITH-AUTO-DEPLOYMENT (with TRACY_SUPPORT=ON) succeeds; CommunityShaders.dll deploys to SE + VR Data folders
  • tracy-profiler discovers and connects to the running game on 127.0.0.1:8086
  • Zones report real timings end-to-end: median frame 16.7 ms (60 Hz vsync), GPU 26 % / CPU 21 % of frame budget, hotspots visible in Deferred, Skylighting, Upscaling, SSGI, TerrainBlending, LightLimitFix, etc.
  • Verify CI build succeeds with TRACY_SUPPORT=OFF (default) — should be a no-op for non-profiling builds since the port-level options only matter when the library is linked
  • Verify VR runtime path (SkyrimVR.exe)

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated Tracy dependency to v0.13.3-14a1a322.
    • Switched package metadata to use version-string.
    • Enabled Tracy build option by default.
    • Enabled the "on-demand" feature for the Tracy dependency.
    • Minor dependency manifest and build configuration updates.

Review Change Stack

Pin tracy to wolfpld/tracy@1f1738c2 (post-0.13.1) so we pick up
features merged after the 0.13.1 tag.

Two follow-on changes were required to keep the integration
working:

* Upstream changed TRACY_ENABLE's default from ON to OFF in this
  range, so vcpkg was producing a stub TracyClient.lib (~50 KB)
  with no TRACY_ENABLE in its INTERFACE_COMPILE_DEFINITIONS. The
  build linked, but every ZoneScoped expanded to a no-op and the
  profiler could not see the game. Pass -DTRACY_ENABLE=ON in the
  port's CMake options so the real client (~2.4 MB) is built and
  the macro is exported to consumers via the Tracy::TracyClient
  imported target.

* Request the on-demand feature in the project's vcpkg manifest
  so the client only emits data while a profiler is connected,
  keeping runtime overhead at ~0 when nothing is attached.

Version-string bumped to 0.13.3-1f1738c2-enable to invalidate
vcpkg's binary cache so the new options take effect.

Verified end-to-end: rebuilt CommunityShaders.dll, launched SE,
tracy-profiler discovered and connected to the client, and zones
across Deferred, Skylighting, Upscaling, SSGI, and per-feature
hooks reported real timings (median 16.7 ms / 60 Hz, GPU 26%
and CPU 21% of frame budget).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

No actionable suggestions for changed features.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 19, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b55131b2-8646-4570-a685-6f7a49f7badd

📥 Commits

Reviewing files that changed from the base of the PR and between 7e409c2 and 9791d6f.

📒 Files selected for processing (3)
  • cmake/ports/tracy/portfile.cmake
  • cmake/ports/tracy/vcpkg.json
  • vcpkg.json
✅ Files skipped from review due to trivial changes (2)
  • cmake/ports/tracy/vcpkg.json
  • vcpkg.json

📝 Walkthrough

Walkthrough

Updates Tracy port: new Git REF and SHA512, adds -DTRACY_ENABLE=ON to CMake configure options, changes port manifest to version-string (0.13.3-14a1a322), and enables the on-demand feature for the root tracy dependency with a matching override.

Changes

Tracy Profiler Dependency Upgrade

Layer / File(s) Summary
Tracy port source and configuration
cmake/ports/tracy/portfile.cmake, cmake/ports/tracy/vcpkg.json
vcpkg_from_github REF and SHA512 updated; vcpkg_cmake_configure OPTIONS gains -DTRACY_ENABLE=ON; port manifest field changed from version to version-string (0.13.3-14a1a322).
Root manifest dependency and version override
vcpkg.json
Root dependencies entry for tracy changed to an object enabling the on-demand feature; overrides entry updated to use matching version-string (0.13.3-14a1a322).

Estimated Code Review Effort

🎯 2 (Simple) | ⏱️ ~8 minutes

"I hopped through commits with care,
Updated hashes, flags, and share,
A tiny tweak, dependencies aligned,
Profiler enabled, versions signed,
Rabbit hops—builds compile fair!"

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: bumping the tracy dependency to an upstream master snapshot with specific version updates and configuration changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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
  • Commit unit tests in branch claude/xenodochial-fermi-3994c9

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 OpenGrep (1.21.0)

OpenGrep fatal error (exit code 2): [00.13][ERROR]: Error: exception Unix_error: No such file or directory stat cmake/ports/tracy/vcpkg.json
Raised by primitive operation at UTmp.replace_named_pipe_by_regular_file_if_needed in file "libs/commons/UTmp.ml", line 145, characters 8-27
Called from Scan_CLI.replace_target_roots_by_regular_files_where_needed.(fun) in file "src/osemgrep/cli_scan/Scan_CLI.ml", lines 1086-1087, characters 19-65
Called from List_.fast_map in file "libs/commons/List_.ml", line 81, characters 17-20
Called from

🔧 Checkov (3.2.529)
vcpkg.json

2026-05-20 03:38:07,281 [MainThread ] [ERROR] Template file not found: vcpkg.json
2026-05-20 03:38:07,287 [MainThread ] [ERROR] Template file not found: vcpkg.json
2026-05-20 03:38:07,288 [MainThread ] [ERROR] Template file not found: vcpkg.json
2026-05-20 03:38:07,371 [MainThread ] [ERROR] Failed to invoke function /usr/local/lib/python3.11/dist-packages/checkov/common/runners/object_runner. with vcpkg.json
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/checkov/common/parallelizer/parallel_runner.py", line 88, in func_wrapper
result = original_func(item)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/checkov/common/runners/object_runner.py", line 74, in
results = parallel_runner.run_function(lambda f: (f, self._parse_file(f)), files_to_load)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/checkov/openapi/run

... [truncated 2530 characters] ...

70 [MainThread ] [WARNI] Secret scanning: could not process file vcpkg.json
2026-05-20 03:38:07,481 [MainThread ] [ERROR] Exception traceback:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/checkov/main.py", line 647, in run
self.scan_reports = runner_registry.run(
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/checkov/common/runners/runner_registry.py", line 177, in run
for result in parallel_runner_results:
File "/usr/local/lib/python3.11/dist-packages/checkov/common/parallelizer/parallel_runner.py", line 118, in _run_function_multiprocess_fork
raise v.internal_exception.with_traceback(v.internal_exception.traceback)
FileNotFoundError: [Errno 2] No such file or directory: 'vcpkg.json'

cmake/ports/tracy/vcpkg.json

2026-05-20 03:38:07,284 [MainThread ] [ERROR] Template file not found: cmake/ports/tracy/vcpkg.json
2026-05-20 03:38:07,291 [MainThread ] [ERROR] Template file not found: cmake/ports/tracy/vcpkg.json
2026-05-20 03:38:07,297 [MainThread ] [ERROR] Template file not found: cmake/ports/tracy/vcpkg.json
2026-05-20 03:38:07,341 [MainThread ] [ERROR] Failed to invoke function /usr/local/lib/python3.11/dist-packages/checkov/common/runners/object_runner. with cmake/ports/tracy/vcpkg.json
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/checkov/common/parallelizer/parallel_runner.py", line 88, in func_wrapper
result = original_func(item)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/checkov/common/runners/object_runner.py", line 74, in
results = parallel_runner.run_function(lambda f: (f, self._parse_file(f)), files_to_load)
^^^^^^^^^^^^^^^

... [truncated 2692 characters] ...

anning: could not process file cmake/ports/tracy/vcpkg.json
2026-05-20 03:38:07,480 [MainThread ] [ERROR] Exception traceback:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/checkov/main.py", line 647, in run
self.scan_reports = runner_registry.run(
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/checkov/common/runners/runner_registry.py", line 177, in run
for result in parallel_runner_results:
File "/usr/local/lib/python3.11/dist-packages/checkov/common/parallelizer/parallel_runner.py", line 118, in _run_function_multiprocess_fork
raise v.internal_exception.with_traceback(v.internal_exception.traceback)
FileNotFoundError: [Errno 2] No such file or directory: 'cmake/ports/tracy/vcpkg.json'


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

github-actions Bot commented May 19, 2026

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

Move the vcpkg pin from 1f1738c2 to wolfpld/tracy@14a1a322
(upstream master HEAD) to pick up 12 newer commits, notably
upstream PR community-shaders#1362 which adds the save_trace MCP tool plus
parent-callstack and JSON-callstack improvements. Keeps the
client baked into the game in protocol/source sync with locally
built tracy-profiler and the MCP server.

The build-tools.patch context is unchanged at the new commit
(tail of CMakeLists.txt, head of cmake/server.cmake and
cmake/vendor.cmake all match), so the patch still applies
cleanly with no edits.

Version-string normalized to 0.13.3-14a1a322 (dropped the
ad-hoc "-enable" suffix; the commit hash already gives vcpkg
a unique cache key).

Verified: tracy[core,crash-handler,on-demand]@0.13.3-14a1a322
installs cleanly, TracyClient.lib stays ~2.4 MB with
TRACY_ENABLE;TRACY_ON_DEMAND on the imported target's
INTERFACE_COMPILE_DEFINITIONS, CommunityShaders.dll rebuilds
and deploys.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@alandtse alandtse closed this May 20, 2026
@alandtse alandtse reopened this May 20, 2026
Empty commit to trigger CodeQL on this PR. The default-setup CodeQL
workflow only fires on synchronize events, not reopened, so a push
is required to gate the PR on the new code scan.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@alandtse alandtse merged commit 20a38a1 into dev May 20, 2026
17 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.

1 participant