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

210 Коммитов

Автор SHA1 Сообщение Дата
Ryan Hunt 444067a435 Bug 1356371 - Use cbindgen for WebRender bindings generation r=kats
This commit adds some directives to help cbindgen generate correct
structs and functions, removes some old FFI code that isn't needed
anymore, and regenerates webrender_ffi_generated.h

MozReview-Commit-ID: KZSEZEN671A

--HG--
extra : rebase_source : 23a07dd11037943156983d9facc039bb7af51c95
2017-04-13 15:45:51 -04:00
Ryan Hunt 422ca37abb Bug 1356371 - Create a WrExternalImageId because ExternalImageId is not repr(C) r=kats
This is only temporary as ExternalImageId has been made repr(C) upstream.

MozReview-Commit-ID: 1On7fRbNI4o

--HG--
extra : rebase_source : 91cb93829de5ccf0a6f0a05ed0d2169268b6c18c
2017-04-13 15:31:09 -04:00
Ryan Hunt d2799c4902 Bug 1356371 - Create a WrRenderedEpochs struct r=kats
This helps cbindgen know to generate a opaque struct for WrRenderedEpochs.

MozReview-Commit-ID: 7moOEBjjbOO

--HG--
extra : rebase_source : 49b3887ae21f659ac353b861f3566cc2817103b0
2017-04-13 15:03:44 -04:00
Ryan Hunt 070551c13f Bug 1352657 - Add a comment about webrender binary recording r=jrmuizel 2017-04-13 14:32:04 -04:00
Ryan Hunt 6aa2c5a2aa Bug 1356057 - Add a WrGlyphInstance struct r=kats
MozReview-Commit-ID: ApIOZyS4VV7

--HG--
extra : rebase_source : cffc119aee9ddf030bc99317667805278295a5ac
extra : histedit_source : 29ce59257222377ffbadf0987ebbe85f1d736a8e
2017-04-12 23:28:40 -04:00
Ryan Hunt 98343720ca Bug 1356057 - Make bindings.rs euclid conversions generic r=kats
MozReview-Commit-ID: 5FLg5UD6IlN

--HG--
extra : rebase_source : d071ed1aaf7bc3a1c40c90c454296b3799e6ad88
extra : histedit_source : ae48b57065eef16dad172cc33fbf2c43026f2dfc
2017-04-12 23:41:02 -04:00
sotaro 79b1971bae Bug 1356088 - Fix ImageKey removals of ExternalImages r=jrmuizel 2017-04-13 20:53:21 +09:00
Ryan Hunt bfa4ee5cb2 Bug 1355570 - Update bindings and WebRender display list building for gradient tiling r=jrmuizel
MozReview-Commit-ID: KwhCBc8XxCN

--HG--
extra : rebase_source : a5608b3388528ae1bd39be5f2fd9b2094193d46c
extra : source : c244293944bc163a742ef1b6f4225a751db5f796
extra : histedit_source : 860c2dc0fd3f8a5f35aea9b1ca15218d64208b65%2C803c9c5d3e85ee73fda2e3ccf504426b4798aecb
2017-04-12 14:20:52 -05:00
Kartikaya Gupta 4ae17c3c9c Bug 1354944 - Plug in the generated FFI header. r=jrmuizel
MozReview-Commit-ID: E6qlCffKH1s
2017-04-11 22:17:18 -04:00
Kartikaya Gupta 851b246da0 Bug 1354950 - Add a destructor_safe doc attribute as a hint to the binding generator. r=rhunt
MozReview-Commit-ID: 3N1JsRsB01g
2017-04-11 22:17:10 -04:00
Kartikaya Gupta 8318f4c805 Bug 1355590 - Fix WrClipRegion/WrRect mismatch in a couple of Rust FFI functions. r=mtseng
MozReview-Commit-ID: 4gUyk4cRTAo
2017-04-11 22:17:02 -04:00
Kartikaya Gupta 23053869fc Bug 1355615 - Update wr_api_finalize_builder to take pointers on the C++ side to match the Rust side. r=jrmuizel
MozReview-Commit-ID: IskZgT17n42
2017-04-11 18:03:59 -04:00
Kartikaya Gupta ee6ed70bc5 Bug 1355614 - Update wr_dp_push_text to take an immutable pointer to match the C++ side. r=jrmuizel
MozReview-Commit-ID: GjHo8RBt3wX
2017-04-11 18:01:04 -04:00
Kartikaya Gupta db665d693b Bug 1355612 - Make WrGlyphInstance hold a Point2D instead of raw x/y to match the Rust side. r=jrmuizel
MozReview-Commit-ID: 7OtctQ4gWyv
2017-04-11 18:00:50 -04:00
Kartikaya Gupta 8050498fed Bug 1355602 - Decouple pushing scroll layers from pushing stacking contexts. r=jrmuizel
This removes the call to push_scroll_layer in wr_push_stacking_context, so that
it's now possible to push a stacking context without necessarily pushing a
scroll layer. There is already a separate function to push a scroll layer so the
call sites can do that. This patch just changes all the call sites that were
pushing a stacking context to also push a scroll layer, so there should be no
functional change. Future patches can remove the spurious scroll layers.

MozReview-Commit-ID: FtCkc9JQd8l
2017-04-11 17:04:59 -04:00
Kartikaya Gupta 728e0fbb28 Bug 1355578 - Update push_scroll_layer's signature on the Rust side to match that on the C++ side. r=jrmuizel
MozReview-Commit-ID: 9ouWihnNkbR
2017-04-11 16:13:58 -04:00
Kartikaya Gupta 1880bd37a5 Bug 1355577 - Make the pointer in WrByteSlice const on the C++ side to match the Rust side. r=jrmuizel
MozReview-Commit-ID: FWCzZt8RAMj
2017-04-11 16:13:44 -04:00
Kartikaya Gupta 59dd9e78bc Bug 1353484 - Update webrender to 3dd68f54e12bd5abf8ef41de4d4ec851620f7e4e. r=jrmuizel,kvark,rhunt
This includes:
- updating calls to push_scroll_layer for API change in 7253e2f.
- updating calls to push_stacking_context for API change in be249f6.
- updating for changes to gradient APIs in 05c4293.
2017-04-11 10:00:41 -04:00
Kartikaya Gupta de71f88ab4 Bug 1354946 - Add an explicit WrMatrix type for passing 4x4 matrices across the FFI boundary. r=rhunt
Right now we just cast from a float* on the C++ side to a LayoutTransform on
the Rust side, except the LayoutTransform isn't a repr(C) storage type, so
there's no guarantee that it will actually have the same layout. Adding an
explicit type and conversion code ensure that we are able to pass the matrix
across the boundary safely.

MozReview-Commit-ID: H3gK3g0K3xz
2017-04-11 08:33:58 -04:00
Kartikaya Gupta 6f05b1f766 Bug 1355187 - Update some of the ExternalImage data types to be more similar in Rust and C++. r=rhunt
The WrExternalImageId is currently a struct wrapping a uint64_t on the C++ side,
which is unnecessary as we can just typedef it directly to a uint64_t. On the
Rust side it's a tuple of (u64).

Also the WrExternalImageIdType enum should be WrExternalImageType for consistency.

MozReview-Commit-ID: DgOf4xfY9h3
2017-04-10 17:38:02 -04:00
Kartikaya Gupta 1358415529 Bug 1355187 - Rename some struct fields so that the Rust/C++ names are the same. r=rhunt
The binding generator just takes the Rust field names and uses that in the
generated C++ structs. So installing the autogenerated bindings is easier if
we make sure the names are the same ahead of time.

MozReview-Commit-ID: 6cuzmtI5Qqw
2017-04-10 17:38:02 -04:00
Kartikaya Gupta 2e1233a137 Bug 1355187 - Add type aliases for instantiations of WrSideOffsets. r=rhunt
The binding generator needs this in order to deal with the generic-ness of the
WrSideOffsets type.

