mirror of
				https://github.com/encounter/dawn-cmake.git
				synced 2025-10-25 19:20:30 +00:00 
			
		
		
		
	This CL changes the MSL emission for struct initializers to emit the
struct name first.
`const a = {.f=float3(1)}` becomes `const a = Normals{.f=float3(1)}`.
This fixes an issues where the initialization happens inside an array
which the downstream compiler rejected without the explicit struct
naming.
Bug: tint:1641
Change-Id: I948b9ca94f4b89eac6d5bbbaa615b3d71d50c737
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/98760
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
		
	
			
		
			
				
	
	
		
			17 lines
		
	
	
		
			160 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
		
			160 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #include <metal_stdlib>
 | |
| 
 | |
| using namespace metal;
 | |
| struct a {
 | |
|   int b;
 | |
| };
 | |
| 
 | |
| struct a__ {
 | |
|   int b__;
 | |
| };
 | |
| 
 | |
| void f() {
 | |
|   a__ const c = a__{};
 | |
|   int const d = c.b__;
 | |
| }
 | |
| 
 |