Skip to content

Commit ce26cc8

Browse files
committed
Merge branch 'pkristof/simplifySparse' into 'main'
Replaced direct/indirect sampling rates with a unified one. See merge request lightspeedrtx/dxvk-remix-nv!2299
2 parents 7508373 + ee655a9 commit ce26cc8

40 files changed

Lines changed: 265 additions & 704 deletions

AGENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ Full guide: `documentation/CONTRIBUTING-style-guide.md`
4343
- **Includes**: Standard library first, then third-party, then local. Separate groups with blank lines.
4444
- **Memory**: Prefer smart pointers (`std::unique_ptr`, `std::shared_ptr`). Use `Rc<T>` for GPU resources.
4545
- **Profiling**: Use `ScopedCpuProfileZone()` / `ScopedGpuProfileZone(ctx, "name")` for performance-critical code.
46+
- **Comments**: Describe the code as it is now. Do not write comments that contrast the current state with a previous one, or that explain a change rather than the code — wording like "now shared", "no longer", "instead of", "unified" and similar reads as a changelog entry, and it goes stale as soon as the next change lands. A reader has the code in front of them, not its history; put the rationale for a change in the commit message or MR description, not in the source.
4647

4748
### Changes to Core DXVK Files (Applies to code files outside of `rtx_render`)
4849

RtxOptions.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -725,7 +725,7 @@ This file is auto-generated by RTX Remix. To regenerate it, run Remix with `DXVK
725725
|rtx.skyReprojectScale|float|16|||Scaling of the sky geometry on reprojection to main camera space\.|
726726
|rtx.skyReprojectToMainCameraSpace|bool|False|||Move sky geometry to the main camera space\.<br>Useful, if a game has a skybox that contains geometry that can be a part of the main scene \(e\.g\. buildings, mountains\)\. So with this option enabled, that geometry would be promoted from sky rasterization to ray tracing\.|
727727
|rtx.skyUiDrawcallCount|int|0||||
728-
|rtx.sparseRendering.directLightingSamplingRate|float|1|0.0625|1|Per\-pixel sampling rate for primary direct lighting \(RTXDI \+ integrate\_direct\)\.<br>Lower values boost performance at the cost of image detail and temporal stability\.<br>Range \[0\.0625, 1\.0\]\. Rates below ~0\.2 tend to look bad and yield diminishing perf returns\.|
728+
|rtx.sparseRendering.directLightingSamplingRate|float|1|0.0625|1|Warning: This option is deprecated, please use rtx\.sparseRendering\.samplingRate instead\.<br>Direct and indirect lighting use a single shared rate\. A value set here migrates to that option unless it<br>already holds a value from the same config, which is left as it is\.|
729729
|rtx.sparseRendering.enableRtxdiReuseForInactivePixels|bool|False|||Enables RTXDI reservoir reuse \(temporal reprojection and spatial reuse\) on inactive pixels\.<br>Disabling improves performance and, counterintuitively, has been observed to reduce ghosting\.In theory it can increase direct lighting noise under animated lighting\.|
730730
|rtx.sparseRendering.enableSparsePrimaryRayMissComposition|bool|False|||When enabled, primary miss pixels \(sky\) use sparse rendering\.<br>This improves performance at the cost of sky reconstruction artifacts\.|
731731
|rtx.sparseRendering.enableSparsePrimarySpecularAlbedo|bool|False|||When enabled, the primary specular albedo guide for DLSS Ray Reconstruction is written sparsely: active pixels get<br>the computed specular albedo, inactive primary\-hit pixels are zeroed\. When disabled \(default\), the guide is computed<br>and written densely for every primary\-hit pixel so RR sees a clean dense signal\.|
@@ -734,8 +734,9 @@ This file is auto-generated by RTX Remix. To regenerate it, run Remix with `DXVK
734734
|rtx.sparseRendering.enableSparseVolumetricsPrimaryHit|bool|True|||When enabled, volumetric NEE integration at primary\-hit pixels uses sparse rendering\.|
735735
|rtx.sparseRendering.enableSparseVolumetricsPrimaryMiss|bool|False|||When enabled, volumetric NEE integration at primary\-miss \(sky\) pixels uses sparse rendering\.|
736736
|rtx.sparseRendering.forceNrcTrainingPixelsActive|bool|True|||When enabled, pixels that correspond to NRC training paths are forced active in sparse rendering\.|
737-
|rtx.sparseRendering.indirectLightingSamplingRate|float|1|0.0625|1|Per\-pixel sampling rate for primary indirect lighting \(integrate\_indirect, integrate\_nee, NRC resolve\)\.<br>Lower values boost performance at the cost of image detail and temporal stability\.<br>Range \[0\.0625, 1\.0\]\. Rates below ~0\.2 tend to look bad and yield diminishing perf returns\.|
737+
|rtx.sparseRendering.indirectLightingSamplingRate|float|1|0.0625|1|Warning: This option is deprecated, please use rtx\.sparseRendering\.samplingRate instead\.<br>Direct and indirect lighting use a single shared rate\. A value set here migrates to that option unless it<br>already holds a value from the same config, which is left as it is \- including one migrated from<br>rtx\.sparseRendering\.directLightingSamplingRate, which takes precedence when both are set\.|
738738
|rtx.sparseRendering.perPixelRateNoiseSource|int|1|||Selects the noise source used to threshold per\-pixel sampling rates\.<br>WhiteNoise \(0\): wangHash ~ white\-noise\.<br>BlueNoise128x128x64x8 \(1\): 8 bit 128x128 blue\-noise 64 frame length\.|
739+
|rtx.sparseRendering.samplingRate|float|1|0.0625|1|Per\-pixel sampling rate shared by primary direct and indirect lighting\.<br>Lower values boost performance at the cost of image detail and temporal stability\.<br>Range \[0\.0625, 1\.0\]\. Rates below ~0\.2 tend to look bad and yield diminishing perf returns\.|
739740
|rtx.splashMessageDisplayTimeSeconds|int|20|||The amount of time in seconds to display the Remix splash message for\.|
740741
|rtx.srgbDither.ditherMode|int|2|||Final output dither mode selection\. Dithering allows for reduction of banding artifacts in the final rendered output from quantization using a small amount of monochromatic noise\.<br>Supported enum values are 0 = None \(Disabled\), 1 = Spatial \(Enabled, Spatial dithering only\), 2 = SpatialTemporal \(Enabled, Spatial and temporal dithering\)\.<br>|
741742
|rtx.stochasticAlphaBlendDepthDifference|float|0.1|||Max depth difference for a valid neighbor\.|

