Sparse Buffer and Fully-Resident Image Block Size
Sparse Partially-Resident Buffers Sparse Partially-Resident ImagesAccessing Unbound Regions
Mip Tail Regions
Standard Sparse Image Block Shapes
Custom Sparse Image Block Shapes
Multiple Aspects
Sparse Memory Aliasing Sparse Resource Implementation Guidelines (Informative) Sparse Resource APIPhysical Device Features
Physical Device Sparse Properties
typedef struct VkPhysicalDeviceSparseProperties { VkBool32 VkBool32 VkBool32 VkBool32 VkBool32 residencyStandard2DBlockShape; residencyStandard2DMultisampleBlockShape; residencyStandard3DBlockShape; residencyAlignedMipSize; residencyNonResidentStrict; } VkPhysicalDeviceSparseProperties;
Sparse Image Format Properties
typedef struct VkSparseImageFormatProperties { VkImageAspectFlags VkExtent3D VkSparseImageFormatFlags aspectMask; imageGranularity; flags; } VkSparseImageFormatProperties;
typedef enum VkSparseImageFormatFlagBits { VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, } VkSparseImageFormatFlagBits;
void vkGetPhysicalDeviceSparseImageFormatProperties( VkPhysicalDevice VkFormat VkImageType VkSampleCountFlagBits VkImageUsageFlags VkImageTiling uint32_t* VkSparseImageFormatProperties* physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties); void vkGetPhysicalDeviceSparseImageFormatProperties2( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);Sparse Resource Creation
void vkGetImageSparseMemoryRequirements( VkDevice VkImage uint32_t* VkSparseImageMemoryRequirements* device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements); void vkGetImageSparseMemoryRequirements2( VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); void vkGetDeviceImageSparseMemoryRequirements( VkDevice const VkDeviceImageMemoryRequirements* uint32_t* VkSparseImageMemoryRequirements2* device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);Binding Resource Memory
本节教程就到此结束,希望大家继续阅读我之后的教程。
谢谢大家,再见!
原创技术文章,撰写不易,转载请注明出处:电子设备中的画家|王烁 于 2021 年 5 月 10 日发表,原文链接(http://geekfaner.com/shineengine/blog20_Vulkanv1.2_6.html)