Romain Guy
054dc18409
Don't draw entirely transparent 9patch meshes.
...
Change-Id: If3e62e18b8e0dbde8a22f8ede2889b86500a4dc2
2010-10-15 17:55:25 -07:00
Romain Guy
9d13fe25f4
Fix text rendering artifact.
...
Change-Id: I50f47207846e4208d363dde4e8f5f1a0f23d2d75
2010-10-15 16:06:03 -07:00
Romain Guy
e5ebcb0107
Fix clipping issue in StackView.
...
Change-Id: I7ec28f25c3993a2bd7ef6399ba1923839d239905
2010-10-15 13:57:28 -07:00
Romain Guy
d2a1ff003b
Fix text rendering issue.
...
The local clip rect could be off by one pixel when a 3D transform
was applied to a text primitive. This would cause small rendering
glitches in Launcher in particular.
Change-Id: I1254f6a5838c26810cbe969b096679d40b8dd504
2010-10-14 14:49:34 -07:00
Romain Guy
93d2361c6d
Fix layer rendering glitch.
...
Change-Id: If2f987fe5526fc88743ca3e91edde4f8232ff658
2010-10-13 18:26:36 -07:00
Romain Guy
909cbaf8f9
Don't draw TextView's alpha layers when not needed.
...
Change-Id: Iedf42cbc62d727f18500c78fcccf2d081a761fec
2010-10-13 18:19:48 -07:00
Romain Guy
99bcdc52dc
Return identity matrix when rendering in an FBO.
...
Change-Id: I57438e745b30c8cfe16c269f3cafcd719049d705
2010-10-13 17:24:41 -07:00
Romain Guy
41030da168
Add a getNativeMatrix() API.
...
This API can be used by WebView to apply the appropriate transform
on its rendering.
Change-Id: I79aa39a29805f462fb08226370328815e74bdc52
2010-10-13 13:40:37 -07:00
Romain Guy
eb07af6873
Optimize layer clears.
...
Don't clear the entire texture when we use textures that are bigger
than the layer itself. This will save time during the glClear() calls.
Change-Id: I06f3259ba62affb3708ba69ea41418832c7e1a65
2010-10-12 18:40:36 -07:00
Romain Guy
e91080581f
Tweak layers caching for better performance in Launcher.
...
Change-Id: Ia6e67699d98f69c8a93385b3ecbdd814c7b16921
2010-10-12 18:15:42 -07:00
Romain Guy
4bb942083a
Optimize 9patch rendering.
...
This change detects empty quads in 9patches and removes them from
the mesh to avoid unnecessary blending.
Change-Id: I4500566fb4cb6845d64dcb59b522c0be7a0ec704
2010-10-12 15:59:26 -07:00
Romain Guy
c00972bb16
Don't recreate a new texture every time we draw a layer.
...
Change-Id: I3c28aff5acffc7c6f1ac74805869725426c62d28
2010-10-12 11:31:07 -07:00
Romain Guy
dbc26d2ba1
Don't draw fully transparent views/primitives.
...
Change-Id: Icd7d8ef1f57b51a24faf32f7004125e6300d4fdc
2010-10-11 17:58:29 -07:00
Romain Guy
707b2f78cc
Optimize GLSL shaders.
...
Change-Id: I9a5e01bced63d8da0c61330a543a2b805388a59d
2010-10-11 16:34:59 -07:00
Romain Guy
2728f96161
Don't update 9patches on every frame.
...
Change-Id: I7ffb2365f83e0453e7d0a0cdcb3fc9308b305238
2010-10-08 18:36:57 -07:00
Romain Guy
8550c4c7b5
Better cache for layers, reduce memory usage and increase framerate.
...
Change-Id: I5ff864a361db4791bd5ff6be716f7ce692ef572d
2010-10-08 15:49:53 -07:00
Romain Guy
6b7bd24659
Don't clear the framebuffer when not needed.
2010-10-06 19:49:23 -07:00
Romain Guy
eb99356a05
Optimize saveLayer() when the clip flag is set.
...
This speeds up applications, especially Launcher.
2010-10-05 18:14:38 -07:00
Romain Guy
bdb801ca99
Remove logs to reduce logcat spam.
...
Change-Id: I5fc295b05b5d82bb86827b88e94dd51e8bcdc7d3
2010-10-04 17:22:29 -07:00
Romain Guy
e8cb9c1430
Apply bilinear filtering on text only when necessary.
...
Change-Id: Ic903f4b5d30e9c92528c6291941896efe4729ee3
2010-10-04 14:14:11 -07:00
Romain Guy
0bb5667b4e
Fix INVALID_OPERATION error with layers rendering.
...
This change is a workaround for a driver bug that causes an INVALID_OPERATION
to be thrown on every glCopyTexSubImage() call. This change also adds a new
test for gradients local matrices.
Change-Id: I41b7437481026702d0a3a9677f099b4557c0a84e
2010-10-01 00:25:02 -07:00
Romain Guy
4aa90573bb
Adding display lists to the GL renderer (checkpoint.)
...
Change-Id: Iaa49757600a53b39369dbb23f8c3feab282518e6
2010-09-26 18:40:37 -07:00
Romain Guy
e2d345ea67
Add debug mode to measure performance.
...
Change-Id: I9d4c84034dc200b99c8266165942a7cdbcb5c0c5
2010-09-24 18:39:22 -07:00
Romain Guy
38c85b907a
Correctly initialize/refresh layers.
...
Change-Id: Id8cdcf587b13098460f7d4aa1bd17708784d89bb
2010-09-22 22:51:12 -07:00
Romain Guy
e20ecbd12d
Draw text decorations with lines instead of rectangles.
...
Change-Id: Icd25c85c3a24da96a3d2f76f9477da6f87e0303c
2010-09-22 19:49:04 -07:00
Romain Guy
29d8997bd4
Fix OpenGL errors in various places.
...
Change-Id: I3a4e115d8fb13b6c443e65460d92987b16f2524c
2010-09-22 16:44:49 -07:00
Romain Guy
b5ab4173e0
Fix positioning of 1 pixel wide lines (esp. non AA lines.)
...
Change-Id: Ic155cac72f351edae35dffdfbb236954f57ba7de
2010-09-17 15:36:56 -07:00
Romain Guy
c95c8d6bf8
Add support for non AA lines.
...
Change-Id: Id5200e94815404d62760437d0d2dbb0a9276c700
2010-09-17 15:31:32 -07:00
Romain Guy
759ea80dca
Add support for drawLines(), with anti-aliasing
...
Change-Id: I16c0593c5671490909dec13a85df601e1428a1a6
2010-09-16 20:49:46 -07:00
Romain Guy
bf434114cb
Snap layer bounds to pixel boundaries.
...
Change-Id: I272ceebf469a119f01ea9d73cdd68519afdffa99
2010-09-16 14:40:17 -07:00
Romain Guy
b025b9c8b4
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
2010-09-16 14:16:48 -07:00
Romain Guy
6820ac8b14
Fix 9patch rendering.
...
Change-Id: Ic4c18ff483cca95fbabcb10843f7714efe488adb
2010-09-15 18:11:50 -07:00
Romain Guy
87a76578f7
Docs updates.
...
Change-Id: Iff395e1c6d81a484a2c4ad6e88357c0134971b78
2010-09-13 18:13:52 -07:00
Romain Guy
1c740bce8a
Document the implementation of saveLayer().
...
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
2010-09-13 18:03:21 -07:00
Romain Guy
81ab046a11
Forgot the return value...
...
Change-Id: Iccf369a613c1cf83f3e948460c567291b084fad2
2010-09-13 17:32:34 -07:00
Romain Guy
8411f336c7
Fix rendering issue with layers intersecting the clip rect.
...
Change-Id: Icbe35194fa219ef13ce639d33631235f8d7df3d7
2010-09-13 17:27:57 -07:00
Romain Guy
2bffd268f1
Fix text rendering issue with text scaling.
...
Change-Id: I1f3ae40025697e8f8ca0616ee6550fe215cadcc8
2010-09-12 17:59:13 -07:00
Romain Guy
8694230ff2
Optimize calls to glCopyTexImage2D().
...
Change-Id: I34ee87bd4472864f440916e03a2894fae24bbe4a
2010-09-12 13:02:16 -07:00
Romain Guy
f607bdc167
Correct implementation of saveLayer().
...
Change-Id: I5375126636913e0a84f2d6bbd0ebe40d2e4f2763
2010-09-12 12:24:12 -07:00
Romain Guy
a5aed0d589
Add support for advanced blend modes with the framebuffer.
...
This adds the ability to blend with the framebuffer using Darken,
Lighten, Add, Multiply, Overlay and Screen.
Change-Id: Iae01a53797d4ad39c373cba6ff2a42293129da1a
2010-09-09 14:42:43 -07:00
Romain Guy
d90f23e24a
Do not convert 8888 bitmaps to 565 when doing a copy.
...
Bug #2988077
This change keeps the 8888 format for new bitmaps and also keeps,
when possible, the opaque flag.
Change-Id: Ia61f2e89936916b329212a4c59a7d815c329f84e
2010-09-09 11:47:54 -07:00
Romain Guy
8aef54fa17
Add support for Canvas flags on save.
...
This is required for the rewrite of layers support.
Change-Id: I5c0867dcf5aeb0392c8d0fbab05febb0eaff70d9
2010-09-01 15:49:25 -07:00
Romain Guy
da8532c6f4
Add hooks for hardware accelerated WebView.
...
Change-Id: I907cdec8a67594f87749ac46bda85f04af5a2003
2010-08-31 11:50:35 -07:00
Romain Guy
b45c0c9774
Apply gamma correction to font rendering.
...
Change-Id: I1b05f40e356221b2a5eb9400e67d77ecd98ed6c4
2010-08-27 11:31:24 -07:00
Romain Guy
fb8b763f76
Use only one GL context per process, share chaches.
...
Change-Id: Ieabaa25338d2f4b8d4fd90e7401ad6e7452eae11
2010-08-24 17:18:14 -07:00
Romain Guy
a80d32f7b6
Add support for textScaleX.
...
This will not look great because we render fonts using bitmaps, not
paths.
Change-Id: I01b87b81bfbdbfa28460a5d5309d38e2a65e77c4
2010-08-20 18:42:37 -07:00
Romain Guy
8b55f37765
Fix drawing issues with layers.
...
Prior to this change layers would clip their content incorrectly. They would
also not apply alpha properly.
Change-Id: Id7b3aaa7dbdc51de68fe050e64458f68e40503fd
2010-08-18 17:10:07 -07:00
Romain Guy
1f8c9602ee
Fix the build.
...
Change-Id: I8bd418ba21e3e3f68b793030398d1a5e933dfb19
2010-08-18 12:57:31 -07:00
Romain Guy
2542d19974
Layers were using an extra Snapshot causing extra clipping.
...
Bug #2919310
Change-Id: I72ccd44bba7a3f3db72f581aa96198b6226e4478
2010-08-18 11:47:12 -07:00
Romain Guy
8fb954263d
Fix save()/restore() issues in the OpenGL renderer.
...
The save stack now behaves exactly like in Skia.
Change-Id: If7e642f41f2c8f693f6e8c26cba81507d466562e
2010-08-17 18:40:21 -07:00