aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webgltexture.rs
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2023-06-26 16:35:03 +0200
committerMartin Robinson <mrobinson@igalia.com>2023-06-27 11:39:52 +0200
commitec3b2826ae7f9186e20e7a992f8be70c9aa2f903 (patch)
tree76b0ed5a9a48b1bde9418e1819481caae1e91dde /components/script/dom/webgltexture.rs
parent234d50723463159400ee4bf25fa130011e9f72ef (diff)
downloadservo-ec3b2826ae7f9186e20e7a992f8be70c9aa2f903.tar.gz
servo-ec3b2826ae7f9186e20e7a992f8be70c9aa2f903.zip
Remove the DOMToTexture feature
This relies on WebRender's frame output API, `set_output_image_handler`, which has been removed from the latest upstream [1]. It's sad to remove this feature, which was probably a lot of work to implement, but it seems difficult to patch WebRender to restore this functionality. Fixes #29936. 1. https://hg.mozilla.org/mozilla-central/rev/361521e3c52324809553c555fb066d50f023d9bf
Diffstat (limited to 'components/script/dom/webgltexture.rs')
-rw-r--r--components/script/dom/webgltexture.rs15
1 files changed, 1 insertions, 14 deletions
diff --git a/components/script/dom/webgltexture.rs b/components/script/dom/webgltexture.rs
index 7456f772dec..ccb005cc393 100644
--- a/components/script/dom/webgltexture.rs
+++ b/components/script/dom/webgltexture.rs
@@ -20,7 +20,7 @@ use canvas_traits::webgl::{
webgl_channel, TexDataType, TexFormat, TexParameter, TexParameterBool, TexParameterInt,
WebGLResult, WebGLTextureId,
};
-use canvas_traits::webgl::{DOMToTextureCommand, WebGLCommand, WebGLError};
+use canvas_traits::webgl::{WebGLCommand, WebGLError};
use dom_struct::dom_struct;
use std::cell::Cell;
use std::cmp;
@@ -62,8 +62,6 @@ pub struct WebGLTexture {
// Store information for min and mag filters
min_filter: Cell<u32>,
mag_filter: Cell<u32>,
- /// True if this texture is used for the DOMToTexture feature.
- attached_to_dom: Cell<bool>,
/// Framebuffer that this texture is attached to.
attached_framebuffer: MutNullableDom<WebGLFramebuffer>,
/// Number of immutable levels.
@@ -90,7 +88,6 @@ impl WebGLTexture {
min_filter: Cell::new(constants::NEAREST_MIPMAP_LINEAR),
mag_filter: Cell::new(constants::LINEAR),
image_info_array: DomRefCell::new([None; MAX_LEVEL_COUNT * MAX_FACE_COUNT]),
- attached_to_dom: Cell::new(false),
attached_framebuffer: Default::default(),
}
}
@@ -224,12 +221,6 @@ impl WebGLTexture {
if !self.is_deleted.get() {
self.is_deleted.set(true);
let context = self.upcast::<WebGLObject>().context();
- // Notify WR to release the frame output when using DOMToTexture feature
- if self.attached_to_dom.get() {
- let _ = context
- .webgl_sender()
- .send_dom_to_texture(DOMToTextureCommand::Detach(self.id));
- }
/*
If a texture object is deleted while its image is attached to one or more attachment
@@ -469,10 +460,6 @@ impl WebGLTexture {
self.image_info_at_face(0, self.base_mipmap_level)
}
- pub fn set_attached_to_dom(&self) {
- self.attached_to_dom.set(true);
- }
-
pub fn attach_to_framebuffer(&self, fb: &WebGLFramebuffer) {
self.attached_framebuffer.set(Some(fb));
}