Commit Graph

117 Commits

Author SHA1 Message Date
Matt Woodrow
e897b233ee Bug 979350 - Readback ThebesLayers for plugin backgrounds during the Validate pass, not the compositing pass. r=roc 2014-05-12 12:31:28 +12:00
Matt Woodrow
898541f214 Bug 950312 - Part 3: Add Layers API to see what blend modes are supported. r=roc 2014-05-09 21:48:32 +12:00
Benoit Jacob
0dedf049b3 Bug 970747 - 1/6 - Make ContainerLayer::InsertAfter always perform checks and return bool - r=mattwoodrow 2014-02-21 16:50:25 -05:00
Tor Arvid Lund
92283085d4 Bug 948765 - Implement BasicImageLayer::Paint. r=nical 2014-02-12 10:07:47 -05:00
Benoit Jacob
61df69f208 Bug 959448 - Convert most of LayersTypes.h to typed enums - r=nrc
find content/media dom/ipc widget/ gfx/tests gfx/ipc/ gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)LAYERS_\(NONE\|BASIC\|OPENGL\|D3D9\|D3D10\|D3D11\|CLIENT\|LAST\)\($\|[^A-Za-z0-9_]\)/\1LayersBackend::LAYERS_\2\3/g'

find widget gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)BUFFER_\(NONE\)\($\|[^A-Za-z0-9_]\)/\1BufferMode::BUFFER_\2\3/g'

find widget gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)BUFFER_\(BUFFERED\)\($\|[^A-Za-z0-9_]\)/\1BufferMode::\2\3/g'

find gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)CLIP_\(DRAW\|DRAW_SNAPPED\)\($\|[^A-Za-z0-9_]\)/\1DrawRegionClip::\2\3/g'

find gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)CLIP_\(NONE\)\($\|[^A-Za-z0-9_]\)/\1DrawRegionClip::CLIP_\2\3/g'

find gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)SURFACE_\(NONE\|OPAQUE\|SINGLE_CHANNEL_ALPHA\|COMPONENT_ALPHA\)\($\|[^A-Za-z0-9_]\)/\1SurfaceMode::SURFACE_\2\3/g'

find gfx/ipc/ gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)SCALE_\(STRETCH\|SENTINEL\)\($\|[^A-Za-z0-9_]\)/\1ScaleMode::\2\3/g'

find gfx/ipc/ gfx/layers/ layout/ -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)SCALE_\(NONE\)\($\|[^A-Za-z0-9_]\)/\1ScaleMode::SCALE_\2\3/g'
2014-01-23 13:26:41 -05:00
Benoit Girard
5aa117f19b Bug 936511 - Add layers.dump to dump layer tree. r=bas,nrc 2013-11-17 16:47:40 -05:00
Matt Woodrow
c8d82e8dcd Bug 922942 - Add a Validate() pass to BasicLayers to avoid needing to create a dummy destination context. r=roc 2013-10-15 16:23:21 +13:00
Matt Woodrow
762844a6e0 Bug 922942 - Clean up some no longer used ShadowLayers code from BasicLayers. r=roc 2013-10-15 16:23:21 +13:00
Benoit Jacob
eb8b1d73bb Bug 913872 - Take nested enums out of gfxASurface - 3/3 : remove the now-useless inclusions of gfxASurface.h - r=jrmuizel 2013-09-24 16:45:14 -04:00
Benoit Jacob
55d6cf1e20 Bug 913872 - Take nested enums out of gfxASurface - 1/3 : automatic changes - r=jrmuizel
Generated by these regexes:

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(ImageFormat\|SurfaceType\|ContentType\|MemoryLocation\)[0-9A-Za-z_]*\)/gfx\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(CONTENT_\|MEMORY_\)[0-9A-Za-z_]*\)/GFX_\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(CONTENT_COLOR\|CONTENT_ALPHA\|CONTENT_COLOR_ALPHA\|CONTENT_SENTINEL\|MEMORY_IN_PROCESS_HEAP\|MEMORY_IN_PROCESS_NONHEAP\|MEMORY_OUT_OF_PROCESS\)\($\|[^A-Za-z0-9_]\)/\1GFX_\2\3/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(ImageFormatARGB32\|ImageFormatRGB24\|ImageFormatA8\|ImageFormatA1\|ImageFormatRGB16_565\|ImageFormatUnknown\|SurfaceTypeImage\|SurfaceTypePDF\|SurfaceTypePS\|SurfaceTypeXlib\|SurfaceTypeXcb\|SurfaceTypeGlitz\|SurfaceTypeQuartz\|SurfaceTypeWin32\|SurfaceTypeBeOS\|SurfaceTypeDirectFB\|SurfaceTypeSVG\|SurfaceTypeOS2\|SurfaceTypeWin32Printing\|SurfaceTypeQuartzImage\|SurfaceTypeScript\|SurfaceTypeQPainter\|SurfaceTypeRecording\|SurfaceTypeVG\|SurfaceTypeGL\|SurfaceTypeDRM\|SurfaceTypeTee\|SurfaceTypeXML\|SurfaceTypeSkia\|SurfaceTypeSubsurface\|SurfaceTypeD2D\|SurfaceTypeMax\)\($\|[^A-Za-z0-9_]\)/\1gfx\2\3/g'
2013-09-24 16:45:13 -04:00
Benoit Girard
e2fc533712 Bug 907286 - Implement Frame Counter for non OMTC basic. r=jmuizel,tnikkel
--HG--
extra : rebase_source : a2cf8295ead1af3f0a66491fd9455d37e7b3985d
2013-08-22 12:54:05 -04:00
Nicholas Cameron
73aeda1397 Bug 903816. Include-what-you-use for gfx/layers. r=roc 2013-08-12 11:17:23 +12:00
Jeff Gilbert
d04e5840f2 Bug 877382 - Remove THEBES_API decorator. - r=BenWa 2013-05-29 14:59:24 -07:00
Matt Woodrow
99f82e605d Bug 867474 - Split BasicShadowableLayerManager into a separate ClientLayerManager. r=nrc
--HG--
rename : gfx/layers/basic/BasicCanvasLayer.cpp => gfx/layers/CopyableCanvasLayer.cpp
rename : gfx/layers/basic/BasicCanvasLayer.h => gfx/layers/CopyableCanvasLayer.h
rename : gfx/layers/basic/BasicCanvasLayer.cpp => gfx/layers/client/ClientCanvasLayer.cpp
rename : gfx/layers/basic/BasicCanvasLayer.h => gfx/layers/client/ClientCanvasLayer.h
rename : gfx/layers/basic/BasicColorLayer.cpp => gfx/layers/client/ClientColorLayer.cpp
rename : gfx/layers/basic/BasicContainerLayer.cpp => gfx/layers/client/ClientContainerLayer.cpp
rename : gfx/layers/basic/BasicContainerLayer.h => gfx/layers/client/ClientContainerLayer.h
rename : gfx/layers/basic/BasicImageLayer.cpp => gfx/layers/client/ClientImageLayer.cpp
rename : gfx/layers/basic/BasicLayerManager.cpp => gfx/layers/client/ClientLayerManager.cpp
rename : gfx/layers/basic/BasicLayers.h => gfx/layers/client/ClientLayerManager.h
rename : gfx/layers/basic/BasicThebesLayer.cpp => gfx/layers/client/ClientThebesLayer.cpp
rename : gfx/layers/basic/BasicThebesLayer.h => gfx/layers/client/ClientThebesLayer.h
rename : gfx/layers/basic/BasicTiledThebesLayer.cpp => gfx/layers/client/ClientTiledThebesLayer.cpp
rename : gfx/layers/basic/BasicTiledThebesLayer.h => gfx/layers/client/ClientTiledThebesLayer.h
2013-05-01 17:03:25 +12:00
Matt Woodrow
b00d0c2090 Bug 865104 - Implement a BasicCompositor. r=nrc 2013-05-01 12:42:05 +12:00
Nicolas Silva
f2669ce1ed Bug 856079 - Merge ShadowLayer and LayerComposite (keeping the later). r=nrc 2013-04-25 18:25:33 -04:00
Ryan VanderMeulen
ea8d3fdd0b Backed out changeset 4b7de1f2b4a0 (bug 856079) for various test failures.
CLOSED TREE
2013-04-24 11:28:05 -04:00
Nicolas Silva
5be0bb6011 Bug 856079 - Merge ShadowLayer and LayerComposite (keeping the later). r=nrc 2013-04-24 15:40:26 -04:00
Nicolas Silva
a1ee3bf807 Bug 863324 - Rename PLayers into PLayerTransaction, r=jrmuizel
--HG--
rename : gfx/layers/ipc/ShadowLayersChild.cpp => gfx/layers/ipc/LayerTransactionChild.cpp
rename : gfx/layers/ipc/ShadowLayersChild.h => gfx/layers/ipc/LayerTransactionChild.h
rename : gfx/layers/ipc/ShadowLayersParent.cpp => gfx/layers/ipc/LayerTransactionParent.cpp
rename : gfx/layers/ipc/ShadowLayersParent.h => gfx/layers/ipc/LayerTransactionParent.h
rename : gfx/layers/ipc/PLayers.ipdl => gfx/layers/ipc/PLayerTransaction.ipdl
2013-04-24 14:42:40 -04:00
Bas Schouten
839048be74 Bug 825928: Land layers refactoring. r=jrmuizel,bas,nical,mattwoodrow,roc,nrc,benwa,bjacob,jgilbert,kchen CLOSED TREE
Please contact Bas Schouten <bschouten@mozilla.com>, Nicolas Silva <nsilva@mozilla.com> or Nicholas Cameron <ncameron@mozilla.com> with general questions. Below is a rough list of authors to contact with specific questions.

