diff --git a/GPU/GLES/DrawEngineGLES.cpp b/GPU/GLES/DrawEngineGLES.cpp index b0dc1e946f..e1883d9fb6 100644 --- a/GPU/GLES/DrawEngineGLES.cpp +++ b/GPU/GLES/DrawEngineGLES.cpp @@ -157,14 +157,14 @@ void DrawEngineGLES::ClearInputLayoutMap() { void DrawEngineGLES::BeginFrame() { FrameData &frameData = frameData_[render_->GetCurFrame()]; - frameData.pushIndex->Begin(); - frameData.pushVertex->Begin(); + render_->BeginPushBuffer(frameData.pushIndex); + render_->BeginPushBuffer(frameData.pushVertex); } void DrawEngineGLES::EndFrame() { FrameData &frameData = frameData_[render_->GetCurFrame()]; - frameData.pushIndex->End(); - frameData.pushVertex->End(); + render_->EndPushBuffer(frameData.pushIndex); + render_->EndPushBuffer(frameData.pushVertex); tessDataTransfer->EndFrame(); } diff --git a/ext/native/thin3d/GLRenderManager.h b/ext/native/thin3d/GLRenderManager.h index 953af0bfbf..7bfd0fab4a 100644 --- a/ext/native/thin3d/GLRenderManager.h +++ b/ext/native/thin3d/GLRenderManager.h @@ -472,6 +472,14 @@ public: delete pushbuffer; } + void BeginPushBuffer(GLPushBuffer *pushbuffer) { + pushbuffer->Begin(); + } + + void EndPushBuffer(GLPushBuffer *pushbuffer) { + pushbuffer->End(); + } + void BindFramebufferAsRenderTarget(GLRFramebuffer *fb, GLRRenderPassAction color, GLRRenderPassAction depth, GLRRenderPassAction stencil, uint32_t clearColor, float clearDepth, uint8_t clearStencil); void BindFramebufferAsTexture(GLRFramebuffer *fb, int binding, int aspectBit, int attachment); bool CopyFramebufferToMemorySync(GLRFramebuffer *src, int aspectBits, int x, int y, int w, int h, Draw::DataFormat destFormat, uint8_t *pixels, int pixelStride); diff --git a/ext/native/thin3d/thin3d_gl.cpp b/ext/native/thin3d/thin3d_gl.cpp index 70e3472af4..13a2585c0e 100644 --- a/ext/native/thin3d/thin3d_gl.cpp +++ b/ext/native/thin3d/thin3d_gl.cpp @@ -540,12 +540,12 @@ OpenGLContext::~OpenGLContext() { void OpenGLContext::BeginFrame() { renderManager_.BeginFrame(); FrameData &frameData = frameData_[renderManager_.GetCurFrame()]; - frameData.push->Begin(); + renderManager_.BeginPushBuffer(frameData.push); } void OpenGLContext::EndFrame() { FrameData &frameData = frameData_[renderManager_.GetCurFrame()]; - frameData.push->End(); // upload the data! + renderManager_.EndPushBuffer(frameData.push); // upload the data! renderManager_.Finish(); }