e6a15ee3d0c78eb3f2551d73a7d238c3d8d2f075 |
|
08-Jul-2015 |
Chris Craik <ccraik@google.com> |
Remove all usage of fmin and fmax bug:22208220 Removes needless call, and upconversion to doubles in multiple places. Change-Id: I1b949fa5f206446ac34de800154c0147d6bd8034
/frameworks/base/libs/hwui/FontRenderer.cpp
|
53e51e4aa933f9603587e1780f446c18816bf9be |
|
01-Jun-2015 |
Chris Craik <ccraik@google.com> |
Handle shader matrix correctly when ignoring canvas transform bug:20063841 Restores old SkShader matrix behavior from before the Glop refactor. Many drawing operations draw without sending the canvas transform to the GL shader. In such cases, we need to adapt the matrix sent to the SkShader logic to invert the canvas transform that's built into the mesh. Change-Id: I42b6f59df36ce46436322b95bf9ad2140795ee58
/frameworks/base/libs/hwui/FontRenderer.cpp
|
cdd3021936c90c7f561c569a32b65f6d32964aaa |
|
10-Apr-2015 |
John Reck <jreck@google.com> |
am 18ae2a02: am 32eafe9b: am a08f6a66: Merge "Fix GL_INVALID_OPERATION in font renderer when font cache is limited." * commit '18ae2a020d3c720f8b6125b9f4567e953f04c7b0': Fix GL_INVALID_OPERATION in font renderer when font cache is limited.
|
a08f6a66e91c7bacd50e64c039aaaa6b9fe2625c |
|
10-Apr-2015 |
John Reck <jreck@google.com> |
Merge "Fix GL_INVALID_OPERATION in font renderer when font cache is limited."
|
828407356dd5c34a3e441604aaf895cbec7c7e66 |
|
03-Apr-2015 |
Chris Craik <ccraik@google.com> |
Delete pre-glop path bug:19014311 Change-Id: I06376b6f625455892d8eafe2727b78025a64c4bf
/frameworks/base/libs/hwui/FontRenderer.cpp
|
c6128bae4312aca7902589bda793a7ff89810401 |
|
19-Mar-2015 |
Chris Craik <ccraik@google.com> |
Fix clang build Change-Id: I5336ac347123671a18401121c5f001c8f7caf54d
/frameworks/base/libs/hwui/FontRenderer.cpp
|
e2bb380bc26749782c873e5488cfdf4e42b27346 |
|
13-Mar-2015 |
Chris Craik <ccraik@google.com> |
Use glops for text rendering Change-Id: I5e155c8baf3149f0ff231ec3c89dbff6bb8eae92
/frameworks/base/libs/hwui/FontRenderer.cpp
|
083e733e8223a7d416d6c139f318e61864b28ad6 |
|
28-Feb-2015 |
Chris Craik <ccraik@google.com> |
Cleanup of FontRenderer Remove invalid and over complicated buffer unbinding optimization, and simplify constructor. Change-Id: I3dd90528de4f377e972bbd7967e7e232875387e4
/frameworks/base/libs/hwui/FontRenderer.cpp
|
6c15ffa196fc9b7724c189d833c3435d8db12266 |
|
02-Feb-2015 |
Chris Craik <ccraik@google.com> |
Refactoring of Program ownership/lifecycle, and WIP Glop rendering path Change-Id: I2549032790bddbc048b0bccc224ed8f386b4517c
/frameworks/base/libs/hwui/FontRenderer.cpp
|
44eb2c00861098dd3e2950d923646814b4cc57c2 |
|
29-Jan-2015 |
Chris Craik <ccraik@google.com> |
Refactor blending and texture gl state Change-Id: Ia6b3c8b2afd3dfcee7f3ce401d846b789612054a
/frameworks/base/libs/hwui/FontRenderer.cpp
|
96a5c4c7bab6718524de7253da8309143ab48bef |
|
28-Jan-2015 |
Chris Craik <ccraik@google.com> |
Move more GL state management to RenderState and its directory Change-Id: Ic68584e1c08dc64be2ad43450cb6caa1de834fdc
/frameworks/base/libs/hwui/FontRenderer.cpp
|
d41c4d8c732095ae99c955b6b82f7306633004b1 |
|
06-Jan-2015 |
Chris Craik <ccraik@google.com> |
Add overrides and switch to nullptr keyword for all files Adds remaining missing overrides and nullptr usages, missed due to an extreme failure in tool usage. Change-Id: I56abd72975a3999ad13330003c348db40f59aebf
/frameworks/base/libs/hwui/FontRenderer.cpp
|
51d6a3db97bdd5315f1a17a4b447d10a92217b98 |
|
23-Dec-2014 |
Chris Craik <ccraik@google.com> |
Cleanup various clang warnings, use unique_ptrs in several places Change-Id: I347904b25e51fcc7de14b1e72f1acd0f6ba26f3f
/frameworks/base/libs/hwui/FontRenderer.cpp
|
64bb413a664001c95c8439cf097dc3033f4ed733 |
|
22-Nov-2014 |
Andreas Gampe <agampe@google.com> |
Revert "resolved conflicts for merge of 220c3f4f to master" Reverted as hwui doesn't agree. This reverts commit 8a902d9f24e83c87b054adb5836b4a5b8a257be9. Change-Id: I109e7b02bee2921e2155ded6df36f52e6f574b5a
/frameworks/base/libs/hwui/FontRenderer.cpp
|
8b59a528b54279ce640b2d23a00acae1d0f477c5 |
|
22-Nov-2014 |
John Reck <jreck@android.com> |
Revert "Frameworks/base: Unused parameters in hwui" This reverts commit 42ddc18d108f789705ad4eb697ce9599ad322507. Change-Id: I3574a936a39a96314db6437d0a1eb58d260d893d
/frameworks/base/libs/hwui/FontRenderer.cpp
|
42ddc18d108f789705ad4eb697ce9599ad322507 |
|
21-Nov-2014 |
Andreas Gampe <agampe@google.com> |
Frameworks/base: Unused parameters in hwui Remove Clang cutout for unused parameters. Fix warnings. Remove Clang cutout for deprecated Skia function usage. Has been fixed in the L push. Change-Id: I7ea073ff67127cc1e14e798b655e2c50615fe8e7
/frameworks/base/libs/hwui/FontRenderer.cpp
|
1e19674107e1aa2224c2b8c7d12bfa057efe80ea |
|
11-Nov-2014 |
Andreas Gampe <agampe@google.com> |
Frameworks/base: Wall Werror in libs/hwui Turn on -Wall -Werror in libs/hwui. Fix errors. Change-Id: I74962d08c889712dacbd0d86d6760fc10802b6bd
/frameworks/base/libs/hwui/FontRenderer.cpp
|
1f61b1911e03ef3fc51c3db64798071f3a7477ec |
|
29-Aug-2014 |
chaochen <c.chen@sta.samsung.com> |
Fix GL_INVALID_OPERATION in font renderer when font cache is limited. b/17332126 This patch is to fix a false logic in FontRenderer when flashAllAndInValidate() happens. The flashAllAndInvalidate will trigger an issueDrawCommand which will set mDrawn to true even though there is no texture drawn. So that the step of unbinding buffer in GL is skipped. And when the second time issueDrawCommand get called, the glVertexAttribPointer will be trigger with GL_ARRAY_BUFFER wrongly bound and then finally lead to a GL_INVALID_OPERATION when glDrawElements() in FontRenderer:issueDrawCommand get called the second time. Change-Id: I1a996354a84db911ace0e7b39ca77cd0dd3d1555 Signed-off-by: Raj Mamadgi <r.mamadgi@samsung.com>
/frameworks/base/libs/hwui/FontRenderer.cpp
|
59744b79ec302000802cd56d30a1bf70f0183c80 |
|
02-Jul-2014 |
Chris Craik <ccraik@google.com> |
Add hack for custom re-rasterization buckets bug:14083128 Moves all of the font transform management into OpenGLRenderer::findBestFontTransform(), and now simply passes down final rasterization transforms into the FontRenderer. Change-Id: Ie02752e6af863347b142367c7d628db5f9fc2998
/frameworks/base/libs/hwui/FontRenderer.cpp
|
c33fb2b5c014f37ce36dbc12eff1e969562f7d50 |
|
23-May-2014 |
Derek Sollenberger <djsollen@google.com> |
Merge "Pass the radius as a float deeper into HWUI allowing RS to generate more accurate blurs."
|
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/libs/hwui/FontRenderer.cpp
|
e392c81f6b8f9ace0c0a48c9d4df117fda31fd13 |
|
21-May-2014 |
Derek Sollenberger <djsollen@google.com> |
Pass the radius as a float deeper into HWUI allowing RS to generate more accurate blurs. Also, when converting radius to an integer value snap to the appropriate integer boundaries. bug: 10650594 Change-Id: Icca4bc17d88162bbcbc6035d4f81bd1d98a4de2d
/frameworks/base/libs/hwui/FontRenderer.cpp
|
81997fef183074728b8981fd8e858b82ec70ed27 |
|
05-May-2014 |
Chris Craik <ccraik@google.com> |
am 3cb74d21: am 5d8343b8: am a85db5ab: Merge "libhwui: Handle the blurImage() implement once RS::init fail" * commit '3cb74d21b2ac2427e805f72a113e8d7a2cc460f3': libhwui: Handle the blurImage() implement once RS::init fail
|
ea42e015277687cef168f960252b9d7596ff1160 |
|
14-Nov-2013 |
Lu, Shenghua <shenghua.lu@intel.com> |
libhwui: Handle the blurImage() implement once RS::init fail Once the RS::init failed, go through the original single thread path, this will avoid blocking the main thread(ANR), but we also should have some implement in RenderScript component. Change-Id: I3a21395ffd5bc144c15254893f425b1dd2643ba4 Signed-off-by: Shenghua Lu <shenghua.lu@intel.com> Signed-off-by: Shuo Gao <shuo.gao@intel.com>
/frameworks/base/libs/hwui/FontRenderer.cpp
|
63d41abb40b3ce40d8b9bccb1cf186e8158a3687 |
|
14-Feb-2014 |
ztenghui <ztenghui@google.com> |
Use pre-computed index to draw the shadow. Also draw the umbra part as triangle fans instead of zig zag fashion. b/12840179 Change-Id: Iaa5d15e77351acdd71f076bd8f9bb2d4d2b92faf
/frameworks/base/libs/hwui/FontRenderer.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/libs/hwui/FontRenderer.cpp
|
d218a92c0afb8c0d98135b20b52ac87236e1c935 |
|
03-Jan-2014 |
Chris Craik <ccraik@google.com> |
Use const where possible for drawing parameters They should never be modified by a Renderer, only read and copied. Change-Id: I9d8d55dca19115ee9dfeb2bb3f092ba2fb327cd4
/frameworks/base/libs/hwui/FontRenderer.cpp
|
804ff38bff2fbb0ee258b13b4bb66eb33d565724 |
|
13-Dec-2013 |
Tim Murray <timmurray@google.com> |
Handle user-defined cache path for RS. Change-Id: I92e3346dca331ae6a9dfbe4f95292bc604dfd196
/frameworks/base/libs/hwui/FontRenderer.cpp
|
abe55e92241fd9a19885f7b11db8d3043ab60c61 |
|
13-Dec-2013 |
Tim Murray <timmurray@google.com> |
Handle user-defined cache path for RS. Change-Id: I92e3346dca331ae6a9dfbe4f95292bc604dfd196
/frameworks/base/libs/hwui/FontRenderer.cpp
|
4063a0e03ba2e354cc6d19c0ffc073fd5b8aa2ca |
|
16-Nov-2013 |
Chris Craik <ccraik@google.com> |
Clean up modelView matrix logic bug:11359533 Also changes shader matrix to correctly account for modelView and currentTransform() Change-Id: I6ce18857dc6d08ea08ca7535385c2ad351ec3caa
/frameworks/base/libs/hwui/FontRenderer.cpp
|
9e233b54b6a421710a43b6dc3efeb01092b25edf |
|
20-Sep-2013 |
Victoria Lease <violets@google.com> |
am ab99b39d: am ddc0a63d: Merge "fix emoji clipping in hw draw path" into klp-dev * commit 'ab99b39d7d152de35ea02a364190ff325da4015b': fix emoji clipping in hw draw path
|
16c84069a4cc0c0d3c35e798dc5e4b0130d4a26f |
|
20-Sep-2013 |
Victoria Lease <violets@google.com> |
fix emoji clipping in hw draw path I guess we don't want to overwrite the last line in every RGBA glyph with our one-line texture atlas spacer? Bug: 10841207 Change-Id: Ief85ca58650c731e9d21dbf90942b7b44670abcc
/frameworks/base/libs/hwui/FontRenderer.cpp
|
efb6beb4388e51a2e29ec605c500801f7ff150e6 |
|
10-Sep-2013 |
Tim Murray <timmurray@google.com> |
am 19c727bb: am 895a4375: Merge "Fix FontRenderer bug." into klp-dev * commit '19c727bbc6371924bfd2f85e804b5b6b093a8413': Fix FontRenderer bug.
|
7a454ba5fee0bbb9f2e1292f8eede655516c0f2c |
|
10-Sep-2013 |
Tim Murray <timmurray@google.com> |
Fix FontRenderer bug. bug 10691313 Change-Id: Icd5341a3c2066e337911f040ddc935c48c8d7cd1
/frameworks/base/libs/hwui/FontRenderer.cpp
|
86ebf2876dce04c845ae61846f3aa966d13eab8c |
|
10-Sep-2013 |
Tim Murray <timmurray@google.com> |
am 9163b1d9: am 23ae1461: Merge "Add flags word to initialization." into klp-dev * commit '9163b1d9ceeca3e956218dda1ca19a748dc48d8d': Add flags word to initialization.
|
9578e642403c0fa4fdcb32828f27c2417cabe88d |
|
10-Sep-2013 |
Tim Murray <timmurray@google.com> |
Add flags word to initialization. bug 10427951 Change-Id: I1356b9b96315ead44aa3898de5604d75f9bb8be5
/frameworks/base/libs/hwui/FontRenderer.cpp
|
ede1deaa88b546188808a8c6ef7dafb087594753 |
|
20-Aug-2013 |
Tim Murray <timmurray@google.com> |
am 816f3058: am cf8e6778: Merge "Handle updates to C++ API." into klp-dev * commit '816f3058bdd7b888965022888e4a789ea967f444': Handle updates to C++ API.
|
d8c8aaa82ef90f30df647ca42453e953ee52af0f |
|
19-Aug-2013 |
Tim Murray <timmurray@google.com> |
Handle updates to C++ API. Change-Id: I8ab17cbae3a9a4cc3c3202b8277d49f27bdf1fec
/frameworks/base/libs/hwui/FontRenderer.cpp
|
3380cfdc77100e87aa8390386ccf390834dea171 |
|
16-Aug-2013 |
Romain Guy <romainguy@google.com> |
Replace float arrays with readable names Change-Id: I32a8be560b60a4ac5cbee2fec4574b2c5df9f825
/frameworks/base/libs/hwui/FontRenderer.cpp
|
723b2feb929b96b1dde40a865c49ea18bc42f055 |
|
12-Aug-2013 |
Victoria Lease <violets@google.com> |
fix kBW_Format glyphs Oops! kBW_Format was omitted from a couple of switch statements, resulting in glyphs in that format being invisible. Bug: 10206452 Change-Id: Ib2aa52250aeeecc0de1b1b78e3d0f568f368c73e
/frameworks/base/libs/hwui/FontRenderer.cpp
|
250b1cfc831fd2a271c09cab547efcc5e3d5f828 |
|
01-Aug-2013 |
Tim Murray <timmurray@google.com> |
Handle updates to RS C++ API. Change-Id: I73127fc7369643b94d4a49f31a516b50c74b54ac
/frameworks/base/libs/hwui/FontRenderer.cpp
|
1e546815bbb736c50679a8aefc25f48561026fc5 |
|
25-Jun-2013 |
Victoria Lease <violets@google.com> |
Support RGBA fonts and bitmap fonts (and RGBA bitmap fonts) Quite a few things going on in this commit: - Enable bitmap strikes by default in Paint objects. The SkPaint parameter that enables bitmap strikes was not previously included in DEFAULT_PAINT_FLAGS. This effectively disabled bitmap fonts. Oops! It's for the best, though, as additional work was needed in Skia to make bitmap fonts work anyway. - Complain if TEXTURE_BORDER_SIZE is not 1. Our glyph cache code does not currently handle any value other than 1 here, including zero. I've added a little C preprocessor check to prevent future engineers (including especially future-me) from thinking that they can change this value without updating the related code. - Add GL_RGBA support to hwui's FontRenderer and friends This also happened to involve some refactoring for convenience and cleanliness. Bug: 9577689 Change-Id: I0abd1e5a0d6623106247fb6421787e2c2f2ea19c
/frameworks/base/libs/hwui/FontRenderer.cpp
|
31e08e953fe7bdb1b1cbc247156cb6a19917a2f1 |
|
19-Jun-2013 |
Romain Guy <romainguy@google.com> |
Share Caches' index buffer with FontRenderer This reduces state changes when we draw 9patches and text together, which happens *a lot*. Also disable the NV profiling extension by default since it doesn't play nice with display lists deferrals. To enable it set debug.hwui.nv_profiling to true. Change-Id: I518b44b7d294e5def10c78911ceb9f01ae401609
/frameworks/base/libs/hwui/FontRenderer.cpp
|
8aa195d7081b889f3a7b1f426cbd8556377aae5e |
|
05-Jun-2013 |
Romain Guy <romainguy@google.com> |
Introduce Caches::bindTexture() to reduce glBindTexture calls Change-Id: Ic345422567c020c0a9035ff51dcf2ae2a1fc59f4
/frameworks/base/libs/hwui/FontRenderer.cpp
|
55709fc1c7b2741ba3cf7f160d7d8644c112bb99 |
|
15-Apr-2013 |
Chris Craik <ccraik@google.com> |
am 55b883b0: am 30c990c3: Merge "Draw Operation merging" into jb-mr2-dev * commit '55b883b0a960b37aa453253f3ccb614dd95c221c': Draw Operation merging
|
527a3aace1dd72432c2e0472a570e030ad04bf16 |
|
04-Mar-2013 |
Chris Craik <ccraik@google.com> |
Draw Operation merging Merge simple bitmap draw operations and text operations to avoid issuing individual gl draws for each operation. Merging other ops to be done eventually. The methods are different - the bitmap merging generates a single mesh for reused, unclipped images (esp. repeated images in a listview) The text approach queries just defers the normal font rendering until the last drawText in the sequence that can share the same shader. Patches are sorted and merged, but don't yet have a multiDraw implementation. For now, the pretending-to-merge gives better sorting behavior by keeping similar patches together. Change-Id: Ic300cdab0a53814cf7b09c58bf54b1bf0f58ccd6
/frameworks/base/libs/hwui/FontRenderer.cpp
|
e48da96ab5837f305ef55d5ea9d3215930884f83 |
|
12-Apr-2013 |
Romain Guy <romainguy@google.com> |
resolved conflicts for merge of 886e1204 to master Change-Id: Id002d2ae799c6946672335f122ecbfa07d9c0bc1
|
cf51a4199835e9604aa4c8b3854306f8fbabbf33 |
|
09-Apr-2013 |
Romain Guy <romainguy@google.com> |
Introduce PixelBuffer API to enable PBOs PBOs (Pixel Buffer Objects) can be used on OpenGL ES 3.0 to perform asynchronous texture uploads to free up the CPU. This change does not enable the use of PBOs unless a specific property is set (Adreno drivers have issues with PBOs at the moment, Mali drivers work just fine.) This change also cleans up Font/FontRenderer a little bit and improves performance of drop shadows generations by using memcpy() instead of a manual byte-by-byte copy. On GL ES 2.0 devices, or when PBOs are disabled, a PixelBuffer instance behaves like a simple byte array. The extra APIs introduced for PBOs (map/unmap and bind/unbind) are pretty much no-ops for CPU pixel buffers and won't introduce any significant overhead. This change also fixes a bug with text drop shadows: if the drop shadow is larger than the max texture size, the renderer would leave the GL context in a bad state and generate 0x501 errors. This change simply skips drop shadows if they are too large. Change-Id: I2700aadb0c6093431dc5dee3d587d689190c4e23
/frameworks/base/libs/hwui/FontRenderer.cpp
|
f7648b7f24bc4cf8a66df4c0cfb5e8aa2b7d3ac8 |
|
05-Apr-2013 |
Romain Guy <romainguy@google.com> |
am 21af446c: am a151ef8c: Merge "First OpenGL ES 3.0 based optimization" into jb-mr2-dev * commit '21af446ce9704bdc465bf15755148c5de50ea019': First OpenGL ES 3.0 based optimization
|
0908764b2b3cf5075df4178a5f0a8547dcb7b317 |
|
04-Apr-2013 |
Romain Guy <romainguy@google.com> |
First OpenGL ES 3.0 based optimization This change uses a new OpenGL ES 3.0 feature to upload less data when the font cache needs to be update. This can result in significant performance improvements on device with large textures or with locales that use a lot of glyphs (CJK for instance.) This change also fixes various unpack alignment issues. The unpack alignment, as well as the unpack row length, is not texture specific but a global state that affect all glTex/SubImage2D calls. Some of them were missing the appropriate glPixelStorei() call. This could result in corrupted textures. Change-Id: Iefb429d4d0d0b4e0faeadf27daafee6d30a21d85
/frameworks/base/libs/hwui/FontRenderer.cpp
|
e4d9a01bfc7451afff1ed399a5801c7aa2af2831 |
|
29-Mar-2013 |
Dan Morrill <morrildl@google.com> |
Phase 1 of refactoring SystemServer. SystemServer is currently a monolithic class that brings up key system services. This change is the first phase of refactoring it to be more configurable. Specifically, it adds a set of on/off switches used to control startup of individual services. Future plans include finer grained controls and a more explicit and consistent startup sequence for these services. Change-Id: I7299f5ce7d7b74a34eb56dffb788366fbc058532
/frameworks/base/libs/hwui/FontRenderer.cpp
|
257ae3502cfad43df681b1783528d645bdabc63f |
|
21-Mar-2013 |
Romain Guy <romainguy@google.com> |
Optimize text GL setup Only performs the GL setup steps when at least one glyph is drawn. This change also skips various draw operations when the specified paint draws with alpha = 0. Change-Id: I9eda148b0503acffc552ee19196f5d52e958a1a2
/frameworks/base/libs/hwui/FontRenderer.cpp
|
661a87ec28a49458f1faf533783abf2ab9927cab |
|
19-Mar-2013 |
Romain Guy <romainguy@google.com> |
Reduce number of glDraw calls when drawing text This change moves the mesh buffer from FontRenderer to CacheTexture to help reduce the number of texture binds and glDraw calls when drawing text that spans across multiple textures. Change-Id: I7de574d88313ca3672879ca878c253ff5f131fc1
/frameworks/base/libs/hwui/FontRenderer.cpp
|
115096f50a560e64a7f95d37686d4861042c7aeb |
|
19-Mar-2013 |
Romain Guy <romainguy@google.com> |
Minimize texture binds when drawing text When several CacheTextures are used to draw text, sort the draw batches by texture ID to minimize state changes in the driver. This change also tweaks the font cache size and renames a property that was too long to be set using setprop. Change-Id: I0a36dfffe58c9e75dd7384592d3343c192d042b1
/frameworks/base/libs/hwui/FontRenderer.cpp
|
6e2004089305cf2cd958b52b234459a49a4e5c83 |
|
08-Mar-2013 |
Romain Guy <romainguy@google.com> |
Move blur code from FontRenderer to utils/Blur.cpp Change-Id: I2cebbfbcb722ed4b37e54ffbf8b53bb92ad0c964
/frameworks/base/libs/hwui/FontRenderer.cpp
|
0b58a3deab66c30a8d35072e55aac6279dd367cc |
|
05-Mar-2013 |
Romain Guy <romainguy@google.com> |
Make glyph copies a little more cache friendly Change-Id: Ie21b7079cc5d3ea67a03597c57842636e4afe143
/frameworks/base/libs/hwui/FontRenderer.cpp
|
a4adcf0239039eb8f005be252409901c41b28839 |
|
28-Feb-2013 |
Romain Guy <romainguy@google.com> |
Support 3D rotations when drawing text If a perspective transform is set on the Canvas, drawText() should not attempt to rasterize glyphs in screen space. This change uses the old behavior instead (i.e. rasterize the glyphs at the native font size and apply the transform on the resulting mesh.) This change also adds an optimization: empty glyphs (spaces) do not generate vertices anymore. This saves a lot of vertices in text heavy applications such as Gmail. Change-Id: Ib531384163f5165b5785501612a7b1474f3ff599
/frameworks/base/libs/hwui/FontRenderer.cpp
|
dd8697c095272f19ddad214834a490b00f11a477 |
|
22-Feb-2013 |
Chris Craik <ccraik@google.com> |
Avoid double blur bug:8204062 Avoids incorrectly blurring with RenderScript after a C++ blur Additionally, avoids draw/blurring if the input text has empty bounds Change-Id: Ibbaf74800fff7a6e4cda3aa24286b90e7aef589d
/frameworks/base/libs/hwui/FontRenderer.cpp
|
08d160a366932aec170a115a1edb3bb5ac4e3a4e |
|
20-Feb-2013 |
Ben Cheng <bccheng@google.com> |
am 7a60c43d: Merge "Use free for memory chunks allocated through memalign." * commit '7a60c43d874bd047ea4b93b94c9b8771ea5739cc': Use free for memory chunks allocated through memalign.
|
15641a6181cdaac2aadf07585de66483b4b7ae6b |
|
20-Feb-2013 |
Ben Cheng <bccheng@google.com> |
Use free for memory chunks allocated through memalign. BUG: 8234423 Change-Id: Ic4100a780908c94540722cc4af5f73f4940431b4
/frameworks/base/libs/hwui/FontRenderer.cpp
|
0229d0818c8f08753a0df583798bbac19f67a4c4 |
|
14-Feb-2013 |
Chris Craik <ccraik@google.com> |
am 805a6fe7: Merge "Revert "Revert "Use RenderScript for large text blurs""" # Via Android (Google) Code Review (1) and Chris Craik (1) * commit '805a6fe7b1417640ccaf7914171cb65515b6ab39': Revert "Revert "Use RenderScript for large text blurs""
|
f2d8ccc15d7272b3416f73605c1f31d1d346bd40 |
|
14-Feb-2013 |
Chris Craik <ccraik@google.com> |
Revert "Revert "Use RenderScript for large text blurs"" This reverts commit bf5703e52e3304246cbf0e73f6976f7d7312d238. Change-Id: Ic6f991277dec9e80a6fed93db91499726b30ab2a
/frameworks/base/libs/hwui/FontRenderer.cpp
|
bf5703e52e3304246cbf0e73f6976f7d7312d238 |
|
13-Feb-2013 |
Chris Craik <ccraik@google.com> |
Revert "Use RenderScript for large text blurs" This reverts commit 3f76e65d251ead65fe8ff98e3bd4c7623fbaac07 Change-Id: Ia81cd485e5ca696bb284c419dc8a1d2f3247100e
/frameworks/base/libs/hwui/FontRenderer.cpp
|
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/libs/hwui/FontRenderer.cpp
|
3f76e65d251ead65fe8ff98e3bd4c7623fbaac07 |
|
15-Nov-2012 |
Chris Craik <ccraik@google.com> |
Use RenderScript for large text blurs Still fall back to simple path for small tasks Change-Id: I492f1b3f7d6fec1738f3e45cbfb15864bd23a392
/frameworks/base/libs/hwui/FontRenderer.cpp
|
23e500d168e8d649305445f6c1d2b49d8d2c00fd |
|
06-Feb-2013 |
Derek Sollenberger <djsollen@google.com> |
Merge "Merge remote-tracking branch 'goog/master-chromium' into 'goog/master'"
|
b969a0de65730b071d846f8302e751e2637e6dbe |
|
05-Feb-2013 |
Romain Guy <romainguy@google.com> |
Add support for non-antialiased text Change-Id: I17c073955ab94abc9b409e5fcfbc675faa07c5ba
/frameworks/base/libs/hwui/FontRenderer.cpp
|
19d4f1806a953b87435a2bb6fd8e738424e94003 |
|
09-Jan-2013 |
Romain Guy <romainguy@google.com> |
resolved conflicts for merge of c88c60be to master-chromium Change-Id: I3b4b42443312068e942aa779dfdc928afa7569fd
|
e3a9b24b5e3f9b2058486814a6d27729e51ad466 |
|
08-Jan-2013 |
Romain Guy <romainguy@google.com> |
Add plumbing for better text scaling Fonts are now described by a transform matrix. This lead to switching from a vector to a hashmap. This change therefore adds new comparators and hash computations to Font. Change-Id: I2daffa7d6287c18554c606b8bfa06640d28b4530
/frameworks/base/libs/hwui/FontRenderer.cpp
|
ca79cf69d09efa0c327e9b1237d86a119aea5da7 |
|
14-Aug-2012 |
Derek Sollenberger <djsollen@google.com> |
Update framework to support r5967 of Skia. bug: 6906025 Change-Id: Iefdb830ec3aa2ab3472c1c142484a7aa21788a15
/frameworks/base/libs/hwui/FontRenderer.cpp
|
7bb3cfe1cca4016ce95d3ef059761f4bb2d668bb |
|
15-Nov-2012 |
Sangkyu Lee <geteuid@gmail.com> |
Another optimization of glyph cache uploads Previously, cache textures were updated whenever mCurrentCacheTexuture was changed. Since updating cache textures needs glTexSubImage2D call, frequent changing of mCurrentCacheTexture (which can easily happen when an app uses lots of unique glyphs even with precaching) caused many glTexSubImage2D calls and bad framerates. This patch optimized isssueDrawCommand function. Consequently, changing mCurrentCacheTexture doesn't cause glTexSubImage2D call any more and it will improve font rendering performance. Change-Id: Id19d959fa0e69eeb2a39f83a57e311d7394586b2 Signed-off-by: Sangkyu Lee <geteuid@gmail.com>
/frameworks/base/libs/hwui/FontRenderer.cpp
|
cb4d6009576cf08195dc23f341a3f4939c0878bb |
|
25-Sep-2012 |
Chris Craik <ccraik@google.com> |
Add stroke support to polygonal shape rendering bug:4419017 bug:7230005 - Adds support for stroke/strokeAndFill for shapes without joins - Fixes path-polygonization threshold calculation - Fixes rendering offset (now only used for points) - Several formatting fixes Change-Id: If72473dc881e45752e2ec212d0dcd1e3f97979ea
/frameworks/base/libs/hwui/FontRenderer.cpp
|
b92d8f7979c29c7c09932578a11b2f8d6eec1d90 |
|
21-Sep-2012 |
Chet Haase <chet@google.com> |
Optimize glyph cache texture uploads Only upload the changed area of the glyph cache, not the entire bitmap. Note that we can't do the full-on optimization here of copying a sub-rect of the bitmap because of GL ES 2 limitations, but we can at least copy the horizontal stripe containing the dirty rect, which can still be a big savings over uploading the entire bitmap. Issue #7158326 Bad framerates on MR1 (Mako, Manta, Prime) Change-Id: Iab38d53202650f757ead4658cf4287bdad2b3cb9
/frameworks/base/libs/hwui/FontRenderer.cpp
|
8087246d9964b11de8ce116bc63b156faa4197e0 |
|
05-Sep-2012 |
Romain Guy <romainguy@google.com> |
Code cleanup in FontRenderer Change-Id: Ic788721c224a77f0a76f4cd6d9817b62e390a5a7
/frameworks/base/libs/hwui/FontRenderer.cpp
|
9b1204baf4740b4d443e72157dea98571cf84e1f |
|
05-Sep-2012 |
Romain Guy <romainguy@google.com> |
Small code cleanup in FontRenderer Change-Id: I09c00debe9b0b4f45b232cae402ed19bdaeabfe4
/frameworks/base/libs/hwui/FontRenderer.cpp
|
9f5dab3fc228fa11c32b483e6101ec086895a32b |
|
04-Sep-2012 |
Romain Guy <romainguy@google.com> |
Refactor FontRenderer.cpp FontRenderer.h defined several classes and structures that now live in the font/ folder. This will make the code easier to read and maintain. Change-Id: I3dc044e9bde1d6515f8704f5c72462877d279fe2
/frameworks/base/libs/hwui/FontRenderer.cpp
|
eb32a499194119b3783b86c925172df02e5d2685 |
|
31-Aug-2012 |
Chet Haase <chet@google.com> |
Paramaterize and adjust the glyph cache sizes Add new parameters for the texture size used for the larger, fallback caches. Bump up the defaults in some situations. Issue #7045164 Adjust cache sizes for manta Change-Id: I562118ce785d7f8b6e445178878672e9709d25f2
/frameworks/base/libs/hwui/FontRenderer.cpp
|
f942cf10e04567f6b9456f6258e29c803b8bfb41 |
|
30-Aug-2012 |
Chet Haase <chet@google.com> |
Avoid thrashing the glyph cache during the precache phase It is unlikely, but possible, to draw so many glyphs in a frame (especially of the glyphs are quite large) that the cache starts flushing itself to fit the later glyphs in. This causes unnecessary thrashing, because when we actually draw the frame, we will again need to flush to fit the earlier glyphs in, and then flush again to fit the later ones in. It is better to avoid thrashing the cache at the precache phase, and wait until we actually draw the glyphs that do not fit to do any eviction of the earlier glyphs. This change simply notes when we are in the preaching phase, and avoids flushing the cache when a glyph does not fit. Issue #7081725 avoid thrashing cache during DisplayList recording Change-Id: I230410ab5b478091b1032fa99dc1752acf868bbe
/frameworks/base/libs/hwui/FontRenderer.cpp
|
5a3ec7113c99242fa0d0a328a0ec3892698203f1 |
|
18-Aug-2012 |
Chet Haase <chet@google.com> |
Fix glyph cropping bug Glyphs were being stored in the glyph cache incorrectly. The second row of glyphs in any column were being positioned exactly one pixel too high, causing the preceding glyph in that column to be cropped, resulting in the reported truncation in some glyphs. Issue #7003215 Minor UI truncation while reading the mails Change-Id: I47ce376f78a04d4e07e8b7ed1b3f0b58864c5498
/frameworks/base/libs/hwui/FontRenderer.cpp
|
378e919ccb75efe24d5a5aa75ac2c6ef255dcb48 |
|
16-Aug-2012 |
Chet Haase <chet@google.com> |
Remove CacheTextureLine structure from FontRenderer CacheTextureLine was useful before we were packing the glyph textures; it allowed simple packing of any particular texture according to how many lines there were in a texture, and how tall those lines were. Now that we are packing more efficiently (both horizontally and vertically in any given texture line), it is more efficient to have open space in every texture, removing the need for CacheTextureLine (which now gets in the way since it limits how much can be stored in each line). This change removes CacheTextureLine and just uses CacheTexture directly, allowing caching of glyphs anywhere in the open space of each texture. As before, the packing of these glyphs is determined by the CacheBlock structure, which is a linked list of open spaces in each CacheTexture. Change-Id: Id6f628170df0f676f8743ac7de76f2377fc6a012
/frameworks/base/libs/hwui/FontRenderer.cpp
|
2efd5c5886d9acf747bc92f888d731ed558aabcc |
|
15-Aug-2012 |
Chet Haase <chet@google.com> |
Glyph cache optimization Precaching at startup was not working. One-liner fix to init the caches so that precaching would kick in earlier, saving time at startup by avoiding the multiple-upload issue of caching at render time. Issue #6893691 long app launch time on manta for some apps comparing to nakasi/stingray Change-Id: Ie5c7f0536ec8ea371c7892e5e09c1db14795531c
/frameworks/base/libs/hwui/FontRenderer.cpp
|
e816baea651476aca4407200d4a5e629b9ab8dfa |
|
09-Aug-2012 |
Chet Haase <chet@google.com> |
Optimize interactions with glyph cache There are two fixes here: - precaching: instead of caching-then-drawing whenever there is a new glyph, we cache at DisplayList record time. Then when we finally draw that DisplayList, we just upload the affected texture(s) once, instead of once per change. This is a huge savings in upload time, especially when there are larger glyphs being used by the app. - packing: Previously, glyphs would line up horizontally on each cache line, leaving potentially tons of space vertically, especially when smaller glyphs got put into cache lines intended for large glyphs (which can happen when an app uses lots of unique glyphs, a common case with, for example, chinese/japanese/korean languages). The new approach packs glyphs vertically as well as horizontally to use the space more efficiently and provide space for more glyphs in these situations. Change-Id: I84338aa25db208c7bf13f3f92b4d05ed40c33527
/frameworks/base/libs/hwui/FontRenderer.cpp
|
b6039811fa0fbc23f25c47491810faeb04ce3125 |
|
08-Aug-2012 |
Jean-Baptiste Queru <jbq@google.com> |
am 05e97e81: am 0be33f2d: Merge "Add shortcut to avoid potential divide by zero in some case" * commit '05e97e81a5fa2c9cab4cdda15aa2d036243a0c0e': Add shortcut to avoid potential divide by zero in some case
|
33fa1f774c8e7289fd7c39fbc2c65b9361f2c2c4 |
|
08-Aug-2012 |
Romain Guy <romainguy@google.com> |
Draw an empty border around glyphs to avoid sampling issues Bug #6942209 The font renderer was preserving a 1 px border around each glyph to ensure bilinear filtering would work nicely. Unfortunately, this border was not set to 0 when glyphs were added in the cache to replace old evicted glyphs. Change-Id: Ib85afca7ebad5cb63f960dc0e87ae162333dbfe8
/frameworks/base/libs/hwui/FontRenderer.cpp
|
0412cfcbcdd7224f80a80180a946f0fdd28c3afc |
|
25-Jul-2012 |
Chen YANG <chen.yang@intel.com> |
Add shortcut to avoid potential divide by zero in some case Change-Id: If4b34c95402daf8ebcc28736edfb2012553aa57c
/frameworks/base/libs/hwui/FontRenderer.cpp
|
00755fed35e4a91291c42a8a47bed8b957e9f8e1 |
|
20-Jul-2012 |
Raph Levien <raph@google.com> |
Merge "Add drop shadow for drawPosText in hwui renderer."
|
416a847633680d94efb926837efdc18726d54918 |
|
20-Jul-2012 |
Raph Levien <raph@google.com> |
Add drop shadow for drawPosText in hwui renderer. This patch adds support for drop shadows (setShadowLayer) for drawPosText in the hwui renderer. In and of itself, it's not very important, but it's on the critical path for correct mark positioning, tracked as bug 5443796. The change itself is fairly straightforward - it basically just adds an extra "positions" argument to all draw and measure methods on the code path for drawing drop shadowed text, as well as to the cache key for cached shadow textures. Change-Id: Ic1cb63299ba61ccbef31779459ecb82aa4a5e672
/frameworks/base/libs/hwui/FontRenderer.cpp
|
0aa87bbfc41e8b5f52de701ac17b4e66a7a7b609 |
|
20-Jul-2012 |
Romain Guy <romainguy@google.com> |
Fix crash with new LookupGammaFontRenderer Bug #6853934 Change-Id: I15e6ca73bfe00eff1a37c4b9d2f7f709ee018eb6
/frameworks/base/libs/hwui/FontRenderer.cpp
|
b1d0a4ed21168fefcb82232c8f22cb95d60acb85 |
|
14-Jul-2012 |
Romain Guy <romainguy@google.com> |
Refactor GammaFontRenderer This change is the first step to a shader-based text antialias gamma correction. Change-Id: I9eb02d4c56cb95d05219f712290c865b46141954
/frameworks/base/libs/hwui/FontRenderer.cpp
|
16c88085255c71a1a8fc034129aa2dcc61e1ddd0 |
|
12-Jun-2012 |
Romain Guy <romainguy@google.com> |
Textured text calls could be invisible Bug #6597730 Text would sometimes not appear when rendered with textured content (BitmapShader, LinearGradientShader, etc.) This was due to a misuse of OpenGL texture unit in FontRenderer. Textured text normally uses two texture units: - texture unit 0 for the font cache - texture unit 1 for the textured content (gradient, etc.) Recent changes to the font renderer allow it to bind new textures while processing the text's geometry (this happens when caches get full or when switching font size for instance.) The bindings were done without ensuring the texture unit was the correct one (unit 0), thus replacing the content of another texture unit (unit 1). This lead to text being drawn using the font cache itself as the content texture, making the text invisible. Change-Id: I392b4c884f09223305f6cbc6253e2ef9a98944c9
/frameworks/base/libs/hwui/FontRenderer.cpp
|
99a6ddd4cd8762654a575eb4ac3d0e5431d919b8 |
|
15-May-2012 |
Romain Guy <romainguy@google.com> |
Forget the name of a texture after freeing Bug #6408362 FontRenderer allocates large font textures when more room is needed to store all the glyphs used by an application. Thse large textures are the first to be freed when memory needs to be reclaimed by the system. When freeing a texture, the renderer would however not set the texture name to an invalid name, leading future allocations to be performed on the same texture name. That name could have by then be recycled by the driver and returned by a call to glGenTexture and used to create an entirely different texture. This would cause the font renderer to point to the wrong texture, thus leading to the "corruptions." Change-Id: I8a1e80e5b79e8f21d1baf5320c090df4f2066cd4
/frameworks/base/libs/hwui/FontRenderer.cpp
|
9d9758ae30a59dcf594e0d26ba5d4ee153a3e44a |
|
15-May-2012 |
Romain Guy <romainguy@google.com> |
Fix two memory leaks Bug #6408362 Change-Id: I58543938e7b64d83504e11e97b0dd21ef8ebf3b6
/frameworks/base/libs/hwui/FontRenderer.cpp
|
ae91c4cbc79ea910753be65e2f1d7899abcb4da2 |
|
14-May-2012 |
Romain Guy <romainguy@google.com> |
Properly pre-cache latin glyphs Bug #6408362 Change-Id: Ie11644c5a9e2d87d3b851b7e619e5f04b60a7e02
/frameworks/base/libs/hwui/FontRenderer.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/libs/hwui/FontRenderer.cpp
|
a9dd820184ee4d083bd9b2af735dcf50b78fc6cd |
|
26-Mar-2012 |
Romain Guy <romainguy@google.com> |
Prevent random crashes on SGX architecture Bug #6219894 Change-Id: If77f29da03e557a50e53bae505e1c638a1dbe2cc
/frameworks/base/libs/hwui/FontRenderer.cpp
|
b0317984d34da99b614597ad0a8b39268eacb783 |
|
21-Mar-2012 |
Romain Guy <romainguy@google.com> |
Plug memory leak. Bug #6196903 Whenever a memory flush happens, the GL renderer discards some or all of its font caches. Each font cache holds an array of vertex indices that was initially designed to have the same life cycle as the process. This changed when memory flushes were introduced but this array was never taken care of in the destructor. Change-Id: Ief124f609ea55b671c0a9b43637d9e013629ebaa
/frameworks/base/libs/hwui/FontRenderer.cpp
|
dd7c8e4c68205d39109d4317dd0c9b05ed43e8e5 |
|
01-Mar-2012 |
Romain Guy <romainguy@google.com> |
Small tweak to Canvas.drawPath() GL implementation Change-Id: I1d668a912996e1267bcf2127058888e489a2d9b3
/frameworks/base/libs/hwui/FontRenderer.cpp
|
9777173eb6c9eb97c7921c8288ebc65e3ab3ce6f |
|
29-Feb-2012 |
Romain Guy <romainguy@google.com> |
Full implementation of Canvas.drawPath() Change-Id: I23223b89770a0cd2b4762365bead9bfddb094290
/frameworks/base/libs/hwui/FontRenderer.cpp
|
b629490ffb21752750cc081827ca4c1eae1eb015 |
|
03-Feb-2012 |
Romain Guy <romainguy@google.com> |
Disable debugging code in the font renderer Change-Id: I92463057ff4ae712bb25789db1667ff1ecfd389f
/frameworks/base/libs/hwui/FontRenderer.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/libs/hwui/FontRenderer.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/libs/hwui/FontRenderer.cpp
|
9a8245629d69d81e0b62e52970feaf9c02580e75 |
|
17-Dec-2011 |
Chet Haase <chet@google.com> |
De-allocate caches for large glyphs when trimming memory Currently, font renderers eliminate some texture caches when memory is trimmed. This change makes it go further by eliminating the large-glyph caches for all font renderers. These caches are only allocated as needed, but continue to consume large amounts of memory (CPU and GPU) after that allocation. De-allocating this memory on a trim operation should prevent background apps from holding onto this memory in the possible case that they have allocated it by drawing large glyphs. Change-Id: Id7a3ab49b244e036b442d87252fb40aeca8fdb26
/frameworks/base/libs/hwui/FontRenderer.cpp
|
2a47c14e2a6f152496b43104bc785c488583fd59 |
|
15-Dec-2011 |
Chet Haase <chet@google.com> |
Fix issues from recent glyph caching change There were 2 issues remaining after a recent change to support glyph caching from multiple textures: - memory in the GPU for all textures was being allocated automatically. This is now lazy, being allocated only when those textures are first needed. - filtering (applied when a rendered object is transformed) was ignoring the new multiple-texture structure. Filtering should be applied correctly whenever we change textures. Change-Id: I5c8eb8d46c73cd01782a353fc79b11cacc2146ab
/frameworks/base/libs/hwui/FontRenderer.cpp
|
2d4fd364843d3efc6e6ee59ccc5beb513a86d789 |
|
14-Dec-2011 |
Romain Guy <romainguy@google.com> |
Reduce the number of active texture changes Change-Id: I94046bdfe20740c26c8183822e3002d692fde7c4
/frameworks/base/libs/hwui/FontRenderer.cpp
|
e829bc0f0364e942bed01536d115a5c08d25d776 |
|
13-Dec-2011 |
Chet Haase <chet@google.com> |
Merge "Make glyph cache more flexible"
|
7de0cb12d0e5fd64811da0b5d1ae0c0d58b86f86 |
|
06-Dec-2011 |
Chet Haase <chet@google.com> |
Make glyph cache more flexible Some GPU architectures could not handle the previous implementation of our glyph cache. Frequent uploads would cause memory problems in the GPU and eventually a crash due to these memory issues. The solution is to move to a system of several, smaller caches instead of one monolythic cache for all glyphs. Change-Id: I0fc7a323360940d16d5a33eeb33abfab194c5920
/frameworks/base/libs/hwui/FontRenderer.cpp
|
15bc6437f8b4cf10dba55c7638d349e7b9563f4f |
|
13-Dec-2011 |
Romain Guy <romainguy@google.com> |
Reduce the number of GL commands generated by the UI This optimization along with the previous one lets us render an application like Gmail using only 30% of the number of GL commands previously required Change-Id: Ifee63edaf495e04490b5abd5433bb9a07bc327a8
/frameworks/base/libs/hwui/FontRenderer.cpp
|
f3a910b423db7ad79cf61518bdd9278c048ad0d8 |
|
13-Dec-2011 |
Romain Guy <romainguy@google.com> |
Optimize state changes Change-Id: Iae59bc8dfd6427d0967472462cc1994987092827
/frameworks/base/libs/hwui/FontRenderer.cpp
|
d71dd367af604571c7d00ca473184a1b9240eca2 |
|
13-Dec-2011 |
Romain Guy <romainguy@google.com> |
Minimize the amount of data uploaded to draw text Change-Id: I6313ac039291c9cd93aadafe3566ad9d60cab42d
/frameworks/base/libs/hwui/FontRenderer.cpp
|
ff98fa5a847f66e591287154c634ef7895a9549c |
|
28-Nov-2011 |
Romain Guy <romainguy@google.com> |
Fix crash in existing applications Bug #5659476 The FontRenderer was not cleaning up its temporary state, leading to crashes when invoking renderDropShadow. Change-Id: I43b24820dd5625af8c080bbe11b64de2f74164b2
/frameworks/base/libs/hwui/FontRenderer.cpp
|
5a6d3a4c0311318e6f1d4ee06aa47606e055a81b |
|
08-Oct-2011 |
Romain Guy <romainguy@google.com> |
Stupid fixed point math. Bug #5423215 Change-Id: I39379e1f8fb4d59de4ede6e4fe7cf7a2c7cc625a
/frameworks/base/libs/hwui/FontRenderer.cpp
|
799833a8b451a04be201d25ae72213e8562f7774 |
|
30-Aug-2011 |
Romain Guy <romainguy@google.com> |
Text would disappear when the font size is 75px. Bug #5230196 Yes, 75px. Any other font size would work. Don't ask. Change-Id: I96c7db9926a97f65128d60c8238c3640ee2444ba
/frameworks/base/libs/hwui/FontRenderer.cpp
|
bd496bc3d481f9cfc39007d22372d3a1a8809f96 |
|
03-Aug-2011 |
Romain Guy <romainguy@google.com> |
Paint style and stroke width affect text rendering. Bug #5112207 Change-Id: Ic34037ace21a5058ba23dd15e51aae58c998454d
/frameworks/base/libs/hwui/FontRenderer.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/libs/hwui/FontRenderer.cpp
|
44984ea0cb3702384d023b5f211deda3c4b0b656 |
|
19-May-2011 |
Chet Haase <chet@google.com> |
Enable large font rendering with GPU acceleration Change-Id: I7b022100fb0762613f9cf7753dbb0217e1e75f8d
/frameworks/base/libs/hwui/FontRenderer.cpp
|
8668f8a633d9299091556c3b2e5ae07be8dce360 |
|
02-Mar-2011 |
Chet Haase <chet@google.com> |
Fix problem with glyph cache and textScaleX property Glyphs drawn with paints that had different textScaleX values were not being recognized as different, so the glyph cache was being used regardless of different scaleX values. This change adds the scaleX attribute to the native Font object to allow the cache to distinguish between this difference and cache accordingly. Change-Id: I5d8fc26d47460b27dc8e373a473d46b2f1b8dc30
/frameworks/base/libs/hwui/FontRenderer.cpp
|
894df17eee708688c8a6e67941add2017239c790 |
|
18-Feb-2011 |
Alex Sakhartchouk <alexst@google.com> |
Fixing font renderer attribute slot locations. Change-Id: I6377bb641df7d8372d873c00790189f9a190afd6
/frameworks/base/libs/hwui/FontRenderer.cpp
|
c9855a53edfac818dc68714557185977556f849d |
|
22-Jan-2011 |
Romain Guy <romainguy@google.com> |
Log only 1 line per process when using OpenGLRenderer. Change-Id: Idbdd6b84f31301e58ed53e0d50fd61fece192dfa
/frameworks/base/libs/hwui/FontRenderer.cpp
|
514fb18827186591d66973c2362c859b64b63556 |
|
19-Jan-2011 |
Romain Guy <romainguy@google.com> |
Don't attempt to create empty layers. Bug #3369888 Change-Id: Ic17bbd1c04bbf760cb17d0eb9e6767fd6479948c
/frameworks/base/libs/hwui/FontRenderer.cpp
|
2577db1ec135a1470a2c42139772ec97a6c30e78 |
|
18-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add support for Paint::setTextSkewX in OpenGLRenderer. Bug #3360888 Change-Id: I42e81a1f10bf7b9ae1c63ca8add1878fd59a1e8a
/frameworks/base/libs/hwui/FontRenderer.cpp
|
325a0f969c1d803d7e39a9caee8cc3d400350659 |
|
06-Jan-2011 |
Romain Guy <romainguy@google.com> |
The font cache should respect the fake bold flag. Change-Id: Ie4edc9ba46610edde831b55e769944e9a19bdcb5
/frameworks/base/libs/hwui/FontRenderer.cpp
|
5b3b35296e8b2c8d3f07d32bb645d5414db41a1d |
|
28-Oct-2010 |
Romain Guy <romainguy@google.com> |
Optimize FBO drawing with regions. This optimization is currently disabled until Launcher is modified to take advantage of it. The optimization can be enabled by turning on RENDER_LAYERS_AS_REGIONS in the OpenGLRenderer.h file. Change-Id: I2fdf59d0f4dc690a3d7f712173ab8db3848b27b1
/frameworks/base/libs/hwui/FontRenderer.cpp
|
054dc1840941665e32036f9523df51720ad069c8 |
|
16-Oct-2010 |
Romain Guy <romainguy@google.com> |
Don't draw entirely transparent 9patch meshes. Change-Id: If3e62e18b8e0dbde8a22f8ede2889b86500a4dc2
/frameworks/base/libs/hwui/FontRenderer.cpp
|
5d794412e3e429e47404395badcd11b0b8639e8b |
|
14-Oct-2010 |
Romain Guy <romainguy@google.com> |
Small potential performance improvement for fonts rendering. Change-Id: If59c1e7803b84340fbc8b31ce6171ef0e5dc6189
/frameworks/base/libs/hwui/FontRenderer.cpp
|
e8cb9c14309b0f01c0159efdf9a7198f44a62642 |
|
04-Oct-2010 |
Romain Guy <romainguy@google.com> |
Apply bilinear filtering on text only when necessary. Change-Id: Ic903f4b5d30e9c92528c6291941896efe4729ee3
/frameworks/base/libs/hwui/FontRenderer.cpp
|
1de1083e98cde9bdd5e8539dbc54fdea6531906e |
|
03-Oct-2010 |
Romain Guy <romainguy@android.com> |
Initialize font texture cache. Now that text is renderer using bilinear filtering, each character is surrounded by a 1 pixel border. This border needs to be initialized to a transparent value. Change-Id: I26d3195db4bd576ac1f2da4c8f8e4dd18768bf12
/frameworks/base/libs/hwui/FontRenderer.cpp
|
7975fb6d12cb1eb96b75e3a563627cd4c4081bd6 |
|
02-Oct-2010 |
Romain Guy <romainguy@google.com> |
Apply bilinear filtering to text. Change-Id: I2c81ad657ee2a11a2139e0b11ae3749db54c0749
/frameworks/base/libs/hwui/FontRenderer.cpp
|
e2d345ea67e2960b37bfdc0fc8626d1bfa747404 |
|
25-Sep-2010 |
Romain Guy <romainguy@google.com> |
Add debug mode to measure performance. Change-Id: I9d4c84034dc200b99c8266165942a7cdbcb5c0c5
/frameworks/base/libs/hwui/FontRenderer.cpp
|
58ef7fbf16864164efe98bf613b15c64deb1afc0 |
|
13-Sep-2010 |
Romain Guy <romainguy@google.com> |
Forces windows to draw the first time they show. Change-Id: I239572ee49bc60f30d957f548104e75844859a93
/frameworks/base/libs/hwui/FontRenderer.cpp
|
2bffd268f135df8308c9e67af110525a5c463424 |
|
13-Sep-2010 |
Romain Guy <romainguy@google.com> |
Fix text rendering issue with text scaling. Change-Id: I1f3ae40025697e8f8ca0616ee6550fe215cadcc8
/frameworks/base/libs/hwui/FontRenderer.cpp
|
b45c0c9774bd19a9dbe77d149abae4e124b08bf6 |
|
27-Aug-2010 |
Romain Guy <romainguy@google.com> |
Apply gamma correction to font rendering. Change-Id: I1b05f40e356221b2a5eb9400e67d77ecd98ed6c4
/frameworks/base/libs/hwui/FontRenderer.cpp
|
1e45aae5de003657e5d18f74d34998f5de5db5b7 |
|
14-Aug-2010 |
Romain Guy <romainguy@google.com> |
Add drop shadows. Change-Id: Ic6a72409d4785968d1fbdff229f17ee5c00b240b
/frameworks/base/libs/hwui/FontRenderer.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/libs/hwui/FontRenderer.cpp
|
9cccc2b9bdd4850a3f9679569aaec3ab98477a5d |
|
08-Aug-2010 |
Romain Guy <romainguy@android.com> |
Enforce maximum texture size. When an app tries to render a bitmap or path larger than the GPU's maximum texture size, the drawing command is ignored and a warning is logged. This change also makes texture drawing more robust by catching potential errors during texture creation. This change also fixes a crash in the FontRenderer. The destructor would sometimes try to free an uninitialized array. Change-Id: I95ae0939c52192d97b340aa02417bf6d0c962c57
/frameworks/base/libs/hwui/FontRenderer.cpp
|
f18136cb3c881a9d16c1a4f0f341732c276936bf |
|
06-Aug-2010 |
Alex Sakhartchouk <alexst@google.com> |
Added drop shadow renderer to the font class. Change-Id: Id243abfbbb58e54f6a05f592a302984b5321e608
/frameworks/base/libs/hwui/FontRenderer.cpp
|
89a524ac2d4a36739e51b01b336c0bade77e2ee0 |
|
03-Aug-2010 |
Alex Sakhartchouk <alexst@google.com> |
Adding drop shadow support Change-Id: I9b1b9568d6cebc0761d96ab678b018571f705ae1
/frameworks/base/libs/hwui/FontRenderer.cpp
|
ae5575b3421c8fbe590ab046d7d5f2b36ecfd821 |
|
30-Jul-2010 |
Romain Guy <romainguy@google.com> |
Fix gradients rendering and destructor crashes. This changes binds all textures to GL_TEXTURE0, this will have to be changed when combining shader capabilities. Change-Id: I02df4f5ba41e9b01ffa52fd7c26b41477c7ed18f
/frameworks/base/libs/hwui/FontRenderer.cpp
|
889f8d1403761d5668115ced6cbb3f767cfe966d |
|
29-Jul-2010 |
Romain Guy <romainguy@google.com> |
Moved all the rendering code to the new shader generator. The generator supports features that are not yet implement in the renderer: color matrix, lighting, porterduff color blending and composite shaders. This change also adds support for repeated/mirrored non-power of 2 bitmap shaders. Change-Id: I903a11a070c0eb9cc8850a60ef305751e5b47234
/frameworks/base/libs/hwui/FontRenderer.cpp
|
65ef909776c03417d8b597738da54ca211e37e4f |
|
26-Jul-2010 |
Alex Sakhartchouk <alexst@google.com> |
When font cache still has empty space, precache some commonly used characters to reduce studder. Change-Id: I1f66f57482c4a025672dfd1d8ecaf2b9736cd9a0
/frameworks/base/libs/hwui/FontRenderer.cpp
|
9b9902ddbb01548f4a0199087b7035e7c10b2ae7 |
|
23-Jul-2010 |
Alex Sakhartchouk <alexst@google.com> |
Updating parts of font cache as needed instead of the entire map. Change-Id: If9a37e10197255122acdb5b10a0c356edd942d67
/frameworks/base/libs/hwui/FontRenderer.cpp
|
51769a68a5cb34e9564740c6a854fcb93018789d |
|
23-Jul-2010 |
Romain Guy <romainguy@android.com> |
Cleanup, added properties for the FontRenderer. Change-Id: I909c74815d3ac394438ad8071d17fef5401dbeed
/frameworks/base/libs/hwui/FontRenderer.cpp
|
09147fbdc8206a0cac78bfe9083e7e15b3c5689c |
|
22-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add support for text culling. Change-Id: Ibf0adacdc5c64d40a8000b21d7cb0797d63efe29
/frameworks/base/libs/hwui/FontRenderer.cpp
|
694b519ac647fe998fd396fe0784cc8e179aadc4 |
|
22-Jul-2010 |
Romain Guy <romainguy@google.com> |
Add text rendering. Change-Id: Ibe5a9fa844d531b31b55e43de403a98d49f659b9
/frameworks/base/libs/hwui/FontRenderer.cpp
|