Loading services/surfaceflinger/DisplayDevice.h +2 −0 Original line number Diff line number Diff line Loading @@ -56,7 +56,9 @@ public: DISPLAY_ID_INVALID = -1, DISPLAY_PRIMARY = HWC_DISPLAY_PRIMARY, DISPLAY_EXTERNAL = HWC_DISPLAY_EXTERNAL, #ifdef QCOM_HARDWARE DISPLAY_VIRTUAL = HWC_DISPLAY_VIRTUAL, #endif NUM_DISPLAY_TYPES = HWC_NUM_DISPLAY_TYPES }; Loading services/surfaceflinger/DisplayHardware/HWComposer.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -295,7 +295,11 @@ HWComposer::HWComposer( mNumDisplays = MAX_DISPLAYS; } else if (hwcHasApiVersion(mHwc, HWC_DEVICE_API_VERSION_1_1)) { // 1.1 adds support for multiple displays #ifdef QCOM_HARDWARE mNumDisplays = MAX_DISPLAYS; #else mNumDisplays = NUM_PHYSICAL_DISPLAYS; #endif } else { mNumDisplays = 1; } Loading services/surfaceflinger/DisplayHardware/HWComposer.h +4 −0 Original line number Diff line number Diff line Loading @@ -63,7 +63,11 @@ public: }; enum { #ifdef QCOM_HARDWARE MAX_DISPLAYS = HWC_NUM_DISPLAY_TYPES #else MAX_DISPLAYS = HWC_NUM_DISPLAY_TYPES + 1 #endif }; HWComposer( Loading services/surfaceflinger/EventThread.h +4 −0 Original line number Diff line number Diff line Loading @@ -104,7 +104,11 @@ private: // protected by mLock SortedVector< wp<Connection> > mDisplayEventConnections; Vector< DisplayEventReceiver::Event > mPendingEvents; #ifdef QCOM_HARDWARE DisplayEventReceiver::Event mVSyncEvent[HWC_NUM_DISPLAY_TYPES]; #else DisplayEventReceiver::Event mVSyncEvent[HWC_DISPLAY_TYPES_SUPPORTED]; #endif bool mUseSoftwareVSync; // for debugging Loading services/surfaceflinger/SurfaceFlinger.cpp +17 −5 Original line number Diff line number Diff line Loading @@ -922,12 +922,18 @@ void SurfaceFlinger::rebuildLayerStacks() { for (size_t i=0 ; i<count ; i++) { const sp<Layer>& layer(currentLayers[i]); const Layer::State& s(layer->drawingState()); #ifndef QCOM_HARDWARE if (s.layerStack == hw->getLayerStack()) { #endif Region drawRegion(tr.transform( layer->visibleNonTransparentRegion)); drawRegion.andSelf(bounds); if (!drawRegion.isEmpty()) { layersSortedByZ.add(layer); } #ifndef QCOM_HARDWARE } #endif } } hw->setVisibleLayersSortedByZ(layersSortedByZ); Loading Loading @@ -1079,6 +1085,7 @@ void SurfaceFlinger::handleTransaction(uint32_t transactionFlags) // here the transaction has been committed } #ifdef QCOM_HARDWARE void SurfaceFlinger::setVirtualDisplayData( int32_t hwcDisplayId, const sp<IGraphicBufferProducer>& sink) Loading @@ -1098,6 +1105,7 @@ void SurfaceFlinger::setVirtualDisplayData( mHwc->setVirtualDisplayProperties(hwcDisplayId, w, h, format); } #endif void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags) { Loading Loading @@ -1217,6 +1225,7 @@ void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags) *mHwc, hwcDisplayId, state.surface, state.displayName); } else { #ifdef QCOM_HARDWARE //Read virtual display properties and create a //rendering surface for it inorder to be handled //by hwc. Loading @@ -1224,6 +1233,7 @@ void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags) state.surface); dispSurface = new FramebufferSurface(*mHwc, state.type); #endif } } } else { Loading Loading @@ -1427,11 +1437,13 @@ void SurfaceFlinger::computeVisibleRegions(size_t dpy, // Override layers created using presentation class by the layers having // ext_only flag enabled if(s.layerStack != layerStack && !bIgnoreLayers) { #ifdef QCOM_HARDWARE // set the visible region as empty since we have removed the // layerstack check in rebuildLayerStack() function. Region visibleNonTransRegion; visibleNonTransRegion.set(Rect(0,0)); layer->setVisibleNonTransparentRegion(visibleNonTransRegion); #endif continue; } /* Loading Loading
services/surfaceflinger/DisplayDevice.h +2 −0 Original line number Diff line number Diff line Loading @@ -56,7 +56,9 @@ public: DISPLAY_ID_INVALID = -1, DISPLAY_PRIMARY = HWC_DISPLAY_PRIMARY, DISPLAY_EXTERNAL = HWC_DISPLAY_EXTERNAL, #ifdef QCOM_HARDWARE DISPLAY_VIRTUAL = HWC_DISPLAY_VIRTUAL, #endif NUM_DISPLAY_TYPES = HWC_NUM_DISPLAY_TYPES }; Loading
services/surfaceflinger/DisplayHardware/HWComposer.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -295,7 +295,11 @@ HWComposer::HWComposer( mNumDisplays = MAX_DISPLAYS; } else if (hwcHasApiVersion(mHwc, HWC_DEVICE_API_VERSION_1_1)) { // 1.1 adds support for multiple displays #ifdef QCOM_HARDWARE mNumDisplays = MAX_DISPLAYS; #else mNumDisplays = NUM_PHYSICAL_DISPLAYS; #endif } else { mNumDisplays = 1; } Loading
services/surfaceflinger/DisplayHardware/HWComposer.h +4 −0 Original line number Diff line number Diff line Loading @@ -63,7 +63,11 @@ public: }; enum { #ifdef QCOM_HARDWARE MAX_DISPLAYS = HWC_NUM_DISPLAY_TYPES #else MAX_DISPLAYS = HWC_NUM_DISPLAY_TYPES + 1 #endif }; HWComposer( Loading
services/surfaceflinger/EventThread.h +4 −0 Original line number Diff line number Diff line Loading @@ -104,7 +104,11 @@ private: // protected by mLock SortedVector< wp<Connection> > mDisplayEventConnections; Vector< DisplayEventReceiver::Event > mPendingEvents; #ifdef QCOM_HARDWARE DisplayEventReceiver::Event mVSyncEvent[HWC_NUM_DISPLAY_TYPES]; #else DisplayEventReceiver::Event mVSyncEvent[HWC_DISPLAY_TYPES_SUPPORTED]; #endif bool mUseSoftwareVSync; // for debugging Loading
services/surfaceflinger/SurfaceFlinger.cpp +17 −5 Original line number Diff line number Diff line Loading @@ -922,12 +922,18 @@ void SurfaceFlinger::rebuildLayerStacks() { for (size_t i=0 ; i<count ; i++) { const sp<Layer>& layer(currentLayers[i]); const Layer::State& s(layer->drawingState()); #ifndef QCOM_HARDWARE if (s.layerStack == hw->getLayerStack()) { #endif Region drawRegion(tr.transform( layer->visibleNonTransparentRegion)); drawRegion.andSelf(bounds); if (!drawRegion.isEmpty()) { layersSortedByZ.add(layer); } #ifndef QCOM_HARDWARE } #endif } } hw->setVisibleLayersSortedByZ(layersSortedByZ); Loading Loading @@ -1079,6 +1085,7 @@ void SurfaceFlinger::handleTransaction(uint32_t transactionFlags) // here the transaction has been committed } #ifdef QCOM_HARDWARE void SurfaceFlinger::setVirtualDisplayData( int32_t hwcDisplayId, const sp<IGraphicBufferProducer>& sink) Loading @@ -1098,6 +1105,7 @@ void SurfaceFlinger::setVirtualDisplayData( mHwc->setVirtualDisplayProperties(hwcDisplayId, w, h, format); } #endif void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags) { Loading Loading @@ -1217,6 +1225,7 @@ void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags) *mHwc, hwcDisplayId, state.surface, state.displayName); } else { #ifdef QCOM_HARDWARE //Read virtual display properties and create a //rendering surface for it inorder to be handled //by hwc. Loading @@ -1224,6 +1233,7 @@ void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags) state.surface); dispSurface = new FramebufferSurface(*mHwc, state.type); #endif } } } else { Loading Loading @@ -1427,11 +1437,13 @@ void SurfaceFlinger::computeVisibleRegions(size_t dpy, // Override layers created using presentation class by the layers having // ext_only flag enabled if(s.layerStack != layerStack && !bIgnoreLayers) { #ifdef QCOM_HARDWARE // set the visible region as empty since we have removed the // layerstack check in rebuildLayerStack() function. Region visibleNonTransRegion; visibleNonTransRegion.set(Rect(0,0)); layer->setVisibleNonTransparentRegion(visibleNonTransRegion); #endif continue; } /* Loading