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 classBuilds instances of typeVulkanPhysicalDeviceFeatures12. -
Method Summary
Modifier and TypeMethodDescriptionbooleanbufferDeviceAddress indicates that the implementation supports accessing buffer memory in shaders as storage buffers via an address queried from vkGetBufferDeviceAddress.booleanbufferDeviceAddressCaptureReplay indicates that the implementation supports saving and reusing buffer and device addresses, e.g.booleanbufferDeviceAddressMultiDevice 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 aVulkanPhysicalDeviceFeatures12Typevalue.booleandescriptorBindingPartiallyBound indicates whether the implementation supports statically using a descriptor set binding in which some descriptors are not valid.booleandescriptorBindingSampledImageUpdateAfterBind indicates whether the implementation supports updating sampled image descriptors after a set is bound.booleandescriptorBindingStorageBufferUpdateAfterBind indicates whether the implementation supports updating storage buffer descriptors after a set is bound.booleandescriptorBindingStorageImageUpdateAfterBind indicates whether the implementation supports updating storage image descriptors after a set is bound.booleandescriptorBindingStorageTexelBufferUpdateAfterBind indicates whether the implementation supports updating storage texel buffer descriptors after a set is bound.booleandescriptorBindingUniformBufferUpdateAfterBind indicates whether the implementation supports updating uniform buffer descriptors after a set is bound.booleandescriptorBindingUniformTexelBufferUpdateAfterBind indicates whether the implementation supports updating uniform texel buffer descriptors after a set is bound.booleandescriptorBindingUpdateUnusedWhilePending indicates whether the implementation supports updating descriptors while the set is in use.booleandescriptorBindingVariableDescriptorCount indicates whether the implementation supports descriptor sets with a variable-sized last binding.booleandescriptorIndexing indicates whether the implementation supports the minimum set of descriptor indexing features as described in the Feature Requirements section.booleandrawIndirectCount indicates whether the implementation supports the vkCmdDrawIndirectCount and vkCmdDrawIndexedIndirectCount functions.booleanThis instance is equal to all instances ofVulkanPhysicalDeviceFeatures12that have equal attribute values.inthashCode()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.booleanhostQueryReset indicates that the implementation supports resetting queries from the host with vkResetQueryPool.booleanimagelessFramebuffer indicates that the implementation supports specifying the image view for attachments at render pass begin time via VkRenderPassAttachmentBeginInfo.booleanruntimeDescriptorArray indicates whether the implementation supports the SPIR-V RuntimeDescriptorArray capability.booleansamplerFilterMinmax indicates whether the implementation supports a minimum set of required formats supporting min/max filtering as defined by the filterMinmaxSingleComponentFormats property minimum requirements.booleansamplerMirrorClampToEdge indicates whether the implementation supports the VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE sampler address mode.booleanscalarBlockLayout indicates that the implementation supports the layout of resource blocks in shaders using scalar alignment.booleanseparateDepthStencilLayouts 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.booleanshaderBufferInt64Atomics indicates whether shaders can perform 64-bit unsigned and signed integer atomic operations on buffers.booleanshaderFloat16 indicates whether 16-bit floats (halfs) are supported in shader code.booleanshaderInputAttachmentArrayDynamicIndexing indicates whether arrays of input attachments can be indexed by dynamically uniform integer expressions in shader code.booleanshaderInputAttachmentArrayNonUniformIndexing indicates whether arrays of input attachments can be indexed by non-uniform integer expressions in shader code.booleanshaderInt8 indicates whether 8-bit integers (signed and unsigned) are supported in shader code.booleanshaderOutputLayer 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.booleanshaderOutputViewportIndex 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.booleanshaderSampledImageArrayNonUniformIndexing indicates whether arrays of samplers or sampled images can be indexed by non-uniform integer expressions in shader code.booleanshaderSharedInt64Atomics indicates whether shaders can perform 64-bit unsigned and signed integer atomic operations on shared memory.booleanshaderStorageBufferArrayNonUniformIndexing indicates whether arrays of storage buffers can be indexed by non-uniform integer expressions in shader code.booleanshaderStorageImageArrayNonUniformIndexing indicates whether arrays of storage images can be indexed by non-uniform integer expressions in shader code.booleanshaderStorageTexelBufferArrayDynamicIndexing indicates whether arrays of storage texel buffers can be indexed by dynamically uniform integer expressions in shader code.booleanshaderStorageTexelBufferArrayNonUniformIndexing indicates whether arrays of storage texel buffers can be indexed by non-uniform integer expressions in shader code.booleanshaderSubgroupExtendedTypes 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.booleanshaderUniformBufferArrayNonUniformIndexing indicates whether arrays of uniform buffers can be indexed by non-uniform integer expressions in shader code.booleanshaderUniformTexelBufferArrayDynamicIndexing indicates whether arrays of uniform texel buffers can be indexed by dynamically uniform integer expressions in shader code.booleanshaderUniformTexelBufferArrayNonUniformIndexing indicates whether arrays of uniform texel buffers can be indexed by non-uniform integer expressions in shader code.booleanstorageBuffer8BitAccess indicates whether objects in the StorageBuffer, ShaderRecordBufferKHR, or PhysicalStorageBuffer storage class with the Block decoration can have 8-bit integer members.booleanstoragePushConstant8 indicates whether objects in the PushConstant storage class can have 8-bit integer members.booleanIf 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.booleantimelineSemaphore indicates whether semaphores created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_TIMELINE are supported.toString()Prints the immutable valueVulkanPhysicalDeviceFeatures12with attribute values.booleanuniformAndStorageBuffer8BitAccess indicates whether objects in the Uniform storage class with the Block decoration can have 8-bit integer members.booleanuniformBufferStandardLayout indicates that the implementation supports the same layouts for uniform buffers as for storage and other kinds of buffers.booleanvulkanMemoryModel indicates whether the Vulkan Memory Model is supported, as defined in Vulkan Memory Model.booleanvulkanMemoryModelAvailabilityVisibilityChains indicates whether the Vulkan Memory Model can use availability and visibility chains with more than one element.booleanvulkanMemoryModelDeviceScope indicates whether the Vulkan Memory Model can use Device scope synchronization.withBufferDeviceAddress(boolean value) Copy the current immutable object by setting a value for thebufferDeviceAddressattribute.withBufferDeviceAddressCaptureReplay(boolean value) Copy the current immutable object by setting a value for thebufferDeviceAddressCaptureReplayattribute.withBufferDeviceAddressMultiDevice(boolean value) Copy the current immutable object by setting a value for thebufferDeviceAddressMultiDeviceattribute.withDescriptorBindingPartiallyBound(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingPartiallyBoundattribute.withDescriptorBindingSampledImageUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingSampledImageUpdateAfterBindattribute.withDescriptorBindingStorageBufferUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingStorageBufferUpdateAfterBindattribute.withDescriptorBindingStorageImageUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingStorageImageUpdateAfterBindattribute.withDescriptorBindingStorageTexelBufferUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingStorageTexelBufferUpdateAfterBindattribute.withDescriptorBindingUniformBufferUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingUniformBufferUpdateAfterBindattribute.withDescriptorBindingUniformTexelBufferUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingUniformTexelBufferUpdateAfterBindattribute.withDescriptorBindingUpdateUnusedWhilePending(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingUpdateUnusedWhilePendingattribute.withDescriptorBindingVariableDescriptorCount(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingVariableDescriptorCountattribute.withDescriptorIndexing(boolean value) Copy the current immutable object by setting a value for thedescriptorIndexingattribute.withDrawIndirectCount(boolean value) Copy the current immutable object by setting a value for thedrawIndirectCountattribute.withHostQueryReset(boolean value) Copy the current immutable object by setting a value for thehostQueryResetattribute.withImagelessFramebuffer(boolean value) Copy the current immutable object by setting a value for theimagelessFramebufferattribute.withRuntimeDescriptorArray(boolean value) Copy the current immutable object by setting a value for theruntimeDescriptorArrayattribute.withSamplerFilterMinmax(boolean value) Copy the current immutable object by setting a value for thesamplerFilterMinmaxattribute.withSamplerMirrorClampToEdge(boolean value) Copy the current immutable object by setting a value for thesamplerMirrorClampToEdgeattribute.withScalarBlockLayout(boolean value) Copy the current immutable object by setting a value for thescalarBlockLayoutattribute.withSeparateDepthStencilLayouts(boolean value) Copy the current immutable object by setting a value for theseparateDepthStencilLayoutsattribute.withShaderBufferInt64Atomics(boolean value) Copy the current immutable object by setting a value for theshaderBufferInt64Atomicsattribute.withShaderFloat16(boolean value) Copy the current immutable object by setting a value for theshaderFloat16attribute.withShaderInputAttachmentArrayDynamicIndexing(boolean value) Copy the current immutable object by setting a value for theshaderInputAttachmentArrayDynamicIndexingattribute.withShaderInputAttachmentArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderInputAttachmentArrayNonUniformIndexingattribute.withShaderInt8(boolean value) Copy the current immutable object by setting a value for theshaderInt8attribute.withShaderOutputLayer(boolean value) Copy the current immutable object by setting a value for theshaderOutputLayerattribute.withShaderOutputViewportIndex(boolean value) Copy the current immutable object by setting a value for theshaderOutputViewportIndexattribute.withShaderSampledImageArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderSampledImageArrayNonUniformIndexingattribute.withShaderSharedInt64Atomics(boolean value) Copy the current immutable object by setting a value for theshaderSharedInt64Atomicsattribute.withShaderStorageBufferArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderStorageBufferArrayNonUniformIndexingattribute.withShaderStorageImageArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderStorageImageArrayNonUniformIndexingattribute.withShaderStorageTexelBufferArrayDynamicIndexing(boolean value) Copy the current immutable object by setting a value for theshaderStorageTexelBufferArrayDynamicIndexingattribute.withShaderStorageTexelBufferArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderStorageTexelBufferArrayNonUniformIndexingattribute.withShaderSubgroupExtendedTypes(boolean value) Copy the current immutable object by setting a value for theshaderSubgroupExtendedTypesattribute.withShaderUniformBufferArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderUniformBufferArrayNonUniformIndexingattribute.withShaderUniformTexelBufferArrayDynamicIndexing(boolean value) Copy the current immutable object by setting a value for theshaderUniformTexelBufferArrayDynamicIndexingattribute.withShaderUniformTexelBufferArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderUniformTexelBufferArrayNonUniformIndexingattribute.withStorageBuffer8BitAccess(boolean value) Copy the current immutable object by setting a value for thestorageBuffer8BitAccessattribute.withStoragePushConstant8(boolean value) Copy the current immutable object by setting a value for thestoragePushConstant8attribute.withSubgroupBroadcastDynamicId(boolean value) Copy the current immutable object by setting a value for thesubgroupBroadcastDynamicIdattribute.withTimelineSemaphore(boolean value) Copy the current immutable object by setting a value for thetimelineSemaphoreattribute.withUniformAndStorageBuffer8BitAccess(boolean value) Copy the current immutable object by setting a value for theuniformAndStorageBuffer8BitAccessattribute.withUniformBufferStandardLayout(boolean value) Copy the current immutable object by setting a value for theuniformBufferStandardLayoutattribute.withVulkanMemoryModel(boolean value) Copy the current immutable object by setting a value for thevulkanMemoryModelattribute.withVulkanMemoryModelAvailabilityVisibilityChains(boolean value) Copy the current immutable object by setting a value for thevulkanMemoryModelAvailabilityVisibilityChainsattribute.withVulkanMemoryModelDeviceScope(boolean value) Copy the current immutable object by setting a value for thevulkanMemoryModelDeviceScopeattribute.
-
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:
bufferDeviceAddressin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
bufferDeviceAddressCaptureReplayin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
bufferDeviceAddressMultiDevicein interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
descriptorBindingPartiallyBoundin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
descriptorBindingSampledImageUpdateAfterBindin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
descriptorBindingStorageBufferUpdateAfterBindin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
descriptorBindingStorageImageUpdateAfterBindin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
descriptorBindingStorageTexelBufferUpdateAfterBindin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
descriptorBindingUniformBufferUpdateAfterBindin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
descriptorBindingUniformTexelBufferUpdateAfterBindin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
descriptorBindingUpdateUnusedWhilePendingin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
descriptorBindingVariableDescriptorCountin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
descriptorIndexingin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
drawIndirectCountin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif supported
-
hostQueryReset
public boolean hostQueryReset()hostQueryReset indicates that the implementation supports resetting queries from the host with vkResetQueryPool.- Specified by:
hostQueryResetin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
imagelessFramebufferin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
runtimeDescriptorArrayin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
samplerFilterMinmaxin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
samplerMirrorClampToEdgein interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif supported
-
scalarBlockLayout
public boolean scalarBlockLayout()scalarBlockLayout indicates that the implementation supports the layout of resource blocks in shaders using scalar alignment.- Specified by:
scalarBlockLayoutin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
separateDepthStencilLayoutsin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif supported
-
shaderBufferInt64Atomics
public boolean shaderBufferInt64Atomics()shaderBufferInt64Atomics indicates whether shaders can perform 64-bit unsigned and signed integer atomic operations on buffers.- Specified by:
shaderBufferInt64Atomicsin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
shaderFloat16in interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
shaderInputAttachmentArrayDynamicIndexingin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
shaderInputAttachmentArrayNonUniformIndexingin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
shaderInt8in interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
shaderOutputLayerin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
shaderOutputViewportIndexin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
shaderSampledImageArrayNonUniformIndexingin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
shaderStorageBufferArrayNonUniformIndexingin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
shaderStorageImageArrayNonUniformIndexingin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
shaderStorageTexelBufferArrayDynamicIndexingin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
shaderStorageTexelBufferArrayNonUniformIndexingin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
shaderSubgroupExtendedTypesin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
shaderUniformBufferArrayNonUniformIndexingin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
shaderUniformTexelBufferArrayDynamicIndexingin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
shaderUniformTexelBufferArrayNonUniformIndexingin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
storageBuffer8BitAccessin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
storagePushConstant8in interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
subgroupBroadcastDynamicIdin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif supported
-
timelineSemaphore
public boolean timelineSemaphore()timelineSemaphore indicates whether semaphores created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_TIMELINE are supported.- Specified by:
timelineSemaphorein interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
uniformAndStorageBuffer8BitAccessin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
uniformBufferStandardLayoutin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
vulkanMemoryModelin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
vulkanMemoryModelAvailabilityVisibilityChainsin interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif 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:
vulkanMemoryModelDeviceScopein interfaceVulkanPhysicalDeviceFeatures12Type- Returns:
trueif supported
-
withBufferDeviceAddress
Copy the current immutable object by setting a value for thebufferDeviceAddressattribute. 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 or the
thisobject
-
withBufferDeviceAddressCaptureReplay
Copy the current immutable object by setting a value for thebufferDeviceAddressCaptureReplayattribute. 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 or the
thisobject
-
withBufferDeviceAddressMultiDevice
Copy the current immutable object by setting a value for thebufferDeviceAddressMultiDeviceattribute. 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 or the
thisobject
-
withDescriptorBindingPartiallyBound
Copy the current immutable object by setting a value for thedescriptorBindingPartiallyBoundattribute. 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 or the
thisobject
-
withDescriptorBindingSampledImageUpdateAfterBind
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingSampledImageUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingSampledImageUpdateAfterBindattribute. 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 or the
thisobject
-
withDescriptorBindingStorageBufferUpdateAfterBind
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingStorageBufferUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingStorageBufferUpdateAfterBindattribute. 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 or the
thisobject
-
withDescriptorBindingStorageImageUpdateAfterBind
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingStorageImageUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingStorageImageUpdateAfterBindattribute. 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 or the
thisobject
-
withDescriptorBindingStorageTexelBufferUpdateAfterBind
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingStorageTexelBufferUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingStorageTexelBufferUpdateAfterBindattribute. 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 or the
thisobject
-
withDescriptorBindingUniformBufferUpdateAfterBind
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingUniformBufferUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingUniformBufferUpdateAfterBindattribute. 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 or the
thisobject
-
withDescriptorBindingUniformTexelBufferUpdateAfterBind
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingUniformTexelBufferUpdateAfterBind(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingUniformTexelBufferUpdateAfterBindattribute. 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 or the
thisobject
-
withDescriptorBindingUpdateUnusedWhilePending
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingUpdateUnusedWhilePending(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingUpdateUnusedWhilePendingattribute. 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 or the
thisobject
-
withDescriptorBindingVariableDescriptorCount
public final VulkanPhysicalDeviceFeatures12 withDescriptorBindingVariableDescriptorCount(boolean value) Copy the current immutable object by setting a value for thedescriptorBindingVariableDescriptorCountattribute. 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 or the
thisobject
-
withDescriptorIndexing
Copy the current immutable object by setting a value for thedescriptorIndexingattribute. 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 or the
thisobject
-
withDrawIndirectCount
Copy the current immutable object by setting a value for thedrawIndirectCountattribute. 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 or the
thisobject
-
withHostQueryReset
Copy the current immutable object by setting a value for thehostQueryResetattribute. 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 or the
thisobject
-
withImagelessFramebuffer
Copy the current immutable object by setting a value for theimagelessFramebufferattribute. 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 or the
thisobject
-
withRuntimeDescriptorArray
Copy the current immutable object by setting a value for theruntimeDescriptorArrayattribute. 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 or the
thisobject
-
withSamplerFilterMinmax
Copy the current immutable object by setting a value for thesamplerFilterMinmaxattribute. 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 or the
thisobject
-
withSamplerMirrorClampToEdge
Copy the current immutable object by setting a value for thesamplerMirrorClampToEdgeattribute. 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 or the
thisobject
-
withScalarBlockLayout
Copy the current immutable object by setting a value for thescalarBlockLayoutattribute. 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 or the
thisobject
-
withSeparateDepthStencilLayouts
Copy the current immutable object by setting a value for theseparateDepthStencilLayoutsattribute. 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 or the
thisobject
-
withShaderBufferInt64Atomics
Copy the current immutable object by setting a value for theshaderBufferInt64Atomicsattribute. 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 or the
thisobject
-
withShaderFloat16
Copy the current immutable object by setting a value for theshaderFloat16attribute. 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 or the
thisobject
-
withShaderInputAttachmentArrayDynamicIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderInputAttachmentArrayDynamicIndexing(boolean value) Copy the current immutable object by setting a value for theshaderInputAttachmentArrayDynamicIndexingattribute. 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 or the
thisobject
-
withShaderInputAttachmentArrayNonUniformIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderInputAttachmentArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderInputAttachmentArrayNonUniformIndexingattribute. 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 or the
thisobject
-
withShaderInt8
Copy the current immutable object by setting a value for theshaderInt8attribute. 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 or the
thisobject
-
withShaderOutputLayer
Copy the current immutable object by setting a value for theshaderOutputLayerattribute. 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 or the
thisobject
-
withShaderOutputViewportIndex
Copy the current immutable object by setting a value for theshaderOutputViewportIndexattribute. 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 or the
thisobject
-
withShaderSampledImageArrayNonUniformIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderSampledImageArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderSampledImageArrayNonUniformIndexingattribute. 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 or the
thisobject
-
withShaderStorageBufferArrayNonUniformIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderStorageBufferArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderStorageBufferArrayNonUniformIndexingattribute. 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 or the
thisobject
-
withShaderStorageImageArrayNonUniformIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderStorageImageArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderStorageImageArrayNonUniformIndexingattribute. 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 or the
thisobject
-
withShaderStorageTexelBufferArrayDynamicIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderStorageTexelBufferArrayDynamicIndexing(boolean value) Copy the current immutable object by setting a value for theshaderStorageTexelBufferArrayDynamicIndexingattribute. 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 or the
thisobject
-
withShaderStorageTexelBufferArrayNonUniformIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderStorageTexelBufferArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderStorageTexelBufferArrayNonUniformIndexingattribute. 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 or the
thisobject
-
withShaderSubgroupExtendedTypes
Copy the current immutable object by setting a value for theshaderSubgroupExtendedTypesattribute. 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 or the
thisobject
-
withShaderUniformBufferArrayNonUniformIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderUniformBufferArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderUniformBufferArrayNonUniformIndexingattribute. 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 or the
thisobject
-
withShaderUniformTexelBufferArrayDynamicIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderUniformTexelBufferArrayDynamicIndexing(boolean value) Copy the current immutable object by setting a value for theshaderUniformTexelBufferArrayDynamicIndexingattribute. 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 or the
thisobject
-
withShaderUniformTexelBufferArrayNonUniformIndexing
public final VulkanPhysicalDeviceFeatures12 withShaderUniformTexelBufferArrayNonUniformIndexing(boolean value) Copy the current immutable object by setting a value for theshaderUniformTexelBufferArrayNonUniformIndexingattribute. 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 or the
thisobject
-
withStorageBuffer8BitAccess
Copy the current immutable object by setting a value for thestorageBuffer8BitAccessattribute. 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 or the
thisobject
-
withStoragePushConstant8
Copy the current immutable object by setting a value for thestoragePushConstant8attribute. 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 or the
thisobject
-
withSubgroupBroadcastDynamicId
Copy the current immutable object by setting a value for thesubgroupBroadcastDynamicIdattribute. 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 or the
thisobject
-
withTimelineSemaphore
Copy the current immutable object by setting a value for thetimelineSemaphoreattribute. 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 or the
thisobject
-
withUniformAndStorageBuffer8BitAccess
Copy the current immutable object by setting a value for theuniformAndStorageBuffer8BitAccessattribute. 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 or the
thisobject
-
withUniformBufferStandardLayout
Copy the current immutable object by setting a value for theuniformBufferStandardLayoutattribute. 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 or the
thisobject
-
withVulkanMemoryModel
Copy the current immutable object by setting a value for thevulkanMemoryModelattribute. 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 or the
thisobject
-
withVulkanMemoryModelAvailabilityVisibilityChains
public final VulkanPhysicalDeviceFeatures12 withVulkanMemoryModelAvailabilityVisibilityChains(boolean value) Copy the current immutable object by setting a value for thevulkanMemoryModelAvailabilityVisibilityChainsattribute. 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 or the
thisobject
-
withVulkanMemoryModelDeviceScope
Copy the current immutable object by setting a value for thevulkanMemoryModelDeviceScopeattribute. 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 or the
thisobject
-
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 aVulkanPhysicalDeviceFeatures12Typevalue. 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
-