Structures

VkPhysicalDeviceVulkan14Properties

Structure specifying physical device properties for functionality promoted to Vulkan 1.4

The VkPhysicalDeviceVulkan14Properties structure is defined as:

typedef struct VkPhysicalDeviceVulkan14Properties {
    VkStructureType sType;
    void* pNext;
    uint32_t lineSubPixelPrecisionBits;
    uint32_t maxVertexAttribDivisor;
    VkBool32 supportsNonZeroFirstInstance;
    uint32_t maxPushDescriptors;
    VkBool32 dynamicRenderingLocalReadDepthStencilAttachments;
    VkBool32 dynamicRenderingLocalReadMultisampledAttachments;
    VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting;
    VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting;
    VkBool32 depthStencilSwizzleOneSupport;
    VkBool32 polygonModePointSize;
    VkBool32 nonStrictSinglePixelWideLinesUseParallelogram;
    VkBool32 nonStrictWideLinesUseParallelogram;
    VkBool32 blockTexelViewCompatibleMultipleLayers;
    uint32_t maxCombinedImageSamplerDescriptorCount;
    VkBool32 fragmentShadingRateClampCombinerInputs;
    VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers;
    VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers;
    VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs;
    VkPipelineRobustnessImageBehavior defaultRobustnessImages;
    uint32_t copySrcLayoutCount;
    VkImageLayout* pCopySrcLayouts;
    uint32_t copyDstLayoutCount;
    VkImageLayout* pCopyDstLayouts;
    uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE];
    VkBool32 identicalMemoryTypeRequirements;
} VkPhysicalDeviceVulkan14Properties;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • lineSubPixelPrecisionBits is the number of bits of subpixel precision in framebuffer coordinates xf and yf when rasterizing line segments.
  • maxVertexAttribDivisor is the maximum value of the number of instances that will repeat the value of vertex attribute data when instanced rendering is enabled.
  • supportsNonZeroFirstInstance specifies whether a non-zero value for the firstInstance parameter of drawing commands is supported when VkVertexInputBindingDivisorDescription::divisor is not 1.
  • maxPushDescriptors is the maximum number of descriptors that can be used in a descriptor set layout created with VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT set.
  • dynamicRenderingLocalReadDepthStencilAttachments is VK_TRUE if the implementation supports local reads of depth/stencil attachments, VK_FALSE otherwise.
  • dynamicRenderingLocalReadMultisampledAttachments is VK_TRUE if the implementation supports local reads of multisampled attachments, VK_FALSE otherwise.
  • earlyFragmentMultisampleCoverageAfterSampleCounting is a boolean value indicating whether the fragment shading and multisample coverage operations are performed after sample counting for fragment shaders with EarlyFragmentTests execution mode.
  • earlyFragmentSampleMaskTestBeforeSampleCounting is a boolean value indicating whether the sample mask test operation is performed before sample counting for fragment shaders using the EarlyFragmentTests execution mode.
  • depthStencilSwizzleOneSupport is a boolean indicating that depth/stencil texturing operations with VK_COMPONENT_SWIZZLE_ONE have defined behavior.
  • polygonModePointSize is a boolean value indicating whether the point size of the final rasterization of polygons with VK_POLYGON_MODE_POINT is controlled by PointSize.
  • nonStrictSinglePixelWideLinesUseParallelogram is a boolean value indicating whether non-strict lines with a width of 1.0 are rasterized as parallelograms or using Bresenham’s algorithm.
  • nonStrictWideLinesUseParallelogram is a boolean value indicating whether non-strict lines with a width greater than 1.0 are rasterized as parallelograms or using Bresenham’s algorithm.
  • blockTexelViewCompatibleMultipleLayers is a boolean value indicating that an implementation supports creating image views with VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT where the layerCount member of subresourceRange is greater than 1.
  • maxCombinedImageSamplerDescriptorCount is the maximum number of combined image sampler descriptors that the implementation uses to access any of the formats that require a sampler Y′CBCR conversion supported by the implementation.
  • fragmentShadingRateClampCombinerInputs is a boolean value indicating that an implementation clamps the inputs to combiner operations.
  • defaultRobustnessStorageBuffers describes the behavior of out of bounds accesses made to storage buffers when no robustness features are enabled
  • defaultRobustnessUniformBuffers describes the behavior of out of bounds accesses made to uniform buffers when no robustness features are enabled
  • defaultRobustnessVertexInputs describes the behavior of out of bounds accesses made to vertex input attributes when no robustness features are enabled
  • defaultRobustnessImages describes the behavior of out of bounds accesses made to images when no robustness features are enabled
  • copySrcLayoutCount is an integer related to the number of image layouts for host copies from images available or queried, as described below.
  • pCopySrcLayouts is a pointer to an array of VkImageLayout in which supported image layouts for use with host copy operations from images are returned.
  • copyDstLayoutCount is an integer related to the number of image layouts for host copies to images available or queried, as described below.
  • pCopyDstLayouts is a pointer to an array of VkImageLayout in which supported image layouts for use with host copy operations to images are returned.
  • optimalTilingLayoutUUID is an array of VK_UUID_SIZE
    uint8_t values representing a universally unique identifier for the implementation’s swizzling layout of images created with VK_IMAGE_TILING_OPTIMAL.
  • identicalMemoryTypeRequirements indicates that specifying the VK_IMAGE_USAGE_HOST_TRANSFER_BIT flag in VkImageCreateInfo::usage does not affect the memory type requirements of the image.

If the VkPhysicalDeviceVulkan14Properties 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 1.4 functionality.

Valid Usage (Implicit)

VUID-VkPhysicalDeviceVulkan14Properties-sType-sType

sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES