|
|
|
@ -8,6 +8,8 @@ namespace FidelityFX |
|
|
|
{ |
|
|
|
internal abstract class Fsr2Pipeline: IDisposable |
|
|
|
{ |
|
|
|
internal const int ShadingChangeMipLevel = 4; // Corresponds to FFX_FSR2_SHADING_CHANGE_MIP_LEVEL define
|
|
|
|
|
|
|
|
private readonly Fsr2Callbacks _callbacks; |
|
|
|
protected readonly ComputeBuffer Constants; |
|
|
|
|
|
|
|
@ -57,8 +59,8 @@ namespace FidelityFX |
|
|
|
commandBuffer.GetTemporaryRT(UavSpdAtomicCount, 1, 1, 0, FilterMode.Point, GraphicsFormat.R32_UInt, 1, true); |
|
|
|
|
|
|
|
// Resource FSR2_ExposureMips: FFX_RESOURCE_USAGE_UAV, FFX_SURFACE_FORMAT_R16_FLOAT, FFX_RESOURCE_FLAGS_ALIASABLE, has mipmap chain
|
|
|
|
commandBuffer.GetTemporaryRT(UavExposureMipLumaChange, dispatchParams.RenderSize.x >> 4, dispatchParams.RenderSize.y >> 4, 0, FilterMode.Point, GraphicsFormat.R16_SFloat, 1, true); |
|
|
|
commandBuffer.GetTemporaryRT(UavExposureMip5, dispatchParams.RenderSize.x >> 5, dispatchParams.RenderSize.y >> 5, 0, FilterMode.Point, GraphicsFormat.R16_SFloat, 1, true); |
|
|
|
commandBuffer.GetTemporaryRT(UavExposureMipLumaChange, dispatchParams.RenderSize.x >> (ShadingChangeMipLevel + 1), dispatchParams.RenderSize.y >> (ShadingChangeMipLevel + 1), 0, FilterMode.Point, GraphicsFormat.R16_SFloat, 1, true); |
|
|
|
commandBuffer.GetTemporaryRT(UavExposureMip5, dispatchParams.RenderSize.x >> 6, dispatchParams.RenderSize.y >> 6, 0, FilterMode.Point, GraphicsFormat.R16_SFloat, 1, true); |
|
|
|
} |
|
|
|
|
|
|
|
public static void UnregisterResources(CommandBuffer commandBuffer) |
|
|
|
|