summaryrefslogtreecommitdiffstats
path: root/libs/hwui/OpenGLRenderer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Adding display lists to the GL renderer (checkpoint.)Romain Guy2010-09-261-4/+5
| | | | Change-Id: Iaa49757600a53b39369dbb23f8c3feab282518e6
* Add debug mode to measure performance.Romain Guy2010-09-241-0/+3
| | | | Change-Id: I9d4c84034dc200b99c8266165942a7cdbcb5c0c5
* Correctly initialize/refresh layers.Romain Guy2010-09-221-2/+9
| | | | Change-Id: Id8cdcf587b13098460f7d4aa1bd17708784d89bb
* Draw text decorations with lines instead of rectangles.Romain Guy2010-09-221-9/+20
| | | | Change-Id: Icd25c85c3a24da96a3d2f76f9477da6f87e0303c
* Fix OpenGL errors in various places.Romain Guy2010-09-221-6/+11
| | | Change-Id: I3a4e115d8fb13b6c443e65460d92987b16f2524c
* Fix positioning of 1 pixel wide lines (esp. non AA lines.)Romain Guy2010-09-171-1/+1
| | | | Change-Id: Ic155cac72f351edae35dffdfbb236954f57ba7de
* Add support for non AA lines.Romain Guy2010-09-171-10/+32
| | | | Change-Id: Id5200e94815404d62760437d0d2dbb0a9276c700
* Add support for drawLines(), with anti-aliasingRomain Guy2010-09-161-4/+61
| | | | Change-Id: I16c0593c5671490909dec13a85df601e1428a1a6
* Snap layer bounds to pixel boundaries.Romain Guy2010-09-161-0/+2
| | | | Change-Id: I272ceebf469a119f01ea9d73cdd68519afdffa99
* Better error handling in the OpenGL renderer.Romain Guy2010-09-161-1/+15
| | | | | | | Add a glGetError() check on every frame Don't attempt to create textures larger than the maximum size allowed Change-Id: Iee4afae16089406dbe8bf10fc93b674f1271a0ca
* Fix 9patch rendering.Romain Guy2010-09-151-12/+9
| | | | Change-Id: Ic4c18ff483cca95fbabcb10843f7714efe488adb
* Docs updates.Romain Guy2010-09-131-1/+9
| | | | Change-Id: Iff395e1c6d81a484a2c4ad6e88357c0134971b78
* Document the implementation of saveLayer().Romain Guy2010-09-131-15/+50
| | | | | | | | | | | | The implementation is simple but tricky. Leave explanations to my future self so that I don't invent a time machine to come back to now and slap my self. This change also simplifies the way the GL blending function is chosen when compositing a layer. It reuses existing OpenGLRenderer APIs and is easier to understand. Change-Id: I1b9cf8c5d51e09836d85b8cf157a1c284aa65c59
* Forgot the return value...Romain Guy2010-09-131-1/+2
| | | | Change-Id: Iccf369a613c1cf83f3e948460c567291b084fad2
* Fix rendering issue with layers intersecting the clip rect.Romain Guy2010-09-131-1/+5
| | | | Change-Id: Icbe35194fa219ef13ce639d33631235f8d7df3d7
* Fix text rendering issue with text scaling.Romain Guy2010-09-121-12/+0
| | | | Change-Id: I1f3ae40025697e8f8ca0616ee6550fe215cadcc8
* Optimize calls to glCopyTexImage2D().Romain Guy2010-09-121-8/+30
| | | | Change-Id: I34ee87bd4472864f440916e03a2894fae24bbe4a
* Correct implementation of saveLayer().Romain Guy2010-09-121-67/+81
| | | | Change-Id: I5375126636913e0a84f2d6bbd0ebe40d2e4f2763
* Add support for advanced blend modes with the framebuffer.Romain Guy2010-09-091-33/+64
| | | | | | | This adds the ability to blend with the framebuffer using Darken, Lighten, Add, Multiply, Overlay and Screen. Change-Id: Iae01a53797d4ad39c373cba6ff2a42293129da1a
* Do not convert 8888 bitmaps to 565 when doing a copy.Romain Guy2010-09-091-0/+1
| | | | | | | | Bug #2988077 This change keeps the 8888 format for new bitmaps and also keeps, when possible, the opaque flag. Change-Id: Ia61f2e89936916b329212a4c59a7d815c329f84e
* Add support for Canvas flags on save.Romain Guy2010-09-011-35/+42
| | | | | | This is required for the rewrite of layers support. Change-Id: I5c0867dcf5aeb0392c8d0fbab05febb0eaff70d9
* Add hooks for hardware accelerated WebView.Romain Guy2010-08-311-0/+23
| | | | Change-Id: I907cdec8a67594f87749ac46bda85f04af5a2003
* Apply gamma correction to font rendering.Romain Guy2010-08-271-3/+5
| | | | Change-Id: I1b05f40e356221b2a5eb9400e67d77ecd98ed6c4
* Use only one GL context per process, share chaches.Romain Guy2010-08-241-113/+51
| | | | Change-Id: Ieabaa25338d2f4b8d4fd90e7401ad6e7452eae11
* Add support for textScaleX.Romain Guy2010-08-201-0/+12
| | | | | | | This will not look great because we render fonts using bitmaps, not paths. Change-Id: I01b87b81bfbdbfa28460a5d5309d38e2a65e77c4
* Fix drawing issues with layers.Romain Guy2010-08-181-13/+34
| | | | | | | Prior to this change layers would clip their content incorrectly. They would also not apply alpha properly. Change-Id: Id7b3aaa7dbdc51de68fe050e64458f68e40503fd
* Fix the build.Romain Guy2010-08-181-4/+1
| | | | Change-Id: I8bd418ba21e3e3f68b793030398d1a5e933dfb19
* Layers were using an extra Snapshot causing extra clipping.Romain Guy2010-08-181-35/+23
| | | | | | Bug #2919310 Change-Id: I72ccd44bba7a3f3db72f581aa96198b6226e4478
* Fix save()/restore() issues in the OpenGL renderer.Romain Guy2010-08-171-12/+19
| | | | | | The save stack now behaves exactly like in Skia. Change-Id: If7e642f41f2c8f693f6e8c26cba81507d466562e
* Correctly set the viewport in layers.Romain Guy2010-08-171-44/+44
| | | | | | Bug #2919295 Change-Id: I16ce79ab0d5747cb01c6c1abe531da3dfd93fb54
* Cleanup, better code reuse.Romain Guy2010-08-161-157/+145
| | | | Change-Id: Ib86a7309ae579cce3b7cf464782c34e70a74c616
* Add drop shadows.Romain Guy2010-08-131-51/+113
| | | | Change-Id: Ic6a72409d4785968d1fbdff229f17ee5c00b240b
* Bunch of fixes.Romain Guy2010-08-111-2/+10
| | | | | | Fixes memory leak, fixes multiple context support, fix 3d transforms. Change-Id: I7462cfbc57857dbd4de4e76b9d4cba58a1bce77b
* Add support for text underline and strikethru.Romain Guy2010-08-101-2/+49
| | | | Change-Id: I3a0e6643d7cafbdd06d9a908c8cf9347dcaba146
* Fix tons of bugs and add new text rendering support.Romain Guy2010-08-101-0/+4
| | | | Change-Id: I326c66b10784006f6df2f12d38e120cef94cd0d7
* Enforce maximum texture size.Romain Guy2010-08-071-0/+5
| | | | | | | | | | | | 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
* Automatically cleanup textures that don't fit in the cache.Romain Guy2010-08-061-1/+8
| | | | Change-Id: I4f29ed96ea11118b391fb957e1e4d1b8fcef1537
* Add support for paths.Romain Guy2010-08-051-2/+78
| | | | | | | Rendering is implementing by rasterizing the paths into A8 textures. This cna be extremely inefficient if the path changes often. Change-Id: I609343f304ae38e0d319359403ee73b9b5b3c93a
* Add support for ColorFilters.Romain Guy2010-08-021-3/+36
| | | | | | Color filters are fully supported and can be used with shaders. Change-Id: Id90ccf1c81cb462f2431f366f3f8f710d7971e04
* Refactor Skia shaders handling.Romain Guy2010-07-301-180/+47
| | | | | | | | 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
* Fix improper clipping after a save()Romain Guy2010-07-301-2/+3
| | | | Change-Id: I13426a67f20d77e2710bd500d82884098f4be97c
* Fix gradients rendering and destructor crashes.Romain Guy2010-07-291-22/+12
| | | | | | | This changes binds all textures to GL_TEXTURE0, this will have to be changed when combining shader capabilities. Change-Id: I02df4f5ba41e9b01ffa52fd7c26b41477c7ed18f
* Moved all the rendering code to the new shader generator.Romain Guy2010-07-291-77/+117
| | | | | | | | | | | 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
* Generate shaders to cover all possible cases.Romain Guy2010-07-271-26/+31
| | | | | | | | | | With this change, all the vertex and fragment shaders used by the GL renderer are now generated based on a program description supplied by the caller. This allows the renderer to generate a large number of shaders without having to write all the possible combinations by hand. The generated shaders are stored in a program cache. Change-Id: If54d286e77ae021c724d42090da476df12a18ebb
* When font cache still has empty space,Alex Sakhartchouk2010-07-261-1/+1
| | | | | | precache some commonly used characters to reduce studder. Change-Id: I1f66f57482c4a025672dfd1d8ecaf2b9736cd9a0
* Add text alignment support to drawText().Romain Guy2010-07-231-2/+21
| | | | | | This change also integrates better support for RTL text. Change-Id: I6da8f5cf5dc28ca7cf1b22e27b0d853c919e8481
* Cleanup, added properties for the FontRenderer.Romain Guy2010-07-231-6/+2
| | | | Change-Id: I909c74815d3ac394438ad8071d17fef5401dbeed
* Add support for text culling.Romain Guy2010-07-221-6/+4
| | | | Change-Id: Ibf0adacdc5c64d40a8000b21d7cb0797d63efe29
* Add text rendering.Romain Guy2010-07-211-1/+36
| | | | Change-Id: Ibe5a9fa844d531b31b55e43de403a98d49f659b9
* Add preliminary support for text rendering.Romain Guy2010-07-201-25/+31
| | | | Change-Id: I547eb631dbda24d13960d54b4144fb8908fd8a49