Commit Graph

181 Commits

Author SHA1 Message Date
Bas Schouten
0ca40e581f Bug 1088414: Use a single synchronization texture for D3D11. r=jrmuizel
This patch adds a cross platform 'sync object' that is used to synchronize the drawing of individual textures. For the D3D11 implementation all textures that are written to will have one pixel copied into the D3D11 sync texture while holding its lock. The compositor will then, before composition acquire and release sync once, this should ensure all drawing on the content side has completed.
2014-12-13 01:50:47 +00:00
Nicolas Silva
36a576bead Bug 1102917 - Remove the TextureInfo member from client compositables. r=sotaro 2014-11-25 20:19:13 +01:00
Nicolas Silva
957aceddf0 Bug 1102895 - Remove unused TextureFlags. r=sotaro 2014-11-25 20:19:04 +01:00
Ehsan Akhgari
22d38b6803 Bug 1088838 - Don't export CompositorChild.h, CompositorParent.h and ShadowLayersManager.h twice; r=BenWa 2014-10-27 08:57:36 -04:00
Markus Stange
a15e939a69 Bug 1073103 - Rename ThebesLayer to PaintedLayer. r=roc 2014-09-26 13:06:08 -04:00
Jonathan Watt
727b0a4e88 Bug 1065031, part 2 - Changes to Moz2D consuming code to update callers of Moz2D Matrix's Translate, Scale and Rotate methods to use these methods' new names. r=Bas 2014-09-10 18:29:35 +01:00
Bas Schouten
e1fe5e72d5 Bug 947781 - Part 4: Add ReadbackLayer functionality to ClientLayerManager. r=mattwoodrow 2014-07-30 15:38:47 +02:00
Bas Schouten
e78f295e46 Bug 947781 - Part 1: Refactor RotatedBuffer to easily be re-usable for any rotated buffer drawing. r=mattwoodrow 2014-07-30 15:38:46 +02:00
Ed Morley
d1234abfec Backed out changeset 6bc1a62eb443 (bug 947781) for build failures 2014-07-30 14:54:28 +01:00
Ed Morley
1be21e1760 Backed out changeset 96379f178485 (bug 947781) 2014-07-30 14:54:01 +01:00
Bas Schouten
88d1088a98 Bug 947781 - Part 4: Add ReadbackLayer functionality to ClientLayerManager. r=mattwoodrow 2014-07-30 15:38:47 +02:00
Bas Schouten
90d1337864 Bug 947781 - Part 1: Refactor RotatedBuffer to easily be re-usable for any rotated buffer drawing. r=mattwoodrow 2014-07-30 15:38:46 +02:00
Nicolas Silva
1d8fc4d3aa Bug 1043389 - Remove TextureFlags::ALLOC_FALLBACK and handle fallback in the creation function directly. r=sotaro 2014-07-29 13:16:57 +02:00
Nicolas Silva
f8d771a884 Bug 1042052 - Add TextureClient::CreateSimilar and have component alpha buffer be of the same type. r=sotaro 2014-07-25 11:24:46 +02:00
Frederic Plourde
d401c45031 b=1015218 Buffer image content layers on server-side xlib surfaces with OMTC basic r=karlt
With image offscreen surfaces enabled for content layers on GTK3, our Basic
compositor needs a way to deal with image layers buffering and compositing in
a performant way.  This patch subclasses BasicCompositor into a new
X11BasicCompositor and makes use of a new TextureSource
(X11DataTextureSourceBasic) in order to buffer TextureHost's data into
gfxXlibSurface on compositor side so that we can use XRender when available to
composite layer contents directly to the Window.

When this buffering will occur, switch to ContentClientSingleBuffered.
2014-07-23 11:02:25 +12:00
Nicolas Silva
985c0c65af Bug 1027601 - Create and allocate TextureClient in a single step in some of the cases. r=sotaro 2014-07-10 13:45:40 +02:00
Carsten "Tomcat" Book
7bf031036d Backed out changeset e072a46f0b6a (bug 1027601) for test bustages on a CLOSED TREE 2014-07-09 13:23:08 +02:00
Nicolas Silva
2b5d60e4a8 Bug 1027601 - Create and allocate TextureClients in a single step in some cases. r=sotaro 2014-07-09 11:59:49 +02:00
Sotaro Ikeda
3912807ace Bug 1022167 - Ensure fence delivery of thebes layer in b2g process r=nical 2014-06-18 12:13:27 -07:00
Bas Schouten
7c209d842b Bug 1019909: Properly initialize white buffer to white. r=nical 2014-06-18 00:55:31 +02:00
Nicolas Silva
dc075c6966 Bug 1023350 - Rename TextureClient::GetAsDrawTarget into TextureClient::BorrowDrawTarget and fix TextureClientX11. r=bjacob 2014-06-11 14:57:58 -04:00
Nicolas Silva
2cd0cb79ba Bug 1000103 - Fix intermittent OSX crash in TextureImageTextureSourceOGL::GetFormat. r=mattwoodrow 2014-06-09 17:30:53 -04:00
Sotaro Ikeda
bfb70c0a66 Bug 1019877 - fix deadlock at AsyncTransactionTrackersHolder r=nical 2014-06-05 07:24:05 -07:00
Sotaro Ikeda
658f741914 Bug 1016677 - Add pointer check to ContentClientRemoteBuffer::DestroyBuffers() r=nical 2014-06-04 10:45:00 -07:00
Sotaro Ikeda
9790a685e9 Bug 1019057 - Add pointer check to ContentClientDoubleBuffered::FinalizeFrame() r=nical 2014-06-04 08:21:50 -07:00
Bas Schouten
433110f199 Bug 1015820: Update the back buffer rect when ensuring a back buffer client exists. r=mattwoodrow 2014-05-31 02:16:35 +02:00
Sotaro Ikeda
272c9282a9 Bug 1006957 - Handle buffer ownership between SurfaceStream and CanvasClient r=nical 2014-05-24 09:14:45 -07:00
Steve Fink
278d129227 Backed out changeset 171edffe0641 (bug 1006957) for crash at BaseAutoLock<mozilla::Mutex>::BaseAutoLock(mozilla::Mutex&) from layers::AsyncTransactionTrackersHolder::ClearAllAsyncTransactionTrackers on a CLOSED TREE 2014-05-23 21:16:02 -07:00
Sotaro Ikeda
e3ea215fb9 Bug 1006957 - Handle buffer ownership between SurfaceStream and CanvasClient r=nical 2014-05-23 17:52:43 -07:00
Bas Schouten
009f8c57d0 Bug 1012213: Let the BufferRect be managed and cleared by the callers like before. r=mattwoodrow 2014-05-23 06:01:05 +02:00
Matt Woodrow
dbf0726a5e Bug 1013759 - Simplify invalid region for Direct2D when using OMTC to avoid hitting expensive drawing paths for complex regions. r=jrmuizel 2014-05-23 09:08:21 +12:00
Bas Schouten
38302fa05c Bug 1002300: Only lazily create the backbuffer for ContentClientDoubleBuffered. r=nical 2014-05-15 00:31:22 +02:00
Markus Stange
1ba30bf347 Bug 1000875 - Add invalidation debugging annotations for layer content type changes. r=roc 2014-05-05 10:24:56 +02:00
Benoit Jacob
d8f30bb270 Bug 987311 - 6/6 - Convert the rest of CompositorTypes.h to typed enums, final manual changes - r=nical 2014-04-25 22:34:06 -04:00
Benoit Jacob
6f2d2f66cd Bug 987311 - 5/6 - Convert the rest of CompositorTypes.h to typed enums, auto regex changes - r=nical
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)DIAGNOSTIC_\(NONE\|TILE_BORDERS\|LAYER_BORDERS\|BIGIMAGE_BORDERS\|FLASH_BORDERS\)\($\|[^A-Za-z0-9_]\)/\1DiagnosticTypes::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/DiagnosticTypes\:\:NONE/DiagosticTypes::NO_DIAGNOSTIC/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)DIAGNOSTIC_\(IMAGE\|CONTENT\|CANVAS\|COLOR\|CONTAINER\|TILE\|BIGIMAGE\|COMPONENT_ALPHA\|REGION_RECT\)\($\|[^A-Za-z0-9_]\)/\1DiagnosticFlags::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)EFFECT_\(MASK\|MAX_SECONDARY\|RGB\|YCBCR\|COMPONENT_ALPHA\|SOLID_COLOR\|RENDER_TARGET\|MAX\)\($\|[^A-Za-z0-9_]\)/\1EffectTypes::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)TEXTURE_\(CONTENT\|SHMEM\|YCBCR\|SHARED_GL\|SHARED_GL_EXTERNAL\|STREAM_GL\|FALLBACK\)\($\|[^A-Za-z0-9_]\)/\1DeprecatedTextureClientType::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(BUFFER_UNKNOWN\|BUFFER_IMAGE_SINGLE\|BUFFER_IMAGE_BUFFERED\|BUFFER_BRIDGE\|BUFFER_CONTENT\|BUFFER_CONTENT_DIRECT\|BUFFER_CONTENT_INC\|BUFFER_TILED\|BUFFER_SIMPLE_TILED\|COMPOSITABLE_IMAGE\|COMPOSITABLE_CONTENT_SINGLE\|COMPOSITABLE_CONTENT_DOUBLE\|BUFFER_COUNT\)\($\|[^A-Za-z0-9_]\)/\1CompositableType::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/CompositableType\:\:COMPOSITABLE_/CompositableType::/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)TEXTURE_HOST_\(DEFAULT\|TILED\|COPY_PREVIOUS\)\($\|[^A-Za-z0-9_]\)/\1DeprecatedTextureHostFlags::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)Texture\(Front\|Back\|OnWhiteFront\|OnWhiteBack\)\($\|[^A-Za-z0-9_]\)/\1TextureIdentifier::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(OPEN_NONE\|OPEN_READ\|OPEN_WRITE\|OPEN_READ_WRITE\|OPEN_READ_ONLY\|OPEN_WRITE_ONLY\)\($\|[^A-Za-z0-9_]\)/\1OpenMode::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(MaskNone\|Mask2d\|Mask3d\|NumMaskTypes\)\($\|[^A-Za-z0-9_]\)/\1MaskType::\2\3/g'
find gfx -type f | xargs sed -i 's/Diagostic/Diagnostic/g'
2014-04-25 22:34:06 -04:00
Benoit Jacob
849b6bea23 Bug 987311 - 3/6 - Make TextureFlags a typed enum, final manual changes - r=nical 2014-04-25 22:34:05 -04:00
Benoit Jacob
3de8fa4fb5 Bug 987311 - 2/6 - Make TextureFlags a typed enum, auto regex changes - r=nical
find gfx/layers -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)TEXTURE_\(USE_NEAREST_FILTER\|NEEDS_Y_FLIP\|DISALLOW_BIGIMAGE\|ALLOW_REPEAT\|NEW_TILE\|COMPONENT_ALPHA\|RB_SWAPPED\|FRONT\|ON_WHITE\|ON_BLACK\|TILE\|RECYCLE\|COPY_PREVIOUS\|DEALLOCATE_CLIENT\|IMMUTABLE\|IMMEDIATE_UPLOAD\|DOUBLE_BUFFERED\|ALLOC_FALLBACK\)\($\|[^A-Za-z0-9_]\)/\1TextureFlags::\2\3/g'
find gfx/layers -type f | xargs sed -i 's/TEXTURE_FLAGS_DEFAULT/TextureFlags::DEFAULT/g'
2014-04-25 22:34:05 -04:00
Blair McBride
2628f554b1 Backed out 9 changesets (bug 987311, bug 989027, bug 989144). r=sheriff
Backed out changeset 046c061d91c2 (bug 989144)
Backed out changeset 3f1b41adeaef (bug 987311)
Backed out changeset 8d5a171564bd (bug 987311)
Backed out changeset dcc0d016de7a (bug 987311)
Backed out changeset 27f338fbc835 (bug 989027)
Backed out changeset 4a67f5144ea4 (bug 989027)
Backed out changeset 62ba0a377450 (bug 987311)
Backed out changeset 6a2542a5c865 (bug 987311)
Backed out changeset 1dfd9a457f34 (bug 987311)
2014-04-27 19:45:08 +12:00
Benoit Jacob
5be322e300 Bug 987311 - 6/6 - Convert the rest of CompositorTypes.h to typed enums, final manual changes - r=nical 2014-04-25 22:34:06 -04:00
Benoit Jacob
3b4f604917 Bug 987311 - 5/6 - Convert the rest of CompositorTypes.h to typed enums, auto regex changes - r=nical 2014-04-25 22:34:06 -04:00
Benoit Jacob
dc2f2c47c0 Bug 987311 - 3/6 - Make TextureFlags a typed enum, final manual changes - r=nical 2014-04-25 22:34:05 -04:00
Benoit Jacob
1960158bd9 Bug 987311 - 2/6 - Make TextureFlags a typed enum, auto regex changes - r=nical 2014-04-25 22:34:05 -04:00
Nicolas Silva
dca99e78f0 Bug 990871 - Move TextureClientDrawTarget into TextureClient. r=mattwoodrow 2014-04-10 10:14:28 +02:00
Carsten "Tomcat" Book
5adb9c9e75 Backed out changeset 3747c80a1cde (bug 990871) for bustage on a CLOSED TREE 2014-04-10 13:15:47 +02:00
Nicolas Silva
be00cc4369 Bug 990871 - Move TextureClientDrawTarget into TextureClient. r=mattwoodrow 2014-04-10 10:14:28 +02:00
Matt Woodrow
6546435d83 Bug 992486 - Part 5: Fix copying the front buffer to back buffer. r=roc 2014-04-10 20:42:29 +12:00
Matt Woodrow
a805404c72 Bug 991513 - Part 3: Combine BeginPaint/PrepareFrame and EndPaint/OnTransaction. r=nrc 2014-04-09 21:15:19 +12:00
Matt Woodrow
9718b4ac24 Bug 991513 - Part 2: Don't lock ContentClientSingleBuffered's textures until we need the buffers. r=nrc 2014-04-09 21:15:18 +12:00
Matt Woodrow
203b3a85cf Bug 991513 - Part 1: Don't lock ContentClientDoubleBuffered's texture until we need the buffers. r=nrc 2014-04-09 21:15:18 +12:00
Matt Woodrow
013d6e57f8 Bug 992486 - Part 1: Add API to RotatedContentBuffer for drawing in multiple passes. r=roc 2014-04-09 21:15:17 +12:00