FidelityFX SPD
FidelityFX SPD
FidelityFX 单通道降采样器运行时库。
Defines
FFX_SPD_VERSION_MAJOR
#define FFX_SPD_VERSION_MAJOR (2)FidelityFX SPD 主版本号。
来源: sdk/include/FidelityFX/host/ffx_spd.h (第 38 行, 第 9 列)
FFX_SPD_VERSION_MINOR
#define FFX_SPD_VERSION_MINOR (2)FidelityFX SPD 次版本号。
来源: sdk/include/FidelityFX/host/ffx_spd.h (第 43 行, 第 9 列)
FFX_SPD_VERSION_PATCH
#define FFX_SPD_VERSION_PATCH (0)FidelityFX SPD 修补版本号。
来源: sdk/include/FidelityFX/host/ffx_spd.h (第 48 行, 第 9 列)
FFX_SPD_CONTEXT_COUNT
#define FFX_SPD_CONTEXT_COUNT 1FidelityFX SPD 上下文数量。
定义 SPD 所需的内部效果上下文数量
来源: sdk/include/FidelityFX/host/ffx_spd.h (第 55 行, 第 9 列)
FFX_SPD_CONTEXT_SIZE
#define FFX_SPD_CONTEXT_SIZE (9300)以 32 位值为单位指定的上下文大小。
来源: sdk/include/FidelityFX/host/ffx_spd.h (第 60 行, 第 9 列)
SPD_MAX_MIP_LEVELS
#define SPD_MAX_MIP_LEVELS 12如果此值发生更改,则还需要反映在 ffx_spd_resources.h 中的资源数量变化。
来源: sdk/include/FidelityFX/host/ffx_spd.h (第 66 行, 第 9 列)
函数
ffxSpdContextCreate
FFX_API FfxErrorCode ffxSpdContextCreate(FfxSpdContext *pContext, const FfxSpdContextDescription *pContextDescription)根据 FfxSpdContextDescription 结构中编程的参数,创建 FidelityFX 单通道降采样器上下文。
上下文结构是与单通道降采样器 API 交互的主要对象,并负责管理 SPD 算法使用的内部资源。调用此 API 时,将通过 backendInterface 结构中包含的指针进行多次调用。此后端将尝试检索设备功能,并创建 SPD 正常运行所需的内部资源和管道。根据创建 FfxSpdContext 时使用的具体配置,可能会通过回调函数请求不同的资源和管道集。
应在 SPD 的使用完毕时销毁 FfxSpdContext,通常在应用程序卸载或用户禁用 SPD 缩放时。要销毁 SPD 上下文,应调用 ffxSpdContextDestroy。
参数
pContext(FfxSpdContext *)– [输出] 指向要填充的 FfxSpdContext 结构的指针。pContextDescription(const FfxSpdContextDescription *)– [输入] 指向 FfxSpdContextDescription 结构的指针。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_spd.h (第 183 行, 第 22 列)
ffxSpdContextDispatch
FFX_API FfxErrorCode ffxSpdContextDispatch(FfxSpdContext *pContext, const FfxSpdDispatchDescription *pDispatchDescription)将工作调度到 FidelityFX SPD 上下文中。
参数
pContext(FfxSpdContext *)– [输出] 指向要填充的 FfxSpdContext 结构的指针。pDispatchDescription(const FfxSpdDispatchDescription *)– [输入] 指向 FfxSpdDispatchDescription 结构的指针。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_spd.h (第 198 行, 第 22 列)
ffxSpdContextDestroy
FFX_API FfxErrorCode ffxSpdContextDestroy(FfxSpdContext *pContext)销毁 FidelityFX SPD 上下文。
参数
pContext(FfxSpdContext *)– [输出] 指向要销毁的 FfxSpdContext 结构的指针。
返回: FFX_API FfxErrorCode
来源: sdk/include/FidelityFX/host/ffx_spd.h (第 210 行, 第 22 列)
ffxSpdGetEffectVersion
FFX_API FfxVersionNumber ffxSpdGetEffectVersion()查询效果版本号。
返回: 构建该效果的 SDK 版本。
返回: FFX_API FfxVersionNumber
来源: sdk/include/FidelityFX/host/ffx_spd.h (第 218 行, 第 26 列)
枚举
FfxSpdPass
enum FfxSpdPass构成 SPD 算法的通道的枚举。
SPD 作为单通道算法实现。每次调用 FfxSPDScheduleGpuJobFunc 回调函数将对应一个降采样作业。有关 SPD 内部工作原理的更全面描述,请参阅 SPD 参考文档。
值
FFX_SPD_PASS_DOWNSAMPLE
FFX_SPD_PASS_DOWNSAMPLE = 0一个用于降采样所有 mip 的通道。
FFX_SPD_PASS_COUNT
SPD 中的通道数量。
来源: sdk/include/FidelityFX/host/ffx_spd.h (第 81 行, 第 1 列)
FfxSpdInitializationFlagBits
enum FfxSpdInitializationFlagBits创建 FfxSpdContext 时使用的位标志的枚举。请参阅 FfxSpdContextDescription。
值
FFX_SPD_SAMPLER_LOAD
FFX_SPD_SAMPLER_LOAD = (1 <<0)一个标志,指示是否应使用资源加载(优先加载而不是采样器)
FFX_SPD_SAMPLER_LINEAR
FFX_SPD_SAMPLER_LINEAR = (1 <<1)一个标志,指示是否应使用采样器加载资源。
FFX_SPD_WAVE_INTEROP_LDS
FFX_SPD_WAVE_INTEROP_LDS = (1 <<2)一个标志,指示是否应使用 LDS。
FFX_SPD_WAVE_INTEROP_WAVE_OPS
FFX_SPD_WAVE_INTEROP_WAVE_OPS = (1 <<3)一个标志,指示是否应使用 WAVE OPS(优先使用 wave ops 而不是 LDS)
FFX_SPD_MATH_NONPACKED
FFX_SPD_MATH_NONPACKED = (1 <<4)一个标志,指示是否应使用浮点数学。
FFX_SPD_MATH_PACKED
FFX_SPD_MATH_PACKED = (1 <<5)一个标志,指示是否应使用 16 位半精度浮点数学(优先使用)
来源: sdk/include/FidelityFX/host/ffx_spd.h (第 101 行, 第 1 列)
依赖项: FfxSpdContext, FfxSpdContextDescription, FfxSpdDispatchDescription