1185 Commits

Author SHA1 Message Date
Mathias Agopian
b81f6c4c3f am 19f64314: am 2f0e6753: Merge "SharedBufferStack now can grow up to 16 buffers." into kraken 2010-05-12 18:04:39 -07:00
Mathias Agopian
55c97878c0 am e0630ae3: am 6a70cb8a: Merge "Refactor some code in surfaceflinger in preparation of upcoming changes" into kraken 2010-05-12 18:04:33 -07:00
Mathias Agopian
74c932d973 am 32286409: am ca64ed6a: Merge "remove the "memcpy" hack" into kraken 2010-05-12 18:04:28 -07:00
Mathias Agopian
2f0e6753d6 Merge "SharedBufferStack now can grow up to 16 buffers." into kraken 2010-05-12 17:36:46 -07:00
Mathias Agopian
6a70cb8a38 Merge "Refactor some code in surfaceflinger in preparation of upcoming changes" into kraken 2010-05-12 17:35:24 -07:00
Mathias Agopian
ca64ed6a81 Merge "remove the "memcpy" hack" into kraken 2010-05-12 17:35:12 -07:00
Mathias Agopian
59751dbf7d SharedBufferStack now can grow up to 16 buffers.
there is a new resize() api, which currently only allows growing.

Change-Id: Ia37b81b73be466d2491ffed7f3a23cd8e113c6fe
2010-05-12 17:28:20 -07:00
Mathias Agopian
9f2c4fd9a1 Refactor some code in surfaceflinger in preparation of upcoming changes
the new TextureMagager class now handle texture creation and upload
as well as EGL image creation and binding to GraphicBuffers. This is
used indirectly by Layer and directly by LayerBuffer

the new BufferManager class handles the set of buffers used for a
Layer (Surface), it abstracts how many buffer there is as well as
the use of EGLimage vs. regular texture ops (glTexImage2D).

Change-Id: I2da1ddcf27758e6731400f6cc4e20bef35c0a39a
2010-05-12 17:26:22 -07:00
Mathias Agopian
aca2ee8a70 remove the "memcpy" hack
this hack was used for gpus that don't support cached buffers
for s/w clients. currently we have no gpu with this issue.
this removes quite a bit of complexity.

Change-Id: I72564669f124f92805030e61983711f61c76b6d9
2010-05-12 15:44:26 -07:00
Kenny Root
cdcc6a0061 am d6effb06: am e8621534: Merge "ZipUtilsRO rewrite based on Dalvik Zip rewrite" into kraken 2010-05-12 15:25:03 -07:00
Kenny Root
e8621534db Merge "ZipUtilsRO rewrite based on Dalvik Zip rewrite" into kraken 2010-05-12 14:54:42 -07:00
Wu-cheng Li
f355b34014 am 9813a3a2: am b3390135: am d8c33747: am 78624e41: Add remove method in CameraParameters class. 2010-05-12 09:14:11 -07:00
Wu-cheng Li
b339013589 am d8c33747: am 78624e41: Add remove method in CameraParameters class.
Merge commit 'd8c33747afbe98e893e0569f3bf45b67a9e8e728' into kraken

* commit 'd8c33747afbe98e893e0569f3bf45b67a9e8e728':
  Add remove method in CameraParameters class.
2010-05-12 07:55:00 -07:00
Kenny Root
68246dcec1 ZipUtilsRO rewrite based on Dalvik Zip rewrite
Change the way zip archives are handled.  This is necessary to deal with
very large (~1GB) APK files, for which our current approach of mapping
the entire file falls over.

We now do the classic scavenger hunt for the End Of Central Directory
magic on a buffer of data read from the file, instead of a memory-mapped
section.  We use what we find to create a map that covers the Central
Directory only.

If the caller is interested in unpacking the file contents, we have to
do an additional file read to discover the size of the Local File Header
section so we can skip past it.

This is based on Change I745fb15abb in the dalvik tree. Both
implementations share a common ancestry, but the cost of unifying them
outweighs the benefits of wrapping C calls.

Change-Id: Iddacb50fe913917c2845708a530872d65fdbe620
2010-05-12 05:07:48 -07:00
Jason Sams
4d3399337d Convert renderscript from using ACC to LLVM for its compiler.
This will also require application to be updated to support
the new compiler and data passing models.

