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

Method expandVbo

src/main/java/net/optifine/render/VboRegion.java:216–243  ·  view source on GitHub ↗
(int sizeMin)

Source from the content-addressed store, hash-verified

214 }
215
216 private void expandVbo(int sizeMin)
217 {
218 int i;
219
220 for (i = this.capacity * 6 / 4; i < sizeMin; i = i * 6 / 4)
221 {
222 ;
223 }
224
225 long j = this.toBytes(this.capacity);
226 long k = this.toBytes(i);
227 int l = OpenGlHelper.glGenBuffers();
228 OpenGlHelper.glBindBuffer(OpenGlHelper.GL_ARRAY_BUFFER, l);
229 OpenGlHelper.glBufferData(OpenGlHelper.GL_ARRAY_BUFFER, k, OpenGlHelper.GL_STATIC_DRAW);
230 Config.checkGlError("Expand VBO");
231 OpenGlHelper.glBindBuffer(OpenGlHelper.GL_ARRAY_BUFFER, 0);
232 OpenGlHelper.glBindBuffer(OpenGlHelper.GL_COPY_READ_BUFFER, this.glBufferId);
233 OpenGlHelper.glBindBuffer(OpenGlHelper.GL_COPY_WRITE_BUFFER, l);
234 OpenGlHelper.glCopyBufferSubData(OpenGlHelper.GL_COPY_READ_BUFFER, OpenGlHelper.GL_COPY_WRITE_BUFFER, 0L, 0L, j);
235 Config.checkGlError("Copy VBO: " + k);
236 OpenGlHelper.glBindBuffer(OpenGlHelper.GL_COPY_READ_BUFFER, 0);
237 OpenGlHelper.glBindBuffer(OpenGlHelper.GL_COPY_WRITE_BUFFER, 0);
238 OpenGlHelper.glDeleteBuffers(this.glBufferId);
239 this.bufferIndexVertex = Config.createDirectIntBuffer(i);
240 this.bufferCountVertex = Config.createDirectIntBuffer(i);
241 this.glBufferId = l;
242 this.capacity = i;
243 }
244
245 public void bindBuffer()
246 {

Callers 1

checkVboSizeMethod · 0.95

Calls 8

toBytesMethod · 0.95
glGenBuffersMethod · 0.95
glBindBufferMethod · 0.95
glBufferDataMethod · 0.95
checkGlErrorMethod · 0.95
glCopyBufferSubDataMethod · 0.95
glDeleteBuffersMethod · 0.95
createDirectIntBufferMethod · 0.95

Tested by

no test coverage detected