C Specification
The VkPhysicalDeviceVulkanSC10Properties structure is defined as:
// Provided by VKSC_VERSION_1_0
typedef struct VkPhysicalDeviceVulkanSC10Properties {
VkStructureType sType;
void* pNext;
VkBool32 deviceNoDynamicHostAllocations;
VkBool32 deviceDestroyFreesMemory;
VkBool32 commandPoolMultipleCommandBuffersRecording;
VkBool32 commandPoolResetCommandBuffer;
VkBool32 commandBufferSimultaneousUse;
VkBool32 secondaryCommandBufferNullOrImagelessFramebuffer;
VkBool32 recycleDescriptorSetMemory;
VkBool32 recyclePipelineMemory;
uint32_t maxRenderPassSubpasses;
uint32_t maxRenderPassDependencies;
uint32_t maxSubpassInputAttachments;
uint32_t maxSubpassPreserveAttachments;
uint32_t maxFramebufferAttachments;
uint32_t maxDescriptorSetLayoutBindings;
uint32_t maxQueryFaultCount;
uint32_t maxCallbackFaultCount;
uint32_t maxCommandPoolCommandBuffers;
VkDeviceSize maxCommandBufferSize;
} VkPhysicalDeviceVulkanSC10Properties;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
deviceNoDynamicHostAllocationsindicates whether the implementation will perform dynamic host memory allocations for physical or logical device commands. IfdeviceNoDynamicHostAllocationsisVK_TRUEthe implementation will allocate host memory for objects based on the provided VkDeviceObjectReservationCreateInfo limits during vkCreateDevice. Under valid API usage,VK_ERROR_OUT_OF_HOST_MEMORYmay only be returned by commands which do not explicitly disallow it. -
deviceDestroyFreesMemoryindicates whether destroying the device frees all memory resources back to the system. -
commandPoolMultipleCommandBuffersRecordingindicates whether multiple command buffers from the same command pool can be in the recording state at the same time. -
commandPoolResetCommandBufferindicates whether command buffers support vkResetCommandBuffer, and vkBeginCommandBuffer when not in the initial state. -
commandBufferSimultaneousUseindicates whether command buffers supportVK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT. -
secondaryCommandBufferNullOrImagelessFramebufferindicates whether theframebuffermember ofVkCommandBufferInheritanceInfomay be equal to VK_NULL_HANDLE or be created with a VkFramebufferCreateInfo::flagsvalue that includesVK_FRAMEBUFFER_CREATE_IMAGELESS_BITif the command buffer will be executed within a render pass instance. -
recycleDescriptorSetMemoryindicates whether descriptor pools are able to immediately reuse pool memory from descriptor sets that have been freed. If this isVK_FALSE, then memory may only be reallocated after vkResetDescriptorPool is called. -
recyclePipelineMemoryindicates whether the memory for a pipeline is available for reuse by new pipelines after the pipeline is destroyed. -
maxRenderPassSubpassesis the maximum number of subpasses in a render pass. -
maxRenderPassDependenciesis the maximum number of dependencies in a render pass. -
maxSubpassInputAttachmentsis the maximum number of input attachments in a subpass. -
maxSubpassPreserveAttachmentsis the maximum number of preserve attachments in a subpass. -
maxFramebufferAttachmentsis the maximum number of attachments in a framebuffer, as well as the maximum number of attachments in a render pass. -
maxDescriptorSetLayoutBindingsis the maximum number of bindings in a descriptor set layout. -
maxQueryFaultCountis the maximum number of faults that the implementation can record, to be reported via vkGetFaultData. -
maxCallbackFaultCountis the maximum number of faults that the implementation can report via a single call to PFN_vkFaultCallbackFunction. -
maxCommandPoolCommandBuffersis the maximum number of command buffers that can be allocated from a single command pool. -
maxCommandBufferSizeis the maximum supported size of a single command buffer in bytes. Applications can use vkGetCommandPoolMemoryConsumption to compare a command buffer’s current memory usage to this limit.
Description
|
Note
|
Implementations that do not have a fixed upper bound on the number of
command buffers that may be allocated from a command pool can report
0xFFFFFFFFU for Implementations that do not have a fixed upper bound on the command buffer
size can report |
If the VkPhysicalDeviceVulkanSC10Properties structure is included in the pNext chain of the
VkPhysicalDeviceProperties2 structure passed to
vkGetPhysicalDeviceProperties2, it is filled in with each
corresponding implementation-dependent property.
These properties correspond to Vulkan SC 1.0 functionality.
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.