aboutsummaryrefslogtreecommitdiffstats
path: root/components/canvas_traits
Commit message (Collapse)AuthorAgeFilesLines
* Move `*_traits` and other shared types to `shared`Martin Robinson2023-11-037-2207/+0
| | | | | | | | | | | | This is the start of the organization of types that are in their own crates in order to break dependency cycles between other crates. The idea here is that putting these packages into their own directory is the first step toward cleaning them up. They have grown organically and it is difficult to explain to new folks where to put new shared types. Many of these crates contain more than traits or don't contain traits at all. Notably, `script_traits` isn't touched because it is vendored from Gecko. Eventually this will move to `third_party`.
* Use `IpcSharedMemory` for `Canvas2dMsg::DrawImage` (#30544)Ennui Langeweile2023-10-181-1/+2
| | | | | | | | | * Use `IpcSharedMemory` for `Canvas2DMsg::DrawImage` * Fix `Canvas2dMsg::DrawEmptyImage` crashes * Do not premultiply canvas image data * Move `image_data` back to its original position
* Strict import formatting (grouping and granularity) (#30325)Samson2023-09-116-17/+21
| | | | | * strict imports formatting * Reformat all imports
* remove `extern crate` (#30311)Samson2023-09-084-8/+5
| | | | | | | | | | | * 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>
* Try to `use` WebRender types moreMartin Robinson2023-07-101-1/+2
| | | | | 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-1/+1
| | | | | | | | 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-271-24/+1
| | | | | | | | | | | 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
* Start the transition to workspace dependenciesMartin Robinson2023-05-171-10/+10
| | | | | | | 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 euclid to 0.22Martin Robinson2023-01-261-1/+1
| | | | | | | | | | | | | - 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.
* Updated cssparser dependency to 0.29.Lewin Probst2021-11-181-1/+1
| | | | Signed-off-by: Lewin Probst <info@emirror.de>
* Bump `time` to latest `v0.1.x` version.teymour-aldridge2021-06-251-1/+1
|
* Fix three trivial warnings.Dominic Cooney2021-05-231-1/+0
| | | | Signed-off-by: Dominic Cooney <dominic.cooney@gmail.com>
* Miscellaneous build / tidy fixes.Emilio Cobos Álvarez2021-02-261-1/+1
|
* Support for webxr layer managementAlan Jeffrey2020-06-281-75/+48
|
* Add support for WebGL2 TexImage2DIstvan Miklos2020-06-181-0/+10
| | | | Adds initial support for one of the WebGL2 `TexImage2D` call.
* Fix ./mach build --release --with-layout-2020Utsav Oza2020-06-101-2/+2
|
* Enable textAlign, textBaseline and direction attributes for canvasUtsav Oza2020-06-101-1/+91
|
* Implement CanvasRenderingContext2D.font propertyUtsav Oza2020-06-102-0/+3
|
* Proxy all WR interactions for layout/font/script/canvas threads to the ↵Josh Matthews2020-06-091-2/+0
| | | | | | | compositor thread. There is now a single RenderApi that is used, and all transactions are serialized through the compositor.
* Auto merge of #26513 - jdm:webgl2-formats, r=asajeffreybors-servo2020-05-131-0/+32
|\ | | | | | | | | | | | | | | | | | | | | Reject incompatible webgl texture pixel data The tests that would make these changes most visibly correct unfortunately rely on texImage3D which isn't implemented yet, so they error out too soon. However, when I comment out that code, these changes avoid a bunch of panics in the webgl thread because of invalid data type combinations being accepted, and removing the incorrect non-filterable texture fallback behaviour for webgl 2 when more texture formats are supposed to be filterable. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] There are tests for these changes
| * webgl: Reject incompatible 2d texture pixel data based on texture data type.Josh Matthews2020-05-131-0/+32
| |
* | Dedupe dwroteatouchet2020-05-121-4/+4
|/
* Convert all uses of UpdateResources api to use webrender transactions.Josh Matthews2020-05-111-0/+1
|
* Implement EXT_frag_depthAlexandrov Sergey2020-05-111-1/+3
|
* Auto merge of #26336 - szeged:mmatyas__webgl_fns_getparam4, r=jdmbors-servo2020-05-011-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for WebGL2 MIN_PROGRAM_TEXEL_OFFSET Improves the support of the WebGL2 `MIN_PROGRAM_TEXEL_OFFSET` property (ie. stores it as a signed integer) and adds support for querying it using GetParameter. See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2 <!-- Please describe your changes on the following line: --> cc @jdm @zakorgy Depends on #26333 because they touch the same test files. --- <!-- 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] There are tests for these changes <!-- 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 MIN_PROGRAM_TEXEL_OFFSETMátyás Mustoha2020-04-301-1/+1
| | | | | | | | | | | | | | | | Improves the support of the WebGL2 `MIN_PROGRAM_TEXEL_OFFSET` property (ie. stores it as a signed integer) and adds support for querying it using GetParameter. See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2
* | Auto merge of #26333 - szeged:mmatyas__webgl_fns_getparam3, r=jdmbors-servo2020-04-301-0/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for even more WebGL2 GetParameter enums Adds support for the following new WebGL2 GetParameter values: - `PACK_ROW_LENGTH` - `PACK_SKIP_PIXELS` - `PACK_SKIP_ROWS` - `RASTERIZER_DISCARD` - `UNPACK_IMAGE_HEIGHT` - `UNPACK_ROW_LENGTH` - `UNPACK_SKIP_IMAGES` - `UNPACK_SKIP_PIXELS` - `UNPACK_SKIP_ROWS` See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2 <!-- Please describe your changes on the following line: --> Depends on #26265 because they touch the same test file. cc @jdm @zakorgy --- <!-- 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] There are tests for these changes <!-- 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 even more WebGL2 GetParameter enumsMátyás Mustoha2020-04-301-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds support for the following new WebGL2 GetParameter values: - `PACK_ROW_LENGTH` - `PACK_SKIP_PIXELS` - `PACK_SKIP_ROWS` - `RASTERIZER_DISCARD` - `UNPACK_IMAGE_HEIGHT` - `UNPACK_ROW_LENGTH` - `UNPACK_SKIP_IMAGES` - `UNPACK_SKIP_PIXELS` - `UNPACK_SKIP_ROWS` See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2
* | webgl: Return TEXTURE_IMMUTABLE_FORMAT as a boolean; don't panic on macOS ↵Josh Matthews2020-04-301-1/+4
| | | | | | | | for TEXTURE_IMMUTABLE_LEVELS.
* | webgl: Fix tidyMátyás Mustoha2020-04-301-3/+15
| |
* | webgl: Fix support for float/half-float texture formats.Josh Matthews2020-04-301-4/+36
| |
* | Add support for WebGL2 TexStorage2DMátyás Mustoha2020-04-301-10/+317
|/ | | | | | | | Adds initial support for the WebGL2 `TexStorage2D` call, adds support for the related texture enums and enables some of the texture tests. See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.6
* Add support for some more WebGL2 limit parametersMátyás Mustoha2020-04-291-3/+12
| | | | | | | | | | | | | | | | Adds support for the following new WebGL2 GetParameter values: - `MAX_ELEMENT_INDEX` - `MAX_ELEMENTS_INDICES` - `MAX_ELEMENTS_VERTICES` - `MAX_FRAGMENT_INPUT_COMPONENTS` - `MAX_SAMPLES` - `MAX_SERVER_WAIT_TIMEOUT` - `MAX_TEXTURE_LOD_BIAS` - `MAX_VARYING_COMPONENTS` - `MAX_VERTEX_OUTPUT_COMPONENTS` See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2
* Update surfman to 0.2 and remove glutinAlan Jeffrey2020-04-171-1/+1
|
* Auto merge of #26071 - servo:rustup, r=noxbors-servo2020-04-101-1/+1
|\ | | | | | | | | | | Upgrade to rustc 1.44.0-nightly (42abbd887 2020-04-07) ~Blocked on https://github.com/rust-lang/rust/issues/70280~
| * Upgrade to rustc 1.44.0-nightly (42abbd887 2020-04-07)Simon Sapin2020-04-091-1/+1
| |
* | Auto merge of #26136 - asajeffrey:goodbye-webvr, r=Manishearthbors-servo2020-04-082-42/+0
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove WebVR <!-- Please describe your changes on the following line: --> Removes support for WebVR. WebXR is our future! --- <!-- 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 do not require tests because how do you test <!-- 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. -->
| * Remove WebVRAlan Jeffrey2020-04-082-42/+0
| |
* | Add initial support for VertexAttribI4*, VertexAttribIPointerIstvan2020-04-071-0/+2
|/ | | | Adds initial support for the WebGL2 `VertexAttribI4i`, `VertexAttribI4iv`, `VertexAttribI4ui`, `VertexAttribI4uiv` and `VertexAttribIPointer` calls.
* Add support for DrawRangeElements in WebGL2Istvan2020-03-301-0/+2
| | | | Adds initial support for the WebGL2 `DrawRangeElements` call.
* Add support for WebGL2 read and draw buffer settingsMátyás Mustoha2020-03-161-0/+2
| | | | | | | | | | | Adds support for the `ReadBuffer` and `DrawBuffers` WebGL2 calls and the related parameter getters. See: - https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.2 - https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.4 - https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.11
* Add support for some more WebGL2 renderbuffer functionsMátyás Mustoha2020-03-131-0/+10
| | | | | | | | | Adds support for the following WebGL2 calls: - `RenderbufferStorageMultisample` - `GetInternalFormativ` See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.5
* Auto merge of #25855 - jdm:surface-inversion, r=Manishearth,asajeffreybors-servo2020-03-093-9/+31
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove GL->d3d blit in HoloLens immersive mode Depends on: * https://github.com/servo/surfman/pull/151 * https://github.com/asajeffrey/surfman-chains/pull/7 * https://github.com/servo/webxr/pull/133 These changes add two extra APIs for embedders to use when registering a WebXR device - one to allow running any closure as a task in the webgl thread, and one to register an arbitrary surface provider for a particular webxr session. When an openxr session is started, it can then obtain the webgl thread's d3d device from that thread's surfman device and ensure that openxr uses it. Surface providers are traits that have their methods invoked by the webgl thread as part of the the normal swapchain operations. This allows the openxr surface provider to return surfaces that wrap the underlying openxr textures, which are valid in the webgl thread and can be used as the target of an opaque framebuffer. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #25735 - [x] These changes do not require tests because there are no windows immersive mode tests
| * Integrate swapchain surface provider changes into webgl and webxr ↵Josh Matthews2020-03-093-9/+31
| | | | | | | | implementations.
* | Add support for WebGL2 GetFragDataLocationMátyás Mustoha2020-03-091-0/+1
|/ | | | | | Adds support for the `GetFragDataLocation` WebGL2 call. See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.7
* Add support for WebGL2 FramebufferTextureLayerMátyás Mustoha2020-03-041-0/+3
| | | | | | Adds support for `FramebufferTextureLayer` WebGL2 call. See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.4
* Add support for WebGL2 framebuffer invalidationMátyás Mustoha2020-03-031-0/+2
| | | | | | | Adds support for the `invalidateFramebuffer` and `invalideSubFramebuffer` WebGL2 calls. See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.4
* Add support for WebGL2 clear buffer operationsMátyás Mustoha2020-02-241-0/+4
| | | | | | | | | | | Adds support for the following WebGL2 methods: - `clearBufferfv` - `clearBufferiv` - `clearBufferuiv` - `clearBufferfi` See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.11
* Add profiling for WebXRManish Goregaokar2020-02-222-3/+23
|
* Update ipc-channel and crossbeam-channel.Josh Matthews2020-02-201-2/+2
|