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:
Timothy Nikkel 2019-02-25 22:45:16 -06:00
Родитель 22cf8be9b7
Коммит aac71db24c
1 изменённых файлов: 5 добавлений и 6 удалений

Просмотреть файл

@ -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
}