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

414 Коммитов

Автор SHA1 Сообщение Дата
Tom Ritter 3efa760176 Bug 1370007 Generate Shaders on a MinGW Cross Compile on Linux r=dvander,ted
Bug 1365859 introduced a dependency on the Visual Studio binary 'fxc'
to generate Shader bytecode. This was unavailable when compiling for
Windows on Linux as part of a MinGW build.

This commit adds a configure check for fxc, and also searches for
fxc2, which was written (https://github.com/tomrittervg/fxc2) to be
a tiny application that wraps D3DCompileFromFile and can produce
similar (but not exactly the same) output as fxc.

fxc2 is compiled using MinGW for Windows, and runs under wine, so
we need to check for wine also.

Finally, fxc outputs some include information fxc2 doesn't, so
we will just change that assert to not take effect.

MozReview-Commit-ID: 8LVxuODi6cV

--HG--
extra : rebase_source : 9116d266663284d6594e34aa53bd37eae01ba67f
2017-07-24 14:32:08 -05:00
Ethan Lin a48f3ac6fe Bug 1378602 - Part2. Move animation data from layer to AnimationInfo. r=kats
MozReview-Commit-ID: 4gv8EfPgsii
2017-07-21 14:21:47 +08:00
David Anderson 912a83e3b7 Refactor how vertices are added to unit-triangle shaders. (bug 1379314 part 2, r=mattwoodrow) 2017-07-11 00:04:50 -07:00
Carsten "Tomcat" Book fe3f254925 Backed out changeset 018e683b25cd (bug 1370007) for breaking tier 2 nightly builds on windows 2017-07-07 15:23:54 +02:00
Tom Ritter b1341f974a Bug 1370007 Generate Shaders on a MinGW Cross Compile on Linux r=dvander,ted
Bug 1365859 introduced a dependency on the Visual Studio binary 'fxc'
to generate Shader bytecode. This was unavailable when compiling for
Windows on Linux as part of a MinGW build.

This commit adds a configure check for fxc, and also searches for
fxc2, which was written (https://github.com/tomrittervg/fxc2) to be
a tiny application that wraps D3DCompileFromFile and can produce
similar (but not exactly the same) output as fxc.

fxc2 is compiled using MinGW for Windows, and runs under wine, so
we need to check for wine also.

Finally, fxc outputs some include information fxc2 doesn't, so
we will just change that assert to not take effect.

MozReview-Commit-ID: 8LVxuODi6cV

--HG--
extra : rebase_source : 39acca112f4cd9e6c39f7e47e7c55b13e7606824
2017-07-06 15:35:49 -05:00
Morris Tseng 77424afaa9 Bug 1376855 - Introduce WebRenderUserData and WebRenderImageData. r=kats
Layers are retained between transaction and we store some data in the layers.
Thus, if we no longer use layers, we need find another storage to place
those data. I use frame's property to retain WebRenderUserData between
transaction.

MozReview-Commit-ID: Ku5VGBXa3w6

--HG--
extra : rebase_source : 636653f78d1d6c310726a1a2c944141dc691decc
2017-06-28 15:03:27 -07:00
Ryan Hunt fb04e72bad Bug 1351783 part 19 - Rename Keyboard.h to KeyboardMap.h. r=masayuki
This is a better name for the header that matches its main class.

MozReview-Commit-ID: KSt9LVT3yRR

--HG--
rename : gfx/layers/apz/src/Keyboard.cpp => gfx/layers/apz/src/KeyboardMap.cpp
rename : gfx/layers/apz/src/Keyboard.h => gfx/layers/apz/src/KeyboardMap.h
extra : rebase_source : ec4c9ec5afa8479dc4cd3e987fc3293f047beb9e
extra : histedit_source : caa3a11043fc1ccdff3d7853eda69a0a3dfff99e
2017-06-15 18:06:00 -04:00
Ryan Hunt c24e099b23 Bug 1351783 part 15 - Hook up APZC for scrolling based on a KeyboardScrollAction. r=kats,botond
This commit adds code for keyboard scroll animations and computing the delta
needed for a keyboard scroll action. Keyboard scrolling behavior is more complex
with scroll snapping, so we don't support async keyboard scrolling when we have
scroll snap points.

MozReview-Commit-ID: 97CpprCBp2A

--HG--
extra : rebase_source : 154b2c6b5a6c587fca011ab885c8d46ba6b4d80a
extra : histedit_source : 87ba53fe89069a47751d9ce25fc344011fb0f4de
2017-06-06 04:47:10 -05:00
Ryan Hunt 285770048d Bug 1351783 part 14 - Create a base class for WheelScrollAnimation. r=botond
MozReview-Commit-ID: BtUJo5NAiTR

--HG--
extra : rebase_source : ba3d7cf476ab806094ff2e0c33753e81f88761bf
extra : histedit_source : a898248b30fd1060e82478096fe2624a35473c26
2017-06-15 04:31:50 -04:00
Ryan Hunt 99499fb9d6 Bug 1351783 part 7 - Create FocusState and FocusTarget types. r=kats,botond
This commit begins the work needed for tracking focus by creating two new classes,
FocusTarget and FocusState. FocusState is created and used by APZCTreeManager to
track the global focus information, while FocusTarget is created per layer tree and
sent to APZ with local focus information. Between the two we are able to figure out
what the correct scrollable layer is to use in response to a keyboard scroll.

See the comment in `FocusState.h` for more details on the architecture and things
needed in future patches to complete this.

MozReview-Commit-ID: F75VZv3i9U2

--HG--
extra : rebase_source : 3d04bced8e13a9884f0c1b320bad8ba2205d7011
2017-06-05 19:12:22 -05:00
Ryan Hunt a97d402536 Bug 1351783 part 3 - Add a KeyboardScrollAction type. r=kats,masayuki
The different types of keyboard scrolls are represented as command strings that
are dispatched to nsGlobalWindowCommands. This commit adds a class to represent
these command strings, along with a function to find the keyboard scroll action
corresponding to a command string.

MozReview-Commit-ID: 20vvYdzlYYT

--HG--
extra : rebase_source : 8a965429f57534ac65da597cbb05a08284f7eaeb
2017-06-05 18:17:30 -05:00
David Anderson ea272c6f03 Add memory reporting. (bug 1365879 part 26, r=mattwoodrow) 2017-06-23 14:23:14 -07:00
David Anderson 6376e2c6bb Initial import of Advanced Layers. (bug 1365879 part 20, r=bas) 2017-06-23 14:23:12 -07:00
Carsten "Tomcat" Book 4119f2f8fb Backed out changeset 8069471cda21 (bug 1365879) 2017-06-23 12:15:35 +02:00
Carsten "Tomcat" Book 86edec6643 Backed out changeset 20203c94ef23 (bug 1365879) 2017-06-23 12:15:21 +02:00
David Anderson 5e5166d309 Add memory reporting. (bug 1365879 part 26, r=mattwoodrow)
--HG--
extra : rebase_source : a19fc78fb107d6899244632d18cdb654a4bae8e9
2017-06-22 21:12:21 -07:00
David Anderson 8eb9963527 Initial import of Advanced Layers. (bug 1365879 part 20, r=bas)
--HG--
extra : rebase_source : 57032a3e3d383c27cfdc2f26841d387ca57d0011
2017-06-22 21:12:19 -07:00
Jean-Yves Avenard 00153b34ec Bug 1223270: P2. Add D3D11YCbCrImage type. r=mattwoodrow,nical
And related methods.

Will allow to directly upload a YUV420 buffer into a D3D11 texture.

MozReview-Commit-ID: FugfJB3818Y

--HG--
extra : rebase_source : faaf2667236699513923aaf76ccc462840182aa6
2017-05-03 23:23:45 +02:00
David Anderson f52c24e301 Extract some compositor functions into a LayersHelpers header. (bug 1365879 part 3, r=mattwoodrow) 2017-06-20 01:17:16 -07:00
Sebastian Hengst 20d16dadd3 merge mozilla-inbount to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 36YqbsnO3en
2017-06-15 11:11:30 +02:00
Andrew Osmond fc4e6a00ae Bug 1365927 - Part 2. Add minimal PCompositorManager protocol. r=dvander 2017-06-14 11:39:59 -04:00
domfarolino@gmail.com 5450eab623 Bug 1369549 - Bootstrap a painting thread for OMTP. r=dvander
--HG--
extra : rebase_source : bae591cdace1197a6b4d3a489a46bdaab5293d23
2017-06-09 16:30:00 -04:00
Wes Kocher bcf1a1c32e Backed out 6 changesets (bug 1365927) for build failures in ipc_message_utils.h a=backout CLOSED TREE
Backed out changeset 11fc0da380a2 (bug 1365927)
Backed out changeset 9f1dee5a6c42 (bug 1365927)
Backed out changeset f4954c824f5c (bug 1365927)
Backed out changeset 144ac6cc76f8 (bug 1365927)
Backed out changeset 961e782cf7c7 (bug 1365927)
Backed out changeset 12a093fb86a4 (bug 1365927)

MozReview-Commit-ID: 6CDxqOJzMjE
2017-06-13 12:45:03 -07:00
Andrew Osmond 9a639f1536 Bug 1365927 - Part 2. Add minimal PCompositorManager protocol. r=dvander 2017-06-13 15:19:36 -04:00
Ryan Hunt fcb54217c6 Bug 1371527 - Add LayersMessageUtils for IPC serialization of mozilla::layers structs. r=dvander
MozReview-Commit-ID: 7UAtrnnlSqI

--HG--
rename : gfx/ipc/GfxMessageUtils.h => gfx/layers/ipc/LayersMessageUtils.h
extra : rebase_source : 99abcb49ede377e5c31440b2d21a5bd79cda65e0
extra : amend_source : d1820fb6e7aee5e0dbcc83242e9264d8f4e7a4d0
2017-06-08 23:32:13 -05:00
Martin Robinson 7d937678f4 Bug 1365972 - Add initial WebRender support for nsDisplayFilter. r=rhunt, r=mattwoodrow 2017-06-06 06:28:00 -04:00
Botond Ballo ec17a356c2 Bug 1352863 - Move the GetAxis*() functions from AsyncPanZoomController.cpp into a new DirectionUtils.h header. r=kats
Also take advantage of the new CoordOf metafunction to combine some of their overloads.

MozReview-Commit-ID: ETybNn7b5ic

--HG--
extra : rebase_source : 5798103462e454dc61abb7c8a26b997f02c8be36
2017-05-24 15:47:01 -04:00
Wes Kocher 8b07ba2a07 Merge m-c to inbound a=merge
a=release IGNORE BAD COMMIT MESSAGES
2017-05-19 15:18:51 -07:00
David Anderson c248fd8d3b Generate shader blobs as part of the build process. (bug 1365859 part 2, r=mshal)
--HG--
extra : rebase_source : 2f1d7762d1c12cd223fa0aab1b964c18ac92e090
2017-05-19 12:32:14 -07:00
Kartikaya Gupta 3ba2f96414 Bug 1361497 - Push scrolling clips for scrollable layers in the layer tree. r=jrmuizel
This adds an RAII helper and uses it in RenderLayer functions. When APZ
is enabled, the RAII helper pushes a scrolling clip for each scrollable
metrics on the layer. It also pops off the scrolling clips on
destruction. Note that this should happen before any other things are
pushed into the WR display list for the rendering of a layer, since
those things should be subjected to the enclosing scrolling clips.
If APZ is disabled, this skips pushing the scrolling clips.

MozReview-Commit-ID: 1qv9egKbbok
2017-05-12 13:58:15 -04:00
Kartikaya Gupta 7259e787f4 Merge m-c to graphics
MozReview-Commit-ID: 9XwZUWIhGir
2017-05-02 09:45:11 -04:00
Jeff Muizelaar 8c32ac0090 Bug 1360001. Add WebRenderPaintedLayerBlob for painting with BlobImages. r=kats
This is a bit of a rough implementation but it works
enough to start.
2017-05-01 21:58:52 -04:00
Kartikaya Gupta 1dd42d38a4 Bug 1359842 - Add a StackingContextHelper to reduce duplicated code. r=nical
This class is a RAII class that can be used to push a stacking context
with properties from a WebRenderLayer. It can also then be used to
convert rects in the layer coordinate system to be relative to the
stacking context, which is what we want for passing to WR.

MozReview-Commit-ID: 1WVrfRYqLqc
2017-04-27 12:04:25 -04:00
Kartikaya Gupta 6e24ccd51b Bug 1359748 - Extract a WebRenderLayer.{h,cpp} from WebRenderLayerManager.{h,cpp}. r=jrmuizel
Other than moving the code into new files, this just cleans up includes
in the modified and dependent files.

MozReview-Commit-ID: JpJ8rwOkfOO
2017-04-27 11:28:31 -04:00
Kartikaya Gupta 2e1380aecf Merge m-c to graphics
MozReview-Commit-ID: 5zsIClrx1FB
2017-04-21 10:01:47 -04:00
Kartikaya Gupta d7dac71f73 Bug 1357754 - Add WebRenderScrollDataWrapper. r=botond
This adds the WebRenderScrollDataWrapper class which is
template-compatible with LayerMetricsWrapper. While the
LayerMetricsWrapper operates on an underlying layer tree, the
WebRenderScrollDataWrapper will simulate a layer tree based on an
underlying WebRenderScrollData object. The class is stubbed out here,
functions will be implemented in subsequent patches.

MozReview-Commit-ID: 9exnFRI6tOW
2017-04-20 10:38:05 -04:00
Kartikaya Gupta 070cc4b9a7 Bug 1357754 - Add a mechanism to send scroll data to APZ over PWebRenderBridge. r=jrmuizel
This adds a WebRenderScrollData class (which contains a list of
WebRenderLayerScrollData objects, among other things), and adds it to
the DPEnd/DPSyncEnd messages sent across PWebRenderBridge. These classes are
skeletons for now (more stuff will be added to them in future patches).

MozReview-Commit-ID: 9duxwlUpdu7
2017-04-20 10:38:04 -04:00
Ethan Lin 0e0ea44db7 Bug 1349500 - Add webrender support for BulletFrame path type. r=mchang 2017-04-18 14:26:41 +08:00
David Anderson ce7cc32129 Improve pixel fill statistics in the D3D11 compositor overlay. (bug 1352151 part 6, r=bas)
This introduces two new statistics to the overlay. The first is the ratio of
pixel shader invocations (as determined by the GPU) to the number of pixels we
determined need to be redrawn. The ideal ratio is 1.0, indicating that we
filled every pixel exactly once. Anything over 1.0 indicates overdraw.

We also add the ratio of shaded pixels to window size. This indicates how well
we computed the invalid region, and whether or not we overfilled that
region.

Note that the OpenGL and Basic compositors do not yet query the GPU for
this statistic, so they will estimate shader invocations by the area of
DrawQuad calls.

Finally, we remove the feature where layout can request the most
recent overdraw statistic. It was not implemented on all compositors, and the
only test that used it was disabled.

--HG--
extra : rebase_source : 448a162998921974575a1a988bcfde52c959d3ed
2017-04-10 19:44:46 -07:00
David Anderson a8433cef6b Collect diagnostics on paint times for the compositor overlay. (bug 1352151 part 1, r=mattwoodrow)
--HG--
extra : rebase_source : f30dc11079add3f1019777b1c85cc5c5a5f0596b
2017-04-10 19:44:45 -07:00
Randall Barker a606cd8b60 Bug 1335895 - Android GeckoView Dynamic Toolbar Version 3 r=botond,dvander,jchen,kats
This version of the Dynamic Toolbar moves the animation of the toolbar
from the Android UI thread to the compositor thread. All animation for
showing and hiding the toolbar are done with the compositor and a static
snapshot of the real toolbar.

MozReview-Commit-ID: BCe8zpbkWQt
2017-04-20 15:15:14 -07:00
JerryShih b0ffca2f70 Bug 1347062 - P4: create RenderBufferTextureHost and RenderMacIOSurfaceTextureHostOGL. r=nical,sotaro
1) make RenderTextureHost into a abstract base class for all RenderXXXTextureHost.
2) create a base class RenderTextureHostOGL for all texture handle base texture.
3) create RenderBufferTextureHost for buffer texture at render thread.
4) create RenderMacIOSurfaceTextureHostOGL for MacIOSurface at render thread.

