merge libsurfaceflinger_client into libgui

this is the first step in unifying surfacetexture and surface.
for this reason the header files were not moved, as most of them
will eventually go away.

NOTE: currently we keep libsurfaceflinger_client.so as an empty
library to workaround prebuilt binaries wrongly linking against
it.

Change-Id: I130f0de2428e8579033dc41394d093f4e1431a00
This commit is contained in:
Mathias Agopian 2011-03-25 18:42:40 -07:00
parent d3f9a53bff
commit d87f162026
19 changed files with 16 additions and 376 deletions

View File

@ -10,7 +10,15 @@ LOCAL_SRC_FILES:= \
SensorEventQueue.cpp \
SensorManager.cpp \
SurfaceTexture.cpp \
SurfaceTextureClient.cpp
SurfaceTextureClient.cpp \
ISurfaceComposer.cpp \
ISurface.cpp \
ISurfaceComposerClient.cpp \
IGraphicBufferAlloc.cpp \
LayerState.cpp \
SharedBufferStack.cpp \
Surface.cpp \
SurfaceComposerClient.cpp \
LOCAL_SHARED_LIBRARIES := \
libcutils \
@ -21,7 +29,6 @@ LOCAL_SHARED_LIBRARIES := \
libui \
libEGL \
libGLESv2 \
libsurfaceflinger_client
LOCAL_MODULE:= libgui

View File

@ -9,6 +9,7 @@ LOCAL_MODULE := SurfaceTexture_test
LOCAL_MODULE_TAGS := tests
LOCAL_SRC_FILES := \
Surface_test.cpp \
SurfaceTextureClient_test.cpp \
SurfaceTexture_test.cpp \
@ -20,7 +21,6 @@ LOCAL_SHARED_LIBRARIES := \
libcutils \
libgui \
libstlport \
libsurfaceflinger_client \
libui \
libutils \

View File

@ -1,22 +1,9 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \
ISurfaceComposer.cpp \
ISurface.cpp \
ISurfaceComposerClient.cpp \
IGraphicBufferAlloc.cpp \
LayerState.cpp \
SharedBufferStack.cpp \
Surface.cpp \
SurfaceComposerClient.cpp
LOCAL_SRC_FILES:=
LOCAL_SHARED_LIBRARIES := \
libcutils \
libutils \
libbinder \
libhardware \
libui
LOCAL_SHARED_LIBRARIES :=
LOCAL_MODULE:= libsurfaceflinger_client

View File

@ -1,53 +0,0 @@
# Build the unit tests.
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
ifneq ($(TARGET_SIMULATOR),true)
# Build the unit tests.
test_src_files := \
Surface_test.cpp \
shared_libraries := \
libcutils \
libutils \
libbinder \
libsurfaceflinger_client \
libstlport \
static_libraries := \
libgtest \
libgtest_main \
c_includes := \
bionic \
bionic/libstdc++/include \
external/gtest/include \
external/stlport/stlport \
module_tags := tests
$(foreach file,$(test_src_files), \
$(eval include $(CLEAR_VARS)) \
$(eval LOCAL_SHARED_LIBRARIES := $(shared_libraries)) \
$(eval LOCAL_STATIC_LIBRARIES := $(static_libraries)) \
$(eval LOCAL_C_INCLUDES := $(c_includes)) \
$(eval LOCAL_SRC_FILES := $(file)) \
$(eval LOCAL_MODULE := $(notdir $(file:%.cpp=%))) \
$(eval LOCAL_MODULE_TAGS := $(module_tags)) \
$(eval include $(BUILD_EXECUTABLE)) \
)
# Build the manual test programs.
include $(call all-subdir-makefiles)
endif
# Include subdirectory makefiles
# ============================================================
# If we're building with ONE_SHOT_MAKEFILE (mm, mmm), then what the framework
# team really wants is to build the stuff defined by this makefile.
ifeq (,$(ONE_SHOT_MAKEFILE))
include $(call first-makefiles-under,$(LOCAL_PATH))
endif

View File