MozReview-Commit-ID: GetmNIpqf7O
2017-04-10 17:38:01 -04:00
Kartikaya Gupta 61b80a8602 Bug 1355187 - Update Rust FFI function signatures to use types with Wr prefix. r=rhunt
This patch:
- adds a type alias for ExternalImageId and updates uses.
- renames WrExternalImageStruct to drop the "Struct" suffix which is redundant
  and not present in the corresponding C++ struct.
- updates the delete-font function to use aliases I added previously.

MozReview-Commit-ID: ILsFihkMlIw
2017-04-10 17:38:01 -04:00
Kartikaya Gupta 48eb1475b5 Bug 1355183 - Mark WrExternalImageType as repr(u32) instead of repr(C). r=rhunt
On the C++ side the enum extends from uint32_t, like all the other enums across
the WR FFI boundary. So the Rust side they should be repr(u32).

MozReview-Commit-ID: JOf44I154ea
2017-04-10 17:38:01 -04:00
Kartikaya Gupta 8c1aeb1cb3 Bug 1354951 - Add some typedefs in bindings.rs to make the rust function signatures better match the signatures in webrender_ffi.h. r=rhunt
MozReview-Commit-ID: 8JZDNMwLDpN
2017-04-10 10:28:45 -04:00
Kartikaya Gupta 18bf4caba2 Merge m-c to graphics
MozReview-Commit-ID: ICVAgHmKVL4
2017-04-10 08:47:20 -04:00
Morris Tseng d4a7aaf673 Bug 1347469 - Add bindings for gradient border. r=kats
MozReview-Commit-ID: H6OwWaeBYWY
2017-04-10 17:27:30 +08:00
Ethan Lin 0834f181db Bug 1351242 - Add webrender support for nsDisplayBackgroundImage image type. r=mchang 2017-04-07 14:53:16 +08:00
Lee Salzman 22fb7629b8 Bug 1348980 - use UnscaledFont to track WebRender font keys. r=jrmuizel 2017-04-06 17:41:24 -04:00
Kartikaya Gupta dc8c89efa4 Bug 1353735 - Fix repr(C) on enums to repr(u32). r=jrmuizel
MozReview-Commit-ID: FQ6U48xMiRe
2017-04-05 11:19:00 -04:00
Kartikaya Gupta 452cd0c0a2 Bug 1353735 - Fix return value of binding function. r=jrmuizel
MozReview-Commit-ID: 3COc4L4J5Y2
2017-04-05 11:18:52 -04:00
Kartikaya Gupta ebd34c8deb Bug 1353735 - Fix missing ABI declaration. r=jrmuizel
MozReview-Commit-ID: IZkitQliVma
2017-04-05 11:18:43 -04:00
Sotaro Ikeda fe30e9db69 Bug 1323612 (Part 2) - Add runtime fixups for WebRender on Android. r=kats
MozReview-Commit-ID: 2fWRPkRM52e
2017-04-05 10:12:11 -04:00
Ryan Hunt 7ab0cb366b Bug 1351480 - Update bindings for gradients. r=jrmuizel
MozReview-Commit-ID: 48bjXH4ZCBi
2017-03-31 19:18:44 -04:00
Kartikaya Gupta 7490c35078 Bug 1351480 - Update calls to add_image to include the ImageData::External wrapper. r=Jerry
MozReview-Commit-ID: 7C1qXLtqCbG
2017-04-04 22:46:31 -04:00
Kartikaya Gupta 7ef76c0e9d Bug 1351480 - Update webrender to 7463ae5908ca1d4065763a8753af5d72a6f78b85. r=jrmuizel
In addition to updating gfx/webrender and gfx/webrender_traits, as well as the
Cargo.toml/Cargo.lock files and third-party rust dependencies, this updates
webrender_bindings for the following API changes:
- Update call to update_image for change in 086f912ea86d053d95e5f4eec00cae0d82ee5dba
- Update request_blob_image for new parameter added in 086f912ea86d053d95e5f4eec00cae0d82ee5dba.
- set_root_display_list got renamed to set_display_list, so update call sites.
2017-04-04 22:46:17 -04:00
JerryShih 15fde99d2c Bug 1347062 - P5: use texture handle directly with webrender. r=nical,sotaro
MozReview-Commit-ID: 1XLiFcpFEeu
2017-03-31 22:29:15 +08: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
JerryShih f8987906e1 Bug 1347062 - P3: rename from RenderTextureHost to RenderBufferTextureHost for further updating. r=sotaro
We will have a class RenderTextureHost as the base-class and its sub-class RenderBufferTextureHost in next patch. Use "rename" to preserve the file history.

MozReview-Commit-ID: KiqaO616AHc

--HG--
rename : gfx/webrender_bindings/RenderTextureHost.cpp => gfx/webrender_bindings/RenderBufferTextureHost.cpp
rename : gfx/webrender_bindings/RenderTextureHost.h => gfx/webrender_bindings/RenderBufferTextureHost.h
2017-03-31 22:29:14 +08:00
JerryShih 9e90247f7f Bug 1347062 - P2: use WrImageDescriptor for wr_api_add_external_image_handle(). r=nical,sotaro
MozReview-Commit-ID: 1dNQRZGeKaA
2017-03-31 22:29:14 +08:00
JerryShih 55f4c680b1 Bug 1347062 - P1: add WrExternalImage binding utility function. r=nical,sotaro
MozReview-Commit-ID: 4oJvybXRuTX
2017-03-31 22:29:14 +08:00
Kartikaya Gupta f480fd6ca6 Bug 1352393 - Bulk import everything in webrender_traits. r=jrmuizel
MozReview-Commit-ID: 6LKDcPvIrBz
2017-03-31 09:43:18 -04:00
Kartikaya Gupta 317d304694 Merge m-c to graphics
MozReview-Commit-ID: 9kxCUtDZT9J
2017-03-29 10:24:15 -04:00
Sotaro Ikeda d4d0425579 Bug 1323316 - Use ANGLE for WebRender on Windows. r=jrmuizel,kats
MozReview-Commit-ID: Fg5GEWNRtIu
2017-03-29 10:14:19 -04:00
Jeff Muizelaar d4b306abb2 Bug 1351506. Remove display list copy from wr_api_finalize_builder. r=nical
The takes advantage of some new webrender api to eliminate a copy of the
displaylist
2017-03-29 09:07:07 -04:00
Kartikaya Gupta 25748395e5 Bug 1349692 - Update webrender to dafe3579e8dc886e6584116dc52a9362b543c169. r=jrmuizel
In addition to updating gfx/webrender and gfx/webrender_traits, this updates
gfx/webrender_bindings for:
- API changes to update_image and push_stacking_context.
- Version bumps needed in Cargo.toml

Also, since offscreen_gl_context is no longer a dependency, this patch removes
that crate and various other crates it depends on.
2017-03-28 17:49:11 -04:00
Wes Kocher ed79d988f0 Merge autoland to central, a=merge
MozReview-Commit-ID: 4DDSNU4ABBB
2017-03-27 17:03:30 -07:00
Nicolas Silva 4a5a35a9a2 Bug 1347641 - Implement the BlobImageRenderer binding glue. r=jrmuizel 2017-03-27 13:44:52 +02:00
Nicolas Silva 96f05a89cc Bug 1347641 - Add MutByteSlice to pass mutable u8 slices across ffi. r=jrmuizel 2017-03-27 13:44:43 +02:00
Nicolas Silva c95461e37f Bug 1347641 - Add ByteSlice to pass constant u8 slices across ffi. r=jrmuizel 2017-03-27 13:44:22 +02:00