feat(upscaling): integrate Streamline Reflex controls#1958
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdds NVIDIA Reflex integration: new public Reflex settings in Upscaling, DX12 frame-generation path checks, runtime Reflex/PCL binding and per-frame pacing via Streamline, UI gating/validation for Reflex and frame-generation paths, and an NVIDIA Reflex license file. Changes
Sequence DiagramsequenceDiagram
participant UI as Upscaling UI
participant Device as D3D Device
participant Streamline as Streamline
participant Hooks as Input Hook
participant Reflex as Reflex Runtime
UI->>Streamline: Save Reflex settings (mode, boost, markers, FPS limit)
Device->>Streamline: Bind device / post-bind event
Streamline->>Streamline: CheckBackendFeatures(pAdapter) / bind slReflex*/slPCL*
Streamline->>Reflex: Query availability
loop Per frame
Hooks->>Streamline: UpdateReflex()
Streamline->>Streamline: EnsureFrameToken()
Streamline->>Streamline: Compute Reflex options from settings
alt Options changed && eligible
Streamline->>Reflex: slReflexSetOptions(...)
end
Streamline->>Reflex: slReflexSleep(frameToken)
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
No actionable suggestions for changed features. |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (3)
CMakeLists.txt.REFLEX (1)
1-10: Clarify the intended usage of this file.The PR description and
Reflex.mdindicate this file (CMakeLists.txt.REFLEX) contains "parked" Reflex staging logic that's not active by default. Consider adding a header comment explaining:
- This is a reference/template CMake configuration
- How it relates to the main
CMakeLists.txt- Instructions for maintainers who want to enable automated Streamline builds
📝 Suggested header comment
+# ######################################################################################################################## +# ## CMakeLists.txt.REFLEX - Reference configuration for Streamline/Reflex runtime staging +# ## +# ## This file contains CMake logic to automatically build Streamline runtime modules from +# ## extern/Streamline-DX12. It is NOT used by default - see Reflex.md for integration instructions. +# ## +# ## To enable: Merge relevant sections into the main CMakeLists.txt or rename this file. +# ######################################################################################################################## + cmake_minimum_required(VERSION 3.21)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@CMakeLists.txt.REFLEX` around lines 1 - 10, Add a top-of-file header comment in CMakeLists.txt.REFLEX explaining that this is a parked/reference/template CMake configuration (not active by default), how it relates to the primary CMakeLists.txt (e.g., used for Reflex staging/Streamline CI and should be copied/merged into the main CMakeLists when enabling), and concise maintainer instructions for enabling automated Streamline builds (what to change or which CI jobs/flags to toggle and any expected side effects); place the comment above the cmake_minimum_required block and reference the project() entry (CommunityShaders VERSION 1.4.11) so maintainers immediately see the connection.src/Features/Upscaling.cpp (1)
398-398: Minor inconsistency in FPS limit validation range.The UI clamps
reflexFPSLimitto [20.0, 240.0], butStreamline::UpdateReflex()(line 616 in Streamline.cpp) uses [1.0, 1000.0] for the microsecond conversion. While the UI range is more user-friendly, consider documenting or unifying these ranges to avoid confusion.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/Features/Upscaling.cpp` at line 398, The UI clamps settings.reflexFPSLimit to [20.0,240.0] but Streamline::UpdateReflex() expects a wider range ([1.0,1000.0]) for microsecond conversion; to fix, make the validation consistent by either expanding the clamp in Upscaling.cpp (change settings.reflexFPSLimit clamp to match Streamline::UpdateReflex's allowed range) or explicitly document the UI limit near settings.reflexFPSLimit and add a defensive clamp/validation inside Streamline::UpdateReflex(); reference settings.reflexFPSLimit and Streamline::UpdateReflex() when making the change so both places enforce the same range or clearly state the intended limits.src/Features/Upscaling/Streamline.cpp (1)
616-617: Consider aligning FPS limit clamping with UI constraints.The conversion uses
std::clamp(settings.reflexFPSLimit, 1.0f, 1000.0f), but the UI clamps to [20.0, 240.0]. While this is safely defensive (UI-validated values will always pass), you might consider using matching ranges or extracting constants to avoid future divergence.💡 Optional: Extract shared constants
// In Streamline.h or a shared location static constexpr float kReflexFPSLimitMin = 20.0f; static constexpr float kReflexFPSLimitMax = 240.0f;🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/Features/Upscaling/Streamline.cpp` around lines 616 - 617, The clamp range for settings.reflexFPSLimit should match the UI constraints to avoid drift: replace the hardcoded 1.0f/1000.0f in the fpsLimit calculation (where fpsLimit, options.frameLimitUs, settings.reflexFPSLimit and settings.reflexUseFPSLimit are used) with the UI range (20.0f to 240.0f) or, better, extract shared constants (e.g., kReflexFPSLimitMin and kReflexFPSLimitMax declared in Streamline.h or a shared header) and use those constants in Streamline.cpp when computing fpsLimit and frameLimitUs so both UI and backend use the same bounds.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@Reflex.md`:
- Line 13: Fix the typo in the Markdown heading by changing "Comnpiled runtime
DLLs to keep version-aligned (DEV has 2.10.0, I updated submodules and have
2.10.3)" to "Compiled runtime DLLs to keep version-aligned (DEV has 2.10.0, I
updated submodules and have 2.10.3)"; update the heading text in Reflex.md so
the word "Comnpiled" is corrected to "Compiled" while leaving the rest of the
line unchanged.
- Around line 32-38: Update Reflex.md to clarify the two different locations:
state that the listed "copy" target is for manual pre-build placement inside the
source tree (for local/dev runs), and separately document the CMake install
destination used by CMakeLists.txt.REFLEX (the install() target controlled by
CMAKE_INSTALL_PREFIX, which defaults to ${CMAKE_BINARY_DIR}/aio) as the
runtime/deployment location; mention both locations and which workflow (manual
vs. CMake install) each applies to and reference the install() usage in
CMakeLists.txt.REFLEX so readers know where the files end up after running
install.
---
Nitpick comments:
In `@CMakeLists.txt.REFLEX`:
- Around line 1-10: Add a top-of-file header comment in CMakeLists.txt.REFLEX
explaining that this is a parked/reference/template CMake configuration (not
active by default), how it relates to the primary CMakeLists.txt (e.g., used for
Reflex staging/Streamline CI and should be copied/merged into the main
CMakeLists when enabling), and concise maintainer instructions for enabling
automated Streamline builds (what to change or which CI jobs/flags to toggle and
any expected side effects); place the comment above the cmake_minimum_required
block and reference the project() entry (CommunityShaders VERSION 1.4.11) so
maintainers immediately see the connection.
In `@src/Features/Upscaling.cpp`:
- Line 398: The UI clamps settings.reflexFPSLimit to [20.0,240.0] but
Streamline::UpdateReflex() expects a wider range ([1.0,1000.0]) for microsecond
conversion; to fix, make the validation consistent by either expanding the clamp
in Upscaling.cpp (change settings.reflexFPSLimit clamp to match
Streamline::UpdateReflex's allowed range) or explicitly document the UI limit
near settings.reflexFPSLimit and add a defensive clamp/validation inside
Streamline::UpdateReflex(); reference settings.reflexFPSLimit and
Streamline::UpdateReflex() when making the change so both places enforce the
same range or clearly state the intended limits.
In `@src/Features/Upscaling/Streamline.cpp`:
- Around line 616-617: The clamp range for settings.reflexFPSLimit should match
the UI constraints to avoid drift: replace the hardcoded 1.0f/1000.0f in the
fpsLimit calculation (where fpsLimit, options.frameLimitUs,
settings.reflexFPSLimit and settings.reflexUseFPSLimit are used) with the UI
range (20.0f to 240.0f) or, better, extract shared constants (e.g.,
kReflexFPSLimitMin and kReflexFPSLimitMax declared in Streamline.h or a shared
header) and use those constants in Streamline.cpp when computing fpsLimit and
frameLimitUs so both UI and backend use the same bounds.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 8a6865e3-d573-4e50-9e2b-3f90906f7461
⛔ Files ignored due to path filters (5)
features/Upscaling/Shaders/Upscaling/Streamline/sl.common.dllis excluded by!**/*.dllfeatures/Upscaling/Shaders/Upscaling/Streamline/sl.dlss.dllis excluded by!**/*.dllfeatures/Upscaling/Shaders/Upscaling/Streamline/sl.interposer.dllis excluded by!**/*.dllfeatures/Upscaling/Shaders/Upscaling/Streamline/sl.pcl.dllis excluded by!**/*.dllfeatures/Upscaling/Shaders/Upscaling/Streamline/sl.reflex.dllis excluded by!**/*.dll
📒 Files selected for processing (7)
CMakeLists.txt.REFLEXReflex.mdsrc/Features/Upscaling.cppsrc/Features/Upscaling.hsrc/Features/Upscaling/Streamline.cppsrc/Features/Upscaling/Streamline.hsrc/Hooks.cpp
|
✅ A pre-release build is available for this PR: |
alandtse
left a comment
There was a problem hiding this comment.
If the dlls are a build artifact, they probably shouldn't be included in the repo anymore but built for distribution. Also, please make sure you use our existing dependency structure which is vcpkg or submodules. You must integrate using that and not a new cmake system. Otherwise the ci wont' be able to handle it cleanly. I can't tell what version of the streamline dlls you're building. We should be very thoughtful about building developer or unsigned version of official dlls.
I only included the reflex cmakelist.txt (and the reflex.md) FYI only - probably should have attached it here, sorry: So no change of any cmake vcpkg intented - I just wanted to show how I complied the dlls that this is transparent and can be reproduced. I build the two new sl.pcl.dll and sl.reflex.dll from updated extern for this cause I wanted latest versions for reflex. Since they where 2.10.3 and the sl.common.dll, sl.dlss.dll and sl.interposer.dll you had in dev where 2.10.0 I updated them as well to 2.10.3. Both new dlls are still covered by the license and use conditions you have in CS to my understanding. I noticed that reflex is not recognised when dll are not signed - so I needed to build in dev mode. Where did you get the singed dlls from - when you build them they are not singend as well, no?? And what are the issues with dev mod? Miss-classfication as a virus I suppose or also legal issues? Thus, I need advise where to take the dlls from. Then they can be just provided via upscaling feature and I can conlude the PR. |
444a696 to
08b06ca
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (4)
features/Upscaling/Shaders/Upscaling/Streamline/reflex.license.txt (2)
1-189: PR metadata suggestion: conventional title + issue linkageSuggested title:
feat(upscaling): integrate streamline reflex controls
Suggested issue linkage in PR body (if applicable):Implements #<issue>orAddresses #<issue>.As per coding guidelines, when reviewing PRs, provide suggestions for Conventional Commit Titles and Issue References.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@features/Upscaling/Shaders/Upscaling/Streamline/reflex.license.txt` around lines 1 - 189, The PR is missing a Conventional Commit style title and explicit issue linkage; update the PR title to the suggested conventional commit format (e.g. "feat(upscaling): integrate streamline reflex controls") and add an issue reference in the PR body like "Implements #<issue>" or "Addresses #<issue>" so reviewers and CI can track the work; ensure the PR description also mentions the change scope (upscaling/Streamline Reflex) and any required release notes or UI guidance referenced in the reflex.license.txt supplement.
140-153: Trim excessive blank linesLarge blank blocks reduce readability and create noisy diffs in future edits. Please collapse these to a single separator line between sections.
Also applies to: 178-189
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@features/Upscaling/Shaders/Upscaling/Streamline/reflex.license.txt` around lines 140 - 153, Collapse consecutive blank lines in reflex.license.txt so that each logical section is separated by a single blank line; remove the large empty blocks shown around the reviewed area and replace them with one separator line, and apply the same trimming to the other reported span (around lines 178-189) to improve readability and reduce noisy diffs.src/Features/Upscaling/Streamline.cpp (1)
667-668: Minor: FPS limit clamp range differs from UI bounds.The clamp here uses
[1.0f, 1000.0f]while the UI andLoadSettings()use[20.0f, 240.0f]. This is safe (UI bounds are stricter), but for consistency you could align them:- const float fpsLimit = std::clamp(settings.reflexFPSLimit, 1.0f, 1000.0f); + const float fpsLimit = std::clamp(settings.reflexFPSLimit, 20.0f, 240.0f);🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/Features/Upscaling/Streamline.cpp` around lines 667 - 668, The clamp for reflex FPS uses [1.0f, 1000.0f] which is inconsistent with the UI and LoadSettings() bounds; change the clamp on settings.reflexFPSLimit (used to compute fpsLimit) to std::clamp(settings.reflexFPSLimit, 20.0f, 240.0f) so options.frameLimitUs (and the fpsLimit variable) align with the UI/LoadSettings constraints (leave the reflexUseFPSLimit/ options.frameLimitUs computation as-is).src/Features/Upscaling.cpp (1)
554-554: Consider adding a warning log for out-of-rangereflexFPSLimit.For consistency with other setting validations in this function (lines 539-552), consider logging when
reflexFPSLimitis clamped:+ if (settings.reflexFPSLimit < 20.0f || settings.reflexFPSLimit > 240.0f) { + logger::warn("[Upscaling] Loaded reflexFPSLimit {} out of range, clamping to [{}, {}]", settings.reflexFPSLimit, 20.0f, 240.0f); + } settings.reflexFPSLimit = std::clamp(settings.reflexFPSLimit, 20.0f, 240.0f);🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/Features/Upscaling.cpp` at line 554, When clamping settings.reflexFPSLimit, detect when the original value differs from the clamped value and emit the same validation warning used elsewhere in this function (same logging mechanism as the checks around the other settings) to indicate the input was out of range; i.e., store the original value, apply std::clamp to settings.reflexFPSLimit, and if changed, call the existing warning logger with a concise message that includes the original and clamped values and mentions reflexFPSLimit.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@features/Upscaling/Shaders/Upscaling/Streamline/reflex.license.txt`:
- Line 3: The license file contains mojibake replacement characters ("�") in
multiple places (e.g., in the first line and the other line groups called out)
which corrupts legal wording; replace the entire contents of
features/Upscaling/Shaders/Upscaling/Streamline/reflex.license.txt with the
exact upstream NVIDIA license text copied from the authoritative source encoded
as UTF-8 (do not manually patch individual characters), ensuring all straight
and curly quotes/apostrophes and special characters are preserved correctly and
that occurrences at the reported locations (lines 3, 9-11, 35, 39, 49-50, 85,
89, 91-93, 97, 101, 111, 129-131, 157, 165, 168-170) are fixed.
---
Nitpick comments:
In `@features/Upscaling/Shaders/Upscaling/Streamline/reflex.license.txt`:
- Around line 1-189: The PR is missing a Conventional Commit style title and
explicit issue linkage; update the PR title to the suggested conventional commit
format (e.g. "feat(upscaling): integrate streamline reflex controls") and add an
issue reference in the PR body like "Implements #<issue>" or "Addresses
#<issue>" so reviewers and CI can track the work; ensure the PR description also
mentions the change scope (upscaling/Streamline Reflex) and any required release
notes or UI guidance referenced in the reflex.license.txt supplement.
- Around line 140-153: Collapse consecutive blank lines in reflex.license.txt so
that each logical section is separated by a single blank line; remove the large
empty blocks shown around the reviewed area and replace them with one separator
line, and apply the same trimming to the other reported span (around lines
178-189) to improve readability and reduce noisy diffs.
In `@src/Features/Upscaling.cpp`:
- Line 554: When clamping settings.reflexFPSLimit, detect when the original
value differs from the clamped value and emit the same validation warning used
elsewhere in this function (same logging mechanism as the checks around the
other settings) to indicate the input was out of range; i.e., store the original
value, apply std::clamp to settings.reflexFPSLimit, and if changed, call the
existing warning logger with a concise message that includes the original and
clamped values and mentions reflexFPSLimit.
In `@src/Features/Upscaling/Streamline.cpp`:
- Around line 667-668: The clamp for reflex FPS uses [1.0f, 1000.0f] which is
inconsistent with the UI and LoadSettings() bounds; change the clamp on
settings.reflexFPSLimit (used to compute fpsLimit) to
std::clamp(settings.reflexFPSLimit, 20.0f, 240.0f) so options.frameLimitUs (and
the fpsLimit variable) align with the UI/LoadSettings constraints (leave the
reflexUseFPSLimit/ options.frameLimitUs computation as-is).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 280415d2-e3d2-47c3-bf73-840a425e7367
⛔ Files ignored due to path filters (6)
features/Upscaling/Shaders/Upscaling/Streamline/nvngx_dlss.dllis excluded by!**/*.dllfeatures/Upscaling/Shaders/Upscaling/Streamline/sl.common.dllis excluded by!**/*.dllfeatures/Upscaling/Shaders/Upscaling/Streamline/sl.dlss.dllis excluded by!**/*.dllfeatures/Upscaling/Shaders/Upscaling/Streamline/sl.interposer.dllis excluded by!**/*.dllfeatures/Upscaling/Shaders/Upscaling/Streamline/sl.pcl.dllis excluded by!**/*.dllfeatures/Upscaling/Shaders/Upscaling/Streamline/sl.reflex.dllis excluded by!**/*.dll
📒 Files selected for processing (5)
features/Upscaling/Shaders/Upscaling/Streamline/reflex.license.txtsrc/Features/Upscaling.cppsrc/Features/Upscaling.hsrc/Features/Upscaling/Streamline.cppsrc/Features/Upscaling/Streamline.h
🚧 Files skipped from review as they are similar to previous changes (1)
- src/Features/Upscaling.h
|
Commit: 08b06ca removes for users missleading messager: Frame Generation is not available on your system. This requires either NVIDIA DLSS-G or AMD FSR 3.1 Frame Generation support and D3D12 interop. This message implies that something is missing (confusing users), eventhough framegen is explicitly disabled for VR by This change cleans up an already busy UI for VR users removing irrelevant info. |
|
in this build I cannot reproduce the Issue: Dlss overloading the gpu on boot in VR #1964. --> should be confirmed by another tester. EDIT: the reason for issue #1964 is that #1837 maps default for TRX 40/ 50 cards to M the most heavy profle that is meant for preformance and ultra peformance settings but not for balanced/quality/DLAA modes that 90% of the user base uses. This is +2ms for these modes and bad quality. |
Addressed by: 8fa5cd5 How: I took the latest offcially signed dlls from NVIDIA repo https://github.com/NVIDIA-RTX/Streamline/releases/tag/v2.10.3 (bin/x64) and replaced (in features/Upscaling/Shaders/Upscaling/Streamline): nvngx_dlss.dll I added: --> nvngx_dlss.dll is now 310.5.2 (was 310.5.0 before) -->cmake, vcpkg or submodules are untouched, root repo fodler now clean (deleted reflex.md and reflex cmake txt) |
0d3e35e to
b070d64
Compare
|
nitpick issue 3: FPS limit clamp range differs from UI bounds.* nitpick issue 4: Consider adding a warning log for out-of-range reflexFPSLimit Both are addressed in b070d64 |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
features/Upscaling/Shaders/Upscaling/Streamline/reflex.license.txt (1)
1-1: Consider tightening PR metadata to match repo guidance.Optional polish: shorten the PR title to <=50 chars (e.g.,
feat(upscaling): add streamline reflex integration) and add an issue keyword reference if there is a tracked ticket (e.g.,Addresses #<id>).As per coding guidelines, “provide suggestions for Conventional Commit Titles … [and] Issue References.”
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@features/Upscaling/Shaders/Upscaling/Streamline/reflex.license.txt` at line 1, PR metadata (title and description) should follow repo guidance: shorten the PR title to <=50 characters using a Conventional Commit style like "feat(upscaling): add streamline reflex integration" and include an issue reference line in the PR body such as "Addresses #<id>" or "Fixes #<id>" if a ticket exists; also add a brief one-line summary and optional longer description in the PR body following the Conventional Commit title to explain scope and any migration or usage notes.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@src/Features/Upscaling/Streamline.cpp`:
- Around line 321-345: EnsureFrameToken can null out frameToken on failure and
CheckFrameConstants currently returns void, causing callers to continue and
dereference *frameToken; change CheckFrameConstants to return bool, have it call
EnsureFrameToken and return false immediately if it fails, and only perform
DLSS/frame-token dependent work when true; update the declaration in
Streamline.h (CheckFrameConstants signature) and update all call sites that used
the old void function to check the returned bool and skip DLSS evaluation when
false so no null dereference occurs.
---
Nitpick comments:
In `@features/Upscaling/Shaders/Upscaling/Streamline/reflex.license.txt`:
- Line 1: PR metadata (title and description) should follow repo guidance:
shorten the PR title to <=50 characters using a Conventional Commit style like
"feat(upscaling): add streamline reflex integration" and include an issue
reference line in the PR body such as "Addresses #<id>" or "Fixes #<id>" if a
ticket exists; also add a brief one-line summary and optional longer description
in the PR body following the Conventional Commit title to explain scope and any
migration or usage notes.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 915cf943-c84d-4d90-be70-61f38bda2f3c
📒 Files selected for processing (4)
features/Upscaling/Shaders/Upscaling/Streamline/reflex.license.txtsrc/Features/Upscaling.cppsrc/Features/Upscaling/Streamline.cppsrc/Features/Upscaling/Streamline.h
a0bd467 to
ca837a0
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
src/Features/Upscaling/Streamline.cpp (1)
116-120: Deduplicate identical feature arrays to avoid drift.
featuresToLoadandfeaturesToLoadVRcurrently contain the same entries. Keeping one array removes maintenance divergence risk with no behavior change.Suggested refactor
- sl::Feature featuresToLoad[] = { sl::kFeatureDLSS, sl::kFeatureReflex, sl::kFeaturePCL }; - sl::Feature featuresToLoadVR[] = { sl::kFeatureDLSS, sl::kFeatureReflex, sl::kFeaturePCL }; - - pref.featuresToLoad = REL::Module::IsVR() ? featuresToLoadVR : featuresToLoad; - pref.numFeaturesToLoad = REL::Module::IsVR() ? _countof(featuresToLoadVR) : _countof(featuresToLoad); + sl::Feature featuresToLoad[] = { sl::kFeatureDLSS, sl::kFeatureReflex, sl::kFeaturePCL }; + pref.featuresToLoad = featuresToLoad; + pref.numFeaturesToLoad = _countof(featuresToLoad);🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/Features/Upscaling/Streamline.cpp` around lines 116 - 120, Both arrays featuresToLoad and featuresToLoadVR are identical; remove duplication by keeping a single array (e.g., featuresToLoad) and use that for both VR and non‑VR cases in the assignments to pref.featuresToLoad and pref.numFeaturesToLoad; update uses of REL::Module::IsVR() to select the same array (or remove the ternary entirely) and call _countof(featuresToLoad) for the element count so there is one source of truth to avoid drift.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@src/Features/Upscaling/Streamline.cpp`:
- Around line 673-675: The marker optimization flag is effectively a no-op
because slPCLSetMarker is never called; update the code to invoke the
slPCLSetMarker(...) function pointer at appropriate runtime points (for example
before and after the upscaling/optimization critical sections inside the
Streamline processing flow) whenever options.useMarkersToOptimize is true and
settings.reflexUseMarkersToOptimize is enabled so markers are actually emitted;
also simplify the enabling logic by removing the redundant `featurePCL &&
slPCLSetMarker` check and rely on the existing featurePCL (which is only true
when slPCLSetMarker was bound) together with settings.reflexUseMarkersToOptimize
to set options.useMarkersToOptimize. Ensure calls check the function pointer is
non-null and pass meaningful marker IDs/messages corresponding to the processing
stage.
- Around line 671-673: The code uses std::clamp on settings.reflexFPSLimit
without guarding against NaN, which can lead to undefined behavior when
computing options.frameLimitUs; update the logic around fpsLimit (the variable
initialized on the clamp line) to first check
std::isfinite(settings.reflexFPSLimit) and if not finite use a safe default
(e.g., 60.0f), then clamp that finite value into the 20–240 range before
computing options.frameLimitUs; modify the branch that sets options.frameLimitUs
(the line that does std::round(1000000.0f / fpsLimit) and the ternary on
settings.reflexUseFPSLimit) so it uses the validated/clamped fpsLimit value to
avoid casting non-finite results to uint32_t.
---
Nitpick comments:
In `@src/Features/Upscaling/Streamline.cpp`:
- Around line 116-120: Both arrays featuresToLoad and featuresToLoadVR are
identical; remove duplication by keeping a single array (e.g., featuresToLoad)
and use that for both VR and non‑VR cases in the assignments to
pref.featuresToLoad and pref.numFeaturesToLoad; update uses of
REL::Module::IsVR() to select the same array (or remove the ternary entirely)
and call _countof(featuresToLoad) for the element count so there is one source
of truth to avoid drift.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: ffa61ae0-5e09-4490-b458-65b07ef8af5b
📒 Files selected for processing (3)
features/Upscaling/Shaders/Upscaling/Streamline/reflex.license.txtsrc/Features/Upscaling/Streamline.cppsrc/Features/Upscaling/Streamline.h
🚧 Files skipped from review as they are similar to previous changes (1)
- features/Upscaling/Shaders/Upscaling/Streamline/reflex.license.txt
alandtse
left a comment
There was a problem hiding this comment.
Seems to compile fine in VR/AE but not sure how to test it. Needs to be brought to dev because of the commonlib bump and coderabbit needs to be resolved.
--> for flat somebody else should test this, but in VR it is super clear that it works! Another good test is, if you turn around quickly, you usually see your CPU time spiking - much reduced or absent with REFLEX on. BTW - I noticed that you kept the wide verrsus legacy toggle in upscaler UI. I do not mind - your decision, but this is confusing: the wide kernel is only used in dlss settings <quality and you ether want to hardcode one or the other option imo. I only included the toggle as debug for doodlum since he insited so much, but my recomendation was to remove this. |
0c32da8 to
ffba845
Compare
Automated formatting by clang-format, prettier, and other hooks. See https://pre-commit.ci for details.
There was a problem hiding this comment.
🧹 Nitpick comments (1)
src/Features/Upscaling/Streamline.cpp (1)
116-117: Minor redundancy: VR and non-VR feature arrays are identical.Both
featuresToLoadandfeaturesToLoadVRcontain the same features. This is fine if you anticipate future VR-specific feature exclusions; otherwise, a single array would suffice.Optional simplification
- sl::Feature featuresToLoad[] = { sl::kFeatureDLSS, sl::kFeatureReflex, sl::kFeaturePCL }; - sl::Feature featuresToLoadVR[] = { sl::kFeatureDLSS, sl::kFeatureReflex, sl::kFeaturePCL }; - - pref.featuresToLoad = REL::Module::IsVR() ? featuresToLoadVR : featuresToLoad; - pref.numFeaturesToLoad = REL::Module::IsVR() ? _countof(featuresToLoadVR) : _countof(featuresToLoad); + sl::Feature featuresToLoad[] = { sl::kFeatureDLSS, sl::kFeatureReflex, sl::kFeaturePCL }; + pref.featuresToLoad = featuresToLoad; + pref.numFeaturesToLoad = _countof(featuresToLoad);🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/Features/Upscaling/Streamline.cpp` around lines 116 - 117, The two feature arrays featuresToLoad and featuresToLoadVR are identical (both contain sl::kFeatureDLSS, sl::kFeatureReflex, sl::kFeaturePCL); remove the redundancy by consolidating them into a single array (e.g., featuresToLoad) and update any code that referenced featuresToLoadVR to use the consolidated symbol, or keep a VR alias that references the single array if explicit VR naming is desired; update references to sl::Feature featuresToLoadVR and ensure no behavior changes in functions that consume these arrays.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@src/Features/Upscaling/Streamline.cpp`:
- Around line 116-117: The two feature arrays featuresToLoad and
featuresToLoadVR are identical (both contain sl::kFeatureDLSS,
sl::kFeatureReflex, sl::kFeaturePCL); remove the redundancy by consolidating
them into a single array (e.g., featuresToLoad) and update any code that
referenced featuresToLoadVR to use the consolidated symbol, or keep a VR alias
that references the single array if explicit VR naming is desired; update
references to sl::Feature featuresToLoadVR and ensure no behavior changes in
functions that consume these arrays.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 5b75d31a-b1ce-429d-8fed-2142da2c29ca
📒 Files selected for processing (5)
features/Upscaling/Shaders/Upscaling/Streamline/reflex.license.txtsrc/Features/Upscaling.cppsrc/Features/Upscaling/Streamline.cppsrc/Features/Upscaling/Streamline.hsrc/Hooks.cpp
🚧 Files skipped from review as they are similar to previous changes (2)
- src/Hooks.cpp
- features/Upscaling/Shaders/Upscaling/Streamline/reflex.license.txt
Go ahead and remove it. I don't recall you actually removing it but maybe I missed it with one of the conflict merges. I normally do not remove PR functionality when I help get it over the line. |
--> OK will do tonight. Edit: |
… VR gather-wide sampling
Automated formatting by clang-format, prettier, and other hooks. See https://pre-commit.ci for details.
|
should be conlcuded now if all are happy |
|
@doodlum please approve. The root is cleaned up. |
|
Btw, failing tests are me just making sure the new CI works. They shouldn't impact this PR's mergability which I'll handle after all ci tests are fixed. |
* fix(weather overrides): ensure json format for features (community-shaders#1748) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * perf(terrain blending): tweak defaults (community-shaders#1771) * fix(lighting): vanilla envcolor mult the correct value (community-shaders#1775) * fix(water): remove final colour saturate (community-shaders#1778) * fix(unified-water): LOD water cache mismatch (community-shaders#1779) * fix(weather editor): override desync with weather transitions (community-shaders#1782) * fix(weather editor): no-override weather file deletion (community-shaders#1777) * fix(weather editor): apply weather settings post-load (community-shaders#1776) * fix(weather editor): handling of weathers without overrides (community-shaders#1773) * feat(UI): feature headings (community-shaders#1786) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(VR): add wand pointing (community-shaders#1790) * chore(UI): theme consistency (community-shaders#1787) * fix(upscaling): warn about max nvidia resolution (community-shaders#1795) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * chore(linear lighting): UI settings changes (community-shaders#1785) Co-authored-by: Jiaye <l936249247@hotmail.com> * fix(grass-lighting) better basic grass brightness default (community-shaders#1780) * chore(UI): remove settings and about tabs (community-shaders#1794) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(terrain shadows): fix compiler warnings (community-shaders#1798) * fix: fix flickering particles (community-shaders#1791) * fix(terrain blending): disable vr support (community-shaders#1799) * refactor(upscaling): standardize behavior and tune settings (community-shaders#1783) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(UI): add auto-hide featurelist option (community-shaders#1793) * fix: match grass brightness of vanilla (community-shaders#1801) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * refactor(perfoverlay): remove color from "Other" and "Total" (community-shaders#1806) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(unified water): fix for mesh water jitter (community-shaders#1809) * fix: clear shader cache on plugin version change (community-shaders#1739) * feat(filewatcher): add hlsli tracking (community-shaders#1796) * feat(linear lighting): add ambient multiplier (community-shaders#1805) * fix(unified-water): underwater fog flicker (community-shaders#1807) * fix(UI): conflicting esc key on welcome hotkey dialogue (community-shaders#1811) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * chore(UI): add subtext font to tooltips (community-shaders#1810) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * build: bump streamline to 2.10.3 (community-shaders#1813) * build: resolve shader warnings (community-shaders#1818) * feat(ui): add combo hotkey support (community-shaders#1808) * feat: add feature constraints (community-shaders#1804) * build: update version to 1.4.8 (community-shaders#1802) * fix(VR): apply per eye upscaling (community-shaders#1819) - Split upscaling across each eye for correctness and to avoid DLSS failing over 8k x 8k limit - Changes HMD mask color to black to hide artifacts with fast movement * build: bump common lib to 4.2.0 (community-shaders#1821) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * fix(grass collision): catch trashed actor pointers (community-shaders#1765) * fix(weather editor): desynced override transitions (community-shaders#1820) * fix(upscaling): fix preset and allocation handling (community-shaders#1824) Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * build: remove linear lighting from core whilst in development (community-shaders#1826) * chore: bump version to 1.4.9 (community-shaders#1827) * fix: add back LLF core file and remove LL core file (community-shaders#1828) * fix: dont save shader debug toggles (community-shaders#1831) * fix: remove IBL from core, unfinished (community-shaders#1830) * chore: update version to 1.4.10 (community-shaders#1832) * chore(dynamic cubemaps): lessen normalisation darkening (community-shaders#1833) * chore(llf): remove LightsVisualisationMode settings loading (community-shaders#1834) * revert: "fix: dont save shader debug toggles (community-shaders#1831)" This reverts commit f55f195. * revert: "chore(llf): remove LightsVisualisationMode settings loading (community-shaders#1834)" This reverts commit b3db5a7. * fix: default enabledClasses true * build: bump version * feat(upscaling): custom DLSS preset (community-shaders#1837) * fix(weather editor): sync UI for full transition (community-shaders#1822) * fix(linearlighting): return correct buffer when ll feature off (community-shaders#1838) * fix(PBR): skip IrradianceToLinear on specular in vanilla (community-shaders#1839) * feat(weather editor): adjust slider ranges (community-shaders#1847) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather editor): replace volumetric Lighting RGB sliders with color picker (community-shaders#1846) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * fix(grass collision): collision radius math (community-shaders#1849) * chore: move new feature information into docs (community-shaders#1848) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * fix(ui): background blur with upscaling (community-shaders#1815) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * refactor: move some features to core (community-shaders#1852) * fix: fix blown out water specular (community-shaders#1853) * feat(weather editor): toggle hotkey (community-shaders#1856) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(color picker): add an original color reference to all color pickers (community-shaders#1857) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * perf(emat): alternate tweaks (community-shaders#1850) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather-editor): merge weather picker and editor (community-shaders#1845) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * chore(llf): remove LLF settings loading (community-shaders#1859) * feat: exponential height fog (community-shaders#1708) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): block editor access in loading screens (community-shaders#1871) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather editor): improve weather picker UI and functionality (community-shaders#1863) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): repurpose unsaved changes tracking (community-shaders#1860) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix: sync grass lighting defaults to match ENB (community-shaders#1844) * fix: stop shader compilation on game exit (community-shaders#1867) closes community-shaders#1130 * fix(weather editor): prevent inputs when editor is open (community-shaders#1872) * fix(weather editor): add ctd guards (community-shaders#1864) * feat(weather editor): remove WorldSpace widget and associated code (community-shaders#1878) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(vr): add OpenComposite menu support (community-shaders#1880) * revert: "feat(vr): add OpenComposite VR menu" (community-shaders#1881) * revert: "fix: stop shader compilation on game exit" (community-shaders#1882) * feat(vr): add OpenComposite menu support (community-shaders#1883) * feat(weather editor): add time controls (community-shaders#1877) * feat: add shadowmap rasterizer override (community-shaders#1690) * fix(weather editor): clear feature overrides with revert (community-shaders#1884) * feat(UI): Interior Only (community-shaders#1854) * fix(VR): fix Shadowmap Cascade Rasterizer (community-shaders#1888) * fix(unified water): distance calculation for raindrops & LOD fade (community-shaders#1890) * refactor: clarify core feature version mismatch text (community-shaders#1886) * fix: stop shader compilation on game exit (community-shaders#1885) * build: exclude hlsl tests from packaging (community-shaders#1894) * chore: disable feature constraints in dev mode (community-shaders#1893) * fix(vr): improve stereo UV handling (community-shaders#1899) * fix(weather editor): move esc key to native input system (community-shaders#1897) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * fix: move ResolveMonoUVForEye outside VR guard (community-shaders#1906) * fix(grass collision): validate actor (community-shaders#1905) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * fix(terrain shadows): height map regression (community-shaders#1911) * fix: util vertical fov math (community-shaders#1904) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * test: add float4 overload test (community-shaders#1902) * refactor: move all features to globals::game::calendar (community-shaders#1909) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(UI): resolution based font (community-shaders#1907) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): make objects window be independently scrollable (community-shaders#1908) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(UI): consolidate searchbar to util and add to weather editor (community-shaders#1898) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): add filled star for favourites. (community-shaders#1913) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather editor): add delete json button to objects window (community-shaders#1914) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(VR): resolution-based font (community-shaders#1923) * refactor: use depthbuffer helper (community-shaders#1925) * refactor: move TurboColormap into Color.hlsli (community-shaders#1924) * fix(weather editor): expand clickable area of feature override (community-shaders#1921) * feat(weather editor): enable snapping to viewport (community-shaders#1917) * feat(weather editor): highlight enabled cloud layers (community-shaders#1916) * fix(VR): SSGI discrepancies (community-shaders#1926) * feat: volumetric shadows (community-shaders#1874) * ci: enhance feature version audit (community-shaders#1927) * feat(weather editor): add filter options for objects window (community-shaders#1922) * feat(weather editor): sticky headers and scrollable content (community-shaders#1930) * fix(UI): ImGui scaling for borderless mode (community-shaders#1929) * ci: don't fail on feature audits (community-shaders#1934) * fix(pbr): use scrap heap allocation (community-shaders#1928) * chore(UI): add subsurface scattering to Interior Only (community-shaders#1932) * fix(weather editor): align highlights, fix tooltip (community-shaders#1918) * fix(ssgi): guard VR only compilation (community-shaders#1938) * build: update template to avoid extra directory (community-shaders#1812) * style: fix hlsl formatting (community-shaders#1939) * fix(UI): improve theme management UI flow (community-shaders#1933) closes community-shaders#1919 * build(deps): update pre-commit hooks (community-shaders#1768) * feat(UI): delete theme button (community-shaders#1940) * feat(UI): open log file button (community-shaders#1942) * fix(hair): marschner volumetric shadow tint (community-shaders#1944) * fix(VR): screen space shadows desync (community-shaders#1946) closes community-shaders#1840 * fix(VR): depth culling during upscaling/Terrain Blending (community-shaders#1858) * feat(VR): add edge detection for stereo blending (community-shaders#1948) * refactor: allocate trampoline once (community-shaders#1951) * fix(UI): PBR MATO color scale RGB settings corrected (community-shaders#1957) * fix(weather editor): guard against loadorder changes (community-shaders#1953) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: davo0411 <davidkehoe0411@outlook.com> * fix(UI): feature description text wrapping (community-shaders#1960) * fix(VR): exponential height fog stereo mismatch (community-shaders#1961) * chore: pbr consistency changes (community-shaders#1841) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: jiayev <l936249247@hotmail.com> * fix(skylighting): remove PBR lighting scale (community-shaders#1963) * fix(skysync): effect mesh blackout during shadow caster transitions (community-shaders#1965) * ci: fix wiki deletion with buffer update (community-shaders#1967) * feat(weather-editor): option to hide viewport (community-shaders#1970) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * test(shader): fallback to warp on invalidarg (community-shaders#1956) Co-authored-by: LukeFrankio <loren@example.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat: triplanar projected materials (community-shaders#1950) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(ao): better ao calculations (community-shaders#1968) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(pbr): fix improper kD terms (community-shaders#1971) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * perf(emat): tweak fade and shadow intensity (community-shaders#1892) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(ibl): revamp ibl and dalc sh (community-shaders#1947) * build: bump commonlib to 4.7.1 (community-shaders#1977) * fix: upscaling monitor detection fixes (community-shaders#1978) * fix(weather editor): prevent overrides resetting settings (community-shaders#1980) * fix(VR): bad llf offset (community-shaders#1984) * perf: cache frequent ui checks (community-shaders#1985) * fix: preserve vanilla water TAA when no upscaler is active (community-shaders#1986) Co-authored-by: jturnley <jturnley@users.noreply.github.com> * fix(UI): first-time dialog fade affects all overlays (community-shaders#1976) * fix(skysync): remove sunlight fade and volumetric lighting overrides (community-shaders#1966) * refactor(HLSL): standardize epsilon constants (community-shaders#1992) closes community-shaders#1227 * feat(UI): require Shift to dock windows (community-shaders#1989) * fix(UI): input spam after alt-tab (community-shaders#1993) * fix(sky sync): early return for invalid cells (community-shaders#1991) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: jiayev <l936249247@hotmail.com> * fix(sky sync): remove undeclared variable (community-shaders#1994) * refactor(pbr): clear up semantics (community-shaders#1995) * fix(UI): scale layout values for high-DPI (community-shaders#1987) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(water): hdr water taa blend (community-shaders#1988) * refactor(color): clarify gamma conversion functions (community-shaders#1996) * feat(ISL-editor): add light counters and fix filtering (community-shaders#1997) * fix(UI): DPI-aware window layouts (community-shaders#2000) * fix(weather-editor): save color palette window (community-shaders#2001) * refactor: centralize feature category names (community-shaders#2007) closes community-shaders#1265 Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> * chore: bump versions (community-shaders#2010) * fix(water): sample history mask from current mask (community-shaders#2011) * chore(wetness-effects): set default MaxPuddleWetness to 1.5 (community-shaders#1981) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather-editor): add free camera and play mode (community-shaders#2008) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * build: bump versions and reduce false positives (community-shaders#2013) * fix(VR): LLF cluster building and culling (community-shaders#2012) * build: update to VS 2026 (community-shaders#1990) * ci: fix preset in vs2022 mode (community-shaders#2015) * ci: remove v2022 from shader jobs (community-shaders#2016) * feat(upscaling): integrate Streamline Reflex controls (community-shaders#1958) * fix(unified-water): BSWaterShaderProperty.plane (community-shaders#1998) --------- Co-authored-by: Skrubby Skrub In A Shrub <87662196+SkrubbySkrubInAShrub@users.noreply.github.com> Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> Co-authored-by: jiayev <l936249247@hotmail.com> Co-authored-by: Dlizzio <77717521+Dlizzio@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Alan Tse <alandtse@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Bruce <44987693+brucenguyen@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Dawntic <197450198+Dawntic@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Alan Tse <alandtse@gmail.com> Co-authored-by: Vanni Giachin <vanni.giachin@qlik.com> Co-authored-by: zxcvbn <66063766+zndxcvbn@users.noreply.github.com> Co-authored-by: ParticleTroned <248299730+ParticleTroned@users.noreply.github.com> Co-authored-by: soda <130315225+soda3000@users.noreply.github.com> Co-authored-by: YtzyFvra <59631290+YtzyFvra@users.noreply.github.com> Co-authored-by: LukeFrankio <lorenzogrutzmann@gmail.com> Co-authored-by: LukeFrankio <loren@example.com> Co-authored-by: jturnley <32892261+jturnley@users.noreply.github.com> Co-authored-by: jturnley <jturnley@users.noreply.github.com> Co-authored-by: Igor Alan Albuquerque de Sousa <50077829+IgorAlanAlbuquerque@users.noreply.github.com> Co-authored-by: Matt Van Horn <mvanhorn@users.noreply.github.com> Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* fix(weather overrides): ensure json format for features (community-shaders#1748) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * perf(terrain blending): tweak defaults (community-shaders#1771) * fix(lighting): vanilla envcolor mult the correct value (community-shaders#1775) * fix(water): remove final colour saturate (community-shaders#1778) * fix(unified-water): LOD water cache mismatch (community-shaders#1779) * fix(weather editor): override desync with weather transitions (community-shaders#1782) * fix(weather editor): no-override weather file deletion (community-shaders#1777) * fix(weather editor): apply weather settings post-load (community-shaders#1776) * fix(weather editor): handling of weathers without overrides (community-shaders#1773) * feat(UI): feature headings (community-shaders#1786) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(VR): add wand pointing (community-shaders#1790) * chore(UI): theme consistency (community-shaders#1787) * fix(upscaling): warn about max nvidia resolution (community-shaders#1795) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * chore(linear lighting): UI settings changes (community-shaders#1785) Co-authored-by: Jiaye <l936249247@hotmail.com> * fix(grass-lighting) better basic grass brightness default (community-shaders#1780) * chore(UI): remove settings and about tabs (community-shaders#1794) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(terrain shadows): fix compiler warnings (community-shaders#1798) * fix: fix flickering particles (community-shaders#1791) * fix(terrain blending): disable vr support (community-shaders#1799) * refactor(upscaling): standardize behavior and tune settings (community-shaders#1783) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(UI): add auto-hide featurelist option (community-shaders#1793) * fix: match grass brightness of vanilla (community-shaders#1801) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * refactor(perfoverlay): remove color from "Other" and "Total" (community-shaders#1806) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(unified water): fix for mesh water jitter (community-shaders#1809) * fix: clear shader cache on plugin version change (community-shaders#1739) * feat(filewatcher): add hlsli tracking (community-shaders#1796) * feat(linear lighting): add ambient multiplier (community-shaders#1805) * fix(unified-water): underwater fog flicker (community-shaders#1807) * fix(UI): conflicting esc key on welcome hotkey dialogue (community-shaders#1811) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * chore(UI): add subtext font to tooltips (community-shaders#1810) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * build: bump streamline to 2.10.3 (community-shaders#1813) * build: resolve shader warnings (community-shaders#1818) * feat(ui): add combo hotkey support (community-shaders#1808) * feat: add feature constraints (community-shaders#1804) * build: update version to 1.4.8 (community-shaders#1802) * fix(VR): apply per eye upscaling (community-shaders#1819) - Split upscaling across each eye for correctness and to avoid DLSS failing over 8k x 8k limit - Changes HMD mask color to black to hide artifacts with fast movement * build: bump common lib to 4.2.0 (community-shaders#1821) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * fix(grass collision): catch trashed actor pointers (community-shaders#1765) * fix(weather editor): desynced override transitions (community-shaders#1820) * fix(upscaling): fix preset and allocation handling (community-shaders#1824) Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * build: remove linear lighting from core whilst in development (community-shaders#1826) * chore: bump version to 1.4.9 (community-shaders#1827) * fix: add back LLF core file and remove LL core file (community-shaders#1828) * fix: dont save shader debug toggles (community-shaders#1831) * fix: remove IBL from core, unfinished (community-shaders#1830) * chore: update version to 1.4.10 (community-shaders#1832) * chore(dynamic cubemaps): lessen normalisation darkening (community-shaders#1833) * chore(llf): remove LightsVisualisationMode settings loading (community-shaders#1834) * revert: "fix: dont save shader debug toggles (community-shaders#1831)" This reverts commit f55f195. * revert: "chore(llf): remove LightsVisualisationMode settings loading (community-shaders#1834)" This reverts commit b3db5a7. * fix: default enabledClasses true * build: bump version * feat(upscaling): custom DLSS preset (community-shaders#1837) * fix(weather editor): sync UI for full transition (community-shaders#1822) * fix(linearlighting): return correct buffer when ll feature off (community-shaders#1838) * fix(PBR): skip IrradianceToLinear on specular in vanilla (community-shaders#1839) * feat(weather editor): adjust slider ranges (community-shaders#1847) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather editor): replace volumetric Lighting RGB sliders with color picker (community-shaders#1846) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * fix(grass collision): collision radius math (community-shaders#1849) * chore: move new feature information into docs (community-shaders#1848) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * fix(ui): background blur with upscaling (community-shaders#1815) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * refactor: move some features to core (community-shaders#1852) * fix: fix blown out water specular (community-shaders#1853) * feat(weather editor): toggle hotkey (community-shaders#1856) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(color picker): add an original color reference to all color pickers (community-shaders#1857) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * perf(emat): alternate tweaks (community-shaders#1850) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather-editor): merge weather picker and editor (community-shaders#1845) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * chore(llf): remove LLF settings loading (community-shaders#1859) * feat: exponential height fog (community-shaders#1708) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): block editor access in loading screens (community-shaders#1871) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather editor): improve weather picker UI and functionality (community-shaders#1863) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): repurpose unsaved changes tracking (community-shaders#1860) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix: sync grass lighting defaults to match ENB (community-shaders#1844) * fix: stop shader compilation on game exit (community-shaders#1867) closes community-shaders#1130 * fix(weather editor): prevent inputs when editor is open (community-shaders#1872) * fix(weather editor): add ctd guards (community-shaders#1864) * feat(weather editor): remove WorldSpace widget and associated code (community-shaders#1878) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(vr): add OpenComposite menu support (community-shaders#1880) * revert: "feat(vr): add OpenComposite VR menu" (community-shaders#1881) * revert: "fix: stop shader compilation on game exit" (community-shaders#1882) * feat(vr): add OpenComposite menu support (community-shaders#1883) * feat(weather editor): add time controls (community-shaders#1877) * feat: add shadowmap rasterizer override (community-shaders#1690) * fix(weather editor): clear feature overrides with revert (community-shaders#1884) * feat(UI): Interior Only (community-shaders#1854) * fix(VR): fix Shadowmap Cascade Rasterizer (community-shaders#1888) * fix(unified water): distance calculation for raindrops & LOD fade (community-shaders#1890) * refactor: clarify core feature version mismatch text (community-shaders#1886) * fix: stop shader compilation on game exit (community-shaders#1885) * build: exclude hlsl tests from packaging (community-shaders#1894) * chore: disable feature constraints in dev mode (community-shaders#1893) * fix(vr): improve stereo UV handling (community-shaders#1899) * fix(weather editor): move esc key to native input system (community-shaders#1897) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * fix: move ResolveMonoUVForEye outside VR guard (community-shaders#1906) * fix(grass collision): validate actor (community-shaders#1905) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * fix(terrain shadows): height map regression (community-shaders#1911) * fix: util vertical fov math (community-shaders#1904) Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> * test: add float4 overload test (community-shaders#1902) * refactor: move all features to globals::game::calendar (community-shaders#1909) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(UI): resolution based font (community-shaders#1907) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): make objects window be independently scrollable (community-shaders#1908) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(UI): consolidate searchbar to util and add to weather editor (community-shaders#1898) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(weather editor): add filled star for favourites. (community-shaders#1913) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather editor): add delete json button to objects window (community-shaders#1914) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(VR): resolution-based font (community-shaders#1923) * refactor: use depthbuffer helper (community-shaders#1925) * refactor: move TurboColormap into Color.hlsli (community-shaders#1924) * fix(weather editor): expand clickable area of feature override (community-shaders#1921) * feat(weather editor): enable snapping to viewport (community-shaders#1917) * feat(weather editor): highlight enabled cloud layers (community-shaders#1916) * fix(VR): SSGI discrepancies (community-shaders#1926) * feat: volumetric shadows (community-shaders#1874) * ci: enhance feature version audit (community-shaders#1927) * feat(weather editor): add filter options for objects window (community-shaders#1922) * feat(weather editor): sticky headers and scrollable content (community-shaders#1930) * fix(UI): ImGui scaling for borderless mode (community-shaders#1929) * ci: don't fail on feature audits (community-shaders#1934) * fix(pbr): use scrap heap allocation (community-shaders#1928) * chore(UI): add subsurface scattering to Interior Only (community-shaders#1932) * fix(weather editor): align highlights, fix tooltip (community-shaders#1918) * fix(ssgi): guard VR only compilation (community-shaders#1938) * build: update template to avoid extra directory (community-shaders#1812) * style: fix hlsl formatting (community-shaders#1939) * fix(UI): improve theme management UI flow (community-shaders#1933) closes community-shaders#1919 * build(deps): update pre-commit hooks (community-shaders#1768) * feat(UI): delete theme button (community-shaders#1940) * feat(UI): open log file button (community-shaders#1942) * fix(hair): marschner volumetric shadow tint (community-shaders#1944) * fix(VR): screen space shadows desync (community-shaders#1946) closes community-shaders#1840 * fix(VR): depth culling during upscaling/Terrain Blending (community-shaders#1858) * feat(VR): add edge detection for stereo blending (community-shaders#1948) * refactor: allocate trampoline once (community-shaders#1951) * fix(UI): PBR MATO color scale RGB settings corrected (community-shaders#1957) * fix(weather editor): guard against loadorder changes (community-shaders#1953) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: davo0411 <davidkehoe0411@outlook.com> * fix(UI): feature description text wrapping (community-shaders#1960) * fix(VR): exponential height fog stereo mismatch (community-shaders#1961) * chore: pbr consistency changes (community-shaders#1841) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: jiayev <l936249247@hotmail.com> * fix(skylighting): remove PBR lighting scale (community-shaders#1963) * fix(skysync): effect mesh blackout during shadow caster transitions (community-shaders#1965) * ci: fix wiki deletion with buffer update (community-shaders#1967) * feat(weather-editor): option to hide viewport (community-shaders#1970) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * test(shader): fallback to warp on invalidarg (community-shaders#1956) Co-authored-by: LukeFrankio <loren@example.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat: triplanar projected materials (community-shaders#1950) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(ao): better ao calculations (community-shaders#1968) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(pbr): fix improper kD terms (community-shaders#1971) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * perf(emat): tweak fade and shadow intensity (community-shaders#1892) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(ibl): revamp ibl and dalc sh (community-shaders#1947) * build: bump commonlib to 4.7.1 (community-shaders#1977) * fix: upscaling monitor detection fixes (community-shaders#1978) * fix(weather editor): prevent overrides resetting settings (community-shaders#1980) * fix(VR): bad llf offset (community-shaders#1984) * perf: cache frequent ui checks (community-shaders#1985) * fix: preserve vanilla water TAA when no upscaler is active (community-shaders#1986) Co-authored-by: jturnley <jturnley@users.noreply.github.com> * fix(UI): first-time dialog fade affects all overlays (community-shaders#1976) * fix(skysync): remove sunlight fade and volumetric lighting overrides (community-shaders#1966) * refactor(HLSL): standardize epsilon constants (community-shaders#1992) closes community-shaders#1227 * feat(UI): require Shift to dock windows (community-shaders#1989) * fix(UI): input spam after alt-tab (community-shaders#1993) * fix(sky sync): early return for invalid cells (community-shaders#1991) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: jiayev <l936249247@hotmail.com> * fix(sky sync): remove undeclared variable (community-shaders#1994) * refactor(pbr): clear up semantics (community-shaders#1995) * fix(UI): scale layout values for high-DPI (community-shaders#1987) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(water): hdr water taa blend (community-shaders#1988) * refactor(color): clarify gamma conversion functions (community-shaders#1996) * feat(ISL-editor): add light counters and fix filtering (community-shaders#1997) * fix(UI): DPI-aware window layouts (community-shaders#2000) * fix(weather-editor): save color palette window (community-shaders#2001) * refactor: centralize feature category names (community-shaders#2007) closes community-shaders#1265 Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> * chore: bump versions (community-shaders#2010) * fix(water): sample history mask from current mask (community-shaders#2011) * chore(wetness-effects): set default MaxPuddleWetness to 1.5 (community-shaders#1981) Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> * feat(weather-editor): add free camera and play mode (community-shaders#2008) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * build: bump versions and reduce false positives (community-shaders#2013) * fix(VR): LLF cluster building and culling (community-shaders#2012) * build: update to VS 2026 (community-shaders#1990) * ci: fix preset in vs2022 mode (community-shaders#2015) * ci: remove v2022 from shader jobs (community-shaders#2016) * feat(upscaling): integrate Streamline Reflex controls (community-shaders#1958) * fix(unified-water): BSWaterShaderProperty.plane (community-shaders#1998) --------- Co-authored-by: Skrubby Skrub In A Shrub <87662196+SkrubbySkrubInAShrub@users.noreply.github.com> Co-authored-by: SkrubbySkrubInAShrub <skrubbyskrubinashrub@gmail.com> Co-authored-by: doodlum <15017472+doodlum@users.noreply.github.com> Co-authored-by: jiayev <l936249247@hotmail.com> Co-authored-by: Dlizzio <77717521+Dlizzio@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Alan Tse <alandtse@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Bruce <44987693+brucenguyen@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Dawntic <197450198+Dawntic@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Alan Tse <alandtse@gmail.com> Co-authored-by: Vanni Giachin <vanni.giachin@qlik.com> Co-authored-by: zxcvbn <66063766+zndxcvbn@users.noreply.github.com> Co-authored-by: ParticleTroned <248299730+ParticleTroned@users.noreply.github.com> Co-authored-by: soda <130315225+soda3000@users.noreply.github.com> Co-authored-by: YtzyFvra <59631290+YtzyFvra@users.noreply.github.com> Co-authored-by: LukeFrankio <lorenzogrutzmann@gmail.com> Co-authored-by: LukeFrankio <loren@example.com> Co-authored-by: jturnley <32892261+jturnley@users.noreply.github.com> Co-authored-by: jturnley <jturnley@users.noreply.github.com> Co-authored-by: Igor Alan Albuquerque de Sousa <50077829+IgorAlanAlbuquerque@users.noreply.github.com> Co-authored-by: Matt Van Horn <mvanhorn@users.noreply.github.com> Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
- Integrates Nvidia Reflex compiled from Streamline into Upscaler
--> I will have no time to work on this further this month, but it is pretty straight forward , hopefully well annotated (see Reflex.md and in code), and I do not mind if somebody else brings this over the line if you consider this a win for CS.
Tests below are from my Skyrim VR modlist with PR compiled AIO:
Summary by CodeRabbit
New Features
Bug Fixes
Chores