summaryrefslogtreecommitdiff
path: root/vulkan/libvulkan/driver.cpp
diff options
context:
space:
mode:
author Vishnu Nair <vishnun@google.com> 2020-10-22 17:27:21 -0700
committer Vishnu Nair <vishnun@google.com> 2020-10-22 17:48:06 -0700
commit992496bd2e1af9c93bce33216034dd5419acb444 (patch)
tree862be564b4ac33217000cd7c5b1f3f8e38c83943 /vulkan/libvulkan/driver.cpp
parente0a064b66428c8da8a6fd6bd3693c3577d66772d (diff)
Allow creating child surfaces from BlastBufferQueue
App such as Chrome create child surfaces and parent them to surfaces provided by SurfaceView. When we enable the blast adapter for SurfaceView, the IGBP returned to the app is created in the client and SurfaceFlinger does not know about it. When the app creates a child surface and provides the IGBP as the parent surface identifier, SF fails to validate the IGBP and the surface is not created. This can be avoid if the client creates the child surface from the SV SurfaceControl but we still need to support existing APIs. To fix this, when we create a Surface from the adapter, pass in the handle of the Blast SurfaceControl. When calling ASurfaceControl_createFromWindow, use this handle to identify the parent. Bug: 168917217 Test: adb shell settings put global use_blast_adapter_sv 1 & launch chrome Change-Id: I404bbd29b63044260f5403aae60f039a36eeea8b
Diffstat (limited to 'vulkan/libvulkan/driver.cpp')
0 files changed, 0 insertions, 0 deletions