mirror of
				https://github.com/encounter/dawn-cmake.git
				synced 2025-10-25 19:20:30 +00:00 
			
		
		
		
	arrayLength() will take a pointer to a storage buffer array. This pointer may pass through function scoped let statements. To make this intrinsic easier to generate, inline the pointer lets and remove chains of &*&*. Bug: tint:806 Change-Id: Ib2c79a9c38cba7391cbb4313986af9a72b0f0435 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/54060 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: David Neto <dneto@google.com> Commit-Queue: Ben Clayton <bclayton@chromium.org>
		
			
				
	
	
		
			27 lines
		
	
	
		
			853 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			853 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ; SPIR-V
 | |
| ; Version: 1.3
 | |
| ; Generator: Google Tint Compiler; 0
 | |
| ; Bound: 13
 | |
| ; Schema: 0
 | |
|                OpCapability Shader
 | |
|                OpMemoryModel Logical GLSL450
 | |
|                OpEntryPoint GLCompute %main "main"
 | |
|                OpExecutionMode %main LocalSize 1 1 1
 | |
|                OpName %main "main"
 | |
|                OpName %i "i"
 | |
|        %void = OpTypeVoid
 | |
|           %1 = OpTypeFunction %void
 | |
|         %int = OpTypeInt 32 1
 | |
|     %int_123 = OpConstant %int 123
 | |
| %_ptr_Function_int = OpTypePointer Function %int
 | |
|           %9 = OpConstantNull %int
 | |
|       %int_1 = OpConstant %int 1
 | |
|        %main = OpFunction %void None %1
 | |
|           %4 = OpLabel
 | |
|           %i = OpVariable %_ptr_Function_int Function %9
 | |
|                OpStore %i %int_123
 | |
|          %10 = OpLoad %int %i
 | |
|          %12 = OpIAdd %int %10 %int_1
 | |
|                OpReturn
 | |
|                OpFunctionEnd
 |