11/*
2- * Copyright 2019-2023 Diligent Graphics LLC
2+ * Copyright 2019-2025 Diligent Graphics LLC
33 *
44 * Licensed under the Apache License, Version 2.0 (the "License");
55 * you may not use this file except in compliance with the License.
@@ -45,8 +45,8 @@ DeviceMemoryVkImpl::DeviceMemoryVkImpl(IReferenceCounters* pRefCounter
4545#define DEVMEM_CHECK_CREATE_INFO (...) \
4646 LOG_ERROR_AND_THROW (" Device memory create info is not valid: " , __VA_ARGS__);
4747
48- const auto & PhysicalDevice = m_pDevice->GetPhysicalDevice ();
49- const auto & LogicalDevice = m_pDevice->GetLogicalDevice ();
48+ const VulkanUtilities::VulkanPhysicalDevice & PhysicalDevice = m_pDevice->GetPhysicalDevice ();
49+ const VulkanUtilities::VulkanLogicalDevice& LogicalDevice = m_pDevice->GetLogicalDevice ();
5050
5151 if (MemCI.NumResources == 0 )
5252 DEVMEM_CHECK_CREATE_INFO (" Vulkan requires at least one resource to choose memory type" );
@@ -57,19 +57,19 @@ DeviceMemoryVkImpl::DeviceMemoryVkImpl(IReferenceCounters* pRefCounter
5757 uint32_t MemoryTypeBits = ~0u ;
5858 for (Uint32 i = 0 ; i < MemCI.NumResources ; ++i)
5959 {
60- auto * pResource = MemCI.ppCompatibleResources [i];
60+ IDeviceObject * pResource = MemCI.ppCompatibleResources [i];
6161
6262 if (RefCntAutoPtr<ITextureVk> pTexture{pResource, IID_TextureVk})
6363 {
64- const auto * pTexVk = pTexture.ConstPtr <TextureVkImpl>();
64+ const TextureVkImpl * pTexVk = pTexture.ConstPtr <TextureVkImpl>();
6565 if (pTexVk->GetDesc ().Usage != USAGE_SPARSE)
6666 DEVMEM_CHECK_CREATE_INFO (" ppCompatibleResources[" , i, " ] must be created with USAGE_SPARSE" );
6767
6868 MemoryTypeBits &= LogicalDevice.GetImageMemoryRequirements (pTexVk->GetVkImage ()).memoryTypeBits ;
6969 }
7070 else if (RefCntAutoPtr<IBufferVk> pBuffer{pResource, IID_BufferVk})
7171 {
72- const auto * pBuffVk = pBuffer.ConstPtr <BufferVkImpl>();
72+ const BufferVkImpl * pBuffVk = pBuffer.ConstPtr <BufferVkImpl>();
7373 if (pBuffVk->GetDesc ().Usage != USAGE_SPARSE)
7474 DEVMEM_CHECK_CREATE_INFO (" ppCompatibleResources[" , i, " ] must be created with USAGE_SPARSE" );
7575
@@ -84,7 +84,7 @@ DeviceMemoryVkImpl::DeviceMemoryVkImpl(IReferenceCounters* pRefCounter
8484 if (MemoryTypeBits == 0 )
8585 DEVMEM_CHECK_CREATE_INFO (" ppCompatibleResources contains incompatible resources" );
8686
87- static constexpr auto InvalidMemoryTypeIndex = VulkanUtilities::VulkanPhysicalDevice::InvalidMemoryTypeIndex;
87+ static constexpr uint32_t InvalidMemoryTypeIndex = VulkanUtilities::VulkanPhysicalDevice::InvalidMemoryTypeIndex;
8888
8989 uint32_t MemoryTypeIndex = PhysicalDevice.GetMemoryTypeIndex (MemoryTypeBits, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
9090
@@ -99,7 +99,7 @@ DeviceMemoryVkImpl::DeviceMemoryVkImpl(IReferenceCounters* pRefCounter
9999 MemAlloc.allocationSize = m_Desc.PageSize ;
100100 MemAlloc.memoryTypeIndex = m_MemoryTypeIndex;
101101
102- const auto PageCount = StaticCast<size_t >(MemCI.InitialSize / m_Desc.PageSize );
102+ const size_t PageCount = StaticCast<size_t >(MemCI.InitialSize / m_Desc.PageSize );
103103 m_Pages.reserve (PageCount);
104104
105105 for (size_t i = 0 ; i < PageCount; ++i)
@@ -117,8 +117,8 @@ Bool DeviceMemoryVkImpl::Resize(Uint64 NewSize)
117117{
118118 DvpVerifyResize (NewSize);
119119
120- const auto & LogicalDevice = m_pDevice->GetLogicalDevice ();
121- const auto NewPageCount = StaticCast<size_t >(NewSize / m_Desc.PageSize );
120+ const VulkanUtilities::VulkanLogicalDevice & LogicalDevice = m_pDevice->GetLogicalDevice ();
121+ const size_t NewPageCount = StaticCast<size_t >(NewSize / m_Desc.PageSize );
122122
123123 VkMemoryAllocateInfo MemAlloc{};
124124 MemAlloc.pNext = nullptr ;
@@ -156,18 +156,18 @@ Uint64 DeviceMemoryVkImpl::GetCapacity() const
156156
157157Bool DeviceMemoryVkImpl::IsCompatible (IDeviceObject* pResource) const
158158{
159- const auto & LogicalDevice = m_pDevice->GetLogicalDevice ();
159+ const VulkanUtilities::VulkanLogicalDevice & LogicalDevice = m_pDevice->GetLogicalDevice ();
160160
161161 uint32_t memoryTypeBits = 0 ;
162162 if (RefCntAutoPtr<ITextureVk> pTexture{pResource, IID_TextureVk})
163163 {
164- const auto * pTexVk = pTexture.ConstPtr <TextureVkImpl>();
165- memoryTypeBits = LogicalDevice.GetImageMemoryRequirements (pTexVk->GetVkImage ()).memoryTypeBits ;
164+ const TextureVkImpl * pTexVk = pTexture.ConstPtr <TextureVkImpl>();
165+ memoryTypeBits = LogicalDevice.GetImageMemoryRequirements (pTexVk->GetVkImage ()).memoryTypeBits ;
166166 }
167167 else if (RefCntAutoPtr<IBufferVk> pBuffer{pResource, IID_BufferVk})
168168 {
169- const auto * pBuffVk = pBuffer.ConstPtr <BufferVkImpl>();
170- memoryTypeBits = LogicalDevice.GetBufferMemoryRequirements (pBuffVk->GetVkBuffer ()).memoryTypeBits ;
169+ const BufferVkImpl * pBuffVk = pBuffer.ConstPtr <BufferVkImpl>();
170+ memoryTypeBits = LogicalDevice.GetBufferMemoryRequirements (pBuffVk->GetVkBuffer ()).memoryTypeBits ;
171171 }
172172 else
173173 {
@@ -178,7 +178,7 @@ Bool DeviceMemoryVkImpl::IsCompatible(IDeviceObject* pResource) const
178178
179179DeviceMemoryRangeVk DeviceMemoryVkImpl::GetRange (Uint64 Offset, Uint64 Size) const
180180{
181- const auto PageIdx = static_cast <size_t >(Offset / m_Desc.PageSize );
181+ const size_t PageIdx = static_cast <size_t >(Offset / m_Desc.PageSize );
182182
183183 DeviceMemoryRangeVk Range{};
184184 if (PageIdx >= m_Pages.size ())
@@ -187,7 +187,7 @@ DeviceMemoryRangeVk DeviceMemoryVkImpl::GetRange(Uint64 Offset, Uint64 Size) con
187187 return Range;
188188 }
189189
190- const auto OffsetInPage = Offset % m_Desc.PageSize ;
190+ const Uint64 OffsetInPage = Offset % m_Desc.PageSize ;
191191 if (OffsetInPage + Size > m_Desc.PageSize )
192192 {
193193 DEV_ERROR (" DeviceMemoryVkImpl::GetRange(): Offset and Size must be inside a single page" );
0 commit comments