Platform/GFX/Gralloc: Difference between revisions

Line 118: Line 118:
It is worth noting that there are two levels of locking involved here.
It is worth noting that there are two levels of locking involved here.


As GrallocTextureHostOGL::Lock is called, it calls fEGLImageTargetTexture2D (as explained above) which immediately result in placing a read lock on the gralloc buffer. When a subsequent GL drawing operation occurs, sampling from that texture, it will then also place a read lock on the gralloc buffer, this time from the GL kernel driver.
As GrallocTextureHostOGL::Lock is called, it calls fEGLImageTargetTexture2D (as explained above) which immediately results in placing a read lock on the gralloc buffer. When a subsequent GL drawing operation occurs, sampling from that texture, that will then also place a read lock on the gralloc buffer, this time from the GL kernel driver.


It is vital that these two read locks get released as soon as possible, as we won't be able to draw again into the gralloc buffer (which requires a write lock) until then.
It is vital that these two read locks get released as soon as possible, as we won't be able to draw again into the gralloc buffer (which requires a write lock) until then.
Confirmed users
753

edits