зеркало из 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,
|
surface_info.device_pixel_scale,
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
let surfaces = &mut frame_state.surfaces;
|
|
||||||
|
|
||||||
let (map_raster_to_world, map_pic_to_raster) = create_raster_mappers(
|
let (map_raster_to_world, map_pic_to_raster) = create_raster_mappers(
|
||||||
prim_instance.spatial_node_index,
|
prim_instance.spatial_node_index,
|
||||||
|
@ -2988,7 +2987,7 @@ impl PicturePrimitive {
|
||||||
|
|
||||||
let render_task_id = frame_state.render_tasks.add(blur_render_task);
|
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)
|
PictureSurface::RenderTask(render_task_id)
|
||||||
}
|
}
|
||||||
|
@ -3046,7 +3045,7 @@ impl PicturePrimitive {
|
||||||
self.secondary_render_task_id = Some(picture_task_id);
|
self.secondary_render_task_id = Some(picture_task_id);
|
||||||
|
|
||||||
let render_task_id = frame_state.render_tasks.add(blur_render_task);
|
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) {
|
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
|
// 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);
|
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)
|
PictureSurface::RenderTask(render_task_id)
|
||||||
}
|
}
|
||||||
PictureCompositeMode::Puppet { .. } |
|
PictureCompositeMode::Puppet { .. } |
|
||||||
|
@ -3140,12 +3139,12 @@ impl PicturePrimitive {
|
||||||
);
|
);
|
||||||
|
|
||||||
let render_task_id = frame_state.render_tasks.add(picture_task);
|
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)
|
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
|
true
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче