diff --git a/renderdoc/driver/shaders/dxbc/dxbc_spdb.cpp b/renderdoc/driver/shaders/dxbc/dxbc_spdb.cpp index efb1d488c..f27899f60 100644 --- a/renderdoc/driver/shaders/dxbc/dxbc_spdb.cpp +++ b/renderdoc/driver/shaders/dxbc/dxbc_spdb.cpp @@ -1541,7 +1541,9 @@ SPDBChunk::SPDBChunk(DXBCFile *dxbc, void *chunk) int nPatched = 0; - for(auto it = m_Lines.begin(); it != m_Lines.end(); ++it) + auto it = m_Lines.lower_bound(loc.offsetStart); + + for(; it != m_Lines.end() && it->first <= loc.offsetEnd; ++it) { if((it->first >= loc.offsetStart && it->first < loc.offsetEnd) || (it->first == loc.offsetStart && it->first == loc.offsetEnd))