OSDN Git Service

android-x86/frameworks-native.git
12 years agoam db1597a9: Fix shutdown sequence to avoid SIGSEGV when running am command
Johannes Carlsson [Mon, 25 Jun 2012 21:06:56 +0000 (14:06 -0700)]
am db1597a9: Fix shutdown sequence to avoid SIGSEGV when running am command

* commit 'db1597a98958b78dc0d8eced19ae1406382b70d6':
  Fix shutdown sequence to avoid SIGSEGV when running am command

12 years agoFix shutdown sequence to avoid SIGSEGV when running am command
Johannes Carlsson [Thu, 17 Feb 2011 13:06:53 +0000 (14:06 +0100)]
Fix shutdown sequence to avoid SIGSEGV when running am command

When the app_process is shutting down the main thread will close the
binder fd while pool threads are executing an ioctl (in
IPCThreadState::stopProcess called by AppRuntime::onStarted in
app_main.c).

The binder driver will then return all pending calls in ioctl
without any error and with a command. One of the threads gets a
BR_SPAWN_LOOPER which will create a new thread (the other thread
gets a BR_NOOP). This new thread then calls
vm->AttachCurrentThread. Usually this results in a log entry with
"AndroidRuntime: NOTE: attach of thread 'Binder Thread #3' failed",
but sometimes it also causes a SIGSEGV. This depends on the timing
between the new thread an the main thread that calls DestroyJavaVM
(in AndroidRuntime::start).

If IPCThreadState.cpp is compiled with "#define LOG_NDEBUG 0" the
pool thread will loop and hit the
ALOG_ASSERT(mProcess->mDriverFD >= 0) in
IPCThreadState::talkWithDriver.

Crashes like this has been seen when running the am command and
other commands that use the app_process.

This fix makes sure that any command that is received when the driver
fd is closed are ignored and IPCThreadState::talkWithDriver instead
returns an error which will cause the pool thread to exit and detach
itself from the vm. A check to avoid calling ioctl to a fd with -1
was also added in IPCThreadState::threadDestructor.

Another solution might be to change the binder driver so that it
returns an error when the fd is closed (or atleast not a
BR_SPAWN_LOOPER command). It might also be possible to call exit(0)
which is done when System.exit(0) is called from java.

Change-Id: I3d1f0ff64896c44be2a5994b3a90f7a06d27f429

12 years agoMerge "Pass fences from BufferQueue to SurfaceTextureClient"
Jesse Hall [Sat, 23 Jun 2012 02:58:47 +0000 (19:58 -0700)]
Merge "Pass fences from BufferQueue to SurfaceTextureClient"

12 years agoMerge "Transfer HWC release fences to BufferQueue"
Jesse Hall [Sat, 23 Jun 2012 02:45:10 +0000 (19:45 -0700)]
Merge "Transfer HWC release fences to BufferQueue"

12 years agoMerge "Move remaining bits of lockBuffer to dequeueBuffer"
Jesse Hall [Fri, 22 Jun 2012 17:15:00 +0000 (10:15 -0700)]
Merge "Move remaining bits of lockBuffer to dequeueBuffer"

12 years agoam 589cdbed: Reconcile with jb-release
The Android Open Source Project [Fri, 22 Jun 2012 15:20:21 +0000 (08:20 -0700)]
am 589cdbed: Reconcile with jb-release

* commit '589cdbed556fd38a95895ab684dbcded7f4851e9':

12 years agoReconcile with jb-release
The Android Open Source Project [Fri, 22 Jun 2012 15:17:16 +0000 (08:17 -0700)]
Reconcile with jb-release

Change-Id: Ic18750e72ccec1b5aad558da8959c9c4031b27f8

12 years agoPass fences from BufferQueue to SurfaceTextureClient
Jesse Hall [Thu, 14 Jun 2012 22:26:33 +0000 (15:26 -0700)]
Pass fences from BufferQueue to SurfaceTextureClient

ISurfaceTexture::dequeueBuffer now returns the buffer's fence for the
client to wait on. For BufferQueue, this means passing it through
Binder so it can be returned to the SurfaceTextureClient. Now
SurfaceTextureClient is responsible for waiting on the fence in
dequeueBuffer instead of BufferQueue: one step closer to the goal.

Change-Id: I677ae758bcd23acee2d784b8cec11b32cccc196d

12 years agoTransfer HWC release fences to BufferQueue
Jesse Hall [Thu, 14 Jun 2012 21:45:17 +0000 (14:45 -0700)]
Transfer HWC release fences to BufferQueue

After a HWC set, each SurfaceFlinger Layer retrieves the release fence
HWC returned and gives it to the layer's SurfaceTexture. The
SurfaceTexture accumulates the fences into a merged fence until the
next updateTexImage, then passes the merged fence to the BufferQueue
in releaseBuffer.

In a follow-on change, BufferQueue will return the fence along with
the buffer slot in dequeueBuffer. For now, dequeueBuffer waits for the
fence to signal before returning.

The releaseFence default value for BufferQueue::releaseBuffer() is
temporary to avoid transient build breaks with a multi-project
checkin. It'll disappear in the next change.

Change-Id: Iaa9a0d5775235585d9cbf453d3a64623d08013d9

12 years agoMove remaining bits of lockBuffer to dequeueBuffer
Jesse Hall [Thu, 21 Jun 2012 18:35:23 +0000 (11:35 -0700)]
Move remaining bits of lockBuffer to dequeueBuffer

FramebufferNativeWindow::dequeueBuffer now waits for the next buffer
to be non-front in addition to being free.

Change-Id: I991f154958cc6b488b1241aba83d1f95a0513b3c

12 years agomerge in jb-release history after reset to jb-dev
The Android Automerger [Thu, 21 Jun 2012 14:02:53 +0000 (07:02 -0700)]
merge in jb-release history after reset to jb-dev

12 years agoUpdate ANativeWindow clients for sync
Jamie Gennis [Wed, 13 Jun 2012 23:32:25 +0000 (16:32 -0700)]
Update ANativeWindow clients for sync

This change updates the uses of ANativeWindow to use the new ANW functions that
accept and return Sync HAL fence file descriptors.

Change-Id: I3ca648b6ac33f7360e86754f924aa072f95242f6

12 years agolibui: add the Fence class
Jamie Gennis [Wed, 13 Jun 2012 23:31:43 +0000 (16:31 -0700)]
libui: add the Fence class

This change adds the Fence class to libui for to wrap the libsync
functionality.

Change-Id: I93a31baeee608b93c14da807a32013dabf783f84

12 years agoam 8aaf3e47: am a67e418e: Exit boot animation cleanly.
Mathias Agopian [Wed, 20 Jun 2012 20:39:58 +0000 (13:39 -0700)]
am 8aaf3e47: am a67e418e: Exit boot animation cleanly.

* commit '8aaf3e47a51aa0beebecc8c536504d310d07cda9':
  Exit boot animation cleanly.

12 years agoam a67e418e: Exit boot animation cleanly.
Mathias Agopian [Wed, 20 Jun 2012 20:37:09 +0000 (13:37 -0700)]
am a67e418e: Exit boot animation cleanly.

* commit 'a67e418e1fda219f6cc0a7e420bcf5cc4f9fe710':
  Exit boot animation cleanly.

12 years agoExit boot animation cleanly.
Mathias Agopian [Wed, 20 Jun 2012 00:26:12 +0000 (17:26 -0700)]
Exit boot animation cleanly.

The desc.txt file can now mark parts as 'must finish cleanly' by using
'c' as the part line prefix rather than 'p'.  If so indicated, if the
bootanimation is asked to quit it will do so only after waiting to
finish that part.

I considered either making init.c service killing smarter or promoting
bootanim to be a bindable service with a requestExit method.  However,
these changes are probably too big/risky given our ship date.  So
I used a property as a mailbox between SurfaceFlinger and bootanim.

Bug: 6679877
Change-Id: Id7dca22caa50b450fff25ca94f7242d971034f41

12 years agoMerge "Add support for HWC_DEVICE_API_VERSION_1_0"
Jesse Hall [Tue, 19 Jun 2012 15:55:12 +0000 (08:55 -0700)]
Merge "Add support for HWC_DEVICE_API_VERSION_1_0"

12 years agoam fb05c7c3: Reconcile with jb-release
The Android Open Source Project [Tue, 19 Jun 2012 13:16:15 +0000 (06:16 -0700)]
am fb05c7c3: Reconcile with jb-release

* commit 'fb05c7c34b45e468103b399ef60763e235dd6e06':
  SF could get stuck waiting for vsync when turning the screen off

12 years agoReconcile with jb-release
The Android Open Source Project [Tue, 19 Jun 2012 13:13:43 +0000 (06:13 -0700)]
Reconcile with jb-release

Change-Id: I6a74f5247794a5dddd6fbb75b2edbaba06674ab7

12 years agofix typo in makefile LOCAL_CFLAGS was spelled LOCAL_CLFAGS
Mathias Agopian [Tue, 19 Jun 2012 00:27:56 +0000 (17:27 -0700)]
fix typo in makefile LOCAL_CFLAGS was spelled LOCAL_CLFAGS

Change-Id: I58b96d28f608ce16fcad5ed0efb887e582779e03

12 years agosplit-up Client.h out of SurfaceFlinger.h
Mathias Agopian [Mon, 18 Jun 2012 23:47:56 +0000 (16:47 -0700)]
split-up Client.h out of SurfaceFlinger.h

Change-Id: I1993bf23e417163749d886283563a93d50b361b4

12 years agoam bbdad819: am 7c24b1d4: Merge "SF could get stuck waiting for vsync when turning...
Jeff Brown [Mon, 18 Jun 2012 17:52:34 +0000 (10:52 -0700)]
am bbdad819: am 7c24b1d4: Merge "SF could get stuck waiting for vsync when turning the screen off" into jb-dev

* commit 'bbdad8193ea3a16e9f65f32f4469959577b400e9':
  SF could get stuck waiting for vsync when turning the screen off

12 years agoam 7c24b1d4: Merge "SF could get stuck waiting for vsync when turning the screen...
Jeff Brown [Mon, 18 Jun 2012 17:32:32 +0000 (10:32 -0700)]
am 7c24b1d4: Merge "SF could get stuck waiting for vsync when turning the screen off" into jb-dev

* commit '7c24b1d4da5e13329d2105cb2f8285715d920787':
  SF could get stuck waiting for vsync when turning the screen off

12 years agomerge in jb-release history after reset to jb-dev
The Android Automerger [Sat, 16 Jun 2012 14:03:06 +0000 (07:03 -0700)]
merge in jb-release history after reset to jb-dev

12 years agoSF could get stuck waiting for vsync when turning the screen off
Mathias Agopian [Fri, 15 Jun 2012 06:39:35 +0000 (23:39 -0700)]
SF could get stuck waiting for vsync when turning the screen off

When turning the screen off we could have 2 waiters on the
vsync condition: The main vsync waiter as well as one in
onScreenReleased(). We were only signaling the condition though,
so it it would be possible to wake onScreenReleased() without waking
the main vsync thread which would then be stuck in .wait().

We fix this by just using broadcast() when receiving a vsync event.

We also add a broadcast() to signal when the state of
mUseSoftwareVSync changes.  This is important particularly for
the transition from hardware to software vsync because the main
vsync waiter might have observed mUseSoftwareVSync == false
and decided to block indefinitely pending a hardware vsync
signal that will never arrive.

Removed a potentially deadlocking wait for a signal in
onScreenReleased().  The function was trying to wait for the last
vsync event from the hardware to be delivered to clients but there
was no guarantee that another thread would signal it to wake up
again afterwards.  (As far as I can tell, the only other other
thread that might wake it up at this point would be a client
application issuing a vsync request.)  We don't really need to wait
here anyhow.  It's enough to set the mUseSoftwareVSync flag,
wake up the thread loop and go.  If there was a pending vsync
timestamp from the hardware, then the thread loop will grab
it and use it then start software vsync on the next iteration.

Bug: 6672102
Change-Id: I7c6abc23bb021d1dfc94f101bd3ce18e3a81a73e

12 years agoMerge "Implement SurfaceFlinger's ANW on top of BufferQueue"
Mathias Agopian [Fri, 15 Jun 2012 22:34:55 +0000 (15:34 -0700)]
Merge "Implement SurfaceFlinger's ANW on top of BufferQueue"

12 years agoMerge "SF could get stuck waiting for vsync when turning the screen off" into jb-dev
Jeff Brown [Fri, 15 Jun 2012 22:30:35 +0000 (15:30 -0700)]
Merge "SF could get stuck waiting for vsync when turning the screen off" into jb-dev

12 years agoSF could get stuck waiting for vsync when turning the screen off
Mathias Agopian [Fri, 15 Jun 2012 06:39:35 +0000 (23:39 -0700)]
SF could get stuck waiting for vsync when turning the screen off

When turning the screen off we could have 2 waiters on the
vsync condition: The main vsync waiter as well as one in
onScreenReleased(). We were only signaling the condition though,
so it it would be possible to wake onScreenReleased() without waking
the main vsync thread which would then be stuck in .wait().

We fix this by just using broadcast() when receiving a vsync event.

We also add a broadcast() to signal when the state of
mUseSoftwareVSync changes.  This is important particularly for
the transition from hardware to software vsync because the main
vsync waiter might have observed mUseSoftwareVSync == false
and decided to block indefinitely pending a hardware vsync
signal that will never arrive.

Removed a potentially deadlocking wait for a signal in
onScreenReleased().  The function was trying to wait for the last
vsync event from the hardware to be delivered to clients but there
was no guarantee that another thread would signal it to wake up
again afterwards.  (As far as I can tell, the only other other
thread that might wake it up at this point would be a client
application issuing a vsync request.)  We don't really need to wait
here anyhow.  It's enough to set the mUseSoftwareVSync flag,
wake up the thread loop and go.  If there was a pending vsync
timestamp from the hardware, then the thread loop will grab
it and use it then start software vsync on the next iteration.

Bug: 6672102
Change-Id: I7c6abc23bb021d1dfc94f101bd3ce18e3a81a73e

12 years agoam 0512af11: am 16272efb: Add ASSIST keycode.
Jeff Brown [Fri, 15 Jun 2012 19:00:28 +0000 (12:00 -0700)]
am 0512af11: am 16272efb: Add ASSIST keycode.

* commit '0512af11f4b790fb032dc7c344dcdac527faf8ad':
  Add ASSIST keycode.

12 years agoam 16272efb: Add ASSIST keycode.
Jeff Brown [Fri, 15 Jun 2012 18:57:37 +0000 (11:57 -0700)]
am 16272efb: Add ASSIST keycode.

* commit '16272efb7af0692266fecdc53b2c6d995bf397b7':
  Add ASSIST keycode.

12 years agoAdd ASSIST keycode.
Jeff Brown [Fri, 15 Jun 2012 18:46:11 +0000 (11:46 -0700)]
Add ASSIST keycode.

Bug: 6594275
Change-Id: I032b055207d16bfff93ee8a350c0dc52b9102926

12 years agoAdd support for HWC_DEVICE_API_VERSION_1_0
Jesse Hall [Wed, 6 Jun 2012 06:40:32 +0000 (23:40 -0700)]
Add support for HWC_DEVICE_API_VERSION_1_0

The acquire and release fences aren't yet used; this is just support
for the new version and temporary backwards compatibility for older
versions.

Change-Id: Ia5ccc05a97c86f649042b9a35e11042fa0187e84

12 years agorefactor HWComposer to break dependency with the HAL headers
Mathias Agopian [Mon, 14 May 2012 03:42:01 +0000 (20:42 -0700)]
refactor HWComposer to break dependency with the HAL headers

HWComposer must abstract the HWC HAL entirely, so that the
HAL can continue to evolve (and break binary compatibility)
without breaking SurfaceFlinger. The HWC data structure had
leaked outside of HWComposer, this is now fixed.

We now have an abstract interface that provide all the
needed functionality, HWCompose provides concrete
implementations of it based on the the HWC version.

Change-Id: I40c4676dc986b682ede5520a1c60efe64037b0bb

12 years agoImplement SurfaceFlinger's ANW on top of BufferQueue
Mathias Agopian [Fri, 8 Jun 2012 00:52:54 +0000 (17:52 -0700)]
Implement SurfaceFlinger's ANW on top of BufferQueue

SF now has its own implementation of ANW for the
framebuffer and it uses BufferQueue. FramebufferNativeWindow
is now only used by stand-alone apps.

Change-Id: Iddeb24087df62bd92b0f78e391dda9b97ddc859c

12 years agoMerge "don't error out when eglTerminate()ing an already terminated display"
Mathias Agopian [Wed, 13 Jun 2012 23:27:54 +0000 (16:27 -0700)]
Merge "don't error out when eglTerminate()ing an already terminated display"

12 years agodon't error out when eglTerminate()ing an already terminated display
Mathias Agopian [Wed, 13 Jun 2012 22:21:21 +0000 (15:21 -0700)]
don't error out when eglTerminate()ing an already terminated display

so says the EGL specification, section 3.2

Change-Id: Ice60530f8f6e47b4e14e06d2ab8eba799a7688a6

12 years agoam 1d2eb663: am 2d15fcab: Merge "reduce PB size from 2MB to 512KB" into jb-dev
Mathias Agopian [Tue, 12 Jun 2012 20:15:10 +0000 (13:15 -0700)]
am 1d2eb663: am 2d15fcab: Merge "reduce PB size from 2MB to 512KB" into jb-dev

* commit '1d2eb663ef5cf69aa852045c8a1c1807dfa7039e':
  reduce PB size from 2MB to 512KB

12 years agoam 2d15fcab: Merge "reduce PB size from 2MB to 512KB" into jb-dev
Mathias Agopian [Tue, 12 Jun 2012 19:42:38 +0000 (12:42 -0700)]
am 2d15fcab: Merge "reduce PB size from 2MB to 512KB" into jb-dev

* commit '2d15fcab3e3588cfddb6c7b180faecd3eccce2e5':
  reduce PB size from 2MB to 512KB

12 years agomerge in jb-release history after reset to jb-dev
The Android Automerger [Tue, 12 Jun 2012 18:23:05 +0000 (11:23 -0700)]
merge in jb-release history after reset to jb-dev

12 years agoMerge "reduce PB size from 2MB to 512KB" into jb-dev
Mathias Agopian [Mon, 11 Jun 2012 21:43:37 +0000 (14:43 -0700)]
Merge "reduce PB size from 2MB to 512KB" into jb-dev

12 years agoMerge "gltrace: Fixup vertex attrib pointers only for GLES2"
Siva Velusamy [Mon, 11 Jun 2012 19:26:03 +0000 (12:26 -0700)]
Merge "gltrace: Fixup vertex attrib pointers only for GLES2"

12 years agogltrace: Fixup vertex attrib pointers only for GLES2
Siva Velusamy [Mon, 11 Jun 2012 18:14:23 +0000 (11:14 -0700)]
gltrace: Fixup vertex attrib pointers only for GLES2

Change-Id: Ibf280c2a4372ce6e598e164eef0d72b7c0a6d1c2

12 years agoam 7c94f9d8: Reconcile with jb-release
The Android Open Source Project [Mon, 11 Jun 2012 16:25:48 +0000 (09:25 -0700)]
am 7c94f9d8: Reconcile with jb-release

* commit '7c94f9d8e07d17803c2b45ac6e115da3fe8827a4':

12 years agoReconcile with jb-release
The Android Open Source Project [Mon, 11 Jun 2012 16:22:35 +0000 (09:22 -0700)]
Reconcile with jb-release

Change-Id: Iac1c88f2833e67e52af2bc22a17fa93d30cb44cc

12 years agomerge in jb-release history after reset to jb-dev
The Android Automerger [Mon, 11 Jun 2012 14:02:56 +0000 (07:02 -0700)]
merge in jb-release history after reset to jb-dev

12 years agoam 4f0dfaa7: am 9be7caf3: Merge "Include stack traces for certain native processes...
Jeff Brown [Fri, 8 Jun 2012 22:33:30 +0000 (15:33 -0700)]
am 4f0dfaa7: am 9be7caf3: Merge "Include stack traces for certain native processes in bugreport." into jb-dev

* commit '4f0dfaa7c338870eb58d96fe40234505734db728':
  Include stack traces for certain native processes in bugreport.

12 years agoam 9be7caf3: Merge "Include stack traces for certain native processes in bugreport...
Jeff Brown [Fri, 8 Jun 2012 22:30:38 +0000 (15:30 -0700)]
am 9be7caf3: Merge "Include stack traces for certain native processes in bugreport." into jb-dev

* commit '9be7caf380b0e2fb29b8813fb8762c2ae417ce95':
  Include stack traces for certain native processes in bugreport.

12 years agoMerge "Include stack traces for certain native processes in bugreport." into jb-dev
Jeff Brown [Fri, 8 Jun 2012 21:38:30 +0000 (14:38 -0700)]
Merge "Include stack traces for certain native processes in bugreport." into jb-dev

12 years agoam 66506eaa: am 49b97e20: I am having second thoughts about 512m for the large heap...
Dianne Hackborn [Fri, 8 Jun 2012 21:23:45 +0000 (14:23 -0700)]
am 66506eaa: am 49b97e20: I am having second thoughts about 512m for the large heap size.

* commit '66506eaacb8c419a4e5ce5f8de00a0b8fbe0b156':
  I am having second thoughts about 512m for the large heap size.

12 years agoam 49b97e20: I am having second thoughts about 512m for the large heap size.
Dianne Hackborn [Fri, 8 Jun 2012 21:22:06 +0000 (14:22 -0700)]
am 49b97e20: I am having second thoughts about 512m for the large heap size.

* commit '49b97e20f17af0ba98cdece2b7b93ab0a2199af4':
  I am having second thoughts about 512m for the large heap size.

12 years agoMerge "surfaceflinger: replace early suspend with binder call from PowerManager"
Colin Cross [Fri, 8 Jun 2012 21:14:18 +0000 (14:14 -0700)]
Merge "surfaceflinger: replace early suspend with binder call from PowerManager"

12 years agoI am having second thoughts about 512m for the large heap size.
Dianne Hackborn [Fri, 8 Jun 2012 20:02:09 +0000 (13:02 -0700)]
I am having second thoughts about 512m for the large heap size.

Let's go with 384 megs, half way between the large heap size on
Xoom and 512.

Change-Id: I4a7f2e5a8b2920b49fa53777725e24811145f5f2

12 years agoInclude stack traces for certain native processes in bugreport.
Jeff Brown [Thu, 7 Jun 2012 23:40:01 +0000 (16:40 -0700)]
Include stack traces for certain native processes in bugreport.

Bug: 6615693
Change-Id: I64c3b3ce0bba62d9c332a795f7d979fb753dc27b

12 years agoam 1ba24574: Aligning native Parcel implementation to Java.
Magnus Strandberg [Fri, 8 Jun 2012 15:32:28 +0000 (08:32 -0700)]
am 1ba24574: Aligning native Parcel implementation to Java.

* commit '1ba24574b2debd3ca012adbbd77f12bed4f2d266':
  Aligning native Parcel implementation to Java.

12 years agoAligning native Parcel implementation to Java.
Magnus Strandberg [Tue, 3 May 2011 13:44:00 +0000 (15:44 +0200)]
Aligning native Parcel implementation to Java.

The Java implementation of writing the RPC response header
calculates the length of the header including the 4 bytes
specifying the header length but the native implementation
excludes the 4 bytes specifying the length from the header
length.
The native implementation has been aligned to the Java impl.

Change-Id: I325bf272a63152d8fded4cf4e51a906b5a9bfe19

12 years agomerge in jb-release history after reset to jb-dev
The Android Automerger [Fri, 8 Jun 2012 15:20:32 +0000 (08:20 -0700)]
merge in jb-release history after reset to jb-dev

12 years agoam b2c1cfbe: am 0cd545f1: sometimes we would incorrectly scale the content of a surface
Mathias Agopian [Fri, 8 Jun 2012 00:21:53 +0000 (17:21 -0700)]
am b2c1cfbe: am 0cd545f1: sometimes we would incorrectly scale the content of a surface

* commit 'b2c1cfbe95bed419487455d1b82956f9c5b2a40c':
  sometimes we would incorrectly scale the content of a surface

12 years agoam 0cd545f1: sometimes we would incorrectly scale the content of a surface
Mathias Agopian [Fri, 8 Jun 2012 00:16:52 +0000 (17:16 -0700)]
am 0cd545f1: sometimes we would incorrectly scale the content of a surface

* commit '0cd545f14261d829513e0d6e8fa5e4e4f3372b3d':
  sometimes we would incorrectly scale the content of a surface

12 years agosometimes we would incorrectly scale the content of a surface
Mathias Agopian [Thu, 7 Jun 2012 21:18:55 +0000 (14:18 -0700)]
sometimes we would incorrectly scale the content of a surface

this would happen when a resize was pending (ie: we have received
and processed a resize transaction but have not received a buffer
with the right size) and a new transaction came in that didn't
involve a resize, for instance a translate-only transaction.

