diff options
author | David Riley <davidriley@chromium.org> | 2018-05-17 17:03:13 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-07-30 23:08:03 -0700 |
commit | 4cbaeb7eaa2eea6581707b337775e614718cbf55 (patch) | |
tree | bbaca17540d6bd700aa9c243373ef07c41734f4e /devices/src/virtio/gpu/mod.rs | |
parent | af9d7edfb743e7f23f03f6500b382aef678dc7fb (diff) | |
download | crosvm-4cbaeb7eaa2eea6581707b337775e614718cbf55.tar crosvm-4cbaeb7eaa2eea6581707b337775e614718cbf55.tar.gz crosvm-4cbaeb7eaa2eea6581707b337775e614718cbf55.tar.bz2 crosvm-4cbaeb7eaa2eea6581707b337775e614718cbf55.tar.lz crosvm-4cbaeb7eaa2eea6581707b337775e614718cbf55.tar.xz crosvm-4cbaeb7eaa2eea6581707b337775e614718cbf55.tar.zst crosvm-4cbaeb7eaa2eea6581707b337775e614718cbf55.zip |
gpu: make process_descriptor return Option
In preparation of adding fence support, allow process_descriptor to defer returning the descriptor until later by returning None. BUG=None TEST=build with --features=gpu; null_platform_test Change-Id: I57e4dc438e7f5a925c870e0bd596f89a2ed4e083 Reviewed-on: https://chromium-review.googlesource.com/1073957 Commit-Ready: David Riley <davidriley@chromium.org> Tested-by: David Riley <davidriley@chromium.org> Reviewed-by: David Riley <davidriley@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org>
Diffstat (limited to 'devices/src/virtio/gpu/mod.rs')
-rw-r--r-- | devices/src/virtio/gpu/mod.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/devices/src/virtio/gpu/mod.rs b/devices/src/virtio/gpu/mod.rs index e5511fb..2b223fc 100644 --- a/devices/src/virtio/gpu/mod.rs +++ b/devices/src/virtio/gpu/mod.rs @@ -338,7 +338,9 @@ impl Frontend { &mut self.return_cursor_descriptors); } - fn process_descriptor(&mut self, mem: &GuestMemory, desc: QueueDescriptor) -> ReturnDescriptor { + fn process_descriptor(&mut self, + mem: &GuestMemory, + desc: QueueDescriptor) -> Option<ReturnDescriptor> { let mut resp = GpuResponse::ErrUnspec; let mut gpu_cmd = None; let mut len = 0; @@ -384,10 +386,10 @@ impl Frontend { } } } - ReturnDescriptor { + Some(ReturnDescriptor { index: desc.index, len, - } + }) } fn process_ctrl(&mut self, mem: &GuestMemory) -> Option<ReturnDescriptor> { @@ -396,7 +398,7 @@ impl Frontend { .or_else(|| { self.ctrl_descriptors .pop_front() - .map(|desc| self.process_descriptor(mem, desc)) + .and_then(|desc| self.process_descriptor(mem, desc)) }) } @@ -406,7 +408,7 @@ impl Frontend { .or_else(|| { self.cursor_descriptors .pop_front() - .map(|desc| self.process_descriptor(mem, desc)) + .and_then(|desc| self.process_descriptor(mem, desc)) }) } } |