Skip to content

FSRRenderModule

class FSRRenderModule : public cauldron::RenderModule

Dependencies: TAARenderModule, TranslucencyRenderModule

Inherits from: public cauldron::RenderModule

Public Interface

Constructor:

FSRRenderModule

inline FSRRenderModule()

Attributes: inline

Source: samples/fsrapi/fsrapirendermodule.h (line 59, column 5)

Destructor:

~FSRRenderModule

virtual ~FSRRenderModule()

Attributes: virtual

Source: samples/fsrapi/fsrapirendermodule.h (line 68, column 13)

Public Functions:

Init

virtual void Init(const json &initData)

Rendermodule initialization function. This is where all setup code needs to happen.

Parameters:

NameTypeDefault
initDataconst json &

Attributes: virtual

Source: samples/fsrapi/fsrapirendermodule.h (line 70, column 10)

EnableModule

virtual void EnableModule(bool enabled) override

Sets the enabled state of the render module.

Parameters:

NameTypeDefault
enabledbool

Attributes: virtual

Source: samples/fsrapi/fsrapirendermodule.h (line 71, column 10)

OnPreFrame

virtual void OnPreFrame() override

Attributes: virtual

Source: samples/fsrapi/fsrapirendermodule.h (line 72, column 10)

Execute

virtual void Execute(double deltaTime, cauldron::CommandList *pCmdList) override

Setup parameters that the FSR API needs this frame and then call the FFX Dispatch.

Parameters:

NameTypeDefault
deltaTimedouble
pCmdListcauldron::CommandList *

Attributes: virtual

Source: samples/fsrapi/fsrapirendermodule.h (line 77, column 10)

PreTransCallback

void PreTransCallback(double deltaTime, cauldron::CommandList *pCmdList)

Parameters:

NameTypeDefault
deltaTimedouble
pCmdListcauldron::CommandList *

Source: samples/fsrapi/fsrapirendermodule.h (line 78, column 10)

PostTransCallback

void PostTransCallback(double deltaTime, cauldron::CommandList *pCmdList)

Parameters:

NameTypeDefault
deltaTimedouble
pCmdListcauldron::CommandList *

Source: samples/fsrapi/fsrapirendermodule.h (line 79, column 10)

OnResize

virtual void OnResize(const cauldron::ResolutionInfo &resInfo) override

Recreate the FSR API Context to resize internal resources. Called by the framework when the resolution changes.

Parameters:

NameTypeDefault
resInfoconst cauldron::ResolutionInfo &

Attributes: virtual

Source: samples/fsrapi/fsrapirendermodule.h (line 84, column 10)

InitUI

void InitUI(cauldron::UISection *uiSection)

Init UI.

Parameters:

NameTypeDefault
uiSectioncauldron::UISection *

Source: samples/fsrapi/fsrapirendermodule.h (line 89, column 10)

NeedsReInit

inline bool NeedsReInit() const const

Returns whether or not FSR requires sample-side re-initialization.

Returns: bool

Attributes: const, inline

Source: samples/fsrapi/fsrapirendermodule.h (line 94, column 10)

ClearReInit

inline void ClearReInit()

Clears FSR re-initialization flag.

Attributes: inline

Source: samples/fsrapi/fsrapirendermodule.h (line 99, column 10)

SetFilter

inline void SetFilter(int32_t method)

Parameters:

NameTypeDefault
methodint32_t

Attributes: inline

Source: samples/fsrapi/fsrapirendermodule.h (line 101, column 10)

Private Interface

Private Functions:

FfxMsgCallback

static void FfxMsgCallback(uint32_t type, const wchar_t *message)

Parameters:

NameTypeDefault
typeuint32_t
messageconst wchar_t *

Attributes: static

Source: samples/fsrapi/fsrapirendermodule.h (line 147, column 17)

UiCompositionCallback

ffxReturnCode_t UiCompositionCallback(ffxCallbackDescFrameGenerationPresent *)

Parameters:

NameTypeDefault
ffxCallbackDescFrameGenerationPresent *

Returns: ffxReturnCode_t

Source: samples/fsrapi/fsrapirendermodule.h (line 148, column 21)

SwitchUpscaler

void SwitchUpscaler(int32_t newUpscaler)

Parameters:

NameTypeDefault
newUpscalerint32_t

