| 
									
										
										
										
											2024-02-26 14:31:54 +10:00
										 |  |  | [require] | 
					
						
							|  |  |  | shader model >= 5.0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [uav 1] | 
					
						
							| 
									
										
										
										
											2024-08-01 21:03:46 -04:00
										 |  |  | format r32-typeless | 
					
						
							| 
									
										
										
										
											2024-05-31 23:46:38 +10:00
										 |  |  | size (raw_buffer, 4) | 
					
						
							| 
									
										
										
										
											2024-02-26 14:31:54 +10:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-31 23:46:38 +10:00
										 |  |  | 1 2 3 4 | 
					
						
							| 
									
										
										
										
											2024-02-26 14:31:54 +10:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-25 10:50:37 +02:00
										 |  |  | [pixel shader] | 
					
						
							| 
									
										
										
										
											2024-02-26 14:31:54 +10:00
										 |  |  | RWByteAddressBuffer u : register(u1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | float4 main() : sv_target | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     u.Store(0, 10); | 
					
						
							|  |  |  |     u.Store(4, 11.1f); | 
					
						
							|  |  |  |     return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [test] | 
					
						
							| 
									
										
										
										
											2024-10-21 22:23:27 +08:00
										 |  |  | todo(glsl | msl) draw quad | 
					
						
							| 
									
										
										
										
											2024-02-26 14:31:54 +10:00
										 |  |  | probe uav 1 (0) ri (10) | 
					
						
							|  |  |  | if(sm<6) probe uav 1 (1) ri (11) | 
					
						
							|  |  |  | if(sm>=6) probe uav 1 (1) r (11.1) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-25 10:50:37 +02:00
										 |  |  | [pixel shader] | 
					
						
							| 
									
										
										
										
											2024-10-25 10:26:28 +02:00
										 |  |  | RWByteAddressBuffer u : register(u1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | float4 main() : sv_target | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     u.Store2(0, uint2(10, 11)); | 
					
						
							|  |  |  |     u.Store2(8, float2(12.2f, 13.3f)); | 
					
						
							|  |  |  |     return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [test] | 
					
						
							| 
									
										
										
										
											2024-10-21 22:23:27 +08:00
										 |  |  | todo(glsl | msl) draw quad | 
					
						
							| 
									
										
										
										
											2024-10-25 10:26:28 +02:00
										 |  |  | probe uav 1 (0) rgbaui(10, 11, 12, 13) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-25 10:50:37 +02:00
										 |  |  | [pixel shader] | 
					
						
							| 
									
										
										
										
											2024-10-25 10:26:28 +02:00
										 |  |  | RWByteAddressBuffer u : register(u1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | float4 main() : sv_target | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     u.Store(0, 20); | 
					
						
							|  |  |  |     u.Store3(4, uint3(21, 22, 23)); | 
					
						
							|  |  |  |     return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [test] | 
					
						
							| 
									
										
										
										
											2024-10-21 22:23:27 +08:00
										 |  |  | todo(glsl | msl) draw quad | 
					
						
							| 
									
										
										
										
											2024-10-25 10:26:28 +02:00
										 |  |  | probe uav 1 (0) rgbaui(20, 21, 22, 23) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-25 10:50:37 +02:00
										 |  |  | [pixel shader] | 
					
						
							| 
									
										
										
										
											2024-10-25 10:26:28 +02:00
										 |  |  | RWByteAddressBuffer u : register(u1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | float4 main() : sv_target | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     u.Store(0, 20); | 
					
						
							|  |  |  |     u.Store3(4, float3(21.1f, 22.2f, 23.3f)); | 
					
						
							|  |  |  |     return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [test] | 
					
						
							| 
									
										
										
										
											2024-10-21 22:23:27 +08:00
										 |  |  | todo(glsl | msl) draw quad | 
					
						
							| 
									
										
										
										
											2024-10-25 10:26:28 +02:00
										 |  |  | probe uav 1 (0) rgbaui(20, 21, 22, 23) | 
					
						
							| 
									
										
										
										
											2024-02-26 14:31:54 +10:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-26 14:19:27 -04:00
										 |  |  | [require] | 
					
						
							|  |  |  | shader model >= 5.0 | 
					
						
							|  |  |  | float64 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-25 10:50:37 +02:00
										 |  |  | [pixel shader] | 
					
						
							| 
									
										
										
										
											2024-02-26 14:31:54 +10:00
										 |  |  | RWByteAddressBuffer u : register(u1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | float4 main() : sv_target | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     u.Store(0, (double)12.2); | 
					
						
							|  |  |  |     return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [test] | 
					
						
							| 
									
										
										
										
											2024-10-25 10:50:37 +02:00
										 |  |  | todo(glsl) draw quad | 
					
						
							| 
									
										
										
										
											2024-02-26 14:31:54 +10:00
										 |  |  | if(sm<6) probe uav 1 (0) ri (12) | 
					
						
							|  |  |  | if(sm>=6) probe uav 1 (0) rd (12.2) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | % SM 6 add support for templated Store<>(). | 
					
						
							|  |  |  | [require] | 
					
						
							|  |  |  | shader model >= 6.0 | 
					
						
							| 
									
										
										
										
											2024-07-26 14:19:27 -04:00
										 |  |  | float64 | 
					
						
							| 
									
										
										
										
											2024-02-26 14:31:54 +10:00
										 |  |  | 
 | 
					
						
							|  |  |  | [pixel shader] | 
					
						
							|  |  |  | RWByteAddressBuffer u : register(u1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | float4 main() : sv_target | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     u.Store<int64_t>(0, (int64_t)-12); | 
					
						
							|  |  |  |     u.Store<double>(8, 13.3); | 
					
						
							|  |  |  |     return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [test] | 
					
						
							| 
									
										
										
										
											2024-02-27 17:48:36 +10:00
										 |  |  | draw quad | 
					
						
							| 
									
										
										
										
											2024-02-26 14:31:54 +10:00
										 |  |  | probe uav 1 (0) ri64 (-12) | 
					
						
							|  |  |  | probe uav 1 (1) rd (13.3) |