Skip to content
This repository was archived by the owner on Nov 30, 2020. It is now read-only.

Commit 2b1d27a

Browse files
committed
Constant buffer packing in MSVO
1 parent 9f6aff9 commit 2b1d27a

3 files changed

Lines changed: 12 additions & 12 deletions

File tree

PostProcessing/Runtime/Effects/MultiScaleVO.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -467,8 +467,7 @@ void PushRenderCommands(PostProcessRenderContext context, CommandBuffer cmd, RTH
467467
cmd.SetComputeFloatParams(cs, "gInvThicknessTable", m_InvThicknessTable);
468468
cmd.SetComputeFloatParams(cs, "gSampleWeightTable", m_SampleWeightTable);
469469
cmd.SetComputeVectorParam(cs, "gInvSliceDimension", source.inverseDimensions);
470-
cmd.SetComputeFloatParam(cs, "gRejectFadeoff", -1f / thicknessModifier);
471-
cmd.SetComputeFloatParam(cs, "gIntensity", intensity);
470+
cmd.SetComputeVectorParam(cs, "AdditionalParams", new Vector2(-1f / thicknessModifier, intensity));
472471
cmd.SetComputeTextureParam(cs, kernel, "DepthTex", source.id);
473472
cmd.SetComputeTextureParam(cs, kernel, "Occlusion", dest.id);
474473

@@ -503,10 +502,7 @@ RTHandle dest
503502

504503
cmd.SetComputeVectorParam(cs, "InvLowResolution", lowResDepth.inverseDimensions);
505504
cmd.SetComputeVectorParam(cs, "InvHighResolution", highResDepth.inverseDimensions);
506-
cmd.SetComputeFloatParam(cs, "NoiseFilterStrength", noiseFilterWeight);
507-
cmd.SetComputeFloatParam(cs, "StepSize", stepSize);
508-
cmd.SetComputeFloatParam(cs, "kBlurTolerance", bTolerance);
509-
cmd.SetComputeFloatParam(cs, "kUpsampleTolerance", uTolerance);
505+
cmd.SetComputeVectorParam(cs, "AdditionalParams", new Vector4(noiseFilterWeight, stepSize, bTolerance, uTolerance));
510506

511507
cmd.SetComputeTextureParam(cs, kernel, "LoResDB", lowResDepth.id);
512508
cmd.SetComputeTextureParam(cs, kernel, "HiResDB", highResDepth.id);

PostProcessing/Shaders/Builtins/MultiScaleVORender.compute

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,12 @@ CBUFFER_START(CB1)
4040
float4 gInvThicknessTable[3];
4141
float4 gSampleWeightTable[3];
4242
float4 gInvSliceDimension;
43-
float gRejectFadeoff;
44-
float gIntensity;
43+
float2 AdditionalParams;
4544
CBUFFER_END
4645

46+
#define gRejectFadeoff AdditionalParams.x
47+
#define gIntensity AdditionalParams.y
48+
4749
#if WIDE_SAMPLING
4850
// 32x32 cache size: the 16x16 in the center forms the area of focus with the 8-pixel perimeter used for wide gathering.
4951
#define TILE_DIM 32

PostProcessing/Shaders/Builtins/MultiScaleVOUpsample.compute

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,14 @@ RWTexture2D<float> AoResult;
4141
CBUFFER_START(CB1)
4242
float4 InvLowResolution;
4343
float4 InvHighResolution;
44-
float NoiseFilterStrength;
45-
float StepSize;
46-
float kBlurTolerance;
47-
float kUpsampleTolerance;
44+
float4 AdditionalParams;
4845
CBUFFER_END
4946

47+
#define NoiseFilterStrength AdditionalParams.x
48+
#define StepSize AdditionalParams.y
49+
#define kBlurTolerance AdditionalParams.z
50+
#define kUpsampleTolerance AdditionalParams.w
51+
5052
groupshared float DepthCache[256];
5153
groupshared float AOCache1[256];
5254
groupshared float AOCache2[256];

0 commit comments

Comments
 (0)