diff options
author | bors-servo <infra@servo.org> | 2023-07-10 20:35:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-10 20:35:59 +0200 |
commit | 71c3b34384030dcb734b268ec2eb693be807b3f7 (patch) | |
tree | e4344d74de73bf1b120a4f21929e5d3b802141af /components/webgpu/lib.rs | |
parent | 734d8b3d49aff8f15f2cb63e85817576dd54232c (diff) | |
parent | 3230162fd0ac96dea77c683b2067ae65ec7ed0b4 (diff) | |
download | servo-71c3b34384030dcb734b268ec2eb693be807b3f7.tar.gz servo-71c3b34384030dcb734b268ec2eb693be807b3f7.zip |
Auto merge of #29987 - mrobinson:normalize-more-webrender-use-statements, r=jdm
normalize more webrender use statements
- Use the WebRender clip chain API
- Use explicit WebRender hit test items in legacy layout
- Try to `use` WebRender types more
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes do not require tests because they do not change behavior.
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Diffstat (limited to 'components/webgpu/lib.rs')
-rw-r--r-- | components/webgpu/lib.rs | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/components/webgpu/lib.rs b/components/webgpu/lib.rs index 2e510a6c6ec..4bd4e21e97d 100644 --- a/components/webgpu/lib.rs +++ b/components/webgpu/lib.rs @@ -27,6 +27,10 @@ use std::rc::Rc; use std::slice; use std::sync::{Arc, Mutex}; use std::time::{Duration, Instant}; +use webrender_api::{ + DirtyRect, DocumentId, ExternalImageId, ImageData, ImageDescriptor, ImageKey, RenderApi, + RenderApiSender, Transaction, +}; use webrender_traits::{ WebrenderExternalImageApi, WebrenderExternalImageRegistry, WebrenderImageHandlerType, WebrenderImageSource, @@ -140,7 +144,7 @@ pub enum WebGPURequest { descriptor: ComputePipelineDescriptor<'static>, implicit_ids: Option<(id::PipelineLayoutId, Vec<id::BindGroupLayoutId>)>, }, - CreateContext(IpcSender<webrender_api::ExternalImageId>), + CreateContext(IpcSender<ExternalImageId>), CreatePipelineLayout { device_id: id::DeviceId, pipeline_layout_id: id::PipelineLayoutId, @@ -166,9 +170,9 @@ pub enum WebGPURequest { device_id: id::DeviceId, buffer_ids: ArrayVec<id::BufferId, PRESENTATION_BUFFER_COUNT>, external_id: u64, - sender: IpcSender<webrender_api::ImageKey>, - image_desc: webrender_api::ImageDescriptor, - image_data: webrender_api::ImageData, + sender: IpcSender<ImageKey>, + image_desc: ImageDescriptor, + image_data: ImageData, }, CreateTexture { device_id: id::DeviceId, @@ -184,7 +188,7 @@ pub enum WebGPURequest { DestroyBuffer(id::BufferId), DestroySwapChain { external_id: u64, - image_key: webrender_api::ImageKey, + image_key: ImageKey, }, DestroyTexture(id::TextureId), Exit(IpcSender<()>), @@ -267,8 +271,8 @@ pub struct WebGPU(pub IpcSender<(Option<ErrorScopeId>, WebGPURequest)>); impl WebGPU { pub fn new( - webrender_api_sender: webrender_api::RenderApiSender, - webrender_document: webrender_api::DocumentId, + webrender_api_sender: RenderApiSender, + webrender_document: DocumentId, external_images: Arc<Mutex<WebrenderExternalImageRegistry>>, wgpu_image_map: Arc<Mutex<HashMap<u64, PresentationData>>>, ) -> Option<(Self, IpcReceiver<WebGPUMsg>)> { @@ -342,8 +346,8 @@ struct WGPU<'a> { HashMap<id::BufferId, Rc<BufferMapInfo<'a, (Option<ErrorScopeId>, WebGPURequest)>>>, //TODO: Remove this (https://github.com/gfx-rs/wgpu/issues/867) error_command_encoders: RefCell<HashMap<id::CommandEncoderId, String>>, - webrender_api: webrender_api::RenderApi, - webrender_document: webrender_api::DocumentId, + webrender_api: RenderApi, + webrender_document: DocumentId, external_images: Arc<Mutex<WebrenderExternalImageRegistry>>, wgpu_image_map: Arc<Mutex<HashMap<u64, PresentationData>>>, last_poll: Instant, @@ -354,8 +358,8 @@ impl<'a> WGPU<'a> { receiver: IpcReceiver<(Option<ErrorScopeId>, WebGPURequest)>, sender: IpcSender<(Option<ErrorScopeId>, WebGPURequest)>, script_sender: IpcSender<WebGPUMsg>, - webrender_api_sender: webrender_api::RenderApiSender, - webrender_document: webrender_api::DocumentId, + webrender_api_sender: RenderApiSender, + webrender_document: DocumentId, external_images: Arc<Mutex<WebrenderExternalImageRegistry>>, wgpu_image_map: Arc<Mutex<HashMap<u64, PresentationData>>>, ) -> Self { @@ -769,7 +773,7 @@ impl<'a> WGPU<'a> { }, ); - let mut txn = webrender_api::Transaction::new(); + let mut txn = Transaction::new(); txn.add_image(image_key, image_desc, image_data, None); self.webrender_api .send_transaction(self.webrender_document, txn); @@ -841,7 +845,7 @@ impl<'a> WGPU<'a> { warn!("Unable to send FreeBuffer({:?}) ({:?})", *b_id, e); }; } - let mut txn = webrender_api::Transaction::new(); + let mut txn = Transaction::new(); txn.delete_image(image_key); self.webrender_api .send_transaction(self.webrender_document, txn); @@ -1191,12 +1195,12 @@ impl<'a> WGPU<'a> { self.wgpu_image_map.lock().unwrap().get_mut(&external_id) { present_data.data = data; - let mut txn = webrender_api::Transaction::new(); + let mut txn = Transaction::new(); txn.update_image( present_data.image_key, present_data.image_desc, present_data.image_data.clone(), - &webrender_api::DirtyRect::All, + &DirtyRect::All, ); self.webrender_api .send_transaction(self.webrender_document, txn); @@ -1372,7 +1376,7 @@ pub struct PresentationData { available_buffer_ids: ArrayVec<id::BufferId, PRESENTATION_BUFFER_COUNT>, queued_buffer_ids: ArrayVec<id::BufferId, PRESENTATION_BUFFER_COUNT>, buffer_stride: u32, - image_key: webrender_api::ImageKey, - image_desc: webrender_api::ImageDescriptor, - image_data: webrender_api::ImageData, + image_key: ImageKey, + image_desc: ImageDescriptor, + image_data: ImageData, } |