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
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeVulkanPhysicalDeviceFeatures11. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a builder forVulkanPhysicalDeviceFeatures11.copyOf(VulkanPhysicalDeviceFeatures11Type instance) Creates an immutable copy of aVulkanPhysicalDeviceFeatures11Typevalue.booleanThis instance is equal to all instances ofVulkanPhysicalDeviceFeatures11that have equal attribute values.inthashCode()Computes a hash code from attributes:multiview,multiviewGeometryShader,multiviewTessellationShader,protectedMemory,samplerYcbcrConversion,shaderDrawParameters,storageBuffer16BitAccess,storageInputOutput16,storagePushConstant16,uniformAndStorageBuffer16BitAccess,variablePointers,variablePointersStorageBuffer.booleanmultiview specifies whether the implementation supports multiview rendering within a render pass.booleanmultiviewGeometryShader specifies whether the implementation supports multiview rendering within a render pass, with geometry shaders.booleanmultiviewTessellationShader specifies whether the implementation supports multiview rendering within a render pass, with tessellation shaders.booleanprotectedMemory specifies whether protected memory is supported.booleansamplerYcbcrConversion specifies whether the implementation supports sampler Y′CBCR conversion.booleanshaderDrawParameters specifies whether the implementation supports the SPIR-V DrawParameters capability.booleanstorageBuffer16BitAccess 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.booleanstorageInputOutput16 specifies whether objects in the Input and Output storage classes can have 16-bit integer and 16-bit floating-point members.booleanstoragePushConstant16 specifies whether objects in the PushConstant storage class can have 16-bit integer and 16-bit floating-point members.toString()Prints the immutable valueVulkanPhysicalDeviceFeatures11with attribute values.booleanuniformAndStorageBuffer16BitAccess specifies whether objects in the Uniform storage class with the Block decoration can have 16-bit integer and 16-bit floating-point members.booleanvariablePointers specifies whether the implementation supports the SPIR-V VariablePointers capability.booleanvariablePointersStorageBuffer specifies whether the implementation supports the SPIR-V VariablePointersStorageBuffer capability.withMultiview(boolean value) Copy the current immutable object by setting a value for themultiviewattribute.withMultiviewGeometryShader(boolean value) Copy the current immutable object by setting a value for themultiviewGeometryShaderattribute.withMultiviewTessellationShader(boolean value) Copy the current immutable object by setting a value for themultiviewTessellationShaderattribute.withProtectedMemory(boolean value) Copy the current immutable object by setting a value for theprotectedMemoryattribute.withSamplerYcbcrConversion(boolean value) Copy the current immutable object by setting a value for thesamplerYcbcrConversionattribute.withShaderDrawParameters(boolean value) Copy the current immutable object by setting a value for theshaderDrawParametersattribute.withStorageBuffer16BitAccess(boolean value) Copy the current immutable object by setting a value for thestorageBuffer16BitAccessattribute.withStorageInputOutput16(boolean value) Copy the current immutable object by setting a value for thestorageInputOutput16attribute.withStoragePushConstant16(boolean value) Copy the current immutable object by setting a value for thestoragePushConstant16attribute.withUniformAndStorageBuffer16BitAccess(boolean value) Copy the current immutable object by setting a value for theuniformAndStorageBuffer16BitAccessattribute.withVariablePointers(boolean value) Copy the current immutable object by setting a value for thevariablePointersattribute.withVariablePointersStorageBuffer(boolean value) Copy the current immutable object by setting a value for thevariablePointersStorageBufferattribute.
-
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:
multiviewin 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:
multiviewGeometryShaderin 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:
multiviewTessellationShaderin interfaceVulkanPhysicalDeviceFeatures11Type- Returns:
true if supported
-
protectedMemory
public boolean protectedMemory()protectedMemory specifies whether protected memory is supported.- Specified by:
protectedMemoryin 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:
samplerYcbcrConversionin 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:
shaderDrawParametersin 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:
storageBuffer16BitAccessin 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:
storageInputOutput16in 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:
storagePushConstant16in 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:
uniformAndStorageBuffer16BitAccessin 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:
variablePointersin 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:
variablePointersStorageBufferin interfaceVulkanPhysicalDeviceFeatures11Type- Returns:
true if supported
-
withMultiview
Copy the current immutable object by setting a value for themultiviewattribute. 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
thisobject
-
withMultiviewGeometryShader
Copy the current immutable object by setting a value for themultiviewGeometryShaderattribute. 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
thisobject
-
withMultiviewTessellationShader
Copy the current immutable object by setting a value for themultiviewTessellationShaderattribute. 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
thisobject
-
withProtectedMemory
Copy the current immutable object by setting a value for theprotectedMemoryattribute. 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
thisobject
-
withSamplerYcbcrConversion
Copy the current immutable object by setting a value for thesamplerYcbcrConversionattribute. 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
thisobject
-
withShaderDrawParameters
Copy the current immutable object by setting a value for theshaderDrawParametersattribute. 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
thisobject
-
withStorageBuffer16BitAccess
Copy the current immutable object by setting a value for thestorageBuffer16BitAccessattribute. 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
thisobject
-
withStorageInputOutput16
Copy the current immutable object by setting a value for thestorageInputOutput16attribute. 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
thisobject
-
withStoragePushConstant16
Copy the current immutable object by setting a value for thestoragePushConstant16attribute. 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
thisobject
-
withUniformAndStorageBuffer16BitAccess
Copy the current immutable object by setting a value for theuniformAndStorageBuffer16BitAccessattribute. 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
thisobject
-
withVariablePointers
Copy the current immutable object by setting a value for thevariablePointersattribute. 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
thisobject
-
withVariablePointersStorageBuffer
Copy the current immutable object by setting a value for thevariablePointersStorageBufferattribute. 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
thisobject
-
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 aVulkanPhysicalDeviceFeatures11Typevalue. 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) // optionalmultiview.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
-