|
|
@ -66,9 +66,6 @@ namespace FidelityFX |
|
|
// Set up shared aliasable resources, i.e. temporary render textures
|
|
|
// Set up shared aliasable resources, i.e. temporary render textures
|
|
|
// These do not need to persist between frames, but they do need to be available between passes
|
|
|
// These do not need to persist between frames, but they do need to be available between passes
|
|
|
|
|
|
|
|
|
// Resource FSR2_SpdAtomicCounter: FFX_RESOURCE_USAGE_UAV, FFX_SURFACE_FORMAT_R32_UINT, FFX_RESOURCE_FLAGS_ALIASABLE
|
|
|
|
|
|
commandBuffer.GetTemporaryRT(Fsr2ShaderIDs.UavSpdAtomicCount, 1, 1, 0, default, GraphicsFormat.R32_UInt, 1, true); |
|
|
|
|
|
|
|
|
|
|
|
// FSR2_ReconstructedPrevNearestDepth: FFX_RESOURCE_USAGE_UAV, FFX_SURFACE_FORMAT_R32_UINT, FFX_RESOURCE_FLAGS_ALIASABLE
|
|
|
// FSR2_ReconstructedPrevNearestDepth: FFX_RESOURCE_USAGE_UAV, FFX_SURFACE_FORMAT_R32_UINT, FFX_RESOURCE_FLAGS_ALIASABLE
|
|
|
commandBuffer.GetTemporaryRT(Fsr2ShaderIDs.UavReconstructedPrevNearestDepth, maxRenderSize.x, maxRenderSize.y, 0, default, GraphicsFormat.R32_UInt, 1, true); |
|
|
commandBuffer.GetTemporaryRT(Fsr2ShaderIDs.UavReconstructedPrevNearestDepth, maxRenderSize.x, maxRenderSize.y, 0, default, GraphicsFormat.R32_UInt, 1, true); |
|
|
|
|
|
|
|
|
@ -91,7 +88,6 @@ namespace FidelityFX |
|
|
public static void UnregisterResources(CommandBuffer commandBuffer) |
|
|
public static void UnregisterResources(CommandBuffer commandBuffer) |
|
|
{ |
|
|
{ |
|
|
// Release all of the aliasable resources used this frame
|
|
|
// Release all of the aliasable resources used this frame
|
|
|
commandBuffer.ReleaseTemporaryRT(Fsr2ShaderIDs.UavSpdAtomicCount); |
|
|
|
|
|
commandBuffer.ReleaseTemporaryRT(Fsr2ShaderIDs.UavReconstructedPrevNearestDepth); |
|
|
commandBuffer.ReleaseTemporaryRT(Fsr2ShaderIDs.UavReconstructedPrevNearestDepth); |
|
|
commandBuffer.ReleaseTemporaryRT(Fsr2ShaderIDs.UavDilatedDepth); |
|
|
commandBuffer.ReleaseTemporaryRT(Fsr2ShaderIDs.UavDilatedDepth); |
|
|
commandBuffer.ReleaseTemporaryRT(Fsr2ShaderIDs.UavLockInputLuma); |
|
|
commandBuffer.ReleaseTemporaryRT(Fsr2ShaderIDs.UavLockInputLuma); |
|
|
@ -175,6 +171,7 @@ namespace FidelityFX |
|
|
if (dispatchParams.Color.HasValue) |
|
|
if (dispatchParams.Color.HasValue) |
|
|
commandBuffer.SetComputeTextureParam(ComputeShader, KernelIndex, Fsr2ShaderIDs.SrvInputColor, dispatchParams.Color.Value, 0, RenderTextureSubElement.Color); |
|
|
commandBuffer.SetComputeTextureParam(ComputeShader, KernelIndex, Fsr2ShaderIDs.SrvInputColor, dispatchParams.Color.Value, 0, RenderTextureSubElement.Color); |
|
|
|
|
|
|
|
|
|
|
|
commandBuffer.SetComputeTextureParam(ComputeShader, KernelIndex, Fsr2ShaderIDs.UavSpdAtomicCount, Resources.SpdAtomicCounter); |
|
|
commandBuffer.SetComputeTextureParam(ComputeShader, KernelIndex, Fsr2ShaderIDs.UavExposureMipLumaChange, Resources.SceneLuminance, ShadingChangeMipLevel); |
|
|
commandBuffer.SetComputeTextureParam(ComputeShader, KernelIndex, Fsr2ShaderIDs.UavExposureMipLumaChange, Resources.SceneLuminance, ShadingChangeMipLevel); |
|
|
commandBuffer.SetComputeTextureParam(ComputeShader, KernelIndex, Fsr2ShaderIDs.UavExposureMip5, Resources.SceneLuminance, 5); |
|
|
commandBuffer.SetComputeTextureParam(ComputeShader, KernelIndex, Fsr2ShaderIDs.UavExposureMip5, Resources.SceneLuminance, 5); |
|
|
commandBuffer.SetComputeTextureParam(ComputeShader, KernelIndex, Fsr2ShaderIDs.UavAutoExposure, Resources.AutoExposure); |
|
|
commandBuffer.SetComputeTextureParam(ComputeShader, KernelIndex, Fsr2ShaderIDs.UavAutoExposure, Resources.AutoExposure); |
|
|
|