Commit Graph

3504 Commits

Author SHA1 Message Date
Chris Jones
01bd80b344 Bug 648484, part E: Hook d3d9 shadow layers up to new system. r=BenWa 2011-07-06 13:29:27 -04:00
Chris Jones
3a8730cfb8 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-06 13:29:27 -04:00
Chris Jones
fdccfcc943 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-06 13:29:27 -04:00
Chris Jones
dcfb4599ee Bug 648484, part A: Allow D3D10 layers to render directly to a share-able texture. r=Bas 2011-07-06 13:29:27 -04:00
Chris Jones
2019352cf7 Bug 648484, part 9: Make LayerManagerD3D10 a shadow-layer manager and forwarder. r=Bas 2011-07-06 13:29:27 -04:00
Chris Jones
50a0f24763 Bug 648484, part 8: Implement a very basic shadow thebes layer for D3D10, only enough to support the upcoming WindowLayer. r=Bas 2011-07-06 13:29:27 -04:00
Chris Jones
d7df36fbe8 Bug 648484, part 7: Implement a very basic shadow container layer for D3D10, only enough to support the upcoming WindowLayer. r=Bas 2011-07-06 13:29:27 -04:00
Chris Jones
d455e8ab6b Bug 648484, part 6: Add code to share D3D10 textures across processes. r=Bas 2011-07-06 13:29:27 -04:00
Chris Jones
dc8f49c9a6 Bug 648484, part 5: Create our D3D10 device so as to allow cross-process resource sharing. r=Bas 2011-07-06 13:29:26 -04:00
Chris Jones
61d03418ec Bug 648484, part 4: Log layers transactions in the d3d10 backend. r=Bas 2011-07-06 13:29:26 -04:00
Chris Jones
1383ae51c9 Bug 648484, part 2: Add various helpers, refactor ContainerLayer::SetSpecificAttributes. r=roc 2011-07-06 13:29:26 -04:00
Chris Jones
179dd1b1f5 Bug 648484, part 1: Fix some warning spam. r=roc 2011-07-06 13:29:26 -04:00
Mounir Lamouri
620eea42dc Merge mozilla-central into mozilla-inbound. 2011-07-06 14:49:29 +02:00
L. David Baron
dbb636b97e Only apply overflow area reported by native theme to the visual overflow, and not to the scrollable overflow. (Bug 669284) r=bzbarsky 2011-07-06 12:03:23 +02:00
Jonathan Kew
18076188b4 bug 669175 - [harfbuzz] fix indexing in reverse_range() to avoid pathological perf & incorrect results. r=behdad 2011-07-06 08:01:41 +01:00
Jacob Bramley
6d297c4c1a Bug 666918: Allow some routines to omit the frame pointer even with --enable-profiling. This will break call-graphs for these functions, but an --enable-profiling build won't work without it. [r=cjones] 2011-07-05 09:48:40 +01:00
Bas Schouten
20707018d6 Bug 668801 - Followup: Properly address review comments. 2011-07-05 08:52:48 +00:00
Bas Schouten
951afc154e Bug 668801 - Part 3: Adjust dealing with clipped shadows to be accurate. r=jrmuizel 2011-07-05 06:28:20 +00:00
Bas Schouten
1234946c68 Bug 668801 - Part 2: Fix small bug in Azure shadow drawing. r=jrmuizel 2011-07-05 06:28:17 +00:00
Bas Schouten
756d1c7e15 Bug 668801 - Part 1: Adjust Azure for traditional shadow drawing style. r=jrmuizel 2011-07-05 06:28:14 +00:00
Matt Woodrow
dbbef6ee35 Bug 656185 - Part 4 - Upload the entire image for PlanarYCbCrImageD3D10 to a texture and clip using texture coordinates. r=Bas 2011-07-05 14:52:50 +12:00
Matt Woodrow
dd264db48d Bug 656185 - Part 3 - Upload the entire image for PlanarYCbCrImageD3D9 to a texture and clip using texture coordinates. r=Bas 2011-07-05 14:52:34 +12:00
Matt Woodrow
89e737996c Bug 656185 - Part 2 - Upload the entire image for PlanarYCbCrImageOGL to a texture and clip using texture coordinates. r=derf 2011-07-05 14:52:00 +12:00
Matt Woodrow
7ab3748569 Bug 656185 - Part 1 - Move BindAndDrawQuadWithTextureRect into LayerManagerOGL. r=joe 2011-07-05 14:50:38 +12:00
Benoit Girard
9c46ca57c5 Bug 636707 - Check for null MacIOSurfaceImageOGL. r=mattwoodrow 2011-07-04 09:51:37 -04:00
Benoit Girard
dd61f3a2ea Bug 648480 - Add shadow-layer support to d3d9 backend. r=cjones 2011-07-04 09:15:05 -04:00
Ed Morley
e2dd282c90 Bug 661584 - Substitute final PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc 2011-07-03 11:53:40 +02:00
Benoit Girard
069dc7b333 Backout 627489bb6288. 2011-07-01 18:05:54 -04:00
Marco Bonardo
d6c4314155 Merge last green changeset from mozilla-central to mozilla-inbound 2011-07-01 23:56:44 +02:00
Benoit Girard
c83b82cbd1 Bug 648480 - Add shadow-layer support to d3d9 backend. r=cjones 2011-07-01 16:57:15 -04:00
Jonathan Kew
21a371ca1a bug 666893 - add padding pixels to DWrite text bounds because of ClearType bleed when using GDI Classic mode. r=roc 2011-07-01 07:38:17 +01:00
Jonathan Kew
636a69c177 bug 553571 - try to avoid breaking font runs at ZWNJ when using font fallback, because Indic scripts require shaping across the ZWNJ character. r=roc 2011-07-01 07:38:14 +01:00
Makoto Kato
09ff6f5746 Bug 413019 - Remove PGO workaround for some modules. r=ted 2011-07-01 12:46:02 +09:00
Steven Michaud
b9da15d745 Bug 659851 - Firefox and Lion disagree on GLintptr. f=bas.schouten r=bjacob 2011-06-30 14:06:25 -05:00
Benoit Girard
2655767197 Bug 663259 - Part 1: Mac Async rendering fixes. r=josh 2011-06-30 12:46:25 -04:00
Ryan VanderMeulen
3daf9bf212 Bug 667663 - Silence MSVC warning by returning NULL if DWrite is disabled. r=bas 2011-06-30 14:35:46 +02:00
Ehsan Akhgari
68be621524 Merge mozilla-central and mozilla-inbound 2011-06-30 05:08:20 -04:00
Oleg Romashin
fdc131bf41 Bug 668368 - Logging.h compile fail due to missing stdio.h r=bas.schouten 2011-06-29 15:13:21 -07:00
Jonathan Kew
b6406524e0 bug 663688 - back out changeset c4b84b05c46c to revert the workaround that disabled downloadable fonts on Lion. r=jdaggett 2011-06-29 14:16:12 +01:00
Justin Lebar
169b00ccad Bug 664486 - Add page fault counts to about:memory on Linux and Mac. r=njn, sr=bz
--HG--
extra : rebase_source : 47dd7501dea7ae69e01828a5c730e8853739dc71
2011-06-16 14:34:09 -04:00
Jeff Muizelaar
a4fa82cf61 2D: Add a comment about why we need to know the fill mode early. r=bas 2011-07-07 12:57:52 -04:00
Chris Jones
1ed2dae061 Bug 662038, part 3: Implement dashing for d2d. r=Bas 2011-06-29 14:34:58 -07:00
Chris Jones
546a15416f Bug 662038, part 2: Add dashing API to Azure. r=Bas sr=roc 2011-06-29 14:34:58 -07:00
Chris Jones
c4559259a5 Bug 662038, part 0: Add gfxContext::CurrentDash(). r=jrmuizel 2011-06-29 14:34:58 -07:00
Marco Bonardo
e42980dbde Merge last green changeset from mozilla-inbound to mozilla-central 2011-06-28 11:17:15 +02:00
Bas Schouten
915c27a3f4 Bug 667290: Properly clear the downsampled destination before blending to it. r=jrmuizel 2011-06-28 02:10:06 +02:00
Benoit Jacob
c4cbfb78a0 Bug 665934 - fix bug: arev was meant instead of amap - r=upstream
This patch has been taken in ANGLE upstream as r699.
2011-06-27 13:27:04 -04:00
Mounir Lamouri
d8b025aad8 Backout changeset 4e87265b9c11 (bug 663259) due to Talos regression. 2011-06-27 14:52:57 +02:00
Matt Woodrow
cc66446a05 Back out bug 656185 due to windows compile failures 2011-06-27 15:21:22 +12:00
Matt Woodrow
31412c006b Bug 656185 - Part 4 - Fix for D3D9. r=Bas 2011-06-27 14:32:42 +12:00
Matt Woodrow
379c7e6f82 Bug 656185 - Part 3 - Fix for D3D10. r=Bas 2011-06-27 14:32:34 +12:00
Matt Woodrow
8aba398b72 Bug 656185 - Part 2 - Handle odd crop offsets correctly with OpenGl. r=derf 2011-06-27 14:32:16 +12:00
Matt Woodrow
9376e72c7e Bug 656185 - Part 1 - Move BindAndDrawQuadWithTextureRect into LayerManagerOGL. r=joe 2011-06-27 14:32:06 +12:00
Benoit Girard
6455de56ad Enabled Mac Async plugin by default + Fixes. b=663259 r=josh 2011-06-25 15:12:59 -04:00
Benoit Girard
9f6defe8cd Bug 577224 - Fix nsCARenderer warnings; r=smichaud 2011-06-24 10:49:42 -04:00
Takanori MATSUURA
bd263d1c2f Bug 667286 - Include cairo.h as "cairo.h" instead of "cairo/cairo.h"; r=bas 2011-06-26 23:10:35 +09:00
Ed Morley
af1d9c6c2b Bug 661584 - Code cleanup, substitute more PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc,ted 2011-06-25 16:06:02 +02:00
Jonathan Kew
f4cbe3b555 bug 663688 - prefer CGFont APIs to older ATS APIs on 10.6 or later. r=smichaud,roc 2011-06-24 18:55:27 +01:00
Bas Schouten
bfb8808747 Bug 651858 - Part 5: Add CanvasLayer code for azure. r=jrmuizel 2011-06-24 19:41:18 +02:00
Bas Schouten
933cae4fbb Bug 651858 - Part 4: Implement API for creating a D3D10 compatible DrawTarget. r=roc 2011-06-24 19:41:18 +02:00
Bas Schouten
58d40df2a4 Bug 651858 - Part 3: Add layers API for creating an optimal DrawTarget. r=roc 2011-06-24 19:41:18 +02:00
Bas Schouten
1c08a19bd8 Bug 651858 - Part 2: Add glue code in gfx for thebes-azure interop. r=jrmuizel 2011-06-24 19:41:18 +02:00
Bas Schouten
1fb2634ff2 Bug 651858 - Part 1: Add the Azure API and Direct2D backend. r=jrmuizel sr=roc
--HG--
rename : gfx/src/BaseMargin.h => gfx/2d/BaseMargin.h
rename : gfx/src/BasePoint.h => gfx/2d/BasePoint.h
rename : gfx/src/BaseRect.h => gfx/2d/BaseRect.h
rename : gfx/src/BaseSize.h => gfx/2d/BaseSize.h
2011-06-24 19:41:16 +02:00
Marco Bonardo
d50a414c3e Merge last green changeset in mozilla-inbound to mozilla-central 2011-06-24 11:32:12 +02:00
Ed Morley
d44febb3ea Bug 665622 - Fix unused variable warnings in GLContext.cpp & GLContextProviderEGL.cpp; r=joedrew 2011-06-23 19:01:17 -07:00
Daniel Holbert
9649e82049 Bug 661969: If no delay is passed to gfxFontInfoLoader::StartLoader, use the interval as delay. r=jdaggett 2011-06-23 19:01:17 -07:00
Jeff Muizelaar
9c940cc534 Bug 662649. DrawFPS: Make the conversion loop easier to follow. r=joe 2011-06-22 14:53:11 -04:00
Jeff Muizelaar
d2cc193c0b Bug 662649. DrawFPS: Add a comment about why DrawFPS is a little weird. 2011-06-22 14:49:31 -04:00
Jeff Muizelaar
f15d555c8f Bug 662649. DrawFPS: Make sure we use a 32 bit type instead of a 64 bit one. r=joe
This was causing badness on platforms where unsigned long is 64 bits.
2011-06-22 14:46:27 -04:00
Jeff Muizelaar
e70b966d11 Bug 662649. DrawFPS: free leaked buffer. r=joe
glTexImage2D will keep a copy of this data around so we don't have to.
2011-06-22 14:43:52 -04:00
Jeff Muizelaar
5db1ac6018 Bug 661658. Fix pointer as int size problem on Win64. r=joedrew
The glyph cache uses a pointer for a hash value, and uses
that hash value as a pointer. We need to ensure that the
hash type is large enough to fit a pointer.
2011-06-22 14:38:25 -04:00
Ehsan Akhgari
6905c5d4c5 Merge the last green changeset of mozilla-inbound to mozilla-central 2011-06-22 19:17:32 -04:00
Mats Palmgren
0efe54035d Bug 312156 - Make gfxFont::HasCharacter work for Pango fonts. r=roc 2011-06-22 20:11:47 +02:00
Robert O'Callahan
ae6647d4d2 Bug 637852. Part 26: Ensure that FrameMetrics coordinates are correctly stored as layer coordinates. r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan
70312fec05 Bug 637852. Part 25: Add nsSize ScaleToNearestPixels. r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan
779fca303f Bug 637852. Part 21: Skip invalidation if aRegionToInvalidateIsEmpty (note that ScaleRoundOut on an empty bounds rect can return a non-empty rect). r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan
0c48fabd49 Bug 637852. Part 18: Support computing the "residual transform" for a ThebesLayer --- the difference between its snapped transform and the ideal transform --- and use it to align ThebesLayer drawing for transforms that aren't changing. r=tnikkel
This fixes bug 637597 and probably other bugs.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
9c74d507a9 Bug 637852. Part 11: Remove ExtendForScaling from nsRect and nsRegion. r=joe
This is good because the semantics of this method always sucked.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
7f64e9bccf Bug 637852. Part 10: Remove mX/YResolution from ThebesLayer. r=joe
These are the last vestiges of Layer-based resolution API.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
0cc6be313b Bug 637852. Part 9: Remove resolution support from BasicLayers, ShadowLayers and GL layers. r=mattwoodrow
This is not needed anymore.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
64c5e295e0 Bug 637852. Part 8: Remove resolution support from D3D9 layers. r=mattwoodrow
Layer-system resolution support is no longer needed.
2011-06-23 00:11:27 +12:00
Robert O'Callahan
0041df680e Bug 637852. Part 7: Remove resolution support from D3D10 layers. r=mattwoodrow
Layer-system resolution support is no longer needed.
2011-06-23 00:11:27 +12:00
Robert O'Callahan
fcf2510a5d Bug 637852. Part 6: Implement resolution scaling in FrameLayerBuilder. r=tnikkel
FrameLayerBuilder::BuildContainerLayerFor takes responsibility for resolution scaling. The ContainerParameters
passed in are added to any transform requested. Then we extract the scale part of the transform, round the scale
up to the nearest power of two if the transform may be actively animated (so we don't have to redraw layer contents
constantly), pass that scale down to be applied by each child and set the residual transform on the ContainerLayer.

