summaryrefslogtreecommitdiff
path: root/libs/input/KeyCharacterMap.cpp
diff options
context:
space:
mode:
author Mathias Agopian <mathias@google.com> 2024-09-17 11:45:38 -0700
committer Mathias Agopian <mathias@google.com> 2024-09-17 21:15:58 +0000
commitb96661ff006d9b0635de11f8be510e19f68d532f (patch)
tree0e457551c41d4e7aa808c7b428ff8876c720dcaa /libs/input/KeyCharacterMap.cpp
parentdec962bc0aeb487e19dddcd6d769a65248bd9a2e (diff)
BufferQueueProducer: queueBuffer() CPU throttling only in async mode
BufferQueueProducer throttles an EGL client in queueBuffer() until the GPU has finished the previous frame. This behavior was intended to solve some issues with "swap interval 0" (aka async mode) but was performed all the time. In turn, is prevented a "well behaved" applications from throttling itself, because it would be throttled by BufferQueueProduced before it could get a chance to do so. From the app perspective, eglSwapBuffers() would block. Here we perform the throttling only in async mode, as was the original intention. Applications that don't pace themselves, will still be blocked in dequeueBuffer() eventually, albeit, not necessarily in eglSwapBuffers(). Fix: 359252619 Test: manually tested on pixel8 using AGI and filament sample app Flag: com.android.graphics.libgui.flags.bq_producer_throttles_only_async_mode Change-Id: Ie73848fbf609061bb6feceba5b5c5ad86ec8e07c
Diffstat (limited to 'libs/input/KeyCharacterMap.cpp')
0 files changed, 0 insertions, 0 deletions