--HG--
rename : gfx/webrender_bindings/RenderBufferTextureHost.h => gfx/webrender_bindings/RenderTextureHost.h
2017-03-31 22:29:14 +08:00
Kartikaya Gupta 9608ac4946 Merge m-c to graphics
MozReview-Commit-ID: Ci50iHfzKbA
2017-03-22 09:55:38 -04:00
Mason Chang 516a3654f4 Bug 1346451 - Delete WebRenderBorderLayer. r=ethlin 2017-03-11 10:04:26 -08:00
Kartikaya Gupta 8f54e2114e Merge m-c to graphics
MozReview-Commit-ID: QN682uyISF
2017-03-09 10:42:57 -05:00
Mason Chang 2289ed06ba Bug 1343979 - Add webrender support for ButtonBorderBackground. r=ethlin 2017-03-08 08:31:46 -08:00
sotaro 1d710a54ef Bug 1343764 - Add ExternalBuffer handling r=nical 2017-03-07 19:37:28 +09:00
David Anderson 990418f338 Remove the Direct3D9 compositor. (bug 1318558 part 2, r=mattwoodrow) 2017-03-08 00:17:36 -08:00
David Anderson 4d00ab76d4 Factor texture methods out of Compositor into a TextureSourceProvider class. (bug 1343814 part 1, r=mattwoodrow) 2017-03-21 20:32:53 -07:00
Kartikaya Gupta 1f59561281 Bug 1339220 - Add telemetry probes to measure duration and max-area of animations in the compositor. r=botond,bsmedberg
MozReview-Commit-ID: KyvsNSTcxG8

--HG--
extra : rebase_source : 18626f70b714b5bfc815c16422b04258be03e02b
2017-02-16 14:40:37 -05:00