For child layers built via BuildLayer, we just pass the requested scale factor in via the ContainerParameters.
If the returned layer is a ContainerLayer then BuildLayer is guaranteed to have already done necessary scaling.
If the returned layer is not a ContainerLayer then we apply the scale ourselves by adding the scale to the
child layer's transform.

For child ThebesLayers containing non-layer display items, we scale the drawing of those display items so that
the child ThebesLayers are simply larger or smaller (larger or smaller visible regions).

We have to scale all visible rects, clip rects etc that are in the coordinates of ThebesLayers or the parent
ContainerLayer. To keep things simple we do this whenever we convert from appunits to integer layer coordinates.

When a ThebesLayer's resolution changes we need to rerender the whole thing.

nsDisplayList::PaintForFrame needs to respect the presshell's resolution setting. We do that by building a layer tree
with a ContainerParameters requesting a scale up by the presshell resolution; once that layer tree is built, we
adjust the root layer transform to scale back down by the resolution.
2011-06-23 00:11:27 +12:00
Robert O'Callahan
3cbadba941 Bug 637852. Part 4: Add nsRegion::ScaleInverseRoundOut and nsRegion::ScaleToOutsidePixels APIs. r=joe 2011-06-23 00:11:27 +12:00
Robert O'Callahan
c58a20de4e Bug 637852. Part 3: Add nsPoint::ScaleToNearestPixels, nsRect::ScaleToNearestPixels, nsRect::ScaleToInsidePixels and nsRect::ScaleToOutsidePixels APIs. r=joe 2011-06-23 00:11:27 +12:00
Robert O'Callahan
06e6b72a58 Bug 637852. Part 2: Add BaseRect::ScaleInverseRoundOut API. r=joe 2011-06-23 00:11:27 +12:00
Robert O'Callahan
2685eb6583 Bug 637852. Part 1: Don't snap BasicThebesLayer effective transforms when we're not retaining layers. r=tnikkel
The ThebesLayer contents are going to be drawn through directly without retaining, so there's no point in snapping.
2011-06-23 00:11:27 +12:00
Ehsan Akhgari
006b4e90d7 Merge the last green changeset of mozilla-inbound to mozilla-central 2011-06-22 15:50:44 -04:00
Jonathan Kew
8cbce74327 bug 476927 - add padding to text bounds on OS X to allow for possible antialiasing pixels. r=roc 2011-06-22 09:49:57 +01:00
Jonathan Kew
f3ed02ab79 bug 475968 - add padding pixels to loose ink bounds on Windows because of ClearType pixel bleed. r=roc 2011-06-22 09:49:53 +01:00
Steven Michaud
cf03bf9786 Bug 663688 - Temporarily default to turning off downloadable fonts on OS X Lion. r=jdaggett,jfkthame 2011-06-20 10:42:39 -05:00
Benoit Girard
3eb91dc88f Bug 572571 - Abort Core Animation rendering for windows that are too large. r=josh 2010-08-01 19:15:25 -04:00
Mounir Lamouri
3be4c39ecb Merging mozilla-inbound with mozilla-central. 2011-06-18 18:29:10 +02:00
Jacek Caban
7144aad2b8 Bug 663784 - Don't use using statement before includes r=masayuki 2011-06-17 14:55:51 +02:00
Jonathan Kew
4e89d25c0d bug 647560 followup - put the color components in the right order. a=test-bustage 2011-06-17 09:14:09 +01:00
Robert O'Callahan
3c21113890 Bug 647560. Implement non-fallbacky behavior for _cairo_win32_surface_fill_rectangles on an ARGB surface, using StretchDIBits. r=jrmuizel 2011-06-17 15:36:37 +12:00
Ed Morley
c8157ac7e6 Bug 664311 - Remove WinCE code from gfx/; r=jmuizelaar 2011-06-18 11:04:30 +02:00
Benoit Jacob
4285792db3 Bug 659842 comment 86 - accidentally removed a glXDestroyContext call + fix a warning in opt build - r=trivial-fix 2011-06-17 21:42:31 -04:00
Benoit Jacob
8dbe82a76f Bug 659842 - [topcrash] release the GL context before calling glXDestroyContext - r=karlt
See the glXDestroyContext man page:

  If GLX rendering context ctx is not current to any thread,
  glXDestroyContext  destroys it immediately.  Otherwise, ctx is destroyed
  when it becomes not current to any thread.  In either case, the resource ID
  referenced by ctx is freed immediately.

In other words, if we want glXDestroyContext to have the well-defined semantics
of destroying the context before future X commands take effect, we must first
release the GL context before calling it. We were failing to do that, but we
were destroying the drawable immediately after that call, and as a result, the
context was outliving its underlying drawable. This eventually resulted in
X_GLXMakeCurrent: GLXBadContextTag X errors on subsequent glXMakeCurrent calls.
2011-06-17 11:49:27 -04:00
Oleg Romashin
dea57d8792 Bug 660565 - HTML5 HW accelerated video is slow r=roc
--HG--
extra : rebase_source : 5a46d17c72caf5ec4afd3f59093be803008c61ec
2011-06-16 12:51:05 +02:00