2727 Commits

Author SHA1 Message Date
Jason Sams
887a834c47 Merge "Attempt to fix 3333866 Missing memory barrier when the non-locking past path is hit." into honeycomb 2011-01-25 00:23:41 -08:00
Romain Guy
82d41a5153 Fix display list support for shapes.
Change-Id: I8b4c9e9ec36266a83c0a53ba3fb6e45d61bbd6d9
2011-01-24 21:53:42 -08:00
Romain Guy
8168396d1a Fix rendering issues with animated layers.
Bug #3385247

- The layer's alpha was interpreted in the wrong range 0..255 instead of 0..1
- 9-patches would not correctly dirty the layer region, the generated mesh
  was incorrect

Change-Id: I4916249bedcdb0794929f3796bd17854971efc88
2011-01-24 20:40:18 -08:00
Romain Guy
2ff6d70521 Merge "Enable partial invalidates when rendering with OpenGL." into honeycomb 2011-01-24 18:38:00 -08:00
Romain Guy
7d7b5490a0 Enable partial invalidates when rendering with OpenGL.
Change-Id: Ie8be06c4776b815e8737753eb8003b4fd8936130
2011-01-24 18:39:56 -08:00
Jason Sams
fcecc244a7 Attempt to fix 3333866
Missing memory barrier when the non-locking past
path is hit.

Change-Id: I80db7df547c1ce35ed85ba117519b12679cc42ef
2011-01-24 17:33:21 -08:00
Jason Sams
a4967facf4 Merge "Cleanup script init to fix bogus log printing and reduce memory churn." into honeycomb 2011-01-24 17:30:38 -08:00
Stephen Hines
7e893e1ddf Add missing functions to math library.
This also updates the math test suite to exercise all the basic operator
functions (except __udivsi3 which may not be 100% necessary). There is also a
small fix for rsQuaternionMultiply().

Change-Id: Id157e6d5ebe2e20c17e8ea7b13ffaa74c241838c
b: 3203577
2011-01-24 13:56:30 -08:00
Chet Haase
daf98e941e Use optimized display lists for all hwaccelerated rendering
Previously, display lists were used only if hardware acceleration
was enabled for an application (hardwareAccelerated=true) *and* if
setDrawingCacheEnabled(true) was called. This change makes the framework
use display lists for all views in an application if hardware acceleration
is enabled.

In addition, display list renderering has been optimized so that
any view's recreation of its own display list (which is necessary whenever
the visuals of that view change) will not cause any other display list
in its parent hierarchy to change. Instead, when there are any visual
changes in the hierarchy, only those views which need to have new
display list content will recreate their display lists.

This optimization works by caching display list references in each
parent display list (so the container of some child will refer to its
child's display list by a reference to the child's display list). Then when
a view needs to recreate its display list, it will do so inside the same
display list object. This will cause the content to get refreshed, but not
the reference to that content. Then when the view hierarchy is redrawn,
it will automatically pick up the new content from the old reference.

This optimization will not necessarily improve performance when applications
need to update the entire view hierarchy or redraw the entire screen, but it does
show significant improvements when redrawing only a portion of the screen,
especially when the regions that are not refreshed are complex and time-
consuming to redraw.

Change-Id: I68d21cac6a224a05703070ec85253220cb001eb4
2011-01-24 08:43:20 -08:00
Jason Sams
c55de66ad2 Cleanup script init to fix bogus log printing and
reduce memory churn.

Change-Id: I0bf5392102e3d59fea81f5f9f832887113602b7f
2011-01-23 17:48:45 -08:00
Romain Guy
a566b7c3aa Fix bitmap meshes to work in display lists.
Change-Id: Ie226d049840942d9ad9cf58e0c19132f49d62a75
2011-01-23 16:36:11 -08:00
Romain Guy
8b2f5267f1 Add support for arcs.
Change-Id: I96c057ff4eb1b464b03f132da0b85333777bee4f
2011-01-23 16:15:02 -08:00
Romain Guy
c1cd9ba335 Add support for ovals and stroked rectangles.
Change-Id: I1292e241386763c82e6622c8f7ed90b0f5b7bd4f
2011-01-23 14:18:41 -08:00
Romain Guy
f6834478b3 Always render text underline extra.
Bug #3381287

