Commit Graph

46313 Commits

Author SHA1 Message Date
Jamie Gennis
28ef8d7911 EGL: add GPU frame completion tracing
This change adds a debug option to EGL to use an EGLSyncKHR each frame to
determine when the GPU finishes rendering the frame.

Change-Id: I09ce071db904b44f07ca814c586c291c8b59385a
2012-04-06 09:23:13 -07:00
Jamie Gennis
8cce8a9a75 Merge "Fixed disconnect bug in SurfaceTexture" 2012-04-06 09:05:49 -07:00
Mathias Agopian
3eb38cb33e SurfaceFlinger now uses the new VSYNC HAL API.
If h/w composer doesn't support vsync (version < 0.3) we
"fake" it with a timer.

Change-Id: I1e3be79f43c9631d1293ad7d6cf52f9bfc42d65b
2012-04-04 19:01:20 -07:00
Mathias Agopian
9d61b955db Merge "Add HWC vsync hook. Currently unused." 2012-04-03 18:32:39 -07:00
Mathias Agopian
31d2843b45 Add HWC vsync hook. Currently unused.
Change-Id: I849d56f375813a044c5e2d0b25f791476a60fa01
2012-04-03 18:30:35 -07:00
Mathias Agopian
cb9732a951 refactor / simplify EventThread
Change-Id: I3981c6fba93b7b985174b2a7045e24db2c0b4428
2012-04-03 18:28:25 -07:00
Mathias Agopian
9b71221171 Merge "use a socketpair instead of a pipe in BitTube" 2012-04-03 15:38:10 -07:00
Andreas Huber
cf0db31c32 New Crypto "HAL" API.
Change-Id: I225cdfeffb7663a2d639a01cfe704aa12f9014b8
related-to-bug: 6275919
2012-04-03 14:15:05 -07:00
Mathias Agopian
7b5be95cb3 use a socketpair instead of a pipe in BitTube
Bug: 6252830
Change-Id: Ia7a7b08409517214136261c05569dc5959a597ab
2012-04-02 18:41:10 -07:00
Yang Chuang
a1ec30ef26 Add Japanese specific key codes
These keys are specific to Japanese hardware keyboard which can be
used by input method.

Patch ported from AOSP, with the addition of KANA.

Change-Id: I1474f0eb8971ed5d632822b1f9825c426f4817eb
2012-04-02 15:20:24 -07:00
Daniel Lam
9abe1ebc95 Fixed disconnect bug in SurfaceTexture
BufferQueue's disconnect could race with updateTexImage
where invalid buffers could be released.  Additionally
fixed similar bug with setBufferCount.  Tests were added
to stress the disconnect mechanism.

Change-Id: I9afa4c64f3e025984e8a9e8d924852a71d044716
2012-04-02 14:55:01 -07:00
Jamie Gennis
0e1080f887 Merge "SurfaceTexture: add context attach & detach" 2012-04-01 15:41:24 -07:00
Jamie Gennis
74bed55fff SurfaceTexture: add context attach & detach
This change adds the detachFromContext and attachToContext methods to
SurfaceTexture.  These methods allow the SurfaceTexture to switch from
one consumer GLES context to another.  This change also includes a few
cleanups to the error return codes in updateTexImage.

Change-Id: I0df1eb599aa7b6f58f07431f242f8f09269559ed
2012-03-30 16:47:28 -07:00
Mathias Agopian
851ef8f1bf reduce IPC with BufferQueue
collapse setCrop, setTransform and setScalingMode to queueBuffer()
this ends up simplifying things quite a bit and reducing the numnber
of IPC needed per frame.

Change-Id: I3a13c07603abe4e76b8251e6380b107fde22e6d9
2012-03-30 15:16:30 -07:00
Jamie Gennis
9285a16450 Merge "Refactored DummyConsumer" 2012-03-29 13:57:10 -07:00
Mathias Agopian
c59b40c110 Merge "better workaround for bug: 6020860" 2012-03-29 12:25:45 -07:00
Mathias Agopian
4b2ba53423 better workaround for bug: 6020860
this prevents the GPU from running when composition
is fully handled by overlays. this should improve
animations a bit.

Change-Id: If4ae584b7a3976e6bdd36e318686ac3940b6b075
2012-03-29 12:23:51 -07:00
Colin Cross
b731ae01b1 Move services/powermanager from frameworks/base to frameworks/native
Move services/powermanager into frameworks/native so audioflinger can
use it.  Note that this is not the same as a PowerManagerService,
which is part of systemserver and handles turning the screen on and
off, etc.  This is just a binder interface to allow taking wakelocks.

