diff options
| author | 2013-12-23 21:02:15 -0800 | |
|---|---|---|
| committer | 2013-12-23 21:53:39 -0800 | |
| commit | 19e872912af66c53a4350afcc333bbafaf6a2294 (patch) | |
| tree | b4c66aba064869becf7d16d10e75aca4023d0470 /services/surfaceflinger/SurfaceFlinger.cpp | |
| parent | 05f8c703d4a050669ff8f406be3a9dc2357935f7 (diff) | |
Implement per-display EGLConfig and configless EGLContext
Bug: 12230666
Change-Id: Icca608b108cbdcab9cf01a9236d8cdbda000a836
Signed-off-by: Jesse Hall <jessehall@google.com>
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index ec643906bf..c00b034f7e 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -420,8 +420,9 @@ void SurfaceFlinger::init() { sp<BufferQueue> bq = new BufferQueue(new GraphicBufferAlloc()); sp<FramebufferSurface> fbs = new FramebufferSurface(*mHwc, i, bq); + int32_t hwcId = allocateHwcDisplayId(type); sp<DisplayDevice> hw = new DisplayDevice(this, - type, allocateHwcDisplayId(type), isSecure, token, + type, hwcId, mHwc->getFormat(hwcId), isSecure, token, fbs, bq, mRenderEngine->getEGLConfig()); if (i > DisplayDevice::DISPLAY_PRIMARY) { @@ -1185,7 +1186,8 @@ void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags) const wp<IBinder>& display(curr.keyAt(i)); if (dispSurface != NULL) { sp<DisplayDevice> hw = new DisplayDevice(this, - state.type, hwcDisplayId, state.isSecure, + state.type, hwcDisplayId, + mHwc->getFormat(hwcDisplayId), state.isSecure, display, dispSurface, producer, mRenderEngine->getEGLConfig()); hw->setLayerStack(state.layerStack); |