mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-09 05:27:49 +00:00
storageBarrier() has workgroup memory scope
The storageBarrier() builtin causes flushes to be visible to all invocations within a workgroup, not the whole device. The limitation is inherited from Metal. Fixes: tint:1310 Change-Id: I6f94faa88bd3c7b6cec0601312c6c65a907c5973 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/69800 Auto-Submit: David Neto <dneto@google.com> Commit-Queue: Ben Clayton <bclayton@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Ben Clayton <bclayton@google.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
; SPIR-V
|
||||
; Version: 1.3
|
||||
; Generator: Google Tint Compiler; 0
|
||||
; Bound: 13
|
||||
; Bound: 12
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
@@ -13,15 +13,14 @@
|
||||
%1 = OpTypeFunction %void
|
||||
%uint = OpTypeInt 32 0
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%uint_1 = OpConstant %uint 1
|
||||
%uint_72 = OpConstant %uint 72
|
||||
%storageBarrier_d87211 = OpFunction %void None %1
|
||||
%4 = OpLabel
|
||||
OpControlBarrier %uint_2 %uint_1 %uint_72
|
||||
OpControlBarrier %uint_2 %uint_2 %uint_72
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%compute_main = OpFunction %void None %1
|
||||
%11 = OpLabel
|
||||
%12 = OpFunctionCall %void %storageBarrier_d87211
|
||||
%10 = OpLabel
|
||||
%11 = OpFunctionCall %void %storageBarrier_d87211
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
Reference in New Issue
Block a user