mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Change ErrorScopeId type to NonZeroU64
And extract it from WebGPURequest
This commit is contained in:
parent
8eff1d74de
commit
ce6e09a3aa
17 changed files with 277 additions and 250 deletions
|
@ -146,15 +146,19 @@ impl GPUBufferMethods for GPUBuffer {
|
|||
let mut info = self.map_info.borrow_mut();
|
||||
let m_info = info.as_mut().unwrap();
|
||||
let m_range = m_info.mapping_range.clone();
|
||||
if let Err(e) = self.channel.0.send(WebGPURequest::UnmapBuffer {
|
||||
buffer_id: self.id().0,
|
||||
device_id: self.device.id().0,
|
||||
scope_id: self.device.use_current_scope(),
|
||||
array_buffer: IpcSharedMemory::from_bytes(m_info.mapping.borrow().as_slice()),
|
||||
is_map_read: m_info.map_mode == Some(GPUMapModeConstants::READ),
|
||||
offset: m_range.start,
|
||||
size: m_range.end - m_range.start,
|
||||
}) {
|
||||
if let Err(e) = self.channel.0.send((
|
||||
self.device.use_current_scope(),
|
||||
WebGPURequest::UnmapBuffer {
|
||||
buffer_id: self.id().0,
|
||||
device_id: self.device.id().0,
|
||||
array_buffer: IpcSharedMemory::from_bytes(
|
||||
m_info.mapping.borrow().as_slice(),
|
||||
),
|
||||
is_map_read: m_info.map_mode == Some(GPUMapModeConstants::READ),
|
||||
offset: m_range.start,
|
||||
size: m_range.end - m_range.start,
|
||||
},
|
||||
)) {
|
||||
warn!("Failed to send Buffer unmap ({:?}) ({})", self.buffer.0, e);
|
||||
}
|
||||
// Step 3.3
|
||||
|
@ -185,7 +189,7 @@ impl GPUBufferMethods for GPUBuffer {
|
|||
if let Err(e) = self
|
||||
.channel
|
||||
.0
|
||||
.send(WebGPURequest::DestroyBuffer(self.buffer.0))
|
||||
.send((None, WebGPURequest::DestroyBuffer(self.buffer.0)))
|
||||
{
|
||||
warn!(
|
||||
"Failed to send WebGPURequest::DestroyBuffer({:?}) ({})",
|
||||
|
@ -238,14 +242,16 @@ impl GPUBufferMethods for GPUBuffer {
|
|||
let map_range = offset..offset + range_size;
|
||||
|
||||
let sender = response_async(&promise, self);
|
||||
if let Err(e) = self.channel.0.send(WebGPURequest::BufferMapAsync {
|
||||
sender,
|
||||
buffer_id: self.buffer.0,
|
||||
device_id: self.device.id().0,
|
||||
if let Err(e) = self.channel.0.send((
|
||||
scope_id,
|
||||
host_map,
|
||||
map_range: map_range.clone(),
|
||||
}) {
|
||||
WebGPURequest::BufferMapAsync {
|
||||
sender,
|
||||
buffer_id: self.buffer.0,
|
||||
device_id: self.device.id().0,
|
||||
host_map,
|
||||
map_range: map_range.clone(),
|
||||
},
|
||||
)) {
|
||||
warn!(
|
||||
"Failed to send BufferMapAsync ({:?}) ({})",
|
||||
self.buffer.0, e
|
||||
|
@ -360,7 +366,7 @@ impl AsyncWGPUListener for GPUBuffer {
|
|||
if let Err(e) = self
|
||||
.channel
|
||||
.0
|
||||
.send(WebGPURequest::BufferMapComplete(self.buffer.0))
|
||||
.send((None, WebGPURequest::BufferMapComplete(self.buffer.0)))
|
||||
{
|
||||
warn!(
|
||||
"Failed to send BufferMapComplete({:?}) ({})",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue