Commit graph

544 commits

Author SHA1 Message Date
Adrian Utrilla
36522ba9c3 Added Uniform2fv 2016-04-06 13:12:44 +02:00
Adrian Utrilla
b48e0f2ba9 Added Uniform1iv 2016-04-06 12:20:57 +02:00
Ar13mis
86b1f4249a Add Uniform2f 2016-04-04 16:00:22 -06:00
bors-servo
88d29e537c Auto merge of #10369 - autrilla:Uniform4iv, r=emilio
Issue #10368: Implemented Uniform4iv and Uniform4i

Uniform4iv can make use of Uniform4i, so I implemented both.

<!-- 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/10369)
<!-- Reviewable:end -->
2016-04-03 11:48:47 +05:30
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
Emilio Cobos Álvarez
8d7ee15ace webgl: Remove unneeded return value. 2016-04-03 01:21:56 +02:00
Emilio Cobos Álvarez
466c8881de webgl: Use early return in DrawArrays 2016-04-03 01:21:56 +02:00
Emilio Cobos Álvarez
240ac7cfe2 webgl: Validate shader type parameter to CreateShader. 2016-04-03 01:21:56 +02:00
Adrian Utrilla
bd1448ab56 Added Uniform4iv and Uniform4i 2016-04-02 20:48:29 +02:00
Connor Brewster
3fd7634f54 webgl: finish, flush, detachShader, generateMipmap, Uniform1i 2016-04-02 12:31:47 -06:00
Jan-Fabian Humann
d778562844 #10211: Stop re-exporting webrender_traits WebGL types from canvas_traits 2016-03-30 20:05:16 +02:00
Emilio Cobos Álvarez
5ed93a5c4a Change old references of ecoal95 2016-03-23 18:12:40 +01:00
Ms2ger
63a00f4dbf Stop sending the renderer id to script. 2016-03-21 17:55:08 +01:00
Ms2ger
7e2e54326f Remove renderer_id fields. 2016-03-21 17:49:47 +01:00
Ms2ger
3c04bca0f4 Remove get_renderer_id functions. 2016-03-21 17:45:42 +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
Alexander Lopatin
2be49404be Fix #9508: Beautify our union enums constructors 2016-02-07 02:55:21 +03:00
jmr0
167ffa7a95 adding image metadata notification capabilities to image cache 2016-01-29 20:54:49 -05:00
Kishor Bhat
1ca2073979 Remove unused imports in script 2016-01-17 12:41:28 +05:30
Emilio Cobos Álvarez
4092ffd245 webgl: Check shader compilation status on use_program. 2016-01-13 15:28:36 +01:00
Emilio Cobos Álvarez
e3532dda24 webgl: Check for bound element array buffer on DrawElements
And remove outdated TODOs
2016-01-13 13:41:32 +01:00
Emilio Cobos Álvarez
910b2260ab webgl: Check for pending current_program errors 2016-01-13 13:41:31 +01:00
Emilio Cobos Álvarez
221a583784 webgl: Track uniformlocation's program 2016-01-13 13:41:30 +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
Chad Kimes
ce6075825d Add global default method for Reflectable trait 2016-01-11 20:23:47 -05:00
Chad Kimes
25814021ea Remove global field from WebGLRenderingContext 2016-01-10 22:13:20 -05:00
rohan.prinja
1f02c4ebbb task -> thread 2016-01-10 17:58:13 +09:00
Emilio Cobos Álvarez
d30f05554b conversions: Make a is_type_compatible method for ArrayBufferViews. 2016-01-04 15:51:01 +01:00
Emilio Cobos Álvarez
43d395a682 conversions: Add a checked version to array_buffer_view_data 2016-01-04 15:29:24 +01:00
Emilio Cobos Álvarez
9ad49c8aa1 conversion: Extrapolate array_buffer_view_data
And use it instead of the raw jsapi calls.
2016-01-04 15:19:29 +01:00
Emilio Cobos Álvarez
4d32444bf7 webgl: Unify accessing ArrayBufferView objects
This fixes an invalid length being reported from
float32_array_to_slice (which used the byte length), and also to
generalize getting data from a JS array buffer view, to reduce code
duplication.

The pending type safety issues, like where we could send a UInt16Array
where we expect a Float32 one, should be solved by IDL bindings in
some cases, like uniform[n]fv or vertexAttrib[n]fv, and with extra
checks in others, like in the pending texImage2D(..., ArrayBufferView).
2016-01-04 13:58:49 +01:00
Simon Martin
f2fe401d7d Issue #8738: bufferSubData and texImage2D argument sanity checks. 2015-12-26 18:56:48 +01:00
David Zbarsky
6a72d4dd12 Implement WebGL scissor method 2015-12-15 20:43:38 -08:00
David Zbarsky
0f4d6d58aa Implement various WebGL functions 2015-12-13 17:39:20 -08:00
Corey Farwell
4accaf50b2 Pass around event types as Atoms instead of Strings
`Event` internally stores the `type` as an `Atom`, and we're `String`s
everywhere, which can cause unnecessary allocations to occur since
they'll end up as `Atom`s anyways.
2015-12-10 23:47:25 -05:00
Tomas Cernaj
5507be2653 Move ScriptMsg from msg crate into script_traits 2015-12-09 20:50:11 +01:00
Emilio Cobos Álvarez
a14b605c8e webgl: Add correct error handling to BufferSubData
From the WebGL spec:

> If data is null then an INVALID_VALUE error is generated.
2015-12-07 18:03:36 +01:00
Simon Martin
fa555d0e2e Issue #6791: Allow more array types in bufferData and bufferSubData. 2015-12-06 15:28:59 +01:00
Simon Martin
f79e1521b2 Issue #8462: Add support for BufferSubData, CompressedTexImage2D and
CompressedSubTexImage2D and re-enable individual webgl WPT tests.
2015-12-01 20:40:42 +01:00
Keith Yeung
19294db6e5 Split ConstellationMsg into ScriptMsg and CompositorMsg 2015-11-16 23:10:53 -08:00
Alan Jeffrey
84bde75b42 Replaced DOMString constructor by conversion functions.
Replaced DOMString(...) by DOMString::from(...).
Replaced ....0 by String::from(...).
Removed any uses of .to_owner() in DOMString::from("...").
2015-11-12 17:52:59 -06:00
Ms2ger
6d2ae85c1f Use the conversion traits from js. 2015-11-12 10:48:58 +01:00
Emilio Cobos Álvarez
b740b90b8d webgl: Implement getSupportedExtensions 2015-11-11 17:13:59 +01:00
Ms2ger
6b75078503 Make DOMString a newtype around String, rather than a typedef.
This should make it somewhat easier to experiment with alternative
representations in the future. To reduce churn, this commit leaves the String
field public, though.

Also, this will allow us to use the default String type to represent the IDL
USVString type, which explicitly forbids unpaired surrogates, ans as such is
a better match to the Rust String type.
2015-11-04 12:09:11 +01:00
David Zbarsky
722aa86c89 Get rid of a bunch of explicit derefs 2015-11-03 19:51:46 -08:00
rohan.prinja
6e774ea6eb merge from master 2015-11-03 19:01:23 +09:00
nxnfufunezn
d8ef3809a6 Removed JS::root Fixes #8251 2015-10-31 18:15:16 +05:30
rohan.prinja
45224028db more refactoring 2015-10-30 20:26:29 +09:00
rohan.prinja
bb2536cd01 move Castable into dom::bindings::inheritance 2015-10-30 20:24:42 +09:00
rohan.prinja
4a4f041948 remove get_rooted() and replace all references to it with references to get() 2015-10-29 21:48:39 +09:00