mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Add initial support for WebGL2 read framebuffer
Adds support for binding to the read framebuffer slot and querying its status.
This commit is contained in:
parent
833485887e
commit
796ee70597
5 changed files with 203 additions and 90 deletions
|
@ -197,15 +197,17 @@ impl WebGLTexture {
|
|||
}
|
||||
|
||||
/*
|
||||
If a texture object is deleted while its image is attached to the currently
|
||||
bound framebuffer, then it is as if FramebufferTexture2D had been called, with
|
||||
a texture of 0, for each attachment point to which this image was attached
|
||||
in the currently bound framebuffer.
|
||||
- GLES 2.0, 4.4.3, "Attaching Texture Images to a Framebuffer"
|
||||
*/
|
||||
let currently_bound_framebuffer =
|
||||
self.upcast::<WebGLObject>().context().bound_framebuffer();
|
||||
if let Some(fb) = currently_bound_framebuffer {
|
||||
If a texture object is deleted while its image is attached to one or more attachment
|
||||
points in a currently bound framebuffer, then it is as if FramebufferTexture had been
|
||||
called, with a texture of zero, for each attachment point to which this im-age was
|
||||
attached in that framebuffer. In other words, this texture image is firstdetached from
|
||||
all attachment points in a currently bound framebuffer.
|
||||
- GLES 3.0, 4.4.2.3, "Attaching Texture Images to a Framebuffer"
|
||||
*/
|
||||
if let Some(fb) = context.get_draw_framebuffer_slot().get() {
|
||||
let _ = fb.detach_texture(self);
|
||||
}
|
||||
if let Some(fb) = context.get_read_framebuffer_slot().get() {
|
||||
let _ = fb.detach_texture(self);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue