Pipeline Compilation Helpers

namespace d3d
template<bool allow_compute_pipelines = true>
struct AutoPipelineAsyncCompile
#include <dag_async_pipeline.h>

Enables async pipeline compilation in its scope when allow_compute_pipelines is false, only graphics pipelines are async compiled (compute compiled as is) override parameter in constructor may be used to supply game logic for async pipeline enable/disable.

Public Functions

inline AutoPipelineAsyncCompile()
inline AutoPipelineAsyncCompile(void *override_value)
inline ~AutoPipelineAsyncCompile()
template<bool allow_compute_pipelines = true>
class AutoPipelineAsyncCompileFeedback
#include <dag_async_pipeline.h>

When feedback supported, enables async pipeline compilation and captures async compilation skip count into feedback_ptr in its scope needRetry field will be set if any pipeline was skipped in previous frames externalNeedRetry field will be set if any other (external) AsyncCompileFeedback in frame has needRetry set when feedback not supported, does nothing when allow_compute_pipelines is false, only graphics pipelines are async compiled (compute compiled as is)

Public Functions

inline bool isRetryNeeded() const
inline bool isExternalRetryNeeded() const
inline bool isSupported() const
inline AutoPipelineAsyncCompileFeedback(uint32_t *feedback_ptr)
inline ~AutoPipelineAsyncCompileFeedback()

Private Members

bool needRetry
bool supported
bool externalNeedRetry
struct AutoPipelineSyncCompile
#include <dag_async_pipeline.h>

Disables async pipeline compilation in its scope.

Public Functions

inline AutoPipelineSyncCompile()
inline ~AutoPipelineSyncCompile()