Class VulkanSurfaceCapabilitiesKHR

    • Method Detail

      • minImageCount

        public int minImageCount()
        Specified by:
        minImageCount in interface VulkanSurfaceCapabilitiesKHRType
        Returns:
        the minimum number of images the specified device supports for a swapchain created for the surface.
      • maxImageCount

        public int maxImageCount()
        Specified by:
        maxImageCount in interface VulkanSurfaceCapabilitiesKHRType
        Returns:
        the maximum number of images the specified device supports for a swapchain created for the surface. A value of 0 means that there is no limit on the number of images, though there may be limits related to the total amount of memory used by swapchain images.
      • currentExtent

        public VulkanExtent2D currentExtent()
        Specified by:
        currentExtent in interface VulkanSurfaceCapabilitiesKHRType
        Returns:
        the current width and height of the surface, or the special value $(0xFFFFFFFF, 0xFFFFFFFF)$ indicating that the surface size will be determined by the extent of a swapchain targeting the surface.
      • maxImageArrayLayers

        public int maxImageArrayLayers()
        Specified by:
        maxImageArrayLayers in interface VulkanSurfaceCapabilitiesKHRType
        Returns:
        the maximum number of layers swapchain images can have for a swapchain created for this device and surface.
      • supportedCompositeAlpha

        public java.util.Set<VulkanCompositeAlphaFlagKHR> supportedCompositeAlpha()
        Specified by:
        supportedCompositeAlpha in interface VulkanSurfaceCapabilitiesKHRType
        Returns:
        the alpha compositing modes supported by the presentation engine for the surface on the specified device. Opaque composition can be achieved in any alpha compositing mode by either using a swapchain image format that has no alpha component, or by ensuring that all pixels in the swapchain images have an alpha value of 1.0.
      • supportedUsageFlags

        public java.util.Set<VulkanImageUsageFlag> supportedUsageFlags()
        Specified by:
        supportedUsageFlags in interface VulkanSurfaceCapabilitiesKHRType
        Returns:
        the ways the application can use the presentable images of a swapchain created for the surface on the specified device. VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT must be included in the set but implementations may support additional usages.
      • withMinImageCount

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

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

        public final VulkanSurfaceCapabilitiesKHR withCurrentExtent​(VulkanExtent2D value)
        Copy the current immutable object by setting a value for the currentExtent attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for currentExtent
        Returns:
        A modified copy of the this object
      • withMinImageExtent

        public final VulkanSurfaceCapabilitiesKHR withMinImageExtent​(VulkanExtent2D value)
        Copy the current immutable object by setting a value for the minImageExtent attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for minImageExtent
        Returns:
        A modified copy of the this object
      • withMaxImageExtent

        public final VulkanSurfaceCapabilitiesKHR withMaxImageExtent​(VulkanExtent2D value)
        Copy the current immutable object by setting a value for the maxImageExtent attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for maxImageExtent
        Returns:
        A modified copy of the this object
      • withMaxImageArrayLayers

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

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

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

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

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

        public boolean equals​(java.lang.Object another)
        This instance is equal to all instances of VulkanSurfaceCapabilitiesKHR 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: minImageCount, maxImageCount, currentExtent, minImageExtent, maxImageExtent, maxImageArrayLayers, supportedTransforms, currentTransform, supportedCompositeAlpha, supportedUsageFlags.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        hashCode value
      • toString

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

        public static VulkanSurfaceCapabilitiesKHR of​(int minImageCount,
                                                      int maxImageCount,
                                                      VulkanExtent2D currentExtent,
                                                      VulkanExtent2D minImageExtent,
                                                      VulkanExtent2D maxImageExtent,
                                                      int maxImageArrayLayers,
                                                      java.util.Set<VulkanSurfaceTransformFlagKHR> supportedTransforms,
                                                      java.util.Set<VulkanSurfaceTransformFlagKHR> currentTransform,
                                                      java.util.Set<VulkanCompositeAlphaFlagKHR> supportedCompositeAlpha,
                                                      java.util.Set<VulkanImageUsageFlag> supportedUsageFlags)
        Construct a new immutable VulkanSurfaceCapabilitiesKHR instance.
        Parameters:
        minImageCount - The value for the minImageCount attribute
        maxImageCount - The value for the maxImageCount attribute
        currentExtent - The value for the currentExtent attribute
        minImageExtent - The value for the minImageExtent attribute
        maxImageExtent - The value for the maxImageExtent attribute
        maxImageArrayLayers - The value for the maxImageArrayLayers attribute
        supportedTransforms - The value for the supportedTransforms attribute
        currentTransform - The value for the currentTransform attribute
        supportedCompositeAlpha - The value for the supportedCompositeAlpha attribute
        supportedUsageFlags - The value for the supportedUsageFlags attribute
        Returns:
        An immutable VulkanSurfaceCapabilitiesKHR instance
      • of

        public static VulkanSurfaceCapabilitiesKHR of​(int minImageCount,
                                                      int maxImageCount,
                                                      VulkanExtent2D currentExtent,
                                                      VulkanExtent2D minImageExtent,
                                                      VulkanExtent2D maxImageExtent,
                                                      int maxImageArrayLayers,
                                                      java.lang.Iterable<VulkanSurfaceTransformFlagKHR> supportedTransforms,
                                                      java.lang.Iterable<VulkanSurfaceTransformFlagKHR> currentTransform,
                                                      java.lang.Iterable<VulkanCompositeAlphaFlagKHR> supportedCompositeAlpha,
                                                      java.lang.Iterable<VulkanImageUsageFlag> supportedUsageFlags)
        Construct a new immutable VulkanSurfaceCapabilitiesKHR instance.
        Parameters:
        minImageCount - The value for the minImageCount attribute
        maxImageCount - The value for the maxImageCount attribute
        currentExtent - The value for the currentExtent attribute
        minImageExtent - The value for the minImageExtent attribute
        maxImageExtent - The value for the maxImageExtent attribute
        maxImageArrayLayers - The value for the maxImageArrayLayers attribute
        supportedTransforms - The value for the supportedTransforms attribute
        currentTransform - The value for the currentTransform attribute
        supportedCompositeAlpha - The value for the supportedCompositeAlpha attribute
        supportedUsageFlags - The value for the supportedUsageFlags attribute
        Returns:
        An immutable VulkanSurfaceCapabilitiesKHR instance