From 1f1c9dfa5991c79c59612ccbd2a54835ce529757 Mon Sep 17 00:00:00 2001 From: Geoffrey McRae Date: Sun, 23 Sep 2018 16:56:09 +1000 Subject: [PATCH] [egl] don't re-create the buffer each frame --- client/renderers/egl_texture.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/client/renderers/egl_texture.c b/client/renderers/egl_texture.c index 33b2c39e..14a91d3d 100644 --- a/client/renderers/egl_texture.c +++ b/client/renderers/egl_texture.c @@ -107,13 +107,12 @@ bool egl_texture_stream_buffer(EGL_Texture * texture, const uint8_t * buffer) if (++texture->pboIndex == 2) texture->pboIndex = 0; - glBindTexture(GL_TEXTURE_2D, texture->texture); - glBindBuffer(GL_PIXEL_UNPACK_BUFFER, texture->pbo[texture->pboIndex]); - glBufferData(GL_PIXEL_UNPACK_BUFFER, texture->pboBufferSize, 0, GL_DYNAMIC_DRAW); - glBufferSubData(GL_PIXEL_UNPACK_BUFFER, 0, texture->pboBufferSize, buffer); - glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, texture->width, texture->height, GL_RGBA, GL_UNSIGNED_BYTE, 0); - glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0); - glBindTexture(GL_TEXTURE_2D, 0); + glBindBuffer(GL_PIXEL_UNPACK_BUFFER, texture->pbo[texture->pboIndex]); + glBufferSubData(GL_PIXEL_UNPACK_BUFFER, 0, texture->pboBufferSize, buffer); + glBindTexture(GL_TEXTURE_2D, texture->texture); + glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, texture->width, texture->height, GL_RGBA, GL_UNSIGNED_BYTE, 0); + glBindTexture(GL_TEXTURE_2D, 0); + glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0); return true; }