mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Add support for WebGL2 unsigned uniform operations
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
This commit is contained in:
parent
c6192dc286
commit
bc914381a8
10 changed files with 643 additions and 134 deletions
|
@ -15,7 +15,7 @@ typedef unsigned long long GLuint64;
|
|||
// interface WebGLVertexArrayObject : WebGLObject {
|
||||
// };
|
||||
|
||||
// typedef ([AllowShared] Uint32Array or sequence<GLuint>) Uint32List;
|
||||
typedef (/*[AllowShared]*/ Uint32Array or sequence<GLuint>) Uint32List;
|
||||
|
||||
interface mixin WebGL2RenderingContextBase
|
||||
{
|
||||
|
@ -425,10 +425,10 @@ interface mixin WebGL2RenderingContextBase
|
|||
// [WebGLHandlesContextLoss] GLint getFragDataLocation(WebGLProgram program, DOMString name);
|
||||
|
||||
/* Uniforms */
|
||||
// void uniform1ui(WebGLUniformLocation? location, GLuint v0);
|
||||
// void uniform2ui(WebGLUniformLocation? location, GLuint v0, GLuint v1);
|
||||
// void uniform3ui(WebGLUniformLocation? location, GLuint v0, GLuint v1, GLuint v2);
|
||||
// void uniform4ui(WebGLUniformLocation? location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
|
||||
void uniform1ui(WebGLUniformLocation? location, GLuint v0);
|
||||
void uniform2ui(WebGLUniformLocation? location, GLuint v0, GLuint v1);
|
||||
void uniform3ui(WebGLUniformLocation? location, GLuint v0, GLuint v1, GLuint v2);
|
||||
void uniform4ui(WebGLUniformLocation? location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
|
||||
|
||||
// void uniform1fv(WebGLUniformLocation? location, Float32List data, optional GLuint srcOffset = 0,
|
||||
// optional GLuint srcLength = 0);
|
||||
|
@ -448,14 +448,14 @@ interface mixin WebGL2RenderingContextBase
|
|||
// void uniform4iv(WebGLUniformLocation? location, Int32List data, optional GLuint srcOffset = 0,
|
||||
// optional GLuint srcLength = 0);
|
||||
|
||||
// void uniform1uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0,
|
||||
// optional GLuint srcLength = 0);
|
||||
// void uniform2uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0,
|
||||
// optional GLuint srcLength = 0);
|
||||
// void uniform3uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0,
|
||||
// optional GLuint srcLength = 0);
|
||||
// void uniform4uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0,
|
||||
// optional GLuint srcLength = 0);
|
||||
void uniform1uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0,
|
||||
optional GLuint srcLength = 0);
|
||||
void uniform2uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0,
|
||||
optional GLuint srcLength = 0);
|
||||
void uniform3uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0,
|
||||
optional GLuint srcLength = 0);
|
||||
void uniform4uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0,
|
||||
optional GLuint srcLength = 0);
|
||||
|
||||
// void uniformMatrix2fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data,
|
||||
// optional GLuint srcOffset = 0, optional GLuint srcLength = 0);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue