You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.0 KiB
32 lines
1.0 KiB
#pragma once
|
|
#include "FSR3Upscaler_FFXBase.h"
|
|
|
|
#include "ffx_api/ffx_upscale.hpp"
|
|
#include "ffx_api/vk/ffx_api_vk.hpp"
|
|
|
|
#include "UnityPluginAPI/IUnityGraphics.h"
|
|
#include "UnityPluginAPI/IUnityGraphicsVulkan.h"
|
|
|
|
class FSR3Upscaler_Vulkan : public FSR3Upscaler_FFXBase
|
|
{
|
|
public:
|
|
FSR3Upscaler_Vulkan(IUnityLog* log, IUnityGraphicsVulkan* graphicsDevice) :
|
|
FSR3Upscaler_FFXBase(log),
|
|
m_GraphicsDevice(graphicsDevice), m_VulkanBackendDesc()
|
|
{
|
|
}
|
|
|
|
bool Init() override;
|
|
|
|
protected:
|
|
bool InitFeature(FSR3Feature_FFX& feature, const FSR3CommandInitializationData* initData) override;
|
|
void SetTexture(FSR3Texture textureType, UnityTextureID textureID, uint32_t width, uint32_t height, FSR3TextureDesc* outTextureDesc) override;
|
|
void Execute(FSR3Feature_FFX& feature, const FSR3CommandExecutionData* execData) override;
|
|
|
|
void AwaitEndOfFrame(uint64_t frameValue) override;
|
|
void DoShutdown() override;
|
|
|
|
private:
|
|
IUnityGraphicsVulkan* m_GraphicsDevice;
|
|
ffx::CreateBackendVKDesc m_VulkanBackendDesc;
|
|
};
|