Authors:
gfx/layers/Compositor.* gfx/layers/Effects.h - Compositor Interface - bas,nrc,nical
gfx/layers/d3d* - D3D9/D3D10 - bas
gfx/layers/ThebesLayer* - ThebesLayers - nrc,bas
gfx/layers/composite/* - CompositeLayers - nrc,nical
gfx/layers/client/* - Client - nrc,nical,bas
gfx/layers/*Image* - nical
gfx/layers/ipc ipc - IPC - nical
gfx/layers/opengl - CompositorOGL - nrc,nical
gfx/2d - bas,nrc
gfx/gl - GLContext - bjacob
dom/* layout/* - DOM - mattwoodrow
2013-04-10 09:20:52 +00:00
Chris Lord
d85f10cccd Bug 783368 - Send the correct display port when rendering low precision. r=kats,bgirard
When doing a low precision update, send the display-port instead of the
critical display port so that more appropriate cancelling decisions can be
made.
2012-11-21 22:34:19 +00:00
Chris Lord
beb61c6567 Bug 783368 - Add a low precision buffer to tiled thebes layers. r=bgirard,kats
If there is a critical display port set, render the area outside it into a
lower precision buffer.
2012-11-21 22:34:19 +00:00
Ehsan Akhgari
f90938a237 Backed out 11 changesets (bug 783368) because of build bustage on a CLOSED TREE
Backed out changeset 2bc4310263c4 (bug 783368)
Backed out changeset a35c83a8d99d (bug 783368)
Backed out changeset afb9b2a661ba (bug 783368)
Backed out changeset 3926f510f9be (bug 783368)
Backed out changeset 9d1fe200ff87 (bug 783368)
Backed out changeset b6e4f88f5730 (bug 783368)
Backed out changeset bc53f7dba7c6 (bug 783368)
Backed out changeset 1948fa2fccc1 (bug 783368)
Backed out changeset 9af163388fd1 (bug 783368)
Backed out changeset 7a2256e1aa7c (bug 783368)
Backed out changeset 4da1958a9885 (bug 783368)
2012-11-21 14:57:02 -05:00
Chris Lord
5f7ade4071 Bug 783368 - Send the correct display port when rendering low precision. r=kats,bgirard
When doing a low precision update, send the display-port instead of the
critical display port so that more appropriate cancelling decisions can be
made.
2012-11-21 19:16:52 +00:00
Chris Lord
f38c6a6a8c Bug 783368 - Add a low precision buffer to tiled thebes layers. r=bgirard,kats
If there is a critical display port set, render the area outside it into a
lower precision buffer.
2012-11-21 19:16:52 +00:00
Chris Jones
18843b20e1 Bug 806029: Have remote content drop their buffers when they're hidden. r=mattwoodrow sr=roc 2012-11-07 19:51:55 -08:00
Chris Lord
a90397b263 Bug 805014 - Disable progressive tiles when a shadow target is set. r=bgirard
The testing framework doesn't react well to paints not coming in synchronously.
Disable progressive tile painting when a shadow target is set on the layer
manager for now.
2012-10-25 17:27:08 +01:00
Chris Lord
13bc605c08 Bug 803013 - Maintain coherency when progressively updating visible areas. r=bgirard
When rendering progressively, make sure that any previously visible area that
is still visible is updated at the same time. This helps maintain visual
coherency on pages that invalidate previously visible areas while scrolling,
and when losing layers between updates.

This supersedes the previous method of only doing progressive updates while
scrolling.
2012-10-22 20:18:14 +01:00
Chris Lord
b3c7e8e90c Bug 749063 - Replace shouldAbort with generic callback for progressive updates. r=bgirard
Replace ShouldAbortProgressiveUpdate with ProgressiveUpdateCallback, that
provides more contextual information about how the update will get used.
2012-10-15 09:33:34 +01:00
Matt Woodrow
c50bd6b87c Bug 799956 - Mark BasicLayerManagers that don't retain content as supporting component alpha layers. r=roc 2012-10-15 17:53:37 +13:00
Chris Lord
5c25992386 Bug 794130 - Abort drawing if appropriate when using progressive tile updates. r=bgirard,blassey
Add a function to BasicLayerManager to check if it's appropriate to abort an
ongoing progressive update, and add an Android-specific implementation in
mobile/android/base/gfx/GeckoLayerClient.java.

--HG--
extra : rebase_source : edbd20acb53660340d52265591849aacafd179c4
2012-10-04 14:45:16 -04:00
Chris Jones
06cdb50879 Bug 780920, part 3: The ultimate compositor has to draw to the readback surface; shadow layers doesn't have access to all the needed rendering state. r=roc 2012-10-04 00:05:24 -07:00
Isaac Aggrey
481e7dfb0b Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Chris Jones
b3578688a4 Bug 793365: Make sure (again) that the entire buffer is valid when we might be asynchronously composited. r=roc 2012-09-24 21:15:18 -07:00
Anthony Jones
e0e283667e Bug 780792 - Fix save/restore leak in basic layer when needsGroup, is2D, and clipIsEmpty are all true. r=roc 2012-09-10 18:31:38 -04:00
Ehsan Akhgari
e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Nicolas Silva
75542595f3 Bug 782372 - Splits ImageLayers.h into ImageLayers.h ImageContainer.h and ImageTypes.h, r=bgirard 2012-08-19 15:33:25 -04:00
Matt Woodrow
c8b229743e Bug 782808 - Apply the widget rotation to the gonk LayerManager at all times instead of only during the paint event. r=cjones 2012-08-15 13:10:40 +12:00
Matt Woodrow
2ebb996f8c Bug 539356 - Part 8b - Move painting of retained layers to the view manager flush, and only composite on the paint event. r=roc
* * *
Fix Empty transactions with the new paint timing
2012-08-13 22:10:10 +12:00
David Zbarsky
c6b51c42c1 Bug 778519 - Don't include Layers.h everywhere Part 2 r=cjones 2012-07-30 17:42:26 -07:00
Aryeh Gregor
d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Chris Jones
94c70c8ab5 Bug 776217: Support gecko-implemented screen rotation with omtc. r=roc 2012-07-24 12:01:09 -07:00
Matt Woodrow
1a5c93fd0e Bug 741682 - Flatten component alpha layers into their parent layer with BasicLayers. r=roc 2012-07-23 15:00:36 +12:00
Jonathan Watt
613454044e Bug 775697 - Cancel layer transactions that haven't ended after nsDisplaySVGEffects::PaintAsLayer returns. r=roc. 2012-07-20 00:53:55 -04:00
Chris Jones
f86571551f Bug 745148, part 7: Create a RefLayer type to temporarily contain a foreign layer subtree during composition. r=BenWa sr=roc 2012-07-17 16:59:45 -07:00
Matt Woodrow
8f19d77bb2 Bug 539356 - Part 6 - Add compositing paint flashing to BasicLayers. r=roc 2012-07-17 13:03:51 -04:00
Matt Woodrow
dab82349ce Bug 539356 - Part 2 - Add new API to BasicLayers. r=roc 2012-07-17 13:03:51 -04:00
Chris Jones
96f961a570 Bug 765734, part 2: Migrate ImageLayers to SurfaceDescriptor. r=mattwoodrow,roc
--HG--
extra : rebase_source : 19fc8b0ae4cfffdf9a098911deac3b48c2f5d768
2012-07-12 05:51:57 -07:00
Benoit Girard
c150958e8a Bug 771219 - Add Repeatable transactions. r=ajuma 2012-07-06 13:58:01 -04:00
Ehsan Akhgari
3c74e1a1e2 Backout changeset 75419010ac02 (bug 539356) because of performance and correctness regressions 2012-07-03 20:31:54 -04:00