Class VulkanPhysicalDeviceFeatures.Builder
- java.lang.Object
-
- com.io7m.jcoronado.api.VulkanPhysicalDeviceFeatures.Builder
-
- Enclosing class:
- VulkanPhysicalDeviceFeatures
public static final class VulkanPhysicalDeviceFeatures.Builder extends java.lang.Object
Builds instances of typeVulkanPhysicalDeviceFeatures
. Initialize attributes and then invoke thebuild()
method to create an immutable instance.Builder
is not thread-safe and generally should not be stored in a field or collection, but instead used immediately to create instances.
-
-
Method Summary
-
-
-
Method Detail
-
from
public final VulkanPhysicalDeviceFeatures.Builder from(VulkanPhysicalDeviceFeaturesType instance)
Fill a builder with attribute values from the providedVulkanPhysicalDeviceFeaturesType
instance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values.- Parameters:
instance
- The instance from which to copy values- Returns:
this
builder for use in a chained invocation
-
setAlphaToOne
public final VulkanPhysicalDeviceFeatures.Builder setAlphaToOne(boolean alphaToOne)
Initializes the value for thealphaToOne
attribute.If not set, this attribute will have a default value as returned by the initializer of
alphaToOne
.- Parameters:
alphaToOne
- The value for alphaToOne- Returns:
this
builder for use in a chained invocation
-
setDepthBiasClamp
public final VulkanPhysicalDeviceFeatures.Builder setDepthBiasClamp(boolean depthBiasClamp)
Initializes the value for thedepthBiasClamp
attribute.If not set, this attribute will have a default value as returned by the initializer of
depthBiasClamp
.- Parameters:
depthBiasClamp
- The value for depthBiasClamp- Returns:
this
builder for use in a chained invocation
-
setDepthBounds
public final VulkanPhysicalDeviceFeatures.Builder setDepthBounds(boolean depthBounds)
Initializes the value for thedepthBounds
attribute.If not set, this attribute will have a default value as returned by the initializer of
depthBounds
.- Parameters:
depthBounds
- The value for depthBounds- Returns:
this
builder for use in a chained invocation
-
setDepthClamp
public final VulkanPhysicalDeviceFeatures.Builder setDepthClamp(boolean depthClamp)
Initializes the value for thedepthClamp
attribute.If not set, this attribute will have a default value as returned by the initializer of
depthClamp
.- Parameters:
depthClamp
- The value for depthClamp- Returns:
this
builder for use in a chained invocation
-
setDrawIndirectFirstInstance
public final VulkanPhysicalDeviceFeatures.Builder setDrawIndirectFirstInstance(boolean drawIndirectFirstInstance)
Initializes the value for thedrawIndirectFirstInstance
attribute.If not set, this attribute will have a default value as returned by the initializer of
drawIndirectFirstInstance
.- Parameters:
drawIndirectFirstInstance
- The value for drawIndirectFirstInstance- Returns:
this
builder for use in a chained invocation
-
setDualSrcBlend
public final VulkanPhysicalDeviceFeatures.Builder setDualSrcBlend(boolean dualSrcBlend)
Initializes the value for thedualSrcBlend
attribute.If not set, this attribute will have a default value as returned by the initializer of
dualSrcBlend
.- Parameters:
dualSrcBlend
- The value for dualSrcBlend- Returns:
this
builder for use in a chained invocation
-
setFillModeNonSolid
public final VulkanPhysicalDeviceFeatures.Builder setFillModeNonSolid(boolean fillModeNonSolid)
Initializes the value for thefillModeNonSolid
attribute.If not set, this attribute will have a default value as returned by the initializer of
fillModeNonSolid
.- Parameters:
fillModeNonSolid
- The value for fillModeNonSolid- Returns:
this
builder for use in a chained invocation
-
setFragmentStoresAndAtomics
public final VulkanPhysicalDeviceFeatures.Builder setFragmentStoresAndAtomics(boolean fragmentStoresAndAtomics)
Initializes the value for thefragmentStoresAndAtomics
attribute.If not set, this attribute will have a default value as returned by the initializer of
fragmentStoresAndAtomics
.- Parameters:
fragmentStoresAndAtomics
- The value for fragmentStoresAndAtomics- Returns:
this
builder for use in a chained invocation
-
setFullDrawIndexUint32
public final VulkanPhysicalDeviceFeatures.Builder setFullDrawIndexUint32(boolean fullDrawIndexUint32)
Initializes the value for thefullDrawIndexUint32
attribute.If not set, this attribute will have a default value as returned by the initializer of
fullDrawIndexUint32
.- Parameters:
fullDrawIndexUint32
- The value for fullDrawIndexUint32- Returns:
this
builder for use in a chained invocation
-
setGeometryShader
public final VulkanPhysicalDeviceFeatures.Builder setGeometryShader(boolean geometryShader)
Initializes the value for thegeometryShader
attribute.If not set, this attribute will have a default value as returned by the initializer of
geometryShader
.- Parameters:
geometryShader
- The value for geometryShader- Returns:
this
builder for use in a chained invocation
-
setImageCubeArray
public final VulkanPhysicalDeviceFeatures.Builder setImageCubeArray(boolean imageCubeArray)
Initializes the value for theimageCubeArray
attribute.If not set, this attribute will have a default value as returned by the initializer of
imageCubeArray
.- Parameters:
imageCubeArray
- The value for imageCubeArray- Returns:
this
builder for use in a chained invocation
-
setIndependentBlend
public final VulkanPhysicalDeviceFeatures.Builder setIndependentBlend(boolean independentBlend)
Initializes the value for theindependentBlend
attribute.If not set, this attribute will have a default value as returned by the initializer of
independentBlend
.- Parameters:
independentBlend
- The value for independentBlend- Returns:
this
builder for use in a chained invocation
-
setInheritedQueries
public final VulkanPhysicalDeviceFeatures.Builder setInheritedQueries(boolean inheritedQueries)
Initializes the value for theinheritedQueries
attribute.If not set, this attribute will have a default value as returned by the initializer of
inheritedQueries
.- Parameters:
inheritedQueries
- The value for inheritedQueries- Returns:
this
builder for use in a chained invocation
-
setLargePoints
public final VulkanPhysicalDeviceFeatures.Builder setLargePoints(boolean largePoints)
Initializes the value for thelargePoints
attribute.If not set, this attribute will have a default value as returned by the initializer of
largePoints
.- Parameters:
largePoints
- The value for largePoints- Returns:
this
builder for use in a chained invocation
-
setLogicOp
public final VulkanPhysicalDeviceFeatures.Builder setLogicOp(boolean logicOp)
Initializes the value for thelogicOp
attribute.If not set, this attribute will have a default value as returned by the initializer of
logicOp
.- Parameters:
logicOp
- The value for logicOp- Returns:
this
builder for use in a chained invocation
-
setMultiDrawIndirect
public final VulkanPhysicalDeviceFeatures.Builder setMultiDrawIndirect(boolean multiDrawIndirect)
Initializes the value for themultiDrawIndirect
attribute.If not set, this attribute will have a default value as returned by the initializer of
multiDrawIndirect
.- Parameters:
multiDrawIndirect
- The value for multiDrawIndirect- Returns:
this
builder for use in a chained invocation
-
setMultiViewport
public final VulkanPhysicalDeviceFeatures.Builder setMultiViewport(boolean multiViewport)
Initializes the value for themultiViewport
attribute.If not set, this attribute will have a default value as returned by the initializer of
multiViewport
.- Parameters:
multiViewport
- The value for multiViewport- Returns:
this
builder for use in a chained invocation
-
setOcclusionQueryPrecise
public final VulkanPhysicalDeviceFeatures.Builder setOcclusionQueryPrecise(boolean occlusionQueryPrecise)
Initializes the value for theocclusionQueryPrecise
attribute.If not set, this attribute will have a default value as returned by the initializer of
occlusionQueryPrecise
.- Parameters:
occlusionQueryPrecise
- The value for occlusionQueryPrecise- Returns:
this
builder for use in a chained invocation
-
setPipelineStatisticsQuery
public final VulkanPhysicalDeviceFeatures.Builder setPipelineStatisticsQuery(boolean pipelineStatisticsQuery)
Initializes the value for thepipelineStatisticsQuery
attribute.If not set, this attribute will have a default value as returned by the initializer of
pipelineStatisticsQuery
.- Parameters:
pipelineStatisticsQuery
- The value for pipelineStatisticsQuery- Returns:
this
builder for use in a chained invocation
-
setRobustBufferAccess
public final VulkanPhysicalDeviceFeatures.Builder setRobustBufferAccess(boolean robustBufferAccess)
Initializes the value for therobustBufferAccess
attribute.If not set, this attribute will have a default value as returned by the initializer of
robustBufferAccess
.- Parameters:
robustBufferAccess
- The value for robustBufferAccess- Returns:
this
builder for use in a chained invocation
-
setSamplerAnisotropy
public final VulkanPhysicalDeviceFeatures.Builder setSamplerAnisotropy(boolean samplerAnisotropy)
Initializes the value for thesamplerAnisotropy
attribute.If not set, this attribute will have a default value as returned by the initializer of
samplerAnisotropy
.- Parameters:
samplerAnisotropy
- The value for samplerAnisotropy- Returns:
this
builder for use in a chained invocation
-
setSampleRateShading
public final VulkanPhysicalDeviceFeatures.Builder setSampleRateShading(boolean sampleRateShading)
Initializes the value for thesampleRateShading
attribute.If not set, this attribute will have a default value as returned by the initializer of
sampleRateShading
.- Parameters:
sampleRateShading
- The value for sampleRateShading- Returns:
this
builder for use in a chained invocation
-
setShaderClipDistance
public final VulkanPhysicalDeviceFeatures.Builder setShaderClipDistance(boolean shaderClipDistance)
Initializes the value for theshaderClipDistance
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderClipDistance
.- Parameters:
shaderClipDistance
- The value for shaderClipDistance- Returns:
this
builder for use in a chained invocation
-
setShaderCullDistance
public final VulkanPhysicalDeviceFeatures.Builder setShaderCullDistance(boolean shaderCullDistance)
Initializes the value for theshaderCullDistance
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderCullDistance
.- Parameters:
shaderCullDistance
- The value for shaderCullDistance- Returns:
this
builder for use in a chained invocation
-
setShaderFloat64
public final VulkanPhysicalDeviceFeatures.Builder setShaderFloat64(boolean shaderFloat64)
Initializes the value for theshaderFloat64
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderFloat64
.- Parameters:
shaderFloat64
- The value for shaderFloat64- Returns:
this
builder for use in a chained invocation
-
setShaderImageGatherExtended
public final VulkanPhysicalDeviceFeatures.Builder setShaderImageGatherExtended(boolean shaderImageGatherExtended)
Initializes the value for theshaderImageGatherExtended
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderImageGatherExtended
.- Parameters:
shaderImageGatherExtended
- The value for shaderImageGatherExtended- Returns:
this
builder for use in a chained invocation
-
setShaderInt16
public final VulkanPhysicalDeviceFeatures.Builder setShaderInt16(boolean shaderInt16)
Initializes the value for theshaderInt16
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderInt16
.- Parameters:
shaderInt16
- The value for shaderInt16- Returns:
this
builder for use in a chained invocation
-
setShaderInt64
public final VulkanPhysicalDeviceFeatures.Builder setShaderInt64(boolean shaderInt64)
Initializes the value for theshaderInt64
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderInt64
.- Parameters:
shaderInt64
- The value for shaderInt64- Returns:
this
builder for use in a chained invocation
-
setShaderResourceMinLod
public final VulkanPhysicalDeviceFeatures.Builder setShaderResourceMinLod(boolean shaderResourceMinLod)
Initializes the value for theshaderResourceMinLod
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderResourceMinLod
.- Parameters:
shaderResourceMinLod
- The value for shaderResourceMinLod- Returns:
this
builder for use in a chained invocation
-
setShaderResourceResidency
public final VulkanPhysicalDeviceFeatures.Builder setShaderResourceResidency(boolean shaderResourceResidency)
Initializes the value for theshaderResourceResidency
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderResourceResidency
.- Parameters:
shaderResourceResidency
- The value for shaderResourceResidency- Returns:
this
builder for use in a chained invocation
-
setShaderSampledImageArrayDynamicIndexing
public final VulkanPhysicalDeviceFeatures.Builder setShaderSampledImageArrayDynamicIndexing(boolean shaderSampledImageArrayDynamicIndexing)
Initializes the value for theshaderSampledImageArrayDynamicIndexing
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderSampledImageArrayDynamicIndexing
.- Parameters:
shaderSampledImageArrayDynamicIndexing
- The value for shaderSampledImageArrayDynamicIndexing- Returns:
this
builder for use in a chained invocation
-
setShaderStorageBufferArrayDynamicIndexing
public final VulkanPhysicalDeviceFeatures.Builder setShaderStorageBufferArrayDynamicIndexing(boolean shaderStorageBufferArrayDynamicIndexing)
Initializes the value for theshaderStorageBufferArrayDynamicIndexing
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderStorageBufferArrayDynamicIndexing
.- Parameters:
shaderStorageBufferArrayDynamicIndexing
- The value for shaderStorageBufferArrayDynamicIndexing- Returns:
this
builder for use in a chained invocation
-
setShaderStorageImageArrayDynamicIndexing
public final VulkanPhysicalDeviceFeatures.Builder setShaderStorageImageArrayDynamicIndexing(boolean shaderStorageImageArrayDynamicIndexing)
Initializes the value for theshaderStorageImageArrayDynamicIndexing
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderStorageImageArrayDynamicIndexing
.- Parameters:
shaderStorageImageArrayDynamicIndexing
- The value for shaderStorageImageArrayDynamicIndexing- Returns:
this
builder for use in a chained invocation
-
setShaderStorageImageExtendedFormats
public final VulkanPhysicalDeviceFeatures.Builder setShaderStorageImageExtendedFormats(boolean shaderStorageImageExtendedFormats)
Initializes the value for theshaderStorageImageExtendedFormats
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderStorageImageExtendedFormats
.- Parameters:
shaderStorageImageExtendedFormats
- The value for shaderStorageImageExtendedFormats- Returns:
this
builder for use in a chained invocation
-
setShaderStorageImageMultisample
public final VulkanPhysicalDeviceFeatures.Builder setShaderStorageImageMultisample(boolean shaderStorageImageMultisample)
Initializes the value for theshaderStorageImageMultisample
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderStorageImageMultisample
.- Parameters:
shaderStorageImageMultisample
- The value for shaderStorageImageMultisample- Returns:
this
builder for use in a chained invocation
-
setShaderStorageImageReadWithoutFormat
public final VulkanPhysicalDeviceFeatures.Builder setShaderStorageImageReadWithoutFormat(boolean shaderStorageImageReadWithoutFormat)
Initializes the value for theshaderStorageImageReadWithoutFormat
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderStorageImageReadWithoutFormat
.- Parameters:
shaderStorageImageReadWithoutFormat
- The value for shaderStorageImageReadWithoutFormat- Returns:
this
builder for use in a chained invocation
-
setShaderStorageImageWriteWithoutFormat
public final VulkanPhysicalDeviceFeatures.Builder setShaderStorageImageWriteWithoutFormat(boolean shaderStorageImageWriteWithoutFormat)
Initializes the value for theshaderStorageImageWriteWithoutFormat
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderStorageImageWriteWithoutFormat
.- Parameters:
shaderStorageImageWriteWithoutFormat
- The value for shaderStorageImageWriteWithoutFormat- Returns:
this
builder for use in a chained invocation
-
setShaderTessellationAndGeometryPointSize
public final VulkanPhysicalDeviceFeatures.Builder setShaderTessellationAndGeometryPointSize(boolean shaderTessellationAndGeometryPointSize)
Initializes the value for theshaderTessellationAndGeometryPointSize
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderTessellationAndGeometryPointSize
.- Parameters:
shaderTessellationAndGeometryPointSize
- The value for shaderTessellationAndGeometryPointSize- Returns:
this
builder for use in a chained invocation
-
setShaderUniformBufferArrayDynamicIndexing
public final VulkanPhysicalDeviceFeatures.Builder setShaderUniformBufferArrayDynamicIndexing(boolean shaderUniformBufferArrayDynamicIndexing)
Initializes the value for theshaderUniformBufferArrayDynamicIndexing
attribute.If not set, this attribute will have a default value as returned by the initializer of
shaderUniformBufferArrayDynamicIndexing
.- Parameters:
shaderUniformBufferArrayDynamicIndexing
- The value for shaderUniformBufferArrayDynamicIndexing- Returns:
this
builder for use in a chained invocation
-
setSparseBinding
public final VulkanPhysicalDeviceFeatures.Builder setSparseBinding(boolean sparseBinding)
Initializes the value for thesparseBinding
attribute.If not set, this attribute will have a default value as returned by the initializer of
sparseBinding
.- Parameters:
sparseBinding
- The value for sparseBinding- Returns:
this
builder for use in a chained invocation
-
setSparseResidency16Samples
public final VulkanPhysicalDeviceFeatures.Builder setSparseResidency16Samples(boolean sparseResidency16Samples)
Initializes the value for thesparseResidency16Samples
attribute.If not set, this attribute will have a default value as returned by the initializer of
sparseResidency16Samples
.- Parameters:
sparseResidency16Samples
- The value for sparseResidency16Samples- Returns:
this
builder for use in a chained invocation
-
setSparseResidency2Samples
public final VulkanPhysicalDeviceFeatures.Builder setSparseResidency2Samples(boolean sparseResidency2Samples)
Initializes the value for thesparseResidency2Samples
attribute.If not set, this attribute will have a default value as returned by the initializer of
sparseResidency2Samples
.- Parameters:
sparseResidency2Samples
- The value for sparseResidency2Samples- Returns:
this
builder for use in a chained invocation
-
setSparseResidency4Samples
public final VulkanPhysicalDeviceFeatures.Builder setSparseResidency4Samples(boolean sparseResidency4Samples)
Initializes the value for thesparseResidency4Samples
attribute.If not set, this attribute will have a default value as returned by the initializer of
sparseResidency4Samples
.- Parameters:
sparseResidency4Samples
- The value for sparseResidency4Samples- Returns:
this
builder for use in a chained invocation
-
setSparseResidency8Samples
public final VulkanPhysicalDeviceFeatures.Builder setSparseResidency8Samples(boolean sparseResidency8Samples)
Initializes the value for thesparseResidency8Samples
attribute.If not set, this attribute will have a default value as returned by the initializer of
sparseResidency8Samples
.- Parameters:
sparseResidency8Samples
- The value for sparseResidency8Samples- Returns:
this
builder for use in a chained invocation
-
setSparseResidencyAliased
public final VulkanPhysicalDeviceFeatures.Builder setSparseResidencyAliased(boolean sparseResidencyAliased)
Initializes the value for thesparseResidencyAliased
attribute.If not set, this attribute will have a default value as returned by the initializer of
sparseResidencyAliased
.- Parameters:
sparseResidencyAliased
- The value for sparseResidencyAliased- Returns:
this
builder for use in a chained invocation
-
setSparseResidencyBuffer
public final VulkanPhysicalDeviceFeatures.Builder setSparseResidencyBuffer(boolean sparseResidencyBuffer)
Initializes the value for thesparseResidencyBuffer
attribute.If not set, this attribute will have a default value as returned by the initializer of
sparseResidencyBuffer
.- Parameters:
sparseResidencyBuffer
- The value for sparseResidencyBuffer- Returns:
this
builder for use in a chained invocation
-
setSparseResidencyImage2D
public final VulkanPhysicalDeviceFeatures.Builder setSparseResidencyImage2D(boolean sparseResidencyImage2D)
Initializes the value for thesparseResidencyImage2D
attribute.If not set, this attribute will have a default value as returned by the initializer of
sparseResidencyImage2D
.- Parameters:
sparseResidencyImage2D
- The value for sparseResidencyImage2D- Returns:
this
builder for use in a chained invocation
-
setSparseResidencyImage3D
public final VulkanPhysicalDeviceFeatures.Builder setSparseResidencyImage3D(boolean sparseResidencyImage3D)
Initializes the value for thesparseResidencyImage3D
attribute.If not set, this attribute will have a default value as returned by the initializer of
sparseResidencyImage3D
.- Parameters:
sparseResidencyImage3D
- The value for sparseResidencyImage3D- Returns:
this
builder for use in a chained invocation
-
setTessellationShader
public final VulkanPhysicalDeviceFeatures.Builder setTessellationShader(boolean tessellationShader)
Initializes the value for thetessellationShader
attribute.If not set, this attribute will have a default value as returned by the initializer of
tessellationShader
.- Parameters:
tessellationShader
- The value for tessellationShader- Returns:
this
builder for use in a chained invocation
-
setTextureCompressionASTC_LDR
public final VulkanPhysicalDeviceFeatures.Builder setTextureCompressionASTC_LDR(boolean textureCompressionASTC_LDR)
Initializes the value for thetextureCompressionASTC_LDR
attribute.If not set, this attribute will have a default value as returned by the initializer of
textureCompressionASTC_LDR
.- Parameters:
textureCompressionASTC_LDR
- The value for textureCompressionASTC_LDR- Returns:
this
builder for use in a chained invocation
-
setTextureCompressionBC
public final VulkanPhysicalDeviceFeatures.Builder setTextureCompressionBC(boolean textureCompressionBC)
Initializes the value for thetextureCompressionBC
attribute.If not set, this attribute will have a default value as returned by the initializer of
textureCompressionBC
.- Parameters:
textureCompressionBC
- The value for textureCompressionBC- Returns:
this
builder for use in a chained invocation
-
setTextureCompressionETC2
public final VulkanPhysicalDeviceFeatures.Builder setTextureCompressionETC2(boolean textureCompressionETC2)
Initializes the value for thetextureCompressionETC2
attribute.If not set, this attribute will have a default value as returned by the initializer of
textureCompressionETC2
.- Parameters:
textureCompressionETC2
- The value for textureCompressionETC2- Returns:
this
builder for use in a chained invocation
-
setVariableMultisampleRate
public final VulkanPhysicalDeviceFeatures.Builder setVariableMultisampleRate(boolean variableMultisampleRate)
Initializes the value for thevariableMultisampleRate
attribute.If not set, this attribute will have a default value as returned by the initializer of
variableMultisampleRate
.- Parameters:
variableMultisampleRate
- The value for variableMultisampleRate- Returns:
this
builder for use in a chained invocation
-
setVertexPipelineStoresAndAtomics
public final VulkanPhysicalDeviceFeatures.Builder setVertexPipelineStoresAndAtomics(boolean vertexPipelineStoresAndAtomics)
Initializes the value for thevertexPipelineStoresAndAtomics
attribute.If not set, this attribute will have a default value as returned by the initializer of
vertexPipelineStoresAndAtomics
.- Parameters:
vertexPipelineStoresAndAtomics
- The value for vertexPipelineStoresAndAtomics- Returns:
this
builder for use in a chained invocation
-
setWideLines
public final VulkanPhysicalDeviceFeatures.Builder setWideLines(boolean wideLines)
Initializes the value for thewideLines
attribute.If not set, this attribute will have a default value as returned by the initializer of
wideLines
.- Parameters:
wideLines
- The value for wideLines- Returns:
this
builder for use in a chained invocation
-
build
public VulkanPhysicalDeviceFeatures build()
Builds a newVulkanPhysicalDeviceFeatures
.- Returns:
- An immutable instance of VulkanPhysicalDeviceFeatures
- Throws:
java.lang.IllegalStateException
- if any required attributes are missing
-
-