MCPcopy Create free account
hub / github.com/baldurk/renderdoc / CalcIndex

Function CalcIndex

qrenderdoc/Windows/BufferViewer.cpp:777–805  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

775};
776
777uint32_t CalcIndex(BufferData *data, uint32_t vertID, int32_t baseVertex, uint32_t primRestart)
778{
779 const byte *idxData = data->data() + vertID * sizeof(uint32_t);
780 if(idxData + sizeof(uint32_t) > data->end())
781 return ~0U;
782
783 uint32_t idx = *(const uint32_t *)idxData;
784
785 // check for primitive restart *before* adding base vertex
786 if(primRestart && idx == primRestart)
787 return idx;
788
789 // apply base vertex but clamp to 0 if subtracting
790 if(baseVertex < 0)
791 {
792 uint32_t subtract = (uint32_t)(-baseVertex);
793
794 if(idx < subtract)
795 idx = 0;
796 else
797 idx -= subtract;
798 }
799 else if(baseVertex > 0)
800 {
801 idx += (uint32_t)baseVertex;
802 }
803
804 return idx;
805}
806
807static int columnGroupRole = Qt::UserRole + 10000;
808

Callers 3

dataMethod · 0.85
calcBoundingDataMethod · 0.85
exportDataMethod · 0.85

Calls 2

dataMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected