summaryrefslogtreecommitdiffstats
path: root/libs
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Use float textures to render gradients when possible" into jb-mr2-devRomain Guy2013-04-056-122/+192
|\
| * Use float textures to render gradients when possibleRomain Guy2013-04-056-122/+192
| | | | | | | | | | | | | | | | | | | | | | Float textures offer better precision for dithering. In addition this change removes two uniforms from gradient shaders. These uniforms were used to dither gradients but their value is a build time constant. Instead we hardcode the value directly in the shader source at compile time. Change-Id: I05e9fd3eef93771843bbd91b453274452dfaefee
* | Merge "Correctly manage the lifecycle of IME InputChannels." into jb-mr2-devJeff Brown2013-04-051-0/+5
|\ \ | |/ |/|
| * Correctly manage the lifecycle of IME InputChannels.Jeff Brown2013-04-041-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | InputChannels are normally duplicated when sent to a remote process over Binder but this does not happen if the recipient is running within the system server process. This causes problems for KeyGuard because the InputMethodManagerService may accidentally dispose the channel that KeyGuard is using. Fixed the lifecycle of InputChannels that are managed by the IME framework. We now return a duplicate of the channel to the application and then take care to dispose of the duplicate when necessary. In particular, InputBindResult disposes its InputChannel automatically when returned through Binder (using PARCELABLE_WRITE_RETURN_VALUE). Bug: 8493879 Change-Id: I08ec3d13268c76f3b56706b4523508bcefa3be79
* | Merge "First OpenGL ES 3.0 based optimization" into jb-mr2-devRomain Guy2013-04-047-13/+40
|\ \
| * | First OpenGL ES 3.0 based optimizationRomain Guy2013-04-047-13/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change uses a new OpenGL ES 3.0 feature to upload less data when the font cache needs to be update. This can result in significant performance improvements on device with large textures or with locales that use a lot of glyphs (CJK for instance.) This change also fixes various unpack alignment issues. The unpack alignment, as well as the unpack row length, is not texture specific but a global state that affect all glTex/SubImage2D calls. Some of them were missing the appropriate glPixelStorei() call. This could result in corrupted textures. Change-Id: Iefb429d4d0d0b4e0faeadf27daafee6d30a21d85
* | | Merge "Traverse layers in update order" into jb-mr2-devChris Craik2013-04-043-8/+7
|\ \ \
| * | | Traverse layers in update orderChris Craik2013-04-043-8/+7
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug:8540150 Layers now require traversal in update order, as it will be child first, then parent for layer-in-layer Fixes issue with deferred layer playback not flushing in order, and thus child not painting before parent Also fixes DisplayList to only be cleared after flush in deferred list Change-Id: I2f284d00079cdb20798aeef6a1c94e823940db40
* | | Merge "Add internal API to query GL version number" into jb-mr2-devRomain Guy2013-04-042-0/+30
|\ \ \ | |/ / |/| / | |/
| * Add internal API to query GL version numberRomain Guy2013-04-042-0/+30
| | | | | | | | Change-Id: Idc02efc237b8e97445a9bab05c291bf193c7f279
* | Merge "Correct save/restore match up" into jb-mr2-devChris Craik2013-04-031-1/+6
|\ \
| * | Correct save/restore match upChris Craik2013-04-031-1/+6
| |/ | | | | | | | | | | | | | | | | bug:8480642 With the additional save/restore around the operations in flush, the stored restore batches weren't matching up to the correct saves. Change-Id: I2f48f19009bd97289b6973283f43dc8d3e35affd
* | Merge "Account for hairlines in quick rejection logic" into jb-mr2-devChris Craik2013-04-032-1/+6
|\ \
| * | Account for hairlines in quick rejection logicChris Craik2013-04-032-1/+6
| |/ | | | | | | | | bug:8531373 Change-Id: I35444014f23fc61da687694fccc0d13bce718793
* | Update view's alpha and layer docsChris Craik2013-04-013-11/+43
|/ | | | | | | | | | | | bug:8501661 Makes the performance issues and interaction with layer type/paint more clear. Additionally, corrects change from 47ab7d6612e2b5b8b66fb261dafef7c91264e173 to still allow displayList alpha to override layer paint Change-Id: Ic94d75865700820489370461cd8ac9f9077a8d90
* Prevent crash when a single layer is enqueued several times for updatesRomain Guy2013-03-293-19/+36
| | | | | | Bug #8504687 Change-Id: I9b01bbc4e3f37af23dfe5e68d3d03ad3d238b94a
* Merge "Update layers to clear them Bug #8489505" into jb-mr2-devRomain Guy2013-03-281-1/+1
|\
| * Update layers to clear themRomain Guy2013-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | Bug #8489505 A layer should be updated even with an empty deferred display list. It is possible for a layer to request an update just to execute a clear which will be handled by LayerRenderer::prepareDirty(). Change-Id: Iffb98bd71d6caa8d4a701df98197676f9423c0c2
* | am 3ae30483: am a19647d3: Merge "Correct executable bit for source files ↵Elliott Hughes2013-03-282-0/+0
|\ \ | | | | | | | | | | | | | | | | | | [Take 2]" * commit '3ae30483777708ff3a4f59a4fa75c6a76213cc30': Correct executable bit for source files [Take 2]
| * | Correct executable bit for source files [Take 2]Chirayu Desai2013-03-272-0/+0
| | | | | | | | | | | | | | | | | | | | | Change Ieb51bafb46c895a21d2e83696f5a901ba752b2c5 left out some files, this fixes them. Change-Id: Ia949a8581668836ea0251602e048f09c852f5169
* | | Merge "Fix issues related to saveLayer/restore deferral" into jb-mr2-devChris Craik2013-03-285-42/+54
|\ \ \
| * | | Fix issues related to saveLayer/restore deferralChris Craik2013-03-285-42/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug:8464795 Changes drawModifiers and alpha to be restored for all operations, since saveLayer/restore use these values, not just draw operations Also forces a renderer state restoration before a deferred restore op is played back, in case it is associated with a saveLayer that doesn't have the save_clip flag set Change-Id: I9da5d44fefbfffdee164c98f4f139843dacf85df
* | | | Merge "Don't crash when making a layer larger than supported dimensions Bug ↵Romain Guy2013-03-284-10/+32
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| #8437401" into jb-mr2-dev
| * | Don't crash when making a layer larger than supported dimensionsRomain Guy2013-03-284-10/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug #8437401 A misplaced ref count decrement was causing a crash when attempting to resize a layer to dimensions larger than the max texture size supported by the GPU. This change fixes the crash and clarifies the warnings to make it more obvious what's happening. Change-Id: I632dc1b90aaa2605969e10523491a81c4922d3dc
* | | Merge "Set ignore flag during deferred savelayer" into jb-mr2-devChris Craik2013-03-272-11/+24
|\ \ \ | |/ / |/| |
| * | Set ignore flag during deferred savelayerChris Craik2013-03-272-11/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug:8471552 Additionally, add ignore check for draw functor In deferred mode, if we don't set ignore, a 0 alpha displayList won't be quickRejected, and not only would its contents be needlessly deferred, but upon playback any functors would be drawn, ignoring the state of the snapshot. Change-Id: Ib1edb3252080f674254086edee6f965f0efcce78
* | | Path precaching creates duplicate cache entriesRomain Guy2013-03-262-10/+16
| | | | | | | | | | | | | | | | | | Bug #8478275 Change-Id: Ib541ea051e42e01cc0d277790e9c09de38ef72ee
* | | Avoid multiple font cache texture uploadsRomain Guy2013-03-266-31/+178
|/ / | | | | | | | | | | | | | | | | | | Bug #8378964 This change defers drawing into layers until after the renderer for FBO0 is ready to draw. At that point, all the precaching is done which means all glyphs can be uploaded at once in the font caches. Change-Id: Ie1f7a7ff30f76f06fb3dbc72c7d05e66207d1ecb
* | Restore final canvas state after deferred flushChris Craik2013-03-221-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | bug:8450062 - Fixes overdraw indication with DeferredDisplayList - Fixes drawHardwareLayer called after flush Additionally changes drawLayer to pass its paint to native via setLayerPaint Wrap flush in save/restore so that reordering doesn't affect final transform Change-Id: I08befa42c28500da6387699eefd4be28aedf9f4c
* | Merge "Isolate tiling clip state from snapshot" into jb-mr2-devChris Craik2013-03-215-10/+23
|\ \
| * | Isolate tiling clip state from snapshotChris Craik2013-03-215-10/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug:8409891 Snapshots frequently have their clip overwritten due to applying deferred state - now, store tiling clip information in a separate rect, outside of the snapshot so it isn't overwritten. Change-Id: I21ca4c45dcd802eae99e8de86f11525196777ccb
* | | Stop worker threads on memory trim & fix bad pointer accessRomain Guy2013-03-206-8/+86
|/ / | | | | | | Change-Id: I6fe7e31aeb6dd41fa65ab952caed97bc2da510d7
* | Merge "Optimize text GL setup" into jb-mr2-devRomain Guy2013-03-214-60/+83
|\ \
| * | Optimize text GL setupRomain Guy2013-03-204-60/+83
| | | | | | | | | | | | | | | | | | | | | | | | Only performs the GL setup steps when at least one glyph is drawn. This change also skips various draw operations when the specified paint draws with alpha = 0. Change-Id: I9eda148b0503acffc552ee19196f5d52e958a1a2
* | | Merge "Use snapshot alpha in all layer drawing" into jb-mr2-devChris Craik2013-03-211-4/+5
|\ \ \
| * | | Use snapshot alpha in all layer drawingChris Craik2013-03-201-4/+5
| |/ / | | | | | | | | | Change-Id: Icc093390da2fc36b2b6693d0e5e4357b2f730bf9
* | | Update snapshot upon saveLayer deferralChris Craik2013-03-206-49/+90
|/ / | | | | | | | | | | | | | | | | | | | | | | bug:8409891 In order to defer fbo-targetting saveLayer operations, it's necessary to update the snapshot at defer time so that deferred display state (namely, clip and transform) are fbo relative. Re-enables deferring, as the issues with saveLayer are fixed. Change-Id: I74b0779bc732675c747208f0757c3ea85f6dfbed
* | Merge "Use snapshot alpha for layers" into jb-mr2-devChris Craik2013-03-208-133/+71
|\ \
| * | Use snapshot alpha for layersChris Craik2013-03-158-133/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes mMultipliedAlpha, using the snapshot alpha for all non-overlapping display list alpha control. Additionally, fixes opacity issues where children of hasOverlappingRendering=false displaylists (both hw layer sublists and other sublists with hasOverlappingRendering=false) Change-Id: I6adc16da855835f9f518f8967628e5d0135c789b
* | | Merge "Reduce number of glDraw calls when drawing text" into jb-mr2-devRomain Guy2013-03-204-179/+170
|\ \ \
| * | | Reduce number of glDraw calls when drawing textRomain Guy2013-03-194-179/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change moves the mesh buffer from FontRenderer to CacheTexture to help reduce the number of texture binds and glDraw calls when drawing text that spans across multiple textures. Change-Id: I7de574d88313ca3672879ca878c253ff5f131fc1
* | | | Merge "Minimize texture binds when drawing text" into jb-mr2-devRomain Guy2013-03-194-19/+44
|\ \ \ \ | |/ / /
| * | | Minimize texture binds when drawing textRomain Guy2013-03-194-19/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When several CacheTextures are used to draw text, sort the draw batches by texture ID to minimize state changes in the driver. This change also tweaks the font cache size and renames a property that was too long to be set using setprop. Change-Id: I0a36dfffe58c9e75dd7384592d3343c192d042b1
* | | | Merge "Apply ComposeShader's local matrix to children" into jb-mr2-devRomain Guy2013-03-191-2/+8
|\ \ \ \ | |/ / /
| * | | Apply ComposeShader's local matrix to childrenRomain Guy2013-03-181-2/+8
| | | | | | | | | | | | | | | | Change-Id: Idf9b8e7d7b30f8fcd8ba1fd4bfe8991e9ca148e2
* | | | Merge "Merge all shapes/paths caches to PathCache" into jb-mr2-devRomain Guy2013-03-1913-1075/+661
|\ \ \ \ | |/ / /
| * | | Merge all shapes/paths caches to PathCacheRomain Guy2013-03-1813-1075/+661
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change will greatly simplify the multi-threading of all shape types. This change also uses PathTessellator to render convex paths. Change-Id: I4e65bc95c9d24ecae2183b72204de5c2dfb6ada4
* | | | Work around saveLayer clipping/transform deferring issuesChris Craik2013-03-181-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | bug:8409891 Disables deferring Change-Id: I93498a4a45a5bfe01143faa154926c6a138db8f9
* | | Reset draw modifiers after flushingChris Craik2013-03-153-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | bug:8401910 This avoids leaving the renderer in a state with stale pointers (to, e.g., shaders or color filters) Change-Id: Idf8b63657041352e70e34e91ea416fe4385d4bc2
* | | Merge "Fully deferred displaylist replay" into jb-mr2-devChris Craik2013-03-1510-358/+732
|\ \ \ | |/ /