Skip to content

Commit 062e2cc

Browse files
author
Butkovits Atila
committed
Backed out 3 changesets (bug 1924152, bug 1918138) for causing WR bustages. CLOSED TREE
Backed out changeset 03b773761f5d (bug 1924152) Backed out changeset cedb2697277d (bug 1924152) Backed out changeset 5a7a8a6c90aa (bug 1918138)
1 parent 98f7acc commit 062e2cc

13 files changed

+56
-339
lines changed

webrender/src/frame_builder.rs

Lines changed: 26 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,6 @@ impl FrameBuilder {
274274
fn build_layer_screen_rects_and_cull_layers(
275275
&mut self,
276276
scene: &mut BuiltScene,
277-
present: bool,
278277
global_screen_world_rect: WorldRect,
279278
resource_cache: &mut ResourceCache,
280279
gpu_cache: &mut GpuCache,
@@ -295,8 +294,6 @@ impl FrameBuilder {
295294
) {
296295
profile_scope!("build_layer_screen_rects_and_cull_layers");
297296

298-
let render_picture_cache_slices = present;
299-
300297
let root_spatial_node_index = spatial_tree.root_reference_frame_index();
301298

302299
const MAX_CLIP_COORD: f32 = 1.0e9;
@@ -430,9 +427,6 @@ impl FrameBuilder {
430427
}
431428

432429
for pic_index in scene.tile_cache_pictures.iter().rev() {
433-
if !render_picture_cache_slices {
434-
break;
435-
}
436430
let pic = &mut scene.prim_store.pictures[pic_index.0];
437431

438432
match pic.raster_config {
@@ -589,10 +583,6 @@ impl FrameBuilder {
589583
frame_state.push_dirty_region(default_dirty_region);
590584

591585
for pic_index in &scene.tile_cache_pictures {
592-
if !render_picture_cache_slices {
593-
break;
594-
}
595-
596586
prepare_picture(
597587
*pic_index,
598588
&mut scene.prim_store,
@@ -627,7 +617,6 @@ impl FrameBuilder {
627617
pub fn build(
628618
&mut self,
629619
scene: &mut BuiltScene,
630-
present: bool,
631620
resource_cache: &mut ResourceCache,
632621
gpu_cache: &mut GpuCache,
633622
rg_builder: &mut RenderTaskGraphBuilder,
@@ -693,7 +682,6 @@ impl FrameBuilder {
693682

694683
self.build_layer_screen_rects_and_cull_layers(
695684
scene,
696-
present,
697685
screen_world_rect,
698686
resource_cache,
699687
gpu_cache,
@@ -784,35 +772,33 @@ impl FrameBuilder {
784772
passes.push(pass);
785773
}
786774

787-
if present {
788-
let mut ctx = RenderTargetContext {
789-
global_device_pixel_scale,
790-
clip_store: &scene.clip_store,
791-
prim_store: &scene.prim_store,
792-
resource_cache,
793-
use_dual_source_blending,
794-
use_advanced_blending: scene.config.gpu_supports_advanced_blend,
795-
break_advanced_blend_batches: !scene.config.advanced_blend_is_coherent,
796-
batch_lookback_count: scene.config.batch_lookback_count,
797-
spatial_tree,
798-
data_stores,
799-
surfaces: &scene.surfaces,
800-
scratch: &mut scratch.primitive,
801-
screen_world_rect,
802-
globals: &self.globals,
803-
tile_caches,
804-
root_spatial_node_index: spatial_tree.root_reference_frame_index(),
805-
frame_memory: &mut frame_memory,
806-
};
775+
let mut ctx = RenderTargetContext {
776+
global_device_pixel_scale,
777+
clip_store: &scene.clip_store,
778+
prim_store: &scene.prim_store,
779+
resource_cache,
780+
use_dual_source_blending,
781+
use_advanced_blending: scene.config.gpu_supports_advanced_blend,
782+
break_advanced_blend_batches: !scene.config.advanced_blend_is_coherent,
783+
batch_lookback_count: scene.config.batch_lookback_count,
784+
spatial_tree,
785+
data_stores,
786+
surfaces: &scene.surfaces,
787+
scratch: &mut scratch.primitive,
788+
screen_world_rect,
789+
globals: &self.globals,
790+
tile_caches,
791+
root_spatial_node_index: spatial_tree.root_reference_frame_index(),
792+
frame_memory: &mut frame_memory,
793+
};
807794

808-
self.build_composite_pass(
809-
scene,
810-
&mut ctx,
811-
gpu_cache,
812-
&mut deferred_resolves,
813-
&mut composite_state,
814-
);
815-
}
795+
self.build_composite_pass(
796+
scene,
797+
&mut ctx,
798+
gpu_cache,
799+
&mut deferred_resolves,
800+
&mut composite_state,
801+
);
816802
}
817803

818804
profile.end_time(profiler::FRAME_BATCHING_TIME);
@@ -836,7 +822,6 @@ impl FrameBuilder {
836822
device_origin,
837823
scene.output_rect.size(),
838824
),
839-
present,
840825
passes,
841826
transform_palette: transform_palette.finish(),
842827
render_tasks,
@@ -1289,7 +1274,6 @@ pub fn build_render_pass(
12891274
pub struct Frame {
12901275
/// The rectangle to show the frame in, on screen.
12911276
pub device_rect: DeviceIntRect,
1292-
pub present: bool,
12931277
pub passes: FrameVec<RenderPass>,
12941278

12951279
pub transform_palette: FrameVec<TransformData>,

webrender/src/render_api.rs

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,6 @@ pub enum GenerateFrame {
122122
/// An id that allows tracking the frame transaction through the various
123123
/// frame stages. Specified by the caller of generate_frame().
124124
id: u64,
125-
/// If false, (a subset of) the frame will be rendered, but nothing will
126-
/// be presented on the window.
127-
present: bool,
128125
},
129126
/// Don't generate a frame even if something has changed.
130127
No,
@@ -139,19 +136,10 @@ impl GenerateFrame {
139136
}
140137
}
141138

142-
/// If false, a frame may be (partially) generated but it will not be
143-
/// presented to the window.
144-
pub fn present(&self) -> bool {
145-
match self {
146-
GenerateFrame::Yes { present, .. } => *present,
147-
GenerateFrame::No => false,
148-
}
149-
}
150-
151139
/// Return the frame ID, if a frame is generated.
152140
pub fn id(&self) -> Option<u64> {
153141
match self {
154-
GenerateFrame::Yes { id, .. } => Some(*id),
142+
GenerateFrame::Yes { id } => Some(*id),
155143
GenerateFrame::No => None,
156144
}
157145
}
@@ -375,8 +363,8 @@ impl Transaction {
375363
/// as to when happened.
376364
///
377365
/// [notifier]: trait.RenderNotifier.html#tymethod.new_frame_ready
378-
pub fn generate_frame(&mut self, id: u64, present: bool, reasons: RenderReasons) {
379-
self.generate_frame = GenerateFrame::Yes{ id, present };
366+
pub fn generate_frame(&mut self, id: u64, reasons: RenderReasons) {
367+
self.generate_frame = GenerateFrame::Yes{ id };
380368
self.render_reasons |= reasons;
381369
}
382370

webrender/src/render_backend.rs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -515,7 +515,6 @@ impl Document {
515515
debug_flags: DebugFlags,
516516
tile_caches: &mut FastHashMap<SliceId, Box<TileCacheInstance>>,
517517
frame_stats: Option<FullFrameStats>,
518-
present: bool,
519518
render_reasons: RenderReasons,
520519
frame_memory: FrameMemory,
521520
) -> RenderedDocument {
@@ -530,7 +529,6 @@ impl Document {
530529
let frame = {
531530
let frame = self.frame_builder.build(
532531
&mut self.scene,
533-
present,
534532
resource_cache,
535533
gpu_cache,
536534
&mut self.rg_builder,
@@ -961,7 +959,6 @@ impl RenderBackend {
961959
txn.frame_ops.take(),
962960
txn.notifications.take(),
963961
txn.render_frame,
964-
txn.present,
965962
RenderReasons::SCENE,
966963
None,
967964
txn.invalidate_rendered_frame,
@@ -1312,7 +1309,6 @@ impl RenderBackend {
13121309
txn.frame_ops.take(),
13131310
txn.notifications.take(),
13141311
txn.generate_frame.as_bool(),
1315-
txn.generate_frame.present(),
13161312
txn.render_reasons,
13171313
txn.generate_frame.id(),
13181314
txn.invalidate_rendered_frame,
@@ -1352,7 +1348,6 @@ impl RenderBackend {
13521348
Vec::default(),
13531349
Vec::default(),
13541350
false,
1355-
false,
13561351
RenderReasons::empty(),
13571352
None,
13581353
false,
@@ -1375,7 +1370,6 @@ impl RenderBackend {
13751370
mut frame_ops: Vec<FrameMsg>,
13761371
mut notifications: Vec<NotificationRequest>,
13771372
mut render_frame: bool,
1378-
present: bool,
13791373
render_reasons: RenderReasons,
13801374
generated_frame_id: Option<u64>,
13811375
invalidate_rendered_frame: bool,
@@ -1475,7 +1469,6 @@ impl RenderBackend {
14751469
self.debug_flags,
14761470
&mut self.tile_caches,
14771471
frame_stats,
1478-
present,
14791472
render_reasons,
14801473
frame_memory,
14811474
);
@@ -1682,7 +1675,6 @@ impl RenderBackend {
16821675
self.debug_flags,
16831676
&mut self.tile_caches,
16841677
None,
1685-
true,
16861678
RenderReasons::empty(),
16871679
frame_memory,
16881680
);

webrender/src/renderer/mod.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1444,7 +1444,7 @@ impl Renderer {
14441444
&mut self,
14451445
doc_id: DocumentId,
14461446
active_doc: &mut RenderedDocument,
1447-
mut device_size: Option<DeviceIntSize>,
1447+
device_size: Option<DeviceIntSize>,
14481448
buffer_age: usize,
14491449
) -> Result<RenderResults, Vec<RendererError>> {
14501450
profile_scope!("render");
@@ -1512,12 +1512,6 @@ impl Renderer {
15121512
frame_id
15131513
};
15141514

1515-
if !active_doc.frame.present {
1516-
// Setting device_size to None is what ensures compositing/presenting
1517-
// the frame is skipped in the rest of this module.
1518-
device_size = None;
1519-
}
1520-
15211515
if let Some(device_size) = device_size {
15221516
// Inform the client that we are starting a composition transaction if native
15231517
// compositing is enabled. This needs to be done early in the frame, so that
@@ -3500,7 +3494,7 @@ impl Renderer {
35003494
// to the swapchain tile list
35013495
match tile.kind {
35023496
TileKind::Opaque | TileKind::Alpha => {
3503-
// Store (index of tile, index of layer) so we can segment them below
3497+
// Store (index of tile, index of layer) so we can segment them below
35043498
occlusion.add(&rect, is_opaque, idx); // (idx, input_layers.len() - 1));
35053499
}
35063500
TileKind::Clear => {

webrender/src/scene_builder_thread.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ pub struct BuiltTransaction {
6969
pub interner_updates: Option<InternerUpdates>,
7070
pub spatial_tree_updates: Option<SpatialTreeUpdates>,
7171
pub render_frame: bool,
72-
pub present: bool,
7372
pub invalidate_rendered_frame: bool,
7473
pub profile: TransactionProfile,
7574
pub frame_stats: FullFrameStats,
@@ -478,7 +477,6 @@ impl SceneBuilderThread {
478477
let txns = vec![Box::new(BuiltTransaction {
479478
document_id: item.document_id,
480479
render_frame: item.build_frame,
481-
present: true,
482480
invalidate_rendered_frame: false,
483481
built_scene,
484482
view: item.view,
@@ -666,7 +664,6 @@ impl SceneBuilderThread {
666664
Box::new(BuiltTransaction {
667665
document_id: txn.document_id,
668666
render_frame: txn.generate_frame.as_bool(),
669-
present: txn.generate_frame.present(),
670667
invalidate_rendered_frame: txn.invalidate_rendered_frame,
671668
built_scene,
672669
view: doc.view,

wrench/reftests/image/reftest.list

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,3 @@ fuzzy(1,160000) == image-filter-stretch-tile.yaml green-alpha-ref.yaml
2424
== snapshot-detached.yaml snapshot-detached-ref.yaml
2525
== snapshot-filters-01.yaml snapshot-filters-01-ref.yaml
2626
== snapshot-filters-02.yaml snapshot-filters-02-ref.yaml
27-
fuzzy(1,350) == snapshot-shadow.yaml snapshot-shadow-ref.yaml
28-
== snapshot-multiframe.yaml snapshot-multiframe-ref.yaml

wrench/reftests/image/snapshot-multiframe-ref.yaml

Lines changed: 0 additions & 12 deletions
This file was deleted.

wrench/reftests/image/snapshot-multiframe.yaml

Lines changed: 0 additions & 41 deletions
This file was deleted.

0 commit comments

Comments
 (0)