Bug 261901
| Summary: | [WGSL] Support Synchronization Built-in Functions | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Mike Wyrzykowski <mwyrzykowski> |
| Component: | WebGPU | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Mike Wyrzykowski
[WGSL] Support Synchronization Built-in Functions - https://www.w3.org/TR/WGSL/#sync-builtin-functions
First two are easy: [WGSL] => [MSL] mapping
* storageBarrier => threadgroup_barrier(mem_flags::mem_device)
* workgroupBarrier => threadgroup_barrier(mem_flags::mem_threadgroup)
Last one expands to this I think
* workgroupUniformLoad =>
uint metalWorkgroupUniformLoad(threadgroup T* const p)
{
threadgroup_barrier(mem_flags::mem_threadgroup);
const T result = *p;
threadgroup_barrier(mem_flags::mem_threadgroup);
return result;
}
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/115855666>