summaryrefslogtreecommitdiff
path: root/libs/gui/LayerDebugInfo.cpp
diff options
context:
space:
mode:
author Tianyu <tianyuj@google.com> 2018-10-10 15:34:32 -0700
committer Tianyu Jiang <tianyuj@google.com> 2018-12-03 10:55:40 -0800
commitf669f6a2e5becd051b2829dc44bcba8043945cfe (patch)
treedbaf30368442533597bc0b2413e5fec2cc9e33b1 /libs/gui/LayerDebugInfo.cpp
parentface176394e0a28bd7b7b8bed13b4696e79668a2 (diff)
Change the definition of buffer state and client state bits.
Please refer to go/bufferhub-buffer-state-redesign for more information. In this change: 1. Every clients takes up two bits in the buffer_state. One from the higher 32 bits, one from the lower 32 bits. For details: go/bufferhub-buffer-state-redesign 2. Upon the creation of a new buffer, the buffer is in released state. Previously, only producer creates buffer, and upon creation, the buffer was in gained state. Now, producer needs to specifically gain the buffer before trying to produce and post it. 3. If there is no other clients when a client post a buffer, the buffer will actually be in released state instead of posted state. This is because the posted buffer does not have readers and can be reused immediately. 4. If a new client is added to the buffer when the buffer is in acquired or posted state, the buffer state of the new client will be set to posted state and able to acquire the same buffer content as posted. In the next change: variables of type std::atomic<uint64_t> in metadata header in shared memory will be replaced by std::atomic<uint32_t> Test: marlin-eng passing AHardwareBufferTest BufferHubBuffer_test BufferHubMetadata_test buffer_hub_binder_service-test buffer_hub_queue_producer-test dvr_api-test libgui_test libsensor_test vrflinger_test buffer_hub-test dvr_buffer_queue-test dvr_display-test buffer_hub_queue-test Test: smartphone VR works on blueline-eng Test: vega_xr passing AHardwareBufferTest BufferHubBuffer_test BufferHubMetadata_test buffer_hub_queue_producer-test buffer_hub-test buffer_hub_queue-test dvr_buffer_queue-test dvr_api-test Cherrypicking this changelist to oc-dr1-daydream-dev branch requires ag/5514563 to be merged at the same time to make Vega actually work. Bug: 112007999 Change-Id: I86393818ad922a91c709fe22f8e99b0667d2e9ef
Diffstat (limited to 'libs/gui/LayerDebugInfo.cpp')
0 files changed, 0 insertions, 0 deletions