mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-29 13:20:54 +00:00
When only returning used entries, skip entirely unused descriptor arrays
This commit is contained in:
@@ -1338,6 +1338,8 @@ rdcarray<BoundResourceArray> PipeState::GetReadOnlyResources(ShaderStage stage,
|
||||
firstIdx = (uint32_t)element.firstUsedIndex;
|
||||
count = std::min(count - firstIdx,
|
||||
size_t(element.lastUsedIndex - element.firstUsedIndex + 1));
|
||||
if(element.dynamicallyUsedCount == 0)
|
||||
count = 0;
|
||||
|
||||
ret.back().firstIndex = (int32_t)firstIdx;
|
||||
}
|
||||
@@ -1418,6 +1420,8 @@ rdcarray<BoundResourceArray> PipeState::GetReadOnlyResources(ShaderStage stage,
|
||||
firstIdx = (uint32_t)bind.firstUsedIndex;
|
||||
count =
|
||||
std::min(count - firstIdx, uint32_t(bind.lastUsedIndex - bind.firstUsedIndex + 1));
|
||||
if(bind.dynamicallyUsedCount == 0)
|
||||
count = 0;
|
||||
}
|
||||
|
||||
rdcarray<BoundResource> &val = ret.back().resources;
|
||||
@@ -1548,6 +1552,8 @@ rdcarray<BoundResourceArray> PipeState::GetReadWriteResources(ShaderStage stage,
|
||||
firstIdx = (uint32_t)element.firstUsedIndex;
|
||||
count = std::min(count - firstIdx,
|
||||
size_t(element.lastUsedIndex - element.firstUsedIndex + 1));
|
||||
if(element.dynamicallyUsedCount == 0)
|
||||
count = 0;
|
||||
|
||||
ret.back().firstIndex = (int32_t)firstIdx;
|
||||
}
|
||||
@@ -1645,6 +1651,8 @@ rdcarray<BoundResourceArray> PipeState::GetReadWriteResources(ShaderStage stage,
|
||||
firstIdx = (uint32_t)bind.firstUsedIndex;
|
||||
count =
|
||||
std::min(count - firstIdx, uint32_t(bind.lastUsedIndex - bind.firstUsedIndex + 1));
|
||||
if(bind.dynamicallyUsedCount == 0)
|
||||
count = 0;
|
||||
}
|
||||
|
||||
rdcarray<BoundResource> &val = ret.back().resources;
|
||||
|
||||
Reference in New Issue
Block a user