mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-21 01:05:45 +00:00
Bug 1509592 - Update webrender to commit 7051f18fdcfbe60ecdbaeaa8e53c4ba98f2037a1 (WR PR #3344). r=kats
https://github.com/servo/webrender/pull/3344 Differential Revision: https://phabricator.services.mozilla.com/D12822 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
e88550b119
commit
305b751fe8
@ -1 +1 @@
|
|||||||
af2b372624db589115511b4705849a33e6acd35d
|
7051f18fdcfbe60ecdbaeaa8e53c4ba98f2037a1
|
||||||
|
@ -1942,14 +1942,13 @@ impl ResourceCache {
|
|||||||
entry.insert(short_path);
|
entry.insert(short_path);
|
||||||
}
|
}
|
||||||
CachedImageData::Blob => {
|
CachedImageData::Blob => {
|
||||||
assert_eq!(template.tiling, None);
|
|
||||||
let blob_request_params = &[
|
let blob_request_params = &[
|
||||||
BlobImageParams {
|
BlobImageParams {
|
||||||
request: BlobImageRequest {
|
request: BlobImageRequest {
|
||||||
key: BlobImageKey(key),
|
key: BlobImageKey(key),
|
||||||
//TODO: support tiled blob images
|
//TODO: support tiled blob images
|
||||||
// https://github.com/servo/webrender/issues/2236
|
// https://github.com/servo/webrender/issues/2236
|
||||||
tile: None,
|
tile: template.tiling.map(|_| TileOffset::origin()),
|
||||||
},
|
},
|
||||||
descriptor: BlobImageDescriptor {
|
descriptor: BlobImageDescriptor {
|
||||||
rect: blob_size(desc.size).into(),
|
rect: blob_size(desc.size).into(),
|
||||||
@ -1959,11 +1958,24 @@ impl ResourceCache {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
let blob_handler = self.blob_image_handler.as_mut().unwrap();
|
let requires_tiling = match template.tiling {
|
||||||
blob_handler.prepare_resources(&self.resources, blob_request_params);
|
Some(tile_size) => desc.size.width > tile_size as i32 || desc.size.height > tile_size as i32,
|
||||||
let mut rasterizer = blob_handler.create_blob_rasterizer();
|
None => false,
|
||||||
let (_, result) = rasterizer.rasterize(blob_request_params, false).pop().unwrap();
|
};
|
||||||
let result = result.expect("Blob rasterization failed");
|
|
||||||
|
let result = if requires_tiling {
|
||||||
|
warn!("Tiled blob images aren't supported yet");
|
||||||
|
RasterizedBlobImage {
|
||||||
|
rasterized_rect: desc.size.into(),
|
||||||
|
data: Arc::new(vec![0; desc.compute_total_size() as usize])
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
let blob_handler = self.blob_image_handler.as_mut().unwrap();
|
||||||
|
blob_handler.prepare_resources(&self.resources, blob_request_params);
|
||||||
|
let mut rasterizer = blob_handler.create_blob_rasterizer();
|
||||||
|
let (_, result) = rasterizer.rasterize(blob_request_params, false).pop().unwrap();
|
||||||
|
result.expect("Blob rasterization failed")
|
||||||
|
};
|
||||||
|
|
||||||
assert_eq!(result.rasterized_rect.size, desc.size);
|
assert_eq!(result.rasterized_rect.size, desc.size);
|
||||||
assert_eq!(result.data.len(), desc.compute_total_size() as usize);
|
assert_eq!(result.data.len(), desc.compute_total_size() as usize);
|
||||||
|
Loading…
Reference in New Issue
Block a user