dawn-cmake/test/bug/tint
Ben Clayton e027e81bf2 writer/hlsl: Emit helper functions for storage class atomic intrinsics
By generating a helper function for these, we can keep the atomic expression pre-statement-free. This can help prevent for-loops from being transformed into while loops, which can upset FXC.

We can't do the same for workgroup storage atomics, as the InterlockedXXX() methods have the workgroup-storage expression as the first argument, and I'm not aware of any way to make a user-declared parameter be `groupshared`.

Change-Id: I8669127a58dc9cae95ce316523029064b5c9b5fa
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57462
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
2021-07-09 16:50:14 +00:00
..
221.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
221.wgsl.expected.hlsl writer/hlsl: Simplify emission logic, clean up output 2021-06-16 09:19:36 +00:00
221.wgsl.expected.msl writer/msl: Fix continuing block emission 2021-06-21 08:49:27 +00:00
221.wgsl.expected.spvasm transform/spirv: Use InlinePointerLets & Simplify 2021-06-10 17:34:44 +00:00
221.wgsl.expected.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
292.wgsl resolver: Reenable VS validation for returning position 2021-06-16 09:50:11 +00:00
292.wgsl.expected.hlsl resolver: Reenable VS validation for returning position 2021-06-16 09:50:11 +00:00
292.wgsl.expected.msl resolver: Reenable VS validation for returning position 2021-06-16 09:50:11 +00:00
292.wgsl.expected.spvasm resolver: Reenable VS validation for returning position 2021-06-16 09:50:11 +00:00
292.wgsl.expected.wgsl resolver: Reenable VS validation for returning position 2021-06-16 09:50:11 +00:00
294.wgsl Remove depreated APIs and WGSL 2021-07-06 10:20:19 +00:00
294.wgsl.expected.hlsl wgsl: Remove [[access]] and [[offset]] decorations 2021-06-16 09:19:36 +00:00
294.wgsl.expected.msl writer/msl: Use UniqueIdentifier() for padding field names 2021-06-30 16:01:40 +00:00
294.wgsl.expected.spvasm wgsl: Remove [[access]] and [[offset]] decorations 2021-06-16 09:19:36 +00:00
294.wgsl.expected.wgsl wgsl: Remove [[access]] and [[offset]] decorations 2021-06-16 09:19:36 +00:00
369.wgsl [test]: Add test case for tint:369 2021-07-08 12:00:31 +00:00
369.wgsl.expected.hlsl [test]: Add test case for tint:369 2021-07-08 12:00:31 +00:00
369.wgsl.expected.msl [test]: Add test case for tint:369 2021-07-08 12:00:31 +00:00
369.wgsl.expected.spvasm [test]: Add test case for tint:369 2021-07-08 12:00:31 +00:00
369.wgsl.expected.wgsl [test]: Add test case for tint:369 2021-07-08 12:00:31 +00:00
403.wgsl Remove depreated APIs and WGSL 2021-07-06 10:20:19 +00:00
403.wgsl.expected.hlsl writer/hlsl: Don't wrap arrays in structures 2021-07-05 15:20:57 +00:00
403.wgsl.expected.msl test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
403.wgsl.expected.spvasm validation: validate store type of builtin variables 2021-06-23 17:35:42 +00:00
403.wgsl.expected.wgsl validation: validate store type of builtin variables 2021-06-23 17:35:42 +00:00
413.spvasm test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
413.spvasm.expected.hlsl writer/hlsl: Emit for-loops where possible. 2021-07-02 22:17:25 +00:00
413.spvasm.expected.msl transform/msl: Run InlinePointerLets and Simplify 2021-06-18 09:47:23 +00:00
413.spvasm.expected.spvasm spirv-reader: switch to HLSL-style pipeline IO 2021-06-17 09:10:04 +00:00
413.spvasm.expected.wgsl spirv-reader: Set workgroup size, but not specializable 2021-06-17 22:40:43 +00:00
453.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
453.wgsl.expected.hlsl writer/hlsl: Emit for-loops where possible. 2021-07-02 22:17:25 +00:00
453.wgsl.expected.msl transform/msl: Run InlinePointerLets and Simplify 2021-06-18 09:47:23 +00:00
453.wgsl.expected.spvasm wgsl: Remove [[access]] and [[offset]] decorations 2021-06-16 09:19:36 +00:00
453.wgsl.expected.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
492.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
492.wgsl.expected.hlsl writer/hlsl: Simplify emission logic, clean up output 2021-06-16 09:19:36 +00:00
492.wgsl.expected.msl transform/msl: Run InlinePointerLets and Simplify 2021-06-18 09:47:23 +00:00
492.wgsl.expected.spvasm transform/spirv: Use InlinePointerLets & Simplify 2021-06-10 17:34:44 +00:00
492.wgsl.expected.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
534.wgsl Implement FXC workaround for vector access in loops resulting in failed loop unrolling 2021-06-29 22:07:44 +00:00
534.wgsl.expected.hlsl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
534.wgsl.expected.msl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
534.wgsl.expected.spvasm test: Add missing .expected files 2021-06-30 15:06:00 +00:00
534.wgsl.expected.wgsl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
744.wgsl wgsl: Deprecate [[access]] decorations 2021-06-04 20:41:47 +00:00
744.wgsl.expected.hlsl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
744.wgsl.expected.msl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
744.wgsl.expected.spvasm Add optional access to ptr<> 2021-06-04 22:17:37 +00:00
744.wgsl.expected.wgsl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
749.spvasm test: Move bug cases to sub-directories 2021-05-17 21:01:37 +00:00
749.spvasm.expected.hlsl writer/hlsl: Don't wrap arrays in structures 2021-07-05 15:20:57 +00:00
749.spvasm.expected.msl spirv-reader: flatten output matrix, array, struct 2021-06-29 14:38:56 +00:00
749.spvasm.expected.spvasm spirv-reader: flatten output matrix, array, struct 2021-06-29 14:38:56 +00:00
749.spvasm.expected.wgsl spirv-reader: flatten output matrix, array, struct 2021-06-29 14:38:56 +00:00
757.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
757.wgsl.expected.hlsl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
757.wgsl.expected.msl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
757.wgsl.expected.spvasm test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
757.wgsl.expected.wgsl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
764.wgsl test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
764.wgsl.expected.hlsl writer/hlsl: Simplify emission logic, clean up output 2021-06-16 09:19:36 +00:00
764.wgsl.expected.msl test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
764.wgsl.expected.spvasm test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
764.wgsl.expected.wgsl test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
782.wgsl test: Move bug cases to sub-directories 2021-05-17 21:01:37 +00:00
782.wgsl.expected.hlsl writer/hlsl: Don't wrap arrays in structures 2021-07-05 15:20:57 +00:00
782.wgsl.expected.msl Add transform/WrapArraysInStructs 2021-06-16 09:19:36 +00:00
782.wgsl.expected.spvasm test: Generate expected output for all tests 2021-05-18 09:24:18 +00:00
782.wgsl.expected.wgsl test: Generate expected output for all tests 2021-05-18 09:24:18 +00:00
804.spv test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
804.spv.expected.hlsl test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
804.spv.expected.msl test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
804.spv.expected.spvasm test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
804.spv.expected.wgsl test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
807.spv test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
807.spv.expected.hlsl test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
807.spv.expected.msl test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
807.spv.expected.spvasm test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
807.spv.expected.wgsl test: Add bug cases taken from monorail 2021-06-10 18:49:14 +00:00
824.wgsl transform: remove VarForDynamicIndex transform. 2021-06-16 17:42:53 +00:00
824.wgsl.expected.hlsl writer/hlsl: Don't wrap arrays in structures 2021-07-05 15:20:57 +00:00
824.wgsl.expected.msl transform: remove VarForDynamicIndex transform. 2021-06-16 17:42:53 +00:00
824.wgsl.expected.spvasm transform: remove VarForDynamicIndex transform. 2021-06-16 17:42:53 +00:00
824.wgsl.expected.wgsl transform: remove VarForDynamicIndex transform. 2021-06-16 17:42:53 +00:00
825.wgsl transform: remove VarForDynamicIndex transform. 2021-06-16 17:42:53 +00:00
825.wgsl.expected.hlsl transform: remove VarForDynamicIndex transform. 2021-06-16 17:42:53 +00:00
825.wgsl.expected.msl transform: remove VarForDynamicIndex transform. 2021-06-16 17:42:53 +00:00
825.wgsl.expected.spvasm transform: remove VarForDynamicIndex transform. 2021-06-16 17:42:53 +00:00
825.wgsl.expected.wgsl transform: remove VarForDynamicIndex transform. 2021-06-16 17:42:53 +00:00
827.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
827.wgsl.expected.hlsl writer/hlsl: Fix level packing for textureLoad() 2021-06-30 08:51:36 +00:00
827.wgsl.expected.msl spirv-reader: switch to HLSL-style pipeline IO 2021-06-17 09:10:04 +00:00
827.wgsl.expected.spvasm wgsl: Remove [[access]] and [[offset]] decorations 2021-06-16 09:19:36 +00:00
827.wgsl.expected.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
870.spvasm test: Add case for tint:870 2021-06-16 09:50:11 +00:00
870.spvasm.expected.hlsl writer/hlsl: Don't wrap arrays in structures 2021-07-05 15:20:57 +00:00
870.spvasm.expected.msl spirv-reader: switch to HLSL-style pipeline IO 2021-06-17 09:10:04 +00:00
870.spvasm.expected.spvasm spirv-reader: switch to HLSL-style pipeline IO 2021-06-17 09:10:04 +00:00
870.spvasm.expected.wgsl spirv-reader: switch to HLSL-style pipeline IO 2021-06-17 09:10:04 +00:00
913.wgsl writer/hlsl: Add missing parenthesis around UBO ternary op 2021-06-19 08:18:50 +00:00
913.wgsl.expected.hlsl writer/hlsl: Use unsigned indices for UBOs 2021-07-02 19:27:42 +00:00
913.wgsl.expected.msl writer/msl: Rework string printing 2021-06-28 15:30:57 +00:00
913.wgsl.expected.spvasm writer/hlsl: Add missing parenthesis around UBO ternary op 2021-06-19 08:18:50 +00:00
913.wgsl.expected.wgsl writer/hlsl: Add missing parenthesis around UBO ternary op 2021-06-19 08:18:50 +00:00
914.wgsl test: Add bug case for tint:914 2021-06-19 17:34:35 +00:00
914.wgsl.expected.hlsl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
914.wgsl.expected.msl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
914.wgsl.expected.spvasm test: Add bug case for tint:914 2021-06-19 17:34:35 +00:00
914.wgsl.expected.wgsl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
922.wgsl writer/spirv: Handle terminators in BlockStatements 2021-06-29 10:23:26 +00:00
922.wgsl.expected.hlsl writer/hlsl: Emit for-loops where possible. 2021-07-02 22:17:25 +00:00
922.wgsl.expected.msl writer/spirv: Handle terminators in BlockStatements 2021-06-29 10:23:26 +00:00
922.wgsl.expected.spvasm writer/spirv: Handle terminators in BlockStatements 2021-06-29 10:23:26 +00:00
922.wgsl.expected.wgsl writer/spirv: Handle terminators in BlockStatements 2021-06-29 10:23:26 +00:00
926.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
926.wgsl.expected.hlsl writer/hlsl: Emit helper functions for storage class atomic intrinsics 2021-07-09 16:50:14 +00:00
926.wgsl.expected.msl Update expected MSL for bug 926 E2E test 2021-07-05 15:56:32 +00:00
926.wgsl.expected.spvasm writer/spirv: Generate load of atomic value arguments 2021-06-24 19:01:06 +00:00
926.wgsl.expected.wgsl validation: compute shader must include 'workgroup_size' in its attributes 2021-06-29 18:39:44 +00:00
942.wgsl [hlsl] transform: Zero init arrays with a loop 2021-07-05 17:18:16 +00:00
942.wgsl.expected.hlsl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
942.wgsl.expected.msl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
942.wgsl.expected.spvasm [hlsl] transform: Zero init arrays with a loop 2021-07-05 17:18:16 +00:00
942.wgsl.expected.wgsl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
943.spvasm test: Add more reported bug cases 2021-07-02 22:17:25 +00:00
943.spvasm.expected.hlsl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
943.spvasm.expected.msl [writer/hlsl,msl] Correctly generate inf and nan literals 2021-07-06 09:43:49 +00:00
943.spvasm.expected.spvasm test: Add more reported bug cases 2021-07-02 22:17:25 +00:00
943.spvasm.expected.wgsl test: Add more reported bug cases 2021-07-02 22:17:25 +00:00
948.wgsl test: Add more reported bug cases 2021-07-02 22:17:25 +00:00
948.wgsl.expected.hlsl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
948.wgsl.expected.msl test: Add more reported bug cases 2021-07-02 22:17:25 +00:00
948.wgsl.expected.spvasm test: Add more reported bug cases 2021-07-02 22:17:25 +00:00
948.wgsl.expected.wgsl test: Add more reported bug cases 2021-07-02 22:17:25 +00:00
949.wgsl test: Add more reported bug cases 2021-07-02 22:17:25 +00:00
949.wgsl.expected.hlsl reader/wgsl: Generate ForLoopStatements 2021-07-08 21:23:33 +00:00
949.wgsl.expected.msl test: Add more reported bug cases 2021-07-02 22:17:25 +00:00
949.wgsl.expected.spirvcross.hlsl writer/hlsl: Emit for-loops where possible. 2021-07-02 22:17:25 +00:00
949.wgsl.expected.spvasm test: Add more reported bug cases 2021-07-02 22:17:25 +00:00
949.wgsl.expected.wgsl test: Add more reported bug cases 2021-07-02 22:17:25 +00:00
951.spvasm [writer/hlsl,msl] Correctly generate inf and nan literals 2021-07-06 09:43:49 +00:00
951.spvasm.expected.hlsl [writer/hlsl,msl] Correctly generate inf and nan literals 2021-07-06 09:43:49 +00:00
951.spvasm.expected.msl [writer/hlsl,msl] Correctly generate inf and nan literals 2021-07-06 09:43:49 +00:00
951.spvasm.expected.spvasm [writer/hlsl,msl] Correctly generate inf and nan literals 2021-07-06 09:43:49 +00:00
951.spvasm.expected.wgsl [writer/hlsl,msl] Correctly generate inf and nan literals 2021-07-06 09:43:49 +00:00