Commit Graph

33 Commits

Author SHA1 Message Date
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Kartikaya Gupta
7fe9806b13 Bug 753334 - Audit and clean up code that deals with allocating/freeing direct buffers. r=Cwiiis 2012-05-10 09:46:53 -04:00
James Willcox
307974778f Bug 727116 - Draw Flash plugins with OpenGL during pan/zoom on legacy Android r=blassey 2012-04-27 16:04:47 -04:00
Chris Lord
dcd3986f0b Bug 748718 - Make ScreenshotLayer use SingleTileLayer's draw function. r=kats
ScreenshotLayer overrides SingleTileLayer's draw function to simplify the
drawing process. Unfortunately, this doesn't respect the layer mask, and can
cause the layer to appear incorrectly stretched.

Change the screenshot process so that whole-page screenshots pass parameters
that are pre-scaled (to avoid mismatches when the viewport changes), and set
the page size on the ScreenShotLayer so it draws in the correct place.

This also alters the masking slightly to avoid visible seams around masks in
the centre of the page, and to avoid unnnecessary drawing at the edges of the
page.

This change fixes the frame-rate issues with the screenshot layer, as it
removes unnecessary over-draw.
2012-04-26 13:45:31 -04:00
Chris Lord
4050732cc6 Bug 748718 - Crash if the buffer size mismatches the layer size. r=kats
TileLayer.java always treats the buffer as if it's the same size as the texture.
Instead of crashing (or some other unintended effect), throw a RunTimeException.
Also include some commented out code that would work, but we likely don't ever
want to use (for reference when running into the exception).
2012-04-26 13:45:17 -04:00
Brad Lassey
d1c25e9164 bug 746016 - Cache low res version of the page in the java ui for use instead of checkerboarding r=kats 2012-04-24 15:13:36 -04:00
Jeff Muizelaar
e02f61e239 Bug 742731. Remove performUpdates return value. r=kats
No need to have a return value if it's always going to be true.
2012-04-05 11:32:16 -04:00
Jeff Muizelaar
9183d4ff57 Bug 740061. Remove unused skip functionality. r=kats
mSkipTextureUpdate is never set to true.
2012-03-31 13:36:42 -04:00
Jeff Muizelaar
034c6c0647 Bug 740061. Remove support for subuploads. r=kats
Since, the dirtyRect is either the size of the buffer
or empty we don't need to support subuploads anymore.
2012-03-31 13:30:11 -04:00
Jeff Muizelaar
7423f1b4d1 Bug 740061. Remove unused isDirty. r=kats 2012-03-31 13:05:05 -04:00
Jeff Muizelaar
3d6a5efad5 Bug 740061. Use set() instead of union(). r=kats
mBufferrRect is either new Rect(0, 0, bufferSize.width, bufferSize.height)
or Rect() so we can just set() instead of unioning. This is cheaper
and avoids an allocation.
2012-03-31 13:04:14 -04:00
Jeff Muizelaar
13c967409e Bug 740061. Remove unused invalidate(rect). r=kats 2012-03-31 13:02:37 -04:00
Kartikaya Gupta
30b4f71d11 Merge the origin (Point) and size (IntSize) properties of Layers into a single position (Rect) property.
Not only does this reduce the amount of cruft needed while getting and setting these properties, it
makes the code more consistent because we don't have half of this stored in the Layer base class and
the other half provided by an abstract method implementation in subclasses. Furthermore, this
allows the VirtualLayer size to be updated based on the area painted by gecko rather than remaining
fixed at the view size when the virtual layer was created.
2012-02-26 10:47:47 -05:00
Benoit Girard
9c0684c38e Don't do TexImage2D+TexSubImage2D 2012-02-21 16:44:59 -05:00
Patrick Walton
f3f54a453a Bug 723036 - Port the Java compositor to OpenGL ES 2.0 2012-02-08 21:13:08 -08:00
Chris Lord
688c49a9b4 Bug 724230 - Backout ondemand tiling. r=blassey, kats
This backs out changes d8fc13006aa4, ddde7a49f6f7, 34b1cc9454d2 and
8919c54229e1, leaving in some initialisation fixes that were introduced when
rebasing.

This work may be re-applied at a later date.
2012-02-04 18:49:59 -05:00
Chris Lord
89a7a23266 Bug 717349 - Add optional render and checkerboarding profiling. r=kats
This adds checkerboard profiling to LayerRenderer, that can be enabled either
by enabling debug logging of the "GeckoLayerRendererProf" tag, or via
reflection using PanningPerfAPI.
2012-02-02 09:02:32 +00:00
Chris Lord
0438500908 Bug 717283 - Use tiles on-demand. r=pcwalton, snorp
Instead of tying the tile-buffer in MultiTileLayer directly to the back-buffer
of the page, make sure rendering is always aligned to the tile grid and use
tiles on-demand. This makes better use of tiles when panning/zooming, and opens
up the route for further optimisations.
2012-01-24 15:39:53 +00:00
Ed Morley
e54b557a28 Backout 91eebc6bdb59 & 7d776b291014 (bug 717283) for Android native reftest crashes 2012-01-22 11:55:18 +00:00
Chris Lord
20e0d69d60 Bug 717283 - Use tiles on-demand. r=pcwalton, snorp
Instead of tying the tile-buffer in MultiTileLayer directly to the back-buffer
of the page, make sure rendering is always aligned to the tile grid and use
tiles on-demand. This makes better use of tiles when panning/zooming, and opens
up the route for further optimisations.
2012-01-22 09:40:37 +00:00
Matt Brubeck
c71d11c781 Back out 47584f117727 and e05a8743389a (bug 717283) because of native Android startup crashes 2012-01-20 11:42:34 -08:00
Chris Lord
662a91daa2 Bug 717283 - Use tiles on-demand. r=pcwalton, snorp
Instead of tying the tile-buffer in MultiTileLayer directly to the back-buffer
of the page, make sure rendering is always aligned to the tile grid and use
tiles on-demand. This makes better use of tiles when panning/zooming, and opens
up the route for further optimisations.
2012-01-20 17:36:56 +00:00
Chris Lord
625f77354d Bug 709120 - Update non-visible tiles asynchronously. r=pcwalton
Only update tiles that intersect with the screen, and asynchronously update
invisible tiles over multiple subsequent frames. This has the effect of
spreading out non-critical texture-upload over time and removes some juddering
on devices that don't support gralloc.
2012-01-06 11:22:52 +00:00
Chris Lord
c590707e3c Bug 711426 - Fix some causes of crashes when rotating. r=kats
The lock on the software buffer was not being respected when destroying the
surface on screen rotation, meaning we could destroy it while Gecko was still
drawing to it. This would certainly cause a crash on rotation under the right
conditions. The same situation also occurred in
GeckoSoftwareLayerClient.getBitmap().

We also waited until the next redraw when freeing the old texture associated
with the surface. This had the effect of temporarily increasing the memory
usage (generally by either 4.5 or 9 megabytes). If memory pressure is high,
this could also cause a crash, though it is far less likely than the above case.
2011-12-24 00:49:00 +00:00
Chris Lord
7c89831f73 Bug 709152 - Group multiple texture uploads into a single upload. r=pcwalton
Instead of tracking multiple rectangles when we receive endDrawing calls,
just union the dirty area into a single rectangle.
2011-12-22 11:35:17 +00:00
Chris Lord
e5e586dd67 Bug 708307 - Decouple texture size from tile size. r=pcwalton
This removes the hard-coded limit of 1024x2048 tile sizes, and allows for
arbitrary tile-sizes. It will still only allocate texture sizes in powers of
two, however. It replaces the tile size with a buffered-area size, which can be
re-allocated as the screen dimensions change.
2011-12-15 23:45:52 +00:00
Ehsan Akhgari
3254c96c2f Backout changeset 3e972d3efc11 (bug 708307) because it breaks Android tests; a=me 2011-12-14 15:55:17 -05:00
Chris Lord
6b872a406b Bug 708307 - Decouple texture size from tile size. r=pcwalton a=android-only
This removes the hard-coded limit of 1024x2048 tile sizes, and allows for
arbitrary tile-sizes. It will still only allocate texture sizes in powers of
two, however. It replaces the tile size with a buffered-area size, which can be
re-allocated as the screen dimensions change.
2011-12-14 19:41:37 +00:00
Brad Lassey
6c177a3566 bug 708961 - We still use ByteBuffer.allocateDirect for large buffers r=pcwalton a=java-only 2011-12-13 17:53:51 -05:00
Patrick Walton
5a279e0bdb Bug 705170 - Use OES_draw_texture to render textures to the screen. r=Cwiiis 2011-12-01 14:05:41 -08:00
Kartikaya Gupta
4c5469e1a5 Bug 704114 - Fix missing texture crash [r=pcwalton]
During startup there is a race condition where the
LayerRenderer might request a paint of the root layer before
the root layer has successfully generated a texture.
This might happen if the transaction lock is already held
when the root layer attempts to generate the texture. Fix
by inserting a null guard that aborts the paint if the texture
has not been generated.
2011-11-21 12:17:24 -05:00
Patrick Walton
79d2f25707 Bug 703421 - Implement the Android draw metadata listener to fix races. r=kats 2011-11-18 18:07:14 -08:00
Doug Turner
18a80a1358 Bug 0 - Moving embedding/android into mobile/android/base. r=mfinkle,blassey 2011-11-18 10:28:17 -08:00