1; SPIR-V 2; Version: 1.0 3; Generator: Khronos Glslang Reference Front End; 8 4; Bound: 38 5; Schema: 0 6 OpCapability Shader 7 %1 = OpExtInstImport "GLSL.std.450" 8 OpMemoryModel Logical GLSL450 9 OpEntryPoint Vertex %main "main" %outv4 %inv4 10 OpSource ESSL 310 11 OpName %main "main" 12 OpName %outv4 "outv4" 13 OpName %inv4 "inv4" 14 OpName %uBlock "uBlock" 15 OpMemberName %uBlock 0 "a" 16 OpMemberName %uBlock 1 "b" 17 OpMemberName %uBlock 2 "c" 18 OpName %uInst "uInst" 19 OpDecorate %outv4 Location 1 20 OpDecorate %inv4 Location 2 21 OpMemberDecorate %uBlock 0 Offset 0 22 OpMemberDecorate %uBlock 1 Offset 16 23 OpMemberDecorate %uBlock 2 Offset 32 24 OpDecorate %uBlock Block 25 OpDecorate %uInst DescriptorSet 0 26 OpDecorate %uInst Binding 3 27 %void = OpTypeVoid 28 %3 = OpTypeFunction %void 29 %float = OpTypeFloat 32 30 %v4float = OpTypeVector %float 4 31%_ptr_Output_v4float = OpTypePointer Output %v4float 32 %outv4 = OpVariable %_ptr_Output_v4float Output 33%_ptr_Input_v4float = OpTypePointer Input %v4float 34 %inv4 = OpVariable %_ptr_Input_v4float Input 35 %int = OpTypeInt 32 1 36 %v4int = OpTypeVector %int 4 37 %uint = OpTypeInt 32 0 38 %v4uint = OpTypeVector %uint 4 39 %uBlock = OpTypeStruct %v4float %v4int %v4uint 40%_ptr_Uniform_uBlock = OpTypePointer Uniform %uBlock 41 %uInst = OpVariable %_ptr_Uniform_uBlock Uniform 42 %int_0 = OpConstant %int 0 43%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 44 %int_1 = OpConstant %int 1 45%_ptr_Uniform_v4int = OpTypePointer Uniform %v4int 46 %int_2 = OpConstant %int 2 47%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint 48 %main = OpFunction %void None %3 49 %5 = OpLabel 50 %12 = OpLoad %v4float %inv4 51 %13 = OpExtInst %v4float %1 Normalize %12 52 %23 = OpAccessChain %_ptr_Uniform_v4float %uInst %int_0 53 %24 = OpLoad %v4float %23 54 %25 = OpFMul %v4float %13 %24 55 %28 = OpAccessChain %_ptr_Uniform_v4int %uInst %int_1 56 %29 = OpLoad %v4int %28 57 %30 = OpConvertSToF %v4float %29 58 %31 = OpFMul %v4float %25 %30 59 %34 = OpAccessChain %_ptr_Uniform_v4uint %uInst %int_2 60 %35 = OpLoad %v4uint %34 61 %36 = OpConvertUToF %v4float %35 62 %37 = OpFMul %v4float %31 %36 63 OpStore %outv4 %37 64 OpReturn 65 OpFunctionEnd 66