aboutsummaryrefslogtreecommitdiffstats
path: root/components/canvas_traits/webgl.rs
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* webgl: Reject incompatible 2d texture pixel data based on texture data type.Josh Matthews2020-05-131-0/+32
|
* 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 #26136 - asajeffrey:goodbye-webvr, r=Manishearthbors-servo2020-04-081-41/+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-41/+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-091-2/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+9
| | | | | | | | 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-221-3/+21
|
* Add support for WebGL2 uniform matrix operationsMátyás Mustoha2020-01-171-0/+12
| | | | | | 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/+12
| | | | | | | 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/+28
| | | | | | | | | | | | | | | 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-0/+7
|
* Add support for WebGL2 ReadPixels functionsMátyás Mustoha2019-11-261-0/+1
| | | | | | | 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
* Auto merge of #24694 - servo:rustup, r=jdmbors-servo2019-11-091-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove use of on_unimplemented It errors in today’s Nightly: ```rust error[E0557]: feature has been removed --> components/script/lib.rs:9:12 | 9 | #![feature(on_unimplemented)] | ^^^^^^^^^^^^^^^^ feature has been removed error[E0658]: this is an internal attribute that will never be stable --> components/script/dom/bindings/conversions.rs:77:1 | 77 | #[rustc_on_unimplemented(message = "The IDL interface `{Self}` is not derived from `{T}`.")] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: for more information, see https://github.com/rust-lang/rust/issues/29642 = help: add `#![feature(rustc_attrs)]` to the crate attributes to enable error: aborting due to 2 previous errors ```
| * Fix some warnings new in Rust NightlySimon Sapin2019-11-081-1/+1
| |
* | Add Support for WebGL TransormfeedbackIstvan Miklos2019-11-081-0/+23
|/ | | | Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.15
* Implement the basic WebGL2 buffer data operationsMátyás Mustoha2019-11-051-0/+2
| | | | | | | Adds support for `bufferData`, `bufferSubData`, `copyBufferSubData` and `getBufferSubData`. Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.3
* Use surfman for managing GL surfacesPatrick Walton2019-11-011-33/+79
| | | | | | Co-authored-by: Alan Jeffrey <ajeffrey@mozilla.com> Co-authored-by: Zakor Gyula <gyula.zakor@h-lab.eu> Co-authored-by: Josh Matthews <josh@joshmatthews.net>
* webgl: Lazily clear the canvas right before the first webgl command of the ↵Josh Matthews2019-10-101-8/+4
| | | | next frame.
* Add WebGLSampler supportMátyás Mustoha2019-10-081-0/+8
| | | | Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.13
* Initial implementation of WebGLSyncIstvan Miklos2019-10-021-15/+32
| | | | | | | This patch adds initial support for WebGLSync. Note: There is no test for the isSync, deleteSync and waitSync functions in the `conformance2/sync/sync-webgl-specific.html`.
* Initial implementation of WebGLQueriesMátyás Mustoha2019-10-011-0/+6
| | | | | | | | This patch adds initial support for WeGLQueries. Most related WebGL functions and objects are implemented [1]. What's still missing is the `EXT_disjoint_timer_query_webgl2` support. [1]: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.12
* webxr: Use the same texture format as the original GL context's framebuffer ↵Josh Matthews2019-09-201-0/+8
| | | | when creating an XR GL layer.
* Replace use of gleam in webgl with sparkle.Josh Matthews2019-09-111-5/+5
|
* Replace use of callbacks in webxr by channelsAlan Jeffrey2019-07-261-38/+1
|
* Update euclid.Emilio Cobos Álvarez2019-07-231-1/+1
| | | | | | | | There are a few canvas2d-related dependencies that haven't updated, but they only use euclid internally so that's not blocking landing the rest of the changes. Given the size of this patch, I think it's useful to get this landed as-is.
* Make GL/GLES decisions based on the API in use.Josh Matthews2019-07-121-6/+8
|
* Use separate IPC-only locking mechanism when locking from webxrManish Goregaokar2019-07-111-3/+5
|
* WebGLSender doesn't really implement SerializableAlan Jeffrey2019-07-101-2/+17
|
* Use webxr IPC to get a WebXR device registry to each script threadAlan Jeffrey2019-07-031-0/+1
|
* Initialize a wevxr device registry from ServoAlan Jeffrey2019-07-021-0/+19
|