Make sure to set correct buffer device address flag on memory for KHR

This commit is contained in:
baldurk
2020-01-24 12:15:56 +00:00
parent 2d668e13b7
commit 3523d1ef15
2 changed files with 14 additions and 5 deletions
+9
View File
@@ -217,6 +217,15 @@ void GPUBuffer::Create(WrappedVulkan *driver, VkDevice dev, VkDeviceSize size, u
else
allocInfo.memoryTypeIndex = driver->GetUploadMemoryIndex(mrq.memoryTypeBits);
bool useBufferAddressKHR = driver->GetExtensions(NULL).ext_KHR_buffer_device_address;
VkMemoryAllocateFlagsInfo memFlags = {VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO};
if(useBufferAddressKHR && (flags & eGPUBufferAddressable))
{
allocInfo.pNext = &memFlags;
memFlags.flags = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT;
}
vkr = driver->vkAllocateMemory(dev, &allocInfo, NULL, &mem);
RDCASSERTEQUAL(vkr, VK_SUCCESS);
+5 -5
View File
@@ -386,11 +386,6 @@ private:
InstanceDeviceInfo m_EnabledExtensions;
const InstanceDeviceInfo &GetExtensions(VkResourceRecord *record) const
{
return record ? *record->instDevInfo : m_EnabledExtensions;
}
// the instance corresponding to this WrappedVulkan
VkInstance m_Instance;
// the instance's dbg msg callback handle
@@ -936,6 +931,11 @@ public:
APIProperties APIProps;
const InstanceDeviceInfo &GetExtensions(VkResourceRecord *record) const
{
return record ? *record->instDevInfo : m_EnabledExtensions;
}
static rdcstr GetChunkName(uint32_t idx);
VulkanResourceManager *GetResourceManager() { return m_ResourceManager; }
VulkanDebugManager *GetDebugManager() { return m_DebugManager; }