1617a3babSopenharmony_ci; SPIR-V 2617a3babSopenharmony_ci; Version: 1.0 3617a3babSopenharmony_ci; Generator: Khronos Glslang Reference Front End; 8 4617a3babSopenharmony_ci; Bound: 38 5617a3babSopenharmony_ci; Schema: 0 6617a3babSopenharmony_ci OpCapability Shader 7617a3babSopenharmony_ci %1 = OpExtInstImport "GLSL.std.450" 8617a3babSopenharmony_ci OpMemoryModel Logical GLSL450 9617a3babSopenharmony_ci OpEntryPoint Vertex %main "main" %outv4 %inv4 10617a3babSopenharmony_ci OpSource ESSL 310 11617a3babSopenharmony_ci OpName %main "main" 12617a3babSopenharmony_ci OpName %outv4 "outv4" 13617a3babSopenharmony_ci OpName %inv4 "inv4" 14617a3babSopenharmony_ci OpName %uBlock "uBlock" 15617a3babSopenharmony_ci OpMemberName %uBlock 0 "a" 16617a3babSopenharmony_ci OpMemberName %uBlock 1 "b" 17617a3babSopenharmony_ci OpMemberName %uBlock 2 "c" 18617a3babSopenharmony_ci OpName %uInst "uInst" 19617a3babSopenharmony_ci OpDecorate %outv4 Location 1 20617a3babSopenharmony_ci OpDecorate %inv4 Location 2 21617a3babSopenharmony_ci OpMemberDecorate %uBlock 0 Offset 0 22617a3babSopenharmony_ci OpMemberDecorate %uBlock 1 Offset 16 23617a3babSopenharmony_ci OpMemberDecorate %uBlock 2 Offset 32 24617a3babSopenharmony_ci OpDecorate %uBlock Block 25617a3babSopenharmony_ci OpDecorate %uInst DescriptorSet 0 26617a3babSopenharmony_ci OpDecorate %uInst Binding 3 27617a3babSopenharmony_ci %void = OpTypeVoid 28617a3babSopenharmony_ci %3 = OpTypeFunction %void 29617a3babSopenharmony_ci %float = OpTypeFloat 32 30617a3babSopenharmony_ci %v4float = OpTypeVector %float 4 31617a3babSopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float 32617a3babSopenharmony_ci %outv4 = OpVariable %_ptr_Output_v4float Output 33617a3babSopenharmony_ci%_ptr_Input_v4float = OpTypePointer Input %v4float 34617a3babSopenharmony_ci %inv4 = OpVariable %_ptr_Input_v4float Input 35617a3babSopenharmony_ci %int = OpTypeInt 32 1 36617a3babSopenharmony_ci %v4int = OpTypeVector %int 4 37617a3babSopenharmony_ci %uint = OpTypeInt 32 0 38617a3babSopenharmony_ci %v4uint = OpTypeVector %uint 4 39617a3babSopenharmony_ci %uBlock = OpTypeStruct %v4float %v4int %v4uint 40617a3babSopenharmony_ci%_ptr_Uniform_uBlock = OpTypePointer Uniform %uBlock 41617a3babSopenharmony_ci %uInst = OpVariable %_ptr_Uniform_uBlock Uniform 42617a3babSopenharmony_ci %int_0 = OpConstant %int 0 43617a3babSopenharmony_ci%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 44617a3babSopenharmony_ci %int_1 = OpConstant %int 1 45617a3babSopenharmony_ci%_ptr_Uniform_v4int = OpTypePointer Uniform %v4int 46617a3babSopenharmony_ci %int_2 = OpConstant %int 2 47617a3babSopenharmony_ci%_ptr_Uniform_v4uint = OpTypePointer Uniform %v4uint 48617a3babSopenharmony_ci %main = OpFunction %void None %3 49617a3babSopenharmony_ci %5 = OpLabel 50617a3babSopenharmony_ci %12 = OpLoad %v4float %inv4 51617a3babSopenharmony_ci %13 = OpExtInst %v4float %1 Normalize %12 52617a3babSopenharmony_ci %23 = OpAccessChain %_ptr_Uniform_v4float %uInst %int_0 53617a3babSopenharmony_ci %24 = OpLoad %v4float %23 54617a3babSopenharmony_ci %25 = OpFMul %v4float %13 %24 55617a3babSopenharmony_ci %28 = OpAccessChain %_ptr_Uniform_v4int %uInst %int_1 56617a3babSopenharmony_ci %29 = OpLoad %v4int %28 57617a3babSopenharmony_ci %30 = OpConvertSToF %v4float %29 58617a3babSopenharmony_ci %31 = OpFMul %v4float %25 %30 59617a3babSopenharmony_ci %34 = OpAccessChain %_ptr_Uniform_v4uint %uInst %int_2 60617a3babSopenharmony_ci %35 = OpLoad %v4uint %34 61617a3babSopenharmony_ci %36 = OpConvertUToF %v4float %35 62617a3babSopenharmony_ci %37 = OpFMul %v4float %31 %36 63617a3babSopenharmony_ci OpStore %outv4 %37 64617a3babSopenharmony_ci OpReturn 65617a3babSopenharmony_ci OpFunctionEnd 66