Merge "Frameworks/native: Wall Werror in surfaceflinger"
This commit is contained in:
commit
07dffa184f
@ -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
|
||||
|
@ -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++;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -63,7 +63,6 @@ Layer::Layer(SurfaceFlinger* flinger, const sp<Client>& 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<const DisplayDevice>& hw,
|
||||
const Region& /* clip */, bool useIdentityTransform) const {
|
||||
const uint32_t fbHeight = hw->getHeight();
|
||||
const State& s(getDrawingState());
|
||||
|
||||
computeGeometry(hw, mMesh, useIdentityTransform);
|
||||
|
@ -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
|
||||
|
@ -36,6 +36,7 @@ public:
|
||||
virtual const char* getTypeId() const { return "LayerDim"; }
|
||||
virtual void onDraw(const sp<const DisplayDevice>& 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; }
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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];
|
||||
|
@ -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<IBinder>& display,
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
status_t SurfaceFlinger::getDisplayStats(const sp<IBinder>& display,
|
||||
status_t SurfaceFlinger::getDisplayStats(const sp<IBinder>& /* display */,
|
||||
DisplayStatInfo* stats) {
|
||||
if (stats == NULL) {
|
||||
return BAD_VALUE;
|
||||
@ -653,7 +652,7 @@ status_t SurfaceFlinger::setActiveConfig(const sp<IBinder>& display, int mode) {
|
||||
virtual bool handler() {
|
||||
Vector<DisplayInfo> configs;
|
||||
mFlinger.getDisplayConfigs(mDisplay, &configs);
|
||||
if(mMode < 0 || mMode >= configs.size()) {
|
||||
if(mMode < 0 || static_cast<size_t>(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<int32_t>(reqWidth) != hw_w ||
|
||||
static_cast<int32_t>(reqWidth) != hw_h;
|
||||
|
||||
// if a default or invalid sourceCrop is passed in, set reasonable values
|
||||
if (sourceCrop.width() == 0 || sourceCrop.height() == 0 ||
|
||||
|
Loading…
Reference in New Issue
Block a user