跳到主要内容

vkGetImageMemoryRequirements

函数原型

void vkGetImageMemoryRequirements(
VkDevice device,
VkImage image,
VkMemoryRequirements* pMemoryRequirements);

描述

查询图像资源的内存需求。

参数

  • device : 拥有该image的逻辑设备。
  • image : 想要查询的image。
  • pMemoryRequirements : VkMemoryRequirements结构体指针,返回了图像对象的内存需求。

补充

VkMemoryRequirements 结构体定义:

typedef struct VkMemoryRequirements {
VkDeviceSize size; //资源所需的内存大小
VkDeviceSize alignment; //资源分配时的对齐大小
uint32_t memoryTypeBits; //位掩码,标记资源支持的每个内存类型位。
} VkMemoryRequirements;

返回值

代码示例

/* Create image */
VkImageCreateInfo image_info = ...
VkImage image;
vkCreateImage(device, &image_info, NULL, &image);

/* Get image memory requirement */
VkMemoryRequirements mem_reqs;
vkGetImageMemoryRequirements(device, image, &mem_reqs);