Commit Graph

46574 Commits

Author SHA1 Message Date
The Android Open Source Project
fb05c7c34b Reconcile with jb-release
Change-Id: I6a74f5247794a5dddd6fbb75b2edbaba06674ab7
2012-06-19 06:13:43 -07:00
Jeff Brown
bbdad8193e 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
2012-06-18 10:32:32 -07:00
The Android Automerger
9e39e5353c merge in jb-release history after reset to jb-dev 2012-06-16 07:03:06 -07:00
Mathias Agopian
1ffdccc46e 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
2012-06-15 16:17:06 -07:00
Jeff Brown
7c24b1d4da Merge "SF could get stuck waiting for vsync when turning the screen off" into jb-dev 2012-06-15 15:30:35 -07:00
Mathias Agopian
7d88647473 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
2012-06-15 14:59:31 -07:00
Jeff Brown
0512af11f4 am 16272efb: Add ASSIST keycode.
* commit '16272efb7af0692266fecdc53b2c6d995bf397b7':
  Add ASSIST keycode.
2012-06-15 11:57:37 -07:00
Jeff Brown
16272efb7a Add ASSIST keycode.
Bug: 6594275
Change-Id: I032b055207d16bfff93ee8a350c0dc52b9102926
2012-06-15 11:46:11 -07:00
Mathias Agopian
1d2eb663ef am 2d15fcab: Merge "reduce PB size from 2MB to 512KB" into jb-dev
* commit '2d15fcab3e3588cfddb6c7b180faecd3eccce2e5':
  reduce PB size from 2MB to 512KB
2012-06-12 12:42:38 -07:00
The Android Automerger
23a39ef144 merge in jb-release history after reset to jb-dev 2012-06-12 11:23:05 -07:00
Mathias Agopian
2d15fcab3e Merge "reduce PB size from 2MB to 512KB" into jb-dev 2012-06-11 14:43:37 -07:00
The Android Open Source Project
7c94f9d8e0 Reconcile with jb-release
Change-Id: Iac1c88f2833e67e52af2bc22a17fa93d30cb44cc
2012-06-11 09:22:35 -07:00
The Android Automerger
7f92bf2bf9 merge in jb-release history after reset to jb-dev 2012-06-11 07:02:56 -07:00
Jeff Brown
4f0dfaa7c3 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.
2012-06-08 15:30:38 -07:00
Jeff Brown
9be7caf380 Merge "Include stack traces for certain native processes in bugreport." into jb-dev 2012-06-08 14:38:30 -07:00
Dianne Hackborn
66506eaacb 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.
2012-06-08 14:22:06 -07:00
Dianne Hackborn
49b97e20f1 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
2012-06-08 13:02:09 -07:00
Jeff Brown
bf7f49238d Include stack traces for certain native processes in bugreport.
Bug: 6615693
Change-Id: I64c3b3ce0bba62d9c332a795f7d979fb753dc27b
2012-06-08 11:45:00 -07:00
Magnus Strandberg
1ba24574b2 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
2012-06-08 08:29:01 -07:00
The Android Automerger
a38f794b0d merge in jb-release history after reset to jb-dev 2012-06-08 08:20:32 -07:00
Mathias Agopian
b2c1cfbe95 am 0cd545f1: sometimes we would incorrectly scale the content of a surface
* commit '0cd545f14261d829513e0d6e8fa5e4e4f3372b3d':
  sometimes we would incorrectly scale the content of a surface
2012-06-07 17:16:52 -07:00
Mathias Agopian
0cd545f142 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
2012-06-07 17:12:20 -07:00
The Android Open Source Project
d77493907e Reconcile with jb-release
Change-Id: I73f561b3fb9c76aa30ff7de8eab378a1ba5963cc
2012-06-07 07:51:00 -07:00
The Android Automerger
ce786fca55 merge in jb-release history after reset to jb-dev 2012-06-07 07:03:01 -07:00
Jamie Gennis
ec07c8e957 am ba43e0a1: Merge "SurfaceFlinger: remove all GLES scissor calls." into jb-dev
* commit 'ba43e0a1faee9629ca2d0beb53dd6c44bb9bfd05':
  SurfaceFlinger: remove all GLES scissor calls.
2012-06-06 15:47:29 -07:00
Jamie Gennis
ba43e0a1fa Merge "SurfaceFlinger: remove all GLES scissor calls." into jb-dev 2012-06-06 15:45:10 -07:00
Dianne Hackborn
a586c9b18a am be502a02: Add new Dalvik memory limit definition.
* commit 'be502a02c8e0ea232e7339ed60b1754c929ecec1':
  Add new Dalvik memory limit definition.
