Go to the documentation of this file.
61 VkImage VkImageHandle);
74 return reinterpret_cast<void*
>(vkImage);
93 return StagingDataCPUAddress;
VulkanUtilities::ImageViewWrapper CreateImageView(TextureViewDesc &ViewDesc)
Definition: TextureVkImpl.cpp:609
Base interface for a reference counter object that stores the number of strong and weak references an...
Definition: ReferenceCounters.h:44
void InvalidateStagingRange(VkDeviceSize Offset, VkDeviceSize Size)
Definition: TextureVkImpl.cpp:789
Render device implementation in Vulkan backend.
Definition: RenderDeviceVkImpl.hpp:58
DEFINE_VULKAN_OBJECT_WRAPPER(ImageView) ImageViewWrapper
Definition: VulkanLogicalDevice.hpp:72
DEFINE_VULKAN_OBJECT_WRAPPER(Image) ImageWrapper
Definition: VulkanLogicalDevice.hpp:71
Texture view interface.
Definition: TextureView.h:202
Texture view implementation in Vulkan backend.
Definition: TextureViewVkImpl.hpp:41
VulkanUtilities::VulkanMemoryAllocation m_MemoryAllocation
Definition: TextureVkImpl.hpp:111
virtual VkImage GetVkImage() const override final
Implementation of ITextureVk::GetVkImage().
Definition: TextureVkImpl.hpp:68
DEFINE_VULKAN_OBJECT_WRAPPER(Buffer) BufferWrapper
Definition: VulkanLogicalDevice.hpp:69
VulkanUtilities::BufferWrapper m_StagingBuffer
Definition: TextureVkImpl.hpp:110
TextureVkImpl(IReferenceCounters *pRefCounters, FixedBlockMemoryAllocator &TexViewObjAllocator, RenderDeviceVkImpl *pDeviceVk, const TextureDesc &TexDesc, const TextureData *pInitData=nullptr)
Definition: TextureVkImpl.cpp:41
Texture description.
Definition: Texture.h:47
uint8_t * GetStagingDataCPUAddress() const
Definition: TextureVkImpl.hpp:88
virtual VkImageLayout GetLayout() const override final
Implementation of ITextureVk::GetLayout().
Definition: TextureVkImpl.cpp:784
#define IMPLEMENT_QUERY_INTERFACE_IN_PLACE(InterfaceID, ParentClassName)
Definition: ObjectBase.hpp:59
#define DILIGENT_CALL_TYPE
Definition: CommonDefinitions.h:45
Describes the initial data to store in the texture.
Definition: Texture.h:221
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
Base implementation of the ITexture interface.
Definition: TextureBase.hpp:71
VkBuffer GetVkStagingBuffer() const
Definition: TextureVkImpl.hpp:83
virtual void * GetNativeHandle() override final
Implementation of ITexture::GetNativeHandle() in Vulkan backend.
Definition: TextureVkImpl.hpp:71
Texture object implementation in Vulkan backend.
Definition: TextureVkImpl.hpp:42
static constexpr Uint32 StagingBufferOffsetAlignment
Definition: TextureVkImpl.hpp:99
VkDeviceSize m_StagingDataAlignedOffset
Definition: TextureVkImpl.hpp:112
#define VERIFY_EXPR(...)
Definition: DebugUtilities.hpp:79
VulkanMemoryPage * Page
Definition: VulkanMemoryManager.hpp:90
bool CheckCSBasedMipGenerationSupport(VkFormat vkFmt) const
Definition: TextureVkImpl.cpp:761
~TextureVkImpl()
Definition: TextureVkImpl.cpp:598
Memory allocator that allocates memory in a fixed-size chunks.
Definition: FixedBlockMemoryAllocator.hpp:56
RESOURCE_STATE
Resource usage state.
Definition: GraphicsTypes.h:2814
void * GetCPUMemory() const
Definition: VulkanMemoryManager.hpp:129
VulkanUtilities::ImageWrapper m_VulkanImage
Definition: TextureVkImpl.hpp:109
Texture view description.
Definition: TextureView.h:80
virtual void SetLayout(VkImageLayout Layout) override final
Implementation of ITextureVk::SetLayout().
Definition: TextureVkImpl.cpp:779
bool m_bCSBasedMipGenerationSupported
Definition: TextureVkImpl.hpp:113
Definition: VulkanMemoryManager.hpp:48
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
void CreateViewInternal(const struct TextureViewDesc &ViewDesc, ITextureView **ppView, bool bIsDefaultView) override
Definition: TextureVkImpl.cpp:520