Граф коммитов

620 Коммитов

Автор SHA1 Сообщение Дата
Vivien Nicolas d7877250d0 backout bug 647560 - Pages on Fennec desktop does not not draw anymore 2011-05-20 17:45:00 +02:00
Florian Hänel 9b0ef26bc8 Bug 628566 - Implement basic tiling of ImageLayerOGL. r=joe 2011-05-19 12:53:02 +02:00
Robert O'Callahan 47ede5b8e2 Bug 647560. Remove unused MayHaveOverlappingOrTransparentLayers. r=tnikkel 2011-05-18 23:24:52 +12:00
Robert O'Callahan b3d6e4d026 Bug 647560. Cache temporary backbuffer surfaces. r=karlt 2011-05-18 23:24:52 +12:00
Robert O'Callahan 66c2bd79f5 Bug 647560. Create ApplyDoubleBuffering to recursively walk layer tree and implement double-buffering by setting mUseIntermediateSurface on ContainerLayers where necessary. r=tnikkel
The idea here is to do double-buffering just by setting mUseIntermediateSurface on ContainerLayers when needed. When
we need to double-buffer compositing of a layer tree, ApplyDoubleBuffering examines the root container layer. If the
child layers don't overlap and together cover the window, we don't need to double-buffer in that container, instead
we can double-buffer each child layer separately --- so we recursively call ApplyDoubleBuffering on the child layers.
When a container has children that overlap or that don't cover the container's visible rect (the latter case
probably can't happen in practice), we force it to have an intermediate surface.

This change fixes this bug because in normal browser windows the Web content layer double-buffers
2011-05-18 23:24:52 +12:00
Robert O'Callahan c768bea25e Bug 647560. Add support for compositing BasicLayers with OPERATOR_SOURCE. r=tnikkel
We'll need this for the improved backbuffer code in the next patch. When a layer tree's
leaf layers don't overlap and cover the window, the next patch will avoid double-buffering
by blitting those layers directly to the window. If the window has transparent parts
(e.g. with Aero Glass), we need to draw the layers for those transparent parts using
OPERATOR_SOURCE so that the alpha values in the window are reset.
2011-05-18 23:24:52 +12:00
Robert O'Callahan f243295b25 Bug 647560. Clean up MarkLeafLayersHidden and make it set the hidden state on container layers. r=tnikkel
Instead of doing tricks with the cliprect to prevent layer content from adding to aOpaqueRegion, pass an explicit flag to control that.
Mark a ContainerLayer hidden if all its children are hidden. This will need to be changed if/when we add layer properties
that result in a ContainerLayer drawing content even if it has no children.
2011-05-18 23:24:52 +12:00
Robert O'Callahan 211b76b78d Bug 629866. Part 2: Make MarkLeafLayersHidden actually hide layers that aren't in the dirty region. Don't consider hidden layers when deciding whether double-buffering is needed. r=cjones 2011-05-18 23:24:52 +12:00
Mounir Lamouri 127ecf5ea3 Backout bug 629866 and bug 647560. 2011-05-17 11:44:17 +02:00
Robert O'Callahan bfdfab0931 Bug 647560. Remove unused MayHaveOverlappingOrTransparentLayers. r=tnikkel 2011-05-17 11:42:19 +12:00
Robert O'Callahan 5649b24aa6 Bug 647560. Cache temporary backbuffer surfaces. r=karlt 2011-05-17 11:42:11 +12:00
Robert O'Callahan b021c0ce1b Bug 647560. Create ApplyDoubleBuffering to recursively walk layer tree and implement double-buffering by setting mUseIntermediateSurface on ContainerLayers where necessary. r=tnikkel
The idea here is to do double-buffering just by setting mUseIntermediateSurface on ContainerLayers when needed. When
we need to double-buffer compositing of a layer tree, ApplyDoubleBuffering examines the root container layer. If the
child layers don't overlap and together cover the window, we don't need to double-buffer in that container, instead
we can double-buffer each child layer separately --- so we recursively call ApplyDoubleBuffering on the child layers.
When a container has children that overlap or that don't cover the container's visible rect (the latter case
probably can't happen in practice), we force it to have an intermediate surface.

This change fixes this bug because in normal browser windows the Web content layer double-buffers
2011-05-17 11:42:05 +12:00
Robert O'Callahan 4005a3a447 Bug 647560. Add support for compositing BasicLayers with OPERATOR_SOURCE. r=tnikkel
We'll need this for the improved backbuffer code in the next patch. When a layer tree's
leaf layers don't overlap and cover the window, the next patch will avoid double-buffering
by blitting those layers directly to the window. If the window has transparent parts
(e.g. with Aero Glass), we need to draw the layers for those transparent parts using
OPERATOR_SOURCE so that the alpha values in the window are reset.
2011-05-17 11:41:57 +12:00
Robert O'Callahan 6f33d6ea53 Bug 647560. Clean up MarkLeafLayersHidden and make it set the hidden state on container layers. r=tnikkel
Instead of doing tricks with the cliprect to prevent layer content from adding to aOpaqueRegion, pass an explicit flag to control that.
Mark a ContainerLayer hidden if all its children are hidden. This will need to be changed if/when we add layer properties
that result in a ContainerLayer drawing content even if it has no children.
2011-05-17 11:41:48 +12:00
Robert O'Callahan e8c9f1c8a5 Bug 629866. Part 2: Make MarkLeafLayersHidden actually hide layers that aren't in the dirty region. Don't consider hidden layers when deciding whether double-buffering is needed. r=cjones 2011-05-17 11:41:39 +12:00
Florian Hänel 23532cf3fb Bug 643793 - Convert OpenGL scissor rects to world space in ContainerLayerOGL. r=joe 2011-05-14 12:11:37 +12:00
Oleg Romashin e221d29887 Bug 656167 - Temorarily disable or back out fixed layers. r=jones.chris.g 2011-05-12 09:49:33 -07:00
Matt Woodrow dc7c7a8cc1 Bug 649417 - Check if BasicShadowableImageLayer has a current image before attempting to use it. r=cjones 2011-05-13 12:38:44 +12:00
Matt Woodrow 875f244cda Bug 649417 - Part 2 - Add a YUV option to SharedImage and use it to share YUV data across processes. r=cjones,joe 2011-04-21 16:38:39 +12:00
Matt Woodrow 2748614ad5 Bug 649417 - Part 1 - Create a SharedImage ipdl union and pass this to ShadowImageLayer::Swap . r=cjones 2011-04-21 11:21:56 +12:00
Oleg Romashin 47d1209f8f Bug 612407 - Add FPS counter like fraps r=joe,jrmuizel 2011-05-10 21:45:42 -04:00
Matt Woodrow 53362a4bfd Bug 649685 - Don't flip when drawing the backbuffer to the window with OpenGL. r=joe 2011-05-09 11:44:03 +12:00
Mounir Lamouri 3ba0ae6a9e Backout 2348924d6410 (bug 612407) for build bustage. 2011-05-06 11:42:42 +02:00
Oleg Romashin 07d3750913 Bug 612407 - Add FPS counter like fraps r=joe 2011-05-06 11:04:14 +02:00
Chris Jones 31aa2c4e77 Bug 556214, parts 1 and 1.1: Rename Monitor to ReentrantMonitor and fix existing Monitor users. r=roc
--HG--
rename : xpcom/glue/Monitor.h => xpcom/glue/ReentrantMonitor.h
2011-04-29 14:21:57 -05:00
Oleg Romashin d2f1f3108d Bug 610155 - Use SurfaceDescriptor for ImageLayer and CanvasLayer r=jones.chris.g 2011-04-20 14:45:57 -07:00
Daniel Holbert c98ac8a3c6 Back out 0736b014d4a5 (Bug 610155) for breaking canvas reftests on android 2011-04-21 14:52:22 -07:00
Oleg Romashin ddd27efe3d Bug 610155 - Use SurfaceDescriptor for ImageLayer and CanvasLayer r=jones.chris.g 2011-04-20 14:45:57 -07:00
Zack Weinberg 0d75035ecd Bug 651017, part 4: deCOM nsIDeviceContext; include-minimization on nsDeviceContext.h itself; merge GetPrintDC() into Windows/OS/2 specific code; merge Shutdown() with ClearCachedSystemFonts(). Most references outside gfx not fixed up.
--HG--
rename : gfx/src/nsThebesDeviceContext.cpp => gfx/src/nsDeviceContext.cpp
rename : gfx/src/nsThebesDeviceContext.h => gfx/src/nsDeviceContext.h
extra : rebase_source : 9fb366d99d18c9335ba297d21f673178dae62a64
2011-04-16 18:22:42 -07:00
Robert O'Callahan fc7faceefc Bug 641426. Part 6: Rename Empty to SetEmpty. r=cjones 2011-04-19 15:07:23 +12:00
Robert O'Callahan a7b4f1246b Bug 641426. Part 5: Avoid operator== where possible to distinguish between 'equal edges' and 'equal areas' for rectangles. r=dbaron,sr=cjones 2011-04-19 15:07:23 +12:00
Robert O'Callahan 1c5c997eb5 Bug 641426. Part 3: Convert gfxRect::pos/size to x/y/width/height. r=joe,sr=cjones 2011-04-19 15:07:21 +12:00
Robert O'Callahan 629c1b7e18 Bug 641426. Part 2: Remove a bunch of direct gfxRect::pos/size usage. r=joe 2011-04-19 15:07:21 +12:00
Matt Woodrow 66e0bad817 Bug 648741 - Correctly bind pixmaps to textures during the draw call on X11 accelerated layers. r=bjacob 2011-04-19 10:50:54 +12:00
Timothy B. Terriberry 2bdc74c61a Bug 634557 - ScaleYCbCrToRGB565: Reference C version, r=doublec 2011-04-14 17:32:15 -07:00
Zack Weinberg 1628ea1551 Bug 266236 part 9: Move nsBoundingMetrics to its own header and prune inclusions of nsRenderingContext.h.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
rename : gfx/src/nsThebesRenderingContext.h => gfx/src/nsRenderingContext.h
extra : rebase_source : 92660748436f03475e011184e2828f1db0ad63e0
2011-04-07 18:04:40 -07:00
Jan Küchler c510bc3046 Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
extra : rebase_source : 34884bfcafd885feaf73300bc7246cd192062a48
2011-04-07 18:04:40 -07:00
Benjamin Stover bd3081c90a Bug 642246 Don't build ThebesLayers for elements with no displayports r=roc 2011-04-11 13:53:01 -07:00
L. David Baron 522a8d323e Back out 1edfae12015b (Bug 642246) due to mobile unittest orange. 2011-04-09 18:21:27 -07:00
Benjamin Stover 3c025ebe4d Bug 642246 Don't build ThebesLayers for elements with no displayports r=roc 2011-04-09 12:38:28 -07:00
Tim Terribe 962584e61d Bug 641014 - Fix broken NEO Y'CbCr to RGB conversion - r=doublec
--HG--
extra : rebase_source : fddd6ccddd083484c8b46a53747fb2058a46463e
2011-04-09 06:59:22 +12:00
Chris Double 61d4db165f Bug 639415 - Disable prescaling of videos if they have an offset due to chromium scaling code not supporting offsets - r=kinetik
--HG--
extra : rebase_source : 0b72a504f731a81a498876a28dfae0d7c4aebded
2011-03-14 17:31:48 +13:00
Oleg Romashin 863e12aca2 Bug 607417 - Part1: position:fixed frames mark layers r=roc
--HG--
extra : rebase_source : dbbff8810bafd165a48c34924d98f5c87702ef3f
2011-04-05 23:00:25 -06:00
Matt Woodrow 9bd2dad0c1 Bug 640082 - Part 5 - Use texture_from_pixmap in CairoImageOGL. r=joe 2011-04-07 16:58:08 -07:00
Matt Woodrow 75254ce56e Bug 640082 - Part 4 - Create TextureImageGLX which uses texture_from_pixmap. r=joe 2011-04-07 16:58:08 -07:00
Matt Woodrow 28ec02dbae Bug 640082 - Part 3 - Add BindTexture functions to TextureImage. r=joe 2011-04-07 16:58:08 -07:00
Matt Woodrow 30b3523f5d Bug 640082 - Part 2 - Use texture_from_pixmap in CanvasLayerOGL. r=joe 2011-03-09 10:41:10 +13:00
Robert O'Callahan 95ad3e2df3 Bug 647315. Update ThebesLayerOGL with the same fix. r=mattwoodrow 2011-04-06 16:38:01 -07:00
Robert O'Callahan 5d14389f57 Bug 647315. Back out one line of changeset 844579d34200. r=mattwoodrow 2011-04-06 16:37:56 -07:00
Matheus Kerschbaum 4eb6429f47 Bug 639754 - Remove MOZ_IPC checks since IPC is always built now; r=bsmedberg 2011-04-02 19:14:00 -07:00