| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
SF bypass mode triggers a bug in the display controller that
case cause the device to freeze.
Change-Id: If29b4d5132f463d13831b082b904c235f15a19fb
|
|
|
|
|
|
|
| |
In some situations, the screen transformation would not be
applied while in bypass mode.
Change-Id: I3d6dd52e4c12b11aae97b54bf8e2322536eee37f
|
|
|
|
|
|
|
|
|
| |
This is a poor's man precursor to the h/w composer HAL.
Basically we detect when a window is full screen and in
that case we bypass surfaceflinger's composition step, which
yields to much improved performance.
Change-Id: Ie03796ae81a1c951949b771c9323044b980cb347
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mFixedSize was never set, this bug was introduced during some "cleanup", in
practice this could cause some issues when a fixed-size buffer was used and
the window was resized.
Layer::drawForSreenShot() had a typo that had no effect.
mFixedSize was used to determine if filtering was needed, which was a bit too
conservative and created a dependency between filtering and "fixed size" states
which should exist.
Now we enable filtering based on the size of the buffer vs. the size of the layer.
Change-Id: I32044e91b0c944c1b137efdceb3f01dfaa78119d
|
|
|
|
|
|
|
| |
some of these failures are not fatal and even expected in some cases
so they should not emit a dump in the log in those cases.
Change-Id: Idcfa252e3bfa9d74e27fe4ad8f8623aa01aa9c5e
|
|
|
|
|
|
|
|
| |
Two bugs were counter acting each other.
- rotation matrices are on the left-hand side of multiplies
- the transform of the overlay is applied before that of the layer
Change-Id: Ia79bd368e9b719235c89ecf244ea263f01ce906a
|
|\
| |
| |
| | |
orientation switch" into gingerbread
|
| |
| |
| |
| |
| |
| |
| | |
the overlay wasn't reconfigured when the screen-orientation changed. It was
only done when a parameter of the surface itself changed.
Change-Id: I0ca0925bf58ded4c91ab89d12cb1fe4d1477c96c
|
|/
|
|
|
|
|
|
|
|
|
|
| |
The problem wasn't in the multiply operator, but rather in the code
that built the transform from the HAL bitmask.
We now use the multiply operator to build the Transform from the bitmask,
which guarantees, it'll always be correct.
Also added a simple test for Transform.
Change-Id: I09bf3b0e51d92f59d83ea91c4cc94fc2aa0bf227
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I12eadf1e32d576de5d811fba44afa73263e13eef
|
| |
| |
| |
| |
| |
| | |
turn on animation is now ~200 ms (12 frames).
Change-Id: I49ca9e8d0afa566349d360b3b6c88f0d55aa6e75
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
3097475: Animation setting should control the screen on animation
3096779: CRT power-on animation can briefly show the top app instead of lockscreen
There is now a parameter that controls wether the ON and/or OFF animation are
performed. we also always clear the screen to black on power off, to make
sure it won't briefly appear on power on.
HOWEVER, 3096779 is not 100% fixed in the case where we're doing the animation
because there is a race, where SF doesn't wait (b/c it doesn't know) for the
framework to have redrawn the lockscreen.
Change-Id: Ie0f02c9225fcdf24b1e8907e268eb7da2c5b0a03
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
always redraw the screen entirely after the power-on animation, because:
- the animation may not run (ie: on the emu)
- the animation may not contain the video planes
- the interpolation may not be perfect and not land exactly on the last frame
Change-Id: I9ba40f537b1e94464f8a3ed6f81e7c2f552df51d
|
| |
| |
| |
| |
| |
| |
| |
| | |
now that sf handles more of the screen on/off state, we don't want to abort
because/if the animation fails for some reason (which will be the case on the
emulator).
Change-Id: I239e0a39cf8aff3074647e82db92de4a0bf0e494
|
| |
| |
| |
| |
| |
| | |
add support for screen on animation
Change-Id: If50cf52ae04b95b42da7d74cf7fa96d5cb54d238
|
|/
|
|
| |
Change-Id: I335fb6719f1d5a3f1c6f37a046fd1c2c4ed2bbc6
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Ie2cc4a8543a5625750c8596f87edcb66fcbca31f
|
|/
|
|
|
|
|
|
|
|
| |
because invalidate messages were always handled first, they
could prevent other messages to get through entirely.
there is no real reason to handle invalidate messages first because
the other messages are very uncommon and won't interfer with
updates.
Change-Id: Ib95cdf35a91407bd2f4d69dd082c5f546e1e0071
|
|
|
|
| |
Change-Id: I98c69b129e75e065e61f47e54f0f855d9401b0dc
|
|
|
|
|
|
|
|
|
|
|
| |
the core screenshot function now can capture the screen at any lower resolution
performing bilinear filtering.
we also now have some client code to interface with the screenshot service.
it's now possible to request a screenshot at a lower resolution.
Change-Id: I33689bba98507ab928d0898b21596d0d2fe4b953
|
|
|
|
| |
Change-Id: I1f7c453508ccfd4faaa8b1279968a358ce3f1e5a
|
|
|
|
|
|
|
|
|
|
|
| |
screenshots are taken using ISurfaceComposer::captureScreen() which returns
the size of the screenshot and an IMemoryHeap containing the data.
screenshots have limitations:
- they will always fail if a secure window is up on screen
- require GL_OES_framebuffer_object extension
- in some situation, video planes won't been captured
Change-Id: I741c68a2d2984fb139039301c3349e6780e2cd58
|
|
|
|
|
|
|
| |
Add correct enumerants for OES_EGL_image_external to glext.h.
SurfaceFlinger now checks for the correct extension name.
Change-Id: I2ba2728a01fa2260bd086d2df4316c68f694a9b1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are 16 events logged in the event log:
SF_APP_DEQUEUE_BEFORE
SF_APP_DEQUEUE_AFTER
SF_APP_LOCK_BEFORE
SF_APP_LOCK_AFTER
SF_APP_QUEUE
SF_REPAINT
SF_COMPOSITION_COMPLETE
SF_UNLOCK_CLIENTS
SF_SWAP_BUFFERS
SF_REPAINT_DONE
SF_FB_POST_BEFORE
SF_FB_POST_AFTER
SF_FB_DEQUEUE_BEFORE
SF_FB_DEQUEUE_AFTER
SF_FB_LOCK_BEFORE
SF_FB_LOCK_AFTER
all events log the buffer conserned and a timestamp in microseconds.
by default the logging is not enabled, to turn it on:
adb shell service call SurfaceFlinger 1006 i31 1
adb shell setprop debug.graphic_log 1
The effect is immediate in SurfaceFlinger, but applications need to be
restarted.
Change-Id: Ifc2e31f7aed072d9a7dede20ff2ce59231edbec1
|
|
|
|
| |
Change-Id: I7e86f2b6d85dcae8dd212890b978fa6ac7de6893
|
|
|
|
| |
Change-Id: Iabbcec1bfa30dc47d45ece699dd178653f1b675b
|
|
|
|
|
|
| |
Also implement support for cropping.
Change-Id: Iba5888dd242bf2feaac9e9ce26e404c1f404c280
|
|
|
|
| |
Change-Id: I55bc3cc41385743c07f7e4de06335c922f746f73
|
|
|
|
|
|
|
|
| |
This reverts commit:
94364b91a2894bf037b8beb027132fbb812e1434
f8e705dea48f77f1c2532fdbadd4997dd1851af0
b59beb5ca68d0228f60dda60d85e2d0226b33215
e0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I36a3bf9d1d2eacd9b14e00b0a6c53bf88bba381c
|
|/
|
|
| |
Change-Id: I4b83f7bf7ba1318c70054117f14e759fe0ad105c
|
|
|
|
|
|
|
|
| |
- we now clear the framebuffer upon request from the HAL
- the HAL list size could get out of sync with reality
- there was also an issue where sometime we could run past the list
Change-Id: Ic3a34314aed24181f2d8cc787096af83c046ef27
|
|
|
|
| |
Change-Id: I5390bd34dcca36fef43b5169386fff1b04cc842b
|
|
|
|
| |
Change-Id: I70f31c69a9436a43860e78977442863ecba6d27b
|
|
|
|
|
|
|
| |
this is already taken into consideration in computeVisibleRegion
and therefore not needed at draw time.
Change-Id: I3fc7336d22f1147dfcd3a20fd71bf79b946d971f
|
|
|
|
|
|
| |
we now use SortedVector<> with a special compare implementation.
Change-Id: I910459cf3b3c8993b55ad0786a8c348369262de5
|
|
|
|
| |
Change-Id: Ib815eeff894f8a3b1e79fbbf8186d5d91bb60285
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
dequeue all allocated buffers at once.
this situation happened when the last buffer needed to be resized
(or allocated, the first time). the assumption was that the buffer
was in use by SF itself as the current buffer (obviously, this
assumption made no sense when the buffer had never been allocated, btw).
the system would wait until some other buffer became the "front" buffer.
we fix this problem by entirely removing the requirement that the
buffer being resized cannot be the front buffer. instead, we just
allocate a new buffer and replace the front buffer by the new one.
the downside is that this uses more memory (an extra buffer) for a
brief amount of time while the old buffer is being reallocated and
before it has actually been replaced.
Change-Id: I022e4621209474ceb1c671b23deb4188eaaa7285
|
|
|
|
| |
Change-Id: Id980899d2647b56479f8a27c89eaa949f9209dfe
|
|
|
|
|
|
|
|
| |
moved surfaceflinger, audioflinger, cameraservice
all native services should now reside in this location.
Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
|
| |
|
| |
|
| |
|
|
|