• Home
  • History
  • Annotate
  • only in /frameworks/native/services/surfaceflinger/RenderEngine/
History log of /frameworks/native/services/surfaceflinger/RenderEngine/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9e56aa0fdb5f7121b9b975c6c16db103ea4d2fe9 02-Nov-2015 Dan Stoza <stoza@google.com> Switch SurfaceFlinger to HWC 2.0

Enables SurfaceFlinger to speak to version 2.0 of the Hardware Composer
HAL instead of version 1.x (also removing support for the framebuffer
HAL). By default, however, this functionality is disabled. In order to
enable it, USE_HWC2 must be set to true in Android.mk.

Change-Id: I4589e02ac2165236b10ff2f7cb772f87e0d3daab
LES10RenderEngine.cpp
LES10RenderEngine.h
LES11RenderEngine.cpp
LES11RenderEngine.h
LES20RenderEngine.cpp
LES20RenderEngine.h
enderEngine.h
53390e1e8c33ebee5bb8100e846f5263ba05ff73 04-Aug-2015 Pablo Ceballos <pceballos@google.com> libgui/SF: Fix some code warnings

A couple of fixes to satisfy the Eclipse static code analysis tool.
- Initialize all members in constructors
- Remove unused forward declarations
- Add parentheses when combining logical and bitwise operators
- Fix a case statement with no break (it was intentional)

Change-Id: Icecb8cc98c6f58b97ab33fffb621f0edc33a7d3c
enderEngine.cpp
f008799d3753e52c10849824ff8146985ea66284 21-Oct-2014 Dan Stoza <stoza@google.com> SF: Skip render-to-texture for color transforms

In cases where SurfaceFlinger is applying a color matrix (usually for
accessibility features), we previously would perform a render-to-
texture for the initial composition, and then apply the matrix during
a copy to the framebuffer. This changes that behavior to just apply the
matrix during composition without a render-to-texture pass.

This may result in a perceived change of the image in cases with alpha
blending, since the blending is performed at a different stage of the
pipeline and the system effectively performs non-linear blends.
However, neither this nor the prior render-to-texture pass is strictly
correct in that regard, and this approach is less error-prone and
likely faster.

Change-Id: I2110ff0374f61d76df7b087dde8a1ed98990440c
escription.cpp
escription.h
LES11RenderEngine.cpp
LES11RenderEngine.h
LES20RenderEngine.cpp
LES20RenderEngine.h
enderEngine.h
aa4041f70a4068a7ce9df8bea3cda8aaf94a62f6 29-Apr-2015 Dan Stoza <stoza@google.com> SurfaceFlinger: Fix integer overflow in Mesh ctor

Performs range checking on the inputs to Mesh::Mesh() before allocating
the storage array.

Bug: 20674682
Change-Id: I4fc918a8c312d967dd6d9f91a098b2e0a7081027
(cherry picked from commit ab79e33ef3a21a2b14bf15bc4c85aef247b4ad95)
esh.cpp
3acd9f1d8fdffc0ed0837ebbabcac0c4014015b3 29-Apr-2015 Alan Viverette <alanv@google.com> Remove gamma correction from color correction shader

Gamma correction was incorrectly skewing both color inversion and
Daltonization, which resulted in washed-out colors.

Bug: 20346301
Change-Id: I34d879f902c3be115b2d23f09c3ed3902799759e
rogramCache.cpp
4037c458a7594cb3cd81a14e7e974abc28180187 13-Nov-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of 07dffa18 to lmp-mr1-dev-plus-aosp

Change-Id: I42d8bc291f4f48f3098754b076889159c4b20e41
89fd4f7fa6bd17ce5400979c3b9e5ba0bf7e919e 13-Nov-2014 Andreas Gampe <agampe@google.com> Frameworks/native: Wall Werror in surfaceflinger

Turn on -Wall -Werror in services/surfaceflinger. Fix warnings.

Change-Id: Ifef830300d9d4bc657d8f1257c02bfe8c2b4d9c5
LES11RenderEngine.cpp
LES20RenderEngine.cpp
enderEngine.cpp
9707f4df640c3369f873a934bb05ffa5a68a5640 24-Oct-2014 Riley Andrews <riandrews@google.com> Add glFlush in surfaceflinger screenshot code.

After creating a syncKHR object with type EGL_SYNC_NATIVE_FENCE_ANDROID,
glFlush must be called before the EGL_SYNC_NATIVE_FENCE_FD_ANDROID attribute
is populated with a sync fd. We currently call eglDupNativeFenceFDANDROID
before issuing the flush.

Bug 18052459
Taken verbatim from matthew.k.gumbel@intel.com.

Change-Id: I3781d14f92862076e2bca7d27341a6dc6e7e3775
enderEngine.cpp
enderEngine.h
6747be9fab9981ec24729cede5e0fe779e8b8914 29-Sep-2014 Riley Andrews <riandrews@google.com> Generate the SurfaceFlinger shader cache on initialization

Blobcache is not yet enabled for surfaceflinger (as it should be).
As a temporary workaround, generate all needed shaders during
surfaceflinger initialization instead of doing the compilation
on-demand during ui transitions.

Change-Id: I14455b20a3f85f177d85c9c8b76d8ccc35379b39
rogramCache.cpp
rogramCache.h
c3ebe66b49cfba035e1fd0e160a13db38eb81b0e 05-Sep-2014 Riley Andrews <riandrews@google.com> Add rotation to surfaceflingers screen cap.

+ This is needed so that activity manager does not
have to do cpu side rotations when capturing recents
thumbnails.

Change-Id: If998008e675ad01305db8399fd643cf4608b7025
LES11RenderEngine.cpp
LES11RenderEngine.h
LES20RenderEngine.cpp
LES20RenderEngine.h
enderEngine.h
9ae79d869a37633fa956a4f16f3fa45b23c189f1 31-Jul-2014 Michael Lentine <mlentine@google.com> Build fix for size_t on 64bit.

Change-Id: Ic16895b30d78ba8a635b709adbae31a590501b20
enderEngine.cpp
c18790018be5d7ea7061ccbc81f3044e74adc823 23-May-2014 Dan Stoza <stoza@google.com> SurfaceFlinger: Add sourceCrop to screenshot

Adds a sourceCrop Rect parameter to screenshot commands, which allows
clients to capture only a portion of the screen instead of the whole
screen.

Bug: 15137922
Change-Id: I629447573cd34ffb96334cde7ba02490b9ea06d8
LES11RenderEngine.cpp
LES11RenderEngine.h
LES20RenderEngine.cpp
LES20RenderEngine.h
enderEngine.h
993146092f8205d9747f082ccd63c09b536caa4e 14-Mar-2014 Mark Salyzyn <salyzyn@google.com> am d4dabf87: am cdbf28b3: Merge "native frameworks: 64-bit compile issues"

* commit 'd4dabf872ac0a12e12aebae9032f7d62762c2aeb':
native frameworks: 64-bit compile issues
92dc3fc52cf097bd105460cf377779bdcf146d62 12-Mar-2014 Mark Salyzyn <salyzyn@google.com> native frameworks: 64-bit compile issues

- Fix format (print/scanf)
- Suppress unused argument warning messages (bonus)

Change-Id: I05c7724d2aba6da1e82a86000e11f3a8fef4e728
LES11RenderEngine.cpp
rogram.cpp
524672571f1df138eb913e672aaa74e0257aa8c0 03-Jan-2014 Jesse Hall <jessehall@google.com> am 03691218: am e5f7bf74: am b6c21004: Merge "Implement per-display EGLConfig and configless EGLContext"

* commit '03691218ada2fb7e084ad4ae7ddd54f9b28d5611':
Implement per-display EGLConfig and configless EGLContext
10ca42cbdc75c6a36d0b72dadbe845d990e31e95 03-Jan-2014 Jesse Hall <jessehall@google.com> am 4c37d088: am 6c7dcfa9: am 662d3134: Merge "Move EGLConfig selection to RenderEngine"

* commit '4c37d0886ca06c290e205cad2798406361bbbf53':
Move EGLConfig selection to RenderEngine
19e872912af66c53a4350afcc333bbafaf6a2294 24-Dec-2013 Jesse Hall <jessehall@google.com> Implement per-display EGLConfig and configless EGLContext

Bug: 12230666
Change-Id: Icca608b108cbdcab9cf01a9236d8cdbda000a836
Signed-off-by: Jesse Hall <jessehall@google.com>
enderEngine.cpp
enderEngine.h
05f8c703d4a050669ff8f406be3a9dc2357935f7 24-Dec-2013 Jesse Hall <jessehall@google.com> Move EGLConfig selection to RenderEngine

Bug: 12230666
Change-Id: I8d1111a7e0fd9d9e2525e6a80da8ce46d7dd085d
Signed-off-by: Jesse Hall <jessehall@google.com>
enderEngine.cpp
enderEngine.h
9c8b3097e6a6023af0432a369740a98510faf975 14-Oct-2013 Andy McFadden <fadden@android.com> am af4ae923: am 6410c8c4: Merge "Use black for blackout layer" into klp-dev

* commit 'af4ae923c3f8a2e40d74eb6291da16b4a6514449':
Use black for blackout layer
c6f216955966e93ea983ba800e651af3de6c90e3 11-Oct-2013 Andy McFadden <fadden@android.com> Use black for blackout layer

