跳至内容

FfxInterface

struct FfxInterface

封装 FfxInterface 核心实现与最终应调用的图形 API 之间的接口的结构。

这组函数充当 FfxInterface 与用于实现它的 API 之间的抽象层。虽然 FidelityFX SDK 附带了 DirectX12 和 Vulkan 的后端,但也可以为其他平台实现自定义后端,这些后端位于引擎自己的抽象层之上。有关每个函数预期功能的详细信息,请参阅以下函数指针类型的描述:FfxCreateDeviceFunc FfxGetDeviceCapabilitiesFunc FfxDestroyDeviceFunc FfxCreateResourceFunc FfxRegisterResourceFunc FfxGetResourceFunc FfxUnregisterResourcesFunc FfxGetResourceDescriptionFunc FfxDestroyResourceFunc FfxCreatePipelineFunc FfxDestroyPipelineFunc FfxScheduleGpuJobFunc FfxExecuteGpuJobsFunc FfxBeginMarkerFunc FfxEndMarkerFunc FfxRegisterConstantBufferAllocatorFunc

取决于后端所抽象的图形 API,后端可能在一定程度上是状态ful 的。为了确保应用程序能够完全控制 FidelityFX SDK 使用的内存,提供了 scratchBuffer 和 scratchBufferSize 字段。后端应提供一种指定其内部实现所需的 scratch 内存量的方法(例如,通过函数或常量值)。然后,应用程序负责分配该内存并在设置 SDK 后端时提供它。FidelityFX SDK 提供的后端不会执行动态内存分配,而是从提供的 scratch 缓冲区中分配所有内存。

scratchBuffer 和 scratchBufferSize 字段应根据每个后端的需要进行填充。例如,如果使用 DirectX 12 后端,则应调用 ffxGetScratchMemorySizeDX12 函数。自定义后端实现不要求使用 scratch 缓冲区。

对该接口的任何功能性添加都要求版本号增加,以确保跨效果和后端的完整功能。

公共接口

公共成员

FfxGetSDKVersionFunc fpGetSDKVersion

FfxGetSDKVersionFunc fpGetSDKVersion

用于查询 SDK 版本的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 625 行, 第 40 列)

FfxGetEffectGpuMemoryUsageFunc fpGetEffectGpuMemoryUsage

FfxGetEffectGpuMemoryUsageFunc fpGetEffectGpuMemoryUsage

用于查询 effect GPU 内存使用量的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 626 行, 第 40 列)

FfxCreateBackendContextFunc fpCreateBackendContext

FfxCreateBackendContextFunc fpCreateBackendContext

用于创建和初始化后端上下文的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 627 行, 第 40 列)

FfxGetDeviceCapabilitiesFunc fpGetDeviceCapabilities

FfxGetDeviceCapabilitiesFunc fpGetDeviceCapabilities

用于查询设备功能的 ist/回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 628 行, 第 40 列)

FfxDestroyBackendContextFunc fpDestroyBackendContext

FfxDestroyBackendContextFunc fpDestroyBackendContext

用于销毁后端上下文的回调函数。此操作还会取消引用设备。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 629 行, 第 40 列)

FfxCreateResourceFunc fpCreateResource

FfxCreateResourceFunc fpCreateResource

用于创建资源的 ist/回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 630 行, 第 40 列)

FfxRegisterResourceFunc fpRegisterResource

FfxRegisterResourceFunc fpRegisterResource

用于注册外部资源的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 631 行, 第 40 列)

FfxGetResourceFunc fpGetResource

FfxGetResourceFunc fpGetResource

用于将内部资源转换为外部资源类型的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 632 行, 第 40 列)

FfxUnregisterResourcesFunc fpUnregisterResources

FfxUnregisterResourcesFunc fpUnregisterResources

用于注销外部资源的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 633 行, 第 40 列)

FfxRegisterStaticResourceFunc fpRegisterStaticResource

FfxRegisterStaticResourceFunc fpRegisterStaticResource

用于注册静态资源的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 634 行, 第 40 列)

FfxGetResourceDescriptionFunc fpGetResourceDescription

FfxGetResourceDescriptionFunc fpGetResourceDescription

用于检索资源描述的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 635 行, 第 40 列)

FfxDestroyResourceFunc fpDestroyResource

FfxDestroyResourceFunc fpDestroyResource

用于销毁资源的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 636 行, 第 40 列)

FfxMapResourceFunc fpMapResource

FfxMapResourceFunc fpMapResource

用于映射资源的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 637 行, 第 40 列)

FfxUnmapResourceFunc fpUnmapResource

FfxUnmapResourceFunc fpUnmapResource

用于取消映射资源的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 638 行, 第 40 列)

FfxStageConstantBufferDataFunc fpStageConstantBufferDataFunc

FfxStageConstantBufferDataFunc fpStageConstantBufferDataFunc

用于将常量缓冲区数据复制到暂存内存的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 639 行, 第 40 列)

FfxCreatePipelineFunc fpCreatePipeline

FfxCreatePipelineFunc fpCreatePipeline

用于创建渲染或计算管线的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 640 行, 第 40 列)

FfxDestroyPipelineFunc fpDestroyPipeline

FfxDestroyPipelineFunc fpDestroyPipeline

用于销毁渲染或计算管线的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 641 行, 第 40 列)

FfxScheduleGpuJobFunc fpScheduleGpuJob

FfxScheduleGpuJobFunc fpScheduleGpuJob

用于调度渲染作业的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 642 行, 第 40 列)

FfxExecuteGpuJobsFunc fpExecuteGpuJobs

FfxExecuteGpuJobsFunc fpExecuteGpuJobs

用于执行所有排队的渲染作业的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 643 行, 第 40 列)

FfxBreadcrumbsAllocBlockFunc fpBreadcrumbsAllocBlock

FfxBreadcrumbsAllocBlockFunc fpBreadcrumbsAllocBlock

用于为 AMD FidelityFX Breadcrumbs Library 缓冲区分配内存块的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 646 行, 第 40 列)

FfxBreadcrumbsFreeBlockFunc fpBreadcrumbsFreeBlock

FfxBreadcrumbsFreeBlockFunc fpBreadcrumbsFreeBlock

用于释放 AMD FidelityFX Breadcrumbs Library 缓冲区的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 647 行, 第 40 列)

FfxBreadcrumbsWriteFunc fpBreadcrumbsWrite

FfxBreadcrumbsWriteFunc fpBreadcrumbsWrite

用于向 AMD FidelityFX Breadcrumbs Library 写入标记的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 648 行, 第 40 列)

FfxBreadcrumbsPrintDeviceInfoFunc fpBreadcrumbsPrintDeviceInfo

FfxBreadcrumbsPrintDeviceInfoFunc fpBreadcrumbsPrintDeviceInfo

用于为 AMD FidelityFX Breadcrumbs Library 日志打印活动 GPU 信息的 ist/回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 649 行, 第 40 列)

FfxGetPermutationBlobByIndexFunc fpGetPermutationBlobByIndex

FfxGetPermutationBlobByIndexFunc fpGetPermutationBlobByIndex

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 651 行, 第 38 列)

FfxSwapChainConfigureFrameGenerationFunc fpSwapChainConfigureFrameGeneration

FfxSwapChainConfigureFrameGenerationFunc fpSwapChainConfigureFrameGeneration

用于配置交换链呈现回调的 ist/回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 652 行, 第 49 列)

FfxRegisterConstantBufferAllocatorFunc fpRegisterConstantBufferAllocator

FfxRegisterConstantBufferAllocatorFunc fpRegisterConstantBufferAllocator

用于注册自定义线程安全常量缓冲区分配器的回调函数。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 654 行, 第 45 列)

void * scratchBuffer

void * scratchBuffer

由后端内部使用的预分配缓冲区。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 656 行, 第 39 列)

size_t scratchBufferSize

size_t scratchBufferSize

scratchBuffer 指向的缓冲区的大小。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 657 行, 第 40 列)

FfxDevice device

FfxDevice device

特定于后端的设备。

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 658 行, 第 40 列)

使用于

此类型由以下部分使用

来源: sdk/include/FidelityFX/host/ffx_interface.h (第 622 行, 第 1 列)

© . This site is unofficial and not affiliated with AMD.