2012-06-06 10:51:15 -07:00
Mathias Agopian
d75f84d641 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
2012-06-05 21:44:43 -07:00
Jamie Gennis
a4c5b19dd7 SurfaceFlinger: remove all GLES scissor calls.
Bug: 6576505
Change-Id: I494b7627f2e271a234706bf49a9490f8ac56c77a
2012-06-05 19:14:44 -07:00
Dianne Hackborn
be502a02c8 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
2012-06-05 18:23:11 -07:00
The Android Automerger
76b77c9312 merge in jb-release history after reset to jb-dev 2012-06-05 06:59:22 -07:00
Mathias Agopian
4929e821ff am 4824d40a: sometimes SF would not process a surface resize
* commit '4824d40a35333182c2eb3593511b9bcbecd0a943':
  sometimes SF would not process a surface resize
2012-06-04 18:35:48 -07:00
Mathias Agopian
4824d40a35 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
2012-06-04 18:16:30 -07:00
The Android Automerger
89237345c9 merge in jb-release history after reset to jb-dev 2012-06-03 06:03:18 -07:00
Jeff Brown
d5085da3c0 am 4467bba7: Merge "Support looper callbacks based on smart pointers." into jb-dev
* commit '4467bba73a91161da01d5d969cf7ba3e2309d989':
  Support looper callbacks based on smart pointers.
2012-05-31 18:41:16 -07:00
Jeff Brown
805867612c am dad23789: Merge "Delete unused poll() code." into jb-dev
* commit 'dad2378911a244607afa3899928c429b340031cb':
  Delete unused poll() code.
2012-05-31 18:41:16 -07:00
Jeff Brown
dce1547d65 am 9e2e781a: Merge "Remove unused statistics code." into jb-dev
* commit '9e2e781acaead54d0fb095d55a1c44b32563248f':
  Remove unused statistics code.
2012-05-31 18:41:14 -07:00
Jeff Brown
4467bba73a Merge "Support looper callbacks based on smart pointers." into jb-dev 2012-05-31 18:39:13 -07:00
Jeff Brown
dad2378911 Merge "Delete unused poll() code." into jb-dev 2012-05-31 18:39:06 -07:00
Jeff Brown
9e2e781aca Merge "Remove unused statistics code." into jb-dev 2012-05-31 18:39:02 -07:00
Jeff Brown
af567f73ac Support looper callbacks based on smart pointers.
Bug: 6559630
Change-Id: I5a667f219f431838638acefbc9fa6afa610971bd
2012-05-31 17:16:21 -07:00
Jeff Brown
588d5c8280 Delete unused poll() code.
We don't need this code anymore and it is just in the way.

Bug: 6559630
Change-Id: I1dc9decf85d5ea1feab159c2985da6c20baffdd5
2012-05-30 19:21:12 -07:00
Jeff Brown
1ea51bf519 Remove unused statistics code.
Bug: 6559630
Change-Id: Iacdf4bb4c1c125c09305cbd8cb443c7c80cfc010
2012-05-30 19:17:47 -07:00
The Android Open Source Project
0fda2cce44 Reconcile with jb-release
Change-Id: If0a430615dadb425b82aa27204e6c670f06ee099
2012-05-30 10:15:16 -07:00
The Android Automerger
8c09d0d80d merge in jb-release history after reset to jb-dev 2012-05-30 07:03:19 -07:00
Mathias Agopian
79f2e1afbc am e31564d8: Fix a crasher is surfaceflinger.
* commit 'e31564d8eb0ab67e167a888eccce20f5b4e4ef45':
  Fix a crasher is surfaceflinger.
2012-05-29 21:06:55 -07:00
Mathias Agopian
e31564d8eb 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
2012-05-29 20:41:03 -07:00
Mathias Agopian
584fcb3218 am 2c8207e9: add the ability to reject buffers in SurfaceTexture::updateTexImage
* commit '2c8207e9627fe6c7a90e31fae8d71ae49df56845':
  add the ability to reject buffers in SurfaceTexture::updateTexImage
2012-05-29 19:50:58 -07:00
Mathias Agopian
c7c8334f05 am 702634a4: refactoring in preparation for bug:6498869 fix
* commit '702634a4dad85cfc292618ac91eda6c00f42b7c5':
  refactoring in preparation for bug:6498869 fix
2012-05-29 19:50:57 -07:00
Mathias Agopian
f67148eccd am 05cec9d1: improve resize transactions
* commit '05cec9d1275fd939c2d1aec235dca2bdb8edef63':
  improve resize transactions
2012-05-29 19:50:55 -07:00