mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Invalidate all WebGLUniformLocation values on program relink
This commit is contained in:
parent
8fabc6660a
commit
b64232d77b
4 changed files with 36 additions and 15 deletions
|
@ -15,6 +15,7 @@ pub struct WebGLUniformLocation {
|
|||
reflector_: Reflector,
|
||||
id: i32,
|
||||
program_id: WebGLProgramId,
|
||||
link_generation: u64,
|
||||
size: Option<i32>,
|
||||
type_: u32,
|
||||
}
|
||||
|
@ -23,6 +24,7 @@ impl WebGLUniformLocation {
|
|||
fn new_inherited(
|
||||
id: i32,
|
||||
program_id: WebGLProgramId,
|
||||
link_generation: u64,
|
||||
size: Option<i32>,
|
||||
type_: u32,
|
||||
) -> Self {
|
||||
|
@ -30,6 +32,7 @@ impl WebGLUniformLocation {
|
|||
reflector_: Reflector::new(),
|
||||
id,
|
||||
program_id,
|
||||
link_generation,
|
||||
size,
|
||||
type_,
|
||||
}
|
||||
|
@ -39,11 +42,12 @@ impl WebGLUniformLocation {
|
|||
window: &Window,
|
||||
id: i32,
|
||||
program_id: WebGLProgramId,
|
||||
link_generation: u64,
|
||||
size: Option<i32>,
|
||||
type_: u32,
|
||||
) -> DomRoot<Self> {
|
||||
reflect_dom_object(
|
||||
Box::new(Self::new_inherited(id, program_id, size, type_)),
|
||||
Box::new(Self::new_inherited(id, program_id, link_generation, size, type_)),
|
||||
window,
|
||||
WebGLUniformLocationBinding::Wrap,
|
||||
)
|
||||
|
@ -57,6 +61,10 @@ impl WebGLUniformLocation {
|
|||
self.program_id
|
||||
}
|
||||
|
||||
pub fn link_generation(&self) -> u64 {
|
||||
self.link_generation
|
||||
}
|
||||
|
||||
pub fn size(&self) -> Option<i32> {
|
||||
self.size
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue