Class VulkanPhysicalDeviceFeatures14
java.lang.Object
com.io7m.jcoronado.api.VulkanPhysicalDeviceFeatures14
- All Implemented Interfaces:
VulkanPhysicalDeviceFeatures14Type
public final class VulkanPhysicalDeviceFeatures14
extends Object
implements VulkanPhysicalDeviceFeatures14Type
The features supported by a physical Vulkan 1.4 device.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeVulkanPhysicalDeviceFeatures14. -
Method Summary
Modifier and TypeMethodDescriptionbooleanIndicates whether the implementation supports the VK_LINE_RASTERIZATION_MODE_BRESENHAM line rasterization mode.builder()Creates a builder forVulkanPhysicalDeviceFeatures14.copyOf(VulkanPhysicalDeviceFeatures14Type instance) Creates an immutable copy of aVulkanPhysicalDeviceFeatures14Typevalue.booleanIndicates whether the implementation supports the VK_RENDERING_LOCAL_READ_LINEAR_READ_ATTACHMENT_FB_READ flag.booleanThis instance is equal to all instances ofVulkanPhysicalDeviceFeatures14that have equal attribute values.booleanIndicates whether the implementation supports the ability to query global queue priorities.inthashCode()Computes a hash code from attributes:globalPriorityQuery,shaderSubgroupRotate,shaderSubgroupRotateClustered,shaderFloatControls2,shaderExpectAssume,rectangularLines,bresenhamLines,smoothLines,stippledRectangularLines,stippledSmoothLines,vertexAttributeInstanceRateDivisor,vertexAttributeInstanceRateZeroDivisor,indexTypeUint8,dynamicRenderingLocalRead,maintenance5,maintenance6,pipelineRobustness,hostImageCopy,pushDescriptor.booleanIndicates whether the implementation supports host image copy.booleanIndicates whether the VK_INDEX_TYPE_UINT8 index type is supported.booleanIndicates whether the implementation supports the ability to query maintenance5 features.booleanIndicates whether the implementation supports the ability to query maintenance6 features.booleanIndicates whether the implementation supports pipelineRobustness.booleanIndicates whether the implementation supports push descriptors.booleanIndicates whether the implementation supports the VK_LINE_RASTERIZATION_MODE_RECTANGULAR line rasterization mode.booleanIndicates whether shader modules can declare the Assume capability.booleanIndicates whether shader modules can declare the FloatControls2 capability.booleanIndicates whether shader modules can declare the GroupNonUniformRotateKHR capability.booleanIndicates whether shader modules can declare the GroupNonUniformClusteredRotateKHR capability.booleanIndicates whether the implementation supports smooth lines with a functionally correct and deterministic rasterization coverage mask.booleanIndicates whether the implementation supports stippled rectangular lines with theVK_LINE_RASTERIZATION_MODE_RECTANGULAR line rasterization mode.booleanIndicates whether the implementation supports stippled smooth lines.toString()Prints the immutable valueVulkanPhysicalDeviceFeatures14with attribute values.booleanIndicates whether the implementation supports non-zero divisor values for vertex attribute fetch with divisor.booleanIndicates whether the implementation supports a divisor value of zero for vertex attribute fetch with divisor.withBresenhamLines(boolean value) Copy the current immutable object by setting a value for thebresenhamLinesattribute.withDynamicRenderingLocalRead(boolean value) Copy the current immutable object by setting a value for thedynamicRenderingLocalReadattribute.withGlobalPriorityQuery(boolean value) Copy the current immutable object by setting a value for theglobalPriorityQueryattribute.withHostImageCopy(boolean value) Copy the current immutable object by setting a value for thehostImageCopyattribute.withIndexTypeUint8(boolean value) Copy the current immutable object by setting a value for theindexTypeUint8attribute.withMaintenance5(boolean value) Copy the current immutable object by setting a value for themaintenance5attribute.withMaintenance6(boolean value) Copy the current immutable object by setting a value for themaintenance6attribute.withPipelineRobustness(boolean value) Copy the current immutable object by setting a value for thepipelineRobustnessattribute.withPushDescriptor(boolean value) Copy the current immutable object by setting a value for thepushDescriptorattribute.withRectangularLines(boolean value) Copy the current immutable object by setting a value for therectangularLinesattribute.withShaderExpectAssume(boolean value) Copy the current immutable object by setting a value for theshaderExpectAssumeattribute.withShaderFloatControls2(boolean value) Copy the current immutable object by setting a value for theshaderFloatControls2attribute.withShaderSubgroupRotate(boolean value) Copy the current immutable object by setting a value for theshaderSubgroupRotateattribute.withShaderSubgroupRotateClustered(boolean value) Copy the current immutable object by setting a value for theshaderSubgroupRotateClusteredattribute.withSmoothLines(boolean value) Copy the current immutable object by setting a value for thesmoothLinesattribute.withStippledRectangularLines(boolean value) Copy the current immutable object by setting a value for thestippledRectangularLinesattribute.withStippledSmoothLines(boolean value) Copy the current immutable object by setting a value for thestippledSmoothLinesattribute.withVertexAttributeInstanceRateDivisor(boolean value) Copy the current immutable object by setting a value for thevertexAttributeInstanceRateDivisorattribute.withVertexAttributeInstanceRateZeroDivisor(boolean value) Copy the current immutable object by setting a value for thevertexAttributeInstanceRateZeroDivisorattribute.
-
Method Details
-
globalPriorityQuery
public boolean globalPriorityQuery()Indicates whether the implementation supports the ability to query global queue priorities.- Specified by:
globalPriorityQueryin interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
shaderSubgroupRotate
public boolean shaderSubgroupRotate()Indicates whether shader modules can declare the GroupNonUniformRotateKHR capability.- Specified by:
shaderSubgroupRotatein interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
shaderSubgroupRotateClustered
public boolean shaderSubgroupRotateClustered()Indicates whether shader modules can declare the GroupNonUniformClusteredRotateKHR capability.- Specified by:
shaderSubgroupRotateClusteredin interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
shaderFloatControls2
public boolean shaderFloatControls2()Indicates whether shader modules can declare the FloatControls2 capability.- Specified by:
shaderFloatControls2in interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
shaderExpectAssume
public boolean shaderExpectAssume()Indicates whether shader modules can declare the Assume capability.- Specified by:
shaderExpectAssumein interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
rectangularLines
public boolean rectangularLines()Indicates whether the implementation supports the VK_LINE_RASTERIZATION_MODE_RECTANGULAR line rasterization mode.- Specified by:
rectangularLinesin interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
bresenhamLines
public boolean bresenhamLines()Indicates whether the implementation supports the VK_LINE_RASTERIZATION_MODE_BRESENHAM line rasterization mode.- Specified by:
bresenhamLinesin interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
smoothLines
public boolean smoothLines()Indicates whether the implementation supports smooth lines with a functionally correct and deterministic rasterization coverage mask.- Specified by:
smoothLinesin interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
stippledRectangularLines
public boolean stippledRectangularLines()Indicates whether the implementation supports stippled rectangular lines with theVK_LINE_RASTERIZATION_MODE_RECTANGULAR line rasterization mode.- Specified by:
stippledRectangularLinesin interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
stippledSmoothLines
public boolean stippledSmoothLines()Indicates whether the implementation supports stippled smooth lines.- Specified by:
stippledSmoothLinesin interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
vertexAttributeInstanceRateDivisor
public boolean vertexAttributeInstanceRateDivisor()Indicates whether the implementation supports non-zero divisor values for vertex attribute fetch with divisor.- Specified by:
vertexAttributeInstanceRateDivisorin interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
vertexAttributeInstanceRateZeroDivisor
public boolean vertexAttributeInstanceRateZeroDivisor()Indicates whether the implementation supports a divisor value of zero for vertex attribute fetch with divisor.- Specified by:
vertexAttributeInstanceRateZeroDivisorin interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
indexTypeUint8
public boolean indexTypeUint8()Indicates whether the VK_INDEX_TYPE_UINT8 index type is supported.- Specified by:
indexTypeUint8in interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
dynamicRenderingLocalRead
public boolean dynamicRenderingLocalRead()Indicates whether the implementation supports the VK_RENDERING_LOCAL_READ_LINEAR_READ_ATTACHMENT_FB_READ flag.- Specified by:
dynamicRenderingLocalReadin interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
maintenance5
public boolean maintenance5()Indicates whether the implementation supports the ability to query maintenance5 features.- Specified by:
maintenance5in interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
maintenance6
public boolean maintenance6()Indicates whether the implementation supports the ability to query maintenance6 features.- Specified by:
maintenance6in interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
pipelineRobustness
public boolean pipelineRobustness()Indicates whether the implementation supports pipelineRobustness.- Specified by:
pipelineRobustnessin interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
hostImageCopy
public boolean hostImageCopy()Indicates whether the implementation supports host image copy.- Specified by:
hostImageCopyin interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
pushDescriptor
public boolean pushDescriptor()Indicates whether the implementation supports push descriptors.- Specified by:
pushDescriptorin interfaceVulkanPhysicalDeviceFeatures14Type- Returns:
trueif supported
-
withGlobalPriorityQuery
Copy the current immutable object by setting a value for theglobalPriorityQueryattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for globalPriorityQuery- Returns:
- A modified copy or the
thisobject
-
withShaderSubgroupRotate
Copy the current immutable object by setting a value for theshaderSubgroupRotateattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for shaderSubgroupRotate- Returns:
- A modified copy or the
thisobject
-
withShaderSubgroupRotateClustered
Copy the current immutable object by setting a value for theshaderSubgroupRotateClusteredattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for shaderSubgroupRotateClustered- Returns:
- A modified copy or the
thisobject
-
withShaderFloatControls2
Copy the current immutable object by setting a value for theshaderFloatControls2attribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for shaderFloatControls2- Returns:
- A modified copy or the
thisobject
-
withShaderExpectAssume
Copy the current immutable object by setting a value for theshaderExpectAssumeattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for shaderExpectAssume- Returns:
- A modified copy or the
thisobject
-
withRectangularLines
Copy the current immutable object by setting a value for therectangularLinesattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for rectangularLines- Returns:
- A modified copy or the
thisobject
-
withBresenhamLines
Copy the current immutable object by setting a value for thebresenhamLinesattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for bresenhamLines- Returns:
- A modified copy or the
thisobject
-
withSmoothLines
Copy the current immutable object by setting a value for thesmoothLinesattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for smoothLines- Returns:
- A modified copy or the
thisobject
-
withStippledRectangularLines
Copy the current immutable object by setting a value for thestippledRectangularLinesattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for stippledRectangularLines- Returns:
- A modified copy or the
thisobject
-
withStippledSmoothLines
Copy the current immutable object by setting a value for thestippledSmoothLinesattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for stippledSmoothLines- Returns:
- A modified copy or the
thisobject
-
withVertexAttributeInstanceRateDivisor
Copy the current immutable object by setting a value for thevertexAttributeInstanceRateDivisorattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for vertexAttributeInstanceRateDivisor- Returns:
- A modified copy or the
thisobject
-
withVertexAttributeInstanceRateZeroDivisor
public final VulkanPhysicalDeviceFeatures14 withVertexAttributeInstanceRateZeroDivisor(boolean value) Copy the current immutable object by setting a value for thevertexAttributeInstanceRateZeroDivisorattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for vertexAttributeInstanceRateZeroDivisor- Returns:
- A modified copy or the
thisobject
-
withIndexTypeUint8
Copy the current immutable object by setting a value for theindexTypeUint8attribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for indexTypeUint8- Returns:
- A modified copy or the
thisobject
-
withDynamicRenderingLocalRead
Copy the current immutable object by setting a value for thedynamicRenderingLocalReadattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for dynamicRenderingLocalRead- Returns:
- A modified copy or the
thisobject
-
withMaintenance5
Copy the current immutable object by setting a value for themaintenance5attribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for maintenance5- Returns:
- A modified copy or the
thisobject
-
withMaintenance6
Copy the current immutable object by setting a value for themaintenance6attribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for maintenance6- Returns:
- A modified copy or the
thisobject
-
withPipelineRobustness
Copy the current immutable object by setting a value for thepipelineRobustnessattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for pipelineRobustness- Returns:
- A modified copy or the
thisobject
-
withHostImageCopy
Copy the current immutable object by setting a value for thehostImageCopyattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for hostImageCopy- Returns:
- A modified copy or the
thisobject
-
withPushDescriptor
Copy the current immutable object by setting a value for thepushDescriptorattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for pushDescriptor- Returns:
- A modified copy or the
thisobject
-
equals
-
hashCode
public int hashCode()Computes a hash code from attributes:globalPriorityQuery,shaderSubgroupRotate,shaderSubgroupRotateClustered,shaderFloatControls2,shaderExpectAssume,rectangularLines,bresenhamLines,smoothLines,stippledRectangularLines,stippledSmoothLines,vertexAttributeInstanceRateDivisor,vertexAttributeInstanceRateZeroDivisor,indexTypeUint8,dynamicRenderingLocalRead,maintenance5,maintenance6,pipelineRobustness,hostImageCopy,pushDescriptor. -
toString
-
copyOf
Creates an immutable copy of aVulkanPhysicalDeviceFeatures14Typevalue. 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 VulkanPhysicalDeviceFeatures14 instance
-
builder
Creates a builder forVulkanPhysicalDeviceFeatures14.VulkanPhysicalDeviceFeatures14.builder() .setGlobalPriorityQuery(boolean) // optional
globalPriorityQuery.setShaderSubgroupRotate(boolean) // optionalshaderSubgroupRotate.setShaderSubgroupRotateClustered(boolean) // optionalshaderSubgroupRotateClustered.setShaderFloatControls2(boolean) // optionalshaderFloatControls2.setShaderExpectAssume(boolean) // optionalshaderExpectAssume.setRectangularLines(boolean) // optionalrectangularLines.setBresenhamLines(boolean) // optionalbresenhamLines.setSmoothLines(boolean) // optionalsmoothLines.setStippledRectangularLines(boolean) // optionalstippledRectangularLines.setStippledSmoothLines(boolean) // optionalstippledSmoothLines.setVertexAttributeInstanceRateDivisor(boolean) // optionalvertexAttributeInstanceRateDivisor.setVertexAttributeInstanceRateZeroDivisor(boolean) // optionalvertexAttributeInstanceRateZeroDivisor.setIndexTypeUint8(boolean) // optionalindexTypeUint8.setDynamicRenderingLocalRead(boolean) // optionaldynamicRenderingLocalRead.setMaintenance5(boolean) // optionalmaintenance5.setMaintenance6(boolean) // optionalmaintenance6.setPipelineRobustness(boolean) // optionalpipelineRobustness.setHostImageCopy(boolean) // optionalhostImageCopy.setPushDescriptor(boolean) // optionalpushDescriptor.build();- Returns:
- A new VulkanPhysicalDeviceFeatures14 builder
-