am c1db962f: Merge "opengles emulator: inc/dec ref-count of buffer on SwapBuffers"
* commit 'c1db962fb79640ebcfb15b4ef3002a0193e634c1': opengles emulator: inc/dec ref-count of buffer on SwapBuffers
This commit is contained in:
@@ -361,9 +361,16 @@ EGLBoolean egl_window_surface_t::swapBuffers()
|
|||||||
|
|
||||||
rcEnc->rcFlushWindowColorBuffer(rcEnc, rcSurface);
|
rcEnc->rcFlushWindowColorBuffer(rcEnc, rcSurface);
|
||||||
|
|
||||||
|
android_native_buffer_t* prevBuf = buffer;
|
||||||
//post the back buffer
|
//post the back buffer
|
||||||
nativeWindow->queueBuffer(nativeWindow, buffer);
|
nativeWindow->queueBuffer(nativeWindow, buffer);
|
||||||
|
|
||||||
|
buffer->common.incRef(&buffer->common);
|
||||||
|
|
||||||
|
if (prevBuf) {
|
||||||
|
prevBuf->common.decRef(&prevBuf->common);
|
||||||
|
}
|
||||||
|
|
||||||
// dequeue a new buffer
|
// dequeue a new buffer
|
||||||
if (nativeWindow->dequeueBuffer(nativeWindow, &buffer)) {
|
if (nativeWindow->dequeueBuffer(nativeWindow, &buffer)) {
|
||||||
setErrorReturn(EGL_BAD_ALLOC, EGL_FALSE);
|
setErrorReturn(EGL_BAD_ALLOC, EGL_FALSE);
|
||||||
|
|||||||
Reference in New Issue
Block a user