Source: samples/fsrapi/fsrapirendermodule.h (line 150, column 30)

UpdatePreset

void UpdatePreset(const int32_t *pOldPreset)

Parameters:

NameTypeDefault
pOldPresetconst int32_t *

Source: samples/fsrapi/fsrapirendermodule.h (line 152, column 30)

UpdateUpscaleRatio

void UpdateUpscaleRatio(const float *pOldRatio)

Parameters:

NameTypeDefault
pOldRatioconst float *

Source: samples/fsrapi/fsrapirendermodule.h (line 153, column 30)

UpdateMipBias

void UpdateMipBias(const float *pOldBias)

Parameters:

NameTypeDefault
pOldBiasconst float *

Source: samples/fsrapi/fsrapirendermodule.h (line 154, column 30)

UpdateResolution

cauldron::ResolutionInfo UpdateResolution(uint32_t displayWidth, uint32_t displayHeight)

Parameters:

NameTypeDefault
displayWidthuint32_t
displayHeightuint32_t

Returns: cauldron::ResolutionInfo

Source: samples/fsrapi/fsrapirendermodule.h (line 156, column 30)

UpdateFSRContext

void UpdateFSRContext(bool enabled)

Parameters:

NameTypeDefault
enabledbool

Source: samples/fsrapi/fsrapirendermodule.h (line 157, column 30)

SetUpscaleConstantBuffer

void SetUpscaleConstantBuffer(uint64_t key, float value)

Parameters:

NameTypeDefault
keyuint64_t
valuefloat

Source: samples/fsrapi/fsrapirendermodule.h (line 256, column 30)

SetGlobalDebugCheckerMode

void SetGlobalDebugCheckerMode(FSRDebugCheckerMode mode, bool recreate)

Parameters:

NameTypeDefault
modeFSRDebugCheckerMode
recreatebool

Source: samples/fsrapi/fsrapirendermodule.h (line 259, column 30)

Private Members:

enum FSRRenderModule::UpscalerType UpscalerType

enum FSRRenderModule::UpscalerType UpscalerType

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 56, column 18)

const float cMipBias

const float cMipBias = = {
std::log2f(1.f / 1.0f) - 1.f + std::numeric_limits<float>::epsilon(),
std::log2f(1.f / 1.5f) - 1.f + std::numeric_limits<float>::epsilon(),
std::log2f(1.f / 1.7f) - 1.f + std::numeric_limits<float>::epsilon(),
std::log2f(1.f / 2.0f) - 1.f + std::numeric_limits<float>::epsilon(),
std::log2f(1.f / 3.0f) - 1.f + std::numeric_limits<float>::epsilon()
&#125;

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 139, column 17)

cauldron::UIRenderModule * m_pUIRenderModule

cauldron::UIRenderModule * m_pUIRenderModule = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 159, column 32)

cauldron::ResourceView * m_pRTResourceView

cauldron::ResourceView * m_pRTResourceView = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 160, column 32)

int32_t m_UpscaleMethod

int32_t m_UpscaleMethod = = Upscaler_FSRAPI

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 162, column 21)

int32_t m_UiUpscaleMethod

int32_t m_UiUpscaleMethod = = Upscaler_FSRAPI

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 163, column 21)

FSRScalePreset m_CurScale

FSRScalePreset m_CurScale = = FSRScalePreset::Quality

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 164, column 21)

FSRScalePreset m_ScalePreset

FSRScalePreset m_ScalePreset = = FSRScalePreset::Quality

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 165, column 21)

float m_UpscaleRatio

float m_UpscaleRatio = = 2.f

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 166, column 21)

float m_LetterboxRatio

float m_LetterboxRatio = = 1.f

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 167, column 21)

float m_MipBias

float m_MipBias = = cMipBias[static_cast<uint32_t>(FSRScalePreset::Quality)]

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 168, column 21)

FSRMaskMode m_MaskMode

FSRMaskMode m_MaskMode = = FSRMaskMode::Manual

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 169, column 21)

float m_Sharpness

float m_Sharpness = = 0.8f

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 170, column 21)

uint32_t m_JitterIndex

uint32_t m_JitterIndex = = 0

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 171, column 21)

float m_JitterX

float m_JitterX = = 0.f

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 172, column 21)

float m_JitterY

float m_JitterY = = 0.f

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 173, column 21)

uint64_t m_FrameID

