SF
2017-10-30 09:49:28 0 举报
SF
作者其他创作
大纲/内容
LogicalDisplay
Handler::MessageQueue
+ dispatchInvalidate+ handleMessage
DisplayEventReceiver
+ onVsync+ onHotplug
Sensor
Vsync
registerCallback
BufferQueueConsumer
+ mCore:BufferQueueCore+ mSlots:SlotsType
+ acquireBuffer()+ releaseHelper()
IComposerClient
IComposerCallback
+ onVsync
GraphicBufferAllocator
+ mAllocator:Gralloc2::Allocator+ mMapper:GraphicBufferMapper
+ allocate()+ free()
MessageQueue
+ cb_eventReceiver
NightDisplayService
SurfaceFlingerConsumer
+ acquireBufferLocked()+ updateTexImage()
BpSurfaceComposer
BufferQueueCore
+ mQueue:Vector+ mFreeSlots:set+ mFreeBuffers:list+ mUnusedSlots:list+ mActiveBuffers:set
AutomaticBrightnessController
IMapper
- importBuffer()- freeBuffer()
IDisplayService
- getEventReceiver()
NativeDisplayEventReceiver
+ mReceiverWeakGlobal:jobject
+ dispatchVsync()
EglSlot
+ mEglImage:EglImage+ mEglFence:EGLSyncKHR
DispSyncThread
+ updateModel--------------------------------+ threadLoop+ fireCallbackInvocations
HysteresisLevels
Connection::EventThread
+ postEvent
+ mEventConnection:mEventConnection
+ requestNextVsync()
BpSurfaceComposerClient
HIDL
SurfaceComposerClient
+ mClient:ISurfaceComposerClient+ mComposer:Composer
+ createSurface()+ createDisplay()+ destroyDisplay()
IGraphicBufferProducer
+ requestBuffer()+ dequeueBuffer()+ queueBuffer()
QueueBufferInput
EventHandler::SurfaceFlinger
+ onVSyncReceived
Layer
+ mProducer:IGraphicBufferProducer+ mSurfaceFlingerConsumer:SurfaceFlingerConsumer
IComposer
- getCapabilities()- createClient()
vsync_hook
PersistentDataStore
TP
故障收集
GraphicBuffer
+ mBufferMapper:GraphicBufferMapper
+ reallocate()- initWithSize()- initWithHandle()
HWC2::Device
+ registerCallbacks()+ loadCapabilities()
WifiDisplayController
VirtualDisplayAdapter
SF
n:1
Callbacks:AutomaticBrightnessController
+ updateBrightness
HWComposer
+ mHwcDevice::HWC2::Device
+ getComposer()+ prepare()+ createLayer()
android.hardware.graphics.allocator@2.0-impl.so
USB
SurfaceFlinger
+ onMessageReceived
registerCallbacks
DisplayAdapter
android.hardware.graphics.composer@2.1-impl.so
打印机
BufferSlot
+ mGraphicBuffer:GraphicBuffer+ mBufferState:BufferState
LocalDisplayDevice:LocalDisplayAdapter
+ mReceiverPtr:long
+ scheduleVsync()+ nativeInit()----------------------------------+ dispatchVsync()+ onVsync()
BnGraphicBufferConsumer
IGraphicBufferConsumer
android.hardware.graphics.mapper@2.0-impl.so
- onHotplug()- onRefresh()- onVsync()
SurfaceControl
+ mClient:SurfaceComposerClient+ mGraphicBufferProducer:IGraphicBufferProducer+ mSurfaceData:Surface
+ createSurface()
DisplayBlanker
+ requestDisplayState
QueueBufferOutput
OverlayDisplayDevice:OverlayDisplayAdapter
上报模块
转发模块
Hardware[composer]
+ vsync
Hwc2::CommandWriter
+ selectDisplay()+ validateDisplay()
+ mHwc::HWComposer
+ createLayer()+ createNormalLayer()+ createDimLayer()
Client
+ createSurface()+ destroySurface()+ attachLayer()+ detachLayer()+ setParentLayer()
BnSurfaceComposer
OverlayDisplayWindow
ConsumerBase
+ mConsumer:IGraphicBufferConsumer
+ acquireBufferLocked()+ releaseBufferLocked()
DisplayPowerState
ScreenshotClient
+ capture()
GLConsumer
+ mEglSlots:EglSlot+ mEglDisplay:EGLDisplay+ mEglContext:EGLContext
云
Device
+ callVsync
HWC2::Display
+ validate()+ presentOrValidate()+ createLayer()+ destroyLayer()
Gralloc2::Allocator
+ mAllocator:IAllocator+ mMapper:Mapper
+ allocate()
Other ...
- setPowerMode()- setVsyncEnabled()- setInputCommandQueue()- getOutputCommandQueue()- executeCommands()
MonitoredProducer
+ mFlinger:SurfaceFlinger
Hwc2::Composer
+ mComposer:IComposer+ mMapper:Mapper+ mWriter::CommandWriter+ mReader::CommandReader
+ createLayer()+ destroyLayer()+ setVsyncEnabled()+ registerCallback(IComposerCallback)+ validateDisplay()+ presentOrValidateDisplay()
1:N
ANativeWindowBuffer
+ width::int+ height::int+ int stride::int+ int format::int+ usage::int+ handle::native_handle_t
DisplayEventDispatcher
+ mReceiver:DisplayEventReceiver
+ handleEvent()
WifiDisplayDevice:WifiDisplayAdapter
DisplayDeviceInfo
Composer
WifiDisplayAdapter
Vendor.img
GraphicBufferMapper
+ mMapper:Gralloc2::Mapper
+ importBuffer()+ freeBuffer()
DisplayDevice
BufferItem
+ mGraphicBuffer:GraphicBuffer
Gralloc2::Mapper
+ mMapper:IMapper
Hwc2::CommandReader
+ hasChanges()+ takePresentOrValidateStage()+ takePresentFence()
ISurfaceComposer
+ createDisplayEventConnection()+ createDisplay()
BnGraphicBufferProducer
BufferState
+ mShared:bool+ mDequeueCount:uint32_t+ mQueueCount:uint32_t+ mAcquireCount:uint32_t
应用层模块
BitTube
IEventCallback
- onVsync()- onHotplug()
NFC
OverlayDisplayAdapter
LocalDisplayAdapter
EventThread
+ onVSyncEvent---------------------------+ postEvent
ColorFade
VirtualDisplayDevice:VirtualDisplayAdapter
binder
DisplayPowerController
BnSurfaceComposerClient
FrameDisplayEventReceiver
+ onVsync()+ run()
ISurfaceComposerClient
+ createSurface()+ destroySurface()
DisplayTransformManager
BufferQueueProducer
DisplayManagerService
HWC2::Layer
+ mDisplay::Display+ mDevice::Device
+ setBuffer()+ setZOrder()
IAllocator
- allocate()
RampAnimator
BufferQueue
+ createBufferQueue()
IDisplayEventReceiver
- setVsyncRate()- requestNextVsync()
DispSync
+ addResyncSample
DispSyncSource
+ onDispSyncEvent
App
0 条评论
下一页