14 Commits

Author SHA1 Message Date
Romain Guy
bd0e6aa0ff Add a way to query GL extensions.
Change-Id: Ic27dbf72289dacf641b640a749fbd40c12cd474f
2010-07-22 18:52:24 -07:00
Romain Guy
c0ac193b94 Add support for linear gradients.
Change-Id: Id15329da065045b3f06fdaed615f33cd57608496
2010-07-19 18:44:05 -07:00
Romain Guy
1e79386ba3 Optimize textures binding.
The renderer is still changing textures' wrap modes every time, this will require
a latter optimization.

Change-Id: I3eb92cb8c886c4a692b7f0ca759911f9371d4d2c
2010-07-16 15:07:42 -07:00
Romain Guy
594f406514 Enable 32-bits only assets.
Go away dithering!

Change-Id: Iee5ee2e9430606e732d9b0abb3adc9f68275bd6d
2010-07-13 17:41:31 -07:00
Romain Guy
6c81893c62 Simpler way to deal with the FBO multi-cache.
This change removes the need for the SortedList and instead just
add a generated id to each FBO stored in the cache. This is an
artificial way to store several FBOs with the same dimensions.

Change-Id: I9638364e9bdc0f2391261937a0c86096f20505bf
2010-07-07 15:15:32 -07:00
Romain Guy
5f0c6a4839 Optimize FBO cache.
This change introduces a new generational cache called GenerationMultiCache
that can store several values with the same key. This can be used to use
multiple layers of the same size at the same time, without recreating them
over and over again.

Change-Id: I425466a20908b862c5f464a0f9e582ec18cbd7ac
2010-07-07 13:06:26 -07:00
Romain Guy
dda570201a Add a layer (FBO) cache.
The cache is used to draw layers so that a new
texture does not have to be recreated every time
a call to saveLayer() happens.

The FBO cache used a KeyedVector, which is a bad
idea. The cache should be able to store several
FBOs of the same size (this happens a lot during
scrolling with fading edges for instance.) This
will be changed in a future CL.

Change-Id: Ic316189e625f0dbcf0d273a71cc981a433d48726
2010-07-06 12:00:33 -07:00
Romain Guy
7d139ba2c3 Remove extra leftover logs and use uint32_t instead of unsigned int.
Change-Id: I944f82fe3255de38dc04048cc8bd861f578f01a7
2010-07-02 11:20:34 -07:00
Romain Guy
121e224256 Track the size in memory of the texture cache.
The texture cache was previously checking the number of stored textures. This was
not very useful as this could easily lead to an abuse of memory. The new cache
instead tracks the total size occupied in RAM by the cached textures. When a new
texture is generated, older textures are kicked out as needed.

Change-Id: Ib27142f4a018d5bf84774c1fb6f45a67a85f20bc
2010-07-01 18:26:52 -07:00
Romain Guy
8ba548f81d Add implementation for drawBitmap(Bitmap, Rect, Rect, Paint)
Change-Id: I10904d2325a5431d15801aebcec1048715678e8c
2010-06-30 19:21:21 -07:00
Romain Guy
c1396e93b6 Add implementation for drawBitmap().
Change-Id: Iada9325f3c5642b61c2e0c4cd80bcfbc92cb491e
2010-06-30 17:56:19 -07:00
Romain Guy
fe8809471a Remove unnecessary return and add bitmap generation ID tracking.
Change-Id: Icf5e0635e789f5ea53268c22fad51cf733b5b1a6
2010-06-30 16:05:32 -07:00
Romain Guy
364703c6fa Fix the build.
Change-Id: I08bd6daf25351daca3ae552e1cfcfce85eefa73b
2010-06-30 15:51:03 -07:00
Romain Guy
ce0537b800 Add hooks for drawBitmap().
Change-Id: I58e962c3a8b2bc75c2605fe369ad3002579d86e0

Add texture cache.

Change-Id: I1c0e5581d228869e114438258a1014e33e024ad7
2010-06-30 15:21:01 -07:00