Commit Graph

724 Commits

Author SHA1 Message Date
Chris Lord
eab558f3d1 Bug 611315 - Fix handling of rotated ShadowBufferOGL
Although we currently have buffer rotation disabled for shadow buffers when
using the GL layer manager, if you re-enable it, it will be broken. This is
because we don't take into account the rotation when handling updates.

This fixes that handling by offsetting the updated region by the rotation,
and if that new region crosses texture boundaries, splitting it into
multiple uploads.
2011-08-24 15:10:03 +01:00
Chris Lord
9f3d985c52 Fix drawing of GL Thebes layers with rotation when using tiled textures
Drawing of rotated buffers relies on texture-wrapping, but in the case of
tiled textures, this would cause each individual tile to wrap instead of
wrapping the compound texture.

Add a special case for tiled textures that manually does the wrapping.
2011-08-24 15:09:59 +01:00
Benoit Girard
7ea86c481d Backout changeset 07d34812bdee, b879d413ce2d, 0c59eeb18700 due to android opengl regression on chrome pages; r=backout 2011-08-23 17:12:15 -04:00
Justin Wood
3ef675a7ec Backout Bug 594876, Bug 675474, and Bug 675532, to fix OSX64 Reftest orange, and Linux perf regression. rs+=edmorly
changeset 0a920411e64c, changeset 58147380793b, and changeset 96e052b3e845
2011-08-20 15:07:06 -04:00
Matt Woodrow
2db91dc2ea Bug 675474 - Draw all ThebesLayer content before compositing and synchronize with glXWaitX on GLX. r=bjacob,roc 2011-08-20 14:04:24 +12:00
Chris Lord
c785511059 Bug 611315 - Fix handling of rotated ShadowBufferOGL. r=mattwoodrow
Although we currently have buffer rotation disabled for shadow buffers when
using the GL layer manager, if you re-enable it, it will be broken. This is
because we don't take into account the rotation when handling uploads.

This fixes that handling by offsetting the updated region by the rotation and
adds an assertion if the updated region crosses a rotation boundary (which
should never happen).
2011-08-19 09:36:18 +01:00
Chris Lord
0aedc7dacb Bug 611315 - Fix drawing of tiled GL Thebes layers with rotation. r=mattwoodrow
Drawing of rotated buffers relies on texture-wrapping, but in the case of
tiled textures, this would cause each individual tile to wrap instead of
wrapping the compound texture.

Add a special case for tiled textures that manually does the wrapping.
2011-08-19 09:36:08 +01:00
Chris Lord
75809b99c5 Bug 674494 - Uninitialised variable in ThebesLayerBuffer::BeginPaint. r=mattwoodrow 2011-08-18 09:52:48 +12:00
Marco Bonardo
a1c8c3f3a3 Backout changeset 3db901280232, (Bug 666385) to investigate Mac Tdhtml regression. 2011-08-17 22:55:14 +02:00
Benoit Girard
c98196049e Bug 666385 - Fix tiled scrolling on Android; r=roc
--HG--
extra : rebase_source : 8a4660808501e8dfc9c58f7769b6c05db6519e83
2011-08-10 08:47:23 -07:00
Robert O'Callahan
5d0f7c6076 Bug 657401. Ensure that when our double-buffering logic expects layers to clip to their visible regions, we actually do. r=tnikkel
--HG--
extra : rebase_source : 16ea17d5a6a0177a26a3d38ae587290e194234b1
2011-08-12 10:44:50 +12:00
Robert O'Callahan
8453430402 Bug 677095. Compute reasonable destination alpha values with component-alpha blending in D3D10. r=bas
--HG--
extra : rebase_source : b0264c52df9a37334d9524e1fdd1f15e4e4df866
2011-08-12 10:40:39 +12:00
Chris Jones
02362cc047 Bug 648484, part E: Hook d3d9 shadow layers up to new system. r=BenWa 2011-07-06 13:29:27 -04:00
Chris Jones
9003c2c033 Bug 648484, part C: Forward a shadow-layer transaction after rendering in the D3D10 backend, if remote. r=joedrew
* * *
Unrot bug 648484. r=Bas. To be folded.
2011-08-09 12:38:26 -07:00
Chris Jones
cf90535cbd Bug 648484, part B: Implement shadowable layer goop for D3D10, just enough to allow sending a window buffer to the compositor. r=Bas 2011-08-09 12:38:26 -07:00
Chris Jones
df81c875f3 Bug 648484, part A: Allow D3D10 layers to render directly to a share-able texture. r=Bas 2011-08-09 12:38:26 -07:00
Chris Jones
cfdff93df0 Bug 648484, part 9: Make LayerManagerD3D10 a shadow-layer manager and forwarder. r=Bas 2011-08-09 12:38:26 -07:00
Chris Jones
d5c4f07060 Bug 648484, part 8: Implement a very basic shadow thebes layer for D3D10, only enough to support the upcoming WindowLayer. r=Bas 2011-08-09 12:38:26 -07:00
Chris Jones
e119678c6c Bug 648484, part 7: Implement a very basic shadow container layer for D3D10, only enough to support the upcoming WindowLayer. r=Bas 2011-08-09 12:38:26 -07:00
Chris Jones
c55298d9ae Bug 648484, part 6: Add code to share D3D10 textures across processes. r=Bas 2011-08-09 12:38:26 -07:00
Chris Jones
12b80c293a Bug 648484, part 4: Log layers transactions in the d3d10 backend. r=Bas 2011-08-09 12:38:26 -07:00
Chris Jones
a3317162ef Bug 648484, parts 3, 3.1, and 3.2: Allow passing a "backend hint" to GetLayerManager() to request a non-default layer manager backend. Deal with failure to hook up shadow layers. sr=roc 2011-08-09 12:38:26 -07:00
Chris Jones
8786c55e3f Bug 648484, part 2: Add various helpers, refactor ContainerLayer::SetSpecificAttributes. r=roc 2011-08-09 12:38:26 -07:00
Chris Jones
fe42f83e74 Bug 648484, part 1: Fix some warning spam. r=roc 2011-08-09 12:38:26 -07:00
Florian Haenel
c543f5d68b Bug 669602 - Fennec/OGL: Paint Artifacts on chrome pages background after scrolling. r=joe,roc 2011-08-09 11:38:05 -04:00
Matt Woodrow
343093175d Bug 675073 - Release OpenGL textures with the global context if the creating context has been destroyed. r=joe 2011-08-05 13:13:25 +12:00
Matt Woodrow
6b3e01d5ec Bug 655017 - Let gfxXlibSurface track GLXPixmaps and use this for CanvasLayerOGL. r=karlt, roc 2011-08-05 13:13:25 +12:00
Matt Woodrow
cd05bbfd33 Bug 505115 - Part 7 - Layers support for 3d transforms. r=roc 2011-08-03 15:04:20 +12:00
Marco Bonardo
b818d65b85 Merge mozilla-central and mozilla-inbound 2011-07-29 13:46:15 +02:00
Benoit Jacob
2bc65bec27 Bug 674042 - WebGL: crash in getUniformLocation with too long uniform identifiers - r=jrmuizel
This limits the length of uniform and attrib identifiers to 4095 characters, to steer clear GL implementation bugs with too long identifiers. The 4095 is totally arbitrary, all we know is that crashes happen after 2^22 chars.
2011-07-28 17:12:31 -04:00
Jeffrey Gilbert
a50f06d79d Bug 674731 - WebGL/ANGLE interop with D3D layers requests incorrect extension - r=bjacob 2011-07-28 16:37:58 -04:00
Scott Ruff
a1835137c8 Bug 649525 - WebGL layer compositing through the BasicCanvasLayer is very slow (desktop version). r=jmuizelaar 2011-07-27 13:00:17 +02:00
Matthew Gregan
db3428cfec Bug 672755 - Add memory reporters for decoded video and audio queues. r=cpearce r=joe 2011-07-22 15:17:23 +12:00
Matt Woodrow
ba6834dec3 Bug 670573 - Add glTex(Sub)Image2D wrappers that correctly handle stride and alignment. r=derf 2011-07-25 19:32:56 +12:00
Matt Woodrow
071b50617b Backed out changeset 39fef2383893 2011-07-25 13:18:23 +12:00
Matt Woodrow
0b746c54ed Bug 670573 - Add glTex(Sub)Image2D wrappers that correctly handle stride and alignment. r=derf 2011-07-25 12:50:00 +12:00
arno renevier
5388ac92cf Bug 669299 - Remove unneeded nsPrintfCString.h includes. r=bsmedberg 2011-07-21 04:37:31 +02:00
Oleg Romashin
7d3e811adb Bug 671986 - ImageLayerOGL does not apply offset/transform for layer r=jrmuizel 2011-07-17 12:07:41 +02:00
Chris Jones
d8c3256765 Merge backout 2011-07-15 11:36:22 -07:00
Chris Jones
24f027292c Back out bug 648484 2011-07-15 11:35:55 -07:00
Chris Jones
d827503aa5 Bug 648484, part E: Hook d3d9 shadow layers up to new system. r=BenWa 2011-07-06 13:29:27 -04:00
Chris Jones
935a393f3a Bug 648484, part C: Forward a shadow-layer transaction after rendering in the D3D10 backend, if remote. r=joedrew
* * *
Unrot bug 648484. r=Bas. To be folded.
2011-07-13 22:43:43 -07:00
Chris Jones
bdfb401e6b Bug 648484, part B: Implement shadowable layer goop for D3D10, just enough to allow sending a window buffer to the compositor. r=Bas 2011-07-13 22:43:43 -07:00
Chris Jones
cb2ee3417a Bug 648484, part A: Allow D3D10 layers to render directly to a share-able texture. r=Bas 2011-07-13 22:43:43 -07:00
Chris Jones
8325aff847 Bug 648484, part 9: Make LayerManagerD3D10 a shadow-layer manager and forwarder. r=Bas 2011-07-13 22:43:43 -07:00
Chris Jones
0a936edcc7 Bug 648484, part 8: Implement a very basic shadow thebes layer for D3D10, only enough to support the upcoming WindowLayer. r=Bas 2011-07-13 22:43:43 -07:00
Chris Jones
9037e7684c Bug 648484, part 7: Implement a very basic shadow container layer for D3D10, only enough to support the upcoming WindowLayer. r=Bas 2011-07-13 22:43:43 -07:00
Chris Jones
e77d94694c Bug 648484, part 6: Add code to share D3D10 textures across processes. r=Bas 2011-07-13 22:43:43 -07:00
Chris Jones
46987600ab Bug 648484, part 4: Log layers transactions in the d3d10 backend. r=Bas 2011-07-13 22:43:43 -07:00
Chris Jones
289ccdf1c6 Bug 648484, part 3 and part 3.1: Allow passing a "backend hint" to GetLayerManager() to request a non-default layer manager backend. Deal with failure to hook up shadow layers. sr=roc 2011-07-13 22:43:43 -07:00