3831 Commits

Author SHA1 Message Date
Mathias Agopian
6d370ac037 am 8646cd42: Merge "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices" into ics-mr1
* commit '8646cd42df5edc5f5b9c52d6ab5309821e875656':
  enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices
2011-11-21 17:58:42 -08:00
Mathias Agopian
8646cd42df Merge "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices" into ics-mr1 2011-11-21 17:57:20 -08:00
Jamie Gennis
9173eef644 am 53cf2020: Merge changes I37fd43b5,I91eb29db,I0491ce35 into ics-mr1
* commit '53cf20202a3848a6c61b5229814268180a3d2f16':
  SurfaceTexture: fix a couple tests
  EGL: default to swap interval 1
  SurfaceTexture: clean up some tests
2011-11-21 15:56:15 -08:00
Jamie Gennis
caa4482a68 SurfaceTexture: fix a couple tests
This change fixes some robustness issues with the
EglDestroySurfaceUnrefsBuffers and
EglDestroySurfaceAfterAbandonUnrefsBuffers tests.  The tests previously
depended upon GL implementation details that should not have been relied
upon.

Change-Id: I37fd43b56568efe1dbe69d85e892be8a1cf44d20
2011-11-21 14:38:15 -08:00
Jamie Gennis
87f3265bb0 EGL: default to swap interval 1
This change explicitly sets swap interval 1 on the window when an
EGLSurface is created to render to it.

Change-Id: I91eb29dbee3ae4a55076b921f084d503fbe94e03
2011-11-21 14:37:29 -08:00
Jamie Gennis
c10a94c4b8 SurfaceTexture: clean up some tests
This change cleans a few things up in the SurfaceTexture tests:
- Wraps a few long lines.
- Refactors the multithreading portions of SurfaceTextureGLToGLTest into
  a new test fixture called SurfaceTextureGLThreadToGLTest.
- Changes some of the tests that were creating their own EGLSurface to
  use the SurfaceTextureGLToGLTest fixture.
- Reorders the test functions so that they are immediately below to the
  test fixture that they use.

Change-Id: I0491ce3528a7ff2b4f1e83602ba290269c087297
2011-11-21 11:52:02 -08:00
Mathias Agopian
e2fa30cba0 enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices
this flag should be enabled for all targets, but currently
some have issues with it, so we're turning it on only for
tested targets.

this will hopefully resolve some performance issues.

Bug: 5553562, 5631630
Change-Id: I54c7a9e2068586898ab13e405d95534669260537
2011-11-18 13:50:35 -08:00
Mathias Agopian
6166318fd5 am 4d71053b: Merge "attempt to fix bug 5313580" into ics-mr1
* commit '4d71053b0728b248d80d7d5a098df459722e2be0':
  attempt to fix bug 5313580
2011-11-18 12:13:55 -08:00
Mathias Agopian
4d71053b07 Merge "attempt to fix bug 5313580" into ics-mr1 2011-11-18 12:11:15 -08:00
Mathias Agopian
90cbbd1f7f attempt to fix bug 5313580
the working theory here is that a Surface object has become non-promotable
because it lost its last reference; later Surface::readFromParcel is called
the previous surface is found in the cache, but can't be promoted. this causes
a new Surface object to be created which will promptly try to connect to the
CPU_API -- this in turn will fail because the previous (now dead) surface is
still connected.

To fix this, we make sure to disconnect from the SurfaceTexture when
Surface[TextureClient] is destroyed.

Change-Id: I422234868a05d7b7d283e9d5a85f7ab79e65d8a9
2011-11-17 18:46:09 -08:00
Jamie Gennis
8bf35429f9 am 2ba13186: Merge "SurfaceTexture: fix a bug with buffer reallocation" into ics-mr1
* commit '2ba13186b268de3527af6da1933a4b65877548d9':
  SurfaceTexture: fix a bug with buffer reallocation
2011-11-17 17:12:45 -08:00
Jamie Gennis
2ba13186b2 Merge "SurfaceTexture: fix a bug with buffer reallocation" into ics-mr1 2011-11-17 17:10:47 -08:00
Jamie Gennis
e36d05483f SurfaceTexture: fix a bug with buffer reallocation
This change fixes an issue involving buffer reallocation and the
ALLOW_DEQUEUE_CURRENT_BUFFER mode in SurfaceTexture.  The bug happened
when the buffer slot currently attached to the GL texture was selected
for dequeuing, but the dequeue operation caused the buffer to be
reallocated.  Because the buffer is new, the image producer could fill
the buffer and queue it before an updateTexImage call, which would
result in the "slot %d is current" error in queueBuffer.

Bug: 5631630
Change-Id: Icdd8bc5cad3c7db43953446d9be2603aaea11a8d
2011-11-17 16:00:44 -08:00
Mathias Agopian
908d56171f am 69c17a11: Merge "Revert "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices"" into ics-mr1
* commit '69c17a11a2ce5badc238e66ce9f8ca4a3a1028b3':
  Revert "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices"
2011-11-16 16:16:17 -08:00
Mathias Agopian
69c17a11a2 Merge "Revert "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices"" into ics-mr1 2011-11-16 16:13:38 -08:00
Mathias Agopian
db5494c406 Revert "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices"
This reverts commit e7758be6da85728df6b4215f413660c67c5a9740.

Seemed to cause failures un SurfaceTexture.

Bug: 5627450
2011-11-16 15:59:13 -08:00
Jamie Gennis
51a23606e8 am fd6b64f6: Merge "SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call" into ics-mr1
* commit 'fd6b64f6ad040b4d550a5219a2576997e2c0e85d':
  SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call
2011-11-16 11:36:42 -08:00
Jamie Gennis
fd6b64f6ad Merge "SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call" into ics-mr1 2011-11-16 11:34:30 -08:00
Jeff Brown
eba508a537 am 3e7497b4: Merge "Eliminate hw.keyboards system properties." into ics-mr1
* commit '3e7497b4eccd3db1d6ff0ce1f1f2db11f9a8eeef':
  Eliminate hw.keyboards system properties.
2011-11-15 19:19:04 -08:00
Jeff Brown
3e7497b4ec Merge "Eliminate hw.keyboards system properties." into ics-mr1 2011-11-15 19:17:09 -08:00
Jeff Brown
1e08fe90df Eliminate hw.keyboards system properties.
Stop using system properties to publish information about
the key character map path.  Instead, we can retrieve it
on demand by asking the window manager.

It was possible to exhaust the supply of system properties
when repeatedly adding and removing input devices.

Bug: 5532806
Change-Id: Idd361a24ad7db2edc185c8546db7fb05f9c28669
2011-11-15 18:00:10 -08:00
Mathias Agopian
d38f57d3d9 am 3aa684ec: Merge "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices" into ics-mr1
* commit '3aa684ec0d3f70027fa808fb95b096a1613a1ddc':
  enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices
2011-11-15 13:05:46 -08:00
Sunita Nadampalli
f1e868f682 SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call
Surface Texture dequeue logic is modified to return the oldest of the
free buffers to Client on dequeue call.

Currently dequeue method is returning the first buffer index which is free.
The parsing is done in ascending order of the buffer slot indices.
This leads to returning the buffer which has been just queued to composer,
and hence display, and this defeats the purpose of having minimum dequeue count
as 2 in asynchrnouse mode.

This is fixed by checking all the free slots and returning the oldest buffer.

Change-Id: Ibbac10593c3994c278c601af0480b171635ecdd4
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
2011-11-15 11:43:35 -08:00
Mathias Agopian
e7758be6da enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices
this flag should be enabled for all targets, but currently
some have issues with it, so we're turning it on only for
tested targets.

this will hopefully resolve some performance issues.

Bug: 5553562
Change-Id: I939992b4cd0debea980dec0127c72be2dff33af8
2011-11-14 19:17:37 -08:00
Dave Burke
3d151e1966 am 9d66da8a: Merge "Revert "Discard framebuffer rendering queues when discarding layers"" into ics-mr1
* commit '9d66da8ae61a8520f46ee7df3cbb374852d9da91':
  Revert "Discard framebuffer rendering queues when discarding layers"
2011-11-14 12:28:09 -08:00
Dave Burke
9d66da8ae6 Merge "Revert "Discard framebuffer rendering queues when discarding layers"" into ics-mr1 2011-11-14 12:25:53 -08:00
Mathias Agopian
d52e8636dc am c93a151f: Merge "Define, document, and test the behavior of very large SurfaceTextures" into ics-mr1
* commit 'c93a151fde7d616c22b86ae458b3d015e3820d5e':
  Define, document, and test the behavior of very large SurfaceTextures
2011-11-14 11:51:36 -08:00
Mathias Agopian
c93a151fde Merge "Define, document, and test the behavior of very large SurfaceTextures" into ics-mr1 2011-11-14 11:49:42 -08:00
Dave Burke
7077506f99 Revert "Discard framebuffer rendering queues when discarding layers"
This reverts commit da96f8ac2c1c35a54f3f36e6d776cb386a251d03.
2011-11-14 11:39:30 -08:00
Mathias Agopian
7c112d1bfb am 28587497: Merge "Discard framebuffer rendering queues when discarding layers Bug #5581817" into ics-mr1
* commit '2858749704ea7b130499cf2ac7b3e1c3331f1582':
  Discard framebuffer rendering queues when discarding layers Bug #5581817
2011-11-14 00:54:30 -08:00
Mathias Agopian
b89d88f531 Define, document, and test the behavior of very large SurfaceTextures
updateTexImage() now throws a runtime exception when its native
counterpart fails

Bug: 5506633

Change-Id: I151a6f685d465966e7df4df624412ab2da62e95f
2011-11-11 18:44:35 -08:00
Romain Guy
85ab135b2b am 50a66f0e: Merge "Terminate EGL when an app goes in the background" into ics-mr1
* commit '50a66f0e9c5a85a6af4a99eb66656a69eba24572':
  Terminate EGL when an app goes in the background
2011-11-11 11:49:42 -08:00
Romain Guy
da96f8ac2c Discard framebuffer rendering queues when discarding layers
Bug #5581817

Change-Id: If612846ec5f7793710fc4df152791fb32c506551
2011-11-10 19:23:58 -08:00
Romain Guy
8ff6b9ebee Terminate EGL when an app goes in the background
This does not happen on high end gfx devices. This happens
only if only one EGL context is initialized in the current
process.

Change-Id: Ibd1737efdf84eef8a84108b05795440d1ae9964e
2011-11-10 16:44:49 -08:00
Jeff Brown
7bc2ff261d am 88061d6b: am 5462bc63: Fix a leak in Parcel::writeBlob.
* commit '88061d6b38cfb4bf374039846b753a3b21ac61e1':
  Fix a leak in Parcel::writeBlob.
2011-11-05 02:38:33 +00:00
Jeff Brown
88061d6b38 am 5462bc63: Fix a leak in Parcel::writeBlob.
* commit '5462bc6318b4b70e7a58c66994e2bd79f59d9739':
  Fix a leak in Parcel::writeBlob.
2011-11-05 02:35:57 +00:00
Jeff Brown
5462bc6318 Fix a leak in Parcel::writeBlob.
Was mistakenly assuming that Parcel::writeFileDescriptor took
ownership of the fd that was passed in.  It does not!
Added some comments and a default parameter to allow the caller
to specify whether it wishes the Parcel to take ownership.

Bug: 5563374
Change-Id: I5a12f51d582bf246ce90133cce7690bb9bca93f6
2011-11-04 19:26:03 -07:00
Romain Guy
b4decdf456 am 2ccc47b8: Merge "Memory optimizations for libhwui Bug #5566149" into ics-mr1
* commit '2ccc47b89868d4f39683e0e2bd057ce95d7d1217':
  Memory optimizations for libhwui Bug #5566149
2011-11-04 23:37:07 +00:00
Romain Guy
2ccc47b898 Merge "Memory optimizations for libhwui Bug #5566149" into ics-mr1 2011-11-04 16:35:35 -07:00
Romain Guy
eca0ca2424 Memory optimizations for libhwui
Bug #5566149

Lazily initialize font renderers
Keep 60% of the texture cache when an app goes to the background
Delete least used font renderer when going to the background
Delete all font renderers on full memory trim

Change-Id: I3c2454d46dc1107ec0f0f72a9ce69cbbcc8825e7
2011-11-04 16:23:47 -07:00
Jamie Gennis
5057aca804 am c5ce130f: Merge "SurfaceTexture: various logging improvements" into ics-mr1
* commit 'c5ce130f658303299bf55091373951f7fd33ae36':
  SurfaceTexture: various logging improvements
2011-11-03 18:53:32 +00:00
Jamie Gennis
05761f78fb am 236aea35: Merge changes Ibc99cb1c,Ie1f4f6f8 into ics-mr1
* commit '236aea3579787961fdd41d87574760b63323c0c1':
  BlobCache: implement cache serialization
  BlobCache: remove the mutex locking
2011-11-03 18:53:31 +00:00
Jamie Gennis
c5ce130f65 Merge "SurfaceTexture: various logging improvements" into ics-mr1 2011-11-03 11:51:38 -07:00
Jamie Gennis
236aea3579 Merge changes Ibc99cb1c,Ie1f4f6f8 into ics-mr1
* changes:
  BlobCache: implement cache serialization
  BlobCache: remove the mutex locking
2011-11-03 11:51:23 -07:00
Jamie Gennis
e4bd0f32a3 SurfaceTexture: various logging improvements
Change-Id: I1f7216276547a1e9f9343c88c6cc1c24efcdcdbc
2011-11-01 15:48:42 -07:00
Jamie Gennis
9d9768dbd7 BlobCache: implement cache serialization
This change adds serialization and deserialization functionality to
BlobCache, conforming to the Flattenable interface.

Change-Id: Ibc99cb1c3d015f363d57d0713eabccec07ff975e
2011-10-31 18:49:32 -07:00
Jamie Gennis
94c1f148bb BlobCache: remove the mutex locking
This change removes the mutex from the BlobCache class.  The caller must
be responsible for thread synchronization in order to properly implement
the Flattenable interface, which is coming soon.  Otherwise would be the
potential for the cache contents to change between the call to the
getFlattenedSize and flatten methods.  Because the caller must do this
synchronization anyway there's no reason to also some synchronization
inside BlobCache.

Change-Id: Ie1f4f6f82b78744f46a41ce863cac0cad276a20e
2011-10-31 18:48:31 -07:00
Stephen Hines
f780f9010e am af3a854b: am af675222: Merge "Fix potential segfault in RS watchdog." into ics-mr0
* commit 'af3a854b549409c4ad77c686e860f97ea86706a0':
  Fix potential segfault in RS watchdog.
2011-11-01 00:19:19 +00:00
Stephen Hines
af3a854b54 am af675222: Merge "Fix potential segfault in RS watchdog." into ics-mr0
* commit 'af675222f6340a8a9edbe9e8635014a18521e5e0':
  Fix potential segfault in RS watchdog.
2011-11-01 00:16:56 +00:00
Stephen Hines
a049184274 Fix potential segfault in RS watchdog.
BUG=5544671

This initializes the watchdog structure properly. Without this fix, it is
possible to call LOGE with a garbage string value.

Change-Id: Ie05eb65f83eca938f18ac962794407d58c3f277f
2011-10-31 15:42:40 -07:00