uint64_t m_FrameID = = 0

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 174, column 21)

bool m_IsNonNative

bool m_IsNonNative = = true

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 176, column 10)

bool m_UpscaleRatioEnabled

bool m_UpscaleRatioEnabled = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 177, column 10)

bool m_UseMask

bool m_UseMask = = true

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 178, column 10)

bool m_UseDistortionField

bool m_UseDistortionField = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 179, column 10)

bool m_RCASSharpen

bool m_RCASSharpen = = true

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 180, column 10)

bool m_SharpnessEnabled

bool m_SharpnessEnabled = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 181, column 10)

bool m_NeedReInit

bool m_NeedReInit = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 182, column 10)

bool m_FrameInterpolationAvailable

bool m_FrameInterpolationAvailable = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 184, column 10)

bool m_AsyncComputeAvailable

bool m_AsyncComputeAvailable = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 185, column 10)

bool m_EnableMaskOptions

bool m_EnableMaskOptions = = true

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 186, column 10)

bool m_EnableWaitCallbackModeUI

bool m_EnableWaitCallbackModeUI = = true

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 187, column 10)

bool m_FrameInterpolation

bool m_FrameInterpolation = = true

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 188, column 10)

bool m_EnableAsyncCompute

bool m_EnableAsyncCompute = = true

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 189, column 10)

bool m_AllowAsyncCompute

bool m_AllowAsyncCompute = = true

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 190, column 10)

bool m_PendingEnableAsyncCompute

bool m_PendingEnableAsyncCompute = = true

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 191, column 10)

bool m_UseCallback

bool m_UseCallback = = true

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 192, column 10)

bool m_DrawFrameGenerationDebugTearLines

bool m_DrawFrameGenerationDebugTearLines = = true

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 193, column 10)

bool m_DrawFrameGenerationDebugResetIndicators

bool m_DrawFrameGenerationDebugResetIndicators = = true

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 194, column 10)

bool m_DrawFrameGenerationDebugPacingLines

bool m_DrawFrameGenerationDebugPacingLines = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 195, column 10)

bool m_DrawFrameGenerationDebugView

bool m_DrawFrameGenerationDebugView = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 196, column 10)

bool m_DrawUpscalerDebugView

bool m_DrawUpscalerDebugView = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 197, column 10)

bool m_PresentInterpolatedOnly

bool m_PresentInterpolatedOnly = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 198, column 10)

bool m_SimulatePresentSkip

bool m_SimulatePresentSkip = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 199, column 10)

bool m_ResetUpscale

bool m_ResetUpscale = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 200, column 10)

bool m_ResetFrameInterpolation

bool m_ResetFrameInterpolation = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 201, column 10)

bool m_DoublebufferInSwapchain

bool m_DoublebufferInSwapchain = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 202, column 10)

bool m_OfUiEnabled

bool m_OfUiEnabled = = true

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 203, column 10)

std::vector<uint64_t> m_FsrVersionIds

std::vector<uint64_t> m_FsrVersionIds

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 206, column 17)

uint32_t m_FsrVersionIndex

uint32_t m_FsrVersionIndex = = 0

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 207, column 14)

bool m_overrideVersion

bool m_overrideVersion = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 208, column 17)

uint64_t m_currentUpscaleContextVersionId

uint64_t m_currentUpscaleContextVersionId = = 0

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 209, column 17)

const char * m_currentUpscaleContextVersionName

const char * m_currentUpscaleContextVersionName = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 210, column 16)

bool m_ffxBackendInitialized

bool m_ffxBackendInitialized = = false

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 212, column 10)

ffx::Context m_UpscalingContext

ffx::Context m_UpscalingContext = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 213, column 18)

ffx::Context m_FrameGenContext

ffx::Context m_FrameGenContext = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 214, column 18)

ffx::Context m_SwapChainContext

ffx::Context m_SwapChainContext = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 215, column 18)

ffx::ConfigureDescFrameGeneration m_FrameGenerationConfig

ffx::ConfigureDescFrameGeneration m_FrameGenerationConfig = &#123;&#125;

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 216, column 39)

std::vector<cauldron::UIElement *> m_UIElements

std::vector<cauldron::UIElement *> m_UIElements = &#123;&#125;

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 219, column 17)

const cauldron::Texture * m_pColorTarget

const cauldron::Texture * m_pColorTarget = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 222, column 30)

const cauldron::Texture * m_pTonemappedColorTarget

const cauldron::Texture * m_pTonemappedColorTarget = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 223, column 30)

const cauldron::Texture * m_pTempTexture

const cauldron::Texture * m_pTempTexture = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 224, column 30)

const cauldron::Texture * m_pDepthTarget

const cauldron::Texture * m_pDepthTarget = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 225, column 30)

const cauldron::Texture * m_pMotionVectors

const cauldron::Texture * m_pMotionVectors = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 226, column 30)

const cauldron::Texture * m_pReactiveMask

const cauldron::Texture * m_pReactiveMask = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 227, column 30)

const cauldron::Texture * m_pCompositionMask

const cauldron::Texture * m_pCompositionMask = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 228, column 30)

const cauldron::Texture * m_pOpaqueTexture

const cauldron::Texture * m_pOpaqueTexture = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 229, column 30)

std::vector<const cauldron::RasterView *> m_RasterViews

std::vector<const cauldron::RasterView *> m_RasterViews = = &#123;&#125;

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 232, column 17)

cauldron::ResourceView * m_pUiTargetResourceView

cauldron::ResourceView * m_pUiTargetResourceView = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 233, column 45)

std::function<cauldron::ResolutionInfo(uint32_t, uint32_t)> m_pUpdateFunc

std::function<cauldron::ResolutionInfo(uint32_t, uint32_t)> m_pUpdateFunc = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 236, column 19)

bool s_enableSoftwareMotionEstimation

bool s_enableSoftwareMotionEstimation = = true

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 238, column 14)

int32_t s_uiRenderMode

int32_t s_uiRenderMode = = 2

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 239, column 14)

int32_t s_uiRenderModeNextFrame

int32_t s_uiRenderModeNextFrame = = 2

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 240, column 14)

uint32_t m_curUiTextureIndex

uint32_t m_curUiTextureIndex = = 0

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 243, column 30)

const cauldron::Texture * m_pUiTexture

const cauldron::Texture * m_pUiTexture = = &#123;&#125;

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 244, column 29)

const cauldron::Texture * m_pHudLessTexture

const cauldron::Texture * m_pHudLessTexture = = &#123;&#125;

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 245, column 29)

const cauldron::Texture * m_pDistortionField

const cauldron::Texture * m_pDistortionField = = &#123;&#125;

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 246, column 29)

TAARenderModule * m_pTAARenderModule

TAARenderModule * m_pTAARenderModule = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 248, column 30)

ToneMappingRenderModule * m_pToneMappingRenderModule

ToneMappingRenderModule * m_pToneMappingRenderModule = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 249, column 30)

TranslucencyRenderModule * m_pTransRenderModule

TranslucencyRenderModule * m_pTransRenderModule = = nullptr

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 250, column 30)

int32_t m_UpscalerCBKey

int32_t m_UpscalerCBKey = = 0

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 253, column 30)

float m_UpscalerCBValue

float m_UpscalerCBValue = = 1.f

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 254, column 30)

float m_UpscalerCBValueStore

float m_UpscalerCBValueStore = = &#123;1.f,1.f,1.f,1.0f/3,-1.0f/3&#125;

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 255, column 30)

FSRDebugCheckerMode m_GlobalDebugCheckerMode

FSRDebugCheckerMode m_GlobalDebugCheckerMode = = FSRDebugCheckerMode::Disabled

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 258, column 30)

int32_t m_waitCallbackMode

int32_t m_waitCallbackMode = = 0

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 264, column 30)

float m_SafetyMarginInMs

float m_SafetyMarginInMs

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 267, column 11)

float m_VarianceFactor

float m_VarianceFactor

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 268, column 11)

bool m_AllowHybridSpin

bool m_AllowHybridSpin

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 269, column 11)

uint32_t m_HybridSpinTime

uint32_t m_HybridSpinTime

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 270, column 14)

bool m_AllowWaitForSingleObjectOnFence

bool m_AllowWaitForSingleObjectOnFence

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 271, column 10)

FfxApiSwapchainFramePacingTuning framePacingTuning

FfxApiSwapchainFramePacingTuning framePacingTuning

Attributes: private

Source: samples/fsrapi/fsrapirendermodule.h (line 272, column 38)

Source: samples/fsrapi/fsrapirendermodule.h (line 49, column 1)