diff --git a/ffx-reflection-dnsr/ffx_denoiser_reflections_common.h b/ffx-reflection-dnsr/ffx_denoiser_reflections_common.h index 393398b..9314825 100644 --- a/ffx-reflection-dnsr/ffx_denoiser_reflections_common.h +++ b/ffx-reflection-dnsr/ffx_denoiser_reflections_common.h @@ -76,7 +76,7 @@ min16float4 FFX_DNSR_Reflections_UnpackFloat16_4(uint2 a) { return min16float4(F // Rounds value to the nearest multiple of 8 uint2 FFX_DNSR_Reflections_RoundUp8(uint2 value) { uint2 round_down = value & ~0b111; - return (round_down == value) ? value : value + 8; + return select((round_down == value), value, value + 8); } // From "Temporal Reprojection Anti-Aliasing" @@ -140,4 +140,4 @@ min16float FFX_DNSR_Reflections_LocalNeighborhoodKernelWeight(min16float i) { #endif // FFX_DNSR_REFLECTIONS_ESTIMATES_LOCAL_NEIGHBORHOOD -#endif // FFX_DNSR_REFLECTIONS_COMMON \ No newline at end of file +#endif // FFX_DNSR_REFLECTIONS_COMMON diff --git a/ffx-reflection-dnsr/ffx_denoiser_reflections_prefilter.h b/ffx-reflection-dnsr/ffx_denoiser_reflections_prefilter.h index cebdaec..6d5b17c 100644 --- a/ffx-reflection-dnsr/ffx_denoiser_reflections_prefilter.h +++ b/ffx-reflection-dnsr/ffx_denoiser_reflections_prefilter.h @@ -45,12 +45,12 @@ FFX_DNSR_Reflections_NeighborhoodSample FFX_DNSR_Reflections_LoadFromGroupShared uint2 packed_normal_variance = uint2(g_ffx_dnsr_shared_2[idx.y][idx.x], g_ffx_dnsr_shared_3[idx.y][idx.x]); min16float4 unpacked_normal_variance = FFX_DNSR_Reflections_UnpackFloat16_4(packed_normal_variance); - FFX_DNSR_Reflections_NeighborhoodSample sample; - sample.radiance = unpacked_radiance.xyz; - sample.normal = unpacked_normal_variance.xyz; - sample.variance = unpacked_normal_variance.w; - sample.depth = g_ffx_dnsr_shared_depth[idx.y][idx.x]; - return sample; + FFX_DNSR_Reflections_NeighborhoodSample neighborSample; + neighborSample.radiance = unpacked_radiance.xyz; + neighborSample.normal = unpacked_normal_variance.xyz; + neighborSample.variance = unpacked_normal_variance.w; + neighborSample.depth = g_ffx_dnsr_shared_depth[idx.y][idx.x]; + return neighborSample; } void FFX_DNSR_Reflections_StoreInGroupSharedMemory(int2 group_thread_id, min16float3 radiance, min16float variance, min16float3 normal, float depth) { @@ -158,4 +158,4 @@ void FFX_DNSR_Reflections_Prefilter(int2 dispatch_thread_id, int2 group_thread_i FFX_DNSR_Reflections_StorePrefilteredReflections(dispatch_thread_id, resolved_radiance, resolved_variance); } -#endif // FFX_DNSR_REFLECTIONS_PREFILTER \ No newline at end of file +#endif // FFX_DNSR_REFLECTIONS_PREFILTER diff --git a/ffx-reflection-dnsr/ffx_denoiser_reflections_reproject.h b/ffx-reflection-dnsr/ffx_denoiser_reflections_reproject.h index 06e9259..3a9785a 100644 --- a/ffx-reflection-dnsr/ffx_denoiser_reflections_reproject.h +++ b/ffx-reflection-dnsr/ffx_denoiser_reflections_reproject.h @@ -37,9 +37,9 @@ FFX_DNSR_Reflections_NeighborhoodSample FFX_DNSR_Reflections_LoadFromGroupShared uint2 packed_radiance = uint2(g_ffx_dnsr_shared_0[idx.y][idx.x], g_ffx_dnsr_shared_1[idx.y][idx.x]); min16float4 unpacked_radiance = FFX_DNSR_Reflections_UnpackFloat16_4(packed_radiance); - FFX_DNSR_Reflections_NeighborhoodSample sample; - sample.radiance = unpacked_radiance.xyz; - return sample; + FFX_DNSR_Reflections_NeighborhoodSample neighborSample; + neighborSample.radiance = unpacked_radiance.xyz; + return neighborSample; } void FFX_DNSR_Reflections_StoreInGroupSharedMemory(int2 group_thread_id, min16float3 radiance) { @@ -162,6 +162,7 @@ void FFX_DNSR_Reflections_PickReprojection(int2 dispatch_thread_id, min16float3 normal = FFX_DNSR_Reflections_LoadWorldSpaceNormal(dispatch_thread_id); min16float3 history_normal; float history_linear_depth; + reprojection_uv = float2(0,0); { const float2 motion_vector = FFX_DNSR_Reflections_LoadMotionVector(dispatch_thread_id); @@ -292,9 +293,9 @@ void FFX_DNSR_Reflections_Reproject(int2 dispatch_thread_id, int2 group_thread_i const min16float ray_length = FFX_DNSR_Reflections_LoadRayLength(dispatch_thread_id); if (FFX_DNSR_Reflections_IsGlossyReflection(roughness)) { - min16float disocclusion_factor; - float2 reprojection_uv; - min16float3 reprojection; + min16float disocclusion_factor = 0; + float2 reprojection_uv = 0; + min16float3 reprojection = 0; FFX_DNSR_Reflections_PickReprojection(/*in*/ dispatch_thread_id, /* in */ group_thread_id, /* in */ screen_size, @@ -366,4 +367,4 @@ void FFX_DNSR_Reflections_Reproject(int2 dispatch_thread_id, int2 group_thread_i } } -#endif // FFX_DNSR_REFLECTIONS_REPROJECT \ No newline at end of file +#endif // FFX_DNSR_REFLECTIONS_REPROJECT diff --git a/ffx-reflection-dnsr/ffx_denoiser_reflections_resolve_temporal.h b/ffx-reflection-dnsr/ffx_denoiser_reflections_resolve_temporal.h index 1362941..aec2ce6 100644 --- a/ffx-reflection-dnsr/ffx_denoiser_reflections_resolve_temporal.h +++ b/ffx-reflection-dnsr/ffx_denoiser_reflections_resolve_temporal.h @@ -37,9 +37,9 @@ FFX_DNSR_Reflections_NeighborhoodSample FFX_DNSR_Reflections_LoadFromGroupShared uint2 packed_radiance = uint2(g_ffx_dnsr_shared_0[idx.y][idx.x], g_ffx_dnsr_shared_1[idx.y][idx.x]); min16float3 unpacked_radiance = FFX_DNSR_Reflections_UnpackFloat16_4(packed_radiance).xyz; - FFX_DNSR_Reflections_NeighborhoodSample sample; - sample.radiance = unpacked_radiance; - return sample; + FFX_DNSR_Reflections_NeighborhoodSample neighborSample; + neighborSample.radiance = unpacked_radiance; + return neighborSample; } struct FFX_DNSR_Reflections_Moments { @@ -143,4 +143,4 @@ void FFX_DNSR_Reflections_ResolveTemporal(int2 dispatch_thread_id, int2 group_th FFX_DNSR_Reflections_StoreTemporalAccumulation(dispatch_thread_id, new_signal, new_variance); } -#endif // FFX_DNSR_REFLECTIONS_RESOLVE_TEMPORAL \ No newline at end of file +#endif // FFX_DNSR_REFLECTIONS_RESOLVE_TEMPORAL