Class VulkanPhysicalDeviceFeatures

    • Method Detail

      • alphaToOne

        public boolean alphaToOne()
        Specified by:
        alphaToOne in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        alphaToOne : specifies whether the implementation is able to replace the alpha value of the color fragment output from the fragment shader with the maximum representable alpha value for fixed-point colors or 1.0 for floating-point colors. If this feature is not enabled, then the alphaToOneEnable member of the VkPipelineMultisampleStateCreateInfo structure must be set to VK_FALSE. Otherwise setting alphaToOneEnable to VK_TRUE will enable alpha-to-one behavior.
      • depthBiasClamp

        public boolean depthBiasClamp()
        Specified by:
        depthBiasClamp in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        depthBiasClamp : specifies whether depth bias clamping is supported. If this feature is not enabled, the depthBiasClamp member of the VkPipelineRasterizationStateCreateInfo structure must be set to 0.0 unless the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state is enabled, and the depthBiasClamp parameter to vkCmdSetDepthBias must be set to 0.0.
      • depthBounds

        public boolean depthBounds()
        Specified by:
        depthBounds in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        depthBounds : specifies whether depth bounds tests are supported. If this feature is not enabled, the depthBoundsTestEnable member of the VkPipelineDepthStencilStateCreateInfo structure must be set to VK_FALSE. When depthBoundsTestEnable is set to VK_FALSE, the minDepthBounds and maxDepthBounds members of the VkPipelineDepthStencilStateCreateInfo structure are ignored.
      • depthClamp

        public boolean depthClamp()
        Specified by:
        depthClamp in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        depthClamp : specifies whether depth clamping is supported. If this feature is not enabled, the depthClampEnable member of the VkPipelineRasterizationStateCreateInfo structure must be set to VK_FALSE. Otherwise, setting depthClampEnable to VK_TRUE will enable depth clamping.
      • drawIndirectFirstInstance

        public boolean drawIndirectFirstInstance()
        Specified by:
        drawIndirectFirstInstance in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        drawIndirectFirstInstance : specifies whether indirect draw calls support the firstInstance parameter. If this feature is not enabled, the firstInstance member of all VkDrawIndirectCommand and VkDrawIndexedIndirectCommand structures that are provided to the vkCmdDrawIndirect and vkCmdDrawIndexedIndirect commands must be 0.
      • dualSrcBlend

        public boolean dualSrcBlend()
        Specified by:
        dualSrcBlend in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        dualSrcBlend : specifies whether blend operations which take two sources are supported. If this feature is not enabled, the VK_BLEND_FACTOR_SRC1_COLOR, VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR, VK_BLEND_FACTOR_SRC1_ALPHA, and VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA enum values must not be used as source or destination blending factors. See ../../html/vkspec.html#framebuffer-dsb.
      • fillModeNonSolid

        public boolean fillModeNonSolid()
        Specified by:
        fillModeNonSolid in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        fillModeNonSolid : specifies whether point and wireframe fill modes are supported. If this feature is not enabled, the VK_POLYGON_MODE_POINT and VK_POLYGON_MODE_LINE enum values must not be used.
      • fragmentStoresAndAtomics

        public boolean fragmentStoresAndAtomics()
        Specified by:
        fragmentStoresAndAtomics in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        fragmentStoresAndAtomics : specifies whether storage buffers and images support stores and atomic operations in the fragment shader stage. If this feature is not enabled, all storage image, storage texel buffers, and storage buffer variables used by the fragment stage in shader modules must be decorated with the NonWriteable decoration (or the readonly memory qualifier in GLSL).
      • fullDrawIndexUint32

        public boolean fullDrawIndexUint32()
        Specified by:
        fullDrawIndexUint32 in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        fullDrawIndexUint32 : specifies the full 32-bit range of indices is supported for indexed draw calls when using a VkIndexType of VK_INDEX_TYPE_UINT32. maxDrawIndexedIndexValue is the maximum index value that may be used (aside from the primitive restart index, which is always 232-1 when the VkIndexType is VK_INDEX_TYPE_UINT32). If this feature is supported, maxDrawIndexedIndexValue must be 232-1; otherwise it must be no smaller than 224-1. See maxDrawIndexedIndexValue.
      • geometryShader

        public boolean geometryShader()
        Specified by:
        geometryShader in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        geometryShader : specifies whether geometry shaders are supported. If this feature is not enabled, the VK_SHADER_STAGE_GEOMETRY_BIT and VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT enum values must not be used. This also specifies whether shader modules can declare the Geometry capability.
      • imageCubeArray

        public boolean imageCubeArray()
        Specified by:
        imageCubeArray in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        imageCubeArray : specifies whether image views with a VkImageViewType of VK_IMAGE_VIEW_TYPE_CUBE_ARRAY can be created, and that the corresponding SampledCubeArray and ImageCubeArray SPIR-V capabilities can be used in shader code.
      • independentBlend

        public boolean independentBlend()
        Specified by:
        independentBlend in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        independentBlend : specifies whether the VkPipelineColorBlendAttachmentState settings are controlled independently per-attachment. If this feature is not enabled, the VkPipelineColorBlendAttachmentState settings for all color attachments must be identical. Otherwise, a different VkPipelineColorBlendAttachmentState can be provided for each bound color attachment.
      • inheritedQueries

        public boolean inheritedQueries()
        Specified by:
        inheritedQueries in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        inheritedQueries : specifies whether a secondary command buffer may be executed while a query is active.
      • largePoints

        public boolean largePoints()
        Specified by:
        largePoints in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        largePoints : specifies whether points with size greater than 1.0 are supported. If this feature is not enabled, only a point size of 1.0 written by a shader is supported. The range and granularity of supported point sizes are indicated by the pointSizeRange and pointSizeGranularity members of the VkPhysicalDeviceLimits structure, respectively.
      • logicOp

        public boolean logicOp()
        Specified by:
        logicOp in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        logicOp : specifies whether logic operations are supported. If this feature is not enabled, the logicOpEnable member of the VkPipelineColorBlendStateCreateInfo structure must be set to VK_FALSE, and the logicOp member is ignored.
      • multiDrawIndirect

        public boolean multiDrawIndirect()
        Specified by:
        multiDrawIndirect in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        multiDrawIndirect : specifies whether multiple draw indirect is supported. If this feature is not enabled, the drawCount parameter to the vkCmdDrawIndirect and vkCmdDrawIndexedIndirect commands must be 0 or 1. The maxDrawIndirectCount member of the VkPhysicalDeviceLimits structure must also be 1 if this feature is not supported. See maxDrawIndirectCount.
      • multiViewport

        public boolean multiViewport()
        Specified by:
        multiViewport in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        multiViewport : specifies whether more than one viewport is supported. If this feature is not enabled, the viewportCount and scissorCount members of the VkPipelineViewportStateCreateInfo structure must be set to 1. Similarly, the viewportCount parameter to the vkCmdSetViewport command and the scissorCount parameter to the vkCmdSetScissor command must be 1, and the firstViewport parameter to the vkCmdSetViewport command and the firstScissor parameter to the vkCmdSetScissor command must be 0.
      • occlusionQueryPrecise

        public boolean occlusionQueryPrecise()
        Specified by:
        occlusionQueryPrecise in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        occlusionQueryPrecise : specifies whether occlusion queries returning actual sample counts are supported. Occlusion queries are created in a VkQueryPool by specifying the queryType of VK_QUERY_TYPE_OCCLUSION in the VkQueryPoolCreateInfo structure which is passed to vkCreateQueryPool. If this feature is enabled, queries of this type can enable VK_QUERY_CONTROL_PRECISE_BIT in the flags parameter to vkCmdBeginQuery. If this feature is not supported, the implementation supports only boolean occlusion queries. When any samples are passed, boolean queries will return a non-zero result value, otherwise a result value of zero is returned. When this feature is enabled and VK_QUERY_CONTROL_PRECISE_BIT is set, occlusion queries will report the actual number of samples passed.
      • pipelineStatisticsQuery

        public boolean pipelineStatisticsQuery()
        Specified by:
        pipelineStatisticsQuery in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        pipelineStatisticsQuery : specifies whether the pipeline statistics queries are supported. If this feature is not enabled, queries of type VK_QUERY_TYPE_PIPELINE_STATISTICS cannot be created, and none of the VkQueryPipelineStatisticFlagBits bits can be set in the pipelineStatistics member of the VkQueryPoolCreateInfo structure.
      • robustBufferAccess

        public boolean robustBufferAccess()
        Specified by:
        robustBufferAccess in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        robustBufferAccess : specifies that accesses to buffers are bounds-checked against the range of the buffer descriptor (as determined by VkDescriptorBufferInfo::range, VkBufferViewCreateInfo::range, or the size of the buffer). Out of bounds accesses must not cause application termination, and the effects of shader loads, stores, and atomics must conform to an implementation-dependent behavior as described below.
      • samplerAnisotropy

        public boolean samplerAnisotropy()
        Specified by:
        samplerAnisotropy in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        samplerAnisotropy : specifies whether anisotropic filtering is supported. If this feature is not enabled, the anisotropyEnable member of the VkSamplerCreateInfo structure must be VK_FALSE.
      • sampleRateShading

        public boolean sampleRateShading()
        Specified by:
        sampleRateShading in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        sampleRateShading : specifies whether Sample Shading and multisample interpolation are supported. If this feature is not enabled, the sampleShadingEnable member of the VkPipelineMultisampleStateCreateInfo structure must be set to VK_FALSE and the minSampleShading member is ignored. This also specifies whether shader modules can declare the SampleRateShading capability.
      • shaderClipDistance

        public boolean shaderClipDistance()
        Specified by:
        shaderClipDistance in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderClipDistance : specifies whether clip distances are supported in shader code. If this feature is not enabled, any members decorated with the ClipDistance built-in decoration must not be read from or written to in shader modules. This also specifies whether shader modules can declare the ClipDistance capability.
      • shaderCullDistance

        public boolean shaderCullDistance()
        Specified by:
        shaderCullDistance in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderCullDistance : specifies whether cull distances are supported in shader code. If this feature is not enabled, any members decorated with the CullDistance built-in decoration must not be read from or written to in shader modules. This also specifies whether shader modules can declare the CullDistance capability.
      • shaderFloat64

        public boolean shaderFloat64()
        Specified by:
        shaderFloat64 in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderFloat64 : specifies whether 64-bit floats (doubles) are supported in shader code. If this feature is not enabled, 64-bit floating-point types must not be used in shader code. This also specifies whether shader modules can declare the Float64 capability.
      • shaderImageGatherExtended

        public boolean shaderImageGatherExtended()
        Specified by:
        shaderImageGatherExtended in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderImageGatherExtended : specifies whether the extended set of image gather instructions are available in shader code. If this feature is not enabled, the OpImage*Gather instructions do not support the Offset and ConstOffsets operands. This also specifies whether shader modules can declare the ImageGatherExtended capability.
      • shaderInt16

        public boolean shaderInt16()
        Specified by:
        shaderInt16 in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderInt16 : specifies whether 16-bit integers (signed and unsigned) are supported in shader code. If this feature is not enabled, 16-bit integer types must not be used in shader code. This also specifies whether shader modules can declare the Int16 capability.
      • shaderInt64

        public boolean shaderInt64()
        Specified by:
        shaderInt64 in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderInt64 : specifies whether 64-bit integers (signed and unsigned) are supported in shader code. If this feature is not enabled, 64-bit integer types must not be used in shader code. This also specifies whether shader modules can declare the Int64 capability.
      • shaderResourceMinLod

        public boolean shaderResourceMinLod()
        Specified by:
        shaderResourceMinLod in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderResourceMinLod : specifies whether image operations that specify the minimum resource LOD are supported in shader code. If this feature is not enabled, the MinLod image operand must not be used in shader code. This also specifies whether shader modules can declare the MinLod capability.
      • shaderResourceResidency

        public boolean shaderResourceResidency()
        Specified by:
        shaderResourceResidency in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderResourceResidency : specifies whether image operations that return resource residency information are supported in shader code. If this feature is not enabled, the OpImageSparse* instructions must not be used in shader code. This also specifies whether shader modules can declare the SparseResidency capability. The feature requires at least one of the sparseResidency* features to be supported.
      • shaderSampledImageArrayDynamicIndexing

        public boolean shaderSampledImageArrayDynamicIndexing()
        Specified by:
        shaderSampledImageArrayDynamicIndexing in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderSampledImageArrayDynamicIndexing : specifies whether arrays of samplers or sampled images 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_SAMPLER, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, or VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE must be indexed only by constant integral expressions when aggregated into arrays in shader code. This also specifies whether shader modules can declare the SampledImageArrayDynamicIndexing capability.
      • shaderStorageBufferArrayDynamicIndexing

        public boolean shaderStorageBufferArrayDynamicIndexing()
        Specified by:
        shaderStorageBufferArrayDynamicIndexing in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderStorageBufferArrayDynamicIndexing : specifies whether arrays of storage 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_BUFFER or VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC must be indexed only by constant integral expressions when aggregated into arrays in shader code. This also specifies whether shader modules can declare the StorageBufferArrayDynamicIndexing capability.
      • shaderStorageImageArrayDynamicIndexing

        public boolean shaderStorageImageArrayDynamicIndexing()
        Specified by:
        shaderStorageImageArrayDynamicIndexing in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderStorageImageArrayDynamicIndexing : specifies whether arrays of storage images 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_IMAGE must be indexed only by constant integral expressions when aggregated into arrays in shader code. This also specifies whether shader modules can declare the StorageImageArrayDynamicIndexing capability.
      • shaderStorageImageExtendedFormats

        public boolean shaderStorageImageExtendedFormats()
        Specified by:
        shaderStorageImageExtendedFormats in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderStorageImageExtendedFormats : specifies whether the extended storage image formats are available in shader code. If this feature is not enabled, the formats requiring the StorageImageExtendedFormats capability are not supported for storage images. This also specifies whether shader modules can declare the StorageImageExtendedFormats capability.
      • shaderStorageImageMultisample

        public boolean shaderStorageImageMultisample()
        Specified by:
        shaderStorageImageMultisample in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderStorageImageMultisample : specifies whether multisampled storage images are supported. If this feature is not enabled, images that are created with a usage that includes VK_IMAGE_USAGE_STORAGE_BIT must be created with samples equal to VK_SAMPLE_COUNT_1_BIT. This also specifies whether shader modules can declare the StorageImageMultisample capability.
      • shaderStorageImageReadWithoutFormat

        public boolean shaderStorageImageReadWithoutFormat()
        Specified by:
        shaderStorageImageReadWithoutFormat in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderStorageImageReadWithoutFormat : specifies whether storage images require a format qualifier to be specified when reading from storage images. If this feature is not enabled, the OpImageRead instruction must not have an OpTypeImage of Unknown. This also specifies whether shader modules can declare the StorageImageReadWithoutFormat capability.
      • shaderStorageImageWriteWithoutFormat

        public boolean shaderStorageImageWriteWithoutFormat()
        Specified by:
        shaderStorageImageWriteWithoutFormat in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderStorageImageWriteWithoutFormat : specifies whether storage images require a format qualifier to be specified when writing to storage images. If this feature is not enabled, the OpImageWrite instruction must not have an OpTypeImage of Unknown. This also specifies whether shader modules can declare the StorageImageWriteWithoutFormat capability.
      • shaderTessellationAndGeometryPointSize

        public boolean shaderTessellationAndGeometryPointSize()
        Specified by:
        shaderTessellationAndGeometryPointSize in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderTessellationAndGeometryPointSize : specifies whether the PointSize built-in decoration is available in the tessellation control, tessellation evaluation, and geometry shader stages. If this feature is not enabled, members decorated with the PointSize built-in decoration must not be read from or written to and all points written from a tessellation or geometry shader will have a size of 1.0. This also specifies whether shader modules can declare the TessellationPointSize capability for tessellation control and evaluation shaders, or if the shader modules can declare the GeometryPointSize capability for geometry shaders. An implementation supporting this feature must also support one or both of the tessellationShader or geometryShader features.
      • shaderUniformBufferArrayDynamicIndexing

        public boolean shaderUniformBufferArrayDynamicIndexing()
        Specified by:
        shaderUniformBufferArrayDynamicIndexing in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        shaderUniformBufferArrayDynamicIndexing : specifies whether arrays of uniform 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_BUFFER or VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC must be indexed only by constant integral expressions when aggregated into arrays in shader code. This also specifies whether shader modules can declare the UniformBufferArrayDynamicIndexing capability.
      • sparseBinding

        public boolean sparseBinding()
        Specified by:
        sparseBinding in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        sparseBinding : specifies whether resource memory can be managed at opaque sparse block level instead of at the object level. If this feature is not enabled, resource memory must be bound only on a per-object basis using the vkBindBufferMemory and vkBindImageMemory commands. In this case, buffers and images must not be created with VK_BUFFER_CREATE_SPARSE_BINDING_BIT and VK_IMAGE_CREATE_SPARSE_BINDING_BIT set in the flags member of the VkBufferCreateInfo and VkImageCreateInfo structures, respectively. Otherwise resource memory can be managed as described in Sparse Resource Features.
      • sparseResidency16Samples

        public boolean sparseResidency16Samples()
        Specified by:
        sparseResidency16Samples in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        sparseResidency16Samples : specifies whether the physical device can access partially resident 2D images with 16 samples per pixel. If this feature is not enabled, images with an imageType of VK_IMAGE_TYPE_2D and samples set to VK_SAMPLE_COUNT_16_BIT must not be created with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags member of the VkImageCreateInfo structure.
      • sparseResidency2Samples

        public boolean sparseResidency2Samples()
        Specified by:
        sparseResidency2Samples in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        sparseResidency2Samples : specifies whether the physical device can access partially resident 2D images with 2 samples per pixel. If this feature is not enabled, images with an imageType of VK_IMAGE_TYPE_2D and samples set to VK_SAMPLE_COUNT_2_BIT must not be created with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags member of the VkImageCreateInfo structure.
      • sparseResidency4Samples

        public boolean sparseResidency4Samples()
        Specified by:
        sparseResidency4Samples in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        sparseResidency4Samples : specifies whether the physical device can access partially resident 2D images with 4 samples per pixel. If this feature is not enabled, images with an imageType of VK_IMAGE_TYPE_2D and samples set to VK_SAMPLE_COUNT_4_BIT must not be created with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags member of the VkImageCreateInfo structure.
      • sparseResidency8Samples

        public boolean sparseResidency8Samples()
        Specified by:
        sparseResidency8Samples in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        sparseResidency8Samples : specifies whether the physical device can access partially resident 2D images with 8 samples per pixel. If this feature is not enabled, images with an imageType of VK_IMAGE_TYPE_2D and samples set to VK_SAMPLE_COUNT_8_BIT must not be created with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags member of the VkImageCreateInfo structure.
      • sparseResidencyAliased

        public boolean sparseResidencyAliased()
        Specified by:
        sparseResidencyAliased in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        sparseResidencyAliased : specifies whether the physical device can correctly access data aliased into multiple locations. If this feature is not enabled, the VK_BUFFER_CREATE_SPARSE_ALIASED_BIT and VK_IMAGE_CREATE_SPARSE_ALIASED_BIT enum values must not be used in flags members of the VkBufferCreateInfo and VkImageCreateInfo structures, respectively.
      • sparseResidencyBuffer

        public boolean sparseResidencyBuffer()
        Specified by:
        sparseResidencyBuffer in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        sparseResidencyBuffer : specifies whether the device can access partially resident buffers. If this feature is not enabled, buffers must not be created with VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT set in the flags member of the VkBufferCreateInfo structure.
      • sparseResidencyImage2D

        public boolean sparseResidencyImage2D()
        Specified by:
        sparseResidencyImage2D in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        sparseResidencyImage2D : specifies whether the device can access partially resident 2D images with 1 sample per pixel. If this feature is not enabled, images with an imageType of VK_IMAGE_TYPE_2D and samples set to VK_SAMPLE_COUNT_1_BIT must not be created with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags member of the VkImageCreateInfo structure.
      • sparseResidencyImage3D

        public boolean sparseResidencyImage3D()
        Specified by:
        sparseResidencyImage3D in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        sparseResidencyImage3D : specifies whether the device can access partially resident 3D images. If this feature is not enabled, images with an imageType of VK_IMAGE_TYPE_3D must not be created with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT set in the flags member of the VkImageCreateInfo structure.
      • tessellationShader

        public boolean tessellationShader()
        Specified by:
        tessellationShader in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        tessellationShader : specifies whether tessellation control and evaluation shaders are supported. If this feature is not enabled, the VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT, VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT, and VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO enum values must not be used. This also specifies whether shader modules can declare the Tessellation capability.
      • textureCompressionASTC_LDR

        public boolean textureCompressionASTC_LDR()
        Specified by:
        textureCompressionASTC_LDR in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        textureCompressionASTC_LDR : specifies whether all of the ASTC LDR compressed texture formats are supported. vkGetPhysicalDeviceFormatProperties and vkGetPhysicalDeviceImageFormatProperties can be used to check for additional supported properties of individual formats.
      • textureCompressionBC

        public boolean textureCompressionBC()
        Specified by:
        textureCompressionBC in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        textureCompressionBC : specifies whether all of the BC compressed texture formats are supported. vkGetPhysicalDeviceFormatProperties and vkGetPhysicalDeviceImageFormatProperties can be used to check for additional supported properties of individual formats.
      • textureCompressionETC2

        public boolean textureCompressionETC2()
        Specified by:
        textureCompressionETC2 in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        textureCompressionETC2 : specifies whether all of the ETC2 and EAC compressed texture formats are supported. vkGetPhysicalDeviceFormatProperties and vkGetPhysicalDeviceImageFormatProperties can be used to check for additional supported properties of individual formats.
      • variableMultisampleRate

        public boolean variableMultisampleRate()
        Specified by:
        variableMultisampleRate in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        variableMultisampleRate : specifies whether all pipelines that will be bound to a command buffer during a subpass with no attachments must have the same value for VkPipelineMultisampleStateCreateInfo::rasterizationSamples. If set to VK_TRUE, the implementation supports variable multisample rates in a subpass with no attachments. If set to VK_FALSE, then all pipelines bound in such a subpass must have the same multisample rate. This has no effect in situations where a subpass uses any attachments.
      • vertexPipelineStoresAndAtomics

        public boolean vertexPipelineStoresAndAtomics()
        Specified by:
        vertexPipelineStoresAndAtomics in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        vertexPipelineStoresAndAtomics : specifies whether storage buffers and images support stores and atomic operations in the vertex, tessellation, and geometry shader stages. If this feature is not enabled, all storage image, storage texel buffers, and storage buffer variables used by these stages in shader modules must be decorated with the NonWriteable decoration (or the readonly memory qualifier in GLSL).
      • wideLines

        public boolean wideLines()
        Specified by:
        wideLines in interface VulkanPhysicalDeviceFeaturesType
        Returns:
        wideLines : specifies whether lines with width other than 1.0 are supported. If this feature is not enabled, the lineWidth member of the VkPipelineRasterizationStateCreateInfo structure must be set to 1.0 unless the VK_DYNAMIC_STATE_LINE_WIDTH dynamic state is enabled, and the lineWidth parameter to vkCmdSetLineWidth must be set to 1.0. When this feature is supported, the range and granularity of supported line widths are indicated by the lineWidthRange and lineWidthGranularity members of the VkPhysicalDeviceLimits structure, respectively.
      • withAlphaToOne

        public final VulkanPhysicalDeviceFeatures withAlphaToOne​(boolean value)
        Copy the current immutable object by setting a value for the alphaToOne attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for alphaToOne
        Returns:
        A modified copy of the this object
      • withDepthBiasClamp

        public final VulkanPhysicalDeviceFeatures withDepthBiasClamp​(boolean value)
        Copy the current immutable object by setting a value for the depthBiasClamp attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for depthBiasClamp
        Returns:
        A modified copy of the this object
      • withDepthBounds

        public final VulkanPhysicalDeviceFeatures withDepthBounds​(boolean value)
        Copy the current immutable object by setting a value for the depthBounds attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for depthBounds
        Returns:
        A modified copy of the this object
      • withDepthClamp

        public final VulkanPhysicalDeviceFeatures withDepthClamp​(boolean value)
        Copy the current immutable object by setting a value for the depthClamp attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for depthClamp
        Returns:
        A modified copy of the this object
      • withDrawIndirectFirstInstance

        public final VulkanPhysicalDeviceFeatures withDrawIndirectFirstInstance​(boolean value)
        Copy the current immutable object by setting a value for the drawIndirectFirstInstance attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for drawIndirectFirstInstance
        Returns:
        A modified copy of the this object
      • withDualSrcBlend

        public final VulkanPhysicalDeviceFeatures withDualSrcBlend​(boolean value)
        Copy the current immutable object by setting a value for the dualSrcBlend attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for dualSrcBlend
        Returns:
        A modified copy of the this object
      • withFillModeNonSolid

        public final VulkanPhysicalDeviceFeatures withFillModeNonSolid​(boolean value)
        Copy the current immutable object by setting a value for the fillModeNonSolid attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for fillModeNonSolid
        Returns:
        A modified copy of the this object
      • withFragmentStoresAndAtomics

        public final VulkanPhysicalDeviceFeatures withFragmentStoresAndAtomics​(boolean value)
        Copy the current immutable object by setting a value for the fragmentStoresAndAtomics attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for fragmentStoresAndAtomics
        Returns:
        A modified copy of the this object
      • withFullDrawIndexUint32

        public final VulkanPhysicalDeviceFeatures withFullDrawIndexUint32​(boolean value)
        Copy the current immutable object by setting a value for the fullDrawIndexUint32 attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for fullDrawIndexUint32
        Returns:
        A modified copy of the this object
      • withGeometryShader

        public final VulkanPhysicalDeviceFeatures withGeometryShader​(boolean value)
        Copy the current immutable object by setting a value for the geometryShader attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for geometryShader
        Returns:
        A modified copy of the this object
      • withImageCubeArray

        public final VulkanPhysicalDeviceFeatures withImageCubeArray​(boolean value)
        Copy the current immutable object by setting a value for the imageCubeArray attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for imageCubeArray
        Returns:
        A modified copy of the this object
      • withIndependentBlend

        public final VulkanPhysicalDeviceFeatures withIndependentBlend​(boolean value)
        Copy the current immutable object by setting a value for the independentBlend attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for independentBlend
        Returns:
        A modified copy of the this object
      • withInheritedQueries

        public final VulkanPhysicalDeviceFeatures withInheritedQueries​(boolean value)
        Copy the current immutable object by setting a value for the inheritedQueries attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for inheritedQueries
        Returns:
        A modified copy of the this object
      • withLargePoints

        public final VulkanPhysicalDeviceFeatures withLargePoints​(boolean value)
        Copy the current immutable object by setting a value for the largePoints attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for largePoints
        Returns:
        A modified copy of the this object
      • withLogicOp

        public final VulkanPhysicalDeviceFeatures withLogicOp​(boolean value)
        Copy the current immutable object by setting a value for the logicOp attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for logicOp
        Returns:
        A modified copy of the this object
      • withMultiDrawIndirect

        public final VulkanPhysicalDeviceFeatures withMultiDrawIndirect​(boolean value)
        Copy the current immutable object by setting a value for the multiDrawIndirect attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for multiDrawIndirect
        Returns:
        A modified copy of the this object
      • withMultiViewport

        public final VulkanPhysicalDeviceFeatures withMultiViewport​(boolean value)
        Copy the current immutable object by setting a value for the multiViewport attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for multiViewport
        Returns:
        A modified copy of the this object
      • withOcclusionQueryPrecise

        public final VulkanPhysicalDeviceFeatures withOcclusionQueryPrecise​(boolean value)
        Copy the current immutable object by setting a value for the occlusionQueryPrecise attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for occlusionQueryPrecise
        Returns:
        A modified copy of the this object
      • withPipelineStatisticsQuery

        public final VulkanPhysicalDeviceFeatures withPipelineStatisticsQuery​(boolean value)
        Copy the current immutable object by setting a value for the pipelineStatisticsQuery attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for pipelineStatisticsQuery
        Returns:
        A modified copy of the this object
      • withRobustBufferAccess

        public final VulkanPhysicalDeviceFeatures withRobustBufferAccess​(boolean value)
        Copy the current immutable object by setting a value for the robustBufferAccess attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for robustBufferAccess
        Returns:
        A modified copy of the this object
      • withSamplerAnisotropy

        public final VulkanPhysicalDeviceFeatures withSamplerAnisotropy​(boolean value)
        Copy the current immutable object by setting a value for the samplerAnisotropy attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for samplerAnisotropy
        Returns:
        A modified copy of the this object
      • withSampleRateShading

        public final VulkanPhysicalDeviceFeatures withSampleRateShading​(boolean value)
        Copy the current immutable object by setting a value for the sampleRateShading attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for sampleRateShading
        Returns:
        A modified copy of the this object
      • withShaderClipDistance

        public final VulkanPhysicalDeviceFeatures withShaderClipDistance​(boolean value)
        Copy the current immutable object by setting a value for the shaderClipDistance attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderClipDistance
        Returns:
        A modified copy of the this object
      • withShaderCullDistance

        public final VulkanPhysicalDeviceFeatures withShaderCullDistance​(boolean value)
        Copy the current immutable object by setting a value for the shaderCullDistance attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderCullDistance
        Returns:
        A modified copy of the this object
      • withShaderFloat64

        public final VulkanPhysicalDeviceFeatures withShaderFloat64​(boolean value)
        Copy the current immutable object by setting a value for the shaderFloat64 attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderFloat64
        Returns:
        A modified copy of the this object
      • withShaderImageGatherExtended

        public final VulkanPhysicalDeviceFeatures withShaderImageGatherExtended​(boolean value)
        Copy the current immutable object by setting a value for the shaderImageGatherExtended attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderImageGatherExtended
        Returns:
        A modified copy of the this object
      • withShaderInt16

        public final VulkanPhysicalDeviceFeatures withShaderInt16​(boolean value)
        Copy the current immutable object by setting a value for the shaderInt16 attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderInt16
        Returns:
        A modified copy of the this object
      • withShaderInt64

        public final VulkanPhysicalDeviceFeatures withShaderInt64​(boolean value)
        Copy the current immutable object by setting a value for the shaderInt64 attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderInt64
        Returns:
        A modified copy of the this object
      • withShaderResourceMinLod

        public final VulkanPhysicalDeviceFeatures withShaderResourceMinLod​(boolean value)
        Copy the current immutable object by setting a value for the shaderResourceMinLod attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderResourceMinLod
        Returns:
        A modified copy of the this object
      • withShaderResourceResidency

        public final VulkanPhysicalDeviceFeatures withShaderResourceResidency​(boolean value)
        Copy the current immutable object by setting a value for the shaderResourceResidency attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderResourceResidency
        Returns:
        A modified copy of the this object
      • withShaderSampledImageArrayDynamicIndexing

        public final VulkanPhysicalDeviceFeatures withShaderSampledImageArrayDynamicIndexing​(boolean value)
        Copy the current immutable object by setting a value for the shaderSampledImageArrayDynamicIndexing attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderSampledImageArrayDynamicIndexing
        Returns:
        A modified copy of the this object
      • withShaderStorageBufferArrayDynamicIndexing

        public final VulkanPhysicalDeviceFeatures withShaderStorageBufferArrayDynamicIndexing​(boolean value)
        Copy the current immutable object by setting a value for the shaderStorageBufferArrayDynamicIndexing attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderStorageBufferArrayDynamicIndexing
        Returns:
        A modified copy of the this object
      • withShaderStorageImageArrayDynamicIndexing

        public final VulkanPhysicalDeviceFeatures withShaderStorageImageArrayDynamicIndexing​(boolean value)
        Copy the current immutable object by setting a value for the shaderStorageImageArrayDynamicIndexing attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderStorageImageArrayDynamicIndexing
        Returns:
        A modified copy of the this object
      • withShaderStorageImageExtendedFormats

        public final VulkanPhysicalDeviceFeatures withShaderStorageImageExtendedFormats​(boolean value)
        Copy the current immutable object by setting a value for the shaderStorageImageExtendedFormats attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderStorageImageExtendedFormats
        Returns:
        A modified copy of the this object
      • withShaderStorageImageMultisample

        public final VulkanPhysicalDeviceFeatures withShaderStorageImageMultisample​(boolean value)
        Copy the current immutable object by setting a value for the shaderStorageImageMultisample attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderStorageImageMultisample
        Returns:
        A modified copy of the this object
      • withShaderStorageImageReadWithoutFormat

        public final VulkanPhysicalDeviceFeatures withShaderStorageImageReadWithoutFormat​(boolean value)
        Copy the current immutable object by setting a value for the shaderStorageImageReadWithoutFormat attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderStorageImageReadWithoutFormat
        Returns:
        A modified copy of the this object
      • withShaderStorageImageWriteWithoutFormat

        public final VulkanPhysicalDeviceFeatures withShaderStorageImageWriteWithoutFormat​(boolean value)
        Copy the current immutable object by setting a value for the shaderStorageImageWriteWithoutFormat attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderStorageImageWriteWithoutFormat
        Returns:
        A modified copy of the this object
      • withShaderTessellationAndGeometryPointSize

        public final VulkanPhysicalDeviceFeatures withShaderTessellationAndGeometryPointSize​(boolean value)
        Copy the current immutable object by setting a value for the shaderTessellationAndGeometryPointSize attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderTessellationAndGeometryPointSize
        Returns:
        A modified copy of the this object
      • withShaderUniformBufferArrayDynamicIndexing

        public final VulkanPhysicalDeviceFeatures withShaderUniformBufferArrayDynamicIndexing​(boolean value)
        Copy the current immutable object by setting a value for the shaderUniformBufferArrayDynamicIndexing attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for shaderUniformBufferArrayDynamicIndexing
        Returns:
        A modified copy of the this object
      • withSparseBinding

        public final VulkanPhysicalDeviceFeatures withSparseBinding​(boolean value)
        Copy the current immutable object by setting a value for the sparseBinding attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for sparseBinding
        Returns:
        A modified copy of the this object
      • withSparseResidency16Samples

        public final VulkanPhysicalDeviceFeatures withSparseResidency16Samples​(boolean value)
        Copy the current immutable object by setting a value for the sparseResidency16Samples attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for sparseResidency16Samples
        Returns:
        A modified copy of the this object
      • withSparseResidency2Samples

        public final VulkanPhysicalDeviceFeatures withSparseResidency2Samples​(boolean value)
        Copy the current immutable object by setting a value for the sparseResidency2Samples attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for sparseResidency2Samples
        Returns:
        A modified copy of the this object
      • withSparseResidency4Samples

        public final VulkanPhysicalDeviceFeatures withSparseResidency4Samples​(boolean value)
        Copy the current immutable object by setting a value for the sparseResidency4Samples attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for sparseResidency4Samples
        Returns:
        A modified copy of the this object
      • withSparseResidency8Samples

        public final VulkanPhysicalDeviceFeatures withSparseResidency8Samples​(boolean value)
        Copy the current immutable object by setting a value for the sparseResidency8Samples attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for sparseResidency8Samples
        Returns:
        A modified copy of the this object
      • withSparseResidencyAliased

        public final VulkanPhysicalDeviceFeatures withSparseResidencyAliased​(boolean value)
        Copy the current immutable object by setting a value for the sparseResidencyAliased attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for sparseResidencyAliased
        Returns:
        A modified copy of the this object
      • withSparseResidencyBuffer

        public final VulkanPhysicalDeviceFeatures withSparseResidencyBuffer​(boolean value)
        Copy the current immutable object by setting a value for the sparseResidencyBuffer attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for sparseResidencyBuffer
        Returns:
        A modified copy of the this object
      • withSparseResidencyImage2D

        public final VulkanPhysicalDeviceFeatures withSparseResidencyImage2D​(boolean value)
        Copy the current immutable object by setting a value for the sparseResidencyImage2D attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for sparseResidencyImage2D
        Returns:
        A modified copy of the this object
      • withSparseResidencyImage3D

        public final VulkanPhysicalDeviceFeatures withSparseResidencyImage3D​(boolean value)
        Copy the current immutable object by setting a value for the sparseResidencyImage3D attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for sparseResidencyImage3D
        Returns:
        A modified copy of the this object
      • withTessellationShader

        public final VulkanPhysicalDeviceFeatures withTessellationShader​(boolean value)
        Copy the current immutable object by setting a value for the tessellationShader attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for tessellationShader
        Returns:
        A modified copy of the this object
      • withTextureCompressionASTC_LDR

        public final VulkanPhysicalDeviceFeatures withTextureCompressionASTC_LDR​(boolean value)
        Copy the current immutable object by setting a value for the textureCompressionASTC_LDR attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for textureCompressionASTC_LDR
        Returns:
        A modified copy of the this object
      • withTextureCompressionBC

        public final VulkanPhysicalDeviceFeatures withTextureCompressionBC​(boolean value)
        Copy the current immutable object by setting a value for the textureCompressionBC attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for textureCompressionBC
        Returns:
        A modified copy of the this object
      • withTextureCompressionETC2

        public final VulkanPhysicalDeviceFeatures withTextureCompressionETC2​(boolean value)
        Copy the current immutable object by setting a value for the textureCompressionETC2 attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for textureCompressionETC2
        Returns:
        A modified copy of the this object
      • withVariableMultisampleRate

        public final VulkanPhysicalDeviceFeatures withVariableMultisampleRate​(boolean value)
        Copy the current immutable object by setting a value for the variableMultisampleRate attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for variableMultisampleRate
        Returns:
        A modified copy of the this object
      • withVertexPipelineStoresAndAtomics

        public final VulkanPhysicalDeviceFeatures withVertexPipelineStoresAndAtomics​(boolean value)
        Copy the current immutable object by setting a value for the vertexPipelineStoresAndAtomics attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for vertexPipelineStoresAndAtomics
        Returns:
        A modified copy of the this object
      • withWideLines

        public final VulkanPhysicalDeviceFeatures withWideLines​(boolean value)
        Copy the current immutable object by setting a value for the wideLines attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for wideLines
        Returns:
        A modified copy of the this object
      • equals

        public boolean equals​(java.lang.Object another)
        This instance is equal to all instances of VulkanPhysicalDeviceFeatures that have equal attribute values.
        Overrides:
        equals in class java.lang.Object
        Returns:
        true if this is equal to another instance
      • hashCode

        public int hashCode()
        Computes a hash code from attributes: alphaToOne, depthBiasClamp, depthBounds, depthClamp, drawIndirectFirstInstance, dualSrcBlend, fillModeNonSolid, fragmentStoresAndAtomics, fullDrawIndexUint32, geometryShader, imageCubeArray, independentBlend, inheritedQueries, largePoints, logicOp, multiDrawIndirect, multiViewport, occlusionQueryPrecise, pipelineStatisticsQuery, robustBufferAccess, samplerAnisotropy, sampleRateShading, shaderClipDistance, shaderCullDistance, shaderFloat64, shaderImageGatherExtended, shaderInt16, shaderInt64, shaderResourceMinLod, shaderResourceResidency, shaderSampledImageArrayDynamicIndexing, shaderStorageBufferArrayDynamicIndexing, shaderStorageImageArrayDynamicIndexing, shaderStorageImageExtendedFormats, shaderStorageImageMultisample, shaderStorageImageReadWithoutFormat, shaderStorageImageWriteWithoutFormat, shaderTessellationAndGeometryPointSize, shaderUniformBufferArrayDynamicIndexing, sparseBinding, sparseResidency16Samples, sparseResidency2Samples, sparseResidency4Samples, sparseResidency8Samples, sparseResidencyAliased, sparseResidencyBuffer, sparseResidencyImage2D, sparseResidencyImage3D, tessellationShader, textureCompressionASTC_LDR, textureCompressionBC, textureCompressionETC2, variableMultisampleRate, vertexPipelineStoresAndAtomics, wideLines.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        hashCode value
      • toString

        public java.lang.String toString()
        Prints the immutable value VulkanPhysicalDeviceFeatures with attribute values.
        Overrides:
        toString in class java.lang.Object
        Returns:
        A string representation of the value
      • of

        public static VulkanPhysicalDeviceFeatures of​(boolean alphaToOne,
                                                      boolean depthBiasClamp,
                                                      boolean depthBounds,
                                                      boolean depthClamp,
                                                      boolean drawIndirectFirstInstance,
                                                      boolean dualSrcBlend,
                                                      boolean fillModeNonSolid,
                                                      boolean fragmentStoresAndAtomics,
                                                      boolean fullDrawIndexUint32,
                                                      boolean geometryShader,
                                                      boolean imageCubeArray,
                                                      boolean independentBlend,
                                                      boolean inheritedQueries,
                                                      boolean largePoints,
                                                      boolean logicOp,
                                                      boolean multiDrawIndirect,
                                                      boolean multiViewport,
                                                      boolean occlusionQueryPrecise,
                                                      boolean pipelineStatisticsQuery,
                                                      boolean robustBufferAccess,
                                                      boolean samplerAnisotropy,
                                                      boolean sampleRateShading,
                                                      boolean shaderClipDistance,
                                                      boolean shaderCullDistance,
                                                      boolean shaderFloat64,
                                                      boolean shaderImageGatherExtended,
                                                      boolean shaderInt16,
                                                      boolean shaderInt64,
                                                      boolean shaderResourceMinLod,
                                                      boolean shaderResourceResidency,
                                                      boolean shaderSampledImageArrayDynamicIndexing,
                                                      boolean shaderStorageBufferArrayDynamicIndexing,
                                                      boolean shaderStorageImageArrayDynamicIndexing,
                                                      boolean shaderStorageImageExtendedFormats,
                                                      boolean shaderStorageImageMultisample,
                                                      boolean shaderStorageImageReadWithoutFormat,
                                                      boolean shaderStorageImageWriteWithoutFormat,
                                                      boolean shaderTessellationAndGeometryPointSize,
                                                      boolean shaderUniformBufferArrayDynamicIndexing,
                                                      boolean sparseBinding,
                                                      boolean sparseResidency16Samples,
                                                      boolean sparseResidency2Samples,
                                                      boolean sparseResidency4Samples,
                                                      boolean sparseResidency8Samples,
                                                      boolean sparseResidencyAliased,
                                                      boolean sparseResidencyBuffer,
                                                      boolean sparseResidencyImage2D,
                                                      boolean sparseResidencyImage3D,
                                                      boolean tessellationShader,
                                                      boolean textureCompressionASTC_LDR,
                                                      boolean textureCompressionBC,
                                                      boolean textureCompressionETC2,
                                                      boolean variableMultisampleRate,
                                                      boolean vertexPipelineStoresAndAtomics,
                                                      boolean wideLines)
        Construct a new immutable VulkanPhysicalDeviceFeatures instance.
        Parameters:
        alphaToOne - The value for the alphaToOne attribute
        depthBiasClamp - The value for the depthBiasClamp attribute
        depthBounds - The value for the depthBounds attribute
        depthClamp - The value for the depthClamp attribute
        drawIndirectFirstInstance - The value for the drawIndirectFirstInstance attribute
        dualSrcBlend - The value for the dualSrcBlend attribute
        fillModeNonSolid - The value for the fillModeNonSolid attribute
        fragmentStoresAndAtomics - The value for the fragmentStoresAndAtomics attribute
        fullDrawIndexUint32 - The value for the fullDrawIndexUint32 attribute
        geometryShader - The value for the geometryShader attribute
        imageCubeArray - The value for the imageCubeArray attribute
        independentBlend - The value for the independentBlend attribute
        inheritedQueries - The value for the inheritedQueries attribute
        largePoints - The value for the largePoints attribute
        logicOp - The value for the logicOp attribute
        multiDrawIndirect - The value for the multiDrawIndirect attribute
        multiViewport - The value for the multiViewport attribute
        occlusionQueryPrecise - The value for the occlusionQueryPrecise attribute
        pipelineStatisticsQuery - The value for the pipelineStatisticsQuery attribute
        robustBufferAccess - The value for the robustBufferAccess attribute
        samplerAnisotropy - The value for the samplerAnisotropy attribute
        sampleRateShading - The value for the sampleRateShading attribute
        shaderClipDistance - The value for the shaderClipDistance attribute
        shaderCullDistance - The value for the shaderCullDistance attribute
        shaderFloat64 - The value for the shaderFloat64 attribute
        shaderImageGatherExtended - The value for the shaderImageGatherExtended attribute
        shaderInt16 - The value for the shaderInt16 attribute
        shaderInt64 - The value for the shaderInt64 attribute
        shaderResourceMinLod - The value for the shaderResourceMinLod attribute
        shaderResourceResidency - The value for the shaderResourceResidency attribute
        shaderSampledImageArrayDynamicIndexing - The value for the shaderSampledImageArrayDynamicIndexing attribute
        shaderStorageBufferArrayDynamicIndexing - The value for the shaderStorageBufferArrayDynamicIndexing attribute
        shaderStorageImageArrayDynamicIndexing - The value for the shaderStorageImageArrayDynamicIndexing attribute
        shaderStorageImageExtendedFormats - The value for the shaderStorageImageExtendedFormats attribute
        shaderStorageImageMultisample - The value for the shaderStorageImageMultisample attribute
        shaderStorageImageReadWithoutFormat - The value for the shaderStorageImageReadWithoutFormat attribute
        shaderStorageImageWriteWithoutFormat - The value for the shaderStorageImageWriteWithoutFormat attribute
        shaderTessellationAndGeometryPointSize - The value for the shaderTessellationAndGeometryPointSize attribute
        shaderUniformBufferArrayDynamicIndexing - The value for the shaderUniformBufferArrayDynamicIndexing attribute
        sparseBinding - The value for the sparseBinding attribute
        sparseResidency16Samples - The value for the sparseResidency16Samples attribute
        sparseResidency2Samples - The value for the sparseResidency2Samples attribute
        sparseResidency4Samples - The value for the sparseResidency4Samples attribute
        sparseResidency8Samples - The value for the sparseResidency8Samples attribute
        sparseResidencyAliased - The value for the sparseResidencyAliased attribute
        sparseResidencyBuffer - The value for the sparseResidencyBuffer attribute
        sparseResidencyImage2D - The value for the sparseResidencyImage2D attribute
        sparseResidencyImage3D - The value for the sparseResidencyImage3D attribute
        tessellationShader - The value for the tessellationShader attribute
        textureCompressionASTC_LDR - The value for the textureCompressionASTC_LDR attribute
        textureCompressionBC - The value for the textureCompressionBC attribute
        textureCompressionETC2 - The value for the textureCompressionETC2 attribute
        variableMultisampleRate - The value for the variableMultisampleRate attribute
        vertexPipelineStoresAndAtomics - The value for the vertexPipelineStoresAndAtomics attribute
        wideLines - The value for the wideLines attribute
        Returns:
        An immutable VulkanPhysicalDeviceFeatures instance