Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::EngineMtlCreateInfo Struct Reference

Attributes of the Metal-based engine implementation. More...

#include <GraphicsTypes.h>

Inheritance diagram for Diligent::EngineMtlCreateInfo:
Diligent::EngineCreateInfo

Public Attributes

Uint32 DynamicHeapPageSize = 4 << 20
 
Uint32 QueryPoolSizes [QUERY_TYPE_NUM_TYPES]
 Query pool size for each query type.
 
- Public Attributes inherited from Diligent::EngineCreateInfo
Int32 EngineAPIVersion = DILIGENT_API_VERSION
 Engine API version number.
 
Uint32 AdapterId = DEFAULT_ADAPTER_ID
 
Version GraphicsAPIVersion = {}
 Minimum required graphics API version (feature level for Direct3D).
 
const ImmediateContextCreateInfopImmediateContextInfo = nullptr
 
Uint32 NumImmediateContexts = 0
 The number of immediate contexts in pImmediateContextInfo array.
 
Uint32 NumDeferredContexts = 0
 The number of deferred contexts to create when initializing the engine.
 
DeviceFeatures Features
 Requested device features.
 
Bool EnableValidation = false
 
VALIDATION_FLAGS ValidationFlags = VALIDATION_FLAG_NONE
 Validation options, see Diligent::VALIDATION_FLAGS.
 
struct IMemoryAllocatorpRawMemAllocator = nullptr
 
IThreadPoolpAsyncShaderCompilationThreadPool = nullptr
 
Uint32 NumAsyncShaderCompilationThreads = 0xFFFFFFFFu
 When AsyncShaderCompilation is enabled, the maximum number of threads that can be used to compile shaders.
 
const OpenXRAttribspXRAttribs = nullptr
 

Additional Inherited Members

- Public Member Functions inherited from Diligent::EngineCreateInfo
void SetValidationLevel (VALIDATION_LEVEL Level)
 Sets the validation options corresponding to the specified level, see Diligent::VALIDATION_LEVEL.
 

Detailed Description

Attributes of the Metal-based engine implementation.

Member Data Documentation

◆ DynamicHeapPageSize

Uint32 Diligent::EngineMtlCreateInfo::DynamicHeapPageSize = 4 << 20

A device context uses dynamic heap when it needs to allocate temporary CPU-accessible memory to update a resource via IDeviceContext::UpdateBuffer() or IDeviceContext::UpdateTexture(), or to map dynamic resources. Device contexts first request a chunk of memory from global dynamic resource manager and then suballocate from this chunk in a lock-free fashion. DynamicHeapPageSize defines the size of this chunk.

◆ QueryPoolSizes

Uint32 Diligent::EngineMtlCreateInfo::QueryPoolSizes[QUERY_TYPE_NUM_TYPES]
Initial value:
{
0,
0,
0,
256,
0,
256
}

Query pool size for each query type.

In Metal, queries are allocated from the pool, and one pool may contain multiple queries of different types. QueryPoolSizes array specifies the number of queries of each type that will be allocated from a single pool. The engine will create as many pools as necessary to satisfy the requested number of queries.