Add ABI v2 external-handle plumbing for FSR3 bridge dispatch

This commit is contained in:
Kelsi 2026-03-09 01:31:01 -07:00
parent e25253a6e8
commit 61cb2df400
7 changed files with 158 additions and 1 deletions

View file

@ -44,6 +44,14 @@ struct AmdFsr3RuntimeDispatchDesc {
float cameraFar = 1000.0f;
float cameraFovYRadians = 1.0f;
bool reset = false;
uint32_t externalFlags = 0;
uint64_t colorMemoryHandle = 0;
uint64_t depthMemoryHandle = 0;
uint64_t motionVectorMemoryHandle = 0;
uint64_t outputMemoryHandle = 0;
uint64_t frameGenOutputMemoryHandle = 0;
uint64_t acquireSemaphoreHandle = 0;
uint64_t releaseSemaphoreHandle = 0;
};
class AmdFsr3Runtime {

View file

@ -7,7 +7,7 @@
extern "C" {
#endif
#define WOWEE_FSR3_WRAPPER_ABI_VERSION 1u
#define WOWEE_FSR3_WRAPPER_ABI_VERSION 2u
typedef void* WoweeFsr3WrapperContext;
@ -50,6 +50,14 @@ typedef struct WoweeFsr3WrapperDispatchDesc {
float cameraFar;
float cameraFovYRadians;
uint32_t reset;
uint32_t externalFlags;
uint64_t colorMemoryHandle;
uint64_t depthMemoryHandle;
uint64_t motionVectorMemoryHandle;
uint64_t outputMemoryHandle;
uint64_t frameGenOutputMemoryHandle;
uint64_t acquireSemaphoreHandle;
uint64_t releaseSemaphoreHandle;
} WoweeFsr3WrapperDispatchDesc;
enum {
@ -58,6 +66,16 @@ enum {
WOWEE_FSR3_WRAPPER_ENABLE_FRAME_GENERATION = 1u << 2
};
enum {
WOWEE_FSR3_WRAPPER_EXTERNAL_COLOR_MEMORY = 1u << 0,
WOWEE_FSR3_WRAPPER_EXTERNAL_DEPTH_MEMORY = 1u << 1,
WOWEE_FSR3_WRAPPER_EXTERNAL_MOTION_MEMORY = 1u << 2,
WOWEE_FSR3_WRAPPER_EXTERNAL_OUTPUT_MEMORY = 1u << 3,
WOWEE_FSR3_WRAPPER_EXTERNAL_FRAMEGEN_OUTPUT_MEMORY = 1u << 4,
WOWEE_FSR3_WRAPPER_EXTERNAL_ACQUIRE_SEMAPHORE = 1u << 5,
WOWEE_FSR3_WRAPPER_EXTERNAL_RELEASE_SEMAPHORE = 1u << 6
};
uint32_t wowee_fsr3_wrapper_get_abi_version(void);
const char* wowee_fsr3_wrapper_get_name(void);
int32_t wowee_fsr3_wrapper_initialize(const WoweeFsr3WrapperInitDesc* initDesc,