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
|