Corrected procedure to collect proper size of image from VkImageCreateInfo (#2289)

Fixes #2155 according to issue description

Additional remark: The image size was previously calculated based on the
memory size, which seems unusual. Due to Vulkan's configuration
capabilities, the size of memory allocated for a specific texture may
differ from what would be expected based on the texture dimensions.
Thus, calculating the image dimensions back from the memory size of a
Vulkan texture can be challenging.
This commit is contained in:
Marcin Hajder
2025-05-27 19:17:14 +02:00
committed by GitHub
parent 3ab4d8aab2
commit f30a191978
7 changed files with 128 additions and 84 deletions

View File

@@ -491,6 +491,8 @@ public:
VulkanSharingMode sharingMode = VULKAN_SHARING_MODE_EXCLUSIVE);
virtual ~VulkanImage();
virtual VulkanExtent3D getExtent3D(uint32_t mipLevel = 0) const;
virtual VkSubresourceLayout getSubresourceLayout() const;
VulkanFormat getFormat() const;
uint32_t getNumMipLevels() const;
uint32_t getNumLayers() const;
@@ -560,7 +562,6 @@ public:
VulkanSharingMode sharingMode = VULKAN_SHARING_MODE_EXCLUSIVE);
virtual ~VulkanImage2D();
virtual VulkanExtent3D getExtent3D(uint32_t mipLevel = 0) const;
virtual VkSubresourceLayout getSubresourceLayout() const;
VulkanImage2D(const VulkanImage2D &image2D);
};