mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Update WR (first phase of z-buffer optimizations / improvements).
This commit is contained in:
parent
183c4772e7
commit
3d9475457c
3 changed files with 32 additions and 16 deletions
|
@ -275,6 +275,7 @@ enum CompositeTarget {
|
|||
|
||||
struct RenderTargetInfo {
|
||||
framebuffer_ids: Vec<gl::GLuint>,
|
||||
renderbuffer_ids: Vec<gl::GLuint>,
|
||||
texture_ids: Vec<gl::GLuint>,
|
||||
}
|
||||
|
||||
|
@ -282,6 +283,7 @@ impl RenderTargetInfo {
|
|||
fn empty() -> RenderTargetInfo {
|
||||
RenderTargetInfo {
|
||||
framebuffer_ids: Vec::new(),
|
||||
renderbuffer_ids: Vec::new(),
|
||||
texture_ids: Vec::new(),
|
||||
}
|
||||
}
|
||||
|
@ -304,8 +306,21 @@ fn initialize_png(width: usize, height: usize) -> RenderTargetInfo {
|
|||
|
||||
gl::bind_texture(gl::TEXTURE_2D, 0);
|
||||
|
||||
let renderbuffer_ids = gl::gen_renderbuffers(1);
|
||||
let depth_rb = renderbuffer_ids[0];
|
||||
gl::bind_renderbuffer(gl::RENDERBUFFER, depth_rb);
|
||||
gl::renderbuffer_storage(gl::RENDERBUFFER,
|
||||
gl::DEPTH_COMPONENT24,
|
||||
width as gl::GLsizei,
|
||||
height as gl::GLsizei);
|
||||
gl::framebuffer_renderbuffer(gl::FRAMEBUFFER,
|
||||
gl::DEPTH_ATTACHMENT,
|
||||
gl::RENDERBUFFER,
|
||||
depth_rb);
|
||||
|
||||
RenderTargetInfo {
|
||||
framebuffer_ids: framebuffer_ids,
|
||||
renderbuffer_ids: renderbuffer_ids,
|
||||
texture_ids: texture_ids,
|
||||
}
|
||||
}
|
||||
|
@ -1534,6 +1549,7 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
|||
gl::bind_framebuffer(gl::FRAMEBUFFER, 0);
|
||||
|
||||
gl::delete_buffers(&render_target_info.texture_ids);
|
||||
gl::delete_renderbuffers(&render_target_info.renderbuffer_ids);
|
||||
gl::delete_frame_buffers(&render_target_info.framebuffer_ids);
|
||||
|
||||
// flip image vertically (texture is upside down)
|
||||
|
|
|
@ -171,9 +171,9 @@ impl<Window> Browser<Window> where Window: WindowMethods + 'static {
|
|||
enable_scrollbars: opts.output_file.is_none(),
|
||||
renderer_kind: renderer_kind,
|
||||
enable_subpixel_aa: opts.enable_subpixel_text_antialiasing,
|
||||
clear_empty_tiles: true,
|
||||
clear_framebuffer: true,
|
||||
clear_color: webrender_traits::ColorF::new(1.0, 1.0, 1.0, 1.0),
|
||||
render_target_debug: false,
|
||||
})
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue