Foundation
Loading...
Searching...
No Matches
Public Attributes | List of all members
Foundation::RenderCore::RendererDesc Struct Reference

Parameters for Renderer creation. More...

#include <Renderer.hpp>

Public Attributes

bool asyncCompute {true}
 Enable Async Compute support.
 
bool present {true}
 Enable presentation support.
 
uint32_t threadCount {std::max(1u, std::thread::hardware_concurrency() - 1)}
 Number of worker threads to use for recording command lists.
 
RHIPipelineStateCachepipelineCache {nullptr}
 Optional PSO cache to potentially speed up pipeline state recompilation in Setup time.
 

Detailed Description

Parameters for Renderer creation.

Member Data Documentation

◆ asyncCompute

bool Foundation::RenderCore::RendererDesc::asyncCompute {true}

Enable Async Compute support.

Note
This requires the underlying RHI device to support an async compute queue, and the Renderer having passes that's scheduled on the compute queue. (see createPass).
Expect fallback to single-queue operation if this is not the case, and potential performance regression if your render graph doesn't have enough compute work to balance out the synchronization overhead, or your scheduling is not optimal, e.g. overlapping bandwidth/ALU bound Graphics/Compute work together (see createPassPriority).
Always examine the generated execution groups (see DbgDumpExecutionGroups) and PROFILE to verify that your render graph is scheduled as expected.

◆ pipelineCache

RHIPipelineStateCache* Foundation::RenderCore::RendererDesc::pipelineCache {nullptr}

Optional PSO cache to potentially speed up pipeline state recompilation in Setup time.

◆ present

bool Foundation::RenderCore::RendererDesc::present {true}

Enable presentation support.

Note
Enabling this implies a valid RHISwapchain handle is provided to the Renderer on creation (see Renderer::Renderer), otherwise an exception is thrown.

◆ threadCount

uint32_t Foundation::RenderCore::RendererDesc::threadCount {std::max(1u, std::thread::hardware_concurrency() - 1)}

Number of worker threads to use for recording command lists.

Note
Set this to 0 to disable multithreaded command recording.

The documentation for this struct was generated from the following file: