f29d5a5b211786248d0557157c304c5fff428bd4 |
|
03-Dec-2014 |
Derek Sollenberger <djsollen@google.com> |
Update AndroidPixelRef to prevent VM from cleaning up memory prematurely. bug:18306529 Change-Id: I1ea94df1dcaf4fcf248b63dc8b0a13f36412570a
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
69e65019b0a6204f0ed9487d8fd7b3564eba6df8 |
|
21-Nov-2014 |
Chris Craik <ccraik@google.com> |
Revert "Add a way to override Xfermode DO NOT MERGE" Feature no longer needed. bug:18448377 This reverts commit 4678dcc5524258908eadc5fe1e5e1874768967eb. Change-Id: Ib0a19946e966a54857165555827b5fa7b34b6bea
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
4678dcc5524258908eadc5fe1e5e1874768967eb |
|
12-Nov-2014 |
Rob Tsuk <robtsuk@google.com> |
Add a way to override Xfermode DO NOT MERGE Add a non-public API to Canvas/GLES20Canvas to provide a way to draw the touch ripple animation without using a save layer. Change-Id: I6e2095adffe515194f669fb75bb67abf813bd518
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
12f5e3433226f0a2886a98b0b8da8d5e947c5cde |
|
07-Nov-2014 |
John Reck <jreck@google.com> |
Fix wrong-thread issue Bug: 18259560 Change-Id: Ic63a86efba9c86f21defac0695a73db8b09ae284
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
0e89e2b7bcb2c035e8cee77f93120e7c5617f8d2 |
|
31-Oct-2014 |
John Reck <jreck@google.com> |
Layer changes Bug: 17208461 * Switch Layer to be VirtualLightRefBase instead of Caches' side-channel ref-counting * Include active layers in gfxinfo dump * Run gfxinfo dump on the correct thread * Dump gfxinfo on Layer creation failure Change-Id: I28d195699e2334518e215ab28c7a17355aee9678
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
072707dfad1da6f49f4d3ce58ca104f6c46a7266 |
|
15-Sep-2014 |
Jorim Jaggi <jjaggi@google.com> |
Use RenderThread for navigation bar ripples Bug: 17506181 Change-Id: Icf3b80f8c4bc29fe85313381d4019dda3ef85ea9
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
8afd0f245cc0c4a0366f39f41b5f78e47ee83be3 |
|
22-Aug-2014 |
Chris Craik <ccraik@google.com> |
Create z reordering boundaries around dispatchDraw bug:16012254 This means rendernodes with a Z will no longer be drawn at the end of their parent's DisplayList, but at the end of the associated reorder region (DisplayListData::Chunk). Change-Id: Ia033fee9d9a4db567b2a8d5e90fc57a4d0a64544
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
796475006f5d670e8383a2050f11719522437a43 |
|
06-Aug-2014 |
Chris Craik <ccraik@google.com> |
Move bitmap transforms out of bitmap ops bug:11359533 This allows us to deduplicate a lot between the two ops, and fixes the shader coordinate space for the left,top argument drawBitmap to match software. Change-Id: I53da05af9ee74c74e9e70b4ab8053190ca220b16
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e21e2a2d1d85d422230c1115abba824338763a88 |
|
29-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Clean up Minikin includes Include headers where they are used. Add header guards to MinikinSkia.h Change-Id: If341231625348290d28a7d625561fffc171a8407
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
63c5c78a72a21d57913e8601cc2a1ab72a424a02 |
|
25-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Further centralize Minikin interaction Part of the fix for bug 15246510 and others. Change-Id: Ie99000989dfcd7a81aaa1233dec522344f852f31
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
6ba30b85ddfbe37c338ee8dde3dd33322eb38d47 |
|
15-Jul-2014 |
Behdad Esfahbod <behdad@google.com> |
Add android.Paint that inherits SkPaint The idea is that extra paint parameters that only affect text layout (not rendering) will go in android.Paint instead of going into SkPaintOptionsAndroid. We will eventually move those out of SkPaint too. This is currently implemented in PaintImpl.cpp. Will be renamed when current Paint.cpp that has JNI bits is moved to android_graphics_Paint.cpp. Change-Id: Iba66c34dea5da503a13b9c864cb9f2211ac4ba7d
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
cce47eb580d666ead1f6095d1e3b65233592bbaa |
|
17-Jul-2014 |
Chris Craik <ccraik@google.com> |
Add accessibility text contrast setting b/14624452 Adds a feature which draws all text (in the HW accelerated standard path) in a high contrast mode. Text is drawn at full alpha, and either white or black (depending on its original color) with a starkly contrasted outline beneath it. Change-Id: I943f624b6367de35367cced3b2a8298f2bc62377
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
57ee620ced8caed1eb8651717f6a6d2d5f1f9a5b |
|
05-Jun-2014 |
Leon Scroggins III <scroggo@google.com> |
Read premultiplied status from the SkBitmap. Replace the Java variable with mRequestPremultiplied, to better reflect what it represents. In both native and Java, the SkBitmap is used as the decision maker of whether a Bitmap is premultiplied. When changing other settings, mRequestedPremultiplied is used to determine whether it should be premultiplied (if the new config/ hasAlpha-ness etc supports it). ChooseFromColorProc now reads both the colortype (instead of the deprecated Config) and alphatype on the SkBitmap. Same with ChooseToColorProc. In the process, this caught a bug, where the wrong procs were being used for Index8. Replace instances of SkBitmap::Config with SkColorType where I was already changing code. Use the new versions of setConfig/allocPixels that take an SkImageInfo as a parameter. Document isPremultiplied's return value for ALPHA_8. BUG:13618134 Change-Id: I91fc1f1e46e9294364b1af0ab4bdb37c68d7058e
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
f23b25abfb76e75f63103abc882bc91b8327a957 |
|
27-Jun-2014 |
Chris Craik <ccraik@google.com> |
Remove isRecording() method from renderers DisplayListRenderer is all that's accessed from java, and is entirely separate from OpenGLRenderer now. Change-Id: Ie733be71520c13fdb55dfe3522bb445ae2b50ac1
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
3660789f06c5fbcb81e6c7c79612048bff8f0f66 |
|
26-Jun-2014 |
Raph Levien <raph@google.com> |
Switch all text layout to Minikin This patch switches all text layout operations to use Minikin, removes the USE_MINIKIN #ifdef, and deletes some of the code that was only used in the old TextLayout path (although some more refactoring remains). Change-Id: I51b5c4e2bb46cfd9d204c12b9f16f135c769f5b5
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
2ce932832e7caa1a6021539a9b7828ee5f49a610 |
|
24-Jun-2014 |
Chris Craik <ccraik@google.com> |
Fix xfermode usage in GLES20Canvas.drawColor bug:15762917 Was previously casting the SkPorterDuff::Mode directly into SkXfermode::Mode, which is incorrect. Now convert as a first step, as Canvas does. Change-Id: I66695b08866ca2008b17f2ff30a36d9ed4d2ed80
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
3b20251a355c88193c439f928a84ae69483fb488 |
|
23-Jun-2014 |
John Reck <jreck@google.com> |
No-fail invokeFunctor Bug: 15513308 Bug: 15449247 Change-Id: I13a29f9c8d4975cdda6dcb33b6332c2555ff0f7c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a7090e0cfd7c719a6d4c03aae34f5db98754cbdd |
|
21-Jun-2014 |
Chris Craik <ccraik@google.com> |
Update 'DisplayList' vs 'RenderNode' naming in several places Change-Id: I635c6627d098b661fb9b0ba1bd42fa6d7277d287
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
b933055cf3f7f8ea89bfd3bc9c37a3891ff7310a |
|
16-Jun-2014 |
Mike Reed <reed@google.com> |
stop using (deprecated) SkBitmap::Config Change-Id: Ic75b5fc6996578e9d95bd3a220439ec1541d7c3b
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
3f0d6167227d6d2cdd85f7718d92db859b443e92 |
|
18-Jun-2014 |
Raph Levien <raph@google.com> |
Simple implementation of drawPosText The existing implementation of drawPosText is broken in various subtle ways, in any case doesn't work with Minikin. This patch just implements it by drawing a separate run for each Unicode character, which should have the least surprising results for complex scripts such as Khmer. Part of b/11750374 Resolve TODO items for Minikin Change-Id: I874ae3c163f0cbe3cdf0160564fab04305aed5aa
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9d2b5e1930bfc4b1da1c865843c247c708ea1565 |
|
16-Jun-2014 |
Raph Levien <raph@google.com> |
Implement drawTextOnPath with Minikin This patch contains an implementation of drawTextOnPath for both software and hardware Canvas using Minikin for text layout. One of the steps for switching all remaining text operations to Minikin so the old TextLayout and Skia fallback fonts mechanisms can be deleted. Bug: 11750374 Resolve TODO items for Minikin Change-Id: I06bfe74a101fa1dcdfc38f530f7194d71e522a85
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
051910b9f998030dacb8a0722588cc715813fde1 |
|
16-Jun-2014 |
Raph Levien <raph@google.com> |
Clean up dirFlags / bidiFlags confusion The dirFlags and bidiFlags enums are distinct, and have different meanings. The former is a determined direction for a run of text, while the latter is a request for the bidi algorithm. They have been used interchangeably, and this has caused some problems, notably running the bidi algorithm needlessly when the direction for a run is already determined. This patch cleans up the confusion, by always naming each occurrence explicitly "boolean isRtl" or "int bidiFlags" (the previous code often just used "int flags", which added to the confusion), and converts between the meanings when a function takes an isRtl argument but passes it to another function expecting bidiFlags. Fixes b/15089607 Clean up bidi flag mess Change-Id: I410b6604376e853dd12c255e7f5a9d2b9a310dd9
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
1fc0fa87d42ce9268ece76b85b9edc834593e53a |
|
07-Jun-2014 |
Raph Levien <raph@google.com> |
Support for fake bold in Minikin builds Part of the fix for bug 15436379 Fake bold doesn't fully work (Minikin) This patch queries the Minikin layout for when fake bold is needed, and applies that to both shaping and drawing paint. Also simplifies refcounting (the lifetime of all MinikinFont objects is subsumed by the enclosing FontCollection). Note: the fake bold flag set by the user is ignored in this patch. Fake italics would be possible using the same mechanism, but it's slightly more complicated (fake and user-set textSkewX values would need to be combined, and the latter restored after drawing). Change-Id: Ica2c4604846cbb37e5a783778b18d8993c9d4563
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
240047694338830521594688de194a1cde2d4537 |
|
05-Jun-2014 |
Raph Levien <raph@google.com> |
am e0ebf19c: Merge "Support for context in Minikin shaping" into lmp-preview-dev * commit 'e0ebf19cbfa60ba3eb0891d5e8416b70b212bc36': Support for context in Minikin shaping
|
6bfd7e7df3a9f9ea2f9e57a3552eed7f518be711 |
|
04-Jun-2014 |
Raph Levien <raph@google.com> |
Support for context in Minikin shaping This patch uses the Minikin's new doLayout API that supports context, and has some simple refactoring (pass css as string rather than setting on the Layout object) to use this api. Change-Id: I899474f81d377f3106e95ee3eb8d0fcc44c23ac2
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c5dc0370086a7f1c9a2d0d34321580648a0836ea |
|
04-Jun-2014 |
Raph Levien <raph@google.com> |
am aef648f4: Merge "Better Minikin integration" into lmp-preview-dev * commit 'aef648f405a6f2ed2e523e69cd6f1da884f4b9dd': Better Minikin integration
|
f2114d5646194100242206b267ddd6e7194b7da9 |
|
02-Jun-2014 |
Raph Levien <raph@google.com> |
Better Minikin integration This patch improves the Minikin integration in a number of ways, including: Software rendering does text decorations and handles alignment correctly. This fixes bug 15139067 "Centered text isn't working". Paint implements getTextPath. This fixes bug 15143354 "Text rendering in Maps Navigation wrong typeface?" Also a bit of refactoring, since there was duplicated code for iterating font runs that's now a static method in MinikinUtils. Change-Id: I4cfdb2c0559982376348325a757d95235fab1768
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
84a4c887a07c1c2939443f4e0587d7f1ac109e4b |
|
30-May-2014 |
John Reck <jreck@google.com> |
Remove GLRenderer Change-Id: I180286417c1a354fc7eb1eadb1884ac6add0795c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
139088228faa7f3c446af7387e017933998a5570 |
|
10-Dec-2013 |
Derek Sollenberger <djsollen@google.com> |
Update HWUI matrix API 1. more closely mirror Skia API by using const ref instead of ptrs 2. store SkMatrix in the drawOp instead of the linear allocation heap Change-Id: I4b9f6f76b9f7d19325e29303d27b793679fd4823
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
0fa2bd699ab5539c0ce6b79eb6b4b681734b8bb5 |
|
05-May-2014 |
Leon Scroggins III <scroggo@google.com> |
DO NOT MERGE Inspect SkShader to determine hw shader. cherry-pick of Iaa7189178bda1c55f96da044d2a9fa602ba36034 Instead of duplicating internal info about SkShader, inspect the SkShader installed on the SkPaint. core/java/android/view/GLES20Canvas.java: Remove setupModifiers, nResetModifiers, and nSetupShader. core/jni/android/graphics/Shader.cpp: Remove calls to create/destroy the (previously) attached SkiaShader. core/jni/android_view_GLES20Canvas.cpp: Remove native code for setupShader and resetModifiers. graphics/java/android/graphics/BitmapShader.java: graphics/java/android/graphics/ComposeShader.java: graphics/java/android/graphics/LinearGradient.java: graphics/java/android/graphics/RadialGradient.java: graphics/java/android/graphics/Shader.java: graphics/java/android/graphics/SweepGradient.java: Remove code keeping track of native SkiaShader. libs/hwui/Caches.h: Include Extensions.h. libs/hwui/DeferredDisplayList.cpp: Compare shaders on the paint, instead of on DrawModifiers. libs/hwui/DisplayList.cpp: libs/hwui/DisplayList.h: Remove vector of SkiaShaders. libs/hwui/DisplayListOp.h: Access the SkShader on mPaint. Remove SetupShaderOp and ResetShaderOp. libs/hwui/DisplayListRenderer.cpp: libs/hwui/DisplayListRenderer.h: Remove resetShader, setupShader, refShader, and mShaderMap. libs/hwui/FontRenderer.cpp: Pass SkShader to setupDrawShader and setupDrawShaderUniforms. libs/hwui/OpenGLRenderer.cpp: libs/hwui/OpenGLRenderer.h: Add LayerShader, a class inheriting from SkShader, to mimic the behavior of SkiaLayerShader. Unlike SkiaLayerShader, it can be set on the SkPaint so it can be inspected later. Set a LayerShader instead of a SkiaLayerShader. setupDrawShader and setupDrawShaderUniforms now inspect an SkShader passed in. Inspect SkShader instead of mDrawModifiers.mShader. Remove resetShader and setupShader. setupDrawColorUniforms now takes a boolean indicating whether there is a shader. Add an inline function for accessing the SkShader on an SkPaint. In setupDrawBlending(Layer*, bool), do not check the shader (which will never be set), but do check whether the color filter may change the alpha (newly fixed behavior). In setupDrawBlending(SkPaint, ...), check the SkShader and whether the color filter affects alpha (the latter is new behavior). libs/hwui/Renderer.h: Remove pure virtual functions setupShader and resetShader. libs/hwui/ResourceCache.cpp: libs/hwui/ResourceCache.h: Remove functions for refing/unrefing shaders. libs/hwui/SkiaShader.cpp: libs/hwui/SkiaShader.h: Much of this code was redundant and has been removed. Convert structs into class with nothing but static functions for calling describe/setupProgram. libs/hwui/TextureCache.cpp: libs/hwui/TextureCache.h: Use the SkPixelRef as the key to the bitmap Lru cache, since shader inspection will provide a different SkBitmap pointer (though it will hold the correct SkPixelRef with the correct generation ID). tests/CanvasCompare/src/com/android/test/hwuicompare/DisplayModifier.java: tests/CanvasCompare/src/com/android/test/hwuicompare/ResourceModifiers.java: Update manual test to have more shaders: radial, sweep, compose, invalid compose. BUG:10650594 Change-Id: I2e7182b3fc28268e7ca82fac6780540b6b45365c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
d490aa426090fc358873821b47ef27ead0c97409 |
|
23-May-2014 |
Chris Craik <ccraik@google.com> |
Merge "Inspect SkShader to determine hw shader."
|
d1ad5e62fda248c6d185cde3cb6d9f01a223066c |
|
05-May-2014 |
Leon Scroggins III <scroggo@google.com> |
Inspect SkShader to determine hw shader. Instead of duplicating internal info about SkShader, inspect the SkShader installed on the SkPaint. core/java/android/view/GLES20Canvas.java: Remove setupModifiers, nResetModifiers, and nSetupShader. core/jni/android/graphics/Shader.cpp: Remove calls to create/destroy the (previously) attached SkiaShader. core/jni/android_view_GLES20Canvas.cpp: Remove native code for setupShader and resetModifiers. graphics/java/android/graphics/BitmapShader.java: graphics/java/android/graphics/ComposeShader.java: graphics/java/android/graphics/LinearGradient.java: graphics/java/android/graphics/RadialGradient.java: graphics/java/android/graphics/Shader.java: graphics/java/android/graphics/SweepGradient.java: Remove code keeping track of native SkiaShader. libs/hwui/Caches.h: Include Extensions.h. libs/hwui/DeferredDisplayList.cpp: Compare shaders on the paint, instead of on DrawModifiers. libs/hwui/DisplayList.cpp: libs/hwui/DisplayList.h: Remove vector of SkiaShaders. libs/hwui/DisplayListOp.h: Access the SkShader on mPaint. Remove SetupShaderOp and ResetShaderOp. libs/hwui/DisplayListRenderer.cpp: libs/hwui/DisplayListRenderer.h: Remove resetShader, setupShader, refShader, and mShaderMap. libs/hwui/FontRenderer.cpp: Pass SkShader to setupDrawShader and setupDrawShaderUniforms. libs/hwui/OpenGLRenderer.cpp: libs/hwui/OpenGLRenderer.h: Add LayerShader, a class inheriting from SkShader, to mimic the behavior of SkiaLayerShader. Unlike SkiaLayerShader, it can be set on the SkPaint so it can be inspected later. Set a LayerShader instead of a SkiaLayerShader. setupDrawShader and setupDrawShaderUniforms now inspect an SkShader passed in. Inspect SkShader instead of mDrawModifiers.mShader. Remove resetShader and setupShader. setupDrawColorUniforms now takes a boolean indicating whether there is a shader. Add an inline function for accessing the SkShader on an SkPaint. In setupDrawBlending(Layer*, bool), do not check the shader (which will never be set), but do check whether the color filter may change the alpha (newly fixed behavior). In setupDrawBlending(SkPaint, ...), check the SkShader and whether the color filter affects alpha (the latter is new behavior). libs/hwui/Renderer.h: Remove pure virtual functions setupShader and resetShader. libs/hwui/ResourceCache.cpp: libs/hwui/ResourceCache.h: Remove functions for refing/unrefing shaders. libs/hwui/SkiaShader.cpp: libs/hwui/SkiaShader.h: Much of this code was redundant and has been removed. Convert structs into class with nothing but static functions for calling describe/setupProgram. libs/hwui/TextureCache.cpp: libs/hwui/TextureCache.h: Use the SkPixelRef as the key to the bitmap Lru cache, since shader inspection will provide a different SkBitmap pointer (though it will hold the correct SkPixelRef with the correct generation ID). tests/CanvasCompare/src/com/android/test/hwuicompare/DisplayModifier.java: tests/CanvasCompare/src/com/android/test/hwuicompare/ResourceModifiers.java: Update manual test to have more shaders: radial, sweep, compose, invalid compose. BUG:10650594 Change-Id: Iaa7189178bda1c55f96da044d2a9fa602ba36034
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
d93ef9186189c2b521381eb05634298eabe822f8 |
|
15-May-2014 |
Raph Levien <raph@google.com> |
Remove SkFloatToScalar in GLES20Canvas (Minikin) A recent Skia change removed the SkFloatToScalar macro, but it was being used in the Minikin case for the GSES20Canvas (enabled only on USE_MINIKIN builds). This patch removes it. Change-Id: Ib64fd347f5db94fa6f3b3f79957d55a38f0328c9
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
1044a8211d86d4306ee7b075eb2bca9a43f3a492 |
|
15-May-2014 |
Raph Levien <raph@google.com> |
Merge "BiDi support for Minikin"
|
2836c4722a156ec78d7f4101b394885a354f5dd6 |
|
15-May-2014 |
Raph Levien <raph@google.com> |
Merge "Start of Minikin integration"
|
9d9ee3d666c63938311839002ec974673998c6d0 |
|
13-May-2014 |
Raph Levien <raph@google.com> |
BiDi support for Minikin This patch plumbs the bidiFlags for the various text drawing and measurement functions down to Minikin, so that the latter can do layout in a BiDi-aware manner. With the corresponding changes to Minikin, it is sufficient to correctly display RTL text in TextViews. Change-Id: Ie904f297373b9ad418050a474506605c7c127b0f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
1a73f732f91e97c9c66b808c245ddda36a10e987 |
|
31-Jan-2014 |
Raph Levien <raph@google.com> |
Start of Minikin integration This is the current state of the Minikin integration. All changes are hidden behind USE_MINIKIN #ifdef, so it should be safe to apply. To play with the Minikin branch, set this in your BoardConfig.mk . This change also merges in 64-bit changes that were happenening in parallel. Change-Id: Idd94553bcbe324c5875d0ff06495c966c3e95b7f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
5b554f010358d8f47e31d92a42aa3edc4a71ec47 |
|
08-May-2014 |
Derek Sollenberger <djsollen@google.com> |
Merge "Avoid caching shadow properties in Java & HWUI."
|
832b151465ed81c43e59891d5eebe62128b21fbb |
|
07-May-2014 |
John Reck <jreck@google.com> |
Cleanup attachFunctor Bug: 13961296 Change-Id: Id48d11bfcc234afd1fd7e4fdd409a50e7208c81d
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c29a0a4664a4b9871fadd668b632469a0db240b9 |
|
31-Mar-2014 |
Derek Sollenberger <djsollen@google.com> |
Avoid caching shadow properties in Java & HWUI. bug: 10650594 Change-Id: I6f57df002710bb0567ed7e53fc0bfe96cfd504b8
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
52244fff29042926e21fa897ef5ab11148e35299 |
|
02-May-2014 |
John Reck <jreck@google.com> |
Add CanvasProperty for drawCircle Change-Id: Icbcc030f5033d2094e567d7c519b9d672f2aac1c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
3f085429fd47ebd32ac2463b3eae2a5a6c17be25 |
|
16-Apr-2014 |
Chris Craik <ccraik@google.com> |
Clip TouchFeedbackDrawable effect to receiver Outline Projected RenderNodes are now wrapped with a ClipRect or masked SaveLayer, so that they are clipped to the outline of the projection receiver surface. Change-Id: I1d4afc1bb5d638d650bc0b1dac51a498f216773e
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
6f07a0dc875a9eac67312085a8e0133b9e2f4771 |
|
17-Apr-2014 |
John Reck <jreck@google.com> |
Add missing resume() call Bug: 14087850 Change-Id: Ic555ca6027e617c7ed6e7e66b5cf713c36ed1c6c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
113e0824d6bddf4376240681f9cf6a2deded9498 |
|
18-Mar-2014 |
John Reck <jreck@google.com> |
Move RenderNode to own file Change-Id: I9380d161fd3ddd7b569c262dd8e7aa0c96151b1e
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e18264b079481a244b30e3f71012c53bbd861f92 |
|
12-Mar-2014 |
John Reck <jreck@google.com> |
Rename DisplayList->RenderNode Change-Id: Id42e23c9a1a6eb6eaeafef707ced7fa6887b03d0
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
44fd8d24f761f82d21e9b00932648a1b6bf91449 |
|
26-Feb-2014 |
John Reck <jreck@google.com> |
DisplayList overhaul Change-Id: I53418d580c98f706e971545cff81b9921c12cc5f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
17ab38f8a87bc90eab11373f878f220ce3031de6 |
|
27-Jan-2014 |
Ashok Bhat <ashok.bhat@arm.com> |
AArch64: Make AssetAtlasService 64-bit compatible Changes in this patch include [x] Long(64-bit) is used to store native pointers in AssetAtlasService and related classes as they can be 64-bit. [x] Some minor changes have been done to conform with standard JNI practice (e.g. use of jint instead of int in JNI function prototypes) Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> (cherry-picked from 4de3f481bc59ab4b766dc027e41aff7cda9d62f7) Change-Id: If22daf40eef46f8df9f94d65ddcc52c45b3acf2a
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
04fc583c3dd3144bc6b718fcac4b3e1afdfdb067 |
|
06-Feb-2014 |
John Reck <jreck@google.com> |
Refactor HardwareLayer Defer all the things! Groundwork to allow hardware layers to work in a renderthread world Change-Id: Ib3aa47525f393083621254a743dbaa6352f933bd
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
76d3a1b8d035d27bc80b0f2fc480a903bd001514 |
|
10-Dec-2013 |
Derek Sollenberger <djsollen@google.com> |
Removing SkiaColorFilter and inspecting the native object directly. bug: 10650594 Change-Id: I4fcf66d008765afa0e35d011f58bc792183cb74f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
8f52fee0609a4f273f87f4178865b0713c8114aa |
|
07-Feb-2014 |
Narayan Kamath <narayan@google.com> |
Merge "Fix several bad function definitions."
|
593b19a49e899a1668755b5040162f2b31f95877 |
|
06-Feb-2014 |
John Reck <jreck@google.com> |
Remove overdraw counter Change-Id: Iee05362b9080b28714a4cca5a571f19ce81eadfd
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
017546e65280a3389b6167f5fc3b5d1c3001154a |
|
06-Feb-2014 |
Narayan Kamath <narayan@google.com> |
Fix several bad function definitions. We claim these functions want jlong as input (8 bytes wide) but the definitions use pointer types or jints (4 bytes wide for 32 bit). bug: 12890271 Change-Id: I6a167a4f3aac1e22ddea33d067caaef6a11b418c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
36bef0bf30d6bae48cf3837df351075ca4fce654 |
|
20-Jan-2014 |
Ashok Bhat <ashok.bhat@arm.com> |
AArch64: Make graphics classes 64-bit compatible This a merger of two commits submitted to AOSP by the following authors: ashok.bhat@arm.com, david.butcher@arm.coma craig.barber@arm.com, kevin.petit@arm.com and marcus.oakland@arm.com Due to the very large number of internal conflicts, I have chosen to cherry-pick this change instead of letting it merge through AOSP because the merge conflict resolution would be very hard to review. Commit messages below: ================================================ AArch64: Make graphics classes 64-bit compatible Changes in this patch include [x] Long is used to store native pointers as they can be 64-bit. [x] Some minor changes have been done to conform with standard JNI practice (e.g. use of jint instead of int in JNI function prototypes) [x] AssetAtlasManager is not completely 64-bit compatible yet. Specifically mAtlasMap member has to be converted to hold native pointer using long. Added a TODO to AssetAtlasManager.java to indicate the change required. Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> Signed-off-by: Craig Barber <craig.barber@arm.com> Signed-off-by: Kévin PETIT <kevin.petit@arm.com> Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> ================================================================== AArch64: Use long for pointers in graphics/Camera For storing pointers, long is used in android/graphics/Camera class, as native pointers can be 64-bit. In addition, some minor changes have been done to conform with standard JNI practice (e.g. use of jint instead of int in JNI function prototypes) Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> =================================================================== Change-Id: Id5793fa0ebc17ee8b1eecf4b3f327977fdccff71
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
7023df08f14ec5dee76ac54c03e870f84e297636 |
|
27-Jan-2014 |
Narayan Kamath <narayan@google.com> |
Revert "AArch64: Make graphics classes 64-bit compatible" This reverts commit 18b4cbeedef21c1fa666a110a157bab66edff976. Change-Id: I0c52983a3ab1ace3ff743de546a43eca28e5cb0e
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
477d7d1be9340c4730663af7b748d67e85bc2951 |
|
27-Jan-2014 |
Narayan Kamath <narayan@google.com> |
Revert "Follow up for change 18b4cbeedef21c1fa666a110a157b." This reverts commit c5b281c981d7290e3615d105cf2e23afc32c304d. Change-Id: Id36f463e73068e14bc8fac0a289180be078ffbf9
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c5b281c981d7290e3615d105cf2e23afc32c304d |
|
27-Jan-2014 |
Narayan Kamath <narayan@google.com> |
Follow up for change 18b4cbeedef21c1fa666a110a157b. Fix a few functions that were not converted correctly. Change-Id: Ieb6bd9ea90af595080f1248a1d5892c460228290
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
18b4cbeedef21c1fa666a110a157bab66edff976 |
|
20-Jan-2014 |
Ashok Bhat <ashok.bhat@arm.com> |
AArch64: Make graphics classes 64-bit compatible This a merger of two commits submitted to AOSP by the following authors: ashok.bhat@arm.com, david.butcher@arm.coma craig.barber@arm.com, kevin.petit@arm.com and marcus.oakland@arm.com Due to the very large number of internal conflicts, I have chosen to cherry-pick this change instead of letting it merge through AOSP because the merge conflict resolution would be very hard to review. Commit messages below: ================================================ AArch64: Make graphics classes 64-bit compatible Changes in this patch include [x] Long is used to store native pointers as they can be 64-bit. [x] Some minor changes have been done to conform with standard JNI practice (e.g. use of jint instead of int in JNI function prototypes) [x] AssetAtlasManager is not completely 64-bit compatible yet. Specifically mAtlasMap member has to be converted to hold native pointer using long. Added a TODO to AssetAtlasManager.java to indicate the change required. Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> Signed-off-by: Craig Barber <craig.barber@arm.com> Signed-off-by: Kévin PETIT <kevin.petit@arm.com> Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> ================================================================== AArch64: Use long for pointers in graphics/Camera For storing pointers, long is used in android/graphics/Camera class, as native pointers can be 64-bit. In addition, some minor changes have been done to conform with standard JNI practice (e.g. use of jint instead of int in JNI function prototypes) Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> =================================================================== Change-Id: Ib3eab85ed97ea3e3c227617c20f8d213f17d4ba0
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
2114aef4eaa1c6539d4fe83bb130395dad7fbae7 |
|
15-Jan-2014 |
John Reck <jreck@google.com> |
Remove dead code Change-Id: I9c96d3d21bd3faed91a5146f5a2b8916c634fdff
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
539394ec3aee7b5868c14e5e692684c8a875a3d4 |
|
30-Dec-2013 |
Chris Craik <ccraik@google.com> |
Merge "Create abstract base class for OpenGLRenderer"
|
9f66ea06ace80f60e049e3e7e778a8552cebe5b3 |
|
28-Dec-2013 |
Chris Craik <ccraik@google.com> |
Avoid implicit parameter/return value casting of pointers. Change-Id: I88123a75c87bf9a88de9ef9fc3e9af70d6a18d7d
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
b458942bb6e6cf13c68341dda35ef5cee060f5ae |
|
27-Dec-2013 |
Chris Craik <ccraik@google.com> |
Create abstract base class for OpenGLRenderer This will eventually serve as a base class to allow DisplayListRenderer to split off from OpenGLRenderer, and could eventually support other rendering approaches, such as an SkCanvas/SkPicture. This will also be the main source of (implementation-independent) documentation of the canvas/renderer methods. Change-Id: I52047f338f5cf86a3b0b3002af7154bff5c3c227
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
ba9b613437c34873fa95800a25fc51720638267c |
|
16-Dec-2013 |
Chris Craik <ccraik@google.com> |
Create private properties on GLCanvas for experimentation with 3d Change-Id: I17772f61efce727cb4c1111f4d97f58c741786b8
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
630491973269da1b260e69d6a3f9490b97705037 |
|
11-Dec-2013 |
John Reck <jreck@google.com> |
Unbreak display list debug dumping Change-Id: I1c6a79f047b29fa60907f6e128cb843a45b88bff
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
f0a590781b2c3e34132b2011d3956135add73ae0 |
|
20-Nov-2013 |
Chris Craik <ccraik@google.com> |
Clean up quick rejection, especially surrounding points + lines. bug:4351353 quickReject and quickRejectNoScissor have been renamed and refactored: - to make the scissor side effect clear and explicit - dangerous methods no longer public - to make the simple quick reject check logic const - simple quick reject is now conservative This CL also fixes several issues with line and point quickRejection - sub-pixel and hairline lines are much less likely to be incorrectly rejected, especially at small canvas scale. Additionally, alpha modulation for AA points < 1px in size is now correct, dumplicating SW behavior (similar to lines and stroked shapes work). Change-Id: Ibb0710c721b9fb415d05acf54dd3d2b4d602156a
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a3402c33c61b55e8d068b8b4e06aae158fd1af4e |
|
19-Sep-2013 |
Eino-Ville Talvala <etalvala@google.com> |
TextureView/GLES20Canvas: Support synchronous GLConsumers Always update to the newest available frame from a GLConsumer. Otherwise, with a synchronous queue, rendering can fall behind and eventually deadlock with producer. Bug: 10830400 Change-Id: I7f1d752c80ae5dac892a26d82e86806c27f5d955
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
1abf5d62429e5a9329520b2f7c2b5a5e7a8e72ec |
|
16-Aug-2013 |
Chris Craik <ccraik@google.com> |
Add inPremutiplied option to BitmapFactory.Options, functionality in Bitmap bug:2248948 Change-Id: I8fdd649332667598504a1076d5a447572bd53086
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
b15b446f420b3ec69424dabcbcbc8cf019d6c8d6 |
|
12-Aug-2013 |
Romain Guy <romainguy@google.com> |
Take text alignment into account to compue text bounds Bug #10258621 Change-Id: I91abf1829a1814410ce8c0c2c17d888031987f18
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
0c20c3898a533b7b76f60827cb6ea02e17c5953d |
|
02-Jul-2013 |
Chris Craik <ccraik@google.com> |
Use global references for Bitmap AndroidPixelRefs bug:9621717 Because we're no longer holding onto Bitmaps Java side during DisplayList lifetime, use global refs to keep the backing byte arrays around. Adds back bitmap buffer passing + native ref management removed by 3b748a44c6bd2ea05fe16839caf73dbe50bd7ae9 Adds back globalRef-ing removed by f890fab5a6715548e520a6f010a3bfe7607ce56e Change-Id: Ia59ba42f05bea6165aec2b800619221a8083d580
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e3b0a0117a2ab4118f868a731b238fe8f2430276 |
|
27-Jun-2013 |
Romain Guy <romainguy@google.com> |
Refcount 9-patches and properly handle GC events This change adds refcounting of Res_png_9patch instances, the native data structure used to represent 9-patches. The Dalvik NinePatch class now holds a native pointer instead of a Dalvik byte[]. This pointer is used whenever we need to draw the 9-patch (software or hardware.) Since we are now tracking garbage collection of NinePatch objects libhwui's PatchCache must keep a list of free blocks in the VBO used to store the meshes. This change also removes unnecessary instances tracking from GLES20DisplayList. Bitmaps and 9-patches are refcounted at the native level and do not need to be tracked by the Dalvik layer. Change-Id: Ib8682d573a538aaf1945f8ec5a9bd5da5d16f74b
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
49cc5d71192cbd776e237488218aea18a3ed14b1 |
|
18-Jun-2013 |
Chris Craik <ccraik@google.com> |
Merge "Handle all text bounds as post-translated"
|
f09b746acb266a849f3421df1604ebec161bb93d |
|
18-Jun-2013 |
Chris Craik <ccraik@google.com> |
Handle all text bounds as post-translated We were treating immediate mode bounds as pre translate, which is inconsistent with using them for quickRejection. This fixes the overdraw counter not drawing correctly (since it uses immediate mode drawing. Change-Id: I1c734d367a00942bd7d9b041822c0a9f284e70a8
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e93482f5eac3df581d57e64c2a771a96aa868585 |
|
17-Jun-2013 |
Romain Guy <romainguy@google.com> |
Cancel layer update when a layer is about to be destroyed Bug #9310706 Change-Id: I73eea6314c326f15a979617e3a05b525935f0d3f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
39a908c1df89e1073627b0dcbce922d826b67055 |
|
13-Jun-2013 |
Chris Craik <ccraik@google.com> |
Fix various draw ops that may incorrectly not scissor bug:8965976 Also consolidates quickReject scissor-ing and scissor-less paths. Renamed plain 'quickReject' method, as it has sideEffects beyond what the java and skia canvases do. Change-Id: I4bdf874d3c8f469d283eae1e71c5e7ea53d47016
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
405436021da156fbe3c5d4de48bdefa564cf7fc0 |
|
13-Jun-2013 |
Romain Guy <romainguy@google.com> |
Restore buildLayer()'s old behavior; it's synchronous again Bug #9193833 Change-Id: I4ee07e65c0a8967f0b55da030ecaad6dfc46136f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
41541825bc90dac740e424cdd41a8c997e15cdb7 |
|
04-May-2013 |
Chris Craik <ccraik@google.com> |
Use individual glyph positions to determine text bounds. bug:8766924 Previously text bounds were calculated to be from 0 to totalAdvance in the X, and from the font's top to bottom. These are incorrect, especially in light of the font fallback mechanism. Now, we calculate the bounds of the text as we layout each glyph. Since these are much tighter bounds in the common case, this significantly reduces the amount of clipping required (which in turn enables more aggressive text merging). Change-Id: I172e5466bf5975bf837af894a9964c41db538746
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
78dd96d5af20f489f0e8b288617d57774ec284f7 |
|
03-May-2013 |
Romain Guy <romainguy@google.com> |
Add an on-screen overdraw counter The counter can be enabled by setting the system property called debug.hwui.overdraw to the string "count". If the string is set to "show", overdraw will be highlighted on screen instead of printing out a simple counter. Change-Id: I9a9c970d54bffab43138bbb7682f6c04bc2c40bd
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
3b748a44c6bd2ea05fe16839caf73dbe50bd7ae9 |
|
18-Apr-2013 |
Romain Guy <romainguy@google.com> |
Pack preloaded framework assets in a texture atlas When the Android runtime starts, the system preloads a series of assets in the Zygote process. These assets are shared across all processes. Unfortunately, each one of these assets is later uploaded in its own OpenGL texture, once per process. This wastes memory and generates unnecessary OpenGL state changes. This CL introduces an asset server that provides an atlas to all processes. Note: bitmaps used by skia shaders are *not* sampled from the atlas. It's an uncommon use case and would require extra texture transforms in the GL shaders. WHAT IS THE ASSETS ATLAS The "assets atlas" is a single, shareable graphic buffer that contains all the system's preloaded bitmap drawables (this includes 9-patches.) The atlas is made of two distinct objects: the graphic buffer that contains the actual pixels and the map which indicates where each preloaded bitmap can be found in the atlas (essentially a pair of x and y coordinates.) HOW IS THE ASSETS ATLAS GENERATED Because we need to support a wide variety of devices and because it is easy to change the list of preloaded drawables, the atlas is generated at runtime, during the startup phase of the system process. There are several steps that lead to the atlas generation: 1. If the device is booting for the first time, or if the device was updated, we need to find the best atlas configuration. To do so, the atlas service tries a number of width, height and algorithm variations that allows us to pack as many assets as possible while using as little memory as possible. Once a best configuration is found, it gets written to disk in /data/system/framework_atlas 2. Given a best configuration (algorithm variant, dimensions and number of bitmaps that can be packed in the atlas), the atlas service packs all the preloaded bitmaps into a single graphic buffer object. 3. The packing is done using Skia in a temporary native bitmap. The Skia bitmap is then copied into the graphic buffer using OpenGL ES to benefit from texture swizzling. HOW PROCESSES USE THE ATLAS Whenever a process' hardware renderer initializes its EGL context, it queries the atlas service for the graphic buffer and the map. It is important to remember that both the context and the map will be valid for the lifetime of the hardware renderer (if the system process goes down, all apps get killed as well.) Every time the hardware renderer needs to render a bitmap, it first checks whether the bitmap can be found in the assets atlas. When the bitmap is part of the atlas, texture coordinates are remapped appropriately before rendering. Change-Id: I8eaecf53e7f6a33d90da3d0047c5ceec89ea3af0
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a4e16c58c9e3c983251e0475125a2a6f5bec2dbf |
|
22-Mar-2013 |
Chris Craik <ccraik@google.com> |
Restore final canvas state after deferred flush 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
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
4494599e5a4931426d5649e1d1c4f9db83824ae8 |
|
20-Mar-2013 |
Chris Craik <ccraik@google.com> |
Merge "Use snapshot alpha for layers" into jb-mr2-dev
|
a08f95cfeca7217f9c533b03663bf0dceedd259a |
|
16-Mar-2013 |
Chris Craik <ccraik@google.com> |
Use snapshot alpha for layers 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
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
da12f389eb4be0c08ca3fa9ca7663f4977858df5 |
|
15-Mar-2013 |
Fabrice Di Meglio <fdimeglio@google.com> |
Revert "Clean Paint.mBidiFlags as it is no longer used" This reverts commit 6d9fe5bd22b531bfce69b146254a4791c76acddc.
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
846f5f238fd96a14197022baad86eab8882fe3bc |
|
19-Feb-2013 |
Romain Guy <romainguy@google.com> |
am e91efaba: Merge "Expose display list APIs" * commit 'e91efabaf2c51d017bf4c5bc4e06491c3511f4e5': Expose display list APIs
|
52036b19a5f82bc4d75cfcbff99c65df8d25a99b |
|
15-Feb-2013 |
Romain Guy <romainguy@google.com> |
Expose display list APIs The exposed APIs are slightly simpler than the full APIs used internally. Only APIs useful to applications are exposed. Change-Id: Ie03014628d40ad5ef63dedbc52ce3def84429d54
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c932760f667cf56ca7a1aeffde505745dc3632e1 |
|
14-Feb-2013 |
Chris Craik <ccraik@google.com> |
Merge "Revert "Merge remote-tracking branch 'goog/master-chromium' into 'goog/master'" DO NOT MERGE"
|
7c1a49f5f5ed6613d736464bf5001b777e89ced2 |
|
13-Feb-2013 |
Chris Craik <ccraik@google.com> |
Revert "Merge remote-tracking branch 'goog/master-chromium' into 'goog/master'" DO NOT MERGE This reverts commit 6c0307dd0aefe9a08794b155fc03ee60ebd14f25, reversing changes made to a2cd828b749c444d55c2c41c7dbb85088ff94b9f. Conflicts: packages/SystemUI/res/values-sv/strings.xml Change-Id: Ia178efe8b14751583d47b2826bfe3d3d5463dd2e
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
6d9fe5bd22b531bfce69b146254a4791c76acddc |
|
12-Feb-2013 |
Fabrice Di Meglio <fdimeglio@google.com> |
Clean Paint.mBidiFlags as it is no longer used See bug #7623824 Change-Id: Ie2f9422821f6dcc73c99e8695f448e966b587b1d
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
da805b149fde3f7f8ef404c39ef74b2fbbf7af7f |
|
01-Feb-2013 |
Romain Guy <romainguy@google.com> |
am c5801680: Merge "Tag HardwareRenderers with a name to help debugging" # Via Android (Google) Code Review (1) and Romain Guy (1) * commit 'c580168011334db756f5e68aa005d20bace69171': Tag HardwareRenderers with a name to help debugging
|
ef35927abcd089652f87a985dd6dde7afde58b92 |
|
01-Feb-2013 |
Romain Guy <romainguy@google.com> |
Tag HardwareRenderers with a name to help debugging The name of the renderer is the same as the window it belongs to. Change-Id: Ie9adc0a1978afa026923ea41f5540eda6ba65a92
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
2dbd185fd0e5dfe9addb677f42716c442b7e62bd |
|
30-Jan-2013 |
Derek Sollenberger <djsollen@google.com> |
resolved conflicts for merge of c93c6aa5 to master-chromium Change-Id: I51429ed5359355025f873ccab11bfabbbe772a46
|
2af4635e4a9e448a65ff541252f8f94bc6ac48e0 |
|
27-Nov-2012 |
Chris Craik <ccraik@google.com> |
Object-based DisplayList recording bug:8037003 Changes the DisplayList from using stream read/write commands to use an array of objects manually allocated on a linear buffer. Depends on frameworks/native change https://googleplex-android-review.googlesource.com/#/c/257695/ which adds LinearAllocator Also changes drawRects to use float count instead of rect count, to be more like drawLines/drawPoints Change-Id: Ia2e4a11acd8f0a757042a05cbc9e7563cb73ee47
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
616a87736d819a7fe4e1d60d4703aabc7b888cd7 |
|
15-Jan-2013 |
Romain Guy <romainguy@google.com> |
am 61840eb0: Merge "Preliminary Support for region clipping" * commit '61840eb03882e1a964ae971725bd21229c3db42c': Preliminary Support for region clipping
|
735738c4ddf3229caa5f6e634bf591953ac29944 |
|
03-Dec-2012 |
Romain Guy <romainguy@google.com> |
Preliminary Support for region clipping Region clipping, using Canvas.clipPath or Canvas.clipRegion, requires a stencil buffer to be always present. In addition, extra wiring is required in JNI and display lists. This change only adds the necessary JNI/C++ APIs and some extra plumbing to start the real work on properly supporting region clipping. A new debug define called DEBUG_CLIP_REGIONS can be used to draw the current clip region. It is off by default, as is region clipping. The default implementation of clipPath() and clipRegion(), now in native, mimics the previous Dalvik implementation to prevent regressions. Change-Id: I7903e7cfd7412b9b9b622566d4dbfce7bdcec00c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
7bac55434caa9de7fc31f6fd8b0384042c700b4c |
|
05-Jan-2013 |
Romain Guy <romainguy@google.com> |
am 9acd1b4f: Merge "Add visual profiling feature" * commit '9acd1b4fa897f3a007dd23dc1f0471b151fa03ad': Add visual profiling feature
|
672433d90fab7383cd28beac9d4485b566a90940 |
|
05-Jan-2013 |
Romain Guy <romainguy@google.com> |
Add visual profiling feature When profiling is enabled with debug.hwui.profile set to true, setting debug.hwui.profile_visualizer to true will display the profiling data directly on screen. Change-Id: I3d5fe3f0347090815087b1cbfce66b8e76d9347b
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
2fa54cef47887808d006f473a7d4f8dd5fb76704 |
|
19-Dec-2012 |
Derek Sollenberger <djsollen@google.com> |
Merge "Update framework to support r5967 of Skia." into master-chromium
|
d47f7d8b5fe3a3861d7cbdc5f912235407823c8e |
|
18-Dec-2012 |
Andy McFadden <fadden@android.com> |
Rename ISurfaceTexture and SurfaceTexture The C++ class names don't match what the classes do, so rename ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to GLConsumer. Bug 7736700 Change-Id: I08e677faf2ebb418ef131d0a8008e01037db0e50
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
ca79cf69d09efa0c327e9b1237d86a119aea5da7 |
|
14-Aug-2012 |
Derek Sollenberger <djsollen@google.com> |
Update framework to support r5967 of Skia. bug: 6906025 Change-Id: Iefdb830ec3aa2ab3472c1c142484a7aa21788a15
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
b2e2f2470693e78baed20617f989d9a166864ed4 |
|
18-Oct-2012 |
Romain Guy <romainguy@google.com> |
Take into account the texture layer's transform for clipping Bug #7370212 Change-Id: Ibdc3161306f54a1cfe66e08458f05ee01a13b1df
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
ef09a210dd6ea481158b7028ec2424a7f5769ed2 |
|
25-Sep-2012 |
Romain Guy <romainguy@google.com> |
Don't destroy the same texture twice Bug #7221449 SurfaceTexture already deletes the GL texture when detachFromContext is invoked. The newly introduced refcount would casue the Layer object to be destroyed later and attempt to delete the GL texture again. By the time the second cleanup occurs, the texture name might have been reused by somebody else, resulting in erroneous behaviors. Change-Id: I257c589fea64b34c00f46fbfaa7732e6854a5e41
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
87e2f757be9b24d369bab354e37c276e851b1fc7 |
|
24-Sep-2012 |
Romain Guy <romainguy@google.com> |
Add a property to disable libhwui's scissor optimization Bug #7158326 When scissor optimization is enabled, OpenGLRenderer will attempt to minimize the use of scissor by selectively enabling and disabling the GL scissor test. When the optimization is disabled, OpenGLRenderer will keep the GL scissor test enabled and change the scissor rect as needed. Some GPUs (for instance the SGX 540) perform better when changing the scissor rect often than when enabling/disabling the scissor test often. Change-Id: Idb68862e287a23358f9188d577ae0f86161902fd
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
11cb642756093a4af901b1525375b1eb2b5c3e2b |
|
21-Sep-2012 |
Romain Guy <romainguy@google.com> |
Update layers in a single batch at the beginning of a frame Bug #7186819 Change-Id: Ice5926dfedfb3be3a3064e65008dafa2852407da
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
603f6de35f21d74ae242d52d501f4f5c25ff4f4c |
|
15-Sep-2012 |
Chet Haase <chet@google.com> |
Fix occasional crash bug with layers Launcher occasionally crashes with a stack trace indicating that the memory of a Layer object is corrupt. It is possible for us to delete a Layer structure and then, briefly, use it to draw a DisplayList again before that DisplayList gets recreated (without the layer that got deleted). When this happens, if the memory got corrupted, it's possible to crash. The fix is to add Layer to the other objects which we currently refcount (bitmaps, shaders, etc.). Then instead of deleting a Layer, we decrement the refcount. We increment when creating it, then increment it again when it's referenced from a DisplayList. Then we decrement the refcount instead of deleting it, and decrement when we clear a DisplayList that refers to it. Then when the refcount reaches 0, we delete it. Issue #6994632 Native crash in launcher when trying to launch all apps screen Change-Id: I0627be8d49bb2f9ba8d158a84b764bb4e7df934c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
d15ebf25c595b855f6978d0600218e3ea5f31e92 |
|
05-Sep-2012 |
Chet Haase <chet@google.com> |
Enable changing properties of layer paint Previously, to draw a layered view with a changed Paint object for the drawLayer operation, you'd have to invalidate the parent view, to get the native DisplayList to pick up the new Paint properties. This change adds API and functionality so that the developer can call setLayerPaint(), which does the proper invalidation (lightweight, doesn't cause redrawing the view). Issue #6923810 Make it easy to efficiently animate a layer's Paint Change-Id: I7fea79788d50f6d9c86dd5e5b2a4490cb95142bb
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
0baaac5e9adf3ee280ae1239e2e58754a9d2b099 |
|
01-Sep-2012 |
Romain Guy <romainguy@google.com> |
Revert "Revert "Add more support for transformed clip rects and paths"" This reverts commit a8557d2169e14997637f57bc897640c8882d4a46. Change-Id: I36d4883d548fc47ba6c0b4a42012107d0d2f85a6
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a8557d2169e14997637f57bc897640c8882d4a46 |
|
01-Sep-2012 |
Mathias Agopian <mathias@google.com> |
Revert "Add more support for transformed clip rects and paths" this introduced a dead lock in GradientCache's ctor. This reverts commit dfe082f63e94cde9aee271c94d13de5e7217e036. Bug: 7096001 Change-Id: I57b8bbab11fb7cb502fa58e3bbf5d19864db874f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
dfe082f63e94cde9aee271c94d13de5e7217e036 |
|
01-Sep-2012 |
Romain Guy <romainguy@google.com> |
Add more support for transformed clip rects and paths Change-Id: I41791b1e1bffef77d503dc9e52428395d2309688
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c89b14bba0f6cc2c91629080617f7ed215f697f3 |
|
08-Aug-2012 |
Romain Guy <romainguy@google.com> |
It seems that apparently useless public APIs are actually useful Bug #6953651 Change-Id: Ic47ce504e63262711f5d3edc76f7d2b9c12471ad
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
17112ad8a21a77620eb1ff14dcf8bdd6b7859712 |
|
07-Aug-2012 |
Romain Guy <romainguy@google.com> |
Cleanup of libhwui Change-Id: Ib7f5771548462c00027a8ad57badfb68c50644f9
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c25259519f1b74bb62a2b051b74537f073436b5c |
|
28-Jul-2012 |
Romain Guy <romainguy@google.com> |
Rename drawGeneralText to drawText Change-Id: I5062ea5b0605fc7af27f410fafc930d10f38e926
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
996e57c84368058be793897ebc355b917a59abc2 |
|
24-Jul-2012 |
Raph Levien <raph@google.com> |
Hardware implementation of glyph positioning (bug 5443796) This implementation adds a drawGeneralText() method to the OpenGL Renderer, which supports both a global x, y position, an array of individual glyph positions, and also a length parameter (which enables drawing of underline and strikethrough. It also adds the method to the display list (with marshalling and unmarshalling). With this change, the existing drawText() method is removed entirely, as it's subsumed by the new method. It's easy enough to revert to the old functionality if needed by passing in a NULL positions array. Change-Id: I8c9e6ce4309fd51cc5511db85df99f6de8f4f6f5
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
f0af1d5cb255f136d2fff773be7518ffd7ae3b93 |
|
12-Jul-2012 |
Romain Guy <romainguy@google.com> |
Remove unused View.flushLayer() API Change-Id: I5d4c7388afb5265964ab6b769cc0abfee9745c84
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
846a533945576e5cb1a66529ca3a52d71749f04f |
|
12-Jul-2012 |
Romain Guy <romainguy@google.com> |
Update layers' opaque property when needed Before this change, changing a View's opacity would not be reflected by hardware layers. This could cause layers to retain their previous opacity. Change-Id: Iba2c8b4242deca021651df9324cc7c585a64653d
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
44b2fe3fc114ee5f7273c6b0fee2cc999bf244a2 |
|
07-Jun-2012 |
Chet Haase <chet@google.com> |
Track canvas clearing for swap buffers logic. A previous fix made it necessary for a frame to render something to GL in order to cause a call to eglSwapBuffers(). Besides the calls being tracked as part of issuing a DisplayList, there is also a potential call to clear the canvas (via glClear()) on non-opaque surfaces. This call is also good to track, since a surface that gets cleared without any other drawing operations is worth flipping to the screen (to erase old contents on that surface). This fix tracks the status of the pre-draw operations to find out whether glClear() was called and then sets the drawing status appropriately. Issue #6606422 QuickContact dismissal is janky again (Tracking) Change-Id: I5fcaccfdc9293dd46b83f2fc279730a5d2740ebf
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
df071486e0cf6241e7351efc786385cce38768f9 |
|
19-May-2012 |
Mathias Agopian <mathias@google.com> |
drop frame in case of error in updateTexImage Bug: 6476587 Change-Id: I864a7d0997761150a3db2ddd5890ed820d792e56
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
49c5fc0b9e850497233e189ff9dcc71a78ebe6e7 |
|
15-May-2012 |
Romain Guy <romainguy@google.com> |
Avoid unnecessary copy when invoking drawBitmap(int[]) Bug #6483390 Change-Id: I4d2d725ef50c9401b4bd998b6160128102b40745
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e651cc6239616a202f6e96ebc2ed93b4b8b3627c |
|
15-May-2012 |
Romain Guy <romainguy@google.com> |
Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...) Change-Id: Ie28538a2104d21154fdc78a56525e7403f08287d
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
ba6be8a62dcdb3ffd210cd36b9af4e3a658eac47 |
|
24-Apr-2012 |
Romain Guy <romainguy@google.com> |
Prevent WebView from crashing when detached from the window Bug #6365056 WebView enqueues a functor in the hardware renderer to handle animations and this functor is called at a later time by the hardware renderer. However, the functor was not removed from the queue when WebView was removed from the window. This could cause the hardware renderer to attempt to execute an invalid functor and lead to a crash. Change-Id: I9d38e80f3fdc5e29d4d0cdfa1e893c251a954508
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
1271e2cc80b01d577e9db339459ef0222bb9320d |
|
20-Apr-2012 |
Chet Haase <chet@google.com> |
Remove USE_DISPLAY_LIST_PROPERTIES flag This flag was still hanging around pending any need to disable DisplayList properties. But things seem stable, so it's time to clean up and simplify the code. At the same time, I reduced redundance in DisplayList dimensions. We used to call drawDisplayList() with width/height parameters that were used to do a clip reject. This is redundant with the DisplayList properties that set the bounds of the DisplayList; the left/right and top/bottom properties represent the same width/height properties formerly used in drawDisplayList(). The new approach is to not pass dimensions to drawDisplayList(), but to instead pull those dimensions directly from the DisplayList when needed. Change-Id: I8871beff03b1d4be95f7c6e079c31a71d31e0c56
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
8f3b8e32993d190a26c70c839a63d8ce4c3b16d9 |
|
28-Mar-2012 |
Romain Guy <romainguy@google.com> |
Allow fine-grained control over functors execution Adds non-drawing execution mode Change-Id: I82f92cf1b9a3b9ff2ca6d7427c4e02b73e04e6bf
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
244ada1d35419b7be9de0fc833bb03955b725ffa |
|
29-Mar-2012 |
Romain Guy <romainguy@google.com> |
Refactor GLES20Canvas/HardwareRenderer JNI layers GLES20Canvas defined several JNI functions used only by HardwareRenderer. Now that we have a JNI layer dedicated to HardwareRenderer we should host the renderer related methods there. Change-Id: I0bcb4ad0bcc1c4a37290df10c1685f2cfe5504ca
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
6554943a1dd6854c0f4976900956e556767b49e1 |
|
27-Mar-2012 |
Romain Guy <romainguy@google.com> |
Use a status_t return type for GL functors WebView needs more fine-grained control over the behavior of the framework upon execution of the display lists. The new status_t allows WebView to requests its functor to be re-executed directly without causing a redraw of the entire hierarchy. Change-Id: I97a8141dc5c6eeb6805b6024cc1e76fce07d24cc
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
bb0acdf9e1d862a7cf0e2533321fc1105c29b5e3 |
|
05-Mar-2012 |
Romain Guy <romainguy@google.com> |
Delete display list objects and resources on the UI thread Bug #6073717 Bug #6065504 Bug #6026515 Bug #5971725 Prior to this patch, the destructor of DisplayList would always run on the finalizer thread. This could cause a race condition if the UI thread was busy rendering display lists at the same time leading to various random native crashes. Change-Id: Ie11108e3b1538d4b358a1a8b4cce1b2d33152d0c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
2bf68f063b0077ddef6ebfe54f2ae5e063c2c229 |
|
02-Mar-2012 |
Romain Guy <romainguy@google.com> |
Deferred layer updates Change-Id: I83d9e564fe274db658dcee9e0cc5bbf9223ebb49
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
325740fb444af8fc7fb0119b2e30ce322c2ae134 |
|
25-Feb-2012 |
Romain Guy <romainguy@google.com> |
Add hooks to implement Canvas.drawTextOnPath() in GL Change-Id: I165c9e05facf5365aa6850605688e538640c7fcc
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
b13b9bdad2baf6ad1ec2e56b6b7598fa20f55fc4 |
|
18-Feb-2012 |
Mathias Agopian <mathias@google.com> |
frameworks/base refactoring. step 2: move libutils headers to their new home: androidfw Change-Id: I14624ba23db92a81f2cb929f104386e1fab293ef
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
33f6beb10f98e8ba96250e284876d607055d278d |
|
17-Feb-2012 |
Romain Guy <romainguy@google.com> |
Record possible clip rejects when recording display lists This optimization allows us to quickly skip operations that lie entirely outside of the known bounds of a display list. Because of ViewGroup.setClipChildren, we must keep the operations recorded in the display list. setClipChildren(false) is however a very uncommon operation and we will therefore often benefit from this new optimization. Change-Id: I0942c864e55298e6dccd9977d15adefbce3ba3ad
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
13631f3da855f200a151e7837ed9f6b079622b58 |
|
31-Jan-2012 |
Romain Guy <romainguy@google.com> |
Add debug markers to OpenGLRenderer These markers will be used to group the GL commands by View in the OpenGL ES debugging tool. This will help correlate individual GL calls to higher level components like Views. Change-Id: I73607ba2e7224a80ac32527968261ee008f049c6
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
530041d3191ce817832a0108514617768e43cda6 |
|
26-Jan-2012 |
Romain Guy <romainguy@google.com> |
Add stencil buffer to the EGL config Change-Id: If76c0cd6127534d90f9526b75c0f8e56259c6722
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a731b082b2c43204e6e9f927ab82fb732934a83b |
|
24-Jan-2012 |
Fabrice Di Meglio <fdimeglio@google.com> |
Code cleaning: centralize use of #if USE_TEXT_LAYOUT_CACHE - also clean some destructors (was not quite compulsory because they are related to some Singletons) Change-Id: I3091cac7b38628cda593d72570ba7a5d7ea2a15c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
5ff9df658230d49e42c43586997a02d8e4dd417e |
|
24-Jan-2012 |
Romain Guy <romainguy@google.com> |
Add full support for Canvas.setDrawFilter() Change-Id: I0ad35d0603c4eeda469014803be14c1dcdde918c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
671d6cf460531825a321edb200523d0faa7792c9 |
|
18-Jan-2012 |
Romain Guy <romainguy@google.com> |
Full support for Canvas.drawPosText This also introduces a small optimization when rendering text. Change-Id: Iff620ac97bf878eaac406bccc6daa07052c93890
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
eb9a5367e8f0e970db8509ffb2584f5376bc62ed |
|
18-Jan-2012 |
Romain Guy <romainguy@google.com> |
First pass at implementing Canvas.drawPosText() in GL Change-Id: Ia3ac347e95d57eb86c63045156c8dbc0572b03cb
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
d1d4bb70704e8f37d0823837eacdae21ebe0ed05 |
|
18-Jan-2012 |
Romain Guy <romainguy@google.com> |
Free optimization Using the TextLayoutCache with the GL renderer should help... Change-Id: I73a19be040165212839e2a40d4183e998f9dfb7f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
3762c311729fe9f3af085c14c5c1fb471d994c03 |
|
06-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
5baa3a62a97544669fba6d65a11c07f252e654dd |
|
20-Dec-2011 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
b02d0ca5553300063e4332192632312600caf4b9 |
|
08-Dec-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Clean TextLayout code and remove RTL_USE_HARFBUZZ - remove dependencies on ICU - use TextLayouCache - remove RTL_USE_HARFBUZZ define (we *are* using Harfbuzz now) - also fix compilation warning Change-Id: I022e11703438d07032e49e42724184f6bf16653e
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9c4b79af221b53f602f946faa9ff317a596a0c39 |
|
11-Nov-2011 |
Romain Guy <romainguy@google.com> |
Discard framebuffer rendering queues when discarding layers Bug #5581817 Change-Id: Ie30700a29059d2ea60eb7bd3f8bd20ac48a149ab
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
4406345cd62d3687ce590c357854472f7f906e6c |
|
01-Dec-2011 |
Jesse Hall <jessehall@google.com> |
Disable GLES20Canvas on emu w/o native GL When the emulator is run without '-gpu on', GLES20 isn't supported, so claiming GLES20Canvas is available will lead to catastrophic failure. This change makes GLES20Canvas available when compiled in and either not running on the emulator, or running on the emulator with native GL acceleration enabled. Change-Id: I89c944f9e3c9585224f5aa0877335ea48ea4a468
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
7077506f9945b87b02bdd47ffce75a5b813c821c |
|
14-Nov-2011 |
Dave Burke <daveburke@google.com> |
Revert "Discard framebuffer rendering queues when discarding layers" This reverts commit da96f8ac2c1c35a54f3f36e6d776cb386a251d03.
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
da96f8ac2c1c35a54f3f36e6d776cb386a251d03 |
|
11-Nov-2011 |
Romain Guy <romainguy@google.com> |
Discard framebuffer rendering queues when discarding layers Bug #5581817 Change-Id: If612846ec5f7793710fc4df152791fb32c506551
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
8ff6b9ebeeb24a6161ec6098e6bfdf8790ee5695 |
|
10-Nov-2011 |
Romain Guy <romainguy@google.com> |
Terminate EGL when an app goes in the background This does not happen on high end gfx devices. This happens only if only one EGL context is initialized in the current process. Change-Id: Ibd1737efdf84eef8a84108b05795440d1ae9964e
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
5c863f741e8e484bb39decd516c9fa4c6322e671 |
|
06-Oct-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #5371117 Regression : The Hebrew / Arabic text behavior in ICS latest build is wrong - welcome back start / count - goodbye log clusters - clean Paint code - make private some functions as they should be - improve memory allocation (create only one Shaper and reuse it for for shaping the runs in the same input text) Change-Id: I89a320c7f041319851308c8c9a919fbeafa82cdd
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
79df5323e7ed541b854cea5684a89e8be8c2dfc9 |
|
20-Sep-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #5332081 TextLayoutCache needs to be able to have more cache hits - makes TextLayoutCache not carring about start/count. Basically he will cache the result for the full string and gives back the "chunk" corresponding to start/count - changed the TextLayoutCacheValue API to take start/count parameters - add Harfbuzz LogClusters in TextLayoutCacheValue as it is needed for extracting the start/count "chunk" Change-Id: I4b38a4442428606de9a093303bbbe98181e1f89c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9c418dbc56efd334c68872d281f75138e16eae46 |
|
18-Sep-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Revert "Fix bug #5332081 TextLayoutCache needs to be able to have more cache hits" This reverts commit d686d76814f18061e06995df0d5de9feb9f70a7e
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
d686d76814f18061e06995df0d5de9feb9f70a7e |
|
14-Sep-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #5332081 TextLayoutCache needs to be able to have more cache hits - makes TextLayoutCache not carring about start/count. Basically he will cache the result for the full string and gives back the "chunk" corresponding to start/count - changed the TextLayoutCacheValue API to take start/count parameters - added the Harfbuzz LogClusters in TextLayoutCacheValue as it is needed for extracting the start/count "chunk" - fix potential issue of cache key leaking Change-Id: I9276f9bec744e8de36349acfba8429f7c6f83394
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
163268b3a8d4dd7e650e6c540f832bf60f6bf4c9 |
|
08-Sep-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #5274332 TextLayoutCache is having multiple instances - also fix the missing LOG_TAG define Change-Id: I25e96d1ba372e84768604f18702e0724fdecefb0
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
189887e0ae171c1b7601991442104a30e56c50ab |
|
25-Aug-2011 |
Romain Guy <romainguy@google.com> |
Implement saveLayer*() correctly When the Rect parameter is null, the layer's bounds must match the clip rect. Change-Id: Idbb3973af039bf319e840d1095b7037bf1015f35
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
067bb3b44357e09628ae63a8e7cf27f93b811b84 |
|
19-Aug-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Merge "Update TextLayout logging"
|
abb0f299fdc72755a18cf8848d57919890f0cd42 |
|
19-Aug-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Update TextLayout logging - centralize logging into TextLayoutCache - add offset logging Change-Id: I52f229b2a8aed121715b37a5a42936875b23f3c9
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
302a9df1d50373c82923bb84ff665dfce584fb22 |
|
16-Aug-2011 |
Romain Guy <romainguy@google.com> |
Add an API to set the transform on a TextureView's surface texture. Bug #5156689 Change-Id: I635a625885c9b832a60d44ece0de7613ceb84109
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9d865512f1a39bac6bed612b24023213d5a1fb1d |
|
12-Aug-2011 |
Romain Guy <romainguy@google.com> |
Remove unnecessary private API Change-Id: I2ecb367528ec0691c07153a3d163b82a6ca33fdf
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
65b345fa22b878e141b8fd8ece9c208df00fa40f |
|
28-Jul-2011 |
Romain Guy <romainguy@google.com> |
Reclaim more memory, more often. Yay. Change-Id: I04557ad575c307a55088549f48f0e9ad994b7275
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
162a0217563f4665da6eb183dfce0fef740f641f |
|
22-Jul-2011 |
Jeff Brown <jeffbrown@google.com> |
Decouple GLES20RecordingCanvas lifetime from GLES20DisplayList. Bug: 5062011 Previously, each GLES20DisplayList would hold onto an instance of GLES20RecordingCanvas. In turn, each GLES20RecordingCanvas held onto an SkWriter with a 16Kb buffer along with several other objects. With one display list per view and hundreds of views, the overhead could add up to a few megabytes. Ensured that the GLES20RecordingCanvas is reset as soon as the display list has been constructed, thereby promptly freeing the 16Kb buffer. Changed GLES20DisplayList so that it acquires a GLES20RecordingCanvas from a pool as needed and recycles it when done. Removed some dead code and cruft related to the construction of GLES20Canvas objects in general. Some code was written with the assumption that the underlying renderer object could change behind the scenes or might be lazily constructed, but that isn't actually the case so we can simplify things. Removed an unnecessary weak reference from GLES20DisplayList to the View. It isn't actually used anywhere. Fixed a bug in GLES20DisplayList where isValid() would return true while the display list was being recorded. This is incorrect because the native display list might not actually exist. Worse, even if the native display list does exist, it is stale and potentially refers to old Bitmaps that have been GC'd (because the mBitmaps list was cleared when recording started). Change-Id: Ib12d5483688cb253478edeb0156d34c476c2566b
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
f40aa3834d92bfb516e0f865375103d81e3de71d |
|
19-Jul-2011 |
Romain Guy <romainguy@google.com> |
Merge "Trim OpenGLRenderer's memory usage whenever possible"
|
6be3d5561cbeccf0a8257a4acb155657f868e548 |
|
15-Jul-2011 |
Romain Guy <romainguy@google.com> |
Add lock/unlockCanvas to TextureView With this change, TextureView has feature parity with SurfaceView. Change-Id: I4ef2da33420fc9590f868636ae72a5a6de61965b
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
bdf7609867a3f886455c51dba91623a86cceb6e2 |
|
19-Jul-2011 |
Romain Guy <romainguy@google.com> |
Trim OpenGLRenderer's memory usage whenever possible Change-Id: I9225077184f374b1a43300add15cc1d5b6869d1c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9ace8f5e79e76893fe4ca9e4d10f6c4056330485 |
|
08-Jul-2011 |
Romain Guy <romainguy@google.com> |
Use NEAREST filtering for layers whenever possible. Change-Id: Id5bee1bd4a322cf93e8000b08e18f1e1b058648e
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
f61970fc79e9c5cf340fa942597628242361864a |
|
07-Jul-2011 |
Romain Guy <romainguy@google.com> |
Add an API to query maximum bitmap/texture size on Canvas. Change-Id: I2c576c9a4ecad9f33cc6636bcbc29786acdf052d
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
5c5050d9026f7e0ba52bec094f681e048cdd5d9a |
|
24-Jun-2011 |
Grace Kloba <klobag@google.com> |
Make TextureView to use async SurfaceTexture. With this, there is no synchronous destroy SurfaceTexture requirement any more. Revert the previous change which only applies to the sync SurfaceTexture. Change-Id: Id4790d38a27f2982d0c8ad471bc1107683d27ffc
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a9489274d67b540804aafb587a226f7c2ae4464d |
|
23-Jun-2011 |
Romain Guy <romainguy@google.com> |
Add the ability to specify the opacity of a TextureView TextureView assumes its content is opaque by default. Change-Id: Iba873423566a5b67c388081838bd910dceba32ba
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c989d867f2580a99cde25fab0e49e445aea33f2f |
|
22-Jun-2011 |
Romain Guy <romainguy@google.com> |
Collapse UI events in TextureView. Change-Id: Ia6c0cef0f694edc4b685c1ade1a9ba509a51e541
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
0bc6eb30bc09b4c49193229cf3c0de28341be6f4 |
|
22-Jun-2011 |
Grace Kloba <klobag@google.com> |
Fix the issue where TextureView stuck if the producer side is too fast. When SurfaceTexture is in sync mode, the consumer needs to pull the pending frames. Otherwise the onFrameAvailable won't be called and no more update. This simple fix is to skip frame to keep up with the producer side. Change-Id: Ica833695dc0b0221d2543f46f0dd41aa55d1aa16
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
035f1010ebed7d420e74a4e9d830018ab8c8163a |
|
16-Jun-2011 |
Romain Guy <romainguy@android.com> |
Correctly register native methods. Change-Id: Ic82a2b9c5dd7fb5dc23650c4d5aa208ef8563a31
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e5e0c50f7dfaccc220725c5595080e921ffda1e4 |
|
16-Jun-2011 |
Romain Guy <romainguy@android.com> |
Properly refcount SurfaceTexture in the JNI layer. Change-Id: I4b4c8020c13b8d6ce0d302fe42410033bf5785a6
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
77a811610f99e21da7f88dafef60d09f345d0506 |
|
15-Jun-2011 |
Romain Guy <romainguy@google.com> |
Add TextureView.getBitmap() This API can be used to get a Bitmap copy of the content of a TextureView. Change-Id: I07522216c353720fba5cab333174f58f484eb911
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
af033caf26ef4eca99c4024e59def7e42c3fa4cd |
|
06-Jun-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix USE_TEXT_LAYOUT_CACHE define - fix compilation issues Change-Id: I3358457d94d2278804e81e4ca96c9633ed76a147
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
6f7d9394ec69e9fb38ca5fc2caf6d2aef6f7442d |
|
02-Jun-2011 |
Romain Guy <romainguy@google.com> |
Take advantage of EGL_BUFFER_PRESERVED on IMG. The IMG architecture does not support the EGL_SWAP_BEHAVIOR_PRESERVED_BIT in EGL configurations. This bit is used only to be able to change the EGL_SWAP_BEHAVIOR, which matters when the default behavior is not the one we want. However on IMG, the default swap behavior is the one we desire. Change-Id: Iff5980c97df9e41bc837e424baf83b8eadbb7161
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
726aeba80ffc6778a9bc3e0ee957b8d644183505 |
|
01-Jun-2011 |
Romain Guy <romainguy@google.com> |
Add support to OpenGLRendere to draw BiDi text. Bug #4350336 Change-Id: I1cf31693f7ca9653fa3a41b5b91c27ef288d680f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
2ea75880142152b3a9993cb245754d73c05749a7 |
|
13-May-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Prepare OpenGLRenderer to use glyphs from TextLayoutCache - add OpenGLRenderer.drawGlyph() - refactor glypth logging code Change-Id: I797e6f1304d3f3f8f6ed31e7f9965d336233d2a4
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
ed30fd8e9a2d65ee5c8520de55b0089c219f390c |
|
23-Apr-2011 |
Chet Haase <chet@google.com> |
Add ability for hierarchyviewer to output displaylist info Clicking on a node in hierarchyviewer1 and hierarchyviewer2 and then clicking the new "Dump DisplayList" button will cause the display list for the selected node (including its children) to be output into logcat. Change-Id: Iad05f5f6cca0f8b465dccd962b501dc18fe6e053
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a17de9b493123f0d6e6d0b842150bf29322b7a88 |
|
05-May-2011 |
Chet Haase <chet@google.com> |
Revert "Add ability for hierarchyviewer to output displaylist info" This reverts commit b2a4b52e8d5e499d33e2765e8c47851bf0266299.
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
b2a4b52e8d5e499d33e2765e8c47851bf0266299 |
|
23-Apr-2011 |
Chet Haase <chet@google.com> |
Add ability for hierarchyviewer to output displaylist info Clicking on a node in hierarchyviewer1 and hierarchyviewer2 and then clicking the new "Dump DisplayList" button will cause the display list for the selected node (including its children) to be output into logcat. Change-Id: Id32f62569ad1ab4d533bc62987f3a7390c1bb4e6
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
8f0095cd33558e9cc8a440047908e53b68906f5f |
|
03-May-2011 |
Romain Guy <romainguy@google.com> |
Allows to render with an OpenGL context inside a TextureView. Change-Id: I59453f7fc3997f0502a1c5d325d37fed376fabc7
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
aa6c24c21c727a196451332448d4e3b11a80be69 |
|
29-Apr-2011 |
Romain Guy <romainguy@google.com> |
New widget: TextureView Bug #4343984 TextureView can be used to render media content (video, OpenGL, RenderScript) inside a View. The key difference with SurfaceView is that TextureView does not create a new Surface. This gives the ability to seamlessly transform, animate, fade, etc. a TextureView, which was hard if not impossible to do with a SurfaceView. A TextureView also interacts perfectly with ScrollView, ListView, etc. It allows application to embed media content in a much more flexible way than before. For instance, to render the camera preview at 50% opacity, all you need to do is the following: mTextureView.setAlpha(0.5f); Camera c = Camera.open(); c.setPreviewTexture(mTextureView.getSurfaceTexture()); c.startPreview(); TextureView uses a SurfaceTexture to get the job done. More APIs are required to make it easy to create OpenGL contexts for a TextureView. It can currently be done with a bit of JNI code. Change-Id: Iaa7953097ab5beb8437bcbbfa03b2df5b7f80cd7
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a3804cf77f0edd93f6247a055cdafb856b117eec |
|
12-Apr-2011 |
Elliott Hughes <enh@google.com> |
You don't need to poke around inside FileDescriptor manually. We can help you with that. Note also that getParcelFileDescriptorFD did no such thing. All its callers were passing in a regular java.io.FileDescriptor and expecting the int. No ParcelFileDescriptors involved. Change-Id: Idc233626f20c092e719f152562601f406cc1b64a
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
46e18c11d46a2bc1a46174f963d0ed1224d94cd2 |
|
06-Apr-2011 |
Brian Carlstrom <bdc@google.com> |
Don't use local ref for cached jclass reference in JNI code Change-Id: Id45b2acb358a819f2fd332e99f3a095f6fc7299b related-to-bug: 4241138
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
905787a7c91d23daa4efc3d16bd8cbf1a683e779 |
|
01-Apr-2011 |
Chet Haase <chet@google.com> |
Fix the build: break due to no OPENGL in some builds Change-Id: Ibceb501d2361df9b74dc1964ff6b92ec8452f219
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
0865d33d976bb6c8ac34da9551ff62fbb60d715a |
|
01-Apr-2011 |
Chet Haase <chet@google.com> |
Fix the build - change a reference to a namespace specification Change-Id: I79c8b571e6555451611b825669963f042d901f1a
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9c1e23baf5bfbebd1aebbd6d9a18c225325567ce |
|
24-Mar-2011 |
Chet Haase <chet@google.com> |
Add logging of graphics acceleration info to bugreports Change-Id: I9fa4cda6ccf92df9d1c644ccdc0e7274a30106e0
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
ed6fcb034b44d9a6ac2fc72fee6030417811f234 |
|
21-Mar-2011 |
Romain Guy <romainguy@google.com> |
Add support for drawPoint() and drawPoints(). Change-Id: I01bef50c08ec3160f8d40dc060b2cf6c2e4d7639
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a168d7372132d6c87835878794b6ed43d0d282fd |
|
19-Mar-2011 |
Romain Guy <romainguy@google.com> |
Correctly apply filters to Alpha8 bitmaps. This change also removes unnecessary operations from display lists. Change-Id: I627f85861982731f0ee7705b48b36d9c56f22f39
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
8329db39f2f55484352d58b1820eb31a22698f11 |
|
15-Mar-2011 |
Romain Guy <romainguy@google.com> |
am b245e31f: am ee7ace06: Merge "Fix rendering artifact in edge fades. Bug #4092053" into honeycomb-mr1 * commit 'b245e31fa8dd1ad6a59ccf858154f3c7b92e0eb8': Fix rendering artifact in edge fades. Bug #4092053
|
7b5b6abf852c039983eded25ebe43a70fef5a4ab |
|
15-Mar-2011 |
Romain Guy <romainguy@google.com> |
Fix rendering artifact in edge fades. Bug #4092053 The problem always existed but was made visible by partial invalidation. When saving a layer, the renderer would try to postpone glClear() operations until the next drawing command. This however does not work since the clip might have changed. The fix is rather simple and simply gets rid of this "optimization" (that turned out to be usless anyway given how View issues saveLayer() calls.) This change also fixes an issue with gradients (color stops where not properly computed when using a null stops array) and optimizes display lists rendering (quickly rejects larger portions of the tree to avoid executing unnecessary code.) Change-Id: I0f5b5f6e1220d41a09cc2fa84c212b0b4afd9c46
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9b8c5f61432b7f12a216567409fa7baed6b74452 |
|
09-Mar-2011 |
Carl Shapiro <cshapiro@google.com> |
Merge "Remove unused JNI global references."
|
cabfcc1364eb7e4de0b15b3574fba45027b45cfc |
|
08-Mar-2011 |
Romain Guy <romainguy@google.com> |
Add support for partial invalidates in WebView Bug #3461349 This change also fixes two bugs that prevented partial invalidates from working with other views. Both bugs were in our EGL implementation: they were preventing the caller from comparing the current context/surface with another context/surface. This was causing HardwareRenderer to always redraw the entire screen. Change-Id: I33e096b304d4a0b7e6c8f92930f71d2ece9bebf5
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
17cc33a35729733aaa0a7706f38b1c45f0b1590a |
|
06-Mar-2011 |
Carl Shapiro <cshapiro@google.com> |
Remove unused JNI global references. Change-Id: Ie4886ab66538e293832c3bc3d6023e34304a2d21
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
2b1847ea60650a9f68372abe860415f18b55081d |
|
26-Jan-2011 |
Romain Guy <romainguy@google.com> |
Remove unused API Change-Id: I1714fd82a64b752f0350ef4ef9179ce19e089c6a
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
7d7b5490a0b0763e831b31bc11f17d8159b5914a |
|
25-Jan-2011 |
Romain Guy <romainguy@google.com> |
Enable partial invalidates when rendering with OpenGL. Change-Id: Ie8be06c4776b815e8737753eb8003b4fd8936130
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
daf98e941e140e8739458126640183b9f296a2ab |
|
10-Jan-2011 |
Chet Haase <chet@google.com> |
Use optimized display lists for all hwaccelerated rendering Previously, display lists were used only if hardware acceleration was enabled for an application (hardwareAccelerated=true) *and* if setDrawingCacheEnabled(true) was called. This change makes the framework use display lists for all views in an application if hardware acceleration is enabled. In addition, display list renderering has been optimized so that any view's recreation of its own display list (which is necessary whenever the visuals of that view change) will not cause any other display list in its parent hierarchy to change. Instead, when there are any visual changes in the hierarchy, only those views which need to have new display list content will recreate their display lists. This optimization works by caching display list references in each parent display list (so the container of some child will refer to its child's display list by a reference to the child's display list). Then when a view needs to recreate its display list, it will do so inside the same display list object. This will cause the content to get refreshed, but not the reference to that content. Then when the view hierarchy is redrawn, it will automatically pick up the new content from the old reference. This optimization will not necessarily improve performance when applications need to update the entire view hierarchy or redraw the entire screen, but it does show significant improvements when redrawing only a portion of the screen, especially when the regions that are not refreshed are complex and time- consuming to redraw. Change-Id: I68d21cac6a224a05703070ec85253220cb001eb4
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
8b2f5267f16c295f12faab810527cd6311997e34 |
|
24-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add support for arcs. Change-Id: I96c057ff4eb1b464b03f132da0b85333777bee4f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c1cd9ba335b293f11e1082447ef08e474710a05f |
|
23-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add support for ovals and stroked rectangles. Change-Id: I1292e241386763c82e6622c8f7ed90b0f5b7bd4f
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
5a7b466a2b4b7ced739bd5c31e022de61650545a |
|
21-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add support for drawBitmapMesh(). Change-Id: Ic77f9c534bb90dc7b9458299544bd50b8b6ae6a5
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
01d58e43ede5ca98cbebdd166f9b0c545032c01b |
|
20-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add rounded rects and circles support to OpenGLRenderer. Change-Id: I6cedf2b495d58de7c0437096809fa9e4518a1b8c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
807daf7df615b60ce6fc41355aabe3aa353cebab |
|
18-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add support for skew() Change-Id: Ia3a9a867f74fd78b61f75179e3788fdc2f0cacd0
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
ada830f639591b99c3e40de22b07296c7932a33f |
|
13-Jan-2011 |
Romain Guy <romainguy@google.com> |
Cleanup implementation of hardware layers. The new implementation relies on OpenGLRenderer's existing layer code instead of duplicating it. The new code is much cleaner, with simpler and better APIs and allows tracking of drawn regions inside layers. Region tracking is not yet enabled but this will be done in a future CL. Change-Id: Ie826121a2227de8252c77b992a61218defea5143
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
57066eb64c9a190d1afc87bb060bbb2d31e5b86c |
|
12-Jan-2011 |
Romain Guy <romainguy@google.com> |
Cleanup GL objects on the correct thread. Change-Id: Iddfea6e08a6591a4fab147151098ef27005f373d
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
6c319ca1275c8db892c39b48fc54864c949f9171 |
|
11-Jan-2011 |
Romain Guy <romainguy@google.com> |
Better backend for hardware layers. With this new backend, a hardware layer is only recreated when its associated view is udpated. This offers fast composition in GL and fast update of the layer in GL as well. Change-Id: I97c43a612f5955c6bf1c192c8ca4af10fdf1d076
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
5977baa1fa24125c148a72699b53e62abaf08960 |
|
06-Jan-2011 |
Chet Haase <chet@google.com> |
Reuse of native display list objects Change-Id: Ia4553e23930ad20e56c11faa7809be788a1ad4bb
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e4ac2d6b5723c95e648c489b187ddde449452c13 |
|
01-Dec-2010 |
Patrick Dubroy <dubroy@google.com> |
Allocate bitmap backing buffers in the Java heap. Change-Id: I60f6ccff13357c1c518e9d56b02fe0171637edd1
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
0fe478ea04720a57ef3919dbc23711bc7eba517f |
|
08-Nov-2010 |
Romain Guy <romainguy@google.com> |
Support nested display lists. Change-Id: I3815a2832fc0f722c668ba8f51c5f177edb77c94
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
5c13d89c1332fcc499379b9064b891187b75ca32 |
|
08-Oct-2010 |
Chet Haase <chet@google.com> |
Optimizing display lists by referencing pointers to resources instead of copying them Change-Id: I81ad3551d74aa1e5bb64d69e33d2eb29a6c1eb6a
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
41030da16856c8869e1e51d4a0405432fa96614e |
|
13-Oct-2010 |
Romain Guy <romainguy@google.com> |
Add a getNativeMatrix() API. This API can be used by WebView to apply the appropriate transform on its rendering. Change-Id: I79aa39a29805f462fb08226370328815e74bdc52
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
4bb942083a0d4db746adf95349108dd8ef842e32 |
|
13-Oct-2010 |
Romain Guy <romainguy@google.com> |
Optimize 9patch rendering. This change detects empty quads in 9patches and removes them from the mesh to avoid unnecessary blending. Change-Id: I4500566fb4cb6845d64dcb59b522c0be7a0ec704
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
6b7bd24659fb175fe1f0e97c86c18969918b496a |
|
07-Oct-2010 |
Romain Guy <romainguy@google.com> |
Don't clear the framebuffer when not needed.
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
bdb801ca993bcccbf2a4c2401d1720c3fa523777 |
|
05-Oct-2010 |
Romain Guy <romainguy@google.com> |
Remove logs to reduce logcat spam. Change-Id: I5fc295b05b5d82bb86827b88e94dd51e8bcdc7d3
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
b051e895ccb696604349c6c5efe7c4747e1d1ab6 |
|
29-Sep-2010 |
Romain Guy <romainguy@google.com> |
Add display lists caching. Change-Id: Iac3a248a81ed8cb076a83ef9d186b8ebba685b4c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
4aa90573bbf86db0d33a3a790c5dbd0d93b95cfe |
|
27-Sep-2010 |
Romain Guy <romainguy@google.com> |
Adding display lists to the GL renderer (checkpoint.) Change-Id: Iaa49757600a53b39369dbb23f8c3feab282518e6
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e2d345ea67e2960b37bfdc0fc8626d1bfa747404 |
|
25-Sep-2010 |
Romain Guy <romainguy@google.com> |
Add debug mode to measure performance. Change-Id: I9d4c84034dc200b99c8266165942a7cdbcb5c0c5
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
759ea80dca64ad652110a129e0d8bf93fea79f61 |
|
17-Sep-2010 |
Romain Guy <romainguy@google.com> |
Add support for drawLines(), with anti-aliasing Change-Id: I16c0593c5671490909dec13a85df601e1428a1a6
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
b025b9c8b4efefadb01937db61a1f8ee7d2452bf |
|
16-Sep-2010 |
Romain Guy <romainguy@google.com> |
Better error handling in the OpenGL renderer. Add a glGetError() check on every frame Don't attempt to create textures larger than the maximum size allowed Change-Id: Iee4afae16089406dbe8bf10fc93b674f1271a0ca
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
da8532c6f48b4c10b5e2ccb9e08690341efa1616 |
|
31-Aug-2010 |
Romain Guy <romainguy@google.com> |
Add hooks for hardware accelerated WebView. Change-Id: I907cdec8a67594f87749ac46bda85f04af5a2003
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
fb8b763f762ae21923c58d64caa729b012f40e05 |
|
24-Aug-2010 |
Romain Guy <romainguy@google.com> |
Use only one GL context per process, share chaches. Change-Id: Ieabaa25338d2f4b8d4fd90e7401ad6e7452eae11
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
1e45aae5de003657e5d18f74d34998f5de5db5b7 |
|
14-Aug-2010 |
Romain Guy <romainguy@google.com> |
Add drop shadows. Change-Id: Ic6a72409d4785968d1fbdff229f17ee5c00b240b
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a48a1a87ba17f20f7006eaab21dcedf86c015c13 |
|
10-Aug-2010 |
Romain Guy <romainguy@google.com> |
Fast text selection drawing. Change-Id: I93fb1312b47bc05345defa9b6cfe47c0658bb329
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
61c8c9c5b2006d18e9310b6521c65b36ffe75ce4 |
|
10-Aug-2010 |
Romain Guy <romainguy@google.com> |
Fix tons of bugs and add new text rendering support. Change-Id: I326c66b10784006f6df2f12d38e120cef94cd0d7
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
163935113919a184122b8b3bd672ef08c8df65dc |
|
08-Aug-2010 |
Romain Guy <romainguy@android.com> |
Make libhwui entirely optional. The makefile variable USE_OPENGL_RENDERER must be set to true to compile libhwui and the related code in the JNI layer. This change also removes obsolete APIs from Canvas that must not be used and would be confusing if left in. These APIs were remnants of our first attempt at an OpenGL renderer for the view hierarchy and had not been taken out before Android 1.0 was released. Change-Id: I2475ff1307212bab26c926724f3c508681c7dae1
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
7fbcc0492fca03857e3c45064f4aa040af817d55 |
|
05-Aug-2010 |
Romain Guy <romainguy@google.com> |
Add support for paths. Rendering is implementing by rasterizing the paths into A8 textures. This cna be extremely inefficient if the path changes often. Change-Id: I609343f304ae38e0d319359403ee73b9b5b3c93a
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
db1938e0e6ef816e228c815adccebd5cb05f2aa8 |
|
03-Aug-2010 |
Romain Guy <romainguy@google.com> |
Add support for ColorFilters. Color filters are fully supported and can be used with shaders. Change-Id: Id90ccf1c81cb462f2431f366f3f8f710d7971e04
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
06f96e2652e4855b6520ad9dd70583677605b79a |
|
31-Jul-2010 |
Romain Guy <romainguy@google.com> |
Refactor Skia shaders handling. With this change, Skia shaders can easily be applied to any mesh. This change also supports ComposeShader. For instance, this can be used to blend a gradient and a bitmap togehter and paint a string of text with the result. Change-Id: I701c2f9cf7f89b2ff58005e8a1d0d80ccf4a4aea
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9226298891119acff6b5e8b65fb7074fb99dc0c0 |
|
26-Jul-2010 |
Romain Guy <romainguy@google.com> |
Fix text corruption when rendering RTL enabled text. Change-Id: I5450fd9cad1c5a66875affdbcd34308aea4c36ac
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e8e62a4a032a80409114a37908b5f18ab0080848 |
|
24-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add text alignment support to drawText(). This change also integrates better support for RTL text. Change-Id: I6da8f5cf5dc28ca7cf1b22e27b0d853c919e8481
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
694b519ac647fe998fd396fe0784cc8e179aadc4 |
|
22-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add text rendering. Change-Id: Ibe5a9fa844d531b31b55e43de403a98d49f659b9
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
a1db574036c9bc2d397b69f8200594027e1fff16 |
|
20-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add preliminary support for text rendering. Change-Id: I547eb631dbda24d13960d54b4144fb8908fd8a49
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c0ac193b9415680f0a69e20a3f5f22d16f8053be |
|
20-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add support for linear gradients. Change-Id: Id15329da065045b3f06fdaed615f33cd57608496
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
f9764a4f532561f6e2e985ff3b25112f1132ce44 |
|
17-Jul-2010 |
Romain Guy <romainguy@android.com> |
Add program for linear gradient. This change adds a new DrawLinearGradientProgram class to enable the drawing of linear gradients. Two new vertex and fragment shaders are introduced, based on DrawTextureProgram's shaders. Change-Id: I885afc076bb6cef8cd3962ae21a086fa6a03bf96
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
7fac2e18339f765320d759e8d4c090f92431959e |
|
17-Jul-2010 |
Romain Guy <romainguy@android.com> |
Add plumbing to support gradients in OpenGL renderer. The LinearGradient class keeps a copy of the various parameters that define the gradient. The copies are native arrays to avoid copying Java arrays on every draw call. The gradient code path is implemented until OpenGLRenderer::drawRect() (see TODO.) The actual gradient implementation will be added in a latter change. Change-Id: I9300d250ef5e2e9c2e097c3116ee71dfc9d752d8
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
079ba2c85b15e882629b8d188f5fbdb42f7f8eea |
|
16-Jul-2010 |
Romain Guy <romainguy@android.com> |
Improve clip support (add intersect, union and replace.) This change also modifies the way the clip is stored. The clip is now always stored in screen-space coordinates. Change-Id: I96375784d82dfe975bc6477a159e6866e7052487
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
d27977d1a91d5a6b3cc9fa7664ac7e835e7bd895 |
|
15-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add support for BitmapShader. This change also fixes an issue with the clip and layers. Change-Id: I5fd9832098d8cf7ae8eb781ff9bffe7defaea279
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
dbd77cd444f89d94ec5333223c1bc17dbe0c90cd |
|
09-Jul-2010 |
Romain Guy <romainguy@google.com> |
Remove support for density compatibility in the hardware renderer. Change-Id: I535e919986e5ccfb344ede8516ccd84c02642823
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
deba785f122a47915756ffd991f5540d952cf937 |
|
08-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add support to draw 9patches in OpenGL. This change only adds the necessary API and stubs. The implementation will be added in another change. Change-Id: Ie50b8aff5868e78796cee331df15bdbf990d2ea1
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
f86ef57f8bcd8ba43ce222ec6a8b4f67d3600640 |
|
01-Jul-2010 |
Romain Guy <romainguy@google.com> |
Don't use full screen FBOs, this dramatically increase performance. The next step will be to add an FBO cache to avoid churning memory on every frame we draw. This change also adds support for drawBitmap(Bitmap, Matrix, Paint). Change-Id: I7825cdcf0cad9bffe6219e05d8328a53d4a6e583
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
8ba548f81d1ab5f1750cbf86098c4a14e0b8bead |
|
01-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add implementation for drawBitmap(Bitmap, Rect, Rect, Paint) Change-Id: I10904d2325a5431d15801aebcec1048715678e8c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
ce0537b80087a6225273040a987414b1dd081aa0 |
|
30-Jun-2010 |
Romain Guy <romainguy@google.com> |
Add hooks for drawBitmap(). Change-Id: I58e962c3a8b2bc75c2605fe369ad3002579d86e0 Add texture cache. Change-Id: I1c0e5581d228869e114438258a1014e33e024ad7
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
bd6b79b40247aea7bfe13d0831c6c0472df6c636 |
|
26-Jun-2010 |
Romain Guy <romainguy@android.com> |
Add implementations for saveLayerAlpha() and textured rects. Even though there's an implementation for textured rects, drawBitmap() is not hooked up yet as it will require a good texture cache. This method is implemented using FBOs. There's currently an issue either in the driver or in the Canvas renderer that forces the FBO to be fullscreen, which is extremely expensive and yields terrible performance. Change-Id: I148419195e12d45653c60186938aa78c23a68e2c
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
7ae7ac48aa2b53453c9805075171ecd5bcafd7de |
|
25-Jun-2010 |
Romain Guy <romainguy@android.com> |
Convert tabs to spaces. Change-Id: I5d3ae48af79b19b6d293deff0521e4bb57d5114b
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
c7d53494f1fbd9f9d74af89053ff9fdb1ccbac6c |
|
25-Jun-2010 |
Romain Guy <romainguy@android.com> |
Implement quickReject() and drawRect(). The OpenGL ES 2.0 renderer can now draw colored rectangles. At least there's something on screen now. Change-Id: I80a13ccc1dd56784edf74f2670a364f30700234a
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
9d5316e3f56d138504565ff311145ac01621dff4 |
|
25-Jun-2010 |
Romain Guy <romainguy@google.com> |
Add colored rectangles implementation in OpenGLRenderer. Drawing two rectangles one after the other discards the second one because of Z buffering issues. This will be fixed in another changelist. Change-Id: Ida1b3cde8a78e60cacc07e477abc44def527ff67
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
f6a11b8a9e25ff9861bbba19251bea84d8a5daf2 |
|
24-Jun-2010 |
Romain Guy <romainguy@google.com> |
Add support for transformations. This change adds partial support for the following transforms: - scale() - translate() - rotate() - setMatrix() - getMatrix() The transform is stored in a snapshot and saved/restored as needed. The transform is currently not applied to the clip rect and is not mapped to the vertex shader. Change-Id: Id48993453311200804149917d0c126a4d0471226
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
bb9524b6bdddc7ac77d8628daa8b366b8a7be4a4 |
|
23-Jun-2010 |
Romain Guy <romainguy@google.com> |
Add implementations for clipRect(), save() and restore(). The current implementation of clipRect() does not apply local transformations before setting the new clip. Change-Id: I5997871bb638dfcd1a8ef96354846af52427e445
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
85bf02fc16784d935fb9eebfa9cb20fe46ff7951 |
|
22-Jun-2010 |
Romain Guy <romainguy@google.com> |
Fix the simulator build. Change-Id: Ie404f7c2c308f0657f273af19a56e8c039b61898
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|
e4d011201cea40d46cb2b2eef401db8fddc5c9c6 |
|
17-Jun-2010 |
Romain Guy <romainguy@google.com> |
Add libhwui, to hardware accelerate the Canvas API using OpenGL ES 2.0. This is the initial checkin to setup the library and turn on OEGL ES 2.0 in ViewRoot, not a functional renderer. Change-Id: I6655c54166e2967da2e21e7d6dcfba78bf113b44
/frameworks/base/core/jni/android_view_GLES20Canvas.cpp
|