d1b330de41
This change fixes an issue causing the mEglContext member of a SurfaceTexture to get incorrectly zeroed out. This would happen when a call to ConsumerBase::releaseBufferLocked resulted in the current buffer being freed. Freeing the current buffer would set SurfaceTexture::mCurrentTexture to -1, which would then be used by SurfaceTexture::releaseBufferLocked to reset the current slot's EGLSyncKHR to EGL_NO_SYNC_KHR (= 0). This would overwrite the mEglContext field, resulting in context mismatch errors in SurfaceTexture::doGLFenceWaitLocked. The fix is to simply use the buffer slot that's passed in to SurfaceTexture::releaseBufferLocked rather than mCurrentTexture. Change-Id: I0e5e2bd88fcbb354c35a3744f317716fff3e0e41 |
||
---|---|---|
.. | ||
tests | ||
Android.mk | ||
BitTube.cpp | ||
BufferItemConsumer.cpp | ||
BufferQueue.cpp | ||
CleanSpec.mk | ||
ConsumerBase.cpp | ||
CpuConsumer.cpp | ||
DisplayEventReceiver.cpp | ||
DummyConsumer.cpp | ||
IDisplayEventConnection.cpp | ||
IGraphicBufferAlloc.cpp | ||
ISensorEventConnection.cpp | ||
ISensorServer.cpp | ||
ISurface.cpp | ||
ISurfaceComposer.cpp | ||
ISurfaceComposerClient.cpp | ||
ISurfaceTexture.cpp | ||
LayerState.cpp | ||
Sensor.cpp | ||
SensorEventQueue.cpp | ||
SensorManager.cpp | ||
Surface.cpp | ||
SurfaceComposerClient.cpp | ||
SurfaceTexture.cpp | ||
SurfaceTextureClient.cpp |