4266 Commits

Author SHA1 Message Date
Romain Guy
8f85e80b64 Generate even fewer GL commands
Change-Id: I0f4dcacb03ef5ee7f6ebd501df98bfead5f0a7f8
2011-12-14 19:23:32 -08:00
Ji-Hwan Lee
c17d9b75b6 Fix invalid madvise() during concurrent alloc/dealloc of MemoryDealer
Currently, madvise(MADV_REMOVE) is called after deallocation.
Another thread might allocate (and even write) the same region between
deallocation and madvise(), in which case the new thread will fail to read
what it have written.  So, call deallocate() after madvise(MADV_REMOVE).

Bug: 5654596
Change-Id: I26f36cd6013de499090768a0ddc68206a4a68219
2011-12-15 04:37:22 +09:00
Romain Guy
2d4fd36484 Reduce the number of active texture changes
Change-Id: I94046bdfe20740c26c8183822e3002d692fde7c4
2011-12-13 22:00:19 -08:00
Romain Guy
ec31f83bd3 <Insert something improper about OpenGL>
Change-Id: Ib645376093838156771588adc76a718da0ceb0db
2011-12-13 18:41:12 -08:00
Romain Guy
a1d3c91afb Further reduce the number of GL commands sent to the driver
Change-Id: Id922b2a166ea4573b767c27d3195e11c70320b23
2011-12-13 14:58:14 -08:00
Chet Haase
5bc5de87f3 am e829bc0f: Merge "Make glyph cache more flexible"
* commit 'e829bc0f0364e942bed01536d115a5c08d25d776':
  Make glyph cache more flexible
2011-12-13 14:29:06 -08:00
Romain Guy
07c04f7755 am 6f2de0a5: Merge "Reduce the number of GL commands generated by the UI"
* commit '6f2de0a5d6303ecff2795a94d5051ea0621be07f':
  Reduce the number of GL commands generated by the UI
2011-12-13 14:28:46 -08:00
Chet Haase
e829bc0f03 Merge "Make glyph cache more flexible" 2011-12-13 14:03:43 -08:00
Chet Haase
7de0cb12d0 Make glyph cache more flexible
Some GPU architectures could not handle the previous implementation
of our glyph cache. Frequent uploads would cause memory problems in the GPU
and eventually a crash due to these memory issues. The solution is to move to
a system of several, smaller caches instead of one monolythic cache for all
glyphs.

Change-Id: I0fc7a323360940d16d5a33eeb33abfab194c5920
2011-12-13 13:41:58 -08:00
Romain Guy
15bc6437f8 Reduce the number of GL commands generated by the UI
This optimization along with the previous one lets us render an
application like Gmail using only 30% of the number of GL commands
previously required

Change-Id: Ifee63edaf495e04490b5abd5433bb9a07bc327a8
2011-12-13 13:11:32 -08:00
Romain Guy
8c464b79bf am 5009f65c: Merge "Optimize state changes"
* commit '5009f65c9a676b64869e638e08ec0294e20d7e6e':
  Optimize state changes
2011-12-13 05:48:15 -08:00
Romain Guy
23d0deeb2b am da7642b3: Merge "Minimize the amount of data uploaded to draw text"
* commit 'da7642b31bb3490655016df979b0fad95425ac5f':
  Minimize the amount of data uploaded to draw text
2011-12-13 05:48:03 -08:00
Romain Guy
a72a3f077a am 51fbb009: Merge "Various OpenGL optimizations"
* commit '51fbb009661e8eeb41730fe107179425e5392b6d':
  Various OpenGL optimizations
2011-12-13 05:48:01 -08:00
Romain Guy
5009f65c9a Merge "Optimize state changes" 2011-12-12 20:36:22 -08:00
Romain Guy
f3a910b423 Optimize state changes
Change-Id: Iae59bc8dfd6427d0967472462cc1994987092827
2011-12-12 20:35:21 -08:00
Romain Guy
da7642b31b Merge "Minimize the amount of data uploaded to draw text" 2011-12-12 19:04:40 -08:00
Romain Guy
51fbb00966 Merge "Various OpenGL optimizations" 2011-12-12 19:04:32 -08:00
Romain Guy
d71dd367af Minimize the amount of data uploaded to draw text
Change-Id: I6313ac039291c9cd93aadafe3566ad9d60cab42d
2011-12-12 19:03:35 -08:00
Romain Guy
39d252a663 Various OpenGL optimizations
Change-Id: Ib0742c96f10f5f50e7e5148b742c31b6c232d127
2011-12-12 18:14:06 -08:00
Romain Guy
dcd03fcca3 am d2ea737a: Merge "Remove leftover debugging code"
* commit 'd2ea737a1f28b43ce2e01686d64a5cf8243daa49':
  Remove leftover debugging code
2011-12-12 16:53:45 -08:00
Romain Guy
b23e7499e3 am ebb2c6b3: Merge "Keep shaders to render properly"
* commit 'ebb2c6b36da049b32c1dba6f14f16660d860eb09':
  Keep shaders to render properly
2011-12-12 16:51:41 -08:00
Romain Guy
d2ea737a1f Merge "Remove leftover debugging code" 2011-12-12 16:50:55 -08:00
Romain Guy
f44e66fcf7 Remove leftover debugging code
Change-Id: I1589af7991da36744071d5081daa24ebae5b4dfd
2011-12-12 16:50:13 -08:00
Romain Guy
ebb2c6b36d Merge "Keep shaders to render properly" 2011-12-12 16:49:40 -08:00
Romain Guy
3e263fac8c Keep shaders to render properly
I don't know who's to blame, SGX or Tegra2 but one of those two GPUs is not
following the OpenGL ES 2.0 spec.

Change-Id: I2624e0efbc9c57d571c55c8b440a5e43f08a54f2
2011-12-12 16:47:48 -08:00
Jamie Gennis
ab68400106 am f08403ba: am 74e0fcae: am a1dee3f5: Merge "SurfaceTexture: fix a verbose-log compile error" into ics-mr1
* commit 'f08403ba92999448512c4af7062fe30206e32dcf':
  SurfaceTexture: fix a verbose-log compile error
2011-12-12 16:13:58 -08:00
Jamie Gennis
f08403ba92 am 74e0fcae: am a1dee3f5: Merge "SurfaceTexture: fix a verbose-log compile error" into ics-mr1
* commit '74e0fcaed1cd20ae8632224ff5a5404ff1a6e497':
  SurfaceTexture: fix a verbose-log compile error
2011-12-12 16:10:28 -08:00
Romain Guy
36ee0c9fcb am 6752d0ab: Mark color uniform fetched after fetching it
* commit '6752d0ab029a185a42e34e7a933b669e6ed19e89':
  Mark color uniform fetched after fetching it
2011-12-12 13:37:45 -08:00
Romain Guy
8df4905c6b am 11326aa1: Merge "Code cleanup"
* commit '11326aa1b9482fefa0c0bdcb7e48cfeae6f9e33d':
  Code cleanup
2011-12-12 13:37:42 -08:00
Romain Guy
915ff1a38f am ee698a01: Merge "Free up resources by deleting shaders early on"
* commit 'ee698a01bdc9ea7aa2b1cd729109b194a130f9f5':
  Free up resources by deleting shaders early on
2011-12-12 13:37:39 -08:00
Romain Guy
6752d0ab02 Mark color uniform fetched after fetching it
Change-Id: I10e8027018608070a536eb8b51c7a4272e37006c
2011-12-12 12:15:17 -08:00
Jamie Gennis
798b9cdf8c SurfaceTexture: fix a verbose-log compile error
Change-Id: I045231207e068d950bb0cb5085717af5d9454ed1
2011-12-09 15:07:44 -08:00
Romain Guy
24edca8b52 Code cleanup
Change-Id: If92e3addfc4d8546a60edcdea60a1fc89c27b680
2011-12-09 13:08:06 -08:00
Romain Guy
05bbde70fd Free up resources by deleting shaders early on
Change-Id: I29a39775732c0a48d3e6823f7afa3e741cae8541
2011-12-09 12:55:37 -08:00
Mathias Agopian
99bd43b2bb am 4a46ee57: Merge "Improve the VSYNC api a bit."
* commit '4a46ee57f10f4a121776cfc05143aa580a92b5e5':
  Improve the VSYNC api a bit.
2011-12-07 14:17:12 -08:00
Mathias Agopian
4a46ee57f1 Merge "Improve the VSYNC api a bit." 2011-12-07 14:15:21 -08:00
Alex Sakhartchouk
c08a1cc38f Merge "Revert "Removing changes not meant for MR1"" into graphics-dev 2011-12-07 11:06:39 -08:00
Mathias Agopian
6779df2c28 Improve the VSYNC api a bit.
- add the ability to set the vsync delivery rate, when the rate is
set to N>1 (ie: receive every N vsync), SF process' is woken up for
all of vsync, but clients only see the every N events.

- add the concept of one-shot vsync events, with a call-back
to request the next one. currently the call-back is a binder IPC.

Change-Id: I09f71df0b0ba0d88ed997645e2e2497d553c9a1b
2011-12-06 22:43:10 -08:00
Stephen Hines
5912157f97 am f7f93048: Merge "NULL should not be const for RS."
* commit 'f7f930480c75bcb57ae98d4a0fc59a3fb8e90e3d':
  NULL should not be const for RS.
2011-12-06 18:34:54 -08:00
Stephen Hines
f7f930480c Merge "NULL should not be const for RS." 2011-12-06 18:33:35 -08:00
Stephen Hines
4d322043ab NULL should not be const for RS.
Change-Id: I24d96843c40f822bf064a0fa1fc0440b6bf0518d
2011-12-06 16:47:32 -08:00
Romain Guy
a21b73511c am bdfe770e: Merge "Discard framebuffer rendering queues when discarding layers Bug #5581817"
* commit 'bdfe770e0874295827534558f2cba040644a3a13':
  Discard framebuffer rendering queues when discarding layers Bug #5581817
2011-12-06 16:39:30 -08:00
Romain Guy
9c4b79af22 Discard framebuffer rendering queues when discarding layers
Bug #5581817

Change-Id: Ie30700a29059d2ea60eb7bd3f8bd20ac48a149ab
2011-12-06 16:37:10 -08:00
Romain Guy
ad113ec3f3 am 7da48db9: Merge "Clip text correctly Bug #5706056"
* commit '7da48db9c5c071cfc1c54a3709a02c1300dccd76':
  Clip text correctly Bug #5706056
2011-12-05 11:58:03 -08:00
Romain Guy
7da48db9c5 Merge "Clip text correctly Bug #5706056" 2011-12-05 11:56:09 -08:00
Romain Guy
8f9a9f61ab Clip text correctly
Bug #5706056

A newly introduced optimization relied on the display list renderer
to properly measure text to perform fast clipping. The paint used
to measure text needs to have AA and glyph id encoding set to return
the correct results. Unfortunately these properties were set by
the GL renderer and not by the display list renderer. This change
simply sets the properties in the display list renderer instead.

This change also improves the error message printed out when the
application attempts to use a bitmap larger than the max texture
size.

Change-Id: I4d84e1c7d194aed9ad476f69434eaa2c8f3836a8
2011-12-05 11:53:26 -08:00
Ben Cheng
7c71874e91 am f0fef4f1: am f1a4c48b: am e21dabf6: Merge "Initialize bwr.read_buffer in IPCThreadState::talkWithDriver." into ics-mr1
* commit 'f0fef4f17bdf3e6ba2ef2d3bc0899e791837456b':
  Initialize bwr.read_buffer in IPCThreadState::talkWithDriver.
2011-12-01 22:10:24 -08:00
Ben Cheng
f0fef4f17b am f1a4c48b: am e21dabf6: Merge "Initialize bwr.read_buffer in IPCThreadState::talkWithDriver." into ics-mr1
* commit 'f1a4c48b886d53e2afceb0620215e3792af79fd5':
  Initialize bwr.read_buffer in IPCThreadState::talkWithDriver.
2011-12-01 22:08:20 -08:00
Ben Cheng
e21dabf654 Merge "Initialize bwr.read_buffer in IPCThreadState::talkWithDriver." into ics-mr1 2011-12-01 22:05:07 -08:00
Romain Guy
a84c4fab07 am e27a07d4: Merge "Faster text clipping"
* commit 'e27a07d400db18cf99d20c2aee4d1a342e276496':
  Faster text clipping
2011-12-01 20:12:04 -08:00