aboutsummaryrefslogtreecommitdiffstats
path: root/components/webgpu/script_messages.rs
diff options
context:
space:
mode:
authorSamson <16504129+sagudev@users.noreply.github.com>2024-06-28 06:49:35 +0200
committerGitHub <noreply@github.com>2024-06-28 04:49:35 +0000
commite9cf4d4971c0ce8ec64da7f09d6e97ae10be5b05 (patch)
treefb9f0179cfe93744118835c3a34edc8c19672a3e /components/webgpu/script_messages.rs
parentfced0b49404c02bb5aafa9ddd468f9077ce26c19 (diff)
downloadservo-e9cf4d4971c0ce8ec64da7f09d6e97ae10be5b05.tar.gz
servo-e9cf4d4971c0ce8ec64da7f09d6e97ae10be5b05.zip
webgpu: Update wgpu and revamp computepass (#32575)
* Do not wait on drop, but rather wake poller thread * Update wgpu and render stuff * Set some good expectations * Update wgpu again * handle IPC error as warning * More good expectations * Some more expectations CTS does not match the spec: https://github.com/gpuweb/cts/issues/3806 * This expectations are due to other changes in servo also happening on main * Explain error_command_encoders and remove RefCell around it * fixup * store validness of passes * More good expectations * More docs * this assert is wrong * This is even more right per CTS/spec Only Command encoder state errors are allowed here, but wgpu does not exposes them. * More good expectations * One bad expectation * Fix my english
Diffstat (limited to 'components/webgpu/script_messages.rs')
-rw-r--r--components/webgpu/script_messages.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/components/webgpu/script_messages.rs b/components/webgpu/script_messages.rs
index 15fe198386d..774bfd6cb7c 100644
--- a/components/webgpu/script_messages.rs
+++ b/components/webgpu/script_messages.rs
@@ -10,9 +10,9 @@ use serde::{Deserialize, Serialize};
use crate::gpu_error::Error;
use crate::identity::WebGPUDevice;
use crate::wgc::id::{
- AdapterId, BindGroupId, BindGroupLayoutId, BufferId, CommandBufferId, ComputePipelineId,
- DeviceId, PipelineLayoutId, QuerySetId, RenderBundleId, RenderPipelineId, SamplerId,
- ShaderModuleId, StagingBufferId, SurfaceId, TextureId, TextureViewId,
+ AdapterId, BindGroupId, BindGroupLayoutId, BufferId, CommandBufferId, ComputePassEncoderId,
+ ComputePipelineId, DeviceId, PipelineLayoutId, QuerySetId, RenderBundleId, RenderPipelineId,
+ SamplerId, ShaderModuleId, StagingBufferId, SurfaceId, TextureId, TextureViewId,
};
/// <https://gpuweb.github.io/gpuweb/#enumdef-gpudevicelostreason>
@@ -44,6 +44,7 @@ pub enum WebGPUMsg {
FreeRenderBundle(RenderBundleId),
FreeStagingBuffer(StagingBufferId),
FreeQuerySet(QuerySetId),
+ FreeComputePass(ComputePassEncoderId),
UncapturedError {
device: WebGPUDevice,
pipeline_id: PipelineId,