Class VulkanImageCreateInfo

    • Method Detail

      • imageType

        public VulkanImageKind imageType()
        Specified by:
        imageType in interface VulkanImageCreateInfoType
        Returns:
        A value specifying the basic dimensionality of the image. Layers in array textures do not count as a dimension for the purposes of the image type.
      • mipLevels

        public int mipLevels()
        Specified by:
        mipLevels in interface VulkanImageCreateInfoType
        Returns:
        The number of levels of detail available for minified sampling of the image.
      • queueFamilyIndices

        public java.util.List<java.lang.Integer> queueFamilyIndices()
        Specified by:
        queueFamilyIndices in interface VulkanImageCreateInfoType
        Returns:
        A list of queue families that will access this image (ignored if sharingMode is not VK_SHARING_MODE_CONCURRENT).
      • withFlags

        public final VulkanImageCreateInfo withFlags​(VulkanImageCreateFlag... elements)
        Copy the current immutable object with elements that replace the content of flags.
        Parameters:
        elements - The elements to set
        Returns:
        A modified copy of this object
      • withFlags

        public final VulkanImageCreateInfo withFlags​(java.lang.Iterable<VulkanImageCreateFlag> elements)
        Copy the current immutable object with elements that replace the content of flags. A shallow reference equality check is used to prevent copying of the same value by returning this.
        Parameters:
        elements - An iterable of flags elements to set
        Returns:
        A modified copy of this object
      • withImageType

        public final VulkanImageCreateInfo withImageType​(VulkanImageKind value)
        Copy the current immutable object by setting a value for the imageType attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for imageType
        Returns:
        A modified copy of the this object
      • withFormat

        public final VulkanImageCreateInfo withFormat​(VulkanFormat value)
        Copy the current immutable object by setting a value for the format attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for format
        Returns:
        A modified copy of the this object
      • withExtent

        public final VulkanImageCreateInfo withExtent​(VulkanExtent3D value)
        Copy the current immutable object by setting a value for the extent attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for extent
        Returns:
        A modified copy of the this object
      • withMipLevels

        public final VulkanImageCreateInfo withMipLevels​(int value)
        Copy the current immutable object by setting a value for the mipLevels attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for mipLevels
        Returns:
        A modified copy of the this object
      • withArrayLayers

        public final VulkanImageCreateInfo withArrayLayers​(int value)
        Copy the current immutable object by setting a value for the arrayLayers attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for arrayLayers
        Returns:
        A modified copy of the this object
      • withSamples

        public final VulkanImageCreateInfo withSamples​(VulkanSampleCountFlag... elements)
        Copy the current immutable object with elements that replace the content of samples.
        Parameters:
        elements - The elements to set
        Returns:
        A modified copy of this object
      • withSamples

        public final VulkanImageCreateInfo withSamples​(java.lang.Iterable<VulkanSampleCountFlag> elements)
        Copy the current immutable object with elements that replace the content of samples. A shallow reference equality check is used to prevent copying of the same value by returning this.
        Parameters:
        elements - An iterable of samples elements to set
        Returns:
        A modified copy of this object
      • withTiling

        public final VulkanImageCreateInfo withTiling​(VulkanImageTiling value)
        Copy the current immutable object by setting a value for the tiling attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for tiling
        Returns:
        A modified copy of the this object
      • withUsage

        public final VulkanImageCreateInfo withUsage​(VulkanImageUsageFlag... elements)
        Copy the current immutable object with elements that replace the content of usage.
        Parameters:
        elements - The elements to set
        Returns:
        A modified copy of this object
      • withUsage

        public final VulkanImageCreateInfo withUsage​(java.lang.Iterable<VulkanImageUsageFlag> elements)
        Copy the current immutable object with elements that replace the content of usage. A shallow reference equality check is used to prevent copying of the same value by returning this.
        Parameters:
        elements - An iterable of usage elements to set
        Returns:
        A modified copy of this object
      • withSharingMode

        public final VulkanImageCreateInfo withSharingMode​(VulkanSharingMode value)
        Copy the current immutable object by setting a value for the sharingMode attribute. A value equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for sharingMode
        Returns:
        A modified copy of the this object
      • withQueueFamilyIndices

        public final VulkanImageCreateInfo withQueueFamilyIndices​(int... elements)
        Copy the current immutable object with elements that replace the content of queueFamilyIndices.
        Parameters:
        elements - The elements to set
        Returns:
        A modified copy of this object
      • withQueueFamilyIndices

        public final VulkanImageCreateInfo withQueueFamilyIndices​(java.lang.Iterable<java.lang.Integer> elements)
        Copy the current immutable object with elements that replace the content of queueFamilyIndices. A shallow reference equality check is used to prevent copying of the same value by returning this.
        Parameters:
        elements - An iterable of queueFamilyIndices elements to set
        Returns:
        A modified copy of this object
      • withInitialLayout

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

        public boolean equals​(java.lang.Object another)
        This instance is equal to all instances of VulkanImageCreateInfo 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: flags, imageType, format, extent, mipLevels, arrayLayers, samples, tiling, usage, sharingMode, queueFamilyIndices, initialLayout.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        hashCode value
      • toString

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

        public static VulkanImageCreateInfo of​(java.util.Set<VulkanImageCreateFlag> flags,
                                               VulkanImageKind imageType,
                                               VulkanFormat format,
                                               VulkanExtent3D extent,
                                               int mipLevels,
                                               int arrayLayers,
                                               java.util.Set<VulkanSampleCountFlag> samples,
                                               VulkanImageTiling tiling,
                                               java.util.Set<VulkanImageUsageFlag> usage,
                                               VulkanSharingMode sharingMode,
                                               java.util.List<java.lang.Integer> queueFamilyIndices,
                                               VulkanImageLayout initialLayout)
        Construct a new immutable VulkanImageCreateInfo instance.
        Parameters:
        flags - The value for the flags attribute
        imageType - The value for the imageType attribute
        format - The value for the format attribute
        extent - The value for the extent attribute
        mipLevels - The value for the mipLevels attribute
        arrayLayers - The value for the arrayLayers attribute
        samples - The value for the samples attribute
        tiling - The value for the tiling attribute
        usage - The value for the usage attribute
        sharingMode - The value for the sharingMode attribute
        queueFamilyIndices - The value for the queueFamilyIndices attribute
        initialLayout - The value for the initialLayout attribute
        Returns:
        An immutable VulkanImageCreateInfo instance
      • of

        public static VulkanImageCreateInfo of​(java.lang.Iterable<VulkanImageCreateFlag> flags,
                                               VulkanImageKind imageType,
                                               VulkanFormat format,
                                               VulkanExtent3D extent,
                                               int mipLevels,
                                               int arrayLayers,
                                               java.lang.Iterable<VulkanSampleCountFlag> samples,
                                               VulkanImageTiling tiling,
                                               java.lang.Iterable<VulkanImageUsageFlag> usage,
                                               VulkanSharingMode sharingMode,
                                               java.lang.Iterable<java.lang.Integer> queueFamilyIndices,
                                               VulkanImageLayout initialLayout)
        Construct a new immutable VulkanImageCreateInfo instance.
        Parameters:
        flags - The value for the flags attribute
        imageType - The value for the imageType attribute
        format - The value for the format attribute
        extent - The value for the extent attribute
        mipLevels - The value for the mipLevels attribute
        arrayLayers - The value for the arrayLayers attribute
        samples - The value for the samples attribute
        tiling - The value for the tiling attribute
        usage - The value for the usage attribute
        sharingMode - The value for the sharingMode attribute
        queueFamilyIndices - The value for the queueFamilyIndices attribute
        initialLayout - The value for the initialLayout attribute
        Returns:
        An immutable VulkanImageCreateInfo instance
      • copyOf

        public static VulkanImageCreateInfo copyOf​(VulkanImageCreateInfoType instance)
        Creates an immutable copy of a VulkanImageCreateInfoType value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
        Parameters:
        instance - The instance to copy
        Returns:
        A copied immutable VulkanImageCreateInfo instance