Change-Id: Ibfbc9c51c8dccef216daccc37d835e5dbf143a6a
2011-01-23 13:32:12 -08:00
Romain Guy
27454a42de Collapse sucessive calls to restoreToCount() in display lists.
Change-Id: Icb3d3dc2c579436d375269a9cb0b821a931c5a79
2011-01-23 12:01:41 -08:00
Romain Guy
4cf6e2f349 Fix potential crash in display lists.
Change-Id: I868821cbe69f7e71d93701b9cdb528a2ef796cd4
2011-01-23 11:35:13 -08:00
Romain Guy
c88e357d1e Fix regression with hardware layers.
The renderer was checking whether the layer's region is a rect to
draw it with a simple quad. This test was done against the layer's
region structure, which was cleared after generating the mesh.
Unfortunately Region::isRect() returns true when the region is
empty, which was causing the renderer to always use a quad to
draw a mesh on screen.

Change-Id: If4b874579ee0cedcb67367c9efa5c0c98ca55231
2011-01-22 00:35:23 -08:00
Romain Guy
acf36126e4 Merge "Log only 1 line per process when using OpenGLRenderer." into honeycomb 2011-01-21 21:15:40 -08:00
Romain Guy
c9855a53ed Log only 1 line per process when using OpenGLRenderer.
Change-Id: Idbdd6b84f31301e58ed53e0d50fd61fece192dfa
2011-01-21 21:14:15 -08:00
Shih-wei Liao
f1f710538e Merge "Handle fatal errors from calling bccRegisterSymbolCallback (if any)." into honeycomb 2011-01-20 23:10:39 -08:00
Romain Guy
99d49118b8 Merge "Add support for drawBitmapMesh()." into honeycomb 2011-01-20 19:07:28 -08:00
Romain Guy
5a7b466a2b Add support for drawBitmapMesh().
Change-Id: Ic77f9c534bb90dc7b9458299544bd50b8b6ae6a5
2011-01-20 19:09:30 -08:00
Shih-wei Liao
040d7d8ce7 Handle fatal errors from calling bccRegisterSymbolCallback (if any).
Change-Id: I53f35b6efd26abc1e8559f6f1e37abb55a1df7db
2011-01-20 12:35:44 -08:00
Mathias Agopian
a423d86800 Merge "clean-up unneeded code" into honeycomb 2011-01-20 12:25:26 -08:00
Stephen Hines
2e0f0bb3fe Merge "Remove unnecessary library functions." into honeycomb 2011-01-20 12:23:32 -08:00
Mathias Agopian
1d4549ab03 clean-up unneeded code
now that we removed the notion of a "inUse" buffer in surfaceflinger
a lot of code can be simplified / removed.

noteworthy, the whole concept of "unlockClient" wrt. "compositionComplete"
is also gone.

Change-Id: I210413d4c8c0998dae05c8620ebfc895d3e6233d
2011-01-20 12:10:11 -08:00
Stephen Hines
a16a981453 Remove unnecessary library functions.
Change-Id: I47fadb2b9e8b9e9ef5f139470366ce43c75fadbb
2011-01-20 11:59:07 -08:00
Romain Guy
ff26a0c1c9 Remove unnecessary code.
Change-Id: I83eba3406c26a4028af08b4d4c95ecd02803e75a
2011-01-20 11:39:09 -08:00
Romain Guy
ed8f8dd8cf Merge "Add rounded rects and circles support to OpenGLRenderer." into honeycomb 2011-01-19 21:52:49 -08:00
Romain Guy
01d58e43ed Add rounded rects and circles support to OpenGLRenderer.
Change-Id: I6cedf2b495d58de7c0437096809fa9e4518a1b8c
2011-01-19 21:55:10 -08:00
Mathias Agopian
baf9af94a6 Merge "Use EGL_NATIVE_VISUAL_ID to select EGLConfig" into honeycomb 2011-01-19 18:22:45 -08:00
Mathias Agopian
81ae965133 Use EGL_NATIVE_VISUAL_ID to select EGLConfig
EGLUtils::selectConfigForPixelFormat() now uses EGL_NATIVE_VISUAL_ID
to select a config with the proper format. this is more robust and
future proof.

Change-Id: I7245d904adab1e339f062b9b498ddd9324cfe7a4
2011-01-19 18:21:15 -08:00
Jason Sams
a82bcf6a55 Merge "Remove some old logging code." into honeycomb 2011-01-19 17:50:15 -08:00
Jason Sams
89f8b1e093 Remove some old logging code.
Change-Id: Ide5d91aadbc9f5b475da38762bc350ac237347d1
2011-01-19 17:49:24 -08:00
Stephen Hines
eb60932a19 Merge "Clean up RS math fp library functions." into honeycomb 2011-01-19 17:24:53 -08:00
Mathias Agopian
8bb9131c66 Merge "fix [3367893] Rotating device on YouTube's home screen several times kills system_server" into honeycomb 2011-01-19 17:01:22 -08:00
Mathias Agopian
578b7a2265 fix [3367893] Rotating device on YouTube's home screen several times kills system_server
A typo in RS tear down cause caused eglMakeCurrent to fail. Additionnaly,
EGLSurfaces where not destroyed explicitely.
Everything worked properly when only one RS context was used, as
eglTerminate() would clean-up everything.

however in the present case, there seem to be more than one RS context
and eglTerminate() is not called.

Change-Id: I37a10945b9c0a85c4f7abad1c4f4c24bc0daa0a5
2011-01-19 16:58:10 -08:00
Jason Sams
1368436e42 Merge "Check and propogate errors from llvm." into honeycomb 2011-01-19 16:49:17 -08:00
Stephen Hines
833166d274 Clean up RS math fp library functions.
Change-Id: Ibe87b06a7f40a3889d63310641359d98bdff066c
2011-01-19 16:34:10 -08:00
Mathias Agopian
0fb9c5dcc7 Merge "improve SurfaceFlinger 'dumpsys' log" into honeycomb 2011-01-19 16:31:32 -08:00
Mathias Agopian
06a61e2fa8 improve SurfaceFlinger 'dumpsys' log
list the purgatory, which shows windows that have been closed,
but for which the client still has references.

Change-Id: I5168bb88cb328d5d77d71d0871deb9190f493126
2011-01-19 16:15:53 -08:00
Jason Sams
fdc54a97ee Check and propogate errors from llvm.
Change-Id: Id99a724f746d1f64eabcdf67c12646cc32ff8f9d
2011-01-19 16:14:21 -08:00
Romain Guy
514fb18827 Don't attempt to create empty layers.
Bug #3369888

Change-Id: Ic17bbd1c04bbf760cb17d0eb9e6767fd6479948c
2011-01-19 14:38:29 -08:00
Romain Guy
9335f5b2fd Merge "Make embedded hardware layers work. Bug #3369474" into honeycomb 2011-01-19 13:40:43 -08:00
Romain Guy
42f3a4b7c3 Make embedded hardware layers work.
Bug #3369474

Change-Id: Ib6d7fb44eedda9dc2933b5e1b176f307968af91d
2011-01-19 13:42:26 -08:00
Shih-wei Liao
9f7e83b406 Merge "c99 bool support" into honeycomb 2011-01-19 12:21:55 -08:00
Shih-wei Liao
cbcced2d15 c99 bool support
Change-Id: I0990425a9362d3ef6ea0b40bf6f00fcc10eed426
2011-01-19 12:17:54 -08:00
Romain Guy
a3311ed7a9 Fix the fix for 9patches.
Change-Id: I66dca835d9d0e9766d887746c3265e4b13ae688b
2011-01-19 12:00:08 -08:00
Romain Guy
34829553a8 Merge "Fix the fix for 9patches." into honeycomb 2011-01-19 11:58:21 -08:00
Romain Guy
fdbec3e482 Fix 9patches in Launcher
Change-Id: Ieedf36ccaab253909b44ed8c222d523867f095be
2011-01-19 10:37:35 -08:00