diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2016-06-28 15:18:53 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2016-06-28 20:11:55 +0200 |
commit | 89a0b55c61e719aeeb26609b66f0925d684341ce (patch) | |
tree | 277deee3de8423672048660391a1c9675c36cb33 /components/script/dom/webglshader.rs | |
parent | 810735a846c65b2a6a2dd2ef6b7e476931ff55a1 (diff) | |
download | servo-89a0b55c61e719aeeb26609b66f0925d684341ce.tar.gz servo-89a0b55c61e719aeeb26609b66f0925d684341ce.zip |
Use wrappers for GL IDs
See https://github.com/servo/webrender_traits/pull/62.
Diffstat (limited to 'components/script/dom/webglshader.rs')
-rw-r--r-- | components/script/dom/webglshader.rs | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/components/script/dom/webglshader.rs b/components/script/dom/webglshader.rs index 949cb4550ae..ca2555faa8e 100644 --- a/components/script/dom/webglshader.rs +++ b/components/script/dom/webglshader.rs @@ -15,7 +15,7 @@ use dom::webglobject::WebGLObject; use ipc_channel::ipc::{self, IpcSender}; use std::cell::Cell; use std::sync::{ONCE_INIT, Once}; -use webrender_traits::{WebGLCommand, WebGLParameter, WebGLResult}; +use webrender_traits::{WebGLCommand, WebGLParameter, WebGLResult, WebGLShaderId}; #[derive(Clone, Copy, PartialEq, Debug, JSTraceable, HeapSizeOf)] pub enum ShaderCompilationStatus { @@ -27,7 +27,7 @@ pub enum ShaderCompilationStatus { #[dom_struct] pub struct WebGLShader { webgl_object: WebGLObject, - id: u32, + id: WebGLShaderId, gl_type: u32, source: DOMRefCell<Option<DOMString>>, info_log: DOMRefCell<Option<String>>, @@ -47,7 +47,10 @@ const SHADER_OUTPUT_FORMAT: Output = Output::Essl; static GLSLANG_INITIALIZATION: Once = ONCE_INIT; impl WebGLShader { - fn new_inherited(renderer: IpcSender<CanvasMsg>, id: u32, shader_type: u32) -> WebGLShader { + fn new_inherited(renderer: IpcSender<CanvasMsg>, + id: WebGLShaderId, + shader_type: u32) + -> WebGLShader { GLSLANG_INITIALIZATION.call_once(|| ::angle::hl::initialize().unwrap()); WebGLShader { webgl_object: WebGLObject::new_inherited(), @@ -69,21 +72,23 @@ impl WebGLShader { renderer.send(CanvasMsg::WebGL(WebGLCommand::CreateShader(shader_type, sender))).unwrap(); let result = receiver.recv().unwrap(); - result.map(|shader_id| WebGLShader::new(global, renderer, *shader_id, shader_type)) + result.map(|shader_id| WebGLShader::new(global, renderer, shader_id, shader_type)) } pub fn new(global: GlobalRef, renderer: IpcSender<CanvasMsg>, - id: u32, - shader_type: u32) -> Root<WebGLShader> { - reflect_dom_object( - box WebGLShader::new_inherited(renderer, id, shader_type), global, WebGLShaderBinding::Wrap) + id: WebGLShaderId, + shader_type: u32) + -> Root<WebGLShader> { + reflect_dom_object(box WebGLShader::new_inherited(renderer, id, shader_type), + global, + WebGLShaderBinding::Wrap) } } impl WebGLShader { - pub fn id(&self) -> u32 { + pub fn id(&self) -> WebGLShaderId { self.id } |