1494 Commits

Author SHA1 Message Date
Romain Guy
a979474f15 Cleanup: remove unnecessary parameters.
Change-Id: I5956ef1db6be28a01369387aaeeb65a94656c48c
2010-07-13 11:37:54 -07:00
Romain Guy
92429d9266 Fix premultiplied alpha.
Change-Id: I08da422c5350503e1f4f27b9890f15a813d0c6c7
2010-07-12 20:27:17 -07:00
Romain Guy
6926c72e25 Correctly support pre-multiplied alpha, optimizations, more stuff.
Add support for the following drawing functions:
- drawBitmap(int[]...)
- drawPaint()

Optimizes shader state changes by enabling/disabling attribute arrays
only when needed.

Adds quick rejects when drawing trivial shapes to avoid unnecessary
OpenGL operations.

Change-Id: Ic2c6c2ed1523d08a63a8c95601a1ec40b6c7fbc9
2010-07-12 20:20:03 -07:00
Romain Guy
260e102162 Optimize shader binding changes.
This change also cleans up the internal API a little bit by using mat4
everywhere instead of float[16] (for the ortho matrix for instance.)

Change-Id: I35924c7dc17bad17f30307118d5ed437c2ed37e0
2010-07-12 14:43:40 -07:00
Romain Guy
d12315ae7e Merge "Remove math from the vertex shader." 2010-07-12 14:17:16 -07:00
Kenny Root
f27c6c1001 am ceb8465e: am 87bb1857: Merge changes I2337051b,I19b426cb into gingerbread
Merge commit 'ceb8465e974ba5fa971ffe1b5b74e94a1bd53f97'

* commit 'ceb8465e974ba5fa971ffe1b5b74e94a1bd53f97':
  Tweak ObbFile class
  Allow things that can install packages to set Obb paths
2010-07-12 11:22:45 -07:00
Kenny Root
ceb8465e97 am 87bb1857: Merge changes I2337051b,I19b426cb into gingerbread
Merge commit '87bb18579a5eea2e24af78af8c0f54f5455ce8fd' into gingerbread-plus-aosp

* commit '87bb18579a5eea2e24af78af8c0f54f5455ce8fd':
  Tweak ObbFile class
  Allow things that can install packages to set Obb paths
2010-07-12 11:20:04 -07:00
Kenny Root
87bb18579a Merge changes I2337051b,I19b426cb into gingerbread
* changes:
  Tweak ObbFile class
  Allow things that can install packages to set Obb paths
2010-07-12 11:18:34 -07:00
Kenny Root
87315aa1f0 Tweak ObbFile class
* Move error messages around to clarify the errors.

* Add extra error check when reading a file.

* Seek to the end of a file when writing the signature so the users of
  the API don't have to remember to do it.

Change-Id: I2337051b9f9fa8147c5900237deec790dcd92436
2010-07-12 09:11:24 -07:00
Romain Guy
0b9db91c3d Remove math from the vertex shader.
Change-Id: I02847a60a8734bf8b3d29ec12e76297795095e38
2010-07-09 18:53:25 -07:00
Dianne Hackborn
8445ca6c3b am b14f325a: am 289b9b62: Add ANativeWindow API for directly drawing to the surface bits.
Merge commit 'b14f325a0118ffce286155caaabaae149653462c'

* commit 'b14f325a0118ffce286155caaabaae149653462c':
  Add ANativeWindow API for directly drawing to the surface bits.
2010-07-09 17:05:23 -07:00
Dianne Hackborn
b14f325a01 am 289b9b62: Add ANativeWindow API for directly drawing to the surface bits.
Merge commit '289b9b62372ef52a06113b83dfb870e2c2fb325a' into gingerbread-plus-aosp

* commit '289b9b62372ef52a06113b83dfb870e2c2fb325a':
  Add ANativeWindow API for directly drawing to the surface bits.
2010-07-09 17:03:14 -07:00
Dianne Hackborn
289b9b6237 Add ANativeWindow API for directly drawing to the surface bits.
Also other cleanup and fixes:

- We now properly set the default window format to 565.
- New APIs to set the window format and flags from native code.
- Tweaked glue for simpler handling of the "destroy" message.
- Um, other stuff.

Change-Id: Id7790a21a2fa9a19b91854d225324a7c1e7c6ade
2010-07-09 16:58:19 -07:00
Romain Guy
4670268f47 Merge "Fix alpha blending and improve fragment shaders performance." 2010-07-09 16:15:35 -07:00
Romain Guy
16202fc974 Fix alpha blending and improve fragment shaders performance.
Change-Id: Ib74f6941d25ca6f6a41708e541174eaa7e8d9bc2
2010-07-09 16:13:28 -07:00
Jason Sams
53a93d5e91 Remove points from fixed function.
Add basic GL performance test.

Change-Id: I421a41b6683b2c5f70045cdd0f610a6939105fee
2010-07-09 15:34:32 -07:00
Romain Guy
fb5e23c327 Refactoring to move vertex computing to the Patch class.
This change is mostly cleanup to keep less code in OpenGLRenderer.

