servo/components
bors-servo e4b620ea54 Auto merge of #5652 - dmarcos:webgl, r=jdm
@jdm @ecoal95 I'm working on making VR happen in the Browser and I want to bring to Servo the [webVR APIs](https://github.com/MozVR/webvr-spec/blob/master/webvr.idl) we already have in Gecko. Before anything happens we need a working implementation of WebGL (and also the [fullscreen API](https://fullscreen.spec.whatwg.org/)). My implementation is very basic and probably naive (I just recently started to contribute to Servo). My patch is just a starting point: 

- It only implements ```clearColor``` and ```clear``` methods of the [WebGL spec](https://www.khronos.org/registry/webgl/specs/latest/).
- It uses the readback strategy that ```canvasRenderingContext2D``` is using (The webgl task paints stuff independently on it's own buffer and the compositor task request the pixels back to the webgl task when it needs them) I'm sure there are much better ways to handle this. Latency and FPS are critical in VR so we have to figure out the fastest way to push pixels to the screen. I've read something about layerizing the canvas but I'm still not sure what that even means :)
- There's an included test you can try ```./mach run tests/ref/webgl-context/clearcolor.html``` 

@ecoal95 I know you'll be working on this for the next three months. With a foundation in place we will be able to make quick progress in parallel. This is exciting!

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5652)
<!-- Reviewable:end -->
2015-04-20 19:29:02 -05:00
..
canvas Kicks off a WebGL implementation 2015-04-20 14:29:39 -07:00
compositing Support focus management and keyboard events for iframes. 2015-04-20 07:52:22 +10:00
devtools Send high resolution millisecond timestamps in timeline markers #5665 2015-04-15 19:46:00 +07:00
devtools_traits Send high resolution millisecond timestamps in timeline markers #5665 2015-04-15 19:46:00 +07:00
gfx Allow dumping the optimized display list (DL). 2015-04-16 17:10:39 -07:00
layout Auto merge of #5652 - dmarcos:webgl, r=jdm 2015-04-20 19:29:02 -05:00
layout_traits Split out shared networking code into net_traits crate 2015-04-03 13:38:10 -04:00
msg Support focus management and keyboard events for iframes. 2015-04-20 07:52:22 +10:00
net Replace usage of ResponseSenders by LoadConsumer 2015-04-19 13:26:56 +02:00
net_traits Replace usage of ResponseSenders by LoadConsumer 2015-04-19 13:26:56 +02:00
plugins Use quasiquotes for attributes in plugins crate. 2015-04-04 17:37:06 +02:00
profile Use usize rather than u64 in MemoryReport. 2015-03-31 15:37:15 +02:00
script Auto merge of #5652 - dmarcos:webgl, r=jdm 2015-04-20 19:29:02 -05:00
script_traits Support focus management and keyboard events for iframes. 2015-04-20 07:52:22 +10:00
servo Kicks off a WebGL implementation 2015-04-20 14:29:39 -07:00
style Auto merge of #5739 - frewsxcv:style-docs, r=SimonSapin 2015-04-18 05:44:50 -05:00
util Allow dumping the optimized display list (DL). 2015-04-16 17:10:39 -07:00
webdriver_server Add enough Webdriver support to enable Get(). 2015-04-16 16:02:43 +01:00