Update zvulkan

This commit is contained in:
Magnus Norddahl 2023-09-22 11:27:20 +02:00 committed by Christoph Oelckers
parent ae4e50a2d4
commit aec3c62d6a
2 changed files with 6 additions and 4 deletions

View file

@ -144,7 +144,7 @@ public:
ImageViewBuilder();
ImageViewBuilder& Type(VkImageViewType type);
ImageViewBuilder& Image(VulkanImage *image, VkFormat format, VkImageAspectFlags aspectMask = VK_IMAGE_ASPECT_COLOR_BIT);
ImageViewBuilder& Image(VulkanImage *image, VkFormat format, VkImageAspectFlags aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, int mipLevel = 0, int arrayLayer = 0, int levelCount = 0, int layerCount = 0);
ImageViewBuilder& DebugName(const char* name) { debugName = name; return *this; }
std::unique_ptr<VulkanImageView> Create(VulkanDevice *device);

View file

@ -504,13 +504,15 @@ ImageViewBuilder& ImageViewBuilder::Type(VkImageViewType type)
return *this;
}
ImageViewBuilder& ImageViewBuilder::Image(VulkanImage* image, VkFormat format, VkImageAspectFlags aspectMask)
ImageViewBuilder& ImageViewBuilder::Image(VulkanImage* image, VkFormat format, VkImageAspectFlags aspectMask, int mipLevel, int arrayLayer, int levelCount, int layerCount)
{
viewInfo.image = image->image;
viewInfo.format = format;
viewInfo.subresourceRange.levelCount = image->mipLevels;
viewInfo.subresourceRange.levelCount = levelCount == 0 ? image->mipLevels : levelCount;
viewInfo.subresourceRange.aspectMask = aspectMask;
viewInfo.subresourceRange.layerCount = image->layerCount;
viewInfo.subresourceRange.layerCount = layerCount == 0 ? image->layerCount : layerCount;
viewInfo.subresourceRange.baseMipLevel = mipLevel;
viewInfo.subresourceRange.baseArrayLayer = arrayLayer;
return *this;
}