From 89fd4f7fa6bd17ce5400979c3b9e5ba0bf7e919e Mon Sep 17 00:00:00 2001 From: Andreas Gampe Date: Thu, 13 Nov 2014 14:18:56 -0800 Subject: [PATCH] Frameworks/native: Wall Werror in surfaceflinger Turn on -Wall -Werror in services/surfaceflinger. Fix warnings. Change-Id: Ifef830300d9d4bc657d8f1257c02bfe8c2b4d9c5 --- services/surfaceflinger/Android.mk | 58 ++++++++++--------- services/surfaceflinger/DisplayDevice.cpp | 32 +++++----- .../DisplayHardware/FramebufferSurface.cpp | 2 +- .../DisplayHardware/VirtualDisplaySurface.h | 1 + services/surfaceflinger/Layer.cpp | 2 - services/surfaceflinger/Layer.h | 1 - services/surfaceflinger/LayerDim.h | 1 + .../RenderEngine/GLES11RenderEngine.cpp | 6 -- .../RenderEngine/GLES20RenderEngine.cpp | 6 -- .../RenderEngine/RenderEngine.cpp | 1 - services/surfaceflinger/SurfaceFlinger.cpp | 12 ++-- 11 files changed, 60 insertions(+), 62 deletions(-) diff --git a/services/surfaceflinger/Android.mk b/services/surfaceflinger/Android.mk index a273c96ff..f1ddbe272 100644 --- a/services/surfaceflinger/Android.mk +++ b/services/surfaceflinger/Android.mk @@ -41,14 +41,14 @@ LOCAL_CFLAGS:= -DLOG_TAG=\"SurfaceFlinger\" LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES ifeq ($(TARGET_BOARD_PLATFORM),omap4) - LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY + LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY endif ifeq ($(TARGET_BOARD_PLATFORM),s5pc110) - LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY + LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY endif ifeq ($(TARGET_DISABLE_TRIPLE_BUFFERING),true) - LOCAL_CFLAGS += -DTARGET_DISABLE_TRIPLE_BUFFERING + LOCAL_CFLAGS += -DTARGET_DISABLE_TRIPLE_BUFFERING endif ifeq ($(TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS),true) @@ -56,7 +56,7 @@ ifeq ($(TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS),true) endif ifneq ($(NUM_FRAMEBUFFER_SURFACE_BUFFERS),) - LOCAL_CFLAGS += -DNUM_FRAMEBUFFER_SURFACE_BUFFERS=$(NUM_FRAMEBUFFER_SURFACE_BUFFERS) + LOCAL_CFLAGS += -DNUM_FRAMEBUFFER_SURFACE_BUFFERS=$(NUM_FRAMEBUFFER_SURFACE_BUFFERS) endif ifeq ($(TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK),true) @@ -87,21 +87,23 @@ LOCAL_CFLAGS += -fvisibility=hidden -Werror=format LOCAL_CFLAGS += -std=c++11 LOCAL_SHARED_LIBRARIES := \ - libcutils \ - liblog \ - libdl \ - libhardware \ - libutils \ - libEGL \ - libGLESv1_CM \ - libGLESv2 \ - libbinder \ - libui \ - libgui \ - libpowermanager + libcutils \ + liblog \ + libdl \ + libhardware \ + libutils \ + libEGL \ + libGLESv1_CM \ + libGLESv2 \ + libbinder \ + libui \ + libgui \ + libpowermanager LOCAL_MODULE:= libsurfaceflinger +LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code + include $(BUILD_SHARED_LIBRARY) ############################################################### @@ -113,15 +115,15 @@ LOCAL_CFLAGS:= -DLOG_TAG=\"SurfaceFlinger\" LOCAL_CPPFLAGS:= -std=c++11 LOCAL_SRC_FILES:= \ - main_surfaceflinger.cpp + main_surfaceflinger.cpp LOCAL_SHARED_LIBRARIES := \ - libsurfaceflinger \ - libcutils \ - liblog \ - libbinder \ - libutils \ - libdl + libsurfaceflinger \ + libcutils \ + liblog \ + libbinder \ + libutils \ + libdl LOCAL_WHOLE_STATIC_LIBRARIES := libsigchain @@ -131,6 +133,8 @@ ifdef TARGET_32_BIT_SURFACEFLINGER LOCAL_32_BIT_ONLY := true endif +LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code + include $(BUILD_EXECUTABLE) ############################################################### @@ -143,11 +147,13 @@ LOCAL_SRC_FILES:= \ DdmConnection.cpp LOCAL_SHARED_LIBRARIES := \ - libcutils \ - liblog \ - libdl + libcutils \ + liblog \ + libdl LOCAL_MODULE:= libsurfaceflinger_ddmconnection +LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code + include $(BUILD_SHARED_LIBRARY) endif # libnativehelper diff --git a/services/surfaceflinger/DisplayDevice.cpp b/services/surfaceflinger/DisplayDevice.cpp index 564f9748e..9a2411ad9 100644 --- a/services/surfaceflinger/DisplayDevice.cpp +++ b/services/surfaceflinger/DisplayDevice.cpp @@ -44,6 +44,18 @@ using namespace android; // ---------------------------------------------------------------------------- +#ifdef EGL_ANDROID_swap_rectangle +static constexpr bool kEGLAndroidSwapRectangle = true; +#else +static constexpr bool kEGLAndroidSwapRectangle = false; +#endif + +#if !defined(EGL_EGLEXT_PROTOTYPES) || !defined(EGL_ANDROID_swap_rectangle) +// Dummy implementation in case it is missing. +inline void eglSetSwapRectangleANDROID (EGLDisplay, EGLSurface, EGLint, EGLint, EGLint, EGLint) { +} +#endif + /* * Initialize the display to the specified values. * @@ -84,7 +96,6 @@ DisplayDevice::DisplayDevice( */ EGLSurface surface; - EGLint w, h; EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY); if (config == EGL_NO_CONFIG) { config = RenderEngine::chooseEglConfig(display, format); @@ -188,19 +199,14 @@ void DisplayDevice::flip(const Region& dirty) const { mFlinger->getRenderEngine().checkErrors(); - EGLDisplay dpy = mDisplay; - EGLSurface surface = mSurface; - -#ifdef EGL_ANDROID_swap_rectangle - if (mFlags & SWAP_RECTANGLE) { - const Region newDirty(dirty.intersect(bounds())); - const Rect b(newDirty.getBounds()); - eglSetSwapRectangleANDROID(dpy, surface, - b.left, b.top, b.width(), b.height()); + if (kEGLAndroidSwapRectangle) { + if (mFlags & SWAP_RECTANGLE) { + const Region newDirty(dirty.intersect(bounds())); + const Rect b(newDirty.getBounds()); + eglSetSwapRectangleANDROID(mDisplay, mSurface, + b.left, b.top, b.width(), b.height()); + } } -#else - (void) dirty; // Eliminate unused parameter warning -#endif mPageFlipCount++; } diff --git a/services/surfaceflinger/DisplayHardware/FramebufferSurface.cpp b/services/surfaceflinger/DisplayHardware/FramebufferSurface.cpp index 086ccf894..342016ebf 100644 --- a/services/surfaceflinger/DisplayHardware/FramebufferSurface.cpp +++ b/services/surfaceflinger/DisplayHardware/FramebufferSurface.cpp @@ -68,7 +68,7 @@ FramebufferSurface::FramebufferSurface(HWComposer& hwc, int disp, mConsumer->setDefaultMaxBufferCount(NUM_FRAMEBUFFER_SURFACE_BUFFERS); } -status_t FramebufferSurface::beginFrame(bool mustRecompose) { +status_t FramebufferSurface::beginFrame(bool /* mustRecompose */) { return NO_ERROR; } diff --git a/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h b/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h index 363dce206..0fab7e2be 100644 --- a/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h +++ b/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h @@ -86,6 +86,7 @@ public: virtual status_t compositionComplete(); virtual status_t advanceFrame(); virtual void onFrameCommitted(); + using BBinder::dump; virtual void dump(String8& result) const; virtual void resizeBuffers(const uint32_t w, const uint32_t h); diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp index fa07656e2..91e9a02f2 100644 --- a/services/surfaceflinger/Layer.cpp +++ b/services/surfaceflinger/Layer.cpp @@ -63,7 +63,6 @@ Layer::Layer(SurfaceFlinger* flinger, const sp& client, mTextureName(-1U), mPremultipliedAlpha(true), mName("unnamed"), - mDebug(false), mFormat(PIXEL_FORMAT_NONE), mTransactionFlags(0), mQueuedFrames(0), @@ -646,7 +645,6 @@ void Layer::clearWithOpenGL( void Layer::drawWithOpenGL(const sp& hw, const Region& /* clip */, bool useIdentityTransform) const { - const uint32_t fbHeight = hw->getHeight(); const State& s(getDrawingState()); computeGeometry(hw, mMesh, useIdentityTransform); diff --git a/services/surfaceflinger/Layer.h b/services/surfaceflinger/Layer.h index f0fe58ae0..2ef39e8d2 100644 --- a/services/surfaceflinger/Layer.h +++ b/services/surfaceflinger/Layer.h @@ -360,7 +360,6 @@ private: uint32_t mTextureName; // from GLES bool mPremultipliedAlpha; String8 mName; - mutable bool mDebug; PixelFormat mFormat; // these are protected by an external lock diff --git a/services/surfaceflinger/LayerDim.h b/services/surfaceflinger/LayerDim.h index 4de0ddc6b..60edd91e9 100644 --- a/services/surfaceflinger/LayerDim.h +++ b/services/surfaceflinger/LayerDim.h @@ -36,6 +36,7 @@ public: virtual const char* getTypeId() const { return "LayerDim"; } virtual void onDraw(const sp& hw, const Region& clip, bool useIdentityTransform) const; + using Layer::isOpaque; virtual bool isOpaque() const { return false; } virtual bool isSecure() const { return false; } virtual bool isFixedSize() const { return true; } diff --git a/services/surfaceflinger/RenderEngine/GLES11RenderEngine.cpp b/services/surfaceflinger/RenderEngine/GLES11RenderEngine.cpp index c2768f33a..2e6af49d5 100644 --- a/services/surfaceflinger/RenderEngine/GLES11RenderEngine.cpp +++ b/services/surfaceflinger/RenderEngine/GLES11RenderEngine.cpp @@ -43,12 +43,6 @@ GLES11RenderEngine::GLES11RenderEngine() { glDisable(GL_DITHER); glDisable(GL_CULL_FACE); - struct pack565 { - inline uint16_t operator() (int r, int g, int b) const { - return (r<<11)|(g<<5)|b; - } - } pack565; - const uint16_t protTexData[] = { 0 }; glGenTextures(1, &mProtectedTexName); glBindTexture(GL_TEXTURE_2D, mProtectedTexName); diff --git a/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp b/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp index 8ebafbced..8712c9a27 100644 --- a/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp +++ b/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp @@ -48,12 +48,6 @@ GLES20RenderEngine::GLES20RenderEngine() : glPixelStorei(GL_UNPACK_ALIGNMENT, 4); glPixelStorei(GL_PACK_ALIGNMENT, 4); - struct pack565 { - inline uint16_t operator() (int r, int g, int b) const { - return (r<<11)|(g<<5)|b; - } - } pack565; - const uint16_t protTexData[] = { 0 }; glGenTextures(1, &mProtectedTexName); glBindTexture(GL_TEXTURE_2D, mProtectedTexName); diff --git a/services/surfaceflinger/RenderEngine/RenderEngine.cpp b/services/surfaceflinger/RenderEngine/RenderEngine.cpp index d5d5da8fc..767b7147f 100644 --- a/services/surfaceflinger/RenderEngine/RenderEngine.cpp +++ b/services/surfaceflinger/RenderEngine/RenderEngine.cpp @@ -279,7 +279,6 @@ status_t RenderEngine::BindImageAsFramebuffer::getStatus() const { static status_t selectConfigForAttribute(EGLDisplay dpy, EGLint const* attrs, EGLint attribute, EGLint wanted, EGLConfig* outConfig) { - EGLConfig config = NULL; EGLint numConfigs = -1, n = 0; eglGetConfigs(dpy, NULL, 0, &numConfigs); EGLConfig* const configs = new EGLConfig[numConfigs]; diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index c6a4c7a6d..e767be2a5 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -388,7 +388,6 @@ void SurfaceFlinger::init() { ALOGI( "SurfaceFlinger's main thread ready to run. " "Initializing graphics H/W..."); - status_t err; Mutex::Autolock _l(mStateLock); // initialize EGL for the default display @@ -604,7 +603,7 @@ status_t SurfaceFlinger::getDisplayConfigs(const sp& display, return NO_ERROR; } -status_t SurfaceFlinger::getDisplayStats(const sp& display, +status_t SurfaceFlinger::getDisplayStats(const sp& /* display */, DisplayStatInfo* stats) { if (stats == NULL) { return BAD_VALUE; @@ -653,7 +652,7 @@ status_t SurfaceFlinger::setActiveConfig(const sp& display, int mode) { virtual bool handler() { Vector configs; mFlinger.getDisplayConfigs(mDisplay, &configs); - if(mMode < 0 || mMode >= configs.size()) { + if(mMode < 0 || static_cast(mMode) >= configs.size()) { ALOGE("Attempt to set active config = %d for display with %zu configs", mMode, configs.size()); } @@ -3078,9 +3077,10 @@ void SurfaceFlinger::renderScreenImplLocked( RenderEngine& engine(getRenderEngine()); // get screen geometry - const uint32_t hw_w = hw->getWidth(); - const uint32_t hw_h = hw->getHeight(); - const bool filtering = reqWidth != hw_w || reqWidth != hw_h; + const int32_t hw_w = hw->getWidth(); + const int32_t hw_h = hw->getHeight(); + const bool filtering = static_cast(reqWidth) != hw_w || + static_cast(reqWidth) != hw_h; // if a default or invalid sourceCrop is passed in, set reasonable values if (sourceCrop.width() == 0 || sourceCrop.height() == 0 ||