in this case, we would incorrectly update the drawing state
with the pending size, eventhough we still don't have a buffer
for it.

the solution is quite simple, we never allow the size to propagate
from current to drawing state during the regular transaction processing
(unless we are in fixed-size mode -- meaning we don't need to have
a matching size buffer), this propagation happens later once we
receive the buffer.

Bug: 6624163
Change-Id: I11a97e4b88a7f3a0571ddcfe99c86cb04ce01a4d

12 years agosurfaceflinger: replace early suspend with binder call from PowerManager
Colin Cross [Thu, 7 Jun 2012 20:17:52 +0000 (13:17 -0700)]
surfaceflinger: replace early suspend with binder call from PowerManager

SurfaceFlinger will no longer directly synchronize with early suspend.
Instead, PowerManagerService will synchronize with SurfaceFlinger to
ensure that a black frame has been drawn on the display, and then
trigger all early suspend handlers.

Change-Id: I07acdd628440d23fdb69db94319ec5d65d3f4919

12 years agoam d7749390: Reconcile with jb-release
The Android Open Source Project [Thu, 7 Jun 2012 14:55:24 +0000 (07:55 -0700)]
am d7749390: Reconcile with jb-release

* commit 'd77493907eca9cb5ddbe4c72fd758211901f73e1':

12 years agoReconcile with jb-release
The Android Open Source Project [Thu, 7 Jun 2012 14:51:00 +0000 (07:51 -0700)]
Reconcile with jb-release

Change-Id: I73f561b3fb9c76aa30ff7de8eab378a1ba5963cc

12 years agomerge in jb-release history after reset to jb-dev
The Android Automerger [Thu, 7 Jun 2012 14:03:01 +0000 (07:03 -0700)]
merge in jb-release history after reset to jb-dev

12 years agodumpstate: handle old style "adb bugreport"
Nick Kralevich [Wed, 25 Apr 2012 20:38:45 +0000 (13:38 -0700)]
dumpstate: handle old style "adb bugreport"

When "adb bugreport" was run on previous adb releases, it
called "adb shell dumpstate". In later versions of Android,
this was changed to "adb shell bugreport", which starts
the dumpstate service.

Modify the dumpstate command so that it calls bugreport
when it's not running as root. This allows both
"adb shell dumpstate" and "adb shell bugreport" to have
the exact same output.

Bug: 6391938
Change-Id: Ia32bb9ebc579db3bee7caa0fe66dc3f124d60a12

12 years agoam ec07c8e9: am ba43e0a1: Merge "SurfaceFlinger: remove all GLES scissor calls."...
Jamie Gennis [Wed, 6 Jun 2012 22:51:16 +0000 (15:51 -0700)]
am ec07c8e9: am ba43e0a1: Merge "SurfaceFlinger: remove all GLES scissor calls." into jb-dev

* commit 'ec07c8e9576f6f455e281dc0b619100b29133c0e':
  SurfaceFlinger: remove all GLES scissor calls.

12 years agoam ba43e0a1: Merge "SurfaceFlinger: remove all GLES scissor calls." into jb-dev
Jamie Gennis [Wed, 6 Jun 2012 22:47:29 +0000 (15:47 -0700)]
am ba43e0a1: Merge "SurfaceFlinger: remove all GLES scissor calls." into jb-dev

* commit 'ba43e0a1faee9629ca2d0beb53dd6c44bb9bfd05':
  SurfaceFlinger: remove all GLES scissor calls.

12 years agoMerge "SurfaceFlinger: remove all GLES scissor calls." into jb-dev
Jamie Gennis [Wed, 6 Jun 2012 22:45:10 +0000 (15:45 -0700)]
Merge "SurfaceFlinger: remove all GLES scissor calls." into jb-dev

12 years agoam a586c9b1: am be502a02: Add new Dalvik memory limit definition.
Dianne Hackborn [Wed, 6 Jun 2012 17:54:28 +0000 (10:54 -0700)]
am a586c9b1: am be502a02: Add new Dalvik memory limit definition.

* commit 'a586c9b18ad780e32b3c6f8a99d1e9432cc52639':
  Add new Dalvik memory limit definition.

12 years agoam be502a02: Add new Dalvik memory limit definition.
Dianne Hackborn [Wed, 6 Jun 2012 17:51:15 +0000 (10:51 -0700)]
am be502a02: Add new Dalvik memory limit definition.

* commit 'be502a02c8e0ea232e7339ed60b1754c929ecec1':
  Add new Dalvik memory limit definition.

12 years agoreduce PB size from 2MB to 512KB
Mathias Agopian [Wed, 6 Jun 2012 04:44:43 +0000 (21:44 -0700)]
reduce PB size from 2MB to 512KB

this allows us to enable h/w acceleration on low-end
devices while keeping memory usage down.

Bug: 6557760
Change-Id: I8af2de3038dc2579360b8b73aa452cb7a0e506a9

12 years agoSurfaceFlinger: remove all GLES scissor calls.
Jamie Gennis [Mon, 4 Jun 2012 22:02:33 +0000 (15:02 -0700)]
SurfaceFlinger: remove all GLES scissor calls.

