mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
webgl: Update IDL from upstream to avoid overloading issues.
This commit is contained in:
parent
c1f787be5e
commit
1ce68eb4ea
4 changed files with 596 additions and 479 deletions
|
@ -18,7 +18,6 @@ use crate::dom::bindings::root::{Dom, DomRoot, LayoutDom, MutNullableDom};
|
|||
use crate::dom::bindings::str::DOMString;
|
||||
use crate::dom::globalscope::GlobalScope;
|
||||
use crate::dom::htmlcanvaselement::HTMLCanvasElement;
|
||||
use crate::dom::htmliframeelement::HTMLIFrameElement;
|
||||
use crate::dom::webglactiveinfo::WebGLActiveInfo;
|
||||
use crate::dom::webglbuffer::WebGLBuffer;
|
||||
use crate::dom::webglframebuffer::{WebGLFramebuffer, WebGLFramebufferAttachmentRoot};
|
||||
|
@ -1193,7 +1192,7 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
}
|
||||
|
||||
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.5
|
||||
fn BufferData(&self, target: u32, data: Option<ArrayBufferViewOrArrayBuffer>, usage: u32) {
|
||||
fn BufferData_(&self, target: u32, data: Option<ArrayBufferViewOrArrayBuffer>, usage: u32) {
|
||||
let usage = handle_potential_webgl_error!(self.base, self.buffer_usage(usage), return);
|
||||
let bound_buffer =
|
||||
handle_potential_webgl_error!(self.base, self.bound_buffer(target), return);
|
||||
|
@ -1201,7 +1200,7 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
}
|
||||
|
||||
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.5
|
||||
fn BufferData_(&self, target: u32, size: i64, usage: u32) {
|
||||
fn BufferData(&self, target: u32, size: i64, usage: u32) {
|
||||
let usage = handle_potential_webgl_error!(self.base, self.buffer_usage(usage), return);
|
||||
let bound_buffer =
|
||||
handle_potential_webgl_error!(self.base, self.bound_buffer(target), return);
|
||||
|
@ -1425,7 +1424,8 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
}
|
||||
}
|
||||
|
||||
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.8
|
||||
/// https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.6
|
||||
#[allow(unsafe_code)]
|
||||
fn CompressedTexImage2D(
|
||||
&self,
|
||||
target: u32,
|
||||
|
@ -1435,19 +1435,32 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
height: i32,
|
||||
border: i32,
|
||||
pixels: CustomAutoRooterGuard<ArrayBufferView>,
|
||||
src_offset: u32,
|
||||
src_length_override: u32,
|
||||
) {
|
||||
self.base.CompressedTexImage2D(
|
||||
let mut data = unsafe { pixels.as_slice() };
|
||||
let start = src_offset as usize;
|
||||
let end = (src_offset + src_length_override) as usize;
|
||||
if start > data.len() || end > data.len() {
|
||||
self.base.webgl_error(InvalidValue);
|
||||
return;
|
||||
}
|
||||
if src_length_override != 0 {
|
||||
data = &data[start..end];
|
||||
}
|
||||
self.base.compressed_tex_image_2d(
|
||||
target,
|
||||
level,
|
||||
internal_format,
|
||||
width,
|
||||
height,
|
||||
border,
|
||||
pixels,
|
||||
data,
|
||||
)
|
||||
}
|
||||
|
||||
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.8
|
||||
#[allow(unsafe_code)]
|
||||
fn CompressedTexSubImage2D(
|
||||
&self,
|
||||
target: u32,
|
||||
|
@ -1458,9 +1471,21 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
height: i32,
|
||||
format: u32,
|
||||
pixels: CustomAutoRooterGuard<ArrayBufferView>,
|
||||
src_offset: u32,
|
||||
src_length_override: u32,
|
||||
) {
|
||||
self.base.CompressedTexSubImage2D(
|
||||
target, level, xoffset, yoffset, width, height, format, pixels,
|
||||
let mut data = unsafe { pixels.as_slice() };
|
||||
let start = src_offset as usize;
|
||||
let end = (src_offset + src_length_override) as usize;
|
||||
if start > data.len() || end > data.len() {
|
||||
self.base.webgl_error(InvalidValue);
|
||||
return;
|
||||
}
|
||||
if src_length_override != 0 {
|
||||
data = &data[start..end];
|
||||
}
|
||||
self.base.compressed_tex_sub_image_2d(
|
||||
target, level, xoffset, yoffset, width, height, format, data,
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -2104,7 +2129,7 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
src_offset: u32,
|
||||
src_length: u32,
|
||||
) {
|
||||
self.base.Uniform1iv(location, v, src_offset, src_length)
|
||||
self.base.uniform1iv(location, v, src_offset, src_length)
|
||||
}
|
||||
|
||||
// https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.8
|
||||
|
@ -2166,7 +2191,7 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
src_offset: u32,
|
||||
src_length: u32,
|
||||
) {
|
||||
self.base.Uniform1fv(location, v, src_offset, src_length);
|
||||
self.base.uniform1fv(location, v, src_offset, src_length);
|
||||
}
|
||||
|
||||
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.10
|
||||
|
@ -2182,7 +2207,7 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
src_offset: u32,
|
||||
src_length: u32,
|
||||
) {
|
||||
self.base.Uniform2fv(location, v, src_offset, src_length);
|
||||
self.base.uniform2fv(location, v, src_offset, src_length);
|
||||
}
|
||||
|
||||
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.10
|
||||
|
@ -2198,7 +2223,7 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
src_offset: u32,
|
||||
src_length: u32,
|
||||
) {
|
||||
self.base.Uniform2iv(location, v, src_offset, src_length)
|
||||
self.base.uniform2iv(location, v, src_offset, src_length)
|
||||
}
|
||||
|
||||
// https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.8
|
||||
|
@ -2247,7 +2272,7 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
src_offset: u32,
|
||||
src_length: u32,
|
||||
) {
|
||||
self.base.Uniform3fv(location, v, src_offset, src_length);
|
||||
self.base.uniform3fv(location, v, src_offset, src_length);
|
||||
}
|
||||
|
||||
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.10
|
||||
|
@ -2263,7 +2288,7 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
src_offset: u32,
|
||||
src_length: u32,
|
||||
) {
|
||||
self.base.Uniform3iv(location, v, src_offset, src_length)
|
||||
self.base.uniform3iv(location, v, src_offset, src_length)
|
||||
}
|
||||
|
||||
// https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.8
|
||||
|
@ -2312,7 +2337,7 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
src_offset: u32,
|
||||
src_length: u32,
|
||||
) {
|
||||
self.base.Uniform4iv(location, v, src_offset, src_length)
|
||||
self.base.uniform4iv(location, v, src_offset, src_length)
|
||||
}
|
||||
|
||||
// https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.8
|
||||
|
@ -2361,7 +2386,7 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
src_offset: u32,
|
||||
src_length: u32,
|
||||
) {
|
||||
self.base.Uniform4fv(location, v, src_offset, src_length);
|
||||
self.base.uniform4fv(location, v, src_offset, src_length);
|
||||
}
|
||||
|
||||
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.10
|
||||
|
@ -2374,7 +2399,7 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
src_length: u32,
|
||||
) {
|
||||
self.base
|
||||
.UniformMatrix2fv(location, transpose, v, src_offset, src_length)
|
||||
.uniform_matrix_2fv(location, transpose, v, src_offset, src_length)
|
||||
}
|
||||
|
||||
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.10
|
||||
|
@ -2387,7 +2412,7 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
src_length: u32,
|
||||
) {
|
||||
self.base
|
||||
.UniformMatrix3fv(location, transpose, v, src_offset, src_length)
|
||||
.uniform_matrix_3fv(location, transpose, v, src_offset, src_length)
|
||||
}
|
||||
|
||||
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.10
|
||||
|
@ -2400,7 +2425,7 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
src_length: u32,
|
||||
) {
|
||||
self.base
|
||||
.UniformMatrix4fv(location, transpose, v, src_offset, src_length)
|
||||
.uniform_matrix_4fv(location, transpose, v, src_offset, src_length)
|
||||
}
|
||||
|
||||
/// https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.8
|
||||
|
@ -2766,7 +2791,7 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
&self,
|
||||
target: u32,
|
||||
level: i32,
|
||||
internal_format: u32,
|
||||
internal_format: i32,
|
||||
width: i32,
|
||||
height: i32,
|
||||
border: i32,
|
||||
|
@ -2792,7 +2817,7 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
&self,
|
||||
target: u32,
|
||||
level: i32,
|
||||
internal_format: u32,
|
||||
internal_format: i32,
|
||||
format: u32,
|
||||
data_type: u32,
|
||||
source: ImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement,
|
||||
|
@ -2801,30 +2826,6 @@ impl WebGL2RenderingContextMethods for WebGL2RenderingContext {
|
|||
.TexImage2D_(target, level, internal_format, format, data_type, source)
|
||||
}
|
||||
|
||||
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.8
|
||||
fn TexImageDOM(
|
||||
&self,
|
||||
target: u32,
|
||||
level: i32,
|
||||
internal_format: u32,
|
||||
width: i32,
|
||||
height: i32,
|
||||
format: u32,
|
||||
data_type: u32,
|
||||
source: &HTMLIFrameElement,
|
||||
) -> Fallible<()> {
|
||||
self.base.TexImageDOM(
|
||||
target,
|
||||
level,
|
||||
internal_format,
|
||||
width,
|
||||
height,
|
||||
format,
|
||||
data_type,
|
||||
source,
|
||||
)
|
||||
}
|
||||
|
||||
/// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.8
|
||||
fn TexSubImage2D(
|
||||
&self,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue