summaryrefslogtreecommitdiff
path: root/libs/hwui/TextDropShadowCache.cpp
AgeCommit message (Collapse)Author
2018-05-02remove (dead) Font codeMike Reed
Test: make Change-Id: Icdb0f2fc356459718f02569054b91eadcd6a15c2
2017-11-03Format the world (or just HWUI)John Reck
Test: No code changes, just ran through clang-format Change-Id: Id23aa4ec7eebc0446fe3a30260f33e7fd455bb8c
2017-07-19Delete all ro.hwui.* propsJohn Reck
Remove all ro.hwui.* tuning props and instead calculate them from the screen resolution. Or just hardcode them to what all devices were hardcoding them to anyway. Bug: 63741221 Test: Check cache size results on sailfish Change-Id: I8b0d210572a246f4fefb076935cf5156a70c274c
2016-02-08Fix TextDropShadowCacheTests and glyph_t everywhereChris Craik
Change-Id: I943eae4e9408c77bdfba6304ba7ee3e862351a41
2016-02-05Move several property queries to Properties classChris Craik
bug:17478770 This removes a lot of redundant property query code, and puts the queries all in one place, so defining them automatically will be simpler in the future. Change-Id: I0428550e6081f07bc6554ffdf73b22284325abb8
2016-01-29Fix TextDropShadowCache infinite loopJohn Reck
Bug: 26862239 Switch TextDropCacheShadow to use the tracked objectSize() instead of the optional bitmapSize. A mismatch here results in ::get() infinite looping trying to free space in the cache since the LRU removal callback would always decrement mSize by 0 since bitmapSize was not being set. Also prevent the infinite loop in the future by crashing if this scenario happens again. Change-Id: Ib4e9fbe1c8327af2335ad650fd694a1627d9824f
2016-01-20Normalize GL_UNPACK_ALIGNMENTJohn Reck
Several places were setting GL_UNPACK_ALIGNMENT unneccessarily, whereas other places were assuming an unpack alignment of 1. Since we never actually do explicit row-alignment, set GL_UNPACK_ALIGNMENT to 1 at context creation time and never change it Bug: 26584230 Also turns on aggressive glGetError checking to better catch potential problem zones Change-Id: I190c8f0f0494a7f046d5ed769405c75d363be59a
2016-01-14Track texture memory globallyJohn Reck
Also mostly consolidates texture creation Change-Id: Ifea01303afda531dcec99b8fe2a0f64cf2f24420
2015-12-04Correct shadowtext glyph countChris Craik
bug:25837773 Change-Id: Id890624ddce3e5a331ecef207011709be0daf703
2015-11-20Initial text support in new reorderer/rendererChris Craik
Removes obsolete drawPosText codepath, and unifies text decoration behavior. Change-Id: I9c563249ab688a3394445a0e7fe1b9d0661f6f7c
2015-07-14Clean up unncessary definesChris Craik
LOG_TAG and TRACE_TAG are already defined in the makefile Change-Id: I9e53e3dacbe018441edd74cb7c8c90846defee74
2015-05-05Cleanup propertiesChris Craik
bug:19967854 Separate properties from Caches, into static, RenderThread-only class. Also rewrites the means for java to set properties to correctly handle threading, and adds an override for profile bars so that SysUi doesn't clutter the screen with them. Change-Id: I6e21a96065f52b9ecc49d1a126244804ba106fa9
2015-01-30Refactor blending and texture gl stateChris Craik
Change-Id: Ia6b3c8b2afd3dfcee7f3ce401d846b789612054a
2015-01-05Add overrides and switch to nullptr keyword for all filesChris Craik
Adds remaining missing overrides and nullptr usages, missed due to an extreme failure in tool usage. Change-Id: I56abd72975a3999ad13330003c348db40f59aebf
2014-11-20am 582bdf9a: am d8c169fe: am 0c437fd3: Merge "Add appropriate casts for ↵Dan Albert
char16_t." * commit '582bdf9a5961a32de27556832e23e0611c4d1cbb': Add appropriate casts for char16_t.
2014-11-20Add appropriate casts for char16_t.Dan Albert
C++11 defines a real char16_t, which is not implicitly convertible to uint16_t (and by extension jchar). Add casts as needed. Bug: 18300613 Change-Id: I00752002ef2e938bdb57f70947e8fd53ec103293
2014-10-15Clean up physical couplingTom Hudson
Narrow the use of #include directives in hwui, replacing with forward declarations where straightforward. Speeds compiles; doesn't do any restructuring of code. Change-Id: Icac2baffb5896f55d8c6718e9bd9d4bfa02d3ca0
2014-01-03Use const where possible for drawing parametersChris Craik
They should never be modified by a Renderer, only read and copied. Change-Id: I9d8d55dca19115ee9dfeb2bb3f092ba2fb327cd4
2013-10-17Clean unused parameters, disable warningsChris Craik
Change-Id: Iddb872f53075dd022eeef45265594d1c6a9e2bc0
2013-06-06Assume a texture is unbound after deleting itRomain Guy
Bug #9316260 The GL specification indicates that deleting a bound texture has the side effect of binding the default texture (name=0). This change replaces all calls to glDeleteTextures() by Caches::deleteTexture() to properly keep track of texture bindings. Change-Id: Ifbc60ef433e0f9776a668dd5bd5f0adbc65a77a0
2013-06-04Introduce Caches::bindTexture() to reduce glBindTexture callsRomain Guy
Change-Id: Ic345422567c020c0a9035ff51dcf2ae2a1fc59f4
2013-04-11Introduce PixelBuffer API to enable PBOsRomain Guy
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
2013-02-20Use free for memory chunks allocated through memalign.Ben Cheng
BUG: 8234423 Change-Id: Ic4100a780908c94540722cc4af5f73f4940431b4
2013-02-13Revert "Revert "Use RenderScript for large text blurs""Chris Craik
This reverts commit bf5703e52e3304246cbf0e73f6976f7d7312d238. Change-Id: Ic6f991277dec9e80a6fed93db91499726b30ab2a
2013-02-13Revert "Use RenderScript for large text blurs"Chris Craik
This reverts commit 3f76e65d251ead65fe8ff98e3bd4c7623fbaac07 Change-Id: Ia81cd485e5ca696bb284c419dc8a1d2f3247100e
2013-02-12Use RenderScript for large text blursChris Craik
Still fall back to simple path for small tasks Change-Id: I492f1b3f7d6fec1738f3e45cbfb15864bd23a392
2012-11-30Fix crash in TextDropShadowCacheRomain Guy
The lengths used to copy/read arrays were completely wrong. Change-Id: If21f23a73cce59bbd32975760e6d728eeeb9e40d
2012-11-29Use LruCache instead of GenerationCache in libhwuiRomain Guy
Change-Id: Ic26ddc7151eb5462bcd243b21daf7187ed6d3bec
2012-07-30Fix bug 6892600 Font (character pairs) rendering issueRaph Levien
Alignment on paint for actual glyph drawing needs to always be left, even when drawing centered or right aligned text. The x offset for alignment is applied by OpenGLRenderer::drawText (and needs to be early in the pipeline for quickReject to work). Similar change needed for drawing drop shadow. Also fixes bug with mispositioned underline (offset for alignment has already been applied once, no need to do it again in drawTextDecorations). Change-Id: Id3dcd62de5536a26b158d768889273a1492b35d6
2012-07-20Add drop shadow for drawPosText in hwui renderer.Raph Levien
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
2012-01-03Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGESteve Block
See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
2011-12-12Various OpenGL optimizationsRomain Guy
Change-Id: Ib0742c96f10f5f50e7e5148b742c31b6c232d127
2011-07-25Improve rendering performance on some GPUsRomain Guy
This change sets textures filtering to GL_NEAREST by default. GL_LINEAR filtering is only used when textures are transformed with a scale or a rotation. This helps save a couple of fps on some GPUs. Change-Id: I1efaa452c2c79905f00238e54d886a37203a2ac1
2011-03-01Avoid UTF-8 conversions and string copies whenever possible.Romain Guy
Change-Id: Ie4584417bbb7247e6c567fbfdb819529e548bb8f
2011-01-21Log only 1 line per process when using OpenGLRenderer.Romain Guy
Change-Id: Idbdd6b84f31301e58ed53e0d50fd61fece192dfa
2010-12-10Correctly compare strings in UTF-8 instead of UTF-16Romain Guy
Bug #3272858 Change-Id: Idacd5d7c2c052b4834a8ddb5906ab32b3f548f73
2010-11-09Fix possible crash when texture is NULL in the drop shadow cache.Romain Guy
Change-Id: I2142c55dbcfebcdf013a7f4ae04b266a60f5ce8a
2010-08-27Apply gamma correction to font rendering.Romain Guy
Change-Id: I1b05f40e356221b2a5eb9400e67d77ecd98ed6c4
2010-08-24Use only one GL context per process, share chaches.Romain Guy
Change-Id: Ieabaa25338d2f4b8d4fd90e7401ad6e7452eae11
2010-08-13Add drop shadows.Romain Guy
Change-Id: Ic6a72409d4785968d1fbdff229f17ee5c00b240b