You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[REMIX-5428] Implement preserving instances across frames for static draw calls.
* Add debug draw mode to display preserved instances
* Removes redundant Draw Call Tracker level 2.5 match code
* Remove legacy hash highlighting render modes (These haven't been needed since before Portal RTX released)
* Adds a utility for hashing structs, which ensures there are no hidden unset padding bits in the struct.
- Functions: Prefer short verb + object names aligned with the subsystem; avoid encoding implementation steps in the identifier (see `documentation/CONTRIBUTING-style-guide.md`, Naming Conventions).
39
40
- Constants: `k` prefix and camelCase, i.e. `kConstantName`
Copy file name to clipboardExpand all lines: RtxOptions.md
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -239,6 +239,7 @@ This file is auto-generated by RTX Remix. To regenerate it, run Remix with `DXVK
239
239
|rtx.enablePSTRSecondaryIncidentSplitApproximation|bool|True|||Enable transmission PSR on secondary incident transmission events such as entering a translucent material on an already\-transmitted path \(rather than respecting no\-split path PSR rule\)\.<br>Typically this results in better looking glass when enabled \(at the cost accuracy due to ignoring reflections off of glass seen through glass for example\)\.|
240
240
|rtx.enablePortalFadeInEffect|bool|False||||
241
241
|rtx.enablePresentThrottle|bool|False|||A flag to enable or disable present throttling, when set to true a sleep for a time specified by the throttle delay will be inserted into the DXVK presentation thread\.<br>Useful to manually reduce the framerate if the application is running too fast or to reduce GPU power usage during development to keep temperatures down\.<br>Should not be enabled in anything other than development situations\.|
242
+
|rtx.enablePreservePath|bool|True|||When true, Remix attempts to identify draw calls whose state has not changed since last frame and re\-use the previous<br>frame's translation, rather than retranslating the draw call into raytrace\-ready scene data\.<br>When false, every submit uses full dynamic geometry and instance processing \(drawReplacements / processDrawCallState\)\.<br>Disable for debugging or compatibility when suspecting preserve\-path regressions\.|
242
243
|rtx.enableProbabilisticUnorderedResolveInIndirectRays|bool|True|||A flag to enable or disable probabilistic unordered resolve approximations in indirect rays\.<br>This flag speeds up the unordered resolve for indirect rays by probabilistically deciding when to perform unordered resolve or not\. Must have both unordered resolve and unordered resolve in indirect rays enabled for this to take effect\.<br>This option should be enabled by default as it can significantly improve performance on some hardware\. In rare cases it may come at the cost of some quality for particles and decals in reflections\.<br>Note that even with this option enabled, unordered resolve approximations are only done on the first indirect bounce for the sake of performance overall\.|
243
244
|rtx.enableRayReconstruction|bool|True|||Enables DLSS ray reconstruction, an AI\-based denoiser designed for real time ray tracing\.|
244
245
|rtx.enableRaytracing|bool|True|||Globally enables or disables ray tracing\. When set to false the original game should render mostly as it would in DXVK typically\.<br>Some artifacts may still appear however compared to the original game either due to issues with the underlying DXVK translation or issues in Remix itself\.|
@@ -822,8 +823,6 @@ This file is auto-generated by RTX Remix. To regenerate it, run Remix with `DXVK
822
823
|rtx.useDenoiser|bool|True|||Enables usage of denoiser\(s\) when set to true, otherwise disables denoising when set to false\.<br>Denoising is important for filtering the raw noisy ray traced signal into a smoother and more stable result at the cost of some potential spatial/temporal artifacts \(ghosting, boiling, blurring, etc\)\.<br>Generally should remain enabled except when debugging behavior which requires investigating the output directly, or diagnosing denoising\-related issues\.|
823
824
|rtx.useDenoiserReferenceMode|bool|False|||Enables reference "denoiser" \(~ accumulation mode\) when set to true, otherwise uses a standard denoiser\.<br>The reference denoiser accumulates frames over time to generate a reference multi\-sample per pixel contribution<br>which should converge slowly to the ideal result the renderer is working towards\.<br>It is useful for analyzing quality differences in various denoising methods, post\-processing filters,<br>or for more accurately comparing subtle effects of potentially biased rendering techniques<br>which may be hard to see through noise and filtering\.<br>It is also useful for higher quality artistic renders of a scene beyond what is possible in real\-time\.|
|rtx.useLegacyACES|bool|True|||Use a luminance\-only approximation of ACES that over\-saturates the highlights\. If false, use a refined ACES transform that converts between color spaces with more precision\.|
829
828
|rtx.useNewGuiInputMethod|bool|True|||Disables the previous method for getting mouse/keyboard input and enables a new method which should be more reliable\. If successful the old method will be deprecated\. This setting can't be changed at runtime, so it must be set in a \.conf file\.|
Copy file name to clipboardExpand all lines: documentation/CONTRIBUTING-style-guide.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,7 @@ This document outlines our project's C++ code formatting standards, commenting s
26
26
- **Constants**: `k` prefix and camelCase, i.e. `kConstantName`
27
27
- **Macros and defines**: UPPER_CASE
28
28
- **Class and struct names**: PascalCase
29
+
- **Functions**: Prefer a short **verb + object** name that matches vocabulary in the same subsystem (e.g. `registerCamera`, `mergeInstanceHeuristics`). Do not spell out mechanics (which container, per-frame reset); put that in a comment on the definition or call site.
Copy file name to clipboardExpand all lines: src/dxvk/dxvk_sampler.h
+17-3Lines changed: 17 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,7 @@
3
3
#include"dxvk_resource.h"
4
4
// NV-DXVK start
5
5
#include"../util/xxHash/xxhash.h"
6
+
#include"../util/util_struct_hash.h"
6
7
// NV-DXVK end
7
8
8
9
namespacedxvk {
@@ -44,9 +45,22 @@ namespace dxvk {
44
45
45
46
// NV-DXVK start
46
47
XXH64_hash_t calculateHash() const {
47
-
static_assert(sizeof(DxvkSamplerCreateInfo) == 72 && "DxvkSamplerCreateInfo changed. Double check the struct is still fully padded and initialized. This is needed for used hashing and comparison functions.");
0 commit comments