Romain Guy
4afdf666fd
Color filters were ignored by the program cache fast path.
...
Change-Id: I08f2f02d356234a674be778d088e0558fd49c849
2010-10-13 21:31:28 -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
5d794412e3
Small potential performance improvement for fonts rendering.
...
Change-Id: If59c1e7803b84340fbc8b31ce6171ef0e5dc6189
2010-10-13 17:24:41 -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
1f114a55b5
Remove logging.
...
Change-Id: Ibcb11d704653d8875e22629ea39e4ee2ebce3c22
2010-10-12 17:47:34 -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
9db91243c5
Simplify black texture fragment shader.
...
Change-Id: If2d43f92f4c98ec128692761a670b0f31207a3c0
2010-10-12 13:13:09 -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
7537f856f9
Improve performance of linear gradients.
...
Change-Id: If1caee31fc045dea13a4c5c10f25f2ffd325c4f8
2010-10-11 14:38:28 -07:00
Romain Guy
21b028a44f
Move GenerationCache to the utils directory.
...
Change-Id: I210ffa8f1d76a102bb7d971c649c20a74d03fbe6
2010-10-08 18:44:56 -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
14830948d0
Add 3D transforms support to all gradients.
...
Change-Id: I61409edd00dab3a11684a3f5e4f7df0afc734758
2010-10-07 15:07:45 -07:00
Romain Guy
6b7bd24659
Don't clear the framebuffer when not needed.
2010-10-06 19:49:23 -07:00
Romain Guy
e3095e0c1e
Apply 3D transformations to gradient shaders.
...
This fixes only linear gradients. Sweep and radial gradients, as well as
bitmap shaders, will be fixed in a future commit.
Change-Id: I4eee4ff62e9bbf3b9339fc111a780167449ecfef
2010-10-06 16:57:29 -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
7adaf3d1aa
Add support for paletted textures.
...
Change-Id: I36e6069bd58f78c609cdd1f3e4560c98f128f48e
2010-10-05 14:58:09 -07:00
Romain Guy
bdb801ca99
Remove logs to reduce logcat spam.
...
Change-Id: I5fc295b05b5d82bb86827b88e94dd51e8bcdc7d3
2010-10-04 17:22:29 -07:00
Romain Guy
11fd654a90
Reorder logs.
...
Change-Id: I4adbd53662e1f509c860898c8ff9d19eaabd6d5b
2010-10-04 17:12:16 -07:00
Romain Guy
3b3e457c27
Snap the clip rectangle to pixel boundaries.
...
Change-Id: Iac2765303552f385995fe46e219af456e0501da7
2010-10-04 14:18:24 -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
1de1083e98
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
2010-10-03 14:39:09 -07:00
Romain Guy
7975fb6d12
Apply bilinear filtering to text.
...
Change-Id: I2c81ad657ee2a11a2139e0b11ae3749db54c0749
2010-10-01 16:36:14 -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
d799912770
Make simple paths made of lines work.
...
Bug #3041098
Change-Id: Ife9c3f01ded10e2bb35b1cdf1a54734d8347fee4
2010-09-30 16:57:13 -07:00
Romain Guy
b051e895cc
Add display lists caching.
...
Change-Id: Iac3a248a81ed8cb076a83ef9d186b8ebba685b4c
2010-09-29 13:29:04 -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
8c749f87d2
Fix texture corruption issue, faster re-upload of textures.
...
Bug #2950691
Change-Id: I57e2bc1d1a23e8683c25de7d09d6f5af2df59f41
2010-09-22 14:13:32 -07:00
Romain Guy
ddb80bebb0
Add support for circular gradients to the GL renderer.
...
This change also adds full support for local transformation matrices on
sweep and radial gradients.
Change-Id: Id8773bc0766575190e3f3d51984fc5e57b266c3f
2010-09-21 16:48:50 -07:00
Romain Guy
ee916f14cb
Add support for SweepGradient in the GL renderer.
...
Change-Id: I7aa397ed4e34655ead9ba1f5b4ce087665e0f022
2010-09-20 17:54:17 -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
31529ff791
Correctly free memory.
...
Change-Id: I08fcbfa7d27ae413e0a8e8ca6ea305c8530a72c1
2010-09-17 10:26:31 -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