зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1505871. Don't borrow frame_state.surface for the duration of prepare_for_render. r=gw
We need to call update on the filter data handle which needs to use frame_state (in a later patch), so we can't borrow across that call.
This commit is contained in:
Родитель
22cf8be9b7
Коммит
aac71db24c
|
@ -2888,7 +2888,6 @@ impl PicturePrimitive {
|
|||
surface_info.device_pixel_scale,
|
||||
)
|
||||
};
|
||||
let surfaces = &mut frame_state.surfaces;
|
||||
|
||||
let (map_raster_to_world, map_pic_to_raster) = create_raster_mappers(
|
||||
prim_instance.spatial_node_index,
|
||||
|
@ -2988,7 +2987,7 @@ impl PicturePrimitive {
|
|||
|
||||
let render_task_id = frame_state.render_tasks.add(blur_render_task);
|
||||
|
||||
surfaces[surface_index.0].tasks.push(render_task_id);
|
||||
frame_state.surfaces[surface_index.0].tasks.push(render_task_id);
|
||||
|
||||
PictureSurface::RenderTask(render_task_id)
|
||||
}
|
||||
|
@ -3046,7 +3045,7 @@ impl PicturePrimitive {
|
|||
self.secondary_render_task_id = Some(picture_task_id);
|
||||
|
||||
let render_task_id = frame_state.render_tasks.add(blur_render_task);
|
||||
surfaces[surface_index.0].tasks.push(render_task_id);
|
||||
frame_state.surfaces[surface_index.0].tasks.push(render_task_id);
|
||||
|
||||
if let Some(mut request) = frame_state.gpu_cache.request(&mut self.extra_gpu_data_handle) {
|
||||
// TODO(gw): This is very hacky code below! It stores an extra
|
||||
|
@ -3107,7 +3106,7 @@ impl PicturePrimitive {
|
|||
);
|
||||
|
||||
let render_task_id = frame_state.render_tasks.add(picture_task);
|
||||
surfaces[surface_index.0].tasks.push(render_task_id);
|
||||
frame_state.surfaces[surface_index.0].tasks.push(render_task_id);
|
||||
PictureSurface::RenderTask(render_task_id)
|
||||
}
|
||||
PictureCompositeMode::Puppet { .. } |
|
||||
|
@ -3140,12 +3139,12 @@ impl PicturePrimitive {
|
|||
);
|
||||
|
||||
let render_task_id = frame_state.render_tasks.add(picture_task);
|
||||
surfaces[surface_index.0].tasks.push(render_task_id);
|
||||
frame_state.surfaces[surface_index.0].tasks.push(render_task_id);
|
||||
PictureSurface::RenderTask(render_task_id)
|
||||
}
|
||||
};
|
||||
|
||||
surfaces[raster_config.surface_index.0].surface = Some(surface);
|
||||
frame_state.surfaces[raster_config.surface_index.0].surface = Some(surface);
|
||||
|
||||
true
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче