aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webglrenderingcontext.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* Auto merge of #26136 - asajeffrey:goodbye-webvr, r=Manishearthbors-servo2020-04-081-10/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-10/+1
| |
* | Add initial support for VertexAttribI4*, VertexAttribIPointerIstvan2020-04-071-22/+67
|/ | | | Adds initial support for the WebGL2 `VertexAttribI4i`, `VertexAttribI4iv`, `VertexAttribI4ui`, `VertexAttribI4uiv` and `VertexAttribIPointer` calls.
* Fix misspelled "get_suported_extensions" functionDaniel Alley2020-04-061-1/+1
| | | | closes #21122
* webgl: Don't dirty canvas element while in immersive mode.Josh Matthews2020-03-311-0/+6
|
* Auto merge of #26025 - szeged:webgl_draw_range_elements, r=jdmbors-servo2020-03-301-1/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for DrawRangeElements in WebGL2 Adds initial support for the WebGL2 `DrawRangeElements` call. <!-- Please describe your changes on the following line: --> I have started working on this function, but not sure how could I check for the Uniform Block Backing (https://www.khronos.org/registry/webgl/specs/latest/2.0/#ACTIVE_UNIFORM_BLOCK_BACKING). I am looking for some advice. --- <!-- 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 cc @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 DrawRangeElements in WebGL2Istvan2020-03-301-1/+5
| | | | | | | | Adds initial support for the WebGL2 `DrawRangeElements` call.
* | Make LayoutCanvasWebGLRenderingContextHelpers methods take selfAnthony Ramine2020-03-291-2/+2
|/
* Auto merge of #26048 - nox:layout-2020-transparent-data, r=jdmbors-servo2020-03-281-1/+1
|\ | | | | | | Give a lifetime parameter to LayoutDom
| * Give a lifetime parameter to LayoutDomAnthony Ramine2020-03-281-1/+1
| |
* | Auto merge of #25998 - jdm:vao-drop, r=noxbors-servo2020-03-271-2/+2
|\ \ | |/ |/| | | | | | | | | | | | | Avoid a panic when closing webgl pages using VAOs - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #25891 - [x] These changes do not require tests because GC behaviour at shutdown is nondeterministic and difficult to test
| * webgl: Ignore webgl communication errors when dropping vertex array objects.Josh Matthews2020-03-191-2/+2
| |
* | Add trait DomObjectWrap to provide WRAP functionYUAN LYU2020-03-201-6/+1
|/
* Add support for WebGL2 read and draw buffer settingsMátyás Mustoha2020-03-161-0/+5
| | | | | | | | | | | 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-24/+35
| | | | | | | | | Adds support for the following WebGL2 calls: - `RenderbufferStorageMultisample` - `GetInternalFormativ` See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.5
* Add VertexArrayObject support for WebGL2Istvan Miklos2020-03-131-80/+210
| | | | | | The implementation was already in place for OpenGL ES. My approach with this patch is to add support for WebGL2 by sharing the implementation between the WebGL2 and GLES.
* Integrate swapchain surface provider changes into webgl and webxr ↵Josh Matthews2020-03-091-1/+3
| | | | implementations.
* Add support for WebGL2 framebuffer attachmentsMátyás Mustoha2020-02-211-0/+13
| | | | | Adds an initial implementation for the framebuffer attachments introduced with WebGL2 and the related enums and constrains checks.
* Add initial support for WebGL2 read framebufferMátyás Mustoha2020-02-141-62/+97
| | | | | Adds support for binding to the read framebuffer slot and querying its status.
* Add support for WebGL2 uniform matrix operationsMátyás Mustoha2020-01-171-39/+31
| | | | | | 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 uniform array operationsMátyás Mustoha2020-01-161-84/+114
| | | | Adds support for the WebGL2 overloads of `uniform[1234][if]v`.
* Add support for WebGL2 unsigned uniform operationsMátyás Mustoha2020-01-151-50/+62
| | | | | | | 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-24/+44
| | | | | | | | | | | | | | | 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
* Add support for WebGL2 ReadPixels functionsMátyás Mustoha2019-11-261-2/+6
| | | | | | | 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
* Use `#![register_tool]` instead of `#![register_attr]`Simon Sapin2019-11-151-2/+2
| | | | CC https://github.com/rust-lang/rust/issues/66079
* Addresses issues raised in #24465; removes redundancy in set_bitmap_dimensionsBailey Blankenship2019-11-101-1/+16
| | | | Removed passing test .ini files and moved euclid extensions to euclidext.rs to factor out redundant code
* Add Support for WebGL TransormfeedbackIstvan Miklos2019-11-081-0/+4
| | | | 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-43/+74
| | | | | | | Adds support for `bufferData`, `bufferSubData`, `copyBufferSubData` and `getBufferSubData`. Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.3
* Auto merge of #24616 - teapotd:imageinfo-option-refactoring, r=jdmbors-servo2019-11-011-11/+14
|\ | | | | | | | | | | | | | | | | | | | | | | Store Option<ImageInfo> instead of making fields of ImageInfo optional Fixes #24582 --- - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #24582 - [X] These changes do not require tests
| * Store Option<ImageInfo> instead of making fields optionalteapotd2019-11-011-11/+14
| |
* | Use surfman for managing GL surfacesPatrick Walton2019-11-011-26/+47
|/ | | | | | 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-33/+13
| | | | next frame.
* Auto merge of #24333 - mmatyas:webgl_fns_samplers, r=jdmbors-servo2019-10-081-11/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add WebGLSampler support Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.13 <!-- Please describe your changes on the following line: --> 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 - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [x] 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. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24333) <!-- Reviewable:end -->
| * Add WebGLSampler supportMátyás Mustoha2019-10-081-11/+1
| | | | | | | | Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.13
* | Auto merge of #24340 - jdm:image-cache-cors, r=Manishearthbors-servo2019-10-071-7/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow using CORS filtered image responses as WebGL textures More specifically, this makes the "is this image same origin?" check consider the CORS status of the original response, rather than relying on an overly-strict "is this image's response's URL same-origin with a particular global?" check. To do this, we make the image cache double keyed based on the requested URL as well as the requesting origin, and store the CORS status of the eventual response with the final image that eventually gets sent to the HTMLImageElement consumer. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #24330 and fix #24368 - [x] There are tests for these changes <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24340) <!-- Reviewable:end -->
| * | Support CORS attributes for image elements.Josh Matthews2019-10-041-7/+10
| |/
* / implement get_image_pixels() for video elementVíctor Manuel Jáquez Leal2019-10-041-3/+8
|/
* Initial implementation of WebGLQueriesMátyás Mustoha2019-10-011-1/+1
| | | | | | | | 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-2/+8
| | | | when creating an XR GL layer.
* webgl: Implement component narrowing checks for CopyTexImage2D.Josh Matthews2019-09-201-0/+41
|
* webgl: Report invalid operations for more APIs that can't use an incomplete ↵Josh Matthews2019-09-201-1/+10
| | | | framebuffer.
* Create depth and stencil attachments for XRWebGLLayerAlan Jeffrey2019-08-281-0/+4
|
* Fix build error when using the 'webgl_backtrace' featureMátyás Mustoha2019-08-141-2/+2
|
* Don't panic if WebGL thread can't be reached during finalization.Josh Matthews2019-07-291-7/+13
|
* Replace use of callbacks in webxr by channelsAlan Jeffrey2019-07-261-4/+4
|
* Remove extra webgl message pumping thread.Josh Matthews2019-07-251-7/+101
|
* Convert CGTraitInterface to use safe JSContext instead of raw JSContextmarmeladema2019-07-241-115/+99
|
* 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.
* Dead code eliminationAlan Jeffrey2019-07-181-4/+0
|
* Make GL/GLES decisions based on the API in use.Josh Matthews2019-07-121-4/+10
|