477 Commits

Author SHA1 Message Date
Romain Guy
207b3ab604 Load assets in place instead of deferring until draw.
Before this change, all framework assets would be decoded at drawing time
outside of zygote. This was forcing all apps to re-decode the assets and
zygote to keep an in-memory copy of each asset. This behavior is now
opt-in by setting the inPurgeable flag on BitmapFactory.Options.

Change-Id: Ic703f57adb26b2a701ecff0a653d35a93e26d47c
2010-08-19 14:41:16 -07:00
Romain Guy
646b64cf9d Merge "Load opaque assets in RGB-565 until Bitmap.hasAlpha() works properly." 2010-08-19 10:47:41 -07:00
Romain Guy
4b7cc64028 Load opaque assets in RGB-565 until Bitmap.hasAlpha() works properly.
Change-Id: I1106855e9f2255c1b78fd76a3fe1c116b3c2fb87
2010-08-19 10:47:06 -07:00
Alex Sakhartchouk
3e5ea4a814 Merge "Renderscript samples. Merged two model related projects. Cleanup." 2010-08-19 09:15:48 -07:00
Alex Sakhartchouk
27f50523a4 Renderscript samples. Merged two model related projects. Cleanup.
Change-Id: I6fdc70420eee7dfecf0b051fd687e5797c6580ce
2010-08-18 15:46:43 -07:00
Jason Sams
2ea56efb1f Merge "Remove OOB object destruction." 2010-08-18 12:39:38 -07:00
Bjorn Bringert
a006b47298 New API and implementation of DB and memory-backed FDs
This depends on a kernel patch that implements read(2)
in the ashmem driver.

Bug http://b/issue?id=2595601

Change-Id: Ie3b10aa471aada21812b35e63954c1b2f0a7b042
2010-08-18 15:39:52 +01:00
Jason Sams
fb545906ad Merge "Make java entry points for native fifo synchronized." 2010-08-17 19:29:17 -07:00
Jason Sams
d78be37d81 Remove OOB object destruction.
Change-Id: Icaa06aca4a701ec663c124d3141d9dbb633d7dc1
2010-08-17 19:28:29 -07:00
Jason Sams
2e1872fe07 Make java entry points for native fifo synchronized.
Change-Id: I1baf2beb920016f0202042982075cbce1e67df42
2010-08-17 16:25:41 -07:00
Joseph Wen
1b10d3d235 am 81dcea60: am f1f48bc7: Do JPEG tile-based decoding.
Merge commit '81dcea6093dfcdadd52982505249a5eacf47a81b'

* commit '81dcea6093dfcdadd52982505249a5eacf47a81b':
  Do JPEG tile-based decoding.
2010-08-17 00:35:06 -07:00
Joseph Wen
81dcea6093 am f1f48bc7: Do JPEG tile-based decoding.
Merge commit 'f1f48bc7f200f54c76b22d845d8ba8419879b375' into gingerbread-plus-aosp

* commit 'f1f48bc7f200f54c76b22d845d8ba8419879b375':
  Do JPEG tile-based decoding.
2010-08-17 00:31:34 -07:00
Joseph Wen
f1f48bc7f2 Do JPEG tile-based decoding.
Change-Id: I5c1b4ac3c02eb4350ef0ba9a7877b22cfd730cfb
2010-08-17 14:34:02 +08:00
Romain Guy
1e45aae5de Add drop shadows.
Change-Id: Ic6a72409d4785968d1fbdff229f17ee5c00b240b
2010-08-13 19:41:14 -07:00
Alex Sakhartchouk
04ba60895a Merge "Renderscript scenegraph prototype." 2010-08-13 10:45:48 -07:00
Alex Sakhartchouk
094a068bc4 Renderscript scenegraph prototype.
Change-Id: Ic4daaf6eca8850caf46bd766e148cf12eb6c6ca1
2010-08-13 10:44:14 -07:00
Romain Guy
e0b8d3cbf7 Merge "Fix GC issue, fix local shader transformations." 2010-08-12 15:37:33 -07:00
Romain Guy
0ba681bce1 Fix GC issue, fix local shader transformations.
Change-Id: I208bdf89815dcd18dcadd43df932a77362918435
2010-08-12 15:37:00 -07:00
Jason Sams
4199175ff3 Merge "Fix field packer bug for U32 data. Fix initial refcounts in allocations. Support null references in allocations." 2010-08-12 12:49:17 -07:00
Jason Sams
ee73498ddf Fix field packer bug for U32 data.
Fix initial refcounts in allocations.
Support null references in allocations.

Change-Id: Ifba6406ba750e69737bd77fa7df5d7fb8e27a5b4
2010-08-12 12:47:04 -07:00
Alex Sakhartchouk
0de9444aa6 Preparing renderscript java code for use with phanton references.
Changing rs_quaternion to be float4

Change-Id: Ibf49f412be8979eaa04cb252b407467eacd9dbf0
2010-08-12 10:16:55 -07:00
Romain Guy
6416d5d792 Merge "Fix crash in Market." 2010-08-11 14:24:20 -07:00
Romain Guy
3f9b5a253f Fix crash in Market.
Bug #2911272

Change-Id: I065e21b9d005ad693e1af1ad82755b5c2ae7b722
2010-08-11 14:23:43 -07:00
Alex Sakhartchouk
0dde1f89a4 Merge "Adding quaternion functions to math library." 2010-08-11 09:02:51 -07:00
Romain Guy
8918190a19 Support non-PorterDuff xfermodes with Xfermode.
Change-Id: Icef17b72da2d047a24aaac1ddf5cdae77b40d5b4
2010-08-10 21:55:44 -07:00
Alex Sakhartchouk
facd6fc4be Adding quaternion functions to math library.
Change-Id: I692214648892120943ca7d3b00034e27d1c330cf
2010-08-10 17:34:39 -07:00
Romain Guy
a48a1a87ba Fast text selection drawing.
Change-Id: I93fb1312b47bc05345defa9b6cfe47c0658bb329
2010-08-10 14:59:15 -07:00
Romain Guy
61c8c9c5b2 Fix tons of bugs and add new text rendering support.
Change-Id: I326c66b10784006f6df2f12d38e120cef94cd0d7
2010-08-10 12:22:01 -07:00
Romain Guy
02890fd0f9 Replace Bitmap's finalizers with PhantomReferences.
This change also removes the use of SoftReferences for View's
drawing cache.

A bitmap now creates a PhantomReference enqueued in a reference
queue provided by the new Finalizers class. This queue is polled
from a thread started after forking zygote. That thread is in charge
of clearing the references after GC runs and of calling reclaim()
on them. The reclaim() method is now how finalizers are run.

Note that a PhantomReference cannot be kept in the instance it
refers to, which is why they are kept in a separate List.

Change-Id: If3c1a5e9dc23fa49e34857860d730f5cf5ad5926
2010-08-09 09:44:40 -07:00
Romain Guy
1639351139 Make libhwui entirely optional.
The makefile variable USE_OPENGL_RENDERER must be set to true to compile
libhwui and the related code in the JNI layer.

This change also removes obsolete APIs from Canvas that must not be used
and would be confusing if left in. These APIs were remnants of our first
attempt at an OpenGL renderer for the view hierarchy and had not been
taken out before Android 1.0 was released.

Change-Id: I2475ff1307212bab26c926724f3c508681c7dae1
2010-08-08 17:45:07 -07:00
Romain Guy
de0547c07a Prevent memory leak with ComposeShader.
Change-Id: I926186c96b3c61085cdb6173d56d3a15a04ac95b
2010-08-07 23:05:17 -07:00
Romain Guy
9e044aed21 Fix NPE in RoundRectShape.
Change-Id: I3cef1b2723e5ebf3583f91b1bfe8121c0f6d253d
2010-08-06 14:27:30 -07:00
Romain Guy
7fbcc0492f Add support for paths.
Rendering is implementing by rasterizing the paths into A8 textures.
This cna be extremely inefficient if the path changes often.

Change-Id: I609343f304ae38e0d319359403ee73b9b5b3c93a
2010-08-05 17:23:49 -07:00
Alex Sakhartchouk
518f033b68 Adding more matrix math functions.
Fixing build.

Change-Id: Ie0f6724ba063ada94d1d44d99bbe56e21d9bd72f
2010-08-05 10:28:43 -07:00
Jason Sams
442a647424 Support constant and varying colors in ProgramFragment.
Change-Id: I16ce84ff427016f3a1923594efc718eca32dd7f2
2010-08-05 10:00:21 -07:00
Alex Sakhartchouk
fb10c16a05 Added ability to set font color.
Propagating the name of meshes and allocations from native a3d to java

Change-Id: If781f55340b5369459610e5e92ea69e240dcd24e
2010-08-04 14:45:48 -07:00
Alex Sakhartchouk
cf9a44cdf3 Adding matrix class methods.
Change-Id: I597b1b3955e29921394909f302800034571e6a50
2010-08-04 10:48:30 -07:00
Romain Guy
db1938e0e6 Add support for ColorFilters.
Color filters are fully supported and can be used with shaders.

Change-Id: Id90ccf1c81cb462f2431f366f3f8f710d7971e04
2010-08-02 18:50:56 -07:00
Romain Guy
06f96e2652 Refactor Skia shaders handling.
With this change, Skia shaders can easily be applied to any mesh. This change also
supports ComposeShader. For instance, this can be used to blend a gradient and a
bitmap togehter and paint a string of text with the result.

Change-Id: I701c2f9cf7f89b2ff58005e8a1d0d80ccf4a4aea
2010-07-30 19:18:16 -07:00
Romain Guy
694b519ac6 Add text rendering.
Change-Id: Ibe5a9fa844d531b31b55e43de403a98d49f659b9
2010-07-21 21:33:20 -07:00
Romain Guy
a1db574036 Add preliminary support for text rendering.
Change-Id: I547eb631dbda24d13960d54b4144fb8908fd8a49
2010-07-20 16:37:27 -07:00
Romain Guy
f9764a4f53 Add program for linear gradient.
This change adds a new DrawLinearGradientProgram class to enable the drawing
of linear gradients. Two new vertex and fragment shaders are introduced,
based on DrawTextureProgram's shaders.

Change-Id: I885afc076bb6cef8cd3962ae21a086fa6a03bf96
2010-07-16 23:18:27 -07:00
Romain Guy
7fac2e1833 Add plumbing to support gradients in OpenGL renderer.
The LinearGradient class keeps a copy of the various parameters that
define the gradient. The copies are native arrays to avoid copying
Java arrays on every draw call. The gradient code path is implemented
until OpenGLRenderer::drawRect() (see TODO.) The actual gradient
implementation will be added in a latter change.

Change-Id: I9300d250ef5e2e9c2e097c3116ee71dfc9d752d8
2010-07-16 17:10:13 -07:00
Romain Guy
079ba2c85b Improve clip support (add intersect, union and replace.)
This change also modifies the way the clip is stored. The clip is now
always stored in screen-space coordinates.

Change-Id: I96375784d82dfe975bc6477a159e6866e7052487
2010-07-16 14:12:24 -07:00
Alex Sakhartchouk
51b7ebc652 Merge "Populate java objects with native data from a3d file. Remove legacy constructor from programraster Make a3d object creation synchronous" 2010-07-15 15:19:07 -07:00
Romain Guy
c96cdc9844 Merge "Add support for BitmapShader." 2010-07-15 14:45:37 -07:00
Romain Guy
d27977d1a9 Add support for BitmapShader.
This change also fixes an issue with the clip and layers.

Change-Id: I5fd9832098d8cf7ae8eb781ff9bffe7defaea279
2010-07-15 14:44:42 -07:00
Alex Sakhartchouk
dfac814c18 Populate java objects with native data from a3d file.
Remove legacy constructor from programraster
Make a3d object creation synchronous

Change-Id: Ic7d7547cf6eee6f9a7c6e3ee12cd104e80056a7b
2010-07-15 14:02:54 -07:00
Jim Shuma
506821b406 Merge "Making Program*.Builder classes' setters return 'this'" 2010-07-15 13:43:52 -07:00
Jim Shuma
288c8711a6 Making Program*.Builder classes' setters return 'this'
This is for better correspondence with the Builder pattern.
See also: Effective Java, 2nd edition.

Change-Id: Iecccd42be49dea2ed8e4b8cc38ce96379cf3c11c
2010-07-15 13:42:02 -07:00