summaryrefslogtreecommitdiff
path: root/vulkan/libvulkan/api.cpp
diff options
context:
space:
mode:
author arthurhung <arthurhung@google.com> 2020-08-20 22:48:42 +0800
committer arthurhung <arthurhung@google.com> 2021-01-11 13:38:57 +0800
commitdca14285b538820ab5164014c2913b118ed0a8ff (patch)
tree7dc420c8f6accdcb15dcca05783dc5ad99b60803 /vulkan/libvulkan/api.cpp
parent40c6182277b34b57bf15fb6c0e296c31b1be9fc4 (diff)
Introduce SurfaceFlinger Queued Transaction
Implements the transaction queue to store the transaction updated from 'setTransactionState', and apply these queued transactions in main thread. That would prevent holding the state lock between binder thread and main thread. - The setTransactionState won't call 'applyTransactionState' directly. - The queue is protected by queue lock, apply/get states will still be protected by state lock. - drain and apply transaction queue should be triggered in main thread. - Sync transaction will wait after the condition broadcast, protected by stack lock. Test: atest libsurfaceflinger_unittest SurfaceFlinger_test libgui_test Test: atest UiAutomationTest Test: manual, rotate behavior, seamless rotation, wm-smoke Bug: 166236811 Change-Id: I9d504379d4aa941b68329f36f2e79ee1ed2f50bb
Diffstat (limited to 'vulkan/libvulkan/api.cpp')
0 files changed, 0 insertions, 0 deletions