mirror of
				https://github.com/encounter/dawn-cmake.git
				synced 2025-10-26 03:30:30 +00:00 
			
		
		
		
	Instead of just generating pointers to functions, generate pointers to all permuted storage types and accesses. Change-Id: I930b20150d823877eaf72dd7cac850078fe22f35 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/54656 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: James Price <jrprice@google.com> Reviewed-by: David Neto <dneto@google.com>
		
			
				
	
	
		
			82 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ; SPIR-V
 | |
| ; Version: 1.3
 | |
| ; Generator: Google Tint Compiler; 0
 | |
| ; Bound: 37
 | |
| ; Schema: 0
 | |
|                OpCapability Shader
 | |
|                OpMemoryModel Logical GLSL450
 | |
|                OpEntryPoint Vertex %vertex_main "vertex_main" %tint_pointsize %tint_symbol_1
 | |
|                OpEntryPoint Fragment %fragment_main "fragment_main"
 | |
|                OpEntryPoint GLCompute %compute_main "compute_main"
 | |
|                OpExecutionMode %fragment_main OriginUpperLeft
 | |
|                OpExecutionMode %compute_main LocalSize 1 1 1
 | |
|                OpName %tint_pointsize "tint_pointsize"
 | |
|                OpName %SB_RO "SB_RO"
 | |
|                OpMemberName %SB_RO 0 "arg_0"
 | |
|                OpName %sb_ro "sb_ro"
 | |
|                OpName %tint_symbol_1 "tint_symbol_1"
 | |
|                OpName %arrayLength_a0f5ca "arrayLength_a0f5ca"
 | |
|                OpName %res "res"
 | |
|                OpName %tint_symbol_2 "tint_symbol_2"
 | |
|                OpName %tint_symbol "tint_symbol"
 | |
|                OpName %vertex_main "vertex_main"
 | |
|                OpName %fragment_main "fragment_main"
 | |
|                OpName %compute_main "compute_main"
 | |
|                OpDecorate %tint_pointsize BuiltIn PointSize
 | |
|                OpDecorate %SB_RO Block
 | |
|                OpMemberDecorate %SB_RO 0 Offset 0
 | |
|                OpDecorate %_runtimearr_float ArrayStride 4
 | |
|                OpDecorate %sb_ro NonWritable
 | |
|                OpDecorate %sb_ro DescriptorSet 0
 | |
|                OpDecorate %sb_ro Binding 1
 | |
|                OpDecorate %tint_symbol_1 BuiltIn Position
 | |
|       %float = OpTypeFloat 32
 | |
| %_ptr_Output_float = OpTypePointer Output %float
 | |
|           %4 = OpConstantNull %float
 | |
| %tint_pointsize = OpVariable %_ptr_Output_float Output %4
 | |
| %_runtimearr_float = OpTypeRuntimeArray %float
 | |
|       %SB_RO = OpTypeStruct %_runtimearr_float
 | |
| %_ptr_StorageBuffer_SB_RO = OpTypePointer StorageBuffer %SB_RO
 | |
|       %sb_ro = OpVariable %_ptr_StorageBuffer_SB_RO StorageBuffer
 | |
|     %v4float = OpTypeVector %float 4
 | |
| %_ptr_Output_v4float = OpTypePointer Output %v4float
 | |
|          %12 = OpConstantNull %v4float
 | |
| %tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %12
 | |
|        %void = OpTypeVoid
 | |
|          %13 = OpTypeFunction %void
 | |
|        %uint = OpTypeInt 32 0
 | |
| %_ptr_Function_uint = OpTypePointer Function %uint
 | |
|          %21 = OpConstantNull %uint
 | |
|          %22 = OpTypeFunction %void %v4float
 | |
|     %float_1 = OpConstant %float 1
 | |
| %arrayLength_a0f5ca = OpFunction %void None %13
 | |
|          %16 = OpLabel
 | |
|         %res = OpVariable %_ptr_Function_uint Function %21
 | |
|          %17 = OpArrayLength %uint %sb_ro 0
 | |
|                OpStore %res %17
 | |
|                OpReturn
 | |
|                OpFunctionEnd
 | |
| %tint_symbol_2 = OpFunction %void None %22
 | |
| %tint_symbol = OpFunctionParameter %v4float
 | |
|          %25 = OpLabel
 | |
|                OpStore %tint_symbol_1 %tint_symbol
 | |
|                OpReturn
 | |
|                OpFunctionEnd
 | |
| %vertex_main = OpFunction %void None %13
 | |
|          %27 = OpLabel
 | |
|                OpStore %tint_pointsize %float_1
 | |
|          %29 = OpFunctionCall %void %arrayLength_a0f5ca
 | |
|          %30 = OpFunctionCall %void %tint_symbol_2 %12
 | |
|                OpReturn
 | |
|                OpFunctionEnd
 | |
| %fragment_main = OpFunction %void None %13
 | |
|          %32 = OpLabel
 | |
|          %33 = OpFunctionCall %void %arrayLength_a0f5ca
 | |
|                OpReturn
 | |
|                OpFunctionEnd
 | |
| %compute_main = OpFunction %void None %13
 | |
|          %35 = OpLabel
 | |
|          %36 = OpFunctionCall %void %arrayLength_a0f5ca
 | |
|                OpReturn
 | |
|                OpFunctionEnd
 |