mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Update WR (transaction API change)
This commit is contained in:
parent
c2d3f2a40f
commit
823f3e2eb1
11 changed files with 56 additions and 87 deletions
|
@ -268,13 +268,13 @@ impl<VR: WebVRRenderHandler + 'static, OB: WebGLThreadObserver> WebGLThread<VR,
|
|||
fn remove_webgl_context(&mut self, context_id: WebGLContextId) {
|
||||
// Release webrender image keys.
|
||||
if let Some(info) = self.cached_context_info.remove(&context_id) {
|
||||
let mut updates = webrender_api::ResourceUpdates::new();
|
||||
let mut txn = webrender_api::Transaction::new();
|
||||
|
||||
if let Some(image_key) = info.image_key {
|
||||
updates.delete_image(image_key);
|
||||
txn.delete_image(image_key);
|
||||
}
|
||||
|
||||
self.webrender_api.update_resources(updates)
|
||||
self.webrender_api.update_resources(txn.resource_updates)
|
||||
}
|
||||
|
||||
// Release GL context.
|
||||
|
@ -423,12 +423,9 @@ impl<VR: WebVRRenderHandler + 'static, OB: WebGLThreadObserver> WebGLThread<VR,
|
|||
let data = Self::external_image_data(context_id);
|
||||
|
||||
let image_key = webrender_api.generate_image_key();
|
||||
let mut updates = webrender_api::ResourceUpdates::new();
|
||||
updates.add_image(image_key,
|
||||
descriptor,
|
||||
data,
|
||||
None);
|
||||
webrender_api.update_resources(updates);
|
||||
let mut txn = webrender_api::Transaction::new();
|
||||
txn.add_image(image_key, descriptor, data, None);
|
||||
webrender_api.update_resources(txn.resource_updates);
|
||||
|
||||
image_key
|
||||
}
|
||||
|
@ -442,12 +439,9 @@ impl<VR: WebVRRenderHandler + 'static, OB: WebGLThreadObserver> WebGLThread<VR,
|
|||
let descriptor = Self::image_descriptor(size, alpha);
|
||||
let data = Self::external_image_data(context_id);
|
||||
|
||||
let mut updates = webrender_api::ResourceUpdates::new();
|
||||
updates.update_image(image_key,
|
||||
descriptor,
|
||||
data,
|
||||
None);
|
||||
webrender_api.update_resources(updates);
|
||||
let mut txn = webrender_api::Transaction::new();
|
||||
txn.update_image(image_key, descriptor, data, None);
|
||||
webrender_api.update_resources(txn.resource_updates);
|
||||
}
|
||||
|
||||
/// Creates a `webrender_api::ImageKey` that uses raw pixels.
|
||||
|
@ -459,12 +453,9 @@ impl<VR: WebVRRenderHandler + 'static, OB: WebGLThreadObserver> WebGLThread<VR,
|
|||
let data = webrender_api::ImageData::new(data);
|
||||
|
||||
let image_key = webrender_api.generate_image_key();
|
||||
let mut updates = webrender_api::ResourceUpdates::new();
|
||||
updates.add_image(image_key,
|
||||
descriptor,
|
||||
data,
|
||||
None);
|
||||
webrender_api.update_resources(updates);
|
||||
let mut txn = webrender_api::Transaction::new();
|
||||
txn.add_image(image_key, descriptor, data, None);
|
||||
webrender_api.update_resources(txn.resource_updates);
|
||||
|
||||
image_key
|
||||
}
|
||||
|
@ -478,19 +469,15 @@ impl<VR: WebVRRenderHandler + 'static, OB: WebGLThreadObserver> WebGLThread<VR,
|
|||
let descriptor = Self::image_descriptor(size, alpha);
|
||||
let data = webrender_api::ImageData::new(data);
|
||||
|
||||
let mut updates = webrender_api::ResourceUpdates::new();
|
||||
updates.update_image(image_key,
|
||||
descriptor,
|
||||
data,
|
||||
None);
|
||||
webrender_api.update_resources(updates);
|
||||
let mut txn = webrender_api::Transaction::new();
|
||||
txn.update_image(image_key, descriptor, data, None);
|
||||
webrender_api.update_resources(txn.resource_updates);
|
||||
}
|
||||
|
||||
/// Helper function to create a `webrender_api::ImageDescriptor`.
|
||||
fn image_descriptor(size: Size2D<i32>, alpha: bool) -> webrender_api::ImageDescriptor {
|
||||
webrender_api::ImageDescriptor {
|
||||
width: size.width as u32,
|
||||
height: size.height as u32,
|
||||
size: webrender_api::DeviceUintSize::new(size.width as u32, size.height as u32),
|
||||
stride: None,
|
||||
format: webrender_api::ImageFormat::BGRA8,
|
||||
offset: 0,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue