From d88099e701ce54b9c21726a10bd8ae73b42f77bb Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sat, 16 May 2020 23:48:56 -0700 Subject: [PATCH] GLES: Specify buffer type just to be safe. Probably doesn't matter, but maybe some drivers take it as a hint? --- GPU/GLES/DepthBufferGLES.cpp | 3 +-- GPU/GLES/DrawEngineGLES.cpp | 2 +- ext/native/thin3d/GLQueueRunner.cpp | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/GPU/GLES/DepthBufferGLES.cpp b/GPU/GLES/DepthBufferGLES.cpp index cf399cff87..534ee73d14 100644 --- a/GPU/GLES/DepthBufferGLES.cpp +++ b/GPU/GLES/DepthBufferGLES.cpp @@ -93,8 +93,7 @@ void FramebufferManagerGLES::PackDepthbuffer(VirtualFramebuffer *vfb, int x, int DEBUG_LOG(FRAMEBUF, "Reading depthbuffer to mem at %08x for vfb=%08x", z_address, vfb->fb_address); - // TODO: On desktop, we can just directly download, but for now testing. - const bool useColorPath = true; // gl_extensions.IsGLES; + const bool useColorPath = gl_extensions.IsGLES; bool format16Bit = false; if (useColorPath) { diff --git a/GPU/GLES/DrawEngineGLES.cpp b/GPU/GLES/DrawEngineGLES.cpp index 5587c93b54..ca32d8e508 100644 --- a/GPU/GLES/DrawEngineGLES.cpp +++ b/GPU/GLES/DrawEngineGLES.cpp @@ -426,7 +426,7 @@ void DrawEngineGLES::DoFlush() { // for a very minor speed boost. if (useElements) { size_t esz = sizeof(short) * indexGen.VertexCount(); - vai->ebo = render_->CreateBuffer(GL_ARRAY_BUFFER, esz, GL_STATIC_DRAW); + vai->ebo = render_->CreateBuffer(GL_ELEMENT_ARRAY_BUFFER, esz, GL_STATIC_DRAW); render_->BufferSubdata(vai->ebo, 0, esz, (uint8_t *)decIndex, false); } else { vai->ebo = 0; diff --git a/ext/native/thin3d/GLQueueRunner.cpp b/ext/native/thin3d/GLQueueRunner.cpp index 2ea228fcd3..20c5bf7800 100644 --- a/ext/native/thin3d/GLQueueRunner.cpp +++ b/ext/native/thin3d/GLQueueRunner.cpp @@ -161,8 +161,8 @@ void GLQueueRunner::RunInitSteps(const std::vector &steps, bool ski case GLRInitStepType::BUFFER_SUBDATA: { GLRBuffer *buffer = step.buffer_subdata.buffer; - glBindBuffer(GL_ARRAY_BUFFER, buffer->buffer_); - glBufferSubData(GL_ARRAY_BUFFER, step.buffer_subdata.offset, step.buffer_subdata.size, step.buffer_subdata.data); + glBindBuffer(buffer->target_, buffer->buffer_); + glBufferSubData(buffer->target_, step.buffer_subdata.offset, step.buffer_subdata.size, step.buffer_subdata.data); if (step.buffer_subdata.deleteData) delete[] step.buffer_subdata.data; CHECK_GL_ERROR_IF_DEBUG();