Ehsan Akhgari
71bd0669a9
Bug 728614 - Part 2: Remove viewport offsets
2012-02-20 16:51:37 -05:00
Jeff Muizelaar
3a93b5a4c5
Bug 727939. Avoid double painting after invalidation. r=bgirard
...
This reduces the paint rate on things like runfield
so that we only paint at the rate that we're invalidating.
We do so by not requesting render in endTransaction
It looks like endTransaction is only called by endDrawing
on the gecko thread and only on VirtualLayers. We don't
need the extra requestRender call because we've already
done the rendering.
2012-02-18 18:06:30 -05:00
Brad Lassey
e85e784817
backing out e45688c8531c because it broke the build
2012-02-18 14:21:48 -05:00
Patrick Walton
a93537390c
Stub untested gralloc support, disabled for now
2012-02-17 23:53:21 -08:00
Chris Lord
78e424b0f7
Fix screen/window size change events.
...
Window size was being treated as equivalent to screen size, which it isn't.
Make sure to send the size-changed event when either the window size or the
screen size change, and to properly differentiate between the two.
2012-02-17 17:25:52 +00:00
Kartikaya Gupta
c4e060665c
(Part 5) Move overrides and abstract/interface implementations up from GeckoGLLayerClient into GeckoLayerClient
2012-02-17 10:33:23 -05:00
Kartikaya Gupta
e51de4eecb
(Part 4) Mark all gfx functions invoked by JNI so I don't shoot myself in the foot shortly
2012-02-17 10:13:56 -05:00
Kartikaya Gupta
a9d7bc61fb
(Part 3) Collapse LayerClient into GeckoLayerClient, the only subclass
2012-02-17 10:03:28 -05:00
Kartikaya Gupta
ebc21570a5
(Part 2) Stop PlaceholderLayerClient from extending LayerClient since it has nothing in common with GeckoLayerClient and makes a mockery of OOP
2012-02-17 09:56:47 -05:00
Kartikaya Gupta
a5b438d771
(Part 1) Get rid of LayerController.getLayerClient()
2012-02-17 09:32:24 -05:00
Kartikaya Gupta
43b2051ae9
Also remove dangling entrails of the layer client type
2012-02-17 09:16:14 -05:00
Kartikaya Gupta
417e4428c0
Rip out unused GeckoSoftwareLayerClient since we've committed to GL layers.
2012-02-17 09:04:50 -05:00
Kartikaya Gupta
31c5b5c646
Put back some things left out of dougt's merge
2012-02-17 01:36:49 -05:00
Doug Turner
222fba130c
Merge with mozilla-central
2012-02-16 18:06:54 -08:00
Kartikaya Gupta
64f4f0f8e3
Cache the checkberboard color so that we don't redo a bunch of work uselessly
2012-02-16 12:04:37 -05:00
Patrick Walton
fa07e9b633
Don't render while pinching. Reduces jank and makes zooming easier to debug.
2012-02-13 22:48:00 -08:00
Patrick Walton
dd0a3bbc18
Fix scissor rect and use the Java compositor's cached viewport metrics when drawing decorations
2012-02-13 20:20:38 -08:00
Kartikaya Gupta
daf42909cc
Guard against OOMing in GeckoGLLayerClient.getBitmap like we were doing in GeckoSoftwareLayerClient
2012-02-13 18:15:27 -05:00
Patrick Walton
b4211fd4ba
Expose ActivateProgram() and DeactivateProgram() to widget
2012-02-13 13:55:10 -08:00
Patrick Walton
09501a39aa
Split out Java compositor shader program activation and deactivation into separate functions
2012-02-13 12:27:09 -08:00
Patrick Walton
8a076808c5
Deactivate vertex attribute arrays and the program. Seems to fix the crashes on PowerVR.
2012-02-10 23:50:13 -08:00
Patrick Walton
78cb81814f
Uncomment the Java compositor integration, except for the part that causes PowerVR crashes
2012-02-10 23:03:02 -08:00
Ali Juma
64839a1fdf
Fix race conditions when updating view transform, by switching to an absolute transform.
2012-02-10 16:08:24 -05:00
Ali Juma
96f267b56a
Merge heads.
2012-02-10 10:31:31 -05:00
Patrick Walton
fdcd9a93f7
Expose the necessary Java routines to render decorations through JNI
2012-02-09 22:58:18 -08:00
Ali Juma
54af353fd7
Code cleanup.
2012-02-09 17:39:04 -05:00
Patrick Walton
efc1f6ee1d
Split up the LayerRenderer's drawing logic in preparation for exposing it to JNI
2012-02-08 22:27:01 -08:00
Patrick Walton
83f031eba7
Bug 723036 - Port the Java compositor to OpenGL ES 2.0
2012-02-08 21:13:08 -08:00
Benoit Girard
beb2ae7df8
Merge viewport with tip
2012-02-08 20:42:17 -05:00
Benoit Girard
b262f4ad9d
Merge working on Nexus S
2012-02-08 20:23:27 -05:00
Ali Juma
a2d1806910
Merge.
2012-02-08 19:55:13 -05:00
Benoit Girard
ea6c7d744f
Merge fixes
2012-02-08 19:01:21 -05:00
Benoit Girard
2f35d690b6
Merge m-c into maple
2012-02-08 16:43:22 -05:00
Ali Juma
b0394626a2
Fix incorrect rendering after orientation change.
2012-02-08 16:09:10 -05:00
Benoit Girard
ad35e17cb4
Merge working head with display port head
2012-02-08 12:18:27 -05:00
Benoit Girard
9b2cd37240
Remove RemoveAbstractView, pushing new head
2012-02-08 10:46:26 -05:00
Patrick Walton
67c4b7f7be
Allow redraw while a finger is down. Make this logic work properly later.
2012-02-07 23:37:29 -08:00
Patrick Walton
008db0822a
Lower the minimum viewport change delay to 25 for now
2012-02-07 23:10:58 -08:00
Ali Juma
ac787b0863
Move surface ownership to GLContextProviderEGL.
...
--HG--
extra : rebase_source : a3f83d279de5087a521a938d66c4e7b5dee79d74
2012-02-06 16:53:09 -05:00
Ali Juma
f9ebf5ebe2
Pause/resume composition on surface destruction/creation.
2012-02-06 13:57:06 -05:00
Ali Juma
92e59fd959
Add support for pausing/resuming composition from Java.
2012-02-05 13:33:38 -05:00
Patrick Walton
402747340d
Stand up async panning and zooming
2012-02-03 23:31:05 -08:00
Patrick Walton
50c7df015c
Poke the compositor to composite on a pan or zoom; stub AndroidBridge::GetViewTransform()
2012-02-03 18:35:58 -08:00
Patrick Walton
9159739ff5
Stub ViewTransform code; unbork the viewport size a bit
2012-02-03 16:39:15 -08:00
Patrick Walton
0b4a53c433
Add a virtual layer and GL layer client implementation
2012-02-03 15:48:26 -08:00
Benoit Girard
8b06842a39
Change delay to 15ms
2012-02-03 14:18:48 -05:00
Benoit Girard
92aebc0551
Remove deadcode
2012-02-03 10:26:54 -05:00
Patrick Walton
cc6fa599ae
Eliminate coupling between the software layer client and the rest of Fennec
2012-02-02 23:30:41 -08:00
Patrick Walton
c2c88cf60a
Pull parts of GeckoSoftwareLayerClient that will be used for GL layers into a generic GeckoLayerClient class
2012-02-02 22:07:05 -08:00
Patrick Walton
2b6bcfedfa
Partial removal of tiling, stub callouts
2012-02-02 19:28:22 -08:00
Benoit Girard
8c2ddab43b
Fix problems with Nexus S init
2012-02-02 13:57:38 -05:00
Benoit Girard
36780c8b69
Progress on omtc integration
2012-02-01 16:18:35 -05:00
Benoit Girard
7468656545
Move registerCxxCompositor to FlexView
2012-02-01 14:15:52 -05:00
Ali Juma
bc530734b9
Merge m-c to kiwifox
2012-02-01 12:07:14 -05:00
Patrick Walton
107405a6ee
Initial import of the flexible GL surface view
2012-01-31 21:35:52 -08:00
Benoit Girard
a6b4978cad
Android build fixes
2012-01-31 14:28:37 -05:00
Benoit Girard
7768764c56
merge mc into kiwifox
2012-01-31 13:55:51 -05:00
Benoit Girard
8b421129d7
Merge fixes
2012-01-30 15:57:30 -05:00
Chris Lord
c1e993df15
Bug 722068 - Fix invalidation during animations in MultiTileLayer. r=pcwalton
...
The buffer in MultiTileLayer is invalidated each time the origin or resolution
changes. MultiTileLayer was using the last updated origin/resolution instead of
the last set, so if Gecko was animating and locked the layer for long enough,
the buffer would be incorrectly invalidated due to the origin/resolution not
being updated.
2012-01-31 09:36:02 +00:00
Chris Lord
30f5d53aa8
Bug 720613 - Prevent resizing before the surface has been created. r=pcwalton
...
Prevent trying to resize the buffer before the surface has been created. At
that point, we wouldn't know our maximum texture size, so we would've thrown a
RuntimeException.
2012-01-31 09:36:00 +00:00
Benoit Girard
cc153dc324
Mergi mc to kiwifox, lots of conflicts so may not build
2012-01-30 13:38:20 -05:00
Benoit Girard
349ea74b39
Add missing files
2012-01-27 13:32:37 -05:00
Kartikaya Gupta
023caa61db
Bug 708687 - Snap the page when the page size changes and pushes it into overscroll. r=pcwalton
2012-01-30 23:43:36 -05:00
Kartikaya Gupta
67add8af20
Bug 720144 - Expose methods in robocop to grab the painted surface and to compare pixels. r=jmaher
2012-01-30 22:46:13 -05:00
Kartikaya Gupta
10db96c244
Bug 720144 - Allow listening for draw updates and obtaining a copy of the composited surface for robocop testing. r=Cwiiis
2012-01-30 22:45:38 -05:00
Benoit Girard
2a3688a8df
Partial work for android OGLSurfaceView
...
--HG--
extra : rebase_source : 2c6ce362dd859e9f81a5b4490e2451826259a651
2012-01-26 14:23:13 -05:00
Brad Lassey
58bc88d22e
bug 713874 - Black thumbnails are produced by GeckoSoftwareLayerClient.getBitmap() r=mfinkle
2012-01-13 13:10:13 -05:00
Jonathan Kew
b1adbbce36
Backed out changeset ba3335f34100 (bug 713874) for Android build failures.
2012-01-14 22:19:31 +00:00
Brad Lassey
5357ae134e
bug 713874 - Black thumbnails are produced by GeckoSoftwareLayerClient.getBitmap() r=mfinkle
...
--HG--
extra : rebase_source : 18d463ca4c44610a07ba7de582c6f114404eab8f
2012-01-13 13:10:13 -05:00
Kartikaya Gupta
7a58e90d7c
Bug 715836 - Ensure the UI is only modified from the UI thread. r=pcwalton
2012-01-13 07:03:22 -05:00
Kartikaya Gupta
8637bcee20
Bug 715836 - (Cleanup) Remove unused functions. r=pcwalton
2012-01-13 07:03:22 -05:00
Chris Peterson
adf7970c58
Bug 714874 - Fix Java warnings about redundant casts. r=pcwalton r=dougt a=dougt
2012-01-06 12:21:49 -08:00
Patrick Walton
cdc3fe1942
Bug 708746 - Part 5: Make the initial viewport size and page size equal to the device screen dimensions instead of 1 pixel by 1 pixel. r=kats
2012-01-06 16:42:48 -08:00
Chris Lord
55450d6017
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
dd6d417d5d
Bug 709120 - Use MultiTileLayer in Android native fennec. r=pcwalton
...
This uses MultiTileLayer instead of SingleTileLayer for devices that don't have
gralloc support. This has the advantage of reduced memory usage due to less
wastage from power-of-two textures, and can be a performance boost due to slow
sub-image updates on some devices.
2012-01-06 11:22:38 +00:00
Chris Lord
2fee06e344
Bug 709120 - Add MultiTileLayer to Android native fennec. r=pcwalton
...
This adds a new layer type that uses multiple SingleTileLayer's to implement
tiled layer support. This also assumes a back-buffer that is tiled, so that
texture updates can remain fast (relatively speaking).
2012-01-06 11:22:24 +00:00
Chris Lord
a560f7f2c4
Bug 721070 - Checkerboarding at bottom after pinch zooming out. r=kats,pcwalton
...
Certain conditions would cause MultiTileLayer to incorrectly invalidate tiles,
or to reuse tiles incorrectly, which would cause checkerboarding (sometimes
permanent until a redraw occurs).
This addresses said issues:
- Removes manual invalidation on Document:Shown and Tab:Selected. This is
unnecessary, as the entire buffer will be invalidated when this happens
anyway. Sometimes Document:Shown happens *after* drawing has occurred,
which caused the entire screen to checkerboard incorrectly.
- Fix re-using off-screen tiles with the incorrect resolution. Tiles are stored
in a hash-map based on their unscaled position. As only tiles that intersect
with the update region in tile-space are invalidated, sometimes tiles that
were off-screen, but whose unscaled tile origin appears on-screen would be
incorrectly re-used. Fix this by checking that a tile's resolution matches the
current resolution before reusing it.
2012-01-26 20:19:35 +00:00
Chris Lord
8750f68b59
Bug 721100 - After panning, tap area is offset at wrong place. r=pcwalton
...
When rendering with an offset for MultiTileLayer, the tile origin was moved
to compensate, but this lead to there being a mismatch between Gecko's
displayport origin and the one recorded on the Java side.
Instead of altering the origin, allow setting a render offset on MultiTileLayer
instead, so the origin remains correct.
2012-01-26 20:18:47 +00:00
Brad Lassey
0cb5691661
bug 711201 - instrument when we paint for performance testing r=dougt
2012-01-24 15:53:49 -05:00
Margaret Leibovic
361cb84d37
Bug 721220 - Send message back to java after tab selection is complete. r=mbrubeck
2012-01-25 20:06:08 -08:00
Kartikaya Gupta
fbd9e4aea1
Bug 718270 - When hiding the VKB on small pages, increase page size to prevent zoom-in. r=pcwalton
2012-01-25 17:16:03 -05:00
James Willcox
37d3c2bd21
Bug 715190 - Clear existing GL errors before trying to check for a new one r=clord
2012-01-04 21:51:11 -05:00
Wes Johnston
2fd2e86804
Bug 719309 - Follow up. Rename a variable. r=mfinkle
2012-01-25 01:41:02 +01:00
Wes Johnston
8cf1ffe8b1
Bug 719309 - Hook up touch events pref and disable them for now. r=mfinkle
2012-01-25 01:31:33 +01:00
Wes Johnston
b4f82372f4
Bug 719240 - Delay sending touchmove events until touches have moved a minimum distance. r=mfinkle
2012-01-25 01:31:33 +01:00
Wes Johnston
38ab14764c
Bug 603008 - Only delay panning on pages with touch listeners. r=mfinkle
2012-01-25 01:31:33 +01:00
Wes Johnston
a02904d162
Bug 603008 - Android widget multitouch implementation. r=blassey,kats
2012-01-25 01:31:33 +01:00
Patrick Walton
918dd9c009
Bug 710533 - Tint the checkerboard with the background color of the page. r=Cwiiis
2012-01-23 20:10:24 -08:00
Chris Lord
cef8ea399b
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
Chris Lord
baf63d1e38
Bug 717283 - Store sub-tile metrics on the tile object. r=pcwalton
...
Instead of deriving sub-tile metrics on each iteration, create a SingleTileLayer
sub-class and store them there.
2012-01-24 15:38:29 +00:00
Phil Ringnalda
68bc9fb0e8
Backed out changeset b77c0c621163 (bug 710533) for native ts bustage
2012-01-23 23:33:05 -08:00
Phil Ringnalda
1d1f061673
Back out 420d7b8ed59d for being a bad backout
2012-01-23 23:32:11 -08:00
Phil Ringnalda
4d92a24459
Backed out changeset b77c0c621163 (bug 710533) for native ts bustage
2012-01-23 22:53:07 -08:00
Patrick Walton
9120d78e9d
Bug 710533 - Tint the checkerboard with the background color of the page. r=Cwiiis
2012-01-23 20:10:24 -08:00
Patrick Walton
29365a4489
Bug 706684 - Implement a simpler scale gesture listener on Android. r=Cwiiis
2012-01-23 19:18:24 -08:00
Ed Morley
c4c32df0c4
Backout 91eebc6bdb59 & 7d776b291014 (bug 717283) for Android native reftest crashes
2012-01-22 11:55:18 +00:00
Chris Lord
d70b23ac39
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
Chris Lord
9426018c8c
Bug 717283 - Store sub-tile metrics on the tile object. r=pcwalton
...
Instead of deriving sub-tile metrics on each iteration, create a SingleTileLayer
sub-class and store them there.
2012-01-22 09:40:26 +00:00
Patrick Walton
6ba521126c
Bug 707956 - Restore original zoom scale on double rotation. r=kats
2012-01-20 21:14:03 -08:00
Matt Brubeck
4a1a0d545b
Back out 47584f117727 and e05a8743389a (bug 717283) because of native Android startup crashes
2012-01-20 11:42:34 -08:00