diff options
Diffstat (limited to 'dom/webgpu/tests/cts/checkout/src/webgpu/shader/execution/expression/call/builtin/workgroupBarrier.spec.ts')
-rw-r--r-- | dom/webgpu/tests/cts/checkout/src/webgpu/shader/execution/expression/call/builtin/workgroupBarrier.spec.ts | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/shader/execution/expression/call/builtin/workgroupBarrier.spec.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/shader/execution/expression/call/builtin/workgroupBarrier.spec.ts new file mode 100644 index 0000000000..74e0f12325 --- /dev/null +++ b/dom/webgpu/tests/cts/checkout/src/webgpu/shader/execution/expression/call/builtin/workgroupBarrier.spec.ts @@ -0,0 +1,38 @@ +export const description = ` +'workgroupBarrier' affects memory and atomic operations in the workgroup address space. + +All synchronization functions execute a control barrier with Acquire/Release memory ordering. +That is, all synchronization functions, and affected memory and atomic operations are ordered +in program order relative to the synchronization function. Additionally, the affected memory +and atomic operations program-ordered before the synchronization function must be visible to +all other threads in the workgroup before any affected memory or atomic operation program-ordered +after the synchronization function is executed by a member of the workgroup. All synchronization +functions use the Workgroup memory scope. All synchronization functions have a Workgroup +execution scope. + +All synchronization functions must only be used in the compute shader stage. +`; + +import { makeTestGroup } from '../../../../../../common/framework/test_group.js'; +import { GPUTest } from '../../../../../gpu_test.js'; + +export const g = makeTestGroup(GPUTest); + +g.test('stage') + .specURL('https://www.w3.org/TR/WGSL/#sync-builtin-functions') + .desc( + ` +All synchronization functions must only be used in the compute shader stage. +` + ) + .params(u => u.combine('stage', ['vertex', 'fragment', 'compute'] as const)) + .unimplemented(); + +g.test('barrier') + .specURL('https://www.w3.org/TR/WGSL/#sync-builtin-functions') + .desc( + ` +fn workgroupBarrier() +` + ) + .unimplemented(); |