Add a DescriptorType to GetDescriptors query

* This will be optional in many cases but for some situations might be required
  when type information is not implicitly available in the descriptor store.
  Generally it should always be available unless the descriptor store is being
  viewed 'blank' purely from its contents with no other context.
This commit is contained in:
baldurk
2025-07-30 22:10:23 +01:00
parent f896f8a2e2
commit ceb062b658
16 changed files with 156 additions and 71 deletions
+2 -1
View File
@@ -1059,8 +1059,9 @@ void DoSerialise(SerialiserType &ser, DescriptorRange &el)
SERIALISE_MEMBER(offset);
SERIALISE_MEMBER(descriptorSize);
SERIALISE_MEMBER(count);
SERIALISE_MEMBER(type);
SIZE_CHECK(12);
SIZE_CHECK(16);
}
template <typename SerialiserType>
+3 -4
View File
@@ -2327,15 +2327,14 @@ void ReplayController::FetchPipelineState(uint32_t eventId)
// if the last range is contiguous with this access, append this access as a new range to query
if(!ranges.empty() && ranges.back().descriptorSize == acc.byteSize &&
ranges.back().offset + ranges.back().descriptorSize == acc.byteOffset)
ranges.back().offset + ranges.back().descriptorSize == acc.byteOffset &&
ranges.back().type == acc.type)
{
ranges.back().count++;
continue;
}
DescriptorRange range;
range.offset = acc.byteOffset;
range.descriptorSize = acc.byteSize;
DescriptorRange range = acc;
ranges.push_back(range);
}