aboutsummaryrefslogtreecommitdiffstats
path: root/components/canvas/webgl_thread.rs
Commit message (Collapse)AuthorAgeFilesLines
* Upgrade WebRender to e491e1ae637b2eed1e7195855d88357e5eb3ddf9 (#30323)Martin Robinson2023-09-101-15/+19
| | | | | | | | | | | | | | | | | | * 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-081-0/+2
| | | | | | | | | | | * 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>
* Remove dependency on surfman-chains (#30090)Martin Robinson2023-08-111-15/+7
| | | This functionality is now part of surfman itself.
* Try to `use` WebRender types moreMartin Robinson2023-07-101-38/+40
| | | | | The newer versions of WebRender move types around between `webrender` and `webrender_api` and this will reduce the churn during the upgrade.
* Remove the DOMToTexture featureMartin Robinson2023-06-271-97/+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
* 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.
* feat: shorten thread namesyvt2021-07-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix deprecation warnings.Josh Matthews2020-11-121-11/+11
|
* webgl: Support preserveDrawingBuffer.Josh Matthews2020-08-061-13/+21
|
* Support depth and stencil in webxrAlan Jeffrey2020-07-101-16/+19
|
* Support for webxr layer managementAlan Jeffrey2020-06-281-200/+427
|
* Auto merge of #26787 - szeged:texi2d_3, r=jdmbors-servo2020-06-181-2/+26
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-181-2/+26
| | | | | | | | Adds initial support for one of the WebGL2 `TexImage2D` call.
* | blockingly shut-down webrender when exiting webgl_threadGregory Terzian2020-06-171-10/+8
|/
* Proxy all WR interactions for layout/font/script/canvas threads to the ↵Josh Matthews2020-06-091-4/+4
| | | | | | | compositor thread. There is now a single RenderApi that is used, and all transactions are serialized through the compositor.
* Convert all uses of UpdateResources api to use webrender transactions.Josh Matthews2020-05-111-3/+11
|
* webgl: Return TEXTURE_IMMUTABLE_FORMAT as a boolean; don't panic on macOS ↵Josh Matthews2020-04-301-0/+5
| | | | for TEXTURE_IMMUTABLE_LEVELS.
* webgl: Add missing RGB8 texture format combination.Josh Matthews2020-04-301-1/+2
|
* webgl: Fix tidyMátyás Mustoha2020-04-301-8/+4
|
* webgl: Fix support for float/half-float texture formats.Josh Matthews2020-04-301-11/+22
|
* Add support for WebGL2 TexStorage2DMátyás Mustoha2020-04-301-3/+20
| | | | | | | | 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
* Update surfman to 0.2 and remove glutinAlan Jeffrey2020-04-171-142/+300
|
* Auto merge of #26147 - jdm:linewidth, r=noxbors-servo2020-04-141-1/+7
|\ | | | | | | | | | | | | | | Avoid GL errors with LineWidth commands - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #26139
| * webgl: Avoid GL errors with LineWidth commands.Josh Matthews2020-04-081-1/+7
| |
* | Remove assertion for negative value from get_uniform_locationDaniel Alley2020-04-091-1/+0
| | | | | | | | closes #26150
* | Auto merge of #26136 - asajeffrey:goodbye-webvr, r=Manishearthbors-servo2020-04-081-17/+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-081-17/+0
| |
* | Add initial support for VertexAttribI4*, VertexAttribIPointerIstvan2020-04-071-1/+6
|/ | | | Adds initial support for the WebGL2 `VertexAttribI4i`, `VertexAttribI4iv`, `VertexAttribI4ui`, `VertexAttribI4uiv` and `VertexAttribIPointer` calls.
* Add support for DrawRangeElements in WebGL2Istvan2020-03-301-0/+1
| | | | 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/+31
| | | | | | | | | 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-091-54/+53
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-091-54/+53
| | | | | | | | implementations.
* | Add support for WebGL2 GetFragDataLocationMátyás Mustoha2020-03-091-0/+6
|/ | | | | | Adds support for the `GetFragDataLocation` WebGL2 call. See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.7
* Auto merge of #25863 - servo:synup, r=jdmbors-servo2020-03-051-2/+3
|\ | | | | | | Remove syn 0.15 from our crate graph
| * Remove syn 0.15 from our crate graph (fixes #24421)Anthony Ramine2020-03-051-2/+3
| | | | | | | | | | | | | | | | | | | | This required bumps of: * gleam * image * rust-webvr * webrender * webxr
* | Add support for WebGL2 FramebufferTextureLayerMátyás Mustoha2020-03-041-0/+13
| | | | | | | | | | | | 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/+6
|/ | | | | | | 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/+12
| | | | | | | | | | | 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-221-4/+27
|
* Add support for WebGL2 uniform matrix operationsMátyás Mustoha2020-01-171-0/+60
| | | | | | Adds support for the `uniformMatrix[234]x[234]fv` WebGL2 functions. See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.8
* Add support for WebGL2 unsigned uniform operationsMátyás Mustoha2020-01-151-0/+38
| | | | | | | This adds support for the WebGL2 `uniform[1234]ui` and `uniform[1234]uiv` operations. See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.8
* Add initial support for WebGL2 uniform buffer functionsMátyás Mustoha2020-01-091-0/+67
| | | | | | | | | | | | | | | Adds initial support for the following WebGL2 calls: - bindBufferBase - bindBufferRange - getUniformIndices - getUniformBlockIndex - getActiveUniforms - getActiveUniformBlockParameter - getActiveUniformBlockName - uniformBlockBinding See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.16
* webgl: Set more ANGLE shader translation properties for WebGL 2.Josh Matthews2020-01-071-6/+13
|
* Add extra debug assertions for WebGL errorsAlan Jeffrey2019-12-061-0/+7
|
* Add support for WebGL2 ReadPixels functionsMátyás Mustoha2019-11-261-0/+11
| | | | | | | Adds support for the new ReadPixels functions introduced with WebGL2 and the relevant PixelStorei parameters. Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.10
* Avoid recompiling script every time surfman changesAlan Jeffrey2019-11-181-0/+1
|
* Auto merge of #24676 - Manishearth:unpatch, r=jdmbors-servo2019-11-111-18/+50
|\ | | | | | | | | | | | | | | Remove patched webxr Unsure if this compiles yet, testing locally. r? @jdm
| * Update surfman to use Git versionManish Goregaokar2019-11-111-0/+4
| |
| * Remove patched webxrManish Goregaokar2019-11-081-18/+46
| |