Change-Id: I954375143b2943829457ab470423729b60b844f5
2010-07-09 13:52:56 -07:00
Romain Guy
82ba814ca0 Optimize blending state changes.
Change-Id: I7c22a8aecccb8b5abfcf7243f049a4ef3cf3979a
2010-07-09 13:25:56 -07:00
Romain Guy
831e550b49 Merge "Draw n-patches using OpenGL." 2010-07-08 19:21:13 -07:00
Romain Guy
f7f93556c8 Draw n-patches using OpenGL.
Currently only tested with title bars and buttons.

Change-Id: I8263a9281898dc0e943b1b8412827fe55639b9d6
2010-07-08 19:19:07 -07:00
Dianne Hackborn
d8a6271bb1 am 49159f07: am 74bf59b4: Merge "Add new glue code for writing native apps." into gingerbread
Merge commit '49159f0748c704e53a7bd754f26113d9ab844a97'

* commit '49159f0748c704e53a7bd754f26113d9ab844a97':
  Add new glue code for writing native apps.
2010-07-08 19:10:17 -07:00
Kenny Root
28e230352b am d481cdd4: am c9535de8: Merge "Add OBB file helper class" into gingerbread
Merge commit 'd481cdd4c0305f8afd857fe3ec3fbf189b744370'

* commit 'd481cdd4c0305f8afd857fe3ec3fbf189b744370':
  Add OBB file helper class
2010-07-08 19:08:57 -07:00
Jeff Brown
1a33274d28 resolved conflicts for merge of 167449e5 to master
Change-Id: Ib448e69a726eb45b5c9099d2574e40b8345eee67
2010-07-08 19:01:13 -07:00
Dianne Hackborn
49159f0748 am 74bf59b4: Merge "Add new glue code for writing native apps." into gingerbread
Merge commit '74bf59b450daf9e7e6bf234f01db164099edbfd5' into gingerbread-plus-aosp

* commit '74bf59b450daf9e7e6bf234f01db164099edbfd5':
  Add new glue code for writing native apps.
2010-07-08 12:26:32 -07:00
Romain Guy
818505aa30 Merge "Create FBOs in LayerCache." 2010-07-08 11:48:34 -07:00
Romain Guy
f18fd99b5c Create FBOs in LayerCache.
This moves a bit of code away from OpenGLRenderer and matches
what happens with the TextureCache.

Change-Id: I3c67f54f83d7240770daa015861c0e75a1dd8c42
2010-07-08 11:45:51 -07:00
Dianne Hackborn
85448bbecd Add new glue code for writing native apps.
This factors out the boiler-plate code from the sample
app to a common glue code that can be used for everyone
writing this style of app: a dedicated app thread that
takes care of waiting for events and processing them.

As part of doing this, ALooper has a new facility to allow
registration of fds that cause ALooper_pollOnce() to return
the fd that has data, allowing the app to drive the loop
without callbacks.  Hopefully this makes some people feel better. :)

Also do some other cleanup of the ALooper API, plus some
actual documentation.

Change-Id: Ic53bd56bdf627e3ba28a3c093faa06a92be522b8
2010-07-08 11:06:59 -07:00
Eric Laurent
98449546fa am b91881fd: am dacabf97: Merge "Added Visualizer effect." into gingerbread
Merge commit 'b91881fdd1608cc922f105ec552b5505da1fecb9'

* commit 'b91881fdd1608cc922f105ec552b5505da1fecb9':
  Added Visualizer effect.
2010-07-07 20:55:40 -07:00
Jason Sams
9c959e77f1 Merge "Fix image processing resource problem for non high-density devices. Protect include file." 2010-07-07 18:52:21 -07:00
Kenny Root
d481cdd4c0 am c9535de8: Merge "Add OBB file helper class" into gingerbread
Merge commit 'c9535de8e398d766c95144f9a831f34b2cecfd91' into gingerbread-plus-aosp

* commit 'c9535de8e398d766c95144f9a831f34b2cecfd91':
  Add OBB file helper class
2010-07-07 18:16:01 -07:00
Kenny Root
c9535de8e3 Merge "Add OBB file helper class" into gingerbread 2010-07-07 18:14:13 -07:00
Romain Guy
deba785f12 Add support to draw 9patches in OpenGL.
This change only adds the necessary API and stubs. The implementation
will be added in another change.

Change-Id: Ie50b8aff5868e78796cee331df15bdbf990d2ea1
2010-07-07 17:55:03 -07:00
Chris Tate
167449e5f8 am b17f4dcf: Merge "More native input dispatch work." into gingerbread
Merge commit 'b17f4dcfb3edba25bd8c30e60449b9bbcd600a57' into gingerbread-plus-aosp

* commit 'b17f4dcfb3edba25bd8c30e60449b9bbcd600a57':
  More native input dispatch work.
2010-07-07 17:45:21 -07:00
Chris Tate
b17f4dcfb3 Merge "More native input dispatch work." into gingerbread 2010-07-07 17:43:12 -07:00
Jason Sams
6c8c2f22e9 Fix image processing resource problem for non high-density devices.
Protect include file.

Change-Id: I5c6721033b37e35261b9fe424d74d3aef0620791
2010-07-07 17:08:07 -07:00
Eric Laurent
b91881fdd1 am dacabf97: Merge "Added Visualizer effect." into gingerbread
Merge commit 'dacabf97c609a040ada857a7da6c560097448ae3' into gingerbread-plus-aosp

* commit 'dacabf97c609a040ada857a7da6c560097448ae3':
  Added Visualizer effect.
2010-07-07 16:34:57 -07:00
Eric Laurent
dacabf97c6 Merge "Added Visualizer effect." into gingerbread 2010-07-07 16:23:30 -07:00
Romain Guy
6c81893c62 Simpler way to deal with the FBO multi-cache.
This change removes the need for the SortedList and instead just
add a generated id to each FBO stored in the cache. This is an
artificial way to store several FBOs with the same dimensions.

Change-Id: I9638364e9bdc0f2391261937a0c86096f20505bf
2010-07-07 15:15:32 -07:00
Romain Guy
5f0c6a4839 Optimize FBO cache.
This change introduces a new generational cache called GenerationMultiCache
that can store several values with the same key. This can be used to use
multiple layers of the same size at the same time, without recreating them
over and over again.

Change-Id: I425466a20908b862c5f464a0f9e582ec18cbd7ac
2010-07-07 13:06:26 -07:00
Eric Laurent
df9b81ced4 Added Visualizer effect.
The visualizer enables application to retrieve part of the currently playing audio for visualization purpose.
It is not an audio recording interface and only returns partial and low quality audio content as a waveform or
a frequency representation (FFT).

Removed temporary hack made in MediaPlayer for animated wall papers based on audio visualization (snoop() method.

This commit also includes a change in AudioEffect class:
 - the enable()/disable() methods have been replaced bya more standard setEnabled() method.
 - some fixes in javadoc

Change-Id: Id092a1340e9e38dae68646ade7be054e3a36980e
2010-07-07 11:00:28 -07:00
Kenny Root
7cee34a051 Add OBB file helper class
ObbFile is a binary blob that will be used in packaging large files
with smaller APKs.

Change-Id: Ib1594346cfa2f49113de6565af77c24efbd89d63
2010-07-07 09:57:50 -07:00
Dianne Hackborn
97250d5c4a am e24901d3: am 68267415: Add new native Looper API.
Merge commit 'e24901d3adb28fff72821d4e8e2ccc25b2184550'

* commit 'e24901d3adb28fff72821d4e8e2ccc25b2184550':
  Add new native Looper API.
2010-07-07 09:14:57 -07:00
Dianne Hackborn
e24901d3ad am 68267415: Add new native Looper API.
Merge commit '682674154e3fe88f6061245145f934f25f1a2eb8' into gingerbread-plus-aosp

* commit '682674154e3fe88f6061245145f934f25f1a2eb8':
  Add new native Looper API.
2010-07-07 09:04:19 -07:00
Romain Guy
8cb6240125 Merge "Add a layer (FBO) cache." 2010-07-06 12:07:09 -07:00
Romain Guy
dda570201a Add a layer (FBO) cache.
The cache is used to draw layers so that a new
texture does not have to be recreated every time
a call to saveLayer() happens.

The FBO cache used a KeyedVector, which is a bad
idea. The cache should be able to store several
FBOs of the same size (this happens a lot during
scrolling with fading edges for instance.) This
will be changed in a future CL.

Change-Id: Ic316189e625f0dbcf0d273a71cc981a433d48726
2010-07-06 12:00:33 -07:00
Jeff Brown
00fa7bdd69 More native input dispatch work.
Removed old input dispatch code.
Refactored the policy callbacks.
Pushed a tiny bit of the power manager state down to native.
Fixed long press on MENU.
Made the virtual key detection and cancelation a bit more precise.

Change-Id: I5d8c1062f7ea0ab3b54c6fadb058c4d5f5a9e02e
2010-07-03 19:23:01 -07:00
Dianne Hackborn
682674154e Add new native Looper API.
This allows us to avoid exposing the file descriptor of
the event queue; instead, you attach an event queue to
a looper.  This will also should allow native apps to be
written without the need for a separate thread, by attaching
the event queue to the main thread's looper and scheduling
their own messages there.

Change-Id: I38489282635895ae2cbfacb88599c1b1cad9b239
2010-07-02 18:57:02 -07:00
Jason Sams
26657e7388 Merge "Improve multitouch support so pointers other than 0 can change colors." 2010-07-02 15:35:49 -07:00
Jason Sams
c70e5b7988 Merge "Cleanup pass on the mesh api change. Removed all the simple mesh related calls and temporary objects." 2010-07-02 15:11:05 -07:00
Alex Sakhartchouk
8287a9bc5e Cleanup pass on the mesh api change.
Removed all the simple mesh related calls and temporary objects.

Change-Id: Ic64a72a894e0314f216f10e1cfc0d45b17e2e182
2010-07-02 12:14:26 -07:00