@ -1,17 +0,0 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \
SharedBufferStackTest.cpp
LOCAL_SHARED_LIBRARIES := \
libcutils \
libutils \
libui \
libsurfaceflinger_client
LOCAL_MODULE:= test-sharedbufferstack
LOCAL_MODULE_TAGS := tests
include $(BUILD_EXECUTABLE)

View File

@ -1,284 +0,0 @@
/*
* Copyright (C) 2007 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#undef NDEBUG
#include <assert.h>
#include <cutils/memory.h>
#include <cutils/log.h>
#include <utils/Errors.h>
#include <private/surfaceflinger/SharedBufferStack.h>
using namespace android;
void log(const char* prefix, int *b, size_t num);
void test0(SharedBufferServer& s, SharedBufferClient& c, size_t num, int* list);
// ----------------------------------------------------------------------------
int main(int argc, char** argv)
{
SharedClient client;
sp<SharedBufferServer> ps(new SharedBufferServer(&client, 0, 4, 0));
SharedBufferServer& s(*ps);
SharedBufferClient c(&client, 0, 4, 0);
printf("basic test 0\n");
int list0[4] = {0, 1, 2, 3};
test0(s, c, 4, list0);
printf("basic test 1\n");
int list1[4] = {2, 1, 0, 3};
test0(s, c, 4, list1);
int b = c.dequeue();
c.lock(b);
c.queue(b);
s.retireAndLock();
printf("basic test 2\n");
int list2[4] = {1, 2, 3, 0};
test0(s, c, 4, list2);
printf("resize test\n");
class SetBufferCountIPC : public SharedBufferClient::SetBufferCountCallback {
SharedBufferServer& s;
virtual status_t operator()(int bufferCount) const {
return s.resize(bufferCount);
}
public:
SetBufferCountIPC(SharedBufferServer& s) : s(s) { }
} resize(s);
c.setBufferCount(6, resize);
int list3[6] = {3, 2, 1, 4, 5, 0};
test0(s, c, 6, list3);
c.setBufferCount(4, resize);
int list4[4] = {1, 2, 3, 0};
test0(s, c, 4, list4);
return 0;
}
void log(const char* prefix, int *b, size_t num)
{
printf("%s: ", prefix);
for (size_t i=0 ; i<num ; i++) {
printf("%d ", b[i]);
}
printf("\n");
}
// ----------------------------------------------------------------------------
void test0(
SharedBufferServer& s,
SharedBufferClient& c,
size_t num,
int* list)
{
status_t err;
int b[num], u[num], r[num];
for (size_t i=0 ; i<num ; i++) {
b[i] = c.dequeue();
assert(b[i]==list[i]);
}
log("DQ", b, num);
for (size_t i=0 ; i<num-1 ; i++) {
err = c.lock(b[i]);
assert(err==0);
}
log("LK", b, num-1);
for (size_t i=0 ; i<num-1 ; i++) {
err = c.queue(b[i]);
assert(err==0);
}
log(" Q", b, num-1);
for (size_t i=0 ; i<num-1 ; i++) {
r[i] = s.retireAndLock();
assert(r[i]==list[i]);
err = s.unlock(r[i]);
assert(err == 0);
}
log("RT", r, num-1);
err = c.lock(b[num-1]);
assert(err == 0);
log("LK", b+num-1, 1);
err = c.queue(b[num-1]);
assert(err == 0);
log(" Q", b+num-1, 1);
r[num-1] = s.retireAndLock();
assert(r[num-1]==list[num-1]);
err = s.unlock(r[num-1]);
assert(err == 0);
log("RT", r+num-1, 1);
// ------------------------------------
printf("\n");
for (size_t i=0 ; i<num ; i++) {
b[i] = c.dequeue();
assert(b[i]==list[i]);
}
log("DQ", b, num);
for (size_t i=0 ; i<num-1 ; i++) {
err = c.lock(b[i]);
assert(err==0);
}
log("LK", b, num-1);
for (size_t i=0 ; i<num-1 ; i++) {
u[i] = b[num-2-i];
}
u[num-1] = b[num-1];
for (size_t i=0 ; i<num-1 ; i++) {
err = c.queue(u[i]);
assert(err==0);
}
log(" Q", u, num-1);
for (size_t i=0 ; i<num-1 ; i++) {
r[i] = s.retireAndLock();
assert(r[i]==u[i]);
err = s.unlock(r[i]);
assert(err == 0);
}
log("RT", r, num-1);
err = c.lock(b[num-1]);
assert(err == 0);
log("LK", b+num-1, 1);
err = c.queue(b[num-1]);
assert(err == 0);
log(" Q", b+num-1, 1);
r[num-1] = s.retireAndLock();
assert(r[num-1]==list[num-1]);
err = s.unlock(r[num-1]);
assert(err == 0);
log("RT", r+num-1, 1);
// ------------------------------------
printf("\n");
for (size_t i=0 ; i<num ; i++) {
b[i] = c.dequeue();
assert(b[i]==u[i]);
}
log("DQ", b, num);
for (size_t i=0 ; i<num-1 ; i++) {
err = c.lock(b[i]);
assert(err==0);
}
log("LK", b, num-1);
for (size_t i=0 ; i<num-1 ; i++) {
err = c.queue(b[i]);
assert(err==0);
}
log(" Q", b, num-1);
for (size_t i=0 ; i<num-1 ; i++) {
r[i] = s.retireAndLock();
assert(r[i]==u[i]);
err = s.unlock(r[i]);
assert(err == 0);
}
log("RT", r, num-1);
err = c.lock(u[num-1]);
assert(err == 0);
log("LK", u+num-1, 1);
err = c.queue(u[num-1]);
assert(err == 0);
log(" Q", u+num-1, 1);
r[num-1] = s.retireAndLock();
assert(r[num-1]==u[num-1]);
err = s.unlock(r[num-1]);
assert(err == 0);
log("RT", r+num-1, 1);
// ------------------------------------
printf("\n");
b[0] = c.dequeue();
assert(b[0]==u[0]);
log("DQ", b, 1);
c.undoDequeue(b[0]);
assert(err == 0);
log("UDQ", b, 1);
// ------------------------------------
printf("\n");
for (size_t i=0 ; i<num ; i++) {
b[i] = c.dequeue();
assert(b[i]==u[i]);
}
log("DQ", b, num);
for (size_t i=0 ; i<num-1 ; i++) {
err = c.lock(b[i]);
assert(err==0);
}
log("LK", b, num-1);
for (size_t i=0 ; i<num-1 ; i++) {
err = c.queue(b[i]);
assert(err==0);
}
log(" Q", b, num-1);
for (size_t i=0 ; i<num-1 ; i++) {
r[i] = s.retireAndLock();
assert(r[i]==u[i]);
err = s.unlock(r[i]);
assert(err == 0);
}
log("RT", r, num-1);
err = c.lock(u[num-1]);
assert(err == 0);
log("LK", u+num-1, 1);
err = c.queue(u[num-1]);
assert(err == 0);
log(" Q", u+num-1, 1);
r[num-1] = s.retireAndLock();
assert(r[num-1]==u[num-1]);
err = s.unlock(r[num-1]);
assert(err == 0);
log("RT", r+num-1, 1);
printf("\n");
}

View File

@ -41,7 +41,7 @@ LOCAL_SHARED_LIBRARIES := \
libGLESv1_CM \
libbinder \
libui \
libsurfaceflinger_client
libgui
LOCAL_C_INCLUDES := \
$(call include-path-for, corecg graphics)

View File

@ -8,7 +8,7 @@ LOCAL_SHARED_LIBRARIES := \
libcutils \
libutils \
libui \
libsurfaceflinger_client
libgui
LOCAL_MODULE:= test-resize

View File

@ -10,7 +10,7 @@ LOCAL_SHARED_LIBRARIES := \
libbinder \
libskia \
libui \
libsurfaceflinger_client
libgui
LOCAL_MODULE:= test-screencap

View File

@ -9,7 +9,7 @@ LOCAL_SHARED_LIBRARIES := \
libutils \
libbinder \
libui \
libsurfaceflinger_client
libgui
LOCAL_MODULE:= test-surface