WebGPU: always send exit message to script before exiting (#30989)

* webgpu: always send exit message to script before exiting

* Update expectations

---------

Co-authored-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
Gregory Terzian 2024-01-04 01:19:50 +08:00 committed by GitHub
parent 65cbc95d38
commit f44ff83c20
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 334 additions and 10 deletions

View file

@ -831,13 +831,10 @@ impl<'a> WGPU<'a> {
gfx_select!(texture => global.texture_drop(texture, true));
},
WebGPURequest::Exit(sender) => {
if let Err(e) = self.script_sender.send(WebGPUMsg::Exit) {
warn!("Failed to send WebGPUMsg::Exit to script ({})", e);
}
if let Err(e) = sender.send(()) {
warn!("Failed to send response to WebGPURequest::Exit ({})", e)
}
return;
break;
},
WebGPURequest::FreeCommandBuffer(command_buffer_id) => {
self.error_command_encoders
@ -888,7 +885,7 @@ impl<'a> WGPU<'a> {
e
)
}
return;
break;
},
};
let adapter = WebGPUAdapter(adapter_id);
@ -943,7 +940,7 @@ impl<'a> WGPU<'a> {
w
)
}
return;
break;
},
};
let device = WebGPUDevice(id);
@ -1249,6 +1246,9 @@ impl<'a> WGPU<'a> {
}
}
}
if let Err(e) = self.script_sender.send(WebGPUMsg::Exit) {
warn!("Failed to send WebGPUMsg::Exit to script ({})", e);
}
}
fn send_result<U, T: std::fmt::Debug>(

View file

@ -1694,7 +1694,31 @@
expected: CRASH
[cts.https.html?q=webgpu:api,operation,adapter,requestDevice:features,known:*]
expected: CRASH
expected: TIMEOUT
[:feature="bgra8unorm-storage"]
expected: [FAIL, TIMEOUT, NOTRUN]
[:feature="texture-compression-etc2"]
expected: [FAIL, TIMEOUT, NOTRUN]
[:feature="texture-compression-astc"]
expected: [FAIL, TIMEOUT, NOTRUN]
[:feature="timestamp-query"]
expected: [FAIL, TIMEOUT, NOTRUN]
[:feature="indirect-first-instance"]
expected: [FAIL, TIMEOUT, NOTRUN]
[:feature="shader-f16"]
expected: [FAIL, TIMEOUT, NOTRUN]
[:feature="rg11b10ufloat-renderable"]
expected: [FAIL, TIMEOUT, NOTRUN]
[:feature="float32-filterable"]
expected: [FAIL, TIMEOUT, NOTRUN]
[cts.https.html?q=webgpu:api,validation,state,device_lost,destroy:command,renderPass,renderBundle:*]
expected: TIMEOUT
@ -26363,7 +26387,115 @@
expected: CRASH
[cts.https.html?q=webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createBindGroupLayout,at_over:*]
expected: CRASH
expected: [CRASH, TIMEOUT]
[:limitTest="underDefault";testValueName="atLimit";visibility=2;order="forward"]
expected: FAIL
[:limitTest="underDefault";testValueName="atLimit";visibility=2;order="backward"]
expected: FAIL
[:limitTest="underDefault";testValueName="atLimit";visibility=2;order="shiftByHalf"]
expected: FAIL
[:limitTest="underDefault";testValueName="atLimit";visibility=4;order="forward"]
expected: FAIL
[:limitTest="underDefault";testValueName="atLimit";visibility=4;order="backward"]
expected: FAIL
[:limitTest="underDefault";testValueName="atLimit";visibility=4;order="shiftByHalf"]
expected: FAIL
[:limitTest="underDefault";testValueName="atLimit";visibility=6;order="forward"]
expected: FAIL
[:limitTest="underDefault";testValueName="atLimit";visibility=6;order="backward"]
expected: FAIL
[:limitTest="underDefault";testValueName="atLimit";visibility=6;order="shiftByHalf"]
expected: FAIL
[:limitTest="underDefault";testValueName="overLimit";visibility=2;order="forward"]
expected: FAIL
[:limitTest="underDefault";testValueName="overLimit";visibility=2;order="backward"]
expected: FAIL
[:limitTest="underDefault";testValueName="overLimit";visibility=2;order="shiftByHalf"]
expected: FAIL
[:limitTest="underDefault";testValueName="overLimit";visibility=4;order="forward"]
expected: FAIL
[:limitTest="underDefault";testValueName="overLimit";visibility=4;order="backward"]
expected: FAIL
[:limitTest="underDefault";testValueName="overLimit";visibility=4;order="shiftByHalf"]
expected: FAIL
[:limitTest="underDefault";testValueName="overLimit";visibility=6;order="forward"]
expected: FAIL
[:limitTest="underDefault";testValueName="overLimit";visibility=6;order="backward"]
expected: [FAIL, TIMEOUT, NOTRUN]
[:limitTest="underDefault";testValueName="overLimit";visibility=6;order="shiftByHalf"]
expected: [FAIL, TIMEOUT, NOTRUN]
[:limitTest="overMaximum";testValueName="atLimit";visibility=2;order="forward"]
expected: [FAIL, TIMEOUT, NOTRUN]
[:limitTest="overMaximum";testValueName="atLimit";visibility=2;order="backward"]
expected: [FAIL, TIMEOUT, NOTRUN]
[:limitTest="overMaximum";testValueName="atLimit";visibility=2;order="shiftByHalf"]
expected: [FAIL, TIMEOUT, NOTRUN]
[:limitTest="overMaximum";testValueName="atLimit";visibility=4;order="forward"]
expected: [FAIL, TIMEOUT, NOTRUN]
[:limitTest="overMaximum";testValueName="atLimit";visibility=4;order="backward"]
expected: [FAIL, TIMEOUT, NOTRUN]
[:limitTest="overMaximum";testValueName="atLimit";visibility=4;order="shiftByHalf"]
expected: NOTRUN
[:limitTest="overMaximum";testValueName="atLimit";visibility=6;order="forward"]
expected: NOTRUN
[:limitTest="overMaximum";testValueName="atLimit";visibility=6;order="backward"]
expected: NOTRUN
[:limitTest="overMaximum";testValueName="atLimit";visibility=6;order="shiftByHalf"]
expected: NOTRUN
[:limitTest="overMaximum";testValueName="overLimit";visibility=2;order="forward"]
expected: NOTRUN
[:limitTest="overMaximum";testValueName="overLimit";visibility=2;order="backward"]
expected: NOTRUN
[:limitTest="overMaximum";testValueName="overLimit";visibility=2;order="shiftByHalf"]
expected: NOTRUN
[:limitTest="overMaximum";testValueName="overLimit";visibility=4;order="forward"]
expected: NOTRUN
[:limitTest="overMaximum";testValueName="overLimit";visibility=4;order="backward"]
expected: NOTRUN
[:limitTest="overMaximum";testValueName="overLimit";visibility=4;order="shiftByHalf"]
expected: NOTRUN
[:limitTest="overMaximum";testValueName="overLimit";visibility=6;order="forward"]
expected: NOTRUN
[:limitTest="overMaximum";testValueName="overLimit";visibility=6;order="backward"]
expected: NOTRUN
[:limitTest="overMaximum";testValueName="overLimit";visibility=6;order="shiftByHalf"]
expected: NOTRUN
[cts.https.html?q=webgpu:shader,execution,expression,call,builtin,abs:u32:*]
expected: CRASH
@ -31605,7 +31737,103 @@
expected: CRASH
[cts.https.html?q=webgpu:api,operation,adapter,requestDevice:limit,out_of_range:*]
expected: CRASH
expected: TIMEOUT
[:limit="maxTextureDimension1D"]
expected: TIMEOUT
[:limit="maxTextureDimension2D"]
expected: NOTRUN
[:limit="maxTextureDimension3D"]
expected: NOTRUN
[:limit="maxTextureArrayLayers"]
expected: NOTRUN
[:limit="maxBindGroups"]
expected: NOTRUN
[:limit="maxBindGroupsPlusVertexBuffers"]
expected: NOTRUN
[:limit="maxBindingsPerBindGroup"]
expected: NOTRUN
[:limit="maxDynamicUniformBuffersPerPipelineLayout"]
expected: NOTRUN
[:limit="maxDynamicStorageBuffersPerPipelineLayout"]
expected: NOTRUN
[:limit="maxSampledTexturesPerShaderStage"]
expected: NOTRUN
[:limit="maxSamplersPerShaderStage"]
expected: NOTRUN
[:limit="maxStorageBuffersPerShaderStage"]
expected: NOTRUN
[:limit="maxStorageTexturesPerShaderStage"]
expected: NOTRUN
[:limit="maxUniformBuffersPerShaderStage"]
expected: NOTRUN
[:limit="maxUniformBufferBindingSize"]
expected: NOTRUN
[:limit="maxStorageBufferBindingSize"]
expected: NOTRUN
[:limit="minUniformBufferOffsetAlignment"]
expected: NOTRUN
[:limit="minStorageBufferOffsetAlignment"]
expected: NOTRUN
[:limit="maxVertexBuffers"]
expected: NOTRUN
[:limit="maxBufferSize"]
expected: NOTRUN
[:limit="maxVertexAttributes"]
expected: NOTRUN
[:limit="maxVertexBufferArrayStride"]
expected: NOTRUN
[:limit="maxInterStageShaderComponents"]
expected: NOTRUN
[:limit="maxInterStageShaderVariables"]
expected: NOTRUN
[:limit="maxColorAttachments"]
expected: NOTRUN
[:limit="maxColorAttachmentBytesPerSample"]
expected: NOTRUN
[:limit="maxComputeWorkgroupStorageSize"]
expected: NOTRUN
[:limit="maxComputeInvocationsPerWorkgroup"]
expected: NOTRUN
[:limit="maxComputeWorkgroupSizeX"]
expected: NOTRUN
[:limit="maxComputeWorkgroupSizeY"]
expected: NOTRUN
[:limit="maxComputeWorkgroupSizeZ"]
expected: NOTRUN
[:limit="maxComputeWorkgroupsPerDimension"]
expected: NOTRUN
[cts.https.html?q=webgpu:api,validation,createView:aspect:*]
[:format="rgb10a2uint";aspect="all"]
@ -35881,7 +36109,103 @@
[cts.https.html?q=webgpu:api,operation,adapter,requestDevice:limit,better_than_supported:*]
expected: CRASH
expected: TIMEOUT
[:limit="maxTextureDimension3D"]
expected: NOTRUN
[:limit="maxTextureArrayLayers"]
expected: NOTRUN
[:limit="maxBindGroups"]
expected: NOTRUN
[:limit="maxBindGroupsPlusVertexBuffers"]
expected: NOTRUN
[:limit="maxBindingsPerBindGroup"]
expected: NOTRUN
[:limit="maxDynamicUniformBuffersPerPipelineLayout"]
expected: NOTRUN
[:limit="maxDynamicStorageBuffersPerPipelineLayout"]
expected: NOTRUN
[:limit="maxSampledTexturesPerShaderStage"]
expected: NOTRUN
[:limit="maxSamplersPerShaderStage"]
expected: NOTRUN
[:limit="maxStorageBuffersPerShaderStage"]
expected: NOTRUN
[:limit="maxStorageTexturesPerShaderStage"]
expected: NOTRUN
[:limit="maxUniformBuffersPerShaderStage"]
expected: NOTRUN
[:limit="maxUniformBufferBindingSize"]
expected: NOTRUN
[:limit="maxStorageBufferBindingSize"]
expected: NOTRUN
[:limit="minUniformBufferOffsetAlignment"]
expected: NOTRUN
[:limit="minStorageBufferOffsetAlignment"]
expected: NOTRUN
[:limit="maxVertexBuffers"]
expected: NOTRUN
[:limit="maxBufferSize"]
expected: NOTRUN
[:limit="maxVertexAttributes"]
expected: NOTRUN
[:limit="maxVertexBufferArrayStride"]
expected: NOTRUN
[:limit="maxInterStageShaderComponents"]
expected: NOTRUN
[:limit="maxInterStageShaderVariables"]
expected: NOTRUN
[:limit="maxColorAttachments"]
expected: NOTRUN
[:limit="maxColorAttachmentBytesPerSample"]
expected: NOTRUN
[:limit="maxComputeWorkgroupStorageSize"]
expected: NOTRUN
[:limit="maxComputeInvocationsPerWorkgroup"]
expected: NOTRUN
[:limit="maxComputeWorkgroupSizeX"]
expected: NOTRUN
[:limit="maxComputeWorkgroupSizeY"]
expected: NOTRUN
[:limit="maxComputeWorkgroupSizeZ"]
expected: NOTRUN
[:limit="maxComputeWorkgroupsPerDimension"]
expected: NOTRUN
[:limit="maxTextureDimension1D"]
expected: [PASS, TIMEOUT, NOTRUN]
[:limit="maxTextureDimension2D"]
expected: [PASS, TIMEOUT, NOTRUN]
[cts.https.html?q=webgpu:shader,validation,shader_io,locations:type:*]
expected: CRASH