VulkanRenderer: Fix views and arrays support
This commit is contained in:
committed by
Jérôme Leclercq
parent
56acbb2694
commit
4ae3f51174
@@ -34,6 +34,7 @@ namespace Nz
|
||||
UInt8 GetLevelCount() const override;
|
||||
VulkanTexture* GetParentTexture() const override;
|
||||
Vector3ui GetSize(UInt8 level = 0) const override;
|
||||
inline const VkImageSubresourceRange& GetSubresourceRange() const;
|
||||
ImageType GetType() const override;
|
||||
|
||||
using Texture::Update;
|
||||
|
||||
@@ -16,6 +16,11 @@ namespace Nz
|
||||
{
|
||||
return m_imageView;
|
||||
}
|
||||
|
||||
inline const VkImageSubresourceRange& VulkanTexture::GetSubresourceRange() const
|
||||
{
|
||||
return m_imageRange;
|
||||
}
|
||||
}
|
||||
|
||||
#include <Nazara/VulkanRenderer/DebugOff.hpp>
|
||||
|
||||
@@ -80,7 +80,7 @@ namespace Nz
|
||||
inline VkResult GetLastErrorCode() const;
|
||||
inline CommandPool& GetPool();
|
||||
|
||||
inline void ImageBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, VkAccessFlags srcAccessMask, VkAccessFlags dstAccessMask, VkImageLayout oldLayout, VkImageLayout newLayout, VkImage image, VkImageAspectFlags aspectFlags);
|
||||
inline void ImageBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, VkAccessFlags srcAccessMask, VkAccessFlags dstAccessMask, VkImageLayout oldLayout, VkImageLayout newLayout, VkImage image, const VkImageSubresourceRange& subresourceRange);
|
||||
|
||||
inline void InsertDebugLabel(const char* label);
|
||||
inline void InsertDebugLabel(const char* label, Color color);
|
||||
|
||||
@@ -355,7 +355,7 @@ namespace Nz
|
||||
return *m_pool;
|
||||
}
|
||||
|
||||
inline void CommandBuffer::ImageBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, VkAccessFlags srcAccessMask, VkAccessFlags dstAccessMask, VkImageLayout oldLayout, VkImageLayout newLayout, VkImage image, VkImageAspectFlags aspectFlags)
|
||||
inline void CommandBuffer::ImageBarrier(VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, VkAccessFlags srcAccessMask, VkAccessFlags dstAccessMask, VkImageLayout oldLayout, VkImageLayout newLayout, VkImage image, const VkImageSubresourceRange& subresourceRange)
|
||||
{
|
||||
VkImageMemoryBarrier imageBarrier = {
|
||||
VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
|
||||
@@ -367,11 +367,7 @@ namespace Nz
|
||||
VK_QUEUE_FAMILY_IGNORED,
|
||||
VK_QUEUE_FAMILY_IGNORED,
|
||||
image,
|
||||
{
|
||||
aspectFlags,
|
||||
0, 1,
|
||||
0, 1
|
||||
}
|
||||
subresourceRange
|
||||
};
|
||||
|
||||
return PipelineBarrier(srcStageMask, dstStageMask, dependencyFlags, imageBarrier);
|
||||
|
||||
Reference in New Issue
Block a user