Bug: 6576505
Change-Id: I494b7627f2e271a234706bf49a9490f8ac56c77a

12 years agoAdd new Dalvik memory limit definition.
Dianne Hackborn [Wed, 6 Jun 2012 01:21:03 +0000 (18:21 -0700)]
Add new Dalvik memory limit definition.

This is for a 7in hdpi/tvdpi tablet with 1G of RAM.

That sounds kind-of familiar.  I don't know.  Have I seen
such a thing before?  Maybe.

Bug: 6576049
Change-Id: Iabc245692d5106feec9199eb2b5a3d06e27a9b83

12 years agoam 4929e821: am 4824d40a: sometimes SF would not process a surface resize
Mathias Agopian [Tue, 5 Jun 2012 16:21:56 +0000 (09:21 -0700)]
am 4929e821: am 4824d40a: sometimes SF would not process a surface resize

* commit '4929e821ffad4e53192ad6d2aa65a6f040c295b8':
  sometimes SF would not process a surface resize

12 years agomerge in jb-release history after reset to jb-dev
The Android Automerger [Tue, 5 Jun 2012 13:59:22 +0000 (06:59 -0700)]
merge in jb-release history after reset to jb-dev

12 years agoam 4824d40a: sometimes SF would not process a surface resize
Mathias Agopian [Tue, 5 Jun 2012 01:35:48 +0000 (18:35 -0700)]
am 4824d40a: sometimes SF would not process a surface resize

* commit '4824d40a35333182c2eb3593511b9bcbecd0a943':
  sometimes SF would not process a surface resize

12 years agosometimes SF would not process a surface resize
Mathias Agopian [Tue, 5 Jun 2012 01:16:30 +0000 (18:16 -0700)]
sometimes SF would not process a surface resize

this would happen when a window started with size A, was
resized to B and immediately resized to A. In this situation
the erquested and active size would be the same, and SF
would think a transaction wasn't needed.

we fix this by always comparing the requested sizes.

Also, make sure to set mRefreshPending once we're sure
we have succesfully called updateTexImage().

Bug: 6580962
Change-Id: I2c48b4df7f05fd35c9e1d2dd82095b0f3d5a0b6a

12 years agomerge in jb-release history after reset to jb-dev
The Android Automerger [Sun, 3 Jun 2012 13:03:18 +0000 (06:03 -0700)]
merge in jb-release history after reset to jb-dev

12 years agoam d5085da3: am 4467bba7: Merge "Support looper callbacks based on smart pointers...
Jeff Brown [Fri, 1 Jun 2012 01:43:27 +0000 (18:43 -0700)]
am d5085da3: am 4467bba7: Merge "Support looper callbacks based on smart pointers." into jb-dev

* commit 'd5085da3c0c103bba0c2c927382f7d414275b661':
  Support looper callbacks based on smart pointers.

12 years agoam 80586761: am dad23789: Merge "Delete unused poll() code." into jb-dev
Jeff Brown [Fri, 1 Jun 2012 01:43:26 +0000 (18:43 -0700)]
am 80586761: am dad23789: Merge "Delete unused poll() code." into jb-dev

* commit '805867612c0c11d3bb494cbf454cbb2de21a1b75':
  Delete unused poll() code.

12 years agoam dce1547d: am 9e2e781a: Merge "Remove unused statistics code." into jb-dev
Jeff Brown [Fri, 1 Jun 2012 01:43:26 +0000 (18:43 -0700)]
am dce1547d: am 9e2e781a: Merge "Remove unused statistics code." into jb-dev

* commit 'dce1547d65877b89cec4e52ee8e5b39830911d00':
  Remove unused statistics code.

12 years agoam 4467bba7: Merge "Support looper callbacks based on smart pointers." into jb-dev
Jeff Brown [Fri, 1 Jun 2012 01:41:16 +0000 (18:41 -0700)]
am 4467bba7: Merge "Support looper callbacks based on smart pointers." into jb-dev

* commit '4467bba73a91161da01d5d969cf7ba3e2309d989':
  Support looper callbacks based on smart pointers.

12 years agoam dad23789: Merge "Delete unused poll() code." into jb-dev
Jeff Brown [Fri, 1 Jun 2012 01:41:16 +0000 (18:41 -0700)]
am dad23789: Merge "Delete unused poll() code." into jb-dev

* commit 'dad2378911a244607afa3899928c429b340031cb':
  Delete unused poll() code.

12 years agoam 9e2e781a: Merge "Remove unused statistics code." into jb-dev
Jeff Brown [Fri, 1 Jun 2012 01:41:14 +0000 (18:41 -0700)]
am 9e2e781a: Merge "Remove unused statistics code." into jb-dev

* commit '9e2e781acaead54d0fb095d55a1c44b32563248f':
  Remove unused statistics code.

12 years agoMerge "Support looper callbacks based on smart pointers." into jb-dev
Jeff Brown [Fri, 1 Jun 2012 01:39:13 +0000 (18:39 -0700)]
Merge "Support looper callbacks based on smart pointers." into jb-dev

