aboutsummaryrefslogtreecommitdiffstats
path: root/components/canvas
Commit message (Collapse)AuthorAgeFilesLines
* Use `IpcSharedMemory` for `Canvas2dMsg::DrawImage` (#30544)Ennui Langeweile2023-10-182-11/+26
| | | | | | | | | * Use `IpcSharedMemory` for `Canvas2DMsg::DrawImage` * Fix `Canvas2dMsg::DrawEmptyImage` crashes * Do not premultiply canvas image data * Move `image_data` back to its original position
* Temporarily convert existing cfg(debug_assertions) crashes to warnings (#30578)Delan Azabani2023-10-181-3/+6
|
* Further changes required by ServoOriol Brufau2023-10-021-5/+5
|
* Fix webgl regression after WebRender upgrade (#30390)Mukilan Thiyagarajan2023-09-201-26/+22
| | | | | | | | | | | | | | | | | Sending WebRender an explicit ResourceUpdate message after every buffer swap invalidates the tile caches that depend on the image resource created for the webgl canvas. The previous WebRender code that Servo was using might have worked with WebGL only accidentally since picture caching was disabled by [default][1] and so the tiles were not cached between frames. Fixes #30367 [1]: https://github.com/servo/servo/blob/c385b3c9737c17d59cb02e520c3b68b232cb6497/third_party/webrender/webrender/src/renderer.rs#L7073 Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Strict import formatting (grouping and granularity) (#30325)Samson2023-09-116-89/+61
| | | | | * strict imports formatting * Reformat all imports
* Upgrade WebRender to e491e1ae637b2eed1e7195855d88357e5eb3ddf9 (#30323)Martin Robinson2023-09-102-16/+21
| | | | | | | | | | | | | | | | | | * Upgrade vendored version of WebRender * Patch WebRender: upgrade version of gleam * Restore hit testing implementation * Fix WebRender warnings * Adapt Servo to new WebRender * Update results * Add a workaround for #30313 This slightly expands text boundaries in order to take into account the fact that layout isn't measuring glyph boundaries.
* remove `extern crate` (#30311)Samson2023-09-086-5/+6
| | | | | | | | | | | * remove extern crate * Update components/script_plugins/lib.rs Co-authored-by: Martin Robinson <mrobinson@igalia.com> --------- Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* [chore] Update 'half' in components/canvas (#30098)Fabrice Desré2023-08-151-1/+1
| | | This removes a duplicate version
* Remove dependency on surfman-chains (#30090)Martin Robinson2023-08-113-25/+10
| | | This functionality is now part of surfman itself.
* Try to `use` WebRender types moreMartin Robinson2023-07-104-50/+54
| | | | | The newer versions of WebRender move types around between `webrender` and `webrender_api` and this will reduce the churn during the upgrade.
* Vendor the current version of WebRenderMartin Robinson2023-07-031-2/+2
| | | | | | | | This is a step toward upgrading WebRender, which will be upgraded and patched in the `third_party` directory. This change vendors the current private branch of WebRender that we use and adds a `patches` directory which tracks the changes on top of the upstream WebRender commit described by third_party/webrender/patches/head.
* Remove the DOMToTexture featureMartin Robinson2023-06-272-150/+0
| | | | | | | | | | | This relies on WebRender's frame output API, `set_output_image_handler`, which has been removed from the latest upstream [1]. It's sad to remove this feature, which was probably a lot of work to implement, but it seems difficult to patch WebRender to restore this functionality. Fixes #29936. 1. https://hg.mozilla.org/mozilla-central/rev/361521e3c52324809553c555fb066d50f023d9bf
* Further changes required by ServoOriol Brufau2023-05-241-0/+2
|
* Start the transition to workspace dependenciesMartin Robinson2023-05-171-15/+15
| | | | | | | This will ultimately make it simpler to update crate dependencies and reduce duplicate when specifying requirements. Generally, this change does not touch dependencies that are only used by a single crate. We could consider moving them to workspace dependencies in the future.
* Bump surfman to 0.6Thomas Gardner2023-02-241-1/+1
| | | | | Update to the new release of surfman, and consume it without using the `patches` section in Cargo.toml.
* Use crates.io release of raqoteAlex Touchet2023-02-081-1/+1
|
* Bump euclid to 0.22Martin Robinson2023-01-264-11/+11
| | | | | | | | | | | | | - Also updates raqote to latest with an upgrade of font-kit to 0.11 applied on as a patch - Update lyon_geom to the latest version Major change: - All matrices are now stored in row major order. This means that parameters to rotation functions no longer should be negated. - `post_...()` functions are now named `then()`. `pre_transform()` is removed, so `then()` is used and the order of operations changed.
* Update font-kit.Josh Matthews2022-04-011-2/+2
|
* Updated cssparser dependency to 0.29.Lewin Probst2021-11-181-1/+1
| | | | Signed-off-by: Lewin Probst <info@emirror.de>
* feat: shorten thread namesyvt2021-07-192-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Linux kernel imposes a 15-byte limit on thread names[1]. This means information that does not fit in this limit, e.g., the pipeline ID of layout and script threads, is lost in a debugger and profiler (see the first column of the table below). This commit shortens the thread names used in Servo to maximize the amount of information conveyed. It also rectifies some inconsistencies in the names. | Before | After | |-------------------|-------------------| | `BluetoothThread` | `Bluetooth` | | `CanvasThread` | `Canvas` | | `display alert d` | `AlertDialog` | | `FontCacheThread` | `FontCache` | | `GLPlayerThread` | `GLPlayer` | | `HTML Parser` | `Parse:www.examp` | | `LayoutThread Pi` | `Layout(1,1)` | | `Memory profiler` | `MemoryProfiler` | | `Memory profiler` | `MemoryProfTimer` | | `OfflineAudioCon` | `OfflineACResolv` | | `PullTimelineMar` | `PullTimelineDat` | | `ScriptThread Pi` | `Script(1,1)` | | `WebWorker for h` | `WW:www.example.` | | `ServiceWorker f` | `SW:www.example.` | | `ServiceWorkerMa` | `SvcWorkerManage` | | `Time profiler t` | `TimeProfTimer` | | `Time profiler` | `TimeProfiler` | | `WebGL thread` | `WebGL` | | `Choose a device` | `DevicePicker` | | `Pick a file` | `FilePicker` | | `Pick files` | `FilePicker` | [1]: https://stackoverflow.com/questions/5026531/thread-name-longer-than-15-chars
* Bump `time` to latest `v0.1.x` version.teymour-aldridge2021-06-251-1/+1
|
* Update to winit 0.24.Josh Matthews2021-03-051-2/+2
| | | | | Co-authored-by: Josh Matthews <josh@joshmatthews.net> Co-authored-by: Paulo E. Castro <pecastro@wormholenet.com>
* Miscellaneous build / tidy fixes.Emilio Cobos Álvarez2021-02-261-1/+1
|
* Fix deprecation warnings.Josh Matthews2020-11-121-11/+11
|
* Auto merge of #27558 - jdm:revert-revert-wrup, r=Manishearthbors-servo2020-08-101-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | Fix missing canvas text on UWP This addresses the missing fonts under UWP by updating font-kit and assorted dependencies that all depend on older incompatible versions of freetype. This also works around #27492 by using a fork of webrender that cherry-picks required dependency updates without bringing in the commit that exposes an ANGLE crash. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #27515 - [x] These changes do not require tests because no UWP tests.
| * Update webrender.Josh Matthews2020-08-101-1/+1
| |
| * Revert "Revert "Update font-kit and freetype and unicode-script.""Josh Matthews2020-08-101-1/+1
| | | | | | | | This reverts commit 10ae3bfbbb2383d349de6150434cc47c6ad1c8e9.
| * Revert "Revert "Update raqote, font-kit, fontconfig.""Josh Matthews2020-08-101-2/+2
| | | | | | | | This reverts commit ecfaba930494ced9eb5a299e42ebcb794d7210ac.
* | When instantiating a CTFont, store the bytes that were used to create it.Josh Matthews2020-08-071-10/+4
| |
* | Skip missing glyphs when drawing 2d canvas text.Josh Matthews2020-08-072-3/+26
|/
* webgl: Support preserveDrawingBuffer.Josh Matthews2020-08-062-14/+22
|
* Revert "Update raqote, font-kit, fontconfig."Josh Matthews2020-08-041-2/+2
| | | | This reverts commit a6ca582a556d19a82b1e9f71015b7e62277d32fa.
* Revert "Update font-kit and freetype and unicode-script."Josh Matthews2020-08-041-1/+1
| | | | This reverts commit 5c0d7998bd28ceb383f553cd7af5a60f472a47ba.
* Revert "Update webrender."Josh Matthews2020-08-041-1/+1
| | | | This reverts commit 2ca1b06e77f28cebeb886f50a6c21c438d4b2f46.
* Update webrender.Josh Matthews2020-07-311-1/+1
|
* Update font-kit and freetype and unicode-script.Josh Matthews2020-07-311-1/+1
|
* Update raqote, font-kit, fontconfig.Josh Matthews2020-07-311-2/+2
|
* Support depth and stencil in webxrAlan Jeffrey2020-07-101-16/+19
|
* canvas: Bail out from font loading if no default font can be loaded.Josh Matthews2020-07-061-9/+20
|
* Support for webxr layer managementAlan Jeffrey2020-06-284-221/+439
|
* style: fix formatting.Emilio Cobos Álvarez2020-06-181-5/+3
|
* style: Remove the dependency on font-kit from style.Emilio Cobos Álvarez2020-06-182-6/+34
| | | | No good reason to have this IMO, and helps remove some #[cfg] blocks.
* Auto merge of #26787 - szeged:texi2d_3, r=jdmbors-servo2020-06-182-3/+27
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for WebGL2 TexImage2D Adds initial support for one of the WebGL2 `TexImage2D` call. I've enabled the `tests/wpt/webgl/tests/deqp/` tests. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix part of #26512 - [x] There are tests for these changes @mmatyas @zakorgy @jdm <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * Add support for WebGL2 TexImage2DIstvan Miklos2020-06-182-3/+27
| | | | | | | | Adds initial support for one of the WebGL2 `TexImage2D` call.
* | Auto merge of #26922 - gterzian:shutdown_webrender, r=jdmbors-servo2020-06-171-10/+8
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Blockingly shut-down webrender api <!-- Please describe your changes on the following line: --> FIX https://github.com/servo/servo/issues/26876 --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * blockingly shut-down webrender when exiting webgl_threadGregory Terzian2020-06-171-10/+8
| |
* | Implement GPUSwapChain and GPUCanvasContext and interface with WebrenderKunal Mohan2020-06-131-3/+6
|/
* Auto merge of #26697 - utsavoza:ugo/issue-11681/22-05-2020, r=jdmbors-servo2020-06-124-14/+277
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement CanvasRenderingContext2d.fillText The PR consists of broadly two main changes: - Implementation of Canvas2dRenderingContext.font - Basic implementation of Canvas2dRenderingContext.fillText Although I am not fully sure about the long term goals for the canvas backend in Servo, I assumed limited scope for font and text handling (should support simple text drawing with font selection) in the current implementation as I believe a more complete implementation would eventually be brought in as a part of #22957. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #11681 - [x] There are tests for these changes
| * Derive Serialize and Deserialize traits for font styles for ↵Utsav Oza2020-06-122-4/+1
| | | | | | | | #[cfg_attr(feature = "servo")]
| * Fix ./mach build --release --with-layout-2020Utsav Oza2020-06-102-26/+110
| |