MCPcopy Create free account
hub / github.com/DGVPSH/SlackOpen / compactRanges

Method compactRanges

src/main/java/net/optifine/render/VboRegion.java:87–153  ·  view source on GitHub ↗
(int countMax)

Source from the content-addressed store, hash-verified

85 }
86
87 private void compactRanges(int countMax)
88 {
89 if (!this.rangeList.isEmpty())
90 {
91 VboRange vborange = this.compactRangeLast;
92
93 if (vborange == null || !this.rangeList.contains(vborange.getNode()))
94 {
95 vborange = (VboRange)this.rangeList.getFirst().getItem();
96 }
97
98 int i = vborange.getPosition();
99 VboRange vborange1 = vborange.getPrev();
100
101 if (vborange1 == null)
102 {
103 i = 0;
104 }
105 else
106 {
107 i = vborange1.getPositionNext();
108 }
109
110 int j = 0;
111
112 while (vborange != null && j < countMax)
113 {
114 ++j;
115
116 if (vborange.getPosition() == i)
117 {
118 i += vborange.getSize();
119 vborange = vborange.getNext();
120 }
121 else
122 {
123 int k = vborange.getPosition() - i;
124
125 if (vborange.getSize() <= k)
126 {
127 this.copyVboData(vborange.getPosition(), i, vborange.getSize());
128 vborange.setPosition(i);
129 i += vborange.getSize();
130 vborange = vborange.getNext();
131 }
132 else
133 {
134 this.checkVboSize(this.positionTop + vborange.getSize());
135 this.copyVboData(vborange.getPosition(), this.positionTop, vborange.getSize());
136 vborange.setPosition(this.positionTop);
137 this.positionTop += vborange.getSize();
138 VboRange vborange2 = vborange.getNext();
139 this.rangeList.remove(vborange.getNode());
140 this.rangeList.addLast(vborange.getNode());
141 vborange = vborange2;
142 }
143 }
144 }

Callers 2

bufferDataMethod · 0.95
finishDrawMethod · 0.95

Calls 15

getNodeMethod · 0.95
getPositionMethod · 0.95
getPrevMethod · 0.95
getPositionNextMethod · 0.95
getSizeMethod · 0.95
getNextMethod · 0.95
copyVboDataMethod · 0.95
setPositionMethod · 0.95
checkVboSizeMethod · 0.95
addLastMethod · 0.80
isEmptyMethod · 0.45
containsMethod · 0.45

Tested by

no test coverage detected