12 years agoMerge "Delete unused poll() code." into jb-dev
Jeff Brown [Fri, 1 Jun 2012 01:39:06 +0000 (18:39 -0700)]
Merge "Delete unused poll() code." into jb-dev

12 years agoMerge "Remove unused statistics code." into jb-dev
Jeff Brown [Fri, 1 Jun 2012 01:39:02 +0000 (18:39 -0700)]
Merge "Remove unused statistics code." into jb-dev

12 years agoSupport looper callbacks based on smart pointers.
Jeff Brown [Thu, 31 May 2012 23:15:35 +0000 (16:15 -0700)]
Support looper callbacks based on smart pointers.

Bug: 6559630
Change-Id: I5a667f219f431838638acefbc9fa6afa610971bd

12 years agoAdd camera as an ATRACE tag
Eino-Ville Talvala [Thu, 31 May 2012 22:49:43 +0000 (15:49 -0700)]
Add camera as an ATRACE tag

Change-Id: Ib4f22d593836c4b973d122efa114d359f1529914

12 years agoDelete unused poll() code.
Jeff Brown [Thu, 31 May 2012 02:21:12 +0000 (19:21 -0700)]
Delete unused poll() code.

We don't need this code anymore and it is just in the way.

Bug: 6559630
Change-Id: I1dc9decf85d5ea1feab159c2985da6c20baffdd5

12 years agoRemove unused statistics code.
Jeff Brown [Thu, 31 May 2012 02:17:47 +0000 (19:17 -0700)]
Remove unused statistics code.

Bug: 6559630
Change-Id: Iacdf4bb4c1c125c09305cbd8cb443c7c80cfc010

12 years agoAdd the EGL_ANDROID_fence_sync spec.
Jamie Gennis [Wed, 30 May 2012 02:14:36 +0000 (19:14 -0700)]
Add the EGL_ANDROID_fence_sync spec.

Change-Id: I8c26e5caaf8d89a60a09a5308d55e336537b916e

12 years agoam 0fda2cce: Reconcile with jb-release
The Android Open Source Project [Wed, 30 May 2012 17:21:50 +0000 (10:21 -0700)]
am 0fda2cce: Reconcile with jb-release

* commit '0fda2cce44cd49f16d50ed618c954e12e453f920':

12 years agoReconcile with jb-release
The Android Open Source Project [Wed, 30 May 2012 17:15:16 +0000 (10:15 -0700)]
Reconcile with jb-release

Change-Id: If0a430615dadb425b82aa27204e6c670f06ee099

12 years agomerge in jb-release history after reset to jb-dev
The Android Automerger [Wed, 30 May 2012 14:03:19 +0000 (07:03 -0700)]
merge in jb-release history after reset to jb-dev

12 years agoam 79f2e1af: am e31564d8: Fix a crasher is surfaceflinger.
Mathias Agopian [Wed, 30 May 2012 04:09:04 +0000 (21:09 -0700)]
am 79f2e1af: am e31564d8: Fix a crasher is surfaceflinger.

* commit '79f2e1afbc08cd0cbcddc70cde5e3b7f1f0afea4':
  Fix a crasher is surfaceflinger.

12 years agoam e31564d8: Fix a crasher is surfaceflinger.
Mathias Agopian [Wed, 30 May 2012 04:06:55 +0000 (21:06 -0700)]
am e31564d8: Fix a crasher is surfaceflinger.

* commit 'e31564d8eb0ab67e167a888eccce20f5b4e4ef45':
  Fix a crasher is surfaceflinger.

12 years agoFix a crasher is surfaceflinger.
Mathias Agopian [Wed, 30 May 2012 03:41:03 +0000 (20:41 -0700)]
Fix a crasher is surfaceflinger.

this bug introduced recently would happen when the very first
buffer of a surface was rejected for not having the right size

Bug: 6577035
Change-Id: I9fabf20006019f2a6c308be7c7f5c05bdcfd5014

12 years agoam 584fcb32: am 2c8207e9: add the ability to reject buffers in SurfaceTexture::update...
Mathias Agopian [Wed, 30 May 2012 02:53:52 +0000 (19:53 -0700)]
am 584fcb32: am 2c8207e9: add the ability to reject buffers in SurfaceTexture::updateTexImage

* commit '584fcb3218e07d7b4cc0aeaef41faa4e891b45a4':
  add the ability to reject buffers in SurfaceTexture::updateTexImage

12 years agoam c7c8334f: am 702634a4: refactoring in preparation for bug:6498869 fix
Mathias Agopian [Wed, 30 May 2012 02:53:50 +0000 (19:53 -0700)]
am c7c8334f: am 702634a4: refactoring in preparation for bug:6498869 fix

* commit 'c7c8334f059e42106c7cfa27cdead277fd5e135d':
  refactoring in preparation for bug:6498869 fix

12 years agoam f67148ec: am 05cec9d1: improve resize transactions
Mathias Agopian [Wed, 30 May 2012 02:53:49 +0000 (19:53 -0700)]
am f67148ec: am 05cec9d1: improve resize transactions

* commit 'f67148eccd54a9529e9e65c0f1bc07f1abd01fb6':
  improve resize transactions