mirror of
				https://github.com/encounter/dawn-cmake.git
				synced 2025-10-26 03:30:30 +00:00 
			
		
		
		
	This is required to handle materialized values, and for constant expressions. Bug: tint:1504 Change-Id: If0a49e9b03566c06aa6e4e4c284fc427e1541e91 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/92082 Reviewed-by: Dan Sinclair <dsinclair@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Ben Clayton <bclayton@chromium.org>
		
			
				
	
	
		
			95 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ; SPIR-V
 | |
| ; Version: 1.3
 | |
| ; Generator: Google Tint Compiler; 0
 | |
| ; Bound: 47
 | |
| ; Schema: 0
 | |
|                OpCapability Shader
 | |
|                OpMemoryModel Logical GLSL450
 | |
|                OpEntryPoint Fragment %main "main" %loc0_1 %frag_depth_1 %loc1_1 %loc2_1 %sample_mask_1 %loc3_1
 | |
|                OpExecutionMode %main OriginUpperLeft
 | |
|                OpExecutionMode %main DepthReplacing
 | |
|                OpName %loc0_1 "loc0_1"
 | |
|                OpName %frag_depth_1 "frag_depth_1"
 | |
|                OpName %loc1_1 "loc1_1"
 | |
|                OpName %loc2_1 "loc2_1"
 | |
|                OpName %sample_mask_1 "sample_mask_1"
 | |
|                OpName %loc3_1 "loc3_1"
 | |
|                OpName %FragmentOutputs "FragmentOutputs"
 | |
|                OpMemberName %FragmentOutputs 0 "loc0"
 | |
|                OpMemberName %FragmentOutputs 1 "frag_depth"
 | |
|                OpMemberName %FragmentOutputs 2 "loc1"
 | |
|                OpMemberName %FragmentOutputs 3 "loc2"
 | |
|                OpMemberName %FragmentOutputs 4 "sample_mask"
 | |
|                OpMemberName %FragmentOutputs 5 "loc3"
 | |
|                OpName %main_inner "main_inner"
 | |
|                OpName %main "main"
 | |
|                OpDecorate %loc0_1 Location 0
 | |
|                OpDecorate %frag_depth_1 BuiltIn FragDepth
 | |
|                OpDecorate %loc1_1 Location 1
 | |
|                OpDecorate %loc2_1 Location 2
 | |
|                OpDecorate %_arr_uint_uint_1 ArrayStride 4
 | |
|                OpDecorate %sample_mask_1 BuiltIn SampleMask
 | |
|                OpDecorate %loc3_1 Location 3
 | |
|                OpMemberDecorate %FragmentOutputs 0 Offset 0
 | |
|                OpMemberDecorate %FragmentOutputs 1 Offset 4
 | |
|                OpMemberDecorate %FragmentOutputs 2 Offset 8
 | |
|                OpMemberDecorate %FragmentOutputs 3 Offset 12
 | |
|                OpMemberDecorate %FragmentOutputs 4 Offset 16
 | |
|                OpMemberDecorate %FragmentOutputs 5 Offset 32
 | |
|         %int = OpTypeInt 32 1
 | |
| %_ptr_Output_int = OpTypePointer Output %int
 | |
|           %4 = OpConstantNull %int
 | |
|      %loc0_1 = OpVariable %_ptr_Output_int Output %4
 | |
|       %float = OpTypeFloat 32
 | |
| %_ptr_Output_float = OpTypePointer Output %float
 | |
|           %8 = OpConstantNull %float
 | |
| %frag_depth_1 = OpVariable %_ptr_Output_float Output %8
 | |
|        %uint = OpTypeInt 32 0
 | |
| %_ptr_Output_uint = OpTypePointer Output %uint
 | |
|          %12 = OpConstantNull %uint
 | |
|      %loc1_1 = OpVariable %_ptr_Output_uint Output %12
 | |
|      %loc2_1 = OpVariable %_ptr_Output_float Output %8
 | |
|      %uint_1 = OpConstant %uint 1
 | |
| %_arr_uint_uint_1 = OpTypeArray %uint %uint_1
 | |
| %_ptr_Output__arr_uint_uint_1 = OpTypePointer Output %_arr_uint_uint_1
 | |
|          %18 = OpConstantNull %_arr_uint_uint_1
 | |
| %sample_mask_1 = OpVariable %_ptr_Output__arr_uint_uint_1 Output %18
 | |
|     %v4float = OpTypeVector %float 4
 | |
| %_ptr_Output_v4float = OpTypePointer Output %v4float
 | |
|          %22 = OpConstantNull %v4float
 | |
|      %loc3_1 = OpVariable %_ptr_Output_v4float Output %22
 | |
| %FragmentOutputs = OpTypeStruct %int %float %uint %float %uint %v4float
 | |
|          %23 = OpTypeFunction %FragmentOutputs
 | |
|       %int_1 = OpConstant %int 1
 | |
|     %float_2 = OpConstant %float 2
 | |
|     %float_1 = OpConstant %float 1
 | |
|      %uint_2 = OpConstant %uint 2
 | |
|     %float_3 = OpConstant %float 3
 | |
|     %float_4 = OpConstant %float 4
 | |
|          %33 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
 | |
|          %34 = OpConstantComposite %FragmentOutputs %int_1 %float_2 %uint_1 %float_1 %uint_2 %33
 | |
|        %void = OpTypeVoid
 | |
|          %35 = OpTypeFunction %void
 | |
|  %main_inner = OpFunction %FragmentOutputs None %23
 | |
|          %26 = OpLabel
 | |
|                OpReturnValue %34
 | |
|                OpFunctionEnd
 | |
|        %main = OpFunction %void None %35
 | |
|          %38 = OpLabel
 | |
|          %39 = OpFunctionCall %FragmentOutputs %main_inner
 | |
|          %40 = OpCompositeExtract %int %39 0
 | |
|                OpStore %loc0_1 %40
 | |
|          %41 = OpCompositeExtract %float %39 1
 | |
|                OpStore %frag_depth_1 %41
 | |
|          %42 = OpCompositeExtract %uint %39 2
 | |
|                OpStore %loc1_1 %42
 | |
|          %43 = OpCompositeExtract %float %39 3
 | |
|                OpStore %loc2_1 %43
 | |
|          %44 = OpAccessChain %_ptr_Output_uint %sample_mask_1 %4
 | |
|          %45 = OpCompositeExtract %uint %39 4
 | |
|                OpStore %44 %45
 | |
|          %46 = OpCompositeExtract %v4float %39 5
 | |
|                OpStore %loc3_1 %46
 | |
|                OpReturn
 | |
|                OpFunctionEnd
 |