VkImageTilingControlEXT
Possible values of
VkImageTilingControlCreateInfoEXT::imageTiling, specifying image
tiling arrangement, are:
typedef enum VkImageTilingControlEXT {
VK_IMAGE_TILING_CONTROL_DEFAULT_EXT = 0,
VK_IMAGE_TILING_CONTROL_MIN_SIZE_EXT = 1,
VK_IMAGE_TILING_CONTROL_MAX_PERFORMANCE_EXT = 2,
} VkImageTilingControlEXT;
pub struct ImageTilingControlEXT(u32);
impl ImageTilingControlEXT {
pub const DEFAULT: Self = 0;
pub const MIN_SIZE: Self = 1;
pub const MAX_PERFORMANCE: Self = 2;
}
VK_IMAGE_TILING_CONTROL_DEFAULT_EXTspecifies that the image tiling arrangement balances memory size requirements and memory access performance. It is the same selection as with the VkImageTilingControlCreateInfoEXT structure omitted from thepNextchain of VkImageCreateInfo.VK_IMAGE_TILING_CONTROL_MIN_SIZE_EXTspecifies that the image tiling arrangement minimizes memory size requirements with reduced consideration for memory access performance.VK_IMAGE_TILING_CONTROL_MAX_PERFORMANCE_EXTspecifies that the image tiling arrangement maximizes memory access performance with reduced consideration for increases in memory size requirements.
These enumeration values only select the preferred tiling arrangement out of the subset that the implementation supports, which is dependent on the other image creation parameters.
There are cases where multiple enumeration values will result in the same tiling arrangement, especially for images with extents that are multiples of optimal tiling block sizes. For these cases, no tradeoff exists for the image.
The memory size requirements of the image are less than or equal when using
VK_IMAGE_TILING_CONTROL_MIN_SIZE_EXT.
However, there are no performance guarantees when using
VK_IMAGE_TILING_CONTROL_MAX_PERFORMANCE_EXT as image access times are
dependent on other variables such as the shader access pattern.