diff --git a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/Upscaler.cs b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/Upscaler.cs index 4ac5575..b956dc7 100644 --- a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/Upscaler.cs +++ b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Runtime/Effects/Upscaling/Upscaler.cs @@ -19,16 +19,12 @@ namespace UnityEngine.Rendering.PostProcessing public abstract void Render(PostProcessRenderContext context, Upscaling config); - private ConstantsBuffer _prepareInputsConstants; - protected bool PrepareInputs(CommandBuffer cmd, PostProcessRenderContext context, Upscaling config, RenderTexture rwColor = null, RenderTexture rwDepth = null, RenderTexture rwMotionVectors = null) { ComputeShader shader = context.resources.computeShaders.prepareInputs; if (shader == null) return false; - _prepareInputsConstants ??= ConstantsBuffer.Create(); - Vector2Int scaledRenderSize = config.GetScaledRenderSize(context.camera); const int threadGroupWorkRegionDim = 8; @@ -37,11 +33,6 @@ namespace UnityEngine.Rendering.PostProcessing cmd.BeginSample("Prepare Inputs"); - _prepareInputsConstants.Value.prepareColor = rwColor != null ? 1 : 0; - _prepareInputsConstants.Value.prepareDepth = rwDepth != null ? 1 : 0; - _prepareInputsConstants.Value.prepareMotionVectors = rwMotionVectors != null ? 1 : 0; - _prepareInputsConstants.UpdateBufferData(cmd); - int kernelIndex = shader.FindKernel("CS"); cmd.SetComputeTextureParam(shader, kernelIndex, "InColor", context.source, 0, RenderTextureSubElement.Color); cmd.SetComputeTextureParam(shader, kernelIndex, "InDepth", Upscaling.GetDepthTexture(context.camera), 0, RenderTextureSubElement.Depth); @@ -51,22 +42,11 @@ namespace UnityEngine.Rendering.PostProcessing cmd.SetComputeTextureParam(shader, kernelIndex, "OutDepth", rwDepth != null ? rwDepth : BuiltinRenderTextureType.None); cmd.SetComputeTextureParam(shader, kernelIndex, "OutMotionVectors", rwMotionVectors != null ? rwMotionVectors : BuiltinRenderTextureType.None); - cmd.SetComputeConstantBufferParam(shader, "Params", _prepareInputsConstants, 0, Marshal.SizeOf()); - cmd.DispatchCompute(shader, kernelIndex, dispatchSrcX, dispatchSrcY, 1); cmd.EndSample("Prepare Inputs"); return true; } - - [Serializable, StructLayout(LayoutKind.Sequential)] - internal struct PrepareInputsConstants - { - public int prepareColor; - public int prepareDepth; - public int prepareMotionVectors; - public int pad; - } private ConstantsBuffer _reactiveMaskConstants; private RenderTexture _reactiveMask; diff --git a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Shaders/Builtins/PrepareInputs.compute b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Shaders/Builtins/PrepareInputs.compute index b24413f..c1714f6 100644 --- a/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Shaders/Builtins/PrepareInputs.compute +++ b/Packages/com.unity.postprocessing@3.2.2/PostProcessing/Shaders/Builtins/PrepareInputs.compute @@ -8,20 +8,12 @@ RWTexture2D OutColor: register(u0); RWTexture2D OutDepth: register(u1); RWTexture2D OutMotionVectors: register(u2); -cbuffer Params: register(b0) -{ - int prepareColor; - int prepareDepth; - int prepareMotionVectors; - int pad; -}; - [numthreads(8, 8, 1)] void CS(uint3 dtid : SV_DispatchThreadID) { uint2 InputPos = dtid.xy; - if (prepareColor) OutColor[InputPos] = InColor[InputPos]; - if (prepareDepth) OutDepth[InputPos] = InDepth[InputPos]; - if (prepareMotionVectors) OutMotionVectors[InputPos] = InMotionVectors[InputPos]; + OutColor[InputPos] = InColor[InputPos]; + OutDepth[InputPos] = InDepth[InputPos]; + OutMotionVectors[InputPos] = InMotionVectors[InputPos]; }