mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
upgrade wgpu to v0.6
This commit is contained in:
parent
669b16f2c0
commit
e1bfc7aa0d
5 changed files with 125 additions and 41 deletions
|
@ -292,6 +292,7 @@ impl GPUCommandEncoderMethods for GPUCommandEncoder {
|
|||
size: GPUSize64,
|
||||
) {
|
||||
let scope_id = self.device.use_current_scope();
|
||||
println!("CopyBufferToBuffer scope_id {:?}", scope_id);
|
||||
|
||||
if !(*self.state.borrow() == GPUCommandEncoderState::Open) {
|
||||
self.device.handle_server_msg(
|
||||
|
|
|
@ -178,6 +178,7 @@ impl GPUDevice {
|
|||
}
|
||||
|
||||
pub fn handle_server_msg(&self, scope: Option<ErrorScopeId>, result: WebGPUOpResult) {
|
||||
println!("handle_server_msg {:?}, {:?}", scope, result);
|
||||
let result = match result {
|
||||
WebGPUOpResult::Success => Ok(()),
|
||||
WebGPUOpResult::ValidationError(m) => {
|
||||
|
@ -221,6 +222,7 @@ impl GPUDevice {
|
|||
}
|
||||
|
||||
fn handle_error(&self, scope: ErrorScopeId, error: GPUError) {
|
||||
println!("handle_error {}", scope);
|
||||
let mut context = self.scope_context.borrow_mut();
|
||||
if let Some(mut err_scope) = context.error_scopes.get_mut(&scope) {
|
||||
if err_scope.error.is_none() {
|
||||
|
@ -232,6 +234,7 @@ impl GPUDevice {
|
|||
}
|
||||
|
||||
fn try_remove_scope(&self, scope: ErrorScopeId) {
|
||||
println!("try_remove_scope {}", scope);
|
||||
let mut context = self.scope_context.borrow_mut();
|
||||
let remove = if let Some(mut err_scope) = context.error_scopes.get_mut(&scope) {
|
||||
err_scope.op_count -= 1;
|
||||
|
@ -250,6 +253,7 @@ impl GPUDevice {
|
|||
false
|
||||
};
|
||||
if remove {
|
||||
println!("remove {}", scope);
|
||||
let _ = context.error_scopes.remove(&scope);
|
||||
context.scope_stack.retain(|meta| meta.id != scope);
|
||||
}
|
||||
|
@ -370,6 +374,7 @@ impl GPUDeviceMethods for GPUDevice {
|
|||
.create_buffer_id(self.device.0.backend());
|
||||
|
||||
let scope_id = self.use_current_scope();
|
||||
println!("CreateBuffer scope {:?}", scope_id);
|
||||
if desc.is_none() {
|
||||
self.handle_server_msg(
|
||||
scope_id,
|
||||
|
@ -1088,6 +1093,7 @@ impl GPUDeviceMethods for GPUDevice {
|
|||
fn PushErrorScope(&self, filter: GPUErrorFilter) {
|
||||
let mut context = self.scope_context.borrow_mut();
|
||||
let scope_id = context.next_scope_id;
|
||||
println!("PushErrorScope {}", scope_id);
|
||||
context.next_scope_id = ErrorScopeId::new(scope_id.get() + 1).unwrap();
|
||||
let err_scope = ErrorScopeInfo {
|
||||
op_count: 0,
|
||||
|
@ -1115,6 +1121,7 @@ impl GPUDeviceMethods for GPUDevice {
|
|||
promise.reject_error(Error::Operation);
|
||||
return promise;
|
||||
};
|
||||
println!("PopErrorScope {}", scope_id);
|
||||
let remove = if let Some(mut err_scope) = context.error_scopes.get_mut(&scope_id) {
|
||||
if let Some(ref e) = err_scope.error {
|
||||
promise.resolve_native(e);
|
||||
|
@ -1128,6 +1135,7 @@ impl GPUDeviceMethods for GPUDevice {
|
|||
false
|
||||
};
|
||||
if remove {
|
||||
println!("PopErrorScope remove {}", scope_id);
|
||||
let _ = context.error_scopes.remove(&scope_id);
|
||||
context.scope_stack.retain(|meta| meta.id != scope_id);
|
||||
}
|
||||
|
|
|
@ -22,5 +22,5 @@ servo_config = { path = "../config" }
|
|||
smallvec = { version = "0.6", features = ["serde"] }
|
||||
webrender_api = { git = "https://github.com/servo/webrender" }
|
||||
webrender_traits = { path = "../webrender_traits" }
|
||||
wgpu-core = { version = "0.5.0", git = "https://github.com/gfx-rs/wgpu", features = ["replay", "trace", "serial-pass"] }
|
||||
wgpu-types = { version = "0.5.0", git = "https://github.com/gfx-rs/wgpu", features = ["replay", "trace"] }
|
||||
wgpu-core = { version = "0.6.0", git = "https://github.com/gfx-rs/wgpu", features = ["replay", "trace", "serial-pass"] }
|
||||
wgpu-types = { version = "0.6.0", git = "https://github.com/gfx-rs/wgpu", features = ["replay", "trace"] }
|
||||
|
|
|
@ -496,6 +496,7 @@ impl<'a> WGPU<'a> {
|
|||
destination_offset,
|
||||
size
|
||||
));
|
||||
println!("CopyBufferToBuffer result {:?}", result);
|
||||
self.send_result(device_id, scope_id, result);
|
||||
},
|
||||
WebGPURequest::CopyBufferToTexture {
|
||||
|
@ -593,6 +594,7 @@ impl<'a> WGPU<'a> {
|
|||
self.send_result(device_id, scope_id, result);
|
||||
} else {
|
||||
let _ = gfx_select!(buffer_id => global.buffer_error(buffer_id));
|
||||
println!("CreateBuffer error {:?}", buffer_id);
|
||||
}
|
||||
},
|
||||
WebGPURequest::CreateCommandEncoder {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue