Bug 1385003 - Update webrender bindings for API change in WR cset c7a5b78d. r?nical draft
authorKartikaya Gupta <kgupta@mozilla.com>
Wed, 09 Aug 2017 08:46:26 -0400
changeset 643289 a6c7ca72a95cf31553f80c6cd242467b810e12e4
parent 643288 acb2df05e674f135b306457bd8fb669772cf37a8
child 643290 740ffe38482672416798c733428929d3c5d49d6b
push id73049
push userkgupta@mozilla.com
push dateWed, 09 Aug 2017 14:47:44 +0000
reviewersnical
bugs1385003
milestone57.0a1
Bug 1385003 - Update webrender bindings for API change in WR cset c7a5b78d. r?nical MozReview-Commit-ID: DY5vwlv4JYM
gfx/webrender_bindings/src/bindings.rs
--- a/gfx/webrender_bindings/src/bindings.rs
+++ b/gfx/webrender_bindings/src/bindings.rs
@@ -4,16 +4,17 @@ use std::{mem, slice};
 use std::path::PathBuf;
 use std::sync::Arc;
 use std::os::raw::{c_void, c_char, c_float};
 use gleam::gl;
 
 use webrender_api::*;
 use webrender::renderer::{ReadPixelsFormat, Renderer, RendererOptions};
 use webrender::renderer::{ExternalImage, ExternalImageHandler, ExternalImageSource};
+use webrender::renderer::{DebugFlags, PROFILER_DBG};
 use webrender::{ApiRecordingReceiver, BinaryRecorder};
 use thread_profiler::register_thread_with_profiler;
 use moz2d_renderer::Moz2dImageRenderer;
 use app_units::Au;
 use rayon;
 use euclid::SideOffsets2D;
 
 extern crate webrender_api;
@@ -459,17 +460,19 @@ pub unsafe extern "C" fn wr_renderer_rea
                                 DeviceUintSize::new(width, height)),
                               ReadPixelsFormat::Bgra8,
                               &mut slice);
 }
 
 #[no_mangle]
 pub extern "C" fn wr_renderer_set_profiler_enabled(renderer: &mut Renderer,
                                                    enabled: bool) {
-    renderer.set_profiler_enabled(enabled);
+    let mut flags = renderer.get_debug_flags();
+    flags.set(PROFILER_DBG, enabled);
+    renderer.set_debug_flags(flags);
 }
 
 #[no_mangle]
 pub extern "C" fn wr_renderer_current_epoch(renderer: &mut Renderer,
                                             pipeline_id: WrPipelineId,
                                             out_epoch: &mut WrEpoch)
                                             -> bool {
     if let Some(epoch) = renderer.current_epoch(pipeline_id) {
@@ -569,20 +572,22 @@ pub extern "C" fn wr_window_new(window_i
     let version = gl.get_string(gl::VERSION);
 
     println!("WebRender - OpenGL version new {}", version);
 
     let workers = unsafe {
         Arc::clone(&(*thread_pool).0)
     };
 
+    let mut debug_flags = DebugFlags::empty();
+    debug_flags.set(PROFILER_DBG, enable_profiler);
     let opts = RendererOptions {
         enable_aa: true,
         enable_subpixel_aa: true,
-        enable_profiler: enable_profiler,
+        debug_flags: debug_flags,
         recorder: recorder,
         blob_image_renderer: Some(Box::new(Moz2dImageRenderer::new(workers.clone()))),
         workers: Some(workers.clone()),
         cache_expiry_frames: 60, // see https://github.com/servo/webrender/pull/1294#issuecomment-304318800
         enable_render_on_scroll: false,
         ..Default::default()
     };