mirror of
				https://github.com/encounter/dawn-cmake.git
				synced 2025-10-26 11:40:29 +00:00 
			
		
		
		
	This is required to handle materialized values, and for constant expressions. Bug: tint:1504 Change-Id: I79ad567954de2d1cfea09dda255894e4e2aa678e Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/92081 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Antonio Maiorano <amaiorano@google.com> Commit-Queue: Ben Clayton <bclayton@chromium.org>
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			HLSL
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			HLSL
		
	
	
	
	
	
| struct Inner {
 | |
|   int x;
 | |
| };
 | |
| 
 | |
| RWByteAddressBuffer s : register(u0, space0);
 | |
| 
 | |
| void tint_symbol_6(RWByteAddressBuffer buffer, uint offset, float2x3 value) {
 | |
|   buffer.Store3((offset + 0u), asuint(value[0u]));
 | |
|   buffer.Store3((offset + 16u), asuint(value[1u]));
 | |
| }
 | |
| 
 | |
| void tint_symbol_7(RWByteAddressBuffer buffer, uint offset, float3x2 value) {
 | |
|   buffer.Store2((offset + 0u), asuint(value[0u]));
 | |
|   buffer.Store2((offset + 8u), asuint(value[1u]));
 | |
|   buffer.Store2((offset + 16u), asuint(value[2u]));
 | |
| }
 | |
| 
 | |
| void tint_symbol_9(RWByteAddressBuffer buffer, uint offset, Inner value) {
 | |
|   buffer.Store((offset + 0u), asuint(value.x));
 | |
| }
 | |
| 
 | |
| void tint_symbol_10(RWByteAddressBuffer buffer, uint offset, Inner value[4]) {
 | |
|   Inner array[4] = value;
 | |
|   {
 | |
|     [loop] for(uint i_1 = 0u; (i_1 < 4u); i_1 = (i_1 + 1u)) {
 | |
|       tint_symbol_9(buffer, (offset + (i_1 * 4u)), array[i_1]);
 | |
|     }
 | |
|   }
 | |
| }
 | |
| 
 | |
| [numthreads(1, 1, 1)]
 | |
| void main() {
 | |
|   s.Store3(0u, asuint((0).xxx));
 | |
|   s.Store(12u, asuint(0));
 | |
|   s.Store3(16u, asuint((0u).xxx));
 | |
|   s.Store(28u, asuint(0u));
 | |
|   s.Store3(32u, asuint((0.0f).xxx));
 | |
|   s.Store(44u, asuint(0.0f));
 | |
|   tint_symbol_6(s, 48u, float2x3((0.0f).xxx, (0.0f).xxx));
 | |
|   tint_symbol_7(s, 80u, float3x2((0.0f).xx, (0.0f).xx, (0.0f).xx));
 | |
|   const Inner tint_symbol_11 = (Inner)0;
 | |
|   tint_symbol_9(s, 104u, tint_symbol_11);
 | |
|   const Inner tint_symbol_12[4] = (Inner[4])0;
 | |
|   tint_symbol_10(s, 108u, tint_symbol_12);
 | |
|   return;
 | |
| }
 |