mirror of
				https://github.com/encounter/dawn-cmake.git
				synced 2025-10-26 03:30:30 +00:00 
			
		
		
		
	Use the ExpandCompoundAssignment transform to convert compound assignments to regular assignments. Bug: tint:1325 Change-Id: I193a09815836755bc1f7138fe1947be39f7b7206 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/85285 Reviewed-by: Ben Clayton <bclayton@google.com> Kokoro: James Price <jrprice@google.com>
		
			
				
	
	
		
			58 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ; SPIR-V
 | |
| ; Version: 1.3
 | |
| ; Generator: Google Tint Compiler; 0
 | |
| ; Bound: 34
 | |
| ; Schema: 0
 | |
|                OpCapability Shader
 | |
|                OpMemoryModel Logical GLSL450
 | |
|                OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
 | |
|                OpExecutionMode %unused_entry_point LocalSize 1 1 1
 | |
|                OpName %S "S"
 | |
|                OpMemberName %S 0 "a"
 | |
|                OpName %v "v"
 | |
|                OpName %unused_entry_point "unused_entry_point"
 | |
|                OpName %foo "foo"
 | |
|                OpDecorate %S Block
 | |
|                OpMemberDecorate %S 0 Offset 0
 | |
|                OpMemberDecorate %S 0 ColMajor
 | |
|                OpMemberDecorate %S 0 MatrixStride 16
 | |
|                OpDecorate %v DescriptorSet 0
 | |
|                OpDecorate %v Binding 0
 | |
|       %float = OpTypeFloat 32
 | |
|     %v4float = OpTypeVector %float 4
 | |
| %mat4v4float = OpTypeMatrix %v4float 4
 | |
|           %S = OpTypeStruct %mat4v4float
 | |
| %_ptr_StorageBuffer_S = OpTypePointer StorageBuffer %S
 | |
|           %v = OpVariable %_ptr_StorageBuffer_S StorageBuffer
 | |
|        %void = OpTypeVoid
 | |
|           %7 = OpTypeFunction %void
 | |
|        %uint = OpTypeInt 32 0
 | |
|      %uint_0 = OpConstant %uint 0
 | |
| %_ptr_StorageBuffer_mat4v4float = OpTypePointer StorageBuffer %mat4v4float
 | |
|          %19 = OpConstantNull %mat4v4float
 | |
| %unused_entry_point = OpFunction %void None %7
 | |
|          %10 = OpLabel
 | |
|                OpReturn
 | |
|                OpFunctionEnd
 | |
|         %foo = OpFunction %void None %7
 | |
|          %12 = OpLabel
 | |
|          %16 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %v %uint_0
 | |
|          %17 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %v %uint_0
 | |
|          %18 = OpLoad %mat4v4float %17
 | |
|          %21 = OpCompositeExtract %v4float %18 0
 | |
|          %22 = OpCompositeExtract %v4float %19 0
 | |
|          %23 = OpFAdd %v4float %21 %22
 | |
|          %24 = OpCompositeExtract %v4float %18 1
 | |
|          %25 = OpCompositeExtract %v4float %19 1
 | |
|          %26 = OpFAdd %v4float %24 %25
 | |
|          %27 = OpCompositeExtract %v4float %18 2
 | |
|          %28 = OpCompositeExtract %v4float %19 2
 | |
|          %29 = OpFAdd %v4float %27 %28
 | |
|          %30 = OpCompositeExtract %v4float %18 3
 | |
|          %31 = OpCompositeExtract %v4float %19 3
 | |
|          %32 = OpFAdd %v4float %30 %31
 | |
|          %33 = OpCompositeConstruct %mat4v4float %23 %26 %29 %32
 | |
|                OpStore %16 %33
 | |
|                OpReturn
 | |
|                OpFunctionEnd
 |