mirror of
				https://github.com/encounter/dawn-cmake.git
				synced 2025-10-24 18:50:29 +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>
		
			
				
	
	
		
			111 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ; SPIR-V
 | |
| ; Version: 1.3
 | |
| ; Generator: Google Tint Compiler; 0
 | |
| ; Bound: 57
 | |
| ; Schema: 0
 | |
|                OpCapability Shader
 | |
|                OpCapability SampleRateShading
 | |
|                OpMemoryModel Logical GLSL450
 | |
|                OpEntryPoint Fragment %main "main" %position_1 %loc0_1 %front_facing_1 %loc1_1 %sample_index_1 %loc3_1 %sample_mask_1 %loc2_1
 | |
|                OpExecutionMode %main OriginUpperLeft
 | |
|                OpName %position_1 "position_1"
 | |
|                OpName %loc0_1 "loc0_1"
 | |
|                OpName %front_facing_1 "front_facing_1"
 | |
|                OpName %loc1_1 "loc1_1"
 | |
|                OpName %sample_index_1 "sample_index_1"
 | |
|                OpName %loc3_1 "loc3_1"
 | |
|                OpName %sample_mask_1 "sample_mask_1"
 | |
|                OpName %loc2_1 "loc2_1"
 | |
|                OpName %FragmentInputs0 "FragmentInputs0"
 | |
|                OpMemberName %FragmentInputs0 0 "position"
 | |
|                OpMemberName %FragmentInputs0 1 "loc0"
 | |
|                OpName %FragmentInputs1 "FragmentInputs1"
 | |
|                OpMemberName %FragmentInputs1 0 "loc3"
 | |
|                OpMemberName %FragmentInputs1 1 "sample_mask"
 | |
|                OpName %main_inner "main_inner"
 | |
|                OpName %inputs0 "inputs0"
 | |
|                OpName %front_facing "front_facing"
 | |
|                OpName %loc1 "loc1"
 | |
|                OpName %sample_index "sample_index"
 | |
|                OpName %inputs1 "inputs1"
 | |
|                OpName %loc2 "loc2"
 | |
|                OpName %main "main"
 | |
|                OpDecorate %position_1 BuiltIn FragCoord
 | |
|                OpDecorate %loc0_1 Location 0
 | |
|                OpDecorate %loc0_1 Flat
 | |
|                OpDecorate %front_facing_1 BuiltIn FrontFacing
 | |
|                OpDecorate %loc1_1 Location 1
 | |
|                OpDecorate %loc1_1 Flat
 | |
|                OpDecorate %sample_index_1 BuiltIn SampleId
 | |
|                OpDecorate %loc3_1 Location 3
 | |
|                OpDecorate %_arr_uint_uint_1 ArrayStride 4
 | |
|                OpDecorate %sample_mask_1 BuiltIn SampleMask
 | |
|                OpDecorate %loc2_1 Location 2
 | |
|                OpMemberDecorate %FragmentInputs0 0 Offset 0
 | |
|                OpMemberDecorate %FragmentInputs0 1 Offset 16
 | |
|                OpMemberDecorate %FragmentInputs1 0 Offset 0
 | |
|                OpMemberDecorate %FragmentInputs1 1 Offset 16
 | |
|       %float = OpTypeFloat 32
 | |
|     %v4float = OpTypeVector %float 4
 | |
| %_ptr_Input_v4float = OpTypePointer Input %v4float
 | |
|  %position_1 = OpVariable %_ptr_Input_v4float Input
 | |
|         %int = OpTypeInt 32 1
 | |
| %_ptr_Input_int = OpTypePointer Input %int
 | |
|      %loc0_1 = OpVariable %_ptr_Input_int Input
 | |
|        %bool = OpTypeBool
 | |
| %_ptr_Input_bool = OpTypePointer Input %bool
 | |
| %front_facing_1 = OpVariable %_ptr_Input_bool Input
 | |
|        %uint = OpTypeInt 32 0
 | |
| %_ptr_Input_uint = OpTypePointer Input %uint
 | |
|      %loc1_1 = OpVariable %_ptr_Input_uint Input
 | |
| %sample_index_1 = OpVariable %_ptr_Input_uint Input
 | |
|      %loc3_1 = OpVariable %_ptr_Input_v4float Input
 | |
|      %uint_1 = OpConstant %uint 1
 | |
| %_arr_uint_uint_1 = OpTypeArray %uint %uint_1
 | |
| %_ptr_Input__arr_uint_uint_1 = OpTypePointer Input %_arr_uint_uint_1
 | |
| %sample_mask_1 = OpVariable %_ptr_Input__arr_uint_uint_1 Input
 | |
| %_ptr_Input_float = OpTypePointer Input %float
 | |
|      %loc2_1 = OpVariable %_ptr_Input_float Input
 | |
|        %void = OpTypeVoid
 | |
| %FragmentInputs0 = OpTypeStruct %v4float %int
 | |
| %FragmentInputs1 = OpTypeStruct %v4float %uint
 | |
|          %22 = OpTypeFunction %void %FragmentInputs0 %bool %uint %uint %FragmentInputs1 %float
 | |
|          %41 = OpTypeFunction %void
 | |
|          %52 = OpConstantNull %int
 | |
|  %main_inner = OpFunction %void None %22
 | |
|     %inputs0 = OpFunctionParameter %FragmentInputs0
 | |
| %front_facing = OpFunctionParameter %bool
 | |
|        %loc1 = OpFunctionParameter %uint
 | |
| %sample_index = OpFunctionParameter %uint
 | |
|     %inputs1 = OpFunctionParameter %FragmentInputs1
 | |
|        %loc2 = OpFunctionParameter %float
 | |
|          %33 = OpLabel
 | |
|                OpSelectionMerge %34 None
 | |
|                OpBranchConditional %front_facing %35 %34
 | |
|          %35 = OpLabel
 | |
|          %36 = OpCompositeExtract %v4float %inputs0 0
 | |
|          %37 = OpCompositeExtract %uint %inputs1 1
 | |
|          %38 = OpIAdd %uint %sample_index %37
 | |
|          %39 = OpCompositeExtract %int %inputs0 1
 | |
|          %40 = OpCompositeExtract %v4float %inputs1 0
 | |
|                OpBranch %34
 | |
|          %34 = OpLabel
 | |
|                OpReturn
 | |
|                OpFunctionEnd
 | |
|        %main = OpFunction %void None %41
 | |
|          %43 = OpLabel
 | |
|          %45 = OpLoad %v4float %position_1
 | |
|          %46 = OpLoad %int %loc0_1
 | |
|          %47 = OpCompositeConstruct %FragmentInputs0 %45 %46
 | |
|          %48 = OpLoad %bool %front_facing_1
 | |
|          %49 = OpLoad %uint %loc1_1
 | |
|          %50 = OpLoad %uint %sample_index_1
 | |
|          %51 = OpLoad %v4float %loc3_1
 | |
|          %53 = OpAccessChain %_ptr_Input_uint %sample_mask_1 %52
 | |
|          %54 = OpLoad %uint %53
 | |
|          %55 = OpCompositeConstruct %FragmentInputs1 %51 %54
 | |
|          %56 = OpLoad %float %loc2_1
 | |
|          %44 = OpFunctionCall %void %main_inner %47 %48 %49 %50 %55 %56
 | |
|                OpReturn
 | |
|                OpFunctionEnd
 |