Class VulkanPhysicalDeviceFeatures11
java.lang.Object
com.io7m.jcoronado.api.VulkanPhysicalDeviceFeatures11
- All Implemented Interfaces:
VulkanPhysicalDeviceFeatures11Type
public final class VulkanPhysicalDeviceFeatures11
extends Object
implements VulkanPhysicalDeviceFeatures11Type
The features supported by a physical Vulkan 1.1 device.
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Builds instances of typeVulkanPhysicalDeviceFeatures11
. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()
Creates a builder forVulkanPhysicalDeviceFeatures11
.copyOf
(VulkanPhysicalDeviceFeatures11Type instance) Creates an immutable copy of aVulkanPhysicalDeviceFeatures11Type
value.boolean
This instance is equal to all instances ofVulkanPhysicalDeviceFeatures11
that have equal attribute values.int
hashCode()
Computes a hash code from attributes:multiview
,multiviewGeometryShader
,multiviewTessellationShader
,protectedMemory
,samplerYcbcrConversion
,shaderDrawParameters
,storageBuffer16BitAccess
,storageInputOutput16
,storagePushConstant16
,uniformAndStorageBuffer16BitAccess
,variablePointers
,variablePointersStorageBuffer
.boolean
multiview specifies whether the implementation supports multiview rendering within a render pass.boolean
multiviewGeometryShader specifies whether the implementation supports multiview rendering within a render pass, with geometry shaders.boolean
multiviewTessellationShader specifies whether the implementation supports multiview rendering within a render pass, with tessellation shaders.boolean
protectedMemory specifies whether protected memory is supported.boolean
samplerYcbcrConversion specifies whether the implementation supports sampler Y′CBCR conversion.boolean
shaderDrawParameters specifies whether the implementation supports the SPIR-V DrawParameters capability.boolean
storageBuffer16BitAccess specifies whether objects in the StorageBuffer, ShaderRecordBufferKHR, or PhysicalStorageBuffer storage class with the Block decoration can have 16-bit integer and 16-bit floating-point members.boolean
storageInputOutput16 specifies whether objects in the Input and Output storage classes can have 16-bit integer and 16-bit floating-point members.boolean
storagePushConstant16 specifies whether objects in the PushConstant storage class can have 16-bit integer and 16-bit floating-point members.toString()
Prints the immutable valueVulkanPhysicalDeviceFeatures11
with attribute values.boolean
uniformAndStorageBuffer16BitAccess specifies whether objects in the Uniform storage class with the Block decoration can have 16-bit integer and 16-bit floating-point members.boolean
variablePointers specifies whether the implementation supports the SPIR-V VariablePointers capability.boolean
variablePointersStorageBuffer specifies whether the implementation supports the SPIR-V VariablePointersStorageBuffer capability.withMultiview
(boolean value) Copy the current immutable object by setting a value for themultiview
attribute.withMultiviewGeometryShader
(boolean value) Copy the current immutable object by setting a value for themultiviewGeometryShader
attribute.withMultiviewTessellationShader
(boolean value) Copy the current immutable object by setting a value for themultiviewTessellationShader
attribute.withProtectedMemory
(boolean value) Copy the current immutable object by setting a value for theprotectedMemory
attribute.withSamplerYcbcrConversion
(boolean value) Copy the current immutable object by setting a value for thesamplerYcbcrConversion
attribute.withShaderDrawParameters
(boolean value) Copy the current immutable object by setting a value for theshaderDrawParameters
attribute.withStorageBuffer16BitAccess
(boolean value) Copy the current immutable object by setting a value for thestorageBuffer16BitAccess
attribute.withStorageInputOutput16
(boolean value) Copy the current immutable object by setting a value for thestorageInputOutput16
attribute.withStoragePushConstant16
(boolean value) Copy the current immutable object by setting a value for thestoragePushConstant16
attribute.withUniformAndStorageBuffer16BitAccess
(boolean value) Copy the current immutable object by setting a value for theuniformAndStorageBuffer16BitAccess
attribute.withVariablePointers
(boolean value) Copy the current immutable object by setting a value for thevariablePointers
attribute.withVariablePointersStorageBuffer
(boolean value) Copy the current immutable object by setting a value for thevariablePointersStorageBuffer
attribute.
-
Method Details
-
multiview
public boolean multiview()multiview specifies whether the implementation supports multiview rendering within a render pass. If this feature is not enabled, the view mask of each subpass must always be zero.- Specified by:
multiview
in interfaceVulkanPhysicalDeviceFeatures11Type
- Returns:
true if supported
-
multiviewGeometryShader
public boolean multiviewGeometryShader()multiviewGeometryShader specifies whether the implementation supports multiview rendering within a render pass, with geometry shaders. If this feature is not enabled, then a pipeline compiled against a subpass with a non-zero view mask must not include a geometry shader.- Specified by:
multiviewGeometryShader
in interfaceVulkanPhysicalDeviceFeatures11Type
- Returns:
true if supported
-
multiviewTessellationShader
public boolean multiviewTessellationShader()multiviewTessellationShader specifies whether the implementation supports multiview rendering within a render pass, with tessellation shaders. If this feature is not enabled, then a pipeline compiled against a subpass with a non-zero view mask must not include any tessellation shaders.- Specified by:
multiviewTessellationShader
in interfaceVulkanPhysicalDeviceFeatures11Type
- Returns:
true if supported
-
protectedMemory
public boolean protectedMemory()protectedMemory specifies whether protected memory is supported.- Specified by:
protectedMemory
in interfaceVulkanPhysicalDeviceFeatures11Type
- Returns:
true if supported
-
samplerYcbcrConversion
public boolean samplerYcbcrConversion()samplerYcbcrConversion specifies whether the implementation supports sampler Y′CBCR conversion. If samplerYcbcrConversion is VK_FALSE, sampler Y′CBCR conversion is not supported, and samplers using sampler Y′CBCR conversion must not be used.- Specified by:
samplerYcbcrConversion
in interfaceVulkanPhysicalDeviceFeatures11Type
- Returns:
true if supported
-
shaderDrawParameters
public boolean shaderDrawParameters()shaderDrawParameters specifies whether the implementation supports the SPIR-V DrawParameters capability. When this feature is not enabled, shader modules must not declare the SPV_KHR_shader_draw_parameters extension or the DrawParameters capability.- Specified by:
shaderDrawParameters
in interfaceVulkanPhysicalDeviceFeatures11Type
- Returns:
true if supported
-
storageBuffer16BitAccess
public boolean storageBuffer16BitAccess()storageBuffer16BitAccess specifies whether objects in the StorageBuffer, ShaderRecordBufferKHR, or PhysicalStorageBuffer storage class with the Block decoration can have 16-bit integer and 16-bit floating-point members. If this feature is not enabled, 16-bit integer or 16-bit floating-point members must not be used in such objects. This also specifies whether shader modules can declare the StorageBuffer16BitAccess capability.- Specified by:
storageBuffer16BitAccess
in interfaceVulkanPhysicalDeviceFeatures11Type
- Returns:
true if supported
-
storageInputOutput16
public boolean storageInputOutput16()storageInputOutput16 specifies whether objects in the Input and Output storage classes can have 16-bit integer and 16-bit floating-point members. If this feature is not enabled, 16-bit integer or 16-bit floating-point members must not be used in such objects. This also specifies whether shader modules can declare the StorageInputOutput16 capability.- Specified by:
storageInputOutput16
in interfaceVulkanPhysicalDeviceFeatures11Type
- Returns:
true if supported
-
storagePushConstant16
public boolean storagePushConstant16()storagePushConstant16 specifies whether objects in the PushConstant storage class can have 16-bit integer and 16-bit floating-point members. If this feature is not enabled, 16-bit integer or floating-point members must not be used in such objects. This also specifies whether shader modules can declare the StoragePushConstant16 capability.- Specified by:
storagePushConstant16
in interfaceVulkanPhysicalDeviceFeatures11Type
- Returns:
true if supported
-
uniformAndStorageBuffer16BitAccess
public boolean uniformAndStorageBuffer16BitAccess()uniformAndStorageBuffer16BitAccess specifies whether objects in the Uniform storage class with the Block decoration can have 16-bit integer and 16-bit floating-point members. If this feature is not enabled, 16-bit integer or 16-bit floating-point members must not be used in such objects. This also specifies whether shader modules can declare the UniformAndStorageBuffer16BitAccess capability.- Specified by:
uniformAndStorageBuffer16BitAccess
in interfaceVulkanPhysicalDeviceFeatures11Type
- Returns:
true if supported
-
variablePointers
public boolean variablePointers()variablePointers specifies whether the implementation supports the SPIR-V VariablePointers capability. When this feature is not enabled, shader modules must not declare the VariablePointers capability.- Specified by:
variablePointers
in interfaceVulkanPhysicalDeviceFeatures11Type
- Returns:
true if supported
-
variablePointersStorageBuffer
public boolean variablePointersStorageBuffer()variablePointersStorageBuffer specifies whether the implementation supports the SPIR-V VariablePointersStorageBuffer capability. When this feature is not enabled, shader modules must not declare the SPV_KHR_variable_pointers extension or the VariablePointersStorageBuffer capability.- Specified by:
variablePointersStorageBuffer
in interfaceVulkanPhysicalDeviceFeatures11Type
- Returns:
true if supported
-
withMultiview
Copy the current immutable object by setting a value for themultiview
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for multiview- Returns:
- A modified copy of the
this
object
-
withMultiviewGeometryShader
Copy the current immutable object by setting a value for themultiviewGeometryShader
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for multiviewGeometryShader- Returns:
- A modified copy of the
this
object
-
withMultiviewTessellationShader
Copy the current immutable object by setting a value for themultiviewTessellationShader
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for multiviewTessellationShader- Returns:
- A modified copy of the
this
object
-
withProtectedMemory
Copy the current immutable object by setting a value for theprotectedMemory
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for protectedMemory- Returns:
- A modified copy of the
this
object
-
withSamplerYcbcrConversion
Copy the current immutable object by setting a value for thesamplerYcbcrConversion
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for samplerYcbcrConversion- Returns:
- A modified copy of the
this
object
-
withShaderDrawParameters
Copy the current immutable object by setting a value for theshaderDrawParameters
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderDrawParameters- Returns:
- A modified copy of the
this
object
-
withStorageBuffer16BitAccess
Copy the current immutable object by setting a value for thestorageBuffer16BitAccess
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for storageBuffer16BitAccess- Returns:
- A modified copy of the
this
object
-
withStorageInputOutput16
Copy the current immutable object by setting a value for thestorageInputOutput16
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for storageInputOutput16- Returns:
- A modified copy of the
this
object
-
withStoragePushConstant16
Copy the current immutable object by setting a value for thestoragePushConstant16
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for storagePushConstant16- Returns:
- A modified copy of the
this
object
-
withUniformAndStorageBuffer16BitAccess
Copy the current immutable object by setting a value for theuniformAndStorageBuffer16BitAccess
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for uniformAndStorageBuffer16BitAccess- Returns:
- A modified copy of the
this
object
-
withVariablePointers
Copy the current immutable object by setting a value for thevariablePointers
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for variablePointers- Returns:
- A modified copy of the
this
object
-
withVariablePointersStorageBuffer
Copy the current immutable object by setting a value for thevariablePointersStorageBuffer
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for variablePointersStorageBuffer- Returns:
- A modified copy of the
this
object
-
equals
-
hashCode
public int hashCode()Computes a hash code from attributes:multiview
,multiviewGeometryShader
,multiviewTessellationShader
,protectedMemory
,samplerYcbcrConversion
,shaderDrawParameters
,storageBuffer16BitAccess
,storageInputOutput16
,storagePushConstant16
,uniformAndStorageBuffer16BitAccess
,variablePointers
,variablePointersStorageBuffer
. -
toString
-
copyOf
Creates an immutable copy of aVulkanPhysicalDeviceFeatures11Type
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 VulkanPhysicalDeviceFeatures11 instance
-
builder
Creates a builder forVulkanPhysicalDeviceFeatures11
.VulkanPhysicalDeviceFeatures11.builder() .setMultiview(boolean) // optional
multiview
.setMultiviewGeometryShader(boolean) // optionalmultiviewGeometryShader
.setMultiviewTessellationShader(boolean) // optionalmultiviewTessellationShader
.setProtectedMemory(boolean) // optionalprotectedMemory
.setSamplerYcbcrConversion(boolean) // optionalsamplerYcbcrConversion
.setShaderDrawParameters(boolean) // optionalshaderDrawParameters
.setStorageBuffer16BitAccess(boolean) // optionalstorageBuffer16BitAccess
.setStorageInputOutput16(boolean) // optionalstorageInputOutput16
.setStoragePushConstant16(boolean) // optionalstoragePushConstant16
.setUniformAndStorageBuffer16BitAccess(boolean) // optionaluniformAndStorageBuffer16BitAccess
.setVariablePointers(boolean) // optionalvariablePointers
.setVariablePointersStorageBuffer(boolean) // optionalvariablePointersStorageBuffer
.build();- Returns:
- A new VulkanPhysicalDeviceFeatures11 builder
-