aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webglrenderingcontext.rs
Commit message (Collapse)AuthorAgeFilesLines
* Make the traits for the IDL interfaces take &selfAnthony Ramine2015-08-271-65/+65
|
* Remove helper traitsAnthony Ramine2015-08-271-17/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that JSRef<T> is gone, there is no need to have helper traits. On components/script/*.rs: # Remove imports. /^ *use dom::[a-z]+::\{.*Helpers/ { s/\{(Raw[^L]|[^L][^a])[a-zA-Z]+Helpers, /\{/ s/, (Raw[^L]|[^L][^a])[a-zA-Z]+Helpers([,}])/\2/g s/\{([a-zA-Z]+)\}/\1/ /\{\}/d s/::self;$/;/ } /^ *use dom::[a-z]+::\{?(Raw[^L]|[^L][^a])[a-zA-Z]+Helpers\}?;$/d On components/script/dom/*.rs: # Ignore layout things. /^(pub )?(impl|trait).*Layout.* \{/,/^}$/ { P; D; } # Delete helpers traits. /^(pub )?trait ([^L][^ ]|L[^a])[^ ]+Helpers(<'a>)? \{$/,/^\}$/D # Patch private helpers. /^impl.*Private.*Helpers/,/^\}$/ { s/^impl<'a> Private([^L][^ ]|L[^a])[^ ]+Helpers(<'a>)? for &'a ([^ ]+) \{$/impl \3 {/ /^ *(unsafe )?fn .*\(self.*[<&]'a/ { s/&'a /\&/g s/<'a, /</g } /^ *(unsafe )?fn /s/\(self([,)])/\(\&self\1/ } # Patch public helpers. /^impl.*Helpers/,/^\}$/ { s/^impl(<'a>)? ([^L][^ ]|L[^a])[^ ]+Helpers(<'a>)? for (&'a )?([^ ]+) \{$/impl \5 {/ /^ *(unsafe )?fn .*\(self.*[<&]'a/ { s/&'a /\&/g s/<'a, /</g } /^ *(unsafe )?fn .*\(&?self[,)]/s/(unsafe )?fn/pub &/ /^ *pub (unsafe )?fn /s/\(self([,)])/\(\&self\1/ } The few error cases were then fixed by hand.
* make dom_struct derive HeapSizeOf,João Oliveira2015-08-271-1/+0
| | | | closes #7357
* Auto merge of #7360 - wilmoz:ErgonomicSignature, r=Ms2gerbors-servo2015-08-261-5/+8
|\ | | | | | | | | | | | | | | | | | | Make handle_potential_webgl_error more ergonomic https://github.com/servo/servo/issues/7358 <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7360) <!-- Reviewable:end -->
| * Make handle_potential_webgl_error more ergonomicwilmoz2015-08-251-5/+8
| |
* | Forbid multiline importswilmoz2015-08-251-5/+4
|/
* webgl: Implement multiple calls and improve error detectionecoal952015-08-251-14/+398
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements WebGL's: * cullFace * frontFace * enable * disable * depthMask * colorMask * clearDepth * clearStencil * depthFunc * depthRange * hint * lineWidth * pixelStorei * polygonOffset * texParameteri * texParameterf * texImage2D (partially) It inlines a lot of OpenGL calls to keep the file `components/canvas/webgl_paint_task.rs` as small as possible while keeping readability. It also improves error detection on previous calls, and sets node damage on the canvas in the drawing calls. It adds a `TexImage2D` reftest, even though it's not enabled because: * WebGL paints the image when it loads (asynchronously), so the reftest doesn't wait for it and it finishes early * If we change the source for the base64 src of the image it works as expected in non-headless mode, but the test harness locks
* sort all usesJohann Tuffe2015-08-201-4/+4
|
* Cleanup WebGLRenderingContext, Websocker, WorkerGlobalScopeManish Goregaokar2015-08-181-8/+6
|
* Measure heap memory usage for more types. Fixes #6951Bogdan Cuza2015-08-131-0/+2
|
* Auto merge of #6812 - ecoal95:webgl-fail, r=jdmbors-servo2015-07-291-9/+12
|\ | | | | | | | | | | | | | | | | | | webgl: Make context creation fallible. Fixes #6806 <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6812) <!-- Reviewable:end -->
| * webgl: Make context creation fallible. Fixes #6806ecoal952015-07-281-9/+12
| |
* | Add spec linksBogdan Cuza2015-07-281-3/+3
|/
* script: Make most of 2D canvas and WebGL run over IPC.Patrick Walton2015-07-251-40/+78
| | | | | | To actually make the multiprocess communication work, we'll need to reroute the task creation to the pipeline or the compositor. But this works as a first step.
* address review commentsecoal952015-07-061-16/+18
|
* webgl: implement getErrorecoal952015-07-061-3/+23
|
* webgl: Make bind* calls more spec-compliantecoal952015-07-061-10/+24
|
* webgl: Refactor implementation to move logic inside the DOM interfacesecoal952015-07-061-84/+85
| | | | | | | | | | This improves the encapsulation and consistency in our WebGL implementation. Also allows to implement new methods such as `getShaderSource()`. It will also allow us to use `delete()` in the destructors of them (note that we will want to keep track of them from the context).
* Stop using Vec::from_raw_buf.Ms2ger2015-06-261-8/+7
|
* Upgrade to SM 39Michael Wu2015-06-191-46/+48
|
* Use euclid from crates.ioecoal952015-06-191-1/+1
|
* Remove usage of String::from_str, deprecated in #6377Simon Sapin2015-06-151-2/+2
|
* webgl: Add multiple WebGL calls (activeTexture + blend*)ecoal952015-06-131-0/+31
| | | | | | | | | | | * activeTexture * blendColor * blendFunc * blendFuncSeparate * blendEquation * blendEquationSeparate Blocked on gleam.
* Implement new WebGL interfaces and methodsecoal952015-06-061-51/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements: * WebGLFramebuffer * WebGLRenderbuffer * WebGLTexture And adds the following methods to `WebGLRenderingContext`: * create{Texture,Framebuffer,Renderbuffer} * bind{Texture,Framebuffer,Renderbuffer} * destroy{Buffer,Texture,Framebuffer,Renderbuffer} Fixes: * WebGLUniform location shouldn't inherit from WebGLObject. Known Issues: * WebGL objects have to be destroyed on drop, we may want to keep a reference to the context, or maybe a clone of the renderer to achieve this Also refactors a huge part of the current implementation, to allow failing on creation of different WebGL objects. Blocked on https://github.com/servo/gleam/pull/22 A reftest for most of the added functionality is not doable right now, we need a few more functions in order to upload a texture, for example.
* WebGLRenderingContext getters and `getParameter`ecoal952015-06-011-0/+33
| | | | | | This implements the `canvas`, `drawingBufferHeight` and `drawingBufferWidth` getters to `WebGLRenderingContext`, and an initial version of `getParameter`.
* Add WebGLContextAttributes supportecoal952015-06-011-5/+31
| | | | | | | This commit also: * Allows to return non-rootable dictionaries from Codegen. * Merges the two context types in an enum type.
* Reduce max line length from 150 to 120 charactersCorey Farwell2015-05-241-7/+16
| | | | Part of https://github.com/servo/servo/issues/6041
* Layerize canvasecoal952015-05-201-1/+1
| | | | | | | Note that this keeps using readback right now, `NativeSurface` painting will be implemented soon. Also see https://github.com/servo/servo/issues/6142
* Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8.Simon Sapin2015-05-051-1/+0
|
* It implements enough WebGL spec to draw a triangleDiego Marcos2015-05-021-4/+213
|
* WebGL context hardware acceleration + error detectionecoal952015-04-271-9/+15
|
* Kicks off a WebGL implementationDiego Marcos2015-04-201-0/+75