mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Upgrade to the latest version of WebRender
This commit is contained in:
parent
4b6e79337e
commit
e58e8ab42e
88 changed files with 554 additions and 521 deletions
|
@ -54,9 +54,9 @@ use script_traits::ScriptMsg as ConstellationMsg;
|
|||
use servo_config::prefs::PREFS;
|
||||
use std::cell::Cell;
|
||||
use std::collections::HashMap;
|
||||
use webrender_traits;
|
||||
use webrender_traits::{WebGLCommand, WebGLError, WebGLFramebufferBindingRequest, WebGLParameter};
|
||||
use webrender_traits::WebGLError::*;
|
||||
use webrender_api;
|
||||
use webrender_api::{WebGLCommand, WebGLError, WebGLFramebufferBindingRequest, WebGLParameter};
|
||||
use webrender_api::WebGLError::*;
|
||||
|
||||
type ImagePixelResult = Result<(Vec<u8>, Size2D<i32>, bool), ()>;
|
||||
pub const MAX_UNIFORM_AND_ATTRIBUTE_LEN: usize = 256;
|
||||
|
@ -140,7 +140,7 @@ pub struct WebGLRenderingContext {
|
|||
#[ignore_heap_size_of = "Defined in offscreen_gl_context"]
|
||||
limits: GLLimits,
|
||||
canvas: JS<HTMLCanvasElement>,
|
||||
#[ignore_heap_size_of = "Defined in webrender_traits"]
|
||||
#[ignore_heap_size_of = "Defined in webrender_api"]
|
||||
last_error: Cell<Option<WebGLError>>,
|
||||
texture_unpacking_settings: Cell<TextureUnpacking>,
|
||||
texture_unpacking_alignment: Cell<u32>,
|
||||
|
@ -1035,7 +1035,7 @@ impl WebGLRenderingContext {
|
|||
}
|
||||
|
||||
fn get_gl_extensions(&self) -> String {
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
let (sender, receiver) = webrender_api::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::GetExtensions(sender)))
|
||||
.unwrap();
|
||||
|
@ -1108,7 +1108,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
|
||||
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.11
|
||||
fn Finish(&self) {
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
let (sender, receiver) = webrender_api::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::Finish(sender)))
|
||||
.unwrap();
|
||||
|
@ -1117,7 +1117,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
|
||||
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.1
|
||||
fn DrawingBufferWidth(&self) -> i32 {
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
let (sender, receiver) = webrender_api::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::DrawingBufferWidth(sender)))
|
||||
.unwrap();
|
||||
|
@ -1126,7 +1126,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
|
||||
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.1
|
||||
fn DrawingBufferHeight(&self) -> i32 {
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
let (sender, receiver) = webrender_api::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::DrawingBufferHeight(sender)))
|
||||
.unwrap();
|
||||
|
@ -1136,7 +1136,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
#[allow(unsafe_code)]
|
||||
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.5
|
||||
unsafe fn GetBufferParameter(&self, _cx: *mut JSContext, target: u32, parameter: u32) -> JSVal {
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
let (sender, receiver) = webrender_api::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::GetBufferParameter(target, parameter, sender)))
|
||||
.unwrap();
|
||||
|
@ -1205,7 +1205,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
}
|
||||
}
|
||||
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
let (sender, receiver) = webrender_api::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::GetParameter(parameter, sender)))
|
||||
.unwrap();
|
||||
|
@ -1243,7 +1243,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
|
||||
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.2
|
||||
fn GetContextAttributes(&self) -> Option<WebGLContextAttributes> {
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
let (sender, receiver) = webrender_api::channel::msg_channel().unwrap();
|
||||
|
||||
// If the send does not succeed, assume context lost
|
||||
if let Err(_) = self.ipc_renderer
|
||||
|
@ -2223,7 +2223,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
shader_type: u32,
|
||||
precision_type: u32)
|
||||
-> Option<Root<WebGLShaderPrecisionFormat>> {
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
let (sender, receiver) = webrender_api::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer.send(CanvasMsg::WebGL(WebGLCommand::GetShaderPrecisionFormat(shader_type,
|
||||
precision_type,
|
||||
sender)))
|
||||
|
@ -2268,7 +2268,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
return jsval.get();
|
||||
}
|
||||
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
let (sender, receiver) = webrender_api::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer.send(CanvasMsg::WebGL(WebGLCommand::GetVertexAttrib(index, pname, sender))).unwrap();
|
||||
|
||||
match handle_potential_webgl_error!(self, receiver.recv().unwrap(), WebGLParameter::Invalid) {
|
||||
|
@ -2287,7 +2287,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
|
||||
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.10
|
||||
fn GetVertexAttribOffset(&self, index: u32, pname: u32) -> i64 {
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
let (sender, receiver) = webrender_api::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer.send(CanvasMsg::WebGL(WebGLCommand::GetVertexAttribOffset(index, pname, sender))).unwrap();
|
||||
|
||||
handle_potential_webgl_error!(self, receiver.recv().unwrap(), 0) as i64
|
||||
|
@ -2321,7 +2321,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.3
|
||||
fn IsEnabled(&self, cap: u32) -> bool {
|
||||
if self.validate_feature_enum(cap) {
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
let (sender, receiver) = webrender_api::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::IsEnabled(cap, sender)))
|
||||
.unwrap();
|
||||
|
@ -2522,7 +2522,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
_ => return Ok(self.webgl_error(InvalidOperation)),
|
||||
};
|
||||
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
let (sender, receiver) = webrender_api::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::ReadPixels(x, y, width, height, format, pixel_type, sender)))
|
||||
.unwrap();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue