#pragma once #include #include "UnityPluginAPI/IUnityInterface.h" #include "FSR3UnityTypes.h" class Upscaler { public: virtual bool Init() = 0; virtual void Shutdown() = 0; virtual uint32_t CreateFeatureSlot() = 0; virtual bool InitFeature(const FSR3CommandInitializationData* initData) = 0; virtual void DestroyFeature(uint32_t featureSlot) = 0; virtual void ClearTextureTable(uint32_t featureSlot) = 0; virtual void SetTextureSlot(uint32_t featureSlot, uint32_t textureSlot, UnityTextureID textureID, uint32_t width, uint32_t height) = 0; virtual void Execute(const FSR3CommandExecutionData* execData) = 0; virtual void PostExecute(const FSR3CommandExecutionData* execData) = 0; };