Change-Id: If078e3a5148af395ba1b936169a407d8c3ad727f
2010-05-11 14:03:58 -07:00
Wu-cheng Li
78624e41da Add remove method in CameraParameters class.
bug:2672651
Change-Id: I537c817b5ca6a3d925f22febe9a5769156354d00
2010-05-11 12:54:14 +08:00
Wu-cheng Li
f0b8679b5d am 0c3bba3e: am e1b2b3b0: Merge "Add continuous focus mode constant." into kraken 2010-05-10 20:07:54 -07:00
Wu-cheng Li
e1b2b3b0d2 Merge "Add continuous focus mode constant." into kraken 2010-05-10 20:04:14 -07:00
Mathias Agopian
5705a886c6 am ef474f3f: am 4cfc21ec: am 56aed6bd: am c69775d6: Merge "fix [2664345] Flash: Bad flicker at the end of a pinch zoom." into froyo 2010-05-10 09:56:00 -07:00
Mathias Agopian
4cfc21ecd9 am 56aed6bd: am c69775d6: Merge "fix [2664345] Flash: Bad flicker at the end of a pinch zoom." into froyo
Merge commit '56aed6bde0c52658d2cb1207c0cfe8ba0a764c59' into kraken

* commit '56aed6bde0c52658d2cb1207c0cfe8ba0a764c59':
  fix [2664345] Flash: Bad flicker at the end of a pinch zoom.
2010-05-10 09:49:19 -07:00
Wu-cheng Li
ca09961484 Add continuous focus mode constant.
bug:2612447
Change-Id: I9bc3f5a47ad50722a265d50b1d28fb82a2253dc9
2010-05-10 15:14:56 +08:00
Chih-Chung Chang
fdaa7790e8 am c2ed1817: am e25cc656: Support multiple cameras in framework. 2010-05-09 20:43:47 -07:00
Chih-Chung Chang
e25cc65639 Support multiple cameras in framework.
Change-Id: I081f0fbdca4b633715ea7c3b3d42f8662d27598a
2010-05-10 11:21:14 +08:00
Mathias Agopian
2df6f51567 fix [2664345] Flash: Bad flicker at the end of a pinch zoom.
the window manger puts SurfaceViews up before they have been
rendered into, because of that surfaceflinger doesn't have
anything ready to draw for that surface when an udpate occurs
and responds by filling the surface with black.
With this fix, we only fill those areas of the framebuffer
that would otherwise be undefined (no content at all).

in the Flash case, the "flash" window is not drawn at all
until it has some content, instead the underlaying browser
window is shown.

Change-Id: Ifb610f7f8c27b88edf83e09adc4803fc295c15a1
2010-05-06 20:21:45 -07:00
Dan Egnor
f486ccb7ad am 92f6eda5: am a269d195: am ca48c88c: am 8a8658a5: Merge "Make static versions of libutils and libbinder." into froyo 2010-05-06 17:38:58 -07:00
Dan Egnor
a269d195d4 am ca48c88c: am 8a8658a5: Merge "Make static versions of libutils and libbinder." into froyo
Merge commit 'ca48c88c3d5733c4405a2fc4f7d9bb7fbba3d43f' into kraken

* commit 'ca48c88c3d5733c4405a2fc4f7d9bb7fbba3d43f':
  Make static versions of libutils and libbinder.
2010-05-06 17:35:06 -07:00
Dan Egnor
08b3d2e5ef Make static versions of libutils and libbinder.
Fix some small static-initialization-order issues (and a static-
initializers-missing issue) that result from doing so.  The static
libraries don't actually get used for anything real at the moment --
they're used for perf tests of bug 2660235.

Bug: 2660235
Change-Id: Iee2f38f79cc93b395e8d0a5a144ed92461f5ada0
2010-05-06 01:03:31 -07:00
Mathias Agopian
168f4c0d20 am 8f227c96: am 3b91e13e: make sure the server-side validates pointers/indices visible on the client side 2010-04-30 15:08:40 -07:00
Mathias Agopian
b6bac619fc am 1bb8b670: Merge "Add support for enqueuing buffers in arbitrary order" into kraken 2010-04-30 15:08:10 -07:00
Mathias Agopian
3b91e13ec7 make sure the server-side validates pointers/indices visible on the client side
Change-Id: I604f58d3fcd2d09ec7998123c627401081345cd6
2010-04-30 13:05:36 -07:00
Mathias Agopian
1bb8b670f9 Merge "Add support for enqueuing buffers in arbitrary order" into kraken 2010-04-30 12:58:11 -07:00
Mathias Agopian
b638bd08b9 am daedd81f: Merge "cleanup. waitForCondition() now uses polymorphsim instead of templtes" into kraken 2010-04-29 14:34:26 -07:00
Mathias Agopian
9ab5edd204 am 1d0fa397: Merge "fix a race condition in undoDequeue(), where \'tail\' could be computed incorrectly." into kraken 2010-04-29 14:34:21 -07:00
Mathias Agopian
daedd81f08 Merge "cleanup. waitForCondition() now uses polymorphsim instead of templtes" into kraken 2010-04-29 14:17:12 -07:00
Mathias Agopian
1d0fa397ce Merge "fix a race condition in undoDequeue(), where 'tail' could be computed incorrectly." into kraken 2010-04-29 14:16:14 -07:00
Dianne Hackborn
8640c1d0e5 am 14cee9f6: New xlarge screen size. 2010-04-28 16:58:05 -07:00
Dianne Hackborn
14cee9f688 New xlarge screen size.
Not complete, only for experimentation at this point.

