Class VulkanPhysicalDeviceFeatures12
java.lang.Object
com.io7m.jcoronado.api.VulkanPhysicalDeviceFeatures12
- All Implemented Interfaces:
VulkanPhysicalDeviceFeatures12Type
public final class VulkanPhysicalDeviceFeatures12
extends Object
implements VulkanPhysicalDeviceFeatures12Type
The features supported by a physical Vulkan 1.2 device.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
Builds instances of typeVulkanPhysicalDeviceFeatures12
. -
Method Summary
Modifier and TypeMethodDescriptionboolean
bufferDeviceAddress indicates that the implementation supports accessing buffer memory in shaders as storage buffers via an address queried from vkGetBufferDeviceAddress.boolean
bufferDeviceAddressCaptureReplay indicates that the implementation supports saving and reusing buffer and device addresses, e.g.boolean
bufferDeviceAddressMultiDevice indicates that the implementation supports the bufferDeviceAddress , rayTracingPipeline and rayQuery features for logical devices created with multiple physical devices.builder()
Creates a builder forVulkanPhysicalDeviceFeatures12
.copyOf
(VulkanPhysicalDeviceFeatures12Type instance) Creates an immutable copy of aVulkanPhysicalDeviceFeatures12Type
value.boolean
descriptorBindingPartiallyBound indicates whether the implementation supports statically using a descriptor set binding in which some descriptors are not valid.boolean
descriptorBindingSampledImageUpdateAfterBind indicates whether the implementation supports updating sampled image descriptors after a set is bound.boolean
descriptorBindingStorageBufferUpdateAfterBind indicates whether the implementation supports updating storage buffer descriptors after a set is bound.boolean
descriptorBindingStorageImageUpdateAfterBind indicates whether the implementation supports updating storage image descriptors after a set is bound.boolean
descriptorBindingStorageTexelBufferUpdateAfterBind indicates whether the implementation supports updating storage texel buffer descriptors after a set is bound.boolean
descriptorBindingUniformBufferUpdateAfterBind indicates whether the implementation supports updating uniform buffer descriptors after a set is bound.boolean
descriptorBindingUniformTexelBufferUpdateAfterBind indicates whether the implementation supports updating uniform texel buffer descriptors after a set is bound.boolean
descriptorBindingUpdateUnusedWhilePending indicates whether the implementation supports updating descriptors while the set is in use.boolean
descriptorBindingVariableDescriptorCount indicates whether the implementation supports descriptor sets with a variable-sized last binding.boolean
descriptorIndexing indicates whether the implementation supports the minimum set of descriptor indexing features as described in the Feature Requirements section.boolean
drawIndirectCount indicates whether the implementation supports the vkCmdDrawIndirectCount and vkCmdDrawIndexedIndirectCount functions.boolean
This instance is equal to all instances ofVulkanPhysicalDeviceFeatures12
that have equal attribute values.int
hashCode()
Computes a hash code from attributes:bufferDeviceAddress
,bufferDeviceAddressCaptureReplay
,bufferDeviceAddressMultiDevice
,descriptorBindingPartiallyBound
,descriptorBindingSampledImageUpdateAfterBind
,descriptorBindingStorageBufferUpdateAfterBind
,descriptorBindingStorageImageUpdateAfterBind
,descriptorBindingStorageTexelBufferUpdateAfterBind
,descriptorBindingUniformBufferUpdateAfterBind
,descriptorBindingUniformTexelBufferUpdateAfterBind
,descriptorBindingUpdateUnusedWhilePending
,descriptorBindingVariableDescriptorCount
,descriptorIndexing
,drawIndirectCount
,hostQueryReset
,imagelessFramebuffer
,runtimeDescriptorArray
,samplerFilterMinmax
,samplerMirrorClampToEdge
,scalarBlockLayout
,separateDepthStencilLayouts
,shaderBufferInt64Atomics
,shaderFloat16
,shaderInputAttachmentArrayDynamicIndexing
,shaderInputAttachmentArrayNonUniformIndexing
,shaderInt8
,shaderOutputLayer
,shaderOutputViewportIndex
,shaderSampledImageArrayNonUniformIndexing
,shaderSharedInt64Atomics
,shaderStorageBufferArrayNonUniformIndexing
,shaderStorageImageArrayNonUniformIndexing
,shaderStorageTexelBufferArrayDynamicIndexing
,shaderStorageTexelBufferArrayNonUniformIndexing
,shaderSubgroupExtendedTypes
,shaderUniformBufferArrayNonUniformIndexing
,shaderUniformTexelBufferArrayDynamicIndexing
,shaderUniformTexelBufferArrayNonUniformIndexing
,storageBuffer8BitAccess
,storagePushConstant8
,subgroupBroadcastDynamicId
,timelineSemaphore
,uniformAndStorageBuffer8BitAccess
,uniformBufferStandardLayout
,vulkanMemoryModel
,vulkanMemoryModelAvailabilityVisibilityChains
,vulkanMemoryModelDeviceScope
.boolean
hostQueryReset indicates that the implementation supports resetting queries from the host with vkResetQueryPool.boolean
imagelessFramebuffer indicates that the implementation supports specifying the image view for attachments at render pass begin time via VkRenderPassAttachmentBeginInfo.boolean
runtimeDescriptorArray indicates whether the implementation supports the SPIR-V RuntimeDescriptorArray capability.boolean
samplerFilterMinmax indicates whether the implementation supports a minimum set of required formats supporting min/max filtering as defined by the filterMinmaxSingleComponentFormats property minimum requirements.boolean
samplerMirrorClampToEdge indicates whether the implementation supports the VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE sampler address mode.boolean
scalarBlockLayout indicates that the implementation supports the layout of resource blocks in shaders using scalar alignment.boolean
separateDepthStencilLayouts indicates whether the implementation supports a VkImageMemoryBarrier for a depth/stencil image with only one of VK_IMAGE_ASPECT_DEPTH_BIT or VK_IMAGE_ASPECT_STENCIL_BIT set, and whether VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL can be used.boolean
shaderBufferInt64Atomics indicates whether shaders can perform 64-bit unsigned and signed integer atomic operations on buffers.boolean
shaderFloat16 indicates whether 16-bit floats (halfs) are supported in shader code.boolean
shaderInputAttachmentArrayDynamicIndexing indicates whether arrays of input attachments can be indexed by dynamically uniform integer expressions in shader code.boolean
shaderInputAttachmentArrayNonUniformIndexing indicates whether arrays of input attachments can be indexed by non-uniform integer expressions in shader code.boolean
shaderInt8 indicates whether 8-bit integers (signed and unsigned) are supported in shader code.boolean
shaderOutputLayer indicates whether the implementation supports the ShaderLayer SPIR-V capability enabling variables decorated with the Layer built-in to be exported from vertex or tessellation evaluation shaders.boolean
shaderOutputViewportIndex indicates whether the implementation supports the ShaderViewportIndex SPIR-V capability enabling variables decorated with the ViewportIndex built-in to be exported from vertex or tessellation evaluation shaders.boolean
shaderSampledImageArrayNonUniformIndexing indicates whether arrays of samplers or sampled images can be indexed by non-uniform integer expressions in shader code.boolean
shaderSharedInt64Atomics indicates whether shaders can perform 64-bit unsigned and signed integer atomic operations on shared memory.boolean
shaderStorageBufferArrayNonUniformIndexing indicates whether arrays of storage buffers can be indexed by non-uniform integer expressions in shader code.boolean
shaderStorageImageArrayNonUniformIndexing indicates whether arrays of storage images can be indexed by non-uniform integer expressions in shader code.boolean
shaderStorageTexelBufferArrayDynamicIndexing indicates whether arrays of storage texel buffers can be indexed by dynamically uniform integer expressions in shader code.boolean
shaderStorageTexelBufferArrayNonUniformIndexing indicates whether arrays of storage texel buffers can be indexed by non-uniform integer expressions in shader code.boolean
shaderSubgroupExtendedTypes is a boolean specifying whether subgroup operations can use 8-bit integer, 16-bit integer, 64-bit integer, 16-bit floating-point, and vectors of these types in group operations with subgroup scope, if the implementation supports the types.boolean
shaderUniformBufferArrayNonUniformIndexing indicates whether arrays of uniform buffers can be indexed by non-uniform integer expressions in shader code.boolean
shaderUniformTexelBufferArrayDynamicIndexing indicates whether arrays of uniform texel buffers can be indexed by dynamically uniform integer expressions in shader code.boolean
shaderUniformTexelBufferArrayNonUniformIndexing indicates whether arrays of uniform texel buffers can be indexed by non-uniform integer expressions in shader code.boolean
storageBuffer8BitAccess indicates whether objects in the StorageBuffer, ShaderRecordBufferKHR, or PhysicalStorageBuffer storage class with the Block decoration can have 8-bit integer members.boolean
storagePushConstant8 indicates whether objects in the PushConstant storage class can have 8-bit integer members.boolean
If subgroupBroadcastDynamicId is VK_TRUE, the “Id” operand of OpGroupNonUniformBroadcast can be dynamically uniform within a subgroup, and the “Index” operand of OpGroupNonUniformQuadBroadcast can be dynamically uniform within the derivative group.boolean
timelineSemaphore indicates whether semaphores created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_TIMELINE are supported.toString()
Prints the immutable valueVulkanPhysicalDeviceFeatures12
with attribute values.boolean
uniformAndStorageBuffer8BitAccess indicates whether objects in the Uniform storage class with the Block decoration can have 8-bit integer members.boolean
uniformBufferStandardLayout indicates that the implementation supports the same layouts for uniform buffers as for storage and other kinds of buffers.boolean
vulkanMemoryModel indicates whether the Vulkan Memory Model is supported, as defined in Vulkan Memory Model.boolean
vulkanMemoryModelAvailabilityVisibilityChains indicates whether the Vulkan Memory Model can use availability and visibility chains with more than one element.boolean
vulkanMemoryModelDeviceScope indicates whether the Vulkan Memory Model can use Device scope synchronization.withBufferDeviceAddress
(boolean value) Copy the current immutable object by setting a value for thebufferDeviceAddress
attribute.withBufferDeviceAddressCaptureReplay
(boolean value) Copy the current immutable object by setting a value for thebufferDeviceAddressCaptureReplay
attribute.withBufferDeviceAddressMultiDevice
(boolean value) Copy the current immutable object by setting a value for thebufferDeviceAddressMultiDevice
attribute.withDescriptorBindingPartiallyBound
(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingPartiallyBound
attribute.withDescriptorBindingSampledImageUpdateAfterBind
(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingSampledImageUpdateAfterBind
attribute.withDescriptorBindingStorageBufferUpdateAfterBind
(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingStorageBufferUpdateAfterBind
attribute.withDescriptorBindingStorageImageUpdateAfterBind
(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingStorageImageUpdateAfterBind
attribute.withDescriptorBindingStorageTexelBufferUpdateAfterBind
(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingStorageTexelBufferUpdateAfterBind
attribute.withDescriptorBindingUniformBufferUpdateAfterBind
(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingUniformBufferUpdateAfterBind
attribute.withDescriptorBindingUniformTexelBufferUpdateAfterBind
(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingUniformTexelBufferUpdateAfterBind
attribute.withDescriptorBindingUpdateUnusedWhilePending
(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingUpdateUnusedWhilePending
attribute.withDescriptorBindingVariableDescriptorCount
(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingVariableDescriptorCount
attribute.withDescriptorIndexing
(boolean value) Copy the current immutable object by setting a value for thedescriptorIndexing
attribute.withDrawIndirectCount
(boolean value) Copy the current immutable object by setting a value for thedrawIndirectCount
attribute.withHostQueryReset
(boolean value) Copy the current immutable object by setting a value for thehostQueryReset
attribute.withImagelessFramebuffer
(boolean value) Copy the current immutable object by setting a value for theimagelessFramebuffer
attribute.withRuntimeDescriptorArray
(boolean value) Copy the current immutable object by setting a value for theruntimeDescriptorArray
attribute.withSamplerFilterMinmax
(boolean value) Copy the current immutable object by setting a value for thesamplerFilterMinmax
attribute.withSamplerMirrorClampToEdge
(boolean value) Copy the current immutable object by setting a value for thesamplerMirrorClampToEdge
attribute.withScalarBlockLayout
(boolean value) Copy the current immutable object by setting a value for thescalarBlockLayout
attribute.withSeparateDepthStencilLayouts
(boolean value) Copy the current immutable object by setting a value for theseparateDepthStencilLayouts
attribute.withShaderBufferInt64Atomics
(boolean value) Copy the current immutable object by setting a value for theshaderBufferInt64Atomics
attribute.withShaderFloat16
(boolean value) Copy the current immutable object by setting a value for theshaderFloat16
attribute.withShaderInputAttachmentArrayDynamicIndexing
(boolean value) Copy the current immutable object by setting a value for theshaderInputAttachmentArrayDynamicIndexing
attribute.withShaderInputAttachmentArrayNonUniformIndexing
(boolean value) Copy the current immutable object by setting a value for theshaderInputAttachmentArrayNonUniformIndexing
attribute.withShaderInt8
(boolean value) Copy the current immutable object by setting a value for theshaderInt8
attribute.withShaderOutputLayer
(boolean value) Copy the current immutable object by setting a value for theshaderOutputLayer
attribute.withShaderOutputViewportIndex
(boolean value) Copy the current immutable object by setting a value for theshaderOutputViewportIndex
attribute.withShaderSampledImageArrayNonUniformIndexing
(boolean value) Copy the current immutable object by setting a value for theshaderSampledImageArrayNonUniformIndexing
attribute.withShaderSharedInt64Atomics
(boolean value) Copy the current immutable object by setting a value for theshaderSharedInt64Atomics
attribute.withShaderStorageBufferArrayNonUniformIndexing
(boolean value) Copy the current immutable object by setting a value for theshaderStorageBufferArrayNonUniformIndexing
attribute.withShaderStorageImageArrayNonUniformIndexing
(boolean value) Copy the current immutable object by setting a value for theshaderStorageImageArrayNonUniformIndexing
attribute.withShaderStorageTexelBufferArrayDynamicIndexing
(boolean value) Copy the current immutable object by setting a value for theshaderStorageTexelBufferArrayDynamicIndexing
attribute.withShaderStorageTexelBufferArrayNonUniformIndexing
(boolean value) Copy the current immutable object by setting a value for theshaderStorageTexelBufferArrayNonUniformIndexing
attribute.withShaderSubgroupExtendedTypes
(boolean value) Copy the current immutable object by setting a value for theshaderSubgroupExtendedTypes
attribute.withShaderUniformBufferArrayNonUniformIndexing
(boolean value) Copy the current immutable object by setting a value for theshaderUniformBufferArrayNonUniformIndexing
attribute.withShaderUniformTexelBufferArrayDynamicIndexing
(boolean value) Copy the current immutable object by setting a value for theshaderUniformTexelBufferArrayDynamicIndexing
attribute.withShaderUniformTexelBufferArrayNonUniformIndexing
(boolean value) Copy the current immutable object by setting a value for theshaderUniformTexelBufferArrayNonUniformIndexing
attribute.withStorageBuffer8BitAccess
(boolean value) Copy the current immutable object by setting a value for thestorageBuffer8BitAccess
attribute.withStoragePushConstant8
(boolean value) Copy the current immutable object by setting a value for thestoragePushConstant8
attribute.withSubgroupBroadcastDynamicId
(boolean value) Copy the current immutable object by setting a value for thesubgroupBroadcastDynamicId
attribute.withTimelineSemaphore
(boolean value) Copy the current immutable object by setting a value for thetimelineSemaphore
attribute.withUniformAndStorageBuffer8BitAccess
(boolean value) Copy the current immutable object by setting a value for theuniformAndStorageBuffer8BitAccess
attribute.withUniformBufferStandardLayout
(boolean value) Copy the current immutable object by setting a value for theuniformBufferStandardLayout
attribute.withVulkanMemoryModel
(boolean value) Copy the current immutable object by setting a value for thevulkanMemoryModel
attribute.withVulkanMemoryModelAvailabilityVisibilityChains
(boolean value) Copy the current immutable object by setting a value for thevulkanMemoryModelAvailabilityVisibilityChains
attribute.withVulkanMemoryModelDeviceScope
(boolean value) Copy the current immutable object by setting a value for thevulkanMemoryModelDeviceScope
attribute.
-
Method Details
-
bufferDeviceAddress
public boolean bufferDeviceAddress()bufferDeviceAddress indicates that the implementation supports accessing buffer memory in shaders as storage buffers via an address queried from vkGetBufferDeviceAddress.- Specified by:
bufferDeviceAddress
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
bufferDeviceAddressCaptureReplay
public boolean bufferDeviceAddressCaptureReplay()bufferDeviceAddressCaptureReplay indicates that the implementation supports saving and reusing buffer and device addresses, e.g. for trace capture and replay.- Specified by:
bufferDeviceAddressCaptureReplay
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
bufferDeviceAddressMultiDevice
public boolean bufferDeviceAddressMultiDevice()bufferDeviceAddressMultiDevice indicates that the implementation supports the bufferDeviceAddress , rayTracingPipeline and rayQuery features for logical devices created with multiple physical devices. If this feature is not supported, buffer and acceleration structure addresses must not be queried on a logical device created with more than one physical device.- Specified by:
bufferDeviceAddressMultiDevice
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
descriptorBindingPartiallyBound
public boolean descriptorBindingPartiallyBound()descriptorBindingPartiallyBound indicates whether the implementation supports statically using a descriptor set binding in which some descriptors are not valid. If this feature is not enabled, VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT must not be used.- Specified by:
descriptorBindingPartiallyBound
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
descriptorBindingSampledImageUpdateAfterBind
public boolean descriptorBindingSampledImageUpdateAfterBind()descriptorBindingSampledImageUpdateAfterBind indicates whether the implementation supports updating sampled image descriptors after a set is bound. If this feature is not enabled, VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be used with VK_DESCRIPTOR_TYPE_SAMPLER, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, or VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE.- Specified by:
descriptorBindingSampledImageUpdateAfterBind
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
descriptorBindingStorageBufferUpdateAfterBind
public boolean descriptorBindingStorageBufferUpdateAfterBind()descriptorBindingStorageBufferUpdateAfterBind indicates whether the implementation supports updating storage buffer descriptors after a set is bound. If this feature is not enabled, VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be used with VK_DESCRIPTOR_TYPE_STORAGE_BUFFER.- Specified by:
descriptorBindingStorageBufferUpdateAfterBind
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
descriptorBindingStorageImageUpdateAfterBind
public boolean descriptorBindingStorageImageUpdateAfterBind()descriptorBindingStorageImageUpdateAfterBind indicates whether the implementation supports updating storage image descriptors after a set is bound. If this feature is not enabled, VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be used with VK_DESCRIPTOR_TYPE_STORAGE_IMAGE.- Specified by:
descriptorBindingStorageImageUpdateAfterBind
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
descriptorBindingStorageTexelBufferUpdateAfterBind
public boolean descriptorBindingStorageTexelBufferUpdateAfterBind()descriptorBindingStorageTexelBufferUpdateAfterBind indicates whether the implementation supports updating storage texel buffer descriptors after a set is bound. If this feature is not enabled, VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be used with VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER.- Specified by:
descriptorBindingStorageTexelBufferUpdateAfterBind
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
descriptorBindingUniformBufferUpdateAfterBind
public boolean descriptorBindingUniformBufferUpdateAfterBind()descriptorBindingUniformBufferUpdateAfterBind indicates whether the implementation supports updating uniform buffer descriptors after a set is bound. If this feature is not enabled, VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be used with VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER.- Specified by:
descriptorBindingUniformBufferUpdateAfterBind
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
descriptorBindingUniformTexelBufferUpdateAfterBind
public boolean descriptorBindingUniformTexelBufferUpdateAfterBind()descriptorBindingUniformTexelBufferUpdateAfterBind indicates whether the implementation supports updating uniform texel buffer descriptors after a set is bound. If this feature is not enabled, VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be used with VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER.- Specified by:
descriptorBindingUniformTexelBufferUpdateAfterBind
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
descriptorBindingUpdateUnusedWhilePending
public boolean descriptorBindingUpdateUnusedWhilePending()descriptorBindingUpdateUnusedWhilePending indicates whether the implementation supports updating descriptors while the set is in use. If this feature is not enabled, VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT must not be used.- Specified by:
descriptorBindingUpdateUnusedWhilePending
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
descriptorBindingVariableDescriptorCount
public boolean descriptorBindingVariableDescriptorCount()descriptorBindingVariableDescriptorCount indicates whether the implementation supports descriptor sets with a variable-sized last binding. If this feature is not enabled, VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT must not be used.- Specified by:
descriptorBindingVariableDescriptorCount
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
descriptorIndexing
public boolean descriptorIndexing()descriptorIndexing indicates whether the implementation supports the minimum set of descriptor indexing features as described in the Feature Requirements section. Enabling the descriptorIndexing member when vkCreateDevice is called does not imply the other minimum descriptor indexing features are also enabled. Those other descriptor indexing features must be enabled individually as needed by the application.- Specified by:
descriptorIndexing
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
drawIndirectCount
public boolean drawIndirectCount()drawIndirectCount indicates whether the implementation supports the vkCmdDrawIndirectCount and vkCmdDrawIndexedIndirectCount functions. If this feature is not enabled, these functions must not be used.- Specified by:
drawIndirectCount
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
hostQueryReset
public boolean hostQueryReset()hostQueryReset indicates that the implementation supports resetting queries from the host with vkResetQueryPool.- Specified by:
hostQueryReset
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
imagelessFramebuffer
public boolean imagelessFramebuffer()imagelessFramebuffer indicates that the implementation supports specifying the image view for attachments at render pass begin time via VkRenderPassAttachmentBeginInfo.- Specified by:
imagelessFramebuffer
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
runtimeDescriptorArray
public boolean runtimeDescriptorArray()runtimeDescriptorArray indicates whether the implementation supports the SPIR-V RuntimeDescriptorArray capability. If this feature is not enabled, descriptors must not be declared in runtime arrays.- Specified by:
runtimeDescriptorArray
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
samplerFilterMinmax
public boolean samplerFilterMinmax()samplerFilterMinmax indicates whether the implementation supports a minimum set of required formats supporting min/max filtering as defined by the filterMinmaxSingleComponentFormats property minimum requirements. If this feature is not enabled, then no VkSamplerCreateInfo pNext chain can include a VkSamplerReductionModeCreateInfo structure.- Specified by:
samplerFilterMinmax
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
samplerMirrorClampToEdge
public boolean samplerMirrorClampToEdge()samplerMirrorClampToEdge indicates whether the implementation supports the VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE sampler address mode. If this feature is not enabled, the VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE sampler address mode must not be used.- Specified by:
samplerMirrorClampToEdge
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
scalarBlockLayout
public boolean scalarBlockLayout()scalarBlockLayout indicates that the implementation supports the layout of resource blocks in shaders using scalar alignment.- Specified by:
scalarBlockLayout
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
separateDepthStencilLayouts
public boolean separateDepthStencilLayouts()separateDepthStencilLayouts indicates whether the implementation supports a VkImageMemoryBarrier for a depth/stencil image with only one of VK_IMAGE_ASPECT_DEPTH_BIT or VK_IMAGE_ASPECT_STENCIL_BIT set, and whether VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL can be used.- Specified by:
separateDepthStencilLayouts
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderBufferInt64Atomics
public boolean shaderBufferInt64Atomics()shaderBufferInt64Atomics indicates whether shaders can perform 64-bit unsigned and signed integer atomic operations on buffers.- Specified by:
shaderBufferInt64Atomics
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderFloat16
public boolean shaderFloat16()shaderFloat16 indicates whether 16-bit floats (halfs) are supported in shader code. This also indicates whether shader modules can declare the Float16 capability. However, this only enables a subset of the storage classes that SPIR-V allows for the Float16 SPIR-V capability: Declaring and using 16-bit floats in the Private, Workgroup (for non-Block variables), and Function storage classes is enabled, while declaring them in the interface storage classes (e.g., UniformConstant, Uniform, StorageBuffer, Input, Output, and PushConstant) is not enabled.- Specified by:
shaderFloat16
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderInputAttachmentArrayDynamicIndexing
public boolean shaderInputAttachmentArrayDynamicIndexing()shaderInputAttachmentArrayDynamicIndexing indicates whether arrays of input attachments can be indexed by dynamically uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT must be indexed only by constant integral expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare the InputAttachmentArrayDynamicIndexing capability.- Specified by:
shaderInputAttachmentArrayDynamicIndexing
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderInputAttachmentArrayNonUniformIndexing
public boolean shaderInputAttachmentArrayNonUniformIndexing()shaderInputAttachmentArrayNonUniformIndexing indicates whether arrays of input attachments can be indexed by non-uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT must not be indexed by non-uniform integer expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare the InputAttachmentArrayNonUniformIndexing capability.- Specified by:
shaderInputAttachmentArrayNonUniformIndexing
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderInt8
public boolean shaderInt8()shaderInt8 indicates whether 8-bit integers (signed and unsigned) are supported in shader code. This also indicates whether shader modules can declare the Int8 capability. However, this only enables a subset of the storage classes that SPIR-V allows for the Int8 SPIR-V capability: Declaring and using 8-bit integers in the Private, Workgroup (for non-Block variables), and Function storage classes is enabled, while declaring them in the interface storage classes (e.g., UniformConstant, Uniform, StorageBuffer, Input, Output, and PushConstant) is not enabled.- Specified by:
shaderInt8
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderOutputLayer
public boolean shaderOutputLayer()shaderOutputLayer indicates whether the implementation supports the ShaderLayer SPIR-V capability enabling variables decorated with the Layer built-in to be exported from vertex or tessellation evaluation shaders. If this feature is not enabled, the Layer built-in decoration must not be used on outputs in vertex or tessellation evaluation shaders.- Specified by:
shaderOutputLayer
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderOutputViewportIndex
public boolean shaderOutputViewportIndex()shaderOutputViewportIndex indicates whether the implementation supports the ShaderViewportIndex SPIR-V capability enabling variables decorated with the ViewportIndex built-in to be exported from vertex or tessellation evaluation shaders. If this feature is not enabled, the ViewportIndex built-in decoration must not be used on outputs in vertex or tessellation evaluation shaders.- Specified by:
shaderOutputViewportIndex
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderSampledImageArrayNonUniformIndexing
public boolean shaderSampledImageArrayNonUniformIndexing()shaderSampledImageArrayNonUniformIndexing indicates whether arrays of samplers or sampled images can be indexed by non-uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_SAMPLER, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, or VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE must not be indexed by non-uniform integer expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare the SampledImageArrayNonUniformIndexing capability.- Specified by:
shaderSampledImageArrayNonUniformIndexing
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderStorageBufferArrayNonUniformIndexing
public boolean shaderStorageBufferArrayNonUniformIndexing()shaderStorageBufferArrayNonUniformIndexing indicates whether arrays of storage buffers can be indexed by non-uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_STORAGE_BUFFER or VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC must not be indexed by non-uniform integer expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare the StorageBufferArrayNonUniformIndexing capability.- Specified by:
shaderStorageBufferArrayNonUniformIndexing
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderStorageImageArrayNonUniformIndexing
public boolean shaderStorageImageArrayNonUniformIndexing()shaderStorageImageArrayNonUniformIndexing indicates whether arrays of storage images can be indexed by non-uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_STORAGE_IMAGE must not be indexed by non-uniform integer expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare the StorageImageArrayNonUniformIndexing capability.- Specified by:
shaderStorageImageArrayNonUniformIndexing
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderStorageTexelBufferArrayDynamicIndexing
public boolean shaderStorageTexelBufferArrayDynamicIndexing()shaderStorageTexelBufferArrayDynamicIndexing indicates whether arrays of storage texel buffers can be indexed by dynamically uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER must be indexed only by constant integral expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare the StorageTexelBufferArrayDynamicIndexing capability.- Specified by:
shaderStorageTexelBufferArrayDynamicIndexing
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderStorageTexelBufferArrayNonUniformIndexing
public boolean shaderStorageTexelBufferArrayNonUniformIndexing()shaderStorageTexelBufferArrayNonUniformIndexing indicates whether arrays of storage texel buffers can be indexed by non-uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER must not be indexed by non-uniform integer expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare the StorageTexelBufferArrayNonUniformIndexing capability.- Specified by:
shaderStorageTexelBufferArrayNonUniformIndexing
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderSubgroupExtendedTypes
public boolean shaderSubgroupExtendedTypes()shaderSubgroupExtendedTypes is a boolean specifying whether subgroup operations can use 8-bit integer, 16-bit integer, 64-bit integer, 16-bit floating-point, and vectors of these types in group operations with subgroup scope, if the implementation supports the types.- Specified by:
shaderSubgroupExtendedTypes
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderUniformBufferArrayNonUniformIndexing
public boolean shaderUniformBufferArrayNonUniformIndexing()shaderUniformBufferArrayNonUniformIndexing indicates whether arrays of uniform buffers can be indexed by non-uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER or VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC must not be indexed by non-uniform integer expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare the UniformBufferArrayNonUniformIndexing capability.- Specified by:
shaderUniformBufferArrayNonUniformIndexing
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderUniformTexelBufferArrayDynamicIndexing
public boolean shaderUniformTexelBufferArrayDynamicIndexing()shaderUniformTexelBufferArrayDynamicIndexing indicates whether arrays of uniform texel buffers can be indexed by dynamically uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER must be indexed only by constant integral expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare the UniformTexelBufferArrayDynamicIndexing capability.- Specified by:
shaderUniformTexelBufferArrayDynamicIndexing
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
shaderUniformTexelBufferArrayNonUniformIndexing
public boolean shaderUniformTexelBufferArrayNonUniformIndexing()shaderUniformTexelBufferArrayNonUniformIndexing indicates whether arrays of uniform texel buffers can be indexed by non-uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER must not be indexed by non-uniform integer expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare the UniformTexelBufferArrayNonUniformIndexing capability.- Specified by:
shaderUniformTexelBufferArrayNonUniformIndexing
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
storageBuffer8BitAccess
public boolean storageBuffer8BitAccess()storageBuffer8BitAccess indicates whether objects in the StorageBuffer, ShaderRecordBufferKHR, or PhysicalStorageBuffer storage class with the Block decoration can have 8-bit integer members. If this feature is not enabled, 8-bit integer members must not be used in such objects. This also indicates whether shader modules can declare the StorageBuffer8BitAccess capability.- Specified by:
storageBuffer8BitAccess
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
storagePushConstant8
public boolean storagePushConstant8()storagePushConstant8 indicates whether objects in the PushConstant storage class can have 8-bit integer members. If this feature is not enabled, 8-bit integer members must not be used in such objects. This also indicates whether shader modules can declare the StoragePushConstant8 capability.- Specified by:
storagePushConstant8
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
subgroupBroadcastDynamicId
public boolean subgroupBroadcastDynamicId()If subgroupBroadcastDynamicId is VK_TRUE, the “Id” operand of OpGroupNonUniformBroadcast can be dynamically uniform within a subgroup, and the “Index” operand of OpGroupNonUniformQuadBroadcast can be dynamically uniform within the derivative group. If it is VK_FALSE, these operands must be constants.- Specified by:
subgroupBroadcastDynamicId
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
timelineSemaphore
public boolean timelineSemaphore()timelineSemaphore indicates whether semaphores created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_TIMELINE are supported.- Specified by:
timelineSemaphore
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
uniformAndStorageBuffer8BitAccess
public boolean uniformAndStorageBuffer8BitAccess()uniformAndStorageBuffer8BitAccess indicates whether objects in the Uniform storage class with the Block decoration can have 8-bit integer members. If this feature is not enabled, 8-bit integer members must not be used in such objects. This also indicates whether shader modules can declare the UniformAndStorageBuffer8BitAccess capability.- Specified by:
uniformAndStorageBuffer8BitAccess
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
uniformBufferStandardLayout
public boolean uniformBufferStandardLayout()uniformBufferStandardLayout indicates that the implementation supports the same layouts for uniform buffers as for storage and other kinds of buffers. See Standard Buffer Layout.- Specified by:
uniformBufferStandardLayout
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
vulkanMemoryModel
public boolean vulkanMemoryModel()vulkanMemoryModel indicates whether the Vulkan Memory Model is supported, as defined in Vulkan Memory Model. This also indicates whether shader modules can declare the VulkanMemoryModel capability.- Specified by:
vulkanMemoryModel
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
vulkanMemoryModelAvailabilityVisibilityChains
public boolean vulkanMemoryModelAvailabilityVisibilityChains()vulkanMemoryModelAvailabilityVisibilityChains indicates whether the Vulkan Memory Model can use availability and visibility chains with more than one element.- Specified by:
vulkanMemoryModelAvailabilityVisibilityChains
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
vulkanMemoryModelDeviceScope
public boolean vulkanMemoryModelDeviceScope()vulkanMemoryModelDeviceScope indicates whether the Vulkan Memory Model can use Device scope synchronization. This also indicates whether shader modules can declare the VulkanMemoryModelDeviceScope capability.- Specified by:
vulkanMemoryModelDeviceScope
in interfaceVulkanPhysicalDeviceFeatures12Type
- Returns:
true
if supported
-
withBufferDeviceAddress
Copy the current immutable object by setting a value for thebufferDeviceAddress
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for bufferDeviceAddress- Returns:
- A modified copy of the
this
object
-
withBufferDeviceAddressCaptureReplay
Copy the current immutable object by setting a value for thebufferDeviceAddressCaptureReplay
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for bufferDeviceAddressCaptureReplay- Returns:
- A modified copy of the
this
object
-
withBufferDeviceAddressMultiDevice
Copy the current immutable object by setting a value for thebufferDeviceAddressMultiDevice
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for bufferDeviceAddressMultiDevice- Returns:
- A modified copy of the
this
object
-
withDescriptorBindingPartiallyBound
Copy the current immutable object by setting a value for thedescriptorBindingPartiallyBound
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for descriptorBindingPartiallyBound- Returns:
- A modified copy of the
this
object
-
withDescriptorBindingSampledImageUpdateAfterBind
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingSampledImageUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingSampledImageUpdateAfterBind
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for descriptorBindingSampledImageUpdateAfterBind- Returns:
- A modified copy of the
this
object
-
withDescriptorBindingStorageBufferUpdateAfterBind
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingStorageBufferUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingStorageBufferUpdateAfterBind
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for descriptorBindingStorageBufferUpdateAfterBind- Returns:
- A modified copy of the
this
object
-
withDescriptorBindingStorageImageUpdateAfterBind
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingStorageImageUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingStorageImageUpdateAfterBind
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for descriptorBindingStorageImageUpdateAfterBind- Returns:
- A modified copy of the
this
object
-
withDescriptorBindingStorageTexelBufferUpdateAfterBind
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingStorageTexelBufferUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingStorageTexelBufferUpdateAfterBind
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for descriptorBindingStorageTexelBufferUpdateAfterBind- Returns:
- A modified copy of the
this
object
-
withDescriptorBindingUniformBufferUpdateAfterBind
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingUniformBufferUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingUniformBufferUpdateAfterBind
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for descriptorBindingUniformBufferUpdateAfterBind- Returns:
- A modified copy of the
this
object
-
withDescriptorBindingUniformTexelBufferUpdateAfterBind
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingUniformTexelBufferUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingUniformTexelBufferUpdateAfterBind
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for descriptorBindingUniformTexelBufferUpdateAfterBind- Returns:
- A modified copy of the
this
object
-
withDescriptorBindingUpdateUnusedWhilePending
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingUpdateUnusedWhilePending(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingUpdateUnusedWhilePending
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for descriptorBindingUpdateUnusedWhilePending- Returns:
- A modified copy of the
this
object
-
withDescriptorBindingVariableDescriptorCount
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingVariableDescriptorCount(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingVariableDescriptorCount
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for descriptorBindingVariableDescriptorCount- Returns:
- A modified copy of the
this
object
-
withDescriptorIndexing
Copy the current immutable object by setting a value for thedescriptorIndexing
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for descriptorIndexing- Returns:
- A modified copy of the
this
object
-
withDrawIndirectCount
Copy the current immutable object by setting a value for thedrawIndirectCount
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for drawIndirectCount- Returns:
- A modified copy of the
this
object
-
withHostQueryReset
Copy the current immutable object by setting a value for thehostQueryReset
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for hostQueryReset- Returns:
- A modified copy of the
this
object
-
withImagelessFramebuffer
Copy the current immutable object by setting a value for theimagelessFramebuffer
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for imagelessFramebuffer- Returns:
- A modified copy of the
this
object
-
withRuntimeDescriptorArray
Copy the current immutable object by setting a value for theruntimeDescriptorArray
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for runtimeDescriptorArray- Returns:
- A modified copy of the
this
object
-
withSamplerFilterMinmax
Copy the current immutable object by setting a value for thesamplerFilterMinmax
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for samplerFilterMinmax- Returns:
- A modified copy of the
this
object
-
withSamplerMirrorClampToEdge
Copy the current immutable object by setting a value for thesamplerMirrorClampToEdge
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for samplerMirrorClampToEdge- Returns:
- A modified copy of the
this
object
-
withScalarBlockLayout
Copy the current immutable object by setting a value for thescalarBlockLayout
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for scalarBlockLayout- Returns:
- A modified copy of the
this
object
-
withSeparateDepthStencilLayouts
Copy the current immutable object by setting a value for theseparateDepthStencilLayouts
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for separateDepthStencilLayouts- Returns:
- A modified copy of the
this
object
-
withShaderBufferInt64Atomics
Copy the current immutable object by setting a value for theshaderBufferInt64Atomics
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderBufferInt64Atomics- Returns:
- A modified copy of the
this
object
-
withShaderFloat16
Copy the current immutable object by setting a value for theshaderFloat16
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderFloat16- Returns:
- A modified copy of the
this
object
-
withShaderInputAttachmentArrayDynamicIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderInputAttachmentArrayDynamicIndexing(boolean value) Copy the current immutable object by setting a value for theshaderInputAttachmentArrayDynamicIndexing
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderInputAttachmentArrayDynamicIndexing- Returns:
- A modified copy of the
this
object
-
withShaderInputAttachmentArrayNonUniformIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderInputAttachmentArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderInputAttachmentArrayNonUniformIndexing
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderInputAttachmentArrayNonUniformIndexing- Returns:
- A modified copy of the
this
object
-
withShaderInt8
Copy the current immutable object by setting a value for theshaderInt8
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderInt8- Returns:
- A modified copy of the
this
object
-
withShaderOutputLayer
Copy the current immutable object by setting a value for theshaderOutputLayer
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderOutputLayer- Returns:
- A modified copy of the
this
object
-
withShaderOutputViewportIndex
Copy the current immutable object by setting a value for theshaderOutputViewportIndex
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderOutputViewportIndex- Returns:
- A modified copy of the
this
object
-
withShaderSampledImageArrayNonUniformIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderSampledImageArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderSampledImageArrayNonUniformIndexing
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderSampledImageArrayNonUniformIndexing- Returns:
- A modified copy of the
this
object
-
withShaderStorageBufferArrayNonUniformIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderStorageBufferArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderStorageBufferArrayNonUniformIndexing
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderStorageBufferArrayNonUniformIndexing- Returns:
- A modified copy of the
this
object
-
withShaderStorageImageArrayNonUniformIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderStorageImageArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderStorageImageArrayNonUniformIndexing
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderStorageImageArrayNonUniformIndexing- Returns:
- A modified copy of the
this
object
-
withShaderStorageTexelBufferArrayDynamicIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderStorageTexelBufferArrayDynamicIndexing(boolean value) Copy the current immutable object by setting a value for theshaderStorageTexelBufferArrayDynamicIndexing
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderStorageTexelBufferArrayDynamicIndexing- Returns:
- A modified copy of the
this
object
-
withShaderStorageTexelBufferArrayNonUniformIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderStorageTexelBufferArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderStorageTexelBufferArrayNonUniformIndexing
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderStorageTexelBufferArrayNonUniformIndexing- Returns:
- A modified copy of the
this
object
-
withShaderSubgroupExtendedTypes
Copy the current immutable object by setting a value for theshaderSubgroupExtendedTypes
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderSubgroupExtendedTypes- Returns:
- A modified copy of the
this
object
-
withShaderUniformBufferArrayNonUniformIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderUniformBufferArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderUniformBufferArrayNonUniformIndexing
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderUniformBufferArrayNonUniformIndexing- Returns:
- A modified copy of the
this
object
-
withShaderUniformTexelBufferArrayDynamicIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderUniformTexelBufferArrayDynamicIndexing(boolean value) Copy the current immutable object by setting a value for theshaderUniformTexelBufferArrayDynamicIndexing
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderUniformTexelBufferArrayDynamicIndexing- Returns:
- A modified copy of the
this
object
-
withShaderUniformTexelBufferArrayNonUniformIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderUniformTexelBufferArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderUniformTexelBufferArrayNonUniformIndexing
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderUniformTexelBufferArrayNonUniformIndexing- Returns:
- A modified copy of the
this
object
-
withStorageBuffer8BitAccess
Copy the current immutable object by setting a value for thestorageBuffer8BitAccess
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for storageBuffer8BitAccess- Returns:
- A modified copy of the
this
object
-
withStoragePushConstant8
Copy the current immutable object by setting a value for thestoragePushConstant8
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for storagePushConstant8- Returns:
- A modified copy of the
this
object
-
withSubgroupBroadcastDynamicId
Copy the current immutable object by setting a value for thesubgroupBroadcastDynamicId
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for subgroupBroadcastDynamicId- Returns:
- A modified copy of the
this
object
-
withTimelineSemaphore
Copy the current immutable object by setting a value for thetimelineSemaphore
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for timelineSemaphore- Returns:
- A modified copy of the
this
object
-
withUniformAndStorageBuffer8BitAccess
Copy the current immutable object by setting a value for theuniformAndStorageBuffer8BitAccess
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for uniformAndStorageBuffer8BitAccess- Returns:
- A modified copy of the
this
object
-
withUniformBufferStandardLayout
Copy the current immutable object by setting a value for theuniformBufferStandardLayout
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for uniformBufferStandardLayout- Returns:
- A modified copy of the
this
object
-
withVulkanMemoryModel
Copy the current immutable object by setting a value for thevulkanMemoryModel
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for vulkanMemoryModel- Returns:
- A modified copy of the
this
object
-
withVulkanMemoryModelAvailabilityVisibilityChains
public final VulkanPhysicalDeviceFeatures12 withVulkanMemoryModelAvailabilityVisibilityChains(boolean value) Copy the current immutable object by setting a value for thevulkanMemoryModelAvailabilityVisibilityChains
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for vulkanMemoryModelAvailabilityVisibilityChains- Returns:
- A modified copy of the
this
object
-
withVulkanMemoryModelDeviceScope
Copy the current immutable object by setting a value for thevulkanMemoryModelDeviceScope
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for vulkanMemoryModelDeviceScope- Returns:
- A modified copy of the
this
object
-
equals
-
hashCode
public int hashCode()Computes a hash code from attributes:bufferDeviceAddress
,bufferDeviceAddressCaptureReplay
,bufferDeviceAddressMultiDevice
,descriptorBindingPartiallyBound
,descriptorBindingSampledImageUpdateAfterBind
,descriptorBindingStorageBufferUpdateAfterBind
,descriptorBindingStorageImageUpdateAfterBind
,descriptorBindingStorageTexelBufferUpdateAfterBind
,descriptorBindingUniformBufferUpdateAfterBind
,descriptorBindingUniformTexelBufferUpdateAfterBind
,descriptorBindingUpdateUnusedWhilePending
,descriptorBindingVariableDescriptorCount
,descriptorIndexing
,drawIndirectCount
,hostQueryReset
,imagelessFramebuffer
,runtimeDescriptorArray
,samplerFilterMinmax
,samplerMirrorClampToEdge
,scalarBlockLayout
,separateDepthStencilLayouts
,shaderBufferInt64Atomics
,shaderFloat16
,shaderInputAttachmentArrayDynamicIndexing
,shaderInputAttachmentArrayNonUniformIndexing
,shaderInt8
,shaderOutputLayer
,shaderOutputViewportIndex
,shaderSampledImageArrayNonUniformIndexing
,shaderSharedInt64Atomics
,shaderStorageBufferArrayNonUniformIndexing
,shaderStorageImageArrayNonUniformIndexing
,shaderStorageTexelBufferArrayDynamicIndexing
,shaderStorageTexelBufferArrayNonUniformIndexing
,shaderSubgroupExtendedTypes
,shaderUniformBufferArrayNonUniformIndexing
,shaderUniformTexelBufferArrayDynamicIndexing
,shaderUniformTexelBufferArrayNonUniformIndexing
,storageBuffer8BitAccess
,storagePushConstant8
,subgroupBroadcastDynamicId
,timelineSemaphore
,uniformAndStorageBuffer8BitAccess
,uniformBufferStandardLayout
,vulkanMemoryModel
,vulkanMemoryModelAvailabilityVisibilityChains
,vulkanMemoryModelDeviceScope
. -
toString
-
copyOf
Creates an immutable copy of aVulkanPhysicalDeviceFeatures12Type
value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.- Parameters:
instance
- The instance to copy- Returns:
- A copied immutable VulkanPhysicalDeviceFeatures12 instance
-
builder
Creates a builder forVulkanPhysicalDeviceFeatures12
.VulkanPhysicalDeviceFeatures12.builder() .setBufferDeviceAddress(boolean) // optional
bufferDeviceAddress
.setBufferDeviceAddressCaptureReplay(boolean) // optionalbufferDeviceAddressCaptureReplay
.setBufferDeviceAddressMultiDevice(boolean) // optionalbufferDeviceAddressMultiDevice
.setDescriptorBindingPartiallyBound(boolean) // optionaldescriptorBindingPartiallyBound
.setDescriptorBindingSampledImageUpdateAfterBind(boolean) // optionaldescriptorBindingSampledImageUpdateAfterBind
.setDescriptorBindingStorageBufferUpdateAfterBind(boolean) // optionaldescriptorBindingStorageBufferUpdateAfterBind
.setDescriptorBindingStorageImageUpdateAfterBind(boolean) // optionaldescriptorBindingStorageImageUpdateAfterBind
.setDescriptorBindingStorageTexelBufferUpdateAfterBind(boolean) // optionaldescriptorBindingStorageTexelBufferUpdateAfterBind
.setDescriptorBindingUniformBufferUpdateAfterBind(boolean) // optionaldescriptorBindingUniformBufferUpdateAfterBind
.setDescriptorBindingUniformTexelBufferUpdateAfterBind(boolean) // optionaldescriptorBindingUniformTexelBufferUpdateAfterBind
.setDescriptorBindingUpdateUnusedWhilePending(boolean) // optionaldescriptorBindingUpdateUnusedWhilePending
.setDescriptorBindingVariableDescriptorCount(boolean) // optionaldescriptorBindingVariableDescriptorCount
.setDescriptorIndexing(boolean) // optionaldescriptorIndexing
.setDrawIndirectCount(boolean) // optionaldrawIndirectCount
.setHostQueryReset(boolean) // optionalhostQueryReset
.setImagelessFramebuffer(boolean) // optionalimagelessFramebuffer
.setRuntimeDescriptorArray(boolean) // optionalruntimeDescriptorArray
.setSamplerFilterMinmax(boolean) // optionalsamplerFilterMinmax
.setSamplerMirrorClampToEdge(boolean) // optionalsamplerMirrorClampToEdge
.setScalarBlockLayout(boolean) // optionalscalarBlockLayout
.setSeparateDepthStencilLayouts(boolean) // optionalseparateDepthStencilLayouts
.setShaderBufferInt64Atomics(boolean) // optionalshaderBufferInt64Atomics
.setShaderFloat16(boolean) // optionalshaderFloat16
.setShaderInputAttachmentArrayDynamicIndexing(boolean) // optionalshaderInputAttachmentArrayDynamicIndexing
.setShaderInputAttachmentArrayNonUniformIndexing(boolean) // optionalshaderInputAttachmentArrayNonUniformIndexing
.setShaderInt8(boolean) // optionalshaderInt8
.setShaderOutputLayer(boolean) // optionalshaderOutputLayer
.setShaderOutputViewportIndex(boolean) // optionalshaderOutputViewportIndex
.setShaderSampledImageArrayNonUniformIndexing(boolean) // optionalshaderSampledImageArrayNonUniformIndexing
.setShaderSharedInt64Atomics(boolean) // optionalshaderSharedInt64Atomics
.setShaderStorageBufferArrayNonUniformIndexing(boolean) // optionalshaderStorageBufferArrayNonUniformIndexing
.setShaderStorageImageArrayNonUniformIndexing(boolean) // optionalshaderStorageImageArrayNonUniformIndexing
.setShaderStorageTexelBufferArrayDynamicIndexing(boolean) // optionalshaderStorageTexelBufferArrayDynamicIndexing
.setShaderStorageTexelBufferArrayNonUniformIndexing(boolean) // optionalshaderStorageTexelBufferArrayNonUniformIndexing
.setShaderSubgroupExtendedTypes(boolean) // optionalshaderSubgroupExtendedTypes
.setShaderUniformBufferArrayNonUniformIndexing(boolean) // optionalshaderUniformBufferArrayNonUniformIndexing
.setShaderUniformTexelBufferArrayDynamicIndexing(boolean) // optionalshaderUniformTexelBufferArrayDynamicIndexing
.setShaderUniformTexelBufferArrayNonUniformIndexing(boolean) // optionalshaderUniformTexelBufferArrayNonUniformIndexing
.setStorageBuffer8BitAccess(boolean) // optionalstorageBuffer8BitAccess
.setStoragePushConstant8(boolean) // optionalstoragePushConstant8
.setSubgroupBroadcastDynamicId(boolean) // optionalsubgroupBroadcastDynamicId
.setTimelineSemaphore(boolean) // optionaltimelineSemaphore
.setUniformAndStorageBuffer8BitAccess(boolean) // optionaluniformAndStorageBuffer8BitAccess
.setUniformBufferStandardLayout(boolean) // optionaluniformBufferStandardLayout
.setVulkanMemoryModel(boolean) // optionalvulkanMemoryModel
.setVulkanMemoryModelAvailabilityVisibilityChains(boolean) // optionalvulkanMemoryModelAvailabilityVisibilityChains
.setVulkanMemoryModelDeviceScope(boolean) // optionalvulkanMemoryModelDeviceScope
.build();- Returns:
- A new VulkanPhysicalDeviceFeatures12 builder
-