Peng Huang | c00ff7f | 2023-03-31 17:55:19 +0000 | [diff] [blame] | 1 | RWByteAddressBuffer ssbo : register(u0); |
Ben Clayton | 97668c8 | 2021-07-27 08:17:29 +0000 | [diff] [blame] | 2 | |
Ben Clayton | 1a1b527 | 2023-02-24 17:16:55 +0000 | [diff] [blame] | 3 | float2x2 ssbo_load(uint offset) { |
| 4 | return float2x2(asfloat(ssbo.Load2((offset + 0u))), asfloat(ssbo.Load2((offset + 8u)))); |
Ben Clayton | 97668c8 | 2021-07-27 08:17:29 +0000 | [diff] [blame] | 5 | } |
| 6 | |
Ben Clayton | 1a1b527 | 2023-02-24 17:16:55 +0000 | [diff] [blame] | 7 | void ssbo_store(uint offset, float2x2 value) { |
| 8 | ssbo.Store2((offset + 0u), asuint(value[0u])); |
| 9 | ssbo.Store2((offset + 8u), asuint(value[1u])); |
Ben Clayton | 97668c8 | 2021-07-27 08:17:29 +0000 | [diff] [blame] | 10 | } |
| 11 | |
| 12 | [numthreads(1, 1, 1)] |
| 13 | void f() { |
Antonio Maiorano | 144ebed | 2024-01-30 16:30:15 +0000 | [diff] [blame] | 14 | float2x2 v = ssbo_load(0u); |
Ben Clayton | 1a1b527 | 2023-02-24 17:16:55 +0000 | [diff] [blame] | 15 | ssbo_store(0u, v); |
Ben Clayton | 97668c8 | 2021-07-27 08:17:29 +0000 | [diff] [blame] | 16 | return; |
| 17 | } |