diff --git a/src/webgpu/shader/execution/expression/expression.ts b/src/webgpu/shader/execution/expression/expression.ts index f486723baf56..e50767601750 100644 --- a/src/webgpu/shader/execution/expression/expression.ts +++ b/src/webgpu/shader/execution/expression/expression.ts @@ -430,7 +430,17 @@ export async function run( } batchesInFlight += 1; - pendingBatches.push(processBatch(batchCases).finally(batchFinishedCallback)); + pendingBatches.push( + processBatch(batchCases) + .catch(err => { + if (err instanceof GPUPipelineError) { + t.fail(`Pipeline Creation Error, ${err.reason}: ${err.message}`); + } else { + throw err; + } + }) + .finally(batchFinishedCallback) + ); } await Promise.all(pendingBatches);