mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-06 01:50:38 +00:00
Fix a crash for buffer views in descriptors
This commit is contained in:
@@ -1163,7 +1163,7 @@ void DescriptorSetSlot::AccumulateBindRefs(DescriptorBindRefs &refs, VulkanResou
|
||||
AddBindFrameRef(refs, bufView->baseResource, eFrameRef_Read);
|
||||
if(bufView->baseResourceMem != ResourceId())
|
||||
AddMemFrameRef(refs, bufView->baseResourceMem, bufView->memOffset, bufView->memSize, ref);
|
||||
if(bufView->resInfo->storable)
|
||||
if(bufView->storable)
|
||||
refs.storableRefs.insert(rm->GetResourceRecord(bufView->baseResource));
|
||||
}
|
||||
if(imgView)
|
||||
|
||||
@@ -978,7 +978,6 @@ struct ResourceInfo
|
||||
Sparse::PageTable sparseTable;
|
||||
rdcarray<AspectSparseTable> altSparseAspects;
|
||||
VkImageAspectFlags sparseAspect;
|
||||
bool storable;
|
||||
|
||||
Sparse::PageTable &getSparseTableForAspect(VkImageAspectFlags aspects)
|
||||
{
|
||||
|
||||
@@ -1729,8 +1729,6 @@ VkResult WrappedVulkan::vkCreateBuffer(VkDevice device, const VkBufferCreateInfo
|
||||
{
|
||||
record->resInfo = new ResourceInfo();
|
||||
|
||||
record->resInfo->storable = record->storable;
|
||||
|
||||
// pre-populate memory requirements
|
||||
ObjDisp(device)->GetBufferMemoryRequirements(Unwrap(device), Unwrap(*pBuffer),
|
||||
&record->resInfo->memreqs);
|
||||
@@ -1904,6 +1902,7 @@ VkResult WrappedVulkan::vkCreateBufferView(VkDevice device, const VkBufferViewCr
|
||||
record->baseResourceMem = bufferRecord->baseResource;
|
||||
record->dedicated = bufferRecord->dedicated;
|
||||
record->resInfo = bufferRecord->resInfo;
|
||||
record->storable = bufferRecord->storable;
|
||||
record->memOffset = bufferRecord->memOffset + pCreateInfo->offset;
|
||||
record->memSize = pCreateInfo->range;
|
||||
if(record->memSize == VK_WHOLE_SIZE)
|
||||
@@ -2289,8 +2288,7 @@ VkResult WrappedVulkan::vkCreateImage(VkDevice device, const VkImageCreateInfo *
|
||||
ResourceInfo &resInfo = *record->resInfo;
|
||||
resInfo.imageInfo = ImageInfo(*pCreateInfo);
|
||||
|
||||
record->resInfo->storable = record->storable =
|
||||
(pCreateInfo->usage & VK_IMAGE_USAGE_STORAGE_BIT) != 0;
|
||||
record->storable = (pCreateInfo->usage & VK_IMAGE_USAGE_STORAGE_BIT) != 0;
|
||||
|
||||
// pre-populate memory requirements
|
||||
ObjDisp(device)->GetImageMemoryRequirements(Unwrap(device), Unwrap(*pImage), &resInfo.memreqs);
|
||||
|
||||
Reference in New Issue
Block a user