From 59b8f971b57e2f29b7511fdc9ac9a2bdb6715e60 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Mon, 10 Sep 2018 19:27:15 -0400 Subject: [PATCH] webgl: Mark framebuffers as uninitialized when their attached renderbuffer's storage changes. --- components/script/dom/webglframebuffer.rs | 1 + components/script/dom/webglrenderbuffer.rs | 1 + .../wpt/webgl/meta/conformance/misc/uninitialized-test.html.ini | 2 +- .../renderbuffers/depth-renderbuffer-initialization.html.ini | 2 -- .../renderbuffers/renderbuffer-initialization.html.ini | 2 -- .../renderbuffers/stencil-renderbuffer-initialization.html.ini | 2 -- 6 files changed, 3 insertions(+), 7 deletions(-) delete mode 100644 tests/wpt/webgl/meta/conformance/renderbuffers/depth-renderbuffer-initialization.html.ini delete mode 100644 tests/wpt/webgl/meta/conformance/renderbuffers/renderbuffer-initialization.html.ini delete mode 100644 tests/wpt/webgl/meta/conformance/renderbuffers/stencil-renderbuffer-initialization.html.ini diff --git a/components/script/dom/webglframebuffer.rs b/components/script/dom/webglframebuffer.rs index d785d0b99fa..c3df02c8e0b 100644 --- a/components/script/dom/webglframebuffer.rs +++ b/components/script/dom/webglframebuffer.rs @@ -532,6 +532,7 @@ impl WebGLFramebuffer { pub fn invalidate_renderbuffer(&self, rb: &WebGLRenderbuffer) { self.with_matching_renderbuffers(rb, |_att, _| { + self.is_initialized.set(false); self.update_status(); }); } diff --git a/components/script/dom/webglrenderbuffer.rs b/components/script/dom/webglrenderbuffer.rs index 96ef3bb0d67..60cc25ed8f8 100644 --- a/components/script/dom/webglrenderbuffer.rs +++ b/components/script/dom/webglrenderbuffer.rs @@ -145,6 +145,7 @@ impl WebGLRenderbuffer { }; self.internal_format.set(Some(internal_format)); + self.is_initialized.set(false); // FIXME: Invalidate completeness after the call diff --git a/tests/wpt/webgl/meta/conformance/misc/uninitialized-test.html.ini b/tests/wpt/webgl/meta/conformance/misc/uninitialized-test.html.ini index 801199f6c06..6edb1d37501 100644 --- a/tests/wpt/webgl/meta/conformance/misc/uninitialized-test.html.ini +++ b/tests/wpt/webgl/meta/conformance/misc/uninitialized-test.html.ini @@ -1,2 +1,2 @@ [uninitialized-test.html] - disabled: https://github.com/servo/servo/issues/13710 + disabled: https://github.com/servo/servo/issues/21716 diff --git a/tests/wpt/webgl/meta/conformance/renderbuffers/depth-renderbuffer-initialization.html.ini b/tests/wpt/webgl/meta/conformance/renderbuffers/depth-renderbuffer-initialization.html.ini deleted file mode 100644 index 260119f179a..00000000000 --- a/tests/wpt/webgl/meta/conformance/renderbuffers/depth-renderbuffer-initialization.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[depth-renderbuffer-initialization.html] - disabled: https://github.com/servo/servo/issues/13710 diff --git a/tests/wpt/webgl/meta/conformance/renderbuffers/renderbuffer-initialization.html.ini b/tests/wpt/webgl/meta/conformance/renderbuffers/renderbuffer-initialization.html.ini deleted file mode 100644 index 526aac9b953..00000000000 --- a/tests/wpt/webgl/meta/conformance/renderbuffers/renderbuffer-initialization.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[renderbuffer-initialization.html] - disabled: https://github.com/servo/servo/issues/13710 diff --git a/tests/wpt/webgl/meta/conformance/renderbuffers/stencil-renderbuffer-initialization.html.ini b/tests/wpt/webgl/meta/conformance/renderbuffers/stencil-renderbuffer-initialization.html.ini deleted file mode 100644 index 536f038a85d..00000000000 --- a/tests/wpt/webgl/meta/conformance/renderbuffers/stencil-renderbuffer-initialization.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[stencil-renderbuffer-initialization.html] - disabled: https://github.com/servo/servo/issues/13710