Change-Id: I6b6a8b41cdbad17e826fda45aab5f059f22fc64e
2012-03-28 13:58:23 -07:00
Daniel Lam
9d61a28d72 Refactored DummyConsumer
DummyConsumer no longer uses a ProxyConsumerListener

Change-Id: I0a99428b3f9dae82cb47d5da3589de77653f3d7c
2012-03-27 16:47:12 -07:00
Colin Cross
9e0b1f880b remove libandroid.so from targets that don't need it
pdk builds don't have libandroid.so available.  Remove it from
projects that aren't actually using it.

Change-Id: I100dc84aaf8160c1062a122ef6d5aec0534d73fa
2012-03-27 13:57:43 -07:00
Colin Cross
bb67556871 Merge "frameworks/native: prevent some opengl tests from building in pdk" 2012-03-27 10:28:58 -07:00
Colin Cross
1bb69f015c Merge "move hardware feature definitions" 2012-03-26 17:22:22 -07:00
Jamie Gennis
87579669e0 Merge "Added a DummyConsumer for use with BufferQueue." 2012-03-26 17:17:49 -07:00
Mathias Agopian
99cd617b0f Merge "debug.egl.finish can be used to force a glFinish() when eglSwapBuffers() is called" 2012-03-26 16:53:19 -07:00
Colin Cross
97da905bea move hardware feature definitions
Move the hardware feature xml files from frameworks/base/data/etc
to frameworks/native/data/etc.

Change-Id: I0c572237b78f233d58627801896c0a81215531e8
2012-03-26 16:30:59 -07:00
Colin Cross
9f64c2a9e4 frameworks/native: prevent some opengl tests from building in pdk
Some of the tests in frameworks/native/opengl/tests depend on java
or jni, and shouldn't be in frameworks/native.  Prevent them from
building in pdk builds for now.

Change-Id: Ie7a012513dd03992ac1f093bd245aeca826c9cb9
2012-03-26 16:01:43 -07:00
Keun young Park
e377d7de18 Merge "add Looper.cpp to build for linux host to use in CTS audio" 2012-03-26 15:30:38 -07:00
Daniel Lam
f71c4ae136 Added a DummyConsumer for use with BufferQueue.
The DummyConsumer is a consumer that can connect to BufferQueue
that does nothing.  It is required as BufferQueue checks
if a consumer is connected.  Also fixes a bug where SurfaceTexture
was reusing old texture slots.

Bug: 6172739
Change-Id: I5e7a118dd4d07807ba4c763200242b5ee7d3412b
2012-03-26 15:29:35 -07:00
Keun young Park
b7beba4548 add Looper.cpp to build for linux host to use in CTS audio
Change-Id: I59cfe30fd48fcba0bb949033f4d2aef5ce9916e4
2012-03-26 14:44:24 -07:00
Colin Cross
f45fa6b285 move dumpstate and dumpsys from frameworks/base to frameworks/native
Change-Id: I8a5318022ce5cd3e7c8055f21fe5da74639aa6c0
2012-03-26 12:39:26 -07:00
Glenn Kasten
0b94dcd03d mv libcpustats from frameworks/base to /native
OK to lose history

Change-Id: I563fec271e0bc240e4a09a8b9647c7439badd85b
2012-03-26 12:18:24 -07:00
Mathias Agopian
7db993a98b debug.egl.finish can be used to force a glFinish() when eglSwapBuffers() is called
this debug property is evaludated at eglInitialize() time.

Change-Id: Ie439e4aac87f7fdc6ab2add86183d6d042f3ee8b
2012-03-25 00:49:46 -07:00
Mathias Agopian
94ff71fd6a Merge "surfaceflinger: disable ddms debugging on pdk builds" 2012-03-23 16:46:54 -07:00
Colin Cross
3854ed5490 surfaceflinger: disable ddms debugging on pdk builds
DDMS debugging depends on non-pdk apis, disable it when a pdk
build is selected.

Change-Id: I6376b5c4cf49f2c51f35f8d567f7c6d18daf893f
2012-03-23 15:54:21 -07:00
Mathias Agopian
e1c61d3cc8 move ndk headers to frameworks/native
Change-Id: Ib740333753818ff8f8230ed009211b447e30cbee
2012-03-23 14:19:36 -07:00
Mathias Agopian
b0e76f456a remove dependency of EGL on ndk header
Change-Id: Ia6e489b5b4f028864bdf54923e81f604710dd8ad
2012-03-23 14:15:44 -07:00
Mathias Agopian
82dd490410 Merge "rewrite density calculation code so it's understandable" 2012-03-23 12:19:05 -07:00
Dima Zavin
8a849ddb21 Merge "build: add device-type dalvik heap configs" 2012-03-23 11:38:30 -07:00
Colin Cross
1c6cd3803e frameworks/native: link host libutils against external/zlib
Fix the SDK build by statically linking host libutils against libz
from external/zlib.

Change-Id: Id6805d3c9071e6fa0559024336642b5386cf3c52
2012-03-23 10:14:56 -07:00
Dima Zavin
2f043fec78 build: add device-type dalvik heap configs
These have been moved from frameworks/base/build

Change-Id: Ib0cdf82f4e2d61a1956baabf1fe636f46ddbc13a
Signed-off-by: Dima Zavin <dima@android.com>
2012-03-23 09:42:42 -07:00
Colin Cross
163d5a9fa7 frameworks/native: move Zip* from libandroidfw to libutils
ZipUtils is needed by build/tools, move it from libandroidfw
(frameworks/base) to libutils (frameworks/native).

Change-Id: Ib8c41134ccdec6d6aa8d49860f8dddef49a24783
2012-03-22 18:50:03 -07:00
Kenny Root
4639dcfb2a Add UniquePtr.h to frameworks/native
This is a copy of libcore's UniquePtr.h header which is used until we
get C++11 which has std::unique_ptr which is essentially the same.

Taken from libcore project at commit
3e6dd45baa0d7f9b4fa06f4ade76e088b59cc7bf

Change-Id: I7537b016f9eae33bfc4c57b24f86260909719ab8
2012-03-22 16:36:18 -07:00
Mathias Agopian
b5dd9c0fee rewrite density calculation code so it's understandable
Change-Id: I1016cd5fd75355abe4ab879d04f4849bd2dd4122
2012-03-22 12:20:06 -07:00
Dima Zavin
6fc0a9bd4b displayhardware: fix not obeying ro.sf.lcd_density when specified
Change-Id: I71efd6aebfdb0323b07327f5e448a5cb5eb0fad6
Signed-off-by: Dima Zavin <dima@android.com>
2012-03-21 23:37:46 -07:00
Dima Zavin
4b6c4f1d58 Merge "surfaceflinger: use display dpi if not forced with ro.sf.lcd_nensity" 2012-03-20 23:23:35 -07:00
Jamie Gennis
de3b072b12 Merge "libgui: have ST::updateTexImage check the GL ctx" 2012-03-20 12:03:29 -07:00
Jamie Gennis
782cb13c12 Merge "libgui: add BQ consumer buffer free notifications" 2012-03-20 12:03:06 -07:00
Jamie Gennis
ce56137218 libgui: have ST::updateTexImage check the GL ctx
This change adds a check to SurfaceTexture::updateTexImage to verify
that the current GL context is the same as the one that was used for
previous updateTexImage calls.

Change-Id: If02d2f787bcfdb528046dc9ddf6665f8a90e1bf4
2012-03-19 18:33:05 -07:00
Jamie Gennis
fa5b40ebb8 libgui: add BQ consumer buffer free notifications
This change adds a new callback for BufferQueue consumers to be notified
when the BufferQueue frees some or all of its buffers.  This is needed
to retain SurfaceTexture behavior where all buffers would be freed when
the producer disconnects.  This change also modifies the
SurfaceTextureGLToGLTest.EglDestroySurfaceUnrefsBuffers test to catch
when the buffers are not freed.

The implementation is a little complicated because it needs to avoid
circular sp<> references across what will be a binder interface (so wp<>
can't be used directly).  It also needs to avoid the possibility of
locking the BufferQueue and consumer (e.g. SurfaceTexture) mutexes in
the wrong order.

This change also includes a few additional fixes and test cleanups.

Change-Id: I27b77d0af15cb4b135f4b63573f634f5f0da2182
2012-03-19 15:09:09 -07:00
Jeff Brown
0818b0921e Add a simple work queue abstraction.
Makes it easy to schedule a bunch of work to happen in parallel.

Change-Id: Id9c0e52fc8b6d78d2b9ed4c2ee47abce0a01775c
2012-03-17 14:28:38 -07:00