This includes a reworking of how screen size configurations are matched,
so that if you are on a larger screen we can select configurations for
smaller screens if there aren't any exactly matching the current screen.

The screen size at which we switch to xlarge has been arbitrarily
chosen; the compatibility behavior has not yet been defined.

Change-Id: I1a33b3818eeb51a68fb72397568c39ab040a07f5
2010-04-28 16:51:52 -07:00
Mathias Agopian
bfe7f0b121 Add support for enqueuing buffers in arbitrary order
Also added a very simple SharedBufferStack unit test.

Change-Id: I253dbbe98a53c966b78d22d4d6dd59f8aefc8c40
2010-04-28 16:12:54 -07:00
Mathias Agopian
f590f702c8 cleanup. waitForCondition() now uses polymorphsim instead of templtes
the reason for the above change is that waitForCondition() had become
large over time, mainly to handle error cases, using inlines to
evaluate the condition doesn't buys us much anymore while it increases
code size.

Change-Id: I2595d850832628954b900ab8bb1796c863447bc7
2010-04-28 16:12:54 -07:00
Mathias Agopian
c54c12713b fix a race condition in undoDequeue(), where 'tail' could be computed incorrectly.
in the undoDequeue() case, 'tail' was recalculated from 'available' and 'head'
however there was a race between this and retireAndLock(), which could cause
'tail' to be recalculated wrongly.

the interesting thing though is that retireAndLock() shouldn't have any impact
on the value of 'tail', which is client-side only attribute.
we fix the race by saving the value of 'tail' before dequeue() and restore it
in the case of undoDequeue(), since we know it doesn't depend on retireAndLock().

Change-Id: I4bcc4d16b6bc4dd93717ee739c603040b18295a0
2010-04-28 16:12:54 -07:00
Mathias Agopian
e5ba231b55 am 9bce8737: more surfaceflinger cleanups 2010-04-21 22:40:21 -07:00
Mathias Agopian
fb3c87f2f4 am 33c8e2b8: Merge "better fix for [2420565] Surface.lockCanvas() updates the dirty region too often" into kraken 2010-04-21 22:33:18 -07:00
Mathias Agopian
9bce8737f2 more surfaceflinger cleanups
get rid of the "fake rtti" code, and use polymorphism instead.
also simplify how we log SF's state (using polymorphism)

Change-Id: I2bae7c98de4dd207a3e2b00083fa3fde7c467922
2010-04-21 22:28:20 -07:00
Mathias Agopian
a8a0aa8b92 better fix for [2420565] Surface.lockCanvas() updates the dirty region too often
Change-Id: I83438b40effd21538f1c74396dc665254b9d5ab6
2010-04-21 22:25:35 -07:00
Mathias Agopian
83512d4dfc DO NOT MERGE fix [2557396] Adreno200: glDrawTexi() doesn't work with height <= 16
don't use glDrawTexi() anymore

Change-Id: If71334de39114b0edce7771366f8d8dc26f6911e
2010-04-20 21:55:40 -07:00
Mathias Agopian
345dd8ef83 am b834b38a: Merge "added setCrop() to android_native_window_t" into kraken 2010-04-20 16:37:29 -07:00
Mathias Agopian
2ff1ef2c8e am 827cda45: Merge "add support for up to 16 buffers per surface" into kraken 2010-04-20 16:37:25 -07:00
Mathias Agopian
b834b38a28 Merge "added setCrop() to android_native_window_t" into kraken 2010-04-20 16:28:24 -07:00
Mathias Agopian
827cda456a Merge "add support for up to 16 buffers per surface" into kraken 2010-04-20 16:28:14 -07:00
Mathias Agopian
62788470df am 360865e2: Merge "clean-up surfaceflinger a bit" into kraken 2010-04-20 16:08:06 -07:00