Commit graph

22 commits

Author SHA1 Message Date
Emilio Cobos Álvarez
b7d45fe096
canvas: Deallocate WebRender images on canvas
Fixes #11062

Depends on: #11744, https://github.com/servo/webrender_traits/pull/57, and https://github.com/servo/webrender/pull/292
2016-07-10 19:24:15 -07:00
bors-servo
68aca87e30 Auto merge of #11744 - emilio:wr-default, r=glennw
webgl: Unlock WebRender by default by adding a readback based fallback to WebGL context creation.

<!-- Please describe your changes on the following line: -->

---
<!-- 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

<!-- Either: -->
- [x] These changes do not require tests because refactoring.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

This should give us the chance to use WebRender by default in OSX.

r? @pcwalton

cc @glennw @larsbergstrom

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11744)
<!-- Reviewable:end -->
2016-07-10 17:25:29 -07:00
Anthony Ramine
e77efb93c1 Move util::vec::byte_swap to canvas_traits 2016-07-04 16:48:15 +02:00
Emilio Cobos Álvarez
4af508afca
webgl: Unlock WebRender by default by adding a readback based fallback to WebGL context creation.
This should give us the chance to use WebRender by default in OSX.
2016-06-15 01:01:54 +02:00
Ms2ger
efd953f768 Update documentation for {CanvasPaintThread, WebGLPaintThread}::new(). 2016-05-19 12:15:02 +02:00
Emilio Cobos Álvarez
6fcc03c965 webgl: Make the api return the context limits and use them for validations
This allows keeping the VertexAttrib* calls asynchronous.

Another option would be to do the validation in the apply() function,
but that'd require us passing an unnecessary channel around and add
extra synchronization.

The counterpart of this is that it has to be updated when the context
changes, but that's less problem.
2016-04-03 01:21:56 +02:00
bors-servo
524a004e77 Auto merge of #10291 - jfhumann:10211, r=emilio
<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10291)
<!-- Reviewable:end -->
2016-04-01 01:57:20 +05:30
Emilio Cobos Álvarez
97f4ef28d4 Update webrender to master
I'll rebase #10224 against it.
2016-03-31 15:49:22 +02:00
Jan-Fabian Humann
d778562844 #10211: Stop re-exporting webrender_traits WebGL types from canvas_traits 2016-03-30 20:05:16 +02:00
Ms2ger
d21cf30c2c Simplify channel usage in canvas paint threads. 2016-03-29 15:35:46 +02:00
Emilio Cobos Álvarez
5ed93a5c4a Change old references of ecoal95 2016-03-23 18:12:40 +01:00
Emilio Cobos Álvarez
a02daf7144 canvas: Remove all the canvas layerization infrastructure
It was never complete, and with webrender as a backend the way we render
WebGL contexts has changed a bit.

This should remove quite a bit of overhead.
2016-03-23 18:12:37 +01:00
Ms2ger
22447055b9 Stop returning in-process senders from {CanvasPaintThread, WebGLPaintThread}::start. 2016-03-21 18:26:46 +01:00
Ms2ger
08083f1c9d Deny unsafe code in more crates. 2016-03-18 14:43:03 +01:00
Glenn Watson
c0531c312f Add WebRender integration to Servo.
WebRender is an experimental GPU accelerated rendering backend for Servo.

The WebRender backend can be specified by running Servo with the -w option (otherwise the default rendering backend will be used).

WebRender has many bugs, and missing features - but it is usable to browse most websites - please report any WebRender specific rendering bugs you encounter!
2016-02-18 10:35:29 +10:00
Glenn Watson
814b94b6bd This updates gleam to a version that relies on OpenGL 3.3 (which is needed for the instancing changes in WR - see servo/gleam@fc7e28e).
Hopefully the build machines and everyone using Servo has GL 3.3 available on their machines - if it causes any problems, we can revert this change and investigate further.
2016-02-01 09:21:59 +10:00
Matthew Kuo
9d2eacf039 Remove remaining unused imports 2016-01-17 20:55:53 -08:00
Emilio Cobos Álvarez
48962bd6b6 webgl: Improve debugging
Now we can keep track of errors more easily.
2016-01-13 15:28:34 +01:00
Emilio Cobos Álvarez
532b53ddc9 webgl: Implement Uniform1f, Uniform1fv, and Uniform4f
I was going to implement Uniform4fv with sequences, (since it
practically implemented), but we can't until we support Float32Array
args because codegen doesn't know how tu differenciate between both.
2016-01-13 13:41:30 +01:00
Josh Leverette
1bde88395c modified to use map instead of match. 2016-01-11 23:36:03 -06:00
Josh Leverette
bc1850240f Refactor WebGLPaintTask to prevent creating extra IPC channels #9228 2016-01-10 13:26:15 -06:00
rohan.prinja
1f02c4ebbb task -> thread 2016-01-10 17:58:13 +09:00
Renamed from components/canvas/webgl_paint_task.rs (Browse further)