SurfaceFlinger was rendering dark purple for secure content, which
showed up when we took a screen shot for the orientation change
animation. Use black instead.

Bug 11157921

Change-Id: I3895e8168891d49dc5b84eed599bcd0a303bb70a
LES11RenderEngine.cpp
LES20RenderEngine.cpp
794c5ba973f6d107a8277f3f389cb3051c6ce5d7 04-Oct-2013 Alan Viverette <alanv@google.com> Simplify color adjustment using homogeneous coordinates

Change-Id: Ie31abacb134c29d82a6041fa7d521f68a1a273af
rogramCache.cpp
1c479c56da44c8942ab3d858ebcc19e4a6f76786 20-Sep-2013 Mathias Agopian <mathias@google.com> am 754bad45: am d555684c: reinstate black-screenshot debugging code

* commit '754bad4534e9a2de8b4e3ecbe097993c71246f91':
reinstate black-screenshot debugging code
4d5755389d111eb58ba5bdade84a39614dd222ed 20-Sep-2013 Mathias Agopian <mathias@google.com> am f589dd29: am e2a3e872: Merge "Fix GLES context version selection" into klp-dev

* commit 'f589dd2915587994d3dd36eff2191962fe0b71c0':
Fix GLES context version selection
d555684cb36dfb959694db76962e570184f98838 20-Sep-2013 Mathias Agopian <mathias@google.com> reinstate black-screenshot debugging code

turned off by default.

Bug: 10809349
Change-Id: I3e6b8c7860e6b0e122b8f07de4020967cd1f005c
enderEngine.cpp
enderEngine.h
2185f8b420ee1b150f761893a9c47cffff645cde 19-Sep-2013 Mathias Agopian <mathias@google.com> Fix GLES context version selection

Explicitly selects an ES 2.0 config first, then an ES 1.x config,
before attempting the fallback path for the emulator.

Bug: 10820214
Change-Id: Ia8cc084c02a0e3de910def024da8a08d02bbd89d
enderEngine.cpp
9c5a3335110769993d3fe997bdf1d594954d4304 13-Sep-2013 Alan Viverette <alanv@google.com> Add API for pushing color transforms to SurfaceFlinger

BUG: 9057596
Change-Id: Iea0953366eac875b7968897a75472c25a137edb5
rogramCache.cpp
ff2ed70fa30f04b90dd1a2c06ec2319e157152d7 02-Sep-2013 Mathias Agopian <mathias@google.com> color blindness enhancement

This is an attempt at improving the experience of
users with color vision impairement.

At this time this feature can only be enabled for
debugging:

adb shell service call SurfaceFlinger 1014 i32 PARAM

with PARAM:
0 : disabled
1 : protanomaly/protanopia simulation
2 : deuteranomaly/deuteranopia simulation
3 : tritanopia/tritanomaly simulation
11, 12, 13: same as above w/ attempted correction/enhancement

The enhancement algorithm tries to spread the "error"
such that tones that would otherwise appear similar can be
distinguished.

Bug: 9465644

Change-Id: I860f7eed0cb81f54ef9cf24ad78155b6395ade48
escription.cpp
escription.h
LES11RenderEngine.cpp
LES11RenderEngine.h
LES20RenderEngine.cpp
LES20RenderEngine.h
esh.h
rogram.cpp
rogram.h
rogramCache.cpp
rogramCache.h
enderEngine.cpp
enderEngine.h
9b5534b0e5e1510f56e6a2c58ad0816167603ebd 31-Aug-2013 Mathias Agopian <mathias@google.com> Merge changes I8283a989,I64add89a into klp-dev

* changes:
switch to use mat4
vector and matrix classes for graphics use
19733a32799f792125913e746e8644d16f8dc223 29-Aug-2013 Mathias Agopian <mathias@google.com> minor clean-up of the GLESRenderer

Change-Id: I978dea25b7687fbbbb283f09c24e115d9bad49a2
LES11RenderEngine.cpp
LES11RenderEngine.h
LES20RenderEngine.cpp
LES20RenderEngine.h
enderEngine.cpp
enderEngine.h
a8c386f1c36e916c1df18d41a22104d655a89817 27-Aug-2013 Mathias Agopian <mathias@google.com> switch to use mat4

Change-Id: I8283a989cfd2b74d53958150bc90298bc083fee7
escription.cpp
escription.h
LES11RenderEngine.cpp
LES20RenderEngine.cpp
rogram.cpp
exture.cpp
exture.h
bcab7b17b1c5476935a6f2f916922b4eb57991a4 24-Aug-2013 Mathias Agopian <mathias@google.com> fix DimLayer in GLES2.0 SF

DimLayer state wasn't initialized properly.

Bug: 10442967
Change-Id: I384c1d85c58c96ae29d5daa1fabee9f4ce003501
LES20RenderEngine.cpp
49457ac092071a8f964f7f69156093657ccdc3d0 15-Aug-2013 Mathias Agopian <mathias@google.com> Encapsulate textures into their own Texture class

the main reason for doing this is so that we can have
access to informations about a texture (like its dimension)
close to where we generate and use shaders in ES 2.0.
Previously, there wasn't any way to get to a texture's size
from a RenderEngine implementation.

Bug: 8679321

Change-Id: I388b338a70d07e3e8177dde248710ea1e4c82dff
escription.cpp
escription.h
LES11RenderEngine.cpp
LES11RenderEngine.h
LES20RenderEngine.cpp
LES20RenderEngine.h
rogram.cpp
rogramCache.cpp
enderEngine.h
exture.cpp
exture.h
e0ec2a956840fa70387883f422b6020c1dfc6bad 16-Aug-2013 Mathias Agopian <mathias@google.com> Merge "Fix ES2 composition on some devices" into klp-dev
2eaefe198a0cae1ee0b6366797a6b074c76df9ef 15-Aug-2013 Mathias Agopian <mathias@google.com> Simplify handling of opaque layers in shader generation

just ensure the alpha value is 1.0 in the opaque case
when reading the color from the texture or the
global color.

Bug: 8679321

Change-Id: Ia38b30e97c3bce5a2d534a40c0d66e0bfc3ea40d
rogramCache.cpp
458197de008be8fe561286b09f4edddb2f5c540a 15-Aug-2013 Mathias Agopian <mathias@google.com> Fix ES2 composition on some devices

- turns out fragment shaders don't have default precision by default
- GLES 1.x extensions that became core in GLES 2.0 don't always work
as extensions in GLES 2.0 (!)

Bug: 8679321
Change-Id: I5a4a93e158247910399325a965af5d2e3bbece9b
LES11RenderEngine.cpp
LES11RenderEngine.h
LES20RenderEngine.cpp
LES20RenderEngine.h
rogramCache.cpp
enderEngine.cpp
enderEngine.h
6db4ff621898573b41abf570271a04a13bd36a69 15-Aug-2013 Andy McFadden <fadden@android.com> Disable GLES 2.x rendering

Bug 10340705

Change-Id: I91f3baf0d79655d8d031c100d0b116f745c2fbef
enderEngine.cpp
892f22dcb96927b4a4f9ab7badd6f2c9f4f37c1f 15-Aug-2013 Andy McFadden <fadden@android.com> Initialize mIndent

Bug 10334731

Change-Id: Ia3aa118a1516cc480b0d85179b78c4447f982dd6
rogramCache.cpp
5cdc8994a0ecd751a6350b16a1bef8b6b0d09b11 14-Aug-2013 Mathias Agopian <mathias@google.com> don't reallocate the mesh each time we use it

the Mesh object can be part of each Layer (at least currently).
also reworked the Mesh code a bit to make it easier to access
the vertex data.

Change-Id: I0490851ba898f0aa2e55b62958dcd8bdb535e98b
LES11RenderEngine.cpp
LES20RenderEngine.cpp
esh.cpp
esh.h
enderEngine.cpp
3f84483382be2d528918cc1a6fbc6a7d68e0b181 08-Aug-2013 Mathias Agopian <mathias@google.com> SurfaceFlinger now uses GLES 2.x when available

Bug: 8679321

Change-Id: I2b152d01fb4e2de2ea9fe87f1ddbd6826d7520d7
escription.cpp
escription.h
LES11RenderEngine.cpp
LES11RenderEngine.h
LES20RenderEngine.cpp
LES20RenderEngine.h
esh.cpp
esh.h
rogram.cpp
rogram.h
rogramCache.cpp
rogramCache.h
enderEngine.cpp
enderEngine.h
875d8e1323536e16dcfc90c9674d7ad32116a69a 08-Jun-2013 Mathias Agopian <mathias@google.com> Refactor SF. Move all GL operations in their own class.

this is the first step to add support for GLES 2.x, this
change breaks the dependency of SF on GLES 1.x by moving
all operation into their own class.

Bug: 8679321

Change-Id: I0d2741eca2cefe67dfd9cf837cac10c4d126928b
LES10RenderEngine.cpp
LES10RenderEngine.h
LES11RenderEngine.cpp
LES11RenderEngine.h
LExtensions.cpp
LExtensions.h
enderEngine.cpp
enderEngine.h