src/dxvk/rtx_render/rtx_composite.cpp

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -113,16 +113,13 @@ namespace dxvk {
113113
CONSTANT_BUFFER(COMPOSITE_CONSTANTS_INPUT)
114114
TEXTURE2D(COMPOSITE_BSDF_FACTOR_INPUT)
115115
TEXTURE2D(COMPOSITE_BSDF_FACTOR2_INPUT)
116-
TEXTURE2D(COMPOSITE_DIRECT_PIXEL_SAMPLING_RATE_INPUT)
117-
TEXTURE2D(COMPOSITE_INDIRECT_PIXEL_SAMPLING_RATE_INPUT)
116+
TEXTURE2D(COMPOSITE_PIXEL_SAMPLING_RATE_INPUT)
118117
SAMPLER3D(COMPOSITE_VOLUME_FILTERED_RADIANCE_AGE_INPUT)
119118
SAMPLER3D(COMPOSITE_VOLUME_FILTERED_RADIANCE_Y_INPUT)
120119
SAMPLER3D(COMPOSITE_VOLUME_FILTERED_RADIANCE_CO_CG_INPUT)
121120
TEXTURE2D(COMPOSITE_ALPHA_GBUFFER_INPUT)
122121
TEXTURE2D(COMPOSITE_ACTIVE_PIXEL_MASK_INPUT)
123122
TEXTURE2D(COMPOSITE_ACTIVE_LOCAL_PIXEL_COORDS_INPUT)
124-
TEXTURE2D(COMPOSITE_DIRECT_ACTIVE_PIXEL_MASK_INPUT)
125-
TEXTURE2D(COMPOSITE_INDIRECT_ACTIVE_PIXEL_MASK_INPUT)
126123
TEXTURE2DARRAY(COMPOSITE_BLUE_NOISE_TEXTURE)
127124
SAMPLER3D(COMPOSITE_VALUE_NOISE_SAMPLER)
128125
SAMPLER2D(COMPOSITE_SKY_LIGHT_TEXTURE)
@@ -347,13 +344,10 @@ namespace dxvk {
347344
const DxvkReSTIRGIRayQuery& restirGI = ctx->getCommonObjects()->metaReSTIRGIRayQuery();
348345
ctx->bindResourceView(COMPOSITE_BSDF_FACTOR_INPUT, rtOutput.m_bsdfFactor.view, nullptr);
349346
ctx->bindResourceView(COMPOSITE_BSDF_FACTOR2_INPUT, restirGI.getBsdfFactor2().view, nullptr);
350-
ctx->bindResourceView(COMPOSITE_DIRECT_PIXEL_SAMPLING_RATE_INPUT, rtOutput.m_sparseRenderingDirectPixelSamplingRate.view, nullptr);
351-
ctx->bindResourceView(COMPOSITE_INDIRECT_PIXEL_SAMPLING_RATE_INPUT, rtOutput.m_sparseRenderingIndirectPixelSamplingRate.view, nullptr);
347+
ctx->bindResourceView(COMPOSITE_PIXEL_SAMPLING_RATE_INPUT, rtOutput.m_sparseRenderingPixelSamplingRate.view, nullptr);
352348
ctx->bindResourceView(COMPOSITE_ALPHA_GBUFFER_INPUT, rtOutput.m_alphaBlendGBuffer.view, nullptr);
353-
ctx->bindResourceView(COMPOSITE_ACTIVE_PIXEL_MASK_INPUT, rtOutput.m_sparseRenderingUnionActivePixelMask.view, nullptr);
354-
ctx->bindResourceView(COMPOSITE_ACTIVE_LOCAL_PIXEL_COORDS_INPUT, rtOutput.m_sparseRenderingUnionActiveLocalPixelCoords.view, nullptr);
355-
ctx->bindResourceView(COMPOSITE_DIRECT_ACTIVE_PIXEL_MASK_INPUT, rtOutput.m_sparseRenderingDirectActivePixelMask.view, nullptr);
356-
ctx->bindResourceView(COMPOSITE_INDIRECT_ACTIVE_PIXEL_MASK_INPUT, rtOutput.m_sparseRenderingIndirectActivePixelMask.view, nullptr);
349+
ctx->bindResourceView(COMPOSITE_ACTIVE_PIXEL_MASK_INPUT, rtOutput.m_sparseRenderingActivePixelMask.view, nullptr);
350+
ctx->bindResourceView(COMPOSITE_ACTIVE_LOCAL_PIXEL_COORDS_INPUT, rtOutput.m_sparseRenderingActiveLocalPixelCoords.view, nullptr);
357351

358352
// Note: Clamp to edge used to avoid interpolation to black on the edges of the view.
359353
Rc<DxvkSampler> linearSampler = ctx->getResourceManager().getSampler(VK_FILTER_LINEAR, VK_SAMPLER_MIPMAP_MODE_NEAREST, VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE);

src/dxvk/rtx_render/rtx_debug_view.cpp

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -340,26 +340,14 @@ namespace dxvk {
340340
" 1: World Normal\n"
341341
" 2: World Tangent\n"
342342
" 3: World Bitangent" },
343-
{DEBUG_VIEW_SPARSE_RENDERING_DIRECT_PIXEL_SAMPLING_RATE, "Sparse Rendering Direct Final Sampling Probability",
344-
"Shows the per-pixel direct-lighting final sampling probability." },
345-
{DEBUG_VIEW_SPARSE_RENDERING_INDIRECT_PIXEL_SAMPLING_RATE, "Sparse Rendering Indirect Final Sampling Probability",
346-
"Shows the per-pixel indirect-lighting final sampling probability." },
343+
{DEBUG_VIEW_SPARSE_RENDERING_PIXEL_SAMPLING_RATE, "Sparse Rendering Final Sampling Probability",
344+
"Shows the per-pixel final sampling probability." },
347345
{DEBUG_VIEW_SPARSE_RENDERING_ACTIVE_PIXELS_MASK, "Sparse Rendering Active Pixel Mask",
348346
"Shows the actual stochastic active pixels selected this frame." },
349-
{DEBUG_VIEW_SPARSE_RENDERING_DIRECT_ACTIVE_PIXELS_PERCENTAGE, "Sparse Rendering Direct Active Pixels Percentage",
350-
"Shows the per-pixel direct-lighting sampling probability." },
351-
{DEBUG_VIEW_SPARSE_RENDERING_INDIRECT_ACTIVE_PIXELS_PERCENTAGE, "Sparse Rendering Indirect Active Pixels Percentage",
352-
"Shows the per-pixel indirect-lighting sampling probability." },
353-
{DEBUG_VIEW_SPARSE_RENDERING_DIRECT_ACTIVE_PIXELS_OUTPUT_SCALE, "Sparse Rendering Direct Active Pixel Output Scale",
354-
"Shows 1 / direct sampling probability on pixels selected by the active pixel mask." },
355-
{DEBUG_VIEW_SPARSE_RENDERING_INDIRECT_ACTIVE_PIXELS_OUTPUT_SCALE, "Sparse Rendering Indirect Active Pixel Output Scale",
356-
"Shows 1 / indirect sampling probability on pixels selected by the active pixel mask." },
357-
{DEBUG_VIEW_SPARSE_RENDERING_UNION_ACTIVE_THREADS, "Sparse Rendering Union Active Threads",
358-
"Outputs 1 for pixels whose composite thread was union-active (direct or indirect active, or a primary miss)." },
359-
{DEBUG_VIEW_SPARSE_RENDERING_DIRECT_ACTIVE_THREADS, "Sparse Rendering Direct Active Threads",
360-
"Outputs 1 for pixels whose composite thread was direct-active." },
361-
{DEBUG_VIEW_SPARSE_RENDERING_INDIRECT_ACTIVE_THREADS, "Sparse Rendering Indirect Active Threads",
362-
"Outputs 1 for pixels whose composite thread was indirect-active." },
347+
{DEBUG_VIEW_SPARSE_RENDERING_ACTIVE_PIXELS_OUTPUT_SCALE, "Sparse Rendering Active Pixel Output Scale",
348+
"Shows 1 / sampling probability on pixels selected by the active pixel mask." },
349+
{DEBUG_VIEW_SPARSE_RENDERING_ACTIVE_THREADS, "Sparse Rendering Active Threads",
350+
"Outputs 1 for pixels whose composite thread was active (or a primary miss)." },
363351

364352
{DEBUG_VIEW_SHADOW_TERMINATOR_OFFSET, "Shadow Terminator Offset"},
365353
};

src/dxvk/rtx_render/rtx_demodulate.cpp

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,8 @@ namespace dxvk {
5555
TEXTURE2D(DEMODULATE_BINDING_SECONDARY_LINEAR_VIEW_Z_INPUT)
5656
TEXTURE2D(DEMODULATE_BINDING_SECONDARY_ALBEDO_INPUT)
5757
TEXTURE2D(DEMODULATE_BINDING_INDIRECT_RADIANCE_HIT_DISTANCE_INPUT)
58-
TEXTURE2D(DEMODULATE_BINDING_DIRECT_ACTIVE_PIXEL_MASK_INPUT)
59-
TEXTURE2D(DEMODULATE_BINDING_INDIRECT_ACTIVE_PIXEL_MASK_INPUT)
60-
TEXTURE2D(DEMODULATE_BINDING_DIRECT_PIXEL_SAMPLING_RATE_INPUT)
61-
TEXTURE2D(DEMODULATE_BINDING_INDIRECT_PIXEL_SAMPLING_RATE_INPUT)
58+
TEXTURE2D(DEMODULATE_BINDING_ACTIVE_PIXEL_MASK_INPUT)
59+
TEXTURE2D(DEMODULATE_BINDING_PIXEL_SAMPLING_RATE_INPUT)
6260
TEXTURE2D(DEMODULATE_BINDING_PRIMARY_BASE_REFLECTIVITY_INPUT)
6361
TEXTURE2D(DEMODULATE_BINDING_SECONDARY_BASE_REFLECTIVITY_INPUT)
6462
RW_TEXTURE2D(DEMODULATE_BINDING_PRIMARY_DIRECT_DIFFUSE_RADIANCE_INPUT_OUTPUT)
@@ -127,10 +125,8 @@ namespace dxvk {
127125
const bool suppressIndirectRadianceAliasCheck = isPrimaryIndirectRadianceResourceRead;
128126

129127
ctx->bindResourceView(DEMODULATE_BINDING_INDIRECT_RADIANCE_HIT_DISTANCE_INPUT, rtOutput.m_indirectRadianceHitDistance.view(Resources::AccessType::Read, !suppressIndirectRadianceAliasCheck), nullptr);
130-
ctx->bindResourceView(DEMODULATE_BINDING_DIRECT_ACTIVE_PIXEL_MASK_INPUT, rtOutput.m_sparseRenderingDirectActivePixelMask.view, nullptr);
131-
ctx->bindResourceView(DEMODULATE_BINDING_INDIRECT_ACTIVE_PIXEL_MASK_INPUT, rtOutput.m_sparseRenderingIndirectActivePixelMask.view, nullptr);
132-
ctx->bindResourceView(DEMODULATE_BINDING_DIRECT_PIXEL_SAMPLING_RATE_INPUT, rtOutput.m_sparseRenderingDirectPixelSamplingRate.view, nullptr);
133-
ctx->bindResourceView(DEMODULATE_BINDING_INDIRECT_PIXEL_SAMPLING_RATE_INPUT, rtOutput.m_sparseRenderingIndirectPixelSamplingRate.view, nullptr);
128+
ctx->bindResourceView(DEMODULATE_BINDING_ACTIVE_PIXEL_MASK_INPUT, rtOutput.m_sparseRenderingActivePixelMask.view, nullptr);
129+
ctx->bindResourceView(DEMODULATE_BINDING_PIXEL_SAMPLING_RATE_INPUT, rtOutput.m_sparseRenderingPixelSamplingRate.view, nullptr);
134130
ctx->bindResourceView(DEMODULATE_BINDING_PRIMARY_BASE_REFLECTIVITY_INPUT, rtOutput.m_primaryBaseReflectivity.view(Resources::AccessType::Read), nullptr);
135131
ctx->bindResourceView(DEMODULATE_BINDING_SECONDARY_BASE_REFLECTIVITY_INPUT, rtOutput.m_secondaryBaseReflectivity.view(Resources::AccessType::Read), nullptr);
136132

src/dxvk/rtx_render/rtx_neural_radiance_cache.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1060,7 +1060,7 @@ namespace dxvk {
10601060
ctx.bindResourceBuffer(NRC_RESOLVE_BINDING_NRC_DEBUG_TRAINING_PATH_INFO_INPUT_OUTPUT, m_nrcCtx->getBufferSlice(ctx, nrc::BufferIdx::DebugTrainingPathInfo));
10611061

10621062
ctx.bindResourceView(NRC_RESOLVE_BINDING_SHARED_FLAGS_INPUT, rtOutput.m_sharedFlags.view, nullptr);
1063-
ctx.bindResourceView(NRC_RESOLVE_BINDING_ACTIVE_LOCAL_PIXEL_COORDS_INPUT, rtOutput.m_sparseRenderingIndirectActiveLocalPixelCoords.view, nullptr);
1063+
ctx.bindResourceView(NRC_RESOLVE_BINDING_ACTIVE_LOCAL_PIXEL_COORDS_INPUT, rtOutput.m_sparseRenderingActiveLocalPixelCoords.view, nullptr);
10641064
ctx.bindResourceBuffer(NRC_RESOLVE_BINDING_RAYTRACE_ARGS_INPUT, DxvkBufferSlice(raytraceArgsBuffer, 0, raytraceArgsBuffer->info().size));
10651065

10661066
ctx.bindResourceView(NRC_RESOLVE_BINDING_PRIMARY_DIFFUSE_RADIANCE_HIT_DISTANCE_INPUT_OUTPUT, rtOutput.m_primaryIndirectDiffuseRadiance.view(Resources::AccessType::ReadWrite), nullptr);

src/dxvk/rtx_render/rtx_pathtracer_integrate_direct.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ namespace dxvk {
5656
TEXTURE2D(INTEGRATE_DIRECT_BINDING_SHARED_SUBSURFACE_DATA_INPUT)
5757
TEXTURE2D(INTEGRATE_DIRECT_BINDING_SHARED_SUBSURFACE_DIFFUSION_PROFILE_DATA_INPUT)
5858
TEXTURE2D(INTEGRATE_DIRECT_BINDING_ACTIVE_LOCAL_PIXEL_COORDS_INPUT)
59-
TEXTURE2D(INTEGRATE_DIRECT_BINDING_SPARSE_RENDERING_INDIRECT_ACTIVE_PIXEL_MASK_INPUT)
6059

6160
TEXTURE2D(INTEGRATE_DIRECT_BINDING_PRIMARY_WORLD_SHADING_NORMAL_INPUT)
6261
TEXTURE2D(INTEGRATE_DIRECT_BINDING_PRIMARY_PERCEPTUAL_ROUGHNESS_INPUT)
@@ -158,8 +157,7 @@ namespace dxvk {
158157
ctx->bindResourceView(INTEGRATE_DIRECT_BINDING_SHARED_SURFACE_INDEX_INPUT, rtOutput.m_sharedSurfaceIndex.view(Resources::AccessType::Read), nullptr);
159158
ctx->bindResourceView(INTEGRATE_DIRECT_BINDING_SHARED_SUBSURFACE_DATA_INPUT, rtOutput.m_sharedSubsurfaceData.view, nullptr);
160159
ctx->bindResourceView(INTEGRATE_DIRECT_BINDING_SHARED_SUBSURFACE_DIFFUSION_PROFILE_DATA_INPUT, rtOutput.m_sharedSubsurfaceDiffusionProfileData.view, nullptr);
161-
ctx->bindResourceView(INTEGRATE_DIRECT_BINDING_ACTIVE_LOCAL_PIXEL_COORDS_INPUT, rtOutput.m_sparseRenderingDirectActiveLocalPixelCoords.view, nullptr);
162-
ctx->bindResourceView(INTEGRATE_DIRECT_BINDING_SPARSE_RENDERING_INDIRECT_ACTIVE_PIXEL_MASK_INPUT, rtOutput.m_sparseRenderingIndirectActivePixelMask.view, nullptr);
160+
ctx->bindResourceView(INTEGRATE_DIRECT_BINDING_ACTIVE_LOCAL_PIXEL_COORDS_INPUT, rtOutput.m_sparseRenderingActiveLocalPixelCoords.view, nullptr);
163161

164162
ctx->bindResourceView(INTEGRATE_DIRECT_BINDING_PRIMARY_WORLD_SHADING_NORMAL_INPUT, rtOutput.m_primaryWorldShadingNormal.view, nullptr);
165163
ctx->bindResourceView(INTEGRATE_DIRECT_BINDING_PRIMARY_PERCEPTUAL_ROUGHNESS_INPUT, rtOutput.m_primaryPerceptualRoughness.view, nullptr);

src/dxvk/rtx_render/rtx_pathtracer_integrate_indirect.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ namespace dxvk {
427427
ctx->bindResourceView(INTEGRATE_INDIRECT_BINDING_PRIMARY_WORLD_POSITION_INPUT, rtOutput.getCurrentPrimaryWorldPositionWorldTriangleNormal().view(Resources::AccessType::Read), nullptr);
428428
ctx->bindResourceBuffer(INTEGRATE_INDIRECT_BINDING_PRIMARY_RTXDI_RESERVOIR, DxvkBufferSlice(rtOutput.m_rtxdiReservoirBuffer, 0, rtOutput.m_rtxdiReservoirBuffer->info().size));
429429
ctx->bindResourceView(INTEGRATE_INDIRECT_BINDING_RAY_ORIGIN_DIRECTION_INPUT, rtOutput.m_indirectRayOriginDirection.view(Resources::AccessType::Read), nullptr);
430-
ctx->bindResourceView(INTEGRATE_INDIRECT_BINDING_ACTIVE_LOCAL_PIXEL_COORDS_INPUT, rtOutput.m_sparseRenderingIndirectActiveLocalPixelCoords.view, nullptr);
430+
ctx->bindResourceView(INTEGRATE_INDIRECT_BINDING_ACTIVE_LOCAL_PIXEL_COORDS_INPUT, rtOutput.m_sparseRenderingActiveLocalPixelCoords.view, nullptr);
431431
ctx->bindResourceView(INTEGRATE_INDIRECT_BINDING_FIRST_HIT_PERCEPTUAL_ROUGHNESS_INPUT, rtOutput.m_indirectFirstHitPerceptualRoughness.view(Resources::AccessType::Read), nullptr);
432432
ctx->bindResourceView(INTEGRATE_INDIRECT_BINDING_LAST_GBUFFER_INPUT, rtOutput.m_gbufferLast.view, nullptr);
433433
ctx->bindResourceView(INTEGRATE_INDIRECT_BINDING_PREV_WORLD_POSITION_INPUT, rtOutput.getPreviousPrimaryWorldPositionWorldTriangleNormal().view(Resources::AccessType::Read, rtOutput.getPreviousPrimaryWorldPositionWorldTriangleNormal().matchesWriteFrameIdx(frameIdx - 1)), nullptr);
@@ -544,7 +544,7 @@ namespace dxvk {
544544
ctx->bindResourceView(INTEGRATE_NEE_BINDING_SHARED_SURFACE_INDEX_INPUT, rtOutput.m_sharedSurfaceIndex.view(Resources::AccessType::Read), nullptr);
545545
ctx->bindResourceView(INTEGRATE_NEE_BINDING_SHARED_SUBSURFACE_DATA_INPUT, rtOutput.m_sharedSubsurfaceData.view, nullptr);
546546
ctx->bindResourceView(INTEGRATE_NEE_BINDING_SHARED_SUBSURFACE_DIFFUSION_PROFILE_DATA_INPUT, rtOutput.m_sharedSubsurfaceDiffusionProfileData.view, nullptr);
547-
ctx->bindResourceView(INTEGRATE_NEE_BINDING_ACTIVE_LOCAL_PIXEL_COORDS_INPUT, rtOutput.m_sparseRenderingIndirectActiveLocalPixelCoords.view, nullptr);
547+
ctx->bindResourceView(INTEGRATE_NEE_BINDING_ACTIVE_LOCAL_PIXEL_COORDS_INPUT, rtOutput.m_sparseRenderingActiveLocalPixelCoords.view, nullptr);
548548

549549
ctx->bindResourceView(INTEGRATE_NEE_BINDING_PRIMARY_WORLD_SHADING_NORMAL_INPUT, rtOutput.m_primaryWorldShadingNormal.view, nullptr);
550550
ctx->bindResourceView(INTEGRATE_NEE_BINDING_PRIMARY_PERCEPTUAL_ROUGHNESS_INPUT, rtOutput.m_primaryPerceptualRoughness.view, nullptr);

0 commit comments

Comments
 (0)