summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/glslang/src/Test/baseResults
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/glslang/src/Test/baseResults')
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/100.frag.out734
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/100Limits.vert.out889
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/100LimitsConf.vert.out28
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/100scope.vert.out240
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/110scope.vert.out256
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/120.frag.out1193
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/120.vert.out783
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/130.frag.out782
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/130.vert.out303
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/140.frag.out223
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/140.vert.out270
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/150.frag.out244
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/150.geom.out317
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/150.tesc.out1659
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/150.vert.out95
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/300.frag.out756
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/300.vert.out612
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/300BuiltIns.frag.out418
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/300block.frag.out153
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/300layout.frag.out69
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/300layout.vert.out147
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/300link.frag.out22
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/300link2.frag.out25
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/300link3.frag.out19
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/300operations.frag.out420
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/300scope.vert.out239
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/310.comp.out934
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/310.frag.out1892
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/310.geom.out346
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/310.tesc.out709
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/310.tese.out315
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/310.vert.out1960
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/310AofA.vert.out647
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/310implicitSizeArrayError.vert.out50
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/330.frag.out217
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/330comp.frag.out48
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/400.frag.out998
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/400.geom.out2067
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/400.tesc.out414
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/400.tese.out281
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/400.vert.out34
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/410.geom.out112
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/410.tesc.out31
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/410.vert.out29
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/420.comp.out122
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/420.frag.out42
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/420.geom.out258
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/420.tesc.out230
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/420.tese.out313
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/420.vert.out556
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/420_size_gl_in.geom.out77
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/430.comp.out281
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/430.vert.out469
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/430AofA.frag.out803
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/430scope.vert.out243
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/440.frag.out194
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/440.vert.out241
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/450.comp.out18
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/450.frag.out327
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/450.geom.out72
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/450.tesc.out68
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/450.tese.out68
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/450.vert.out69
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/Operations.frag.out1151
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/aggOps.frag.out298
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/always-discard.frag.out239
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/always-discard2.frag.out121
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/array.frag.out530
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/array100.frag.out296
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/atomic_uint.frag.out145
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/badChars.frag.out26
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/comment.frag.out23
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/conditionalDiscard.frag.out63
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/constErrors.frag.out54
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/constFold.frag.out747
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/conversion.frag.out955
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/cppComplexExpr.vert.out200
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/cppIndent.vert.out84
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/cppNest.vert.out154
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/cppSimple.vert.out317
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/dataOut.frag.out35
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/dataOutIndirect.frag.out35
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/dce.frag.out276
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/decls.frag.out515
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/deepRvalue.frag.out285
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/depthOut.frag.out38
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/discard-dce.frag.out239
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/doWhileLoop.frag.out65
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/earlyReturnDiscard.frag.out257
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/empty.frag.out17
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/errors.frag.out32
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/es-link1.frag.out27
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/flowControl.frag.out81
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/forLoop.frag.out361
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/forwardRef.frag.out125
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/functionCall.frag.out183
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/functionSemantics.frag.out401
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.assoc.frag.out113
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.attribute.frag.out57
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.cast.frag.out86
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.doLoop.frag.out116
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.float1.frag.out100
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.float4.frag.out99
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.forLoop.frag.out220
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/hlsl.frag.out160
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.if.frag.out223
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.frag.out3290
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.negative.frag.out702
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.negative.vert.out1055
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.vert.out2868
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.matType.frag.out101
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.max.frag.out60
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.precedence.frag.out80
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.precedence2.frag.out103
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.scope.frag.out150
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.sin.frag.out53
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.struct.frag.out107
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.void.frag.out64
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/hlsl.whileLoop.frag.out145
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/length.frag.out61
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/lineContinuation.vert.out309
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/lineContinuation100.vert.out137
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/link1.frag.out162
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/localAggregates.frag.out414
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/loops.frag.out1935
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/loopsArtificial.frag.out433
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/mains1.frag.out72
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/matrix.frag.out507
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/matrix2.frag.out347
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/matrixError.vert.out71
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/max_vertices_0.geom.out35
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/negativeArraySize.comp.out24
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/newTexture.frag.out523
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/noMain.vert.out45
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/nonSquare.vert.out183
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/nonVulkan.frag.out30
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/numeral.frag.out829
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/pointCoord.frag.out69
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/precise.tesc.out768
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/precise_struct_block.vert.out1045
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/precision.frag.out245
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/precision.vert.out99
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/prepost.frag.out271
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style___FILE__.vert.err0
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style___FILE__.vert.out37
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style_line_directive.vert.err15
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style_line_directive.vert.out0
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.defined.vert.err4
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.defined.vert.out0
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.edge_cases.vert.err2
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.edge_cases.vert.out16
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.eof_missing.vert.err0
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.eof_missing.vert.out2
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.errors.vert.err8
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.errors.vert.out0
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.extensions.vert.err3
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.extensions.vert.out12
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.function_macro.vert.err2
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.function_macro.vert.out21
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.disabled.vert.err13
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.disabled.vert.out0
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.enabled.vert.err8
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.enabled.vert.out0
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.frag.err2
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.frag.out5
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.vert.err0
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.vert.out39
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.many.endif.vert.err12
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.many.endif.vert.out0
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.pragma.vert.err2
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.pragma.vert.out12
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.simple.vert.err2
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.simple.vert.out23
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.success_if_parse_would_fail.vert.err0
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/preprocessor.success_if_parse_would_fail.vert.out4
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/recurse1.vert.out397
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/reflection.vert.out104
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/sample.frag.out33
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/sample.vert.out43
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/simpleFunctionCall.frag.out43
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/specExamples.frag.out617
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/specExamples.vert.out602
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.100ops.frag.out104
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.130.frag.out313
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.140.frag.out181
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.150.geom.out149
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.150.vert.out107
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.300BuiltIns.vert.out79
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.300layout.frag.out79
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.300layout.vert.out254
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.300layoutp.vert.out206
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.310.comp.out127
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.330.geom.out71
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.400.frag.out1385
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.400.tesc.out179
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.400.tese.out189
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.420.geom.out132
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.430.vert.out143
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.AofA.frag.out156
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.Operations.frag.out674
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.accessChain.frag.out323
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.aggOps.frag.out310
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.always-discard.frag.out113
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.always-discard2.frag.out66
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.atomic.comp.out205
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.bitCast.frag.out240
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.bool.vert.out94
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.boolInBlock.frag.out169
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.branch-return.vert.out71
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.conditionalDiscard.frag.out63
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.conversion.frag.out577
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.dataOut.frag.out39
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.dataOutIndirect.frag.out51
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.dataOutIndirect.vert.out70
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.deepRvalue.frag.out209
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.depthOut.frag.out40
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.discard-dce.frag.out130
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.do-simple.vert.out46
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.do-while-continue-break.vert.out84
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.doWhileLoop.frag.out63
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.double.comp.out104
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.earlyReturnDiscard.frag.out173
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.flowControl.frag.out73
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.for-complex-condition.vert.out72
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.for-continue-break.vert.out87
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.for-nobody.vert.out54
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.for-notest.vert.out48
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.for-simple.vert.out52
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.forLoop.frag.out215
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.forwardFun.frag.out97
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.functionCall.frag.out127
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.functionSemantics.frag.out232
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.image.frag.out523
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.int64.frag.out626
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.intOps.vert.out361
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.interpOps.frag.out143
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.layoutNested.vert.out242
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.length.frag.out55
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.localAggregates.frag.out256
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.loops.frag.out1108
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.loopsArtificial.frag.out243
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.matFun.vert.out161
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.matrix.frag.out313
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.matrix2.frag.out273
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.memoryQualifier.frag.out181
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.merge-unreachable.frag.out47
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.newTexture.frag.out385
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.noDeadDecorations.vert.out64
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.nonSquare.vert.out116
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.precise.tesc.out122
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.precise.tese.out191
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.precision.frag.out234
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.prepost.frag.out147
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.pushConstant.vert.out67
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.qualifiers.vert.out54
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.queryL.frag.out331
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.separate.frag.out427
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.set.vert.out51
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.shaderBallot.comp.out314
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.shaderGroupVote.comp.out71
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.shiftOps.frag.out70
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.shortCircuit.frag.out241
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.simpleFunctionCall.frag.out39
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.simpleMat.vert.out64
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.sparseTexture.frag.out593
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.sparseTextureClamp.frag.out471
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.specConstant.comp.out55
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.specConstant.vert.out137
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.specConstantComposite.vert.out89
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.specConstantOperations.vert.out164
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.structAssignment.frag.out93
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.structDeref.frag.out191
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.structure.frag.out99
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.subpass.frag.out118
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.switch.frag.out532
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.swizzle.frag.out170
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.test.frag.out90
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.test.vert.out49
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.texture.frag.out385
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.texture.vert.out197
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.types.frag.out340
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.uint.frag.out438
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.uniformArray.frag.out80
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.variableArrayIndex.frag.out172
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.varyingArray.frag.out89
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.varyingArrayIndirect.frag.out102
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.voidFunction.frag.out77
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/spv.while-continue-break.vert.out79
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.while-simple.vert.out48
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/spv.whileLoop.frag.out65
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/structAssignment.frag.out103
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/structDeref.frag.out345
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/structure.frag.out165
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/switch.frag.out691
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/swizzle.frag.out423
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/syntaxError.frag.out24
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/test.conf92
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/test.frag.out115
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/texture.frag.out564
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/tokenLength.vert.out222
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/types.frag.out677
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/uint.frag.out607
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/uniformArray.frag.out97
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/variableArrayIndex.frag.out225
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/varyingArray.frag.out120
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/varyingArrayIndirect.frag.out126
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/versionsClean.frag.out44
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/versionsClean.vert.out49
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/versionsErrors.frag.out44
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/versionsErrors.vert.out58
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/voidFunction.frag.out91
-rwxr-xr-xchromium/third_party/glslang/src/Test/baseResults/vulkan.ast.vert.out324
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/vulkan.comp.out11
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/vulkan.frag.out44
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/vulkan.vert.out33
-rw-r--r--chromium/third_party/glslang/src/Test/baseResults/whileLoop.frag.out65
316 files changed, 82082 insertions, 0 deletions
diff --git a/chromium/third_party/glslang/src/Test/baseResults/100.frag.out b/chromium/third_party/glslang/src/Test/baseResults/100.frag.out
new file mode 100644
index 00000000000..7af716d84b7
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/100.frag.out
@@ -0,0 +1,734 @@
+100.frag
+ERROR: 0:3: '{ } style initializers' : not supported with this profile: es
+ERROR: 0:3: 'initializer' : not supported for this version or the enabled extensions
+ERROR: 0:3: 'array initializer' : not supported for this version or the enabled extensions
+ERROR: 0:4: '#version' : must occur first in shader
+ERROR: 0:7: 'attribute' : not supported in this stage: fragment
+ERROR: 0:7: 'float' : type requires declaration of default precision qualifier
+ERROR: 0:9: '=' : cannot convert from 'const int' to 'global mediump float'
+ERROR: 0:11: 'uniform block' : not supported for this version or the enabled extensions
+ERROR: 0:19: 'foo' : no matching overloaded function found
+ERROR: 0:20: 'bit shift left' : not supported for this version or the enabled extensions
+ERROR: 0:21: 'bit shift right' : not supported for this version or the enabled extensions
+ERROR: 0:22: 'array comparison' : not supported for this version or the enabled extensions
+ERROR: 0:24: 'bitwise and' : not supported for this version or the enabled extensions
+ERROR: 0:25: '%' : not supported for this version or the enabled extensions
+ERROR: 0:26: 'bitwise inclusive or' : not supported for this version or the enabled extensions
+ERROR: 0:27: 'bit-shift right assign' : not supported for this version or the enabled extensions
+ERROR: 0:28: 'bit-shift left assign' : not supported for this version or the enabled extensions
+ERROR: 0:29: '%=' : not supported for this version or the enabled extensions
+ERROR: 0:36: 'array assignment' : not supported for this version or the enabled extensions
+ERROR: 0:37: 'array comparison' : not supported for this version or the enabled extensions
+ERROR: 0:38: 'array comparison' : not supported for this version or the enabled extensions
+ERROR: 0:40: 'switch' : Reserved word.
+ERROR: 0:40: 'switch statements' : not supported for this version or the enabled extensions
+ERROR: 0:45: '' : array size required
+ERROR: 0:47: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:49: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:50: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:56: 'invariant' : not allowed in nested scope
+ERROR: 0:56: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:57: 'invariant' : not allowed in nested scope
+ERROR: 0:57: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:59: 'invariant' : not allowed in nested scope
+ERROR: 0:59: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:63: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:64: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:66: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: glob2D
+ERROR: 0:69: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: v2D
+ERROR: 0:71: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: vary2D
+ERROR: 0:75: 'in for stage inputs' : not supported for this version or the enabled extensions
+ERROR: 0:77: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:75: 'g' : cannot use storage or interpolation qualifiers on structure members
+ERROR: 0:76: 'h' : cannot use storage or interpolation qualifiers on structure members
+ERROR: 0:77: 'i' : cannot use invariant qualifier on structure members
+ERROR: 0:80: 'sampler3D' : Reserved word.
+ERROR: 0:80: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:91: 'dFdx' : required extension not requested: GL_OES_standard_derivatives
+ERROR: 0:92: 'dFdy' : required extension not requested: GL_OES_standard_derivatives
+ERROR: 0:93: 'fwidth' : required extension not requested: GL_OES_standard_derivatives
+ERROR: 0:103: 'gl_FragDepth' : undeclared identifier
+ERROR: 0:104: 'gl_FragDepthEXT' : required extension not requested: GL_EXT_frag_depth
+ERROR: 0:111: 'gl_FragDepth' : undeclared identifier
+ERROR: 0:134: 'texture3D' : no matching overloaded function found
+ERROR: 0:135: 'texture2DProjLod' : no matching overloaded function found
+ERROR: 0:137: 'bitwise not' : not supported for this version or the enabled extensions
+ERROR: 0:138: 'bitwise inclusive or' : not supported for this version or the enabled extensions
+ERROR: 0:139: 'bitwise and' : not supported for this version or the enabled extensions
+ERROR: 0:145: 'a' : redefinition
+ERROR: 0:147: 'texture2DProjGradEXT' : required extension not requested: GL_EXT_shader_texture_lod
+ERROR: 0:151: 'floating-point suffix' : not supported for this version or the enabled extensions
+ERROR: 0:152: 'floating-point suffix' : not supported for this version or the enabled extensions
+ERROR: 0:167: 'highp' : overloaded functions must have the same parameter precision qualifiers for argument 2
+ERROR: 0:170: 'multiple prototypes for same function' : not supported for this version or the enabled extensions
+ERROR: 0:177: 'multiple prototypes for same function' : not supported for this version or the enabled extensions
+ERROR: 0:179: 'fragment-shader struct input' : not supported for this version or the enabled extensions
+ERROR: 0:183: 'v' : illegal use of type 'void'
+ERROR: 0:184: 'void' : cannot be an argument type except for '(void)'
+ERROR: 0:185: 'v' : illegal use of type 'void'
+ERROR: 0:185: 'void' : cannot be an argument type except for '(void)'
+ERROR: 0:190: '.' : cannot apply to an array: y
+ERROR: 0:191: '.' : cannot apply to an array: zy
+ERROR: 0:192: '.' : cannot apply to an array: nothing
+ERROR: 0:193: '.length' : not supported for this version or the enabled extensions
+ERROR: 0:194: '.' : cannot apply to an array: method
+ERROR: 0:194: 'a' : can't use function syntax on variable
+ERROR: 0:214: 'non-constant global initializer' : not supported with this profile: es
+ERROR: 0:3000: '#error' : line of this error should be 3000
+ERROR: 0:3002: '' : syntax error
+ERROR: 77 compilation errors. No code generated.
+
+
+Shader version: 100
+Requested GL_EXT_frag_depth
+Requested GL_EXT_shader_texture_lod
+Requested GL_OES_EGL_image_external
+Requested GL_OES_standard_derivatives
+Requested GL_OES_texture_3D
+ERROR: node is still EOpNull!
+0:3 Sequence
+0:3 move second child to first child (temp 3-element array of mediump int)
+0:3 'a' (global 3-element array of mediump int)
+0:3 Constant:
+0:3 2 (const int)
+0:3 3 (const int)
+0:3 4 (const int)
+0:17 Function Definition: main( (global void)
+0:17 Function Parameters:
+0:19 Sequence
+0:19 Constant:
+0:19 0.000000
+0:20 Sequence
+0:20 move second child to first child (temp mediump int)
+0:20 's' (temp mediump int)
+0:20 Constant:
+0:20 16 (const int)
+0:21 move second child to first child (temp mediump int)
+0:21 's' (temp mediump int)
+0:21 Constant:
+0:21 4 (const int)
+0:22 Test condition and select (temp void)
+0:22 Condition
+0:22 Compare Equal (temp bool)
+0:22 'a' (global 3-element array of mediump int)
+0:22 'a' (global 3-element array of mediump int)
+0:22 true case is null
+0:24 move second child to first child (temp mediump int)
+0:24 'b' (temp mediump int)
+0:24 bitwise and (temp mediump int)
+0:24 'c' (temp mediump int)
+0:24 Constant:
+0:24 4 (const int)
+0:25 move second child to first child (temp mediump int)
+0:25 'b' (temp mediump int)
+0:25 mod (temp mediump int)
+0:25 'c' (temp mediump int)
+0:25 Constant:
+0:25 4 (const int)
+0:26 move second child to first child (temp mediump int)
+0:26 'b' (temp mediump int)
+0:26 inclusive-or (temp mediump int)
+0:26 'c' (temp mediump int)
+0:26 Constant:
+0:26 4 (const int)
+0:27 right shift second child into first child (temp mediump int)
+0:27 'b' (temp mediump int)
+0:27 Constant:
+0:27 2 (const int)
+0:28 left shift second child into first child (temp mediump int)
+0:28 'b' (temp mediump int)
+0:28 Constant:
+0:28 2 (const int)
+0:29 mod second child into first child (temp mediump int)
+0:29 'b' (temp mediump int)
+0:29 Constant:
+0:29 3 (const int)
+0:36 move second child to first child (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:36 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:36 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:37 Test condition and select (temp void)
+0:37 Condition
+0:37 Compare Equal (temp bool)
+0:37 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:37 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:37 true case is null
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Not Equal (temp bool)
+0:38 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:38 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:38 true case is null
+0:40 'b' (temp mediump int)
+0:54 Function Definition: foo10( (global void)
+0:54 Function Parameters:
+0:67 Function Definition: f11(s21; (global void)
+0:67 Function Parameters:
+0:67 'p2d' (in lowp sampler2D)
+0:87 Function Definition: foo234( (global void)
+0:87 Function Parameters:
+0:89 Sequence
+0:89 texture (global highp 4-component vector of float)
+0:89 's3D2' (uniform highp sampler3D)
+0:89 Constant:
+0:89 0.200000
+0:89 0.200000
+0:89 0.200000
+0:89 Constant:
+0:89 0.200000
+0:90 textureProj (global highp 4-component vector of float)
+0:90 's3D2' (uniform highp sampler3D)
+0:90 direct index (smooth temp mediump 4-component vector of float)
+0:90 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:90 Constant:
+0:90 1 (const int)
+0:90 Constant:
+0:90 0.400000
+0:91 dPdx (global mediump 4-component vector of float)
+0:91 direct index (smooth temp mediump 4-component vector of float)
+0:91 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:91 Constant:
+0:91 0 (const int)
+0:92 Constant:
+0:92 0.000000
+0:93 fwidth (global mediump float)
+0:93 'f13' (invariant global mediump float)
+0:98 Function Definition: foo236( (global void)
+0:98 Function Parameters:
+0:100 Sequence
+0:100 dPdx (global mediump 4-component vector of float)
+0:100 direct index (smooth temp mediump 4-component vector of float)
+0:100 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:100 Constant:
+0:100 0 (const int)
+0:101 Constant:
+0:101 0.000000
+0:102 fwidth (global mediump float)
+0:102 'f13' (invariant global mediump float)
+0:103 move second child to first child (temp mediump float)
+0:103 'gl_FragDepth' (temp mediump float)
+0:103 'f13' (invariant global mediump float)
+0:104 move second child to first child (temp highp float)
+0:104 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
+0:104 'f13' (invariant global mediump float)
+0:109 Function Definition: foo239( (global void)
+0:109 Function Parameters:
+0:111 Sequence
+0:111 move second child to first child (temp mediump float)
+0:111 'gl_FragDepth' (temp mediump float)
+0:111 'f13' (invariant global mediump float)
+0:112 move second child to first child (temp highp float)
+0:112 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
+0:112 'f13' (invariant global mediump float)
+0:119 Function Definition: foo245( (global void)
+0:119 Function Parameters:
+0:121 Sequence
+0:121 texture (global lowp 4-component vector of float)
+0:121 'sExt' (uniform lowp samplerExternalOES)
+0:121 Constant:
+0:121 0.200000
+0:121 0.200000
+0:122 textureProj (global lowp 4-component vector of float)
+0:122 'sExt' (uniform lowp samplerExternalOES)
+0:122 Construct vec3 (temp lowp 3-component vector of float)
+0:122 'f13' (invariant global mediump float)
+0:123 textureProj (global lowp 4-component vector of float)
+0:123 'sExt' (uniform lowp samplerExternalOES)
+0:123 direct index (smooth temp mediump 4-component vector of float)
+0:123 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:123 Constant:
+0:123 2 (const int)
+0:130 Function Definition: foo246( (global void)
+0:130 Function Parameters:
+0:132 Sequence
+0:132 texture (global mediump 4-component vector of float)
+0:132 'mediumExt' (uniform mediump samplerExternalOES)
+0:132 Constant:
+0:132 0.200000
+0:132 0.200000
+0:133 textureProj (global highp 4-component vector of float)
+0:133 'highExt' (uniform highp samplerExternalOES)
+0:133 direct index (smooth temp mediump 4-component vector of float)
+0:133 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:133 Constant:
+0:133 2 (const int)
+0:134 Constant:
+0:134 0.000000
+0:135 Constant:
+0:135 0.000000
+0:137 Bitwise not (temp mediump int)
+0:137 'a' (temp mediump int)
+0:138 inclusive-or (temp mediump int)
+0:138 'a' (temp mediump int)
+0:138 'a' (temp mediump int)
+0:139 bitwise and (temp mediump int)
+0:139 'a' (temp mediump int)
+0:139 'a' (temp mediump int)
+0:145 Function Definition: foo203940(i1;f1;f1; (global mediump int)
+0:145 Function Parameters:
+0:145 'a' (in mediump int)
+0:145 'b' (in mediump float)
+0:147 Sequence
+0:147 textureProjGrad (global lowp 4-component vector of float)
+0:147 's2Dg' (uniform lowp sampler2D)
+0:147 Construct vec3 (temp mediump 3-component vector of float)
+0:147 'f13' (invariant global mediump float)
+0:147 'uv2' (invariant uniform mediump 2-component vector of float)
+0:147 'uv2' (invariant uniform mediump 2-component vector of float)
+0:148 Branch: Return with expression
+0:148 'a' (in mediump int)
+0:151 Sequence
+0:151 move second child to first child (temp mediump float)
+0:151 'f123' (global mediump float)
+0:151 Constant:
+0:151 4.000000
+0:152 Sequence
+0:152 move second child to first child (temp mediump float)
+0:152 'f124' (global mediump float)
+0:152 Constant:
+0:152 50000000000.000000
+0:158 Function Definition: foo323433( (global void)
+0:158 Function Parameters:
+0:160 Sequence
+0:160 textureLod (global lowp 4-component vector of float)
+0:160 's2Dg' (uniform lowp sampler2D)
+0:160 'uv2' (invariant uniform mediump 2-component vector of float)
+0:160 'f13' (invariant global mediump float)
+0:161 textureProjGrad (global lowp 4-component vector of float)
+0:161 's2Dg' (uniform lowp sampler2D)
+0:161 Construct vec3 (temp mediump 3-component vector of float)
+0:161 'f13' (invariant global mediump float)
+0:161 'uv2' (invariant uniform mediump 2-component vector of float)
+0:161 'uv2' (invariant uniform mediump 2-component vector of float)
+0:162 textureGrad (global lowp 4-component vector of float)
+0:162 's2Dg' (uniform lowp sampler2D)
+0:162 'uv2' (invariant uniform mediump 2-component vector of float)
+0:162 'uv2' (invariant uniform mediump 2-component vector of float)
+0:162 'uv2' (invariant uniform mediump 2-component vector of float)
+0:163 textureGrad (global lowp 4-component vector of float)
+0:163 'sCube' (uniform lowp samplerCube)
+0:163 Construct vec3 (temp lowp 3-component vector of float)
+0:163 'f13' (invariant global mediump float)
+0:163 Construct vec3 (temp lowp 3-component vector of float)
+0:163 'f13' (invariant global mediump float)
+0:163 Construct vec3 (temp lowp 3-component vector of float)
+0:163 'f13' (invariant global mediump float)
+0:167 Function Definition: fgfg(f1;i1; (global mediump int)
+0:167 Function Parameters:
+0:167 'f' (in mediump float)
+0:167 'i' (in highp int)
+0:167 Sequence
+0:167 Branch: Return with expression
+0:167 Constant:
+0:167 2 (const int)
+0:173 Function Definition: gggf(f1; (global mediump int)
+0:173 Function Parameters:
+0:173 'f' (in mediump float)
+0:173 Sequence
+0:173 Branch: Return with expression
+0:173 Constant:
+0:173 2 (const int)
+0:175 Function Definition: agggf(f1; (global mediump int)
+0:175 Function Parameters:
+0:175 'f' (in mediump float)
+0:175 Sequence
+0:175 Branch: Return with expression
+0:175 Constant:
+0:175 2 (const int)
+0:187 Function Definition: badswizzle( (global void)
+0:187 Function Parameters:
+0:? Sequence
+0:190 'a' (temp 5-element array of mediump 3-component vector of float)
+0:191 'a' (temp 5-element array of mediump 3-component vector of float)
+0:192 'a' (temp 5-element array of mediump 3-component vector of float)
+0:193 Constant:
+0:193 5 (const int)
+0:194 Constant:
+0:194 0.000000
+0:199 Function Definition: fooinittest( (global mediump float)
+0:199 Function Parameters:
+0:201 Sequence
+0:201 Branch: Return with expression
+0:201 Function Call: fooinit( (global mediump float)
+0:209 Function Definition: fooinit( (global mediump float)
+0:209 Function Parameters:
+0:211 Sequence
+0:211 Branch: Return with expression
+0:211 Constant:
+0:211 12.000000
+0:214 Sequence
+0:214 move second child to first child (temp mediump int)
+0:214 'init1' (global mediump int)
+0:214 Test condition and select (temp mediump int)
+0:214 Condition
+0:214 'gl_FrontFacing' (gl_FrontFacing bool Face)
+0:214 true case
+0:214 Constant:
+0:214 1 (const int)
+0:214 false case
+0:214 Constant:
+0:214 2 (const int)
+0:? Linker Objects
+0:? 'a' (global 3-element array of mediump int)
+0:? 'uint' (global mediump int)
+0:? 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:? 'f' (global mediump float)
+0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})
+0:? 'fa' (global implicitly-sized array of mediump float)
+0:? 'f13' (global mediump float)
+0:? 'fi' (invariant temp mediump float)
+0:? 'av' (smooth in mediump 4-component vector of float)
+0:? 'uv2' (uniform mediump 2-component vector of float)
+0:? 'uv3' (invariant uniform mediump 3-component vector of float)
+0:? 'glob2D' (global lowp sampler2D)
+0:? 'vary2D' (smooth in lowp sampler2D)
+0:? 's3D' (uniform mediump sampler3D)
+0:? 's3D2' (uniform highp sampler3D)
+0:? 'sExt' (uniform lowp samplerExternalOES)
+0:? 'mediumExt' (uniform mediump samplerExternalOES)
+0:? 'highExt' (uniform highp samplerExternalOES)
+0:? 's2Dg' (uniform lowp sampler2D)
+0:? 'f123' (global mediump float)
+0:? 'f124' (global mediump float)
+0:? 'sCube' (uniform lowp samplerCube)
+0:? 's' (smooth in structure{global mediump float f})
+0:? 'fi1' (const mediump float)
+0:? 3.000000
+0:? 'fi2' (const mediump float)
+0:? 4.000000
+0:? 'fi3' (const mediump float)
+0:? 5.000000
+0:? 'init1' (global mediump int)
+
+
+Linked fragment stage:
+
+
+Shader version: 100
+Requested GL_EXT_frag_depth
+Requested GL_EXT_shader_texture_lod
+Requested GL_OES_EGL_image_external
+Requested GL_OES_standard_derivatives
+Requested GL_OES_texture_3D
+ERROR: node is still EOpNull!
+0:3 Sequence
+0:3 move second child to first child (temp 3-element array of mediump int)
+0:3 'a' (global 3-element array of mediump int)
+0:3 Constant:
+0:3 2 (const int)
+0:3 3 (const int)
+0:3 4 (const int)
+0:17 Function Definition: main( (global void)
+0:17 Function Parameters:
+0:19 Sequence
+0:19 Constant:
+0:19 0.000000
+0:20 Sequence
+0:20 move second child to first child (temp mediump int)
+0:20 's' (temp mediump int)
+0:20 Constant:
+0:20 16 (const int)
+0:21 move second child to first child (temp mediump int)
+0:21 's' (temp mediump int)
+0:21 Constant:
+0:21 4 (const int)
+0:22 Test condition and select (temp void)
+0:22 Condition
+0:22 Compare Equal (temp bool)
+0:22 'a' (global 3-element array of mediump int)
+0:22 'a' (global 3-element array of mediump int)
+0:22 true case is null
+0:24 move second child to first child (temp mediump int)
+0:24 'b' (temp mediump int)
+0:24 bitwise and (temp mediump int)
+0:24 'c' (temp mediump int)
+0:24 Constant:
+0:24 4 (const int)
+0:25 move second child to first child (temp mediump int)
+0:25 'b' (temp mediump int)
+0:25 mod (temp mediump int)
+0:25 'c' (temp mediump int)
+0:25 Constant:
+0:25 4 (const int)
+0:26 move second child to first child (temp mediump int)
+0:26 'b' (temp mediump int)
+0:26 inclusive-or (temp mediump int)
+0:26 'c' (temp mediump int)
+0:26 Constant:
+0:26 4 (const int)
+0:27 right shift second child into first child (temp mediump int)
+0:27 'b' (temp mediump int)
+0:27 Constant:
+0:27 2 (const int)
+0:28 left shift second child into first child (temp mediump int)
+0:28 'b' (temp mediump int)
+0:28 Constant:
+0:28 2 (const int)
+0:29 mod second child into first child (temp mediump int)
+0:29 'b' (temp mediump int)
+0:29 Constant:
+0:29 3 (const int)
+0:36 move second child to first child (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:36 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:36 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:37 Test condition and select (temp void)
+0:37 Condition
+0:37 Compare Equal (temp bool)
+0:37 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:37 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:37 true case is null
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Not Equal (temp bool)
+0:38 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:38 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:38 true case is null
+0:40 'b' (temp mediump int)
+0:54 Function Definition: foo10( (global void)
+0:54 Function Parameters:
+0:67 Function Definition: f11(s21; (global void)
+0:67 Function Parameters:
+0:67 'p2d' (in lowp sampler2D)
+0:87 Function Definition: foo234( (global void)
+0:87 Function Parameters:
+0:89 Sequence
+0:89 texture (global highp 4-component vector of float)
+0:89 's3D2' (uniform highp sampler3D)
+0:89 Constant:
+0:89 0.200000
+0:89 0.200000
+0:89 0.200000
+0:89 Constant:
+0:89 0.200000
+0:90 textureProj (global highp 4-component vector of float)
+0:90 's3D2' (uniform highp sampler3D)
+0:90 direct index (smooth temp mediump 4-component vector of float)
+0:90 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:90 Constant:
+0:90 1 (const int)
+0:90 Constant:
+0:90 0.400000
+0:91 dPdx (global mediump 4-component vector of float)
+0:91 direct index (smooth temp mediump 4-component vector of float)
+0:91 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:91 Constant:
+0:91 0 (const int)
+0:92 Constant:
+0:92 0.000000
+0:93 fwidth (global mediump float)
+0:93 'f13' (invariant global mediump float)
+0:98 Function Definition: foo236( (global void)
+0:98 Function Parameters:
+0:100 Sequence
+0:100 dPdx (global mediump 4-component vector of float)
+0:100 direct index (smooth temp mediump 4-component vector of float)
+0:100 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:100 Constant:
+0:100 0 (const int)
+0:101 Constant:
+0:101 0.000000
+0:102 fwidth (global mediump float)
+0:102 'f13' (invariant global mediump float)
+0:103 move second child to first child (temp mediump float)
+0:103 'gl_FragDepth' (temp mediump float)
+0:103 'f13' (invariant global mediump float)
+0:104 move second child to first child (temp highp float)
+0:104 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
+0:104 'f13' (invariant global mediump float)
+0:109 Function Definition: foo239( (global void)
+0:109 Function Parameters:
+0:111 Sequence
+0:111 move second child to first child (temp mediump float)
+0:111 'gl_FragDepth' (temp mediump float)
+0:111 'f13' (invariant global mediump float)
+0:112 move second child to first child (temp highp float)
+0:112 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
+0:112 'f13' (invariant global mediump float)
+0:119 Function Definition: foo245( (global void)
+0:119 Function Parameters:
+0:121 Sequence
+0:121 texture (global lowp 4-component vector of float)
+0:121 'sExt' (uniform lowp samplerExternalOES)
+0:121 Constant:
+0:121 0.200000
+0:121 0.200000
+0:122 textureProj (global lowp 4-component vector of float)
+0:122 'sExt' (uniform lowp samplerExternalOES)
+0:122 Construct vec3 (temp lowp 3-component vector of float)
+0:122 'f13' (invariant global mediump float)
+0:123 textureProj (global lowp 4-component vector of float)
+0:123 'sExt' (uniform lowp samplerExternalOES)
+0:123 direct index (smooth temp mediump 4-component vector of float)
+0:123 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:123 Constant:
+0:123 2 (const int)
+0:130 Function Definition: foo246( (global void)
+0:130 Function Parameters:
+0:132 Sequence
+0:132 texture (global mediump 4-component vector of float)
+0:132 'mediumExt' (uniform mediump samplerExternalOES)
+0:132 Constant:
+0:132 0.200000
+0:132 0.200000
+0:133 textureProj (global highp 4-component vector of float)
+0:133 'highExt' (uniform highp samplerExternalOES)
+0:133 direct index (smooth temp mediump 4-component vector of float)
+0:133 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:133 Constant:
+0:133 2 (const int)
+0:134 Constant:
+0:134 0.000000
+0:135 Constant:
+0:135 0.000000
+0:137 Bitwise not (temp mediump int)
+0:137 'a' (temp mediump int)
+0:138 inclusive-or (temp mediump int)
+0:138 'a' (temp mediump int)
+0:138 'a' (temp mediump int)
+0:139 bitwise and (temp mediump int)
+0:139 'a' (temp mediump int)
+0:139 'a' (temp mediump int)
+0:145 Function Definition: foo203940(i1;f1;f1; (global mediump int)
+0:145 Function Parameters:
+0:145 'a' (in mediump int)
+0:145 'b' (in mediump float)
+0:147 Sequence
+0:147 textureProjGrad (global lowp 4-component vector of float)
+0:147 's2Dg' (uniform lowp sampler2D)
+0:147 Construct vec3 (temp mediump 3-component vector of float)
+0:147 'f13' (invariant global mediump float)
+0:147 'uv2' (invariant uniform mediump 2-component vector of float)
+0:147 'uv2' (invariant uniform mediump 2-component vector of float)
+0:148 Branch: Return with expression
+0:148 'a' (in mediump int)
+0:151 Sequence
+0:151 move second child to first child (temp mediump float)
+0:151 'f123' (global mediump float)
+0:151 Constant:
+0:151 4.000000
+0:152 Sequence
+0:152 move second child to first child (temp mediump float)
+0:152 'f124' (global mediump float)
+0:152 Constant:
+0:152 50000000000.000000
+0:158 Function Definition: foo323433( (global void)
+0:158 Function Parameters:
+0:160 Sequence
+0:160 textureLod (global lowp 4-component vector of float)
+0:160 's2Dg' (uniform lowp sampler2D)
+0:160 'uv2' (invariant uniform mediump 2-component vector of float)
+0:160 'f13' (invariant global mediump float)
+0:161 textureProjGrad (global lowp 4-component vector of float)
+0:161 's2Dg' (uniform lowp sampler2D)
+0:161 Construct vec3 (temp mediump 3-component vector of float)
+0:161 'f13' (invariant global mediump float)
+0:161 'uv2' (invariant uniform mediump 2-component vector of float)
+0:161 'uv2' (invariant uniform mediump 2-component vector of float)
+0:162 textureGrad (global lowp 4-component vector of float)
+0:162 's2Dg' (uniform lowp sampler2D)
+0:162 'uv2' (invariant uniform mediump 2-component vector of float)
+0:162 'uv2' (invariant uniform mediump 2-component vector of float)
+0:162 'uv2' (invariant uniform mediump 2-component vector of float)
+0:163 textureGrad (global lowp 4-component vector of float)
+0:163 'sCube' (uniform lowp samplerCube)
+0:163 Construct vec3 (temp lowp 3-component vector of float)
+0:163 'f13' (invariant global mediump float)
+0:163 Construct vec3 (temp lowp 3-component vector of float)
+0:163 'f13' (invariant global mediump float)
+0:163 Construct vec3 (temp lowp 3-component vector of float)
+0:163 'f13' (invariant global mediump float)
+0:167 Function Definition: fgfg(f1;i1; (global mediump int)
+0:167 Function Parameters:
+0:167 'f' (in mediump float)
+0:167 'i' (in highp int)
+0:167 Sequence
+0:167 Branch: Return with expression
+0:167 Constant:
+0:167 2 (const int)
+0:173 Function Definition: gggf(f1; (global mediump int)
+0:173 Function Parameters:
+0:173 'f' (in mediump float)
+0:173 Sequence
+0:173 Branch: Return with expression
+0:173 Constant:
+0:173 2 (const int)
+0:175 Function Definition: agggf(f1; (global mediump int)
+0:175 Function Parameters:
+0:175 'f' (in mediump float)
+0:175 Sequence
+0:175 Branch: Return with expression
+0:175 Constant:
+0:175 2 (const int)
+0:187 Function Definition: badswizzle( (global void)
+0:187 Function Parameters:
+0:? Sequence
+0:190 'a' (temp 5-element array of mediump 3-component vector of float)
+0:191 'a' (temp 5-element array of mediump 3-component vector of float)
+0:192 'a' (temp 5-element array of mediump 3-component vector of float)
+0:193 Constant:
+0:193 5 (const int)
+0:194 Constant:
+0:194 0.000000
+0:199 Function Definition: fooinittest( (global mediump float)
+0:199 Function Parameters:
+0:201 Sequence
+0:201 Branch: Return with expression
+0:201 Function Call: fooinit( (global mediump float)
+0:209 Function Definition: fooinit( (global mediump float)
+0:209 Function Parameters:
+0:211 Sequence
+0:211 Branch: Return with expression
+0:211 Constant:
+0:211 12.000000
+0:214 Sequence
+0:214 move second child to first child (temp mediump int)
+0:214 'init1' (global mediump int)
+0:214 Test condition and select (temp mediump int)
+0:214 Condition
+0:214 'gl_FrontFacing' (gl_FrontFacing bool Face)
+0:214 true case
+0:214 Constant:
+0:214 1 (const int)
+0:214 false case
+0:214 Constant:
+0:214 2 (const int)
+0:? Linker Objects
+0:? 'a' (global 3-element array of mediump int)
+0:? 'uint' (global mediump int)
+0:? 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:? 'f' (global mediump float)
+0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})
+0:? 'fa' (global 1-element array of mediump float)
+0:? 'f13' (global mediump float)
+0:? 'fi' (invariant temp mediump float)
+0:? 'av' (smooth in mediump 4-component vector of float)
+0:? 'uv2' (uniform mediump 2-component vector of float)
+0:? 'uv3' (invariant uniform mediump 3-component vector of float)
+0:? 'glob2D' (global lowp sampler2D)
+0:? 'vary2D' (smooth in lowp sampler2D)
+0:? 's3D' (uniform mediump sampler3D)
+0:? 's3D2' (uniform highp sampler3D)
+0:? 'sExt' (uniform lowp samplerExternalOES)
+0:? 'mediumExt' (uniform mediump samplerExternalOES)
+0:? 'highExt' (uniform highp samplerExternalOES)
+0:? 's2Dg' (uniform lowp sampler2D)
+0:? 'f123' (global mediump float)
+0:? 'f124' (global mediump float)
+0:? 'sCube' (uniform lowp samplerCube)
+0:? 's' (smooth in structure{global mediump float f})
+0:? 'fi1' (const mediump float)
+0:? 3.000000
+0:? 'fi2' (const mediump float)
+0:? 4.000000
+0:? 'fi3' (const mediump float)
+0:? 5.000000
+0:? 'init1' (global mediump int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/100Limits.vert.out b/chromium/third_party/glslang/src/Test/baseResults/100Limits.vert.out
new file mode 100644
index 00000000000..46c256075ac
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/100Limits.vert.out
@@ -0,0 +1,889 @@
+100Limits.vert
+Shader version: 100
+0:? Sequence
+0:15 Function Definition: foo(f1; (global void)
+0:15 Function Parameters:
+0:15 'a' (inout highp float)
+0:17 Function Definition: bar( (global highp int)
+0:17 Function Parameters:
+0:19 Sequence
+0:19 Branch: Return with expression
+0:19 Constant:
+0:19 1 (const int)
+0:22 Function Definition: main( (global void)
+0:22 Function Parameters:
+0:24 Sequence
+0:24 Loop with condition tested first
+0:24 Loop Condition
+0:24 Compare Less Than (temp bool)
+0:24 'ga' (global highp int)
+0:24 'gb' (global highp int)
+0:24 No loop body
+0:26 Loop with condition not tested first
+0:26 Loop Condition
+0:26 Constant:
+0:26 false (const bool)
+0:26 No loop body
+0:28 Sequence
+0:28 Loop with condition tested first
+0:28 No loop condition
+0:28 No loop body
+0:29 Sequence
+0:29 Loop with condition tested first
+0:29 Loop Condition
+0:29 Compare Equal (temp bool)
+0:29 'ga' (global highp int)
+0:29 'gb' (global highp int)
+0:29 No loop body
+0:30 Sequence
+0:30 Loop with condition tested first
+0:30 No loop condition
+0:30 No loop body
+0:30 Loop Terminal Expression
+0:30 Post-Increment (temp highp float)
+0:30 'f' (global highp float)
+0:31 Sequence
+0:31 move second child to first child (temp highp int)
+0:31 'ga' (global highp int)
+0:31 Constant:
+0:31 0 (const int)
+0:31 Loop with condition tested first
+0:31 No loop condition
+0:31 No loop body
+0:32 Sequence
+0:32 Sequence
+0:32 move second child to first child (temp bool)
+0:32 'a' (temp bool)
+0:32 Constant:
+0:32 false (const bool)
+0:32 Loop with condition tested first
+0:32 No loop condition
+0:32 No loop body
+0:33 Sequence
+0:33 Sequence
+0:33 move second child to first child (temp highp float)
+0:33 'a' (temp highp float)
+0:33 Constant:
+0:33 0.000000
+0:33 Loop with condition tested first
+0:33 Loop Condition
+0:33 Compare Equal (temp bool)
+0:33 'a' (temp highp float)
+0:33 sine (global highp float)
+0:33 'f' (global highp float)
+0:33 No loop body
+0:34 Sequence
+0:34 Sequence
+0:34 move second child to first child (temp highp int)
+0:34 'a' (temp highp int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 Loop with condition tested first
+0:34 Loop Condition
+0:34 Compare Less Than (temp bool)
+0:34 'a' (temp highp int)
+0:34 Constant:
+0:34 10 (const int)
+0:34 No loop body
+0:34 Loop Terminal Expression
+0:34 multiply second child into first child (temp highp int)
+0:34 'a' (temp highp int)
+0:34 Constant:
+0:34 2 (const int)
+0:35 Sequence
+0:35 Sequence
+0:35 move second child to first child (temp highp int)
+0:35 'a' (temp highp int)
+0:35 Constant:
+0:35 0 (const int)
+0:35 Loop with condition tested first
+0:35 Loop Condition
+0:35 Compare Less Than or Equal (temp bool)
+0:35 'a' (temp highp int)
+0:35 Constant:
+0:35 20 (const int)
+0:35 Loop Body
+0:35 Pre-Decrement (temp highp int)
+0:35 'a' (temp highp int)
+0:35 Loop Terminal Expression
+0:35 Post-Increment (temp highp int)
+0:35 'a' (temp highp int)
+0:36 Sequence
+0:36 Sequence
+0:36 move second child to first child (temp highp int)
+0:36 'a' (temp highp int)
+0:36 Constant:
+0:36 0 (const int)
+0:36 Loop with condition tested first
+0:36 Loop Condition
+0:36 Compare Less Than or Equal (temp bool)
+0:36 'a' (temp highp int)
+0:36 Constant:
+0:36 20 (const int)
+0:36 Loop Body
+0:36 Sequence
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 Compare Equal (temp bool)
+0:36 'ga' (global highp int)
+0:36 Constant:
+0:36 0 (const int)
+0:36 true case
+0:36 move second child to first child (temp highp int)
+0:36 'a' (temp highp int)
+0:36 Constant:
+0:36 4 (const int)
+0:36 Loop Terminal Expression
+0:36 Post-Increment (temp highp int)
+0:36 'a' (temp highp int)
+0:37 Sequence
+0:37 Sequence
+0:37 move second child to first child (temp highp float)
+0:37 'a' (temp highp float)
+0:37 Constant:
+0:37 0.000000
+0:37 Loop with condition tested first
+0:37 Loop Condition
+0:37 Compare Less Than or Equal (temp bool)
+0:37 'a' (temp highp float)
+0:37 Constant:
+0:37 20.000000
+0:37 No loop body
+0:37 Loop Terminal Expression
+0:37 add second child into first child (temp highp float)
+0:37 'a' (temp highp float)
+0:37 Constant:
+0:37 2.000000
+0:38 Sequence
+0:38 Sequence
+0:38 move second child to first child (temp highp float)
+0:38 'a' (temp highp float)
+0:38 Constant:
+0:38 0.000000
+0:38 Loop with condition tested first
+0:38 Loop Condition
+0:38 Compare Not Equal (temp bool)
+0:38 'a' (temp highp float)
+0:38 Constant:
+0:38 20.000000
+0:38 Loop Body
+0:38 Sequence
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Equal (temp bool)
+0:38 'ga' (global highp int)
+0:38 Constant:
+0:38 0 (const int)
+0:38 true case
+0:38 move second child to first child (temp highp int)
+0:38 'ga' (global highp int)
+0:38 Constant:
+0:38 4 (const int)
+0:38 Loop Terminal Expression
+0:38 subtract second child into first child (temp highp float)
+0:38 'a' (temp highp float)
+0:38 Constant:
+0:38 2.000000
+0:39 Sequence
+0:39 Sequence
+0:39 move second child to first child (temp highp float)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 0.000000
+0:39 Loop with condition tested first
+0:39 Loop Condition
+0:39 Compare Equal (temp bool)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 20.000000
+0:39 Loop Body
+0:39 Sequence
+0:39 Sequence
+0:39 move second child to first child (temp highp float)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 0.000000
+0:39 Loop with condition tested first
+0:39 Loop Condition
+0:39 Compare Equal (temp bool)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 20.000000
+0:39 No loop body
+0:39 Loop Terminal Expression
+0:39 Post-Decrement (temp highp float)
+0:39 'a' (temp highp float)
+0:39 Loop Terminal Expression
+0:39 Post-Decrement (temp highp float)
+0:39 'a' (temp highp float)
+0:40 Sequence
+0:40 Sequence
+0:40 move second child to first child (temp highp float)
+0:40 'a' (temp highp float)
+0:40 Constant:
+0:40 0.000000
+0:40 Loop with condition tested first
+0:40 Loop Condition
+0:40 Compare Less Than or Equal (temp bool)
+0:40 'a' (temp highp float)
+0:40 Constant:
+0:40 20.000000
+0:40 No loop body
+0:40 Loop Terminal Expression
+0:40 add second child into first child (temp highp float)
+0:40 'a' (temp highp float)
+0:40 Constant:
+0:40 2.000000
+0:41 Sequence
+0:41 Sequence
+0:41 move second child to first child (temp highp float)
+0:41 'a' (temp highp float)
+0:41 Constant:
+0:41 0.000000
+0:41 Loop with condition tested first
+0:41 Loop Condition
+0:41 Compare Less Than or Equal (temp bool)
+0:41 'a' (temp highp float)
+0:41 Constant:
+0:41 20.000000
+0:41 No loop body
+0:41 Loop Terminal Expression
+0:41 add second child into first child (temp highp float)
+0:41 'a' (temp highp float)
+0:41 Constant:
+0:41 2.000000
+0:42 Sequence
+0:42 Sequence
+0:42 move second child to first child (temp highp float)
+0:42 'a' (temp highp float)
+0:42 Constant:
+0:42 0.000000
+0:42 Loop with condition tested first
+0:42 Loop Condition
+0:42 Compare Greater Than (temp bool)
+0:42 'a' (temp highp float)
+0:42 Constant:
+0:42 40.000000
+0:42 No loop body
+0:42 Loop Terminal Expression
+0:42 add second child into first child (temp highp float)
+0:42 'a' (temp highp float)
+0:42 Constant:
+0:42 2.000000
+0:43 Sequence
+0:43 Sequence
+0:43 move second child to first child (temp highp float)
+0:43 'a' (temp highp float)
+0:43 Constant:
+0:43 0.000000
+0:43 Loop with condition tested first
+0:43 Loop Condition
+0:43 Compare Greater Than or Equal (temp bool)
+0:43 'a' (temp highp float)
+0:43 Constant:
+0:43 20.000000
+0:43 Loop Body
+0:43 Function Call: foo(f1; (global void)
+0:43 'a' (temp highp float)
+0:43 Loop Terminal Expression
+0:43 add second child into first child (temp highp float)
+0:43 'a' (temp highp float)
+0:43 Constant:
+0:43 2.000000
+0:47 indirect index (temp lowp sampler2D)
+0:47 'fsa' (uniform 3-element array of lowp sampler2D)
+0:47 'ga' (global highp int)
+0:48 indirect index (temp highp float)
+0:48 'fua' (uniform 10-element array of highp float)
+0:48 'ga' (global highp int)
+0:49 indirect index (temp highp 3-component vector of float)
+0:49 'am3' (in highp 3X3 matrix of float)
+0:49 'ga' (global highp int)
+0:50 indirect index (temp highp float)
+0:50 'av2' (in highp 2-component vector of float)
+0:50 'ga' (global highp int)
+0:51 indirect index (smooth temp highp 4-component vector of float)
+0:51 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:51 add (temp highp int)
+0:51 Constant:
+0:51 2 (const int)
+0:51 'ga' (global highp int)
+0:52 indirect index (temp highp 2-component vector of float)
+0:52 Constant:
+0:52 1.000000
+0:52 0.000000
+0:52 0.000000
+0:52 1.000000
+0:52 'ga' (global highp int)
+0:53 indirect index (temp highp float)
+0:53 Constant:
+0:53 2.000000
+0:53 2.000000
+0:53 2.000000
+0:53 divide (temp highp int)
+0:53 'ga' (global highp int)
+0:53 Constant:
+0:53 2 (const int)
+0:54 indirect index (temp highp int)
+0:54 'ia' (temp 9-element array of highp int)
+0:54 'ga' (global highp int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp highp int)
+0:56 'a' (temp highp int)
+0:56 Constant:
+0:56 3 (const int)
+0:56 Loop with condition tested first
+0:56 Loop Condition
+0:56 Compare Greater Than or Equal (temp bool)
+0:56 'a' (temp highp int)
+0:56 Constant:
+0:56 0 (const int)
+0:56 Loop Body
+0:57 Sequence
+0:57 indirect index (temp lowp sampler2D)
+0:57 'fsa' (uniform 3-element array of lowp sampler2D)
+0:57 'a' (temp highp int)
+0:58 indirect index (temp highp float)
+0:58 'fua' (uniform 10-element array of highp float)
+0:58 add (temp highp int)
+0:58 'a' (temp highp int)
+0:58 Constant:
+0:58 2 (const int)
+0:59 indirect index (temp highp 3-component vector of float)
+0:59 'am3' (in highp 3X3 matrix of float)
+0:59 component-wise multiply (temp highp int)
+0:59 Constant:
+0:59 3 (const int)
+0:59 'a' (temp highp int)
+0:60 indirect index (temp highp float)
+0:60 'av2' (in highp 2-component vector of float)
+0:60 component-wise multiply (temp highp int)
+0:60 Constant:
+0:60 3 (const int)
+0:60 'a' (temp highp int)
+0:61 indirect index (smooth temp highp 4-component vector of float)
+0:61 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:61 subtract (temp highp int)
+0:61 'a' (temp highp int)
+0:61 Constant:
+0:61 1 (const int)
+0:62 indirect index (temp highp 2-component vector of float)
+0:62 Constant:
+0:62 1.000000
+0:62 0.000000
+0:62 0.000000
+0:62 1.000000
+0:62 divide (temp highp int)
+0:62 'a' (temp highp int)
+0:62 Constant:
+0:62 2 (const int)
+0:63 indirect index (temp highp float)
+0:63 Constant:
+0:63 2.000000
+0:63 2.000000
+0:63 2.000000
+0:63 'a' (temp highp int)
+0:64 indirect index (temp highp int)
+0:64 'ia' (temp 9-element array of highp int)
+0:64 'a' (temp highp int)
+0:65 indirect index (temp highp int)
+0:65 'ia' (temp 9-element array of highp int)
+0:65 Function Call: bar( (global highp int)
+0:56 Loop Terminal Expression
+0:56 Post-Decrement (temp highp int)
+0:56 'a' (temp highp int)
+0:68 direct index (temp lowp sampler2D)
+0:68 'fsa' (uniform 3-element array of lowp sampler2D)
+0:68 Constant:
+0:68 2 (const int)
+0:69 direct index (temp highp float)
+0:69 'fua' (uniform 10-element array of highp float)
+0:69 Constant:
+0:69 3 (const int)
+0:70 direct index (temp highp 3-component vector of float)
+0:70 'am3' (in highp 3X3 matrix of float)
+0:70 Constant:
+0:70 2 (const int)
+0:71 direct index (temp highp float)
+0:71 'av2' (in highp 2-component vector of float)
+0:71 Constant:
+0:71 1 (const int)
+0:72 direct index (smooth temp highp 4-component vector of float)
+0:72 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:72 Constant:
+0:72 1 (const int)
+0:73 Constant:
+0:73 0.000000
+0:73 1.000000
+0:74 Constant:
+0:74 2.000000
+0:75 direct index (temp highp int)
+0:75 'ia' (temp 9-element array of highp int)
+0:75 Constant:
+0:75 3 (const int)
+0:? Linker Objects
+0:? 'ga' (global highp int)
+0:? 'gb' (global highp int)
+0:? 'f' (global highp float)
+0:? 'fsa' (uniform 3-element array of lowp sampler2D)
+0:? 'fua' (uniform 10-element array of highp float)
+0:? 'am3' (in highp 3X3 matrix of float)
+0:? 'av2' (in highp 2-component vector of float)
+0:? 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:? 'm2' (const highp 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'v3' (const highp 3-component vector of float)
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+
+
+Linked vertex stage:
+
+
+Shader version: 100
+0:? Sequence
+0:15 Function Definition: foo(f1; (global void)
+0:15 Function Parameters:
+0:15 'a' (inout highp float)
+0:17 Function Definition: bar( (global highp int)
+0:17 Function Parameters:
+0:19 Sequence
+0:19 Branch: Return with expression
+0:19 Constant:
+0:19 1 (const int)
+0:22 Function Definition: main( (global void)
+0:22 Function Parameters:
+0:24 Sequence
+0:24 Loop with condition tested first
+0:24 Loop Condition
+0:24 Compare Less Than (temp bool)
+0:24 'ga' (global highp int)
+0:24 'gb' (global highp int)
+0:24 No loop body
+0:26 Loop with condition not tested first
+0:26 Loop Condition
+0:26 Constant:
+0:26 false (const bool)
+0:26 No loop body
+0:28 Sequence
+0:28 Loop with condition tested first
+0:28 No loop condition
+0:28 No loop body
+0:29 Sequence
+0:29 Loop with condition tested first
+0:29 Loop Condition
+0:29 Compare Equal (temp bool)
+0:29 'ga' (global highp int)
+0:29 'gb' (global highp int)
+0:29 No loop body
+0:30 Sequence
+0:30 Loop with condition tested first
+0:30 No loop condition
+0:30 No loop body
+0:30 Loop Terminal Expression
+0:30 Post-Increment (temp highp float)
+0:30 'f' (global highp float)
+0:31 Sequence
+0:31 move second child to first child (temp highp int)
+0:31 'ga' (global highp int)
+0:31 Constant:
+0:31 0 (const int)
+0:31 Loop with condition tested first
+0:31 No loop condition
+0:31 No loop body
+0:32 Sequence
+0:32 Sequence
+0:32 move second child to first child (temp bool)
+0:32 'a' (temp bool)
+0:32 Constant:
+0:32 false (const bool)
+0:32 Loop with condition tested first
+0:32 No loop condition
+0:32 No loop body
+0:33 Sequence
+0:33 Sequence
+0:33 move second child to first child (temp highp float)
+0:33 'a' (temp highp float)
+0:33 Constant:
+0:33 0.000000
+0:33 Loop with condition tested first
+0:33 Loop Condition
+0:33 Compare Equal (temp bool)
+0:33 'a' (temp highp float)
+0:33 sine (global highp float)
+0:33 'f' (global highp float)
+0:33 No loop body
+0:34 Sequence
+0:34 Sequence
+0:34 move second child to first child (temp highp int)
+0:34 'a' (temp highp int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 Loop with condition tested first
+0:34 Loop Condition
+0:34 Compare Less Than (temp bool)
+0:34 'a' (temp highp int)
+0:34 Constant:
+0:34 10 (const int)
+0:34 No loop body
+0:34 Loop Terminal Expression
+0:34 multiply second child into first child (temp highp int)
+0:34 'a' (temp highp int)
+0:34 Constant:
+0:34 2 (const int)
+0:35 Sequence
+0:35 Sequence
+0:35 move second child to first child (temp highp int)
+0:35 'a' (temp highp int)
+0:35 Constant:
+0:35 0 (const int)
+0:35 Loop with condition tested first
+0:35 Loop Condition
+0:35 Compare Less Than or Equal (temp bool)
+0:35 'a' (temp highp int)
+0:35 Constant:
+0:35 20 (const int)
+0:35 Loop Body
+0:35 Pre-Decrement (temp highp int)
+0:35 'a' (temp highp int)
+0:35 Loop Terminal Expression
+0:35 Post-Increment (temp highp int)
+0:35 'a' (temp highp int)
+0:36 Sequence
+0:36 Sequence
+0:36 move second child to first child (temp highp int)
+0:36 'a' (temp highp int)
+0:36 Constant:
+0:36 0 (const int)
+0:36 Loop with condition tested first
+0:36 Loop Condition
+0:36 Compare Less Than or Equal (temp bool)
+0:36 'a' (temp highp int)
+0:36 Constant:
+0:36 20 (const int)
+0:36 Loop Body
+0:36 Sequence
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 Compare Equal (temp bool)
+0:36 'ga' (global highp int)
+0:36 Constant:
+0:36 0 (const int)
+0:36 true case
+0:36 move second child to first child (temp highp int)
+0:36 'a' (temp highp int)
+0:36 Constant:
+0:36 4 (const int)
+0:36 Loop Terminal Expression
+0:36 Post-Increment (temp highp int)
+0:36 'a' (temp highp int)
+0:37 Sequence
+0:37 Sequence
+0:37 move second child to first child (temp highp float)
+0:37 'a' (temp highp float)
+0:37 Constant:
+0:37 0.000000
+0:37 Loop with condition tested first
+0:37 Loop Condition
+0:37 Compare Less Than or Equal (temp bool)
+0:37 'a' (temp highp float)
+0:37 Constant:
+0:37 20.000000
+0:37 No loop body
+0:37 Loop Terminal Expression
+0:37 add second child into first child (temp highp float)
+0:37 'a' (temp highp float)
+0:37 Constant:
+0:37 2.000000
+0:38 Sequence
+0:38 Sequence
+0:38 move second child to first child (temp highp float)
+0:38 'a' (temp highp float)
+0:38 Constant:
+0:38 0.000000
+0:38 Loop with condition tested first
+0:38 Loop Condition
+0:38 Compare Not Equal (temp bool)
+0:38 'a' (temp highp float)
+0:38 Constant:
+0:38 20.000000
+0:38 Loop Body
+0:38 Sequence
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Equal (temp bool)
+0:38 'ga' (global highp int)
+0:38 Constant:
+0:38 0 (const int)
+0:38 true case
+0:38 move second child to first child (temp highp int)
+0:38 'ga' (global highp int)
+0:38 Constant:
+0:38 4 (const int)
+0:38 Loop Terminal Expression
+0:38 subtract second child into first child (temp highp float)
+0:38 'a' (temp highp float)
+0:38 Constant:
+0:38 2.000000
+0:39 Sequence
+0:39 Sequence
+0:39 move second child to first child (temp highp float)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 0.000000
+0:39 Loop with condition tested first
+0:39 Loop Condition
+0:39 Compare Equal (temp bool)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 20.000000
+0:39 Loop Body
+0:39 Sequence
+0:39 Sequence
+0:39 move second child to first child (temp highp float)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 0.000000
+0:39 Loop with condition tested first
+0:39 Loop Condition
+0:39 Compare Equal (temp bool)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 20.000000
+0:39 No loop body
+0:39 Loop Terminal Expression
+0:39 Post-Decrement (temp highp float)
+0:39 'a' (temp highp float)
+0:39 Loop Terminal Expression
+0:39 Post-Decrement (temp highp float)
+0:39 'a' (temp highp float)
+0:40 Sequence
+0:40 Sequence
+0:40 move second child to first child (temp highp float)
+0:40 'a' (temp highp float)
+0:40 Constant:
+0:40 0.000000
+0:40 Loop with condition tested first
+0:40 Loop Condition
+0:40 Compare Less Than or Equal (temp bool)
+0:40 'a' (temp highp float)
+0:40 Constant:
+0:40 20.000000
+0:40 No loop body
+0:40 Loop Terminal Expression
+0:40 add second child into first child (temp highp float)
+0:40 'a' (temp highp float)
+0:40 Constant:
+0:40 2.000000
+0:41 Sequence
+0:41 Sequence
+0:41 move second child to first child (temp highp float)
+0:41 'a' (temp highp float)
+0:41 Constant:
+0:41 0.000000
+0:41 Loop with condition tested first
+0:41 Loop Condition
+0:41 Compare Less Than or Equal (temp bool)
+0:41 'a' (temp highp float)
+0:41 Constant:
+0:41 20.000000
+0:41 No loop body
+0:41 Loop Terminal Expression
+0:41 add second child into first child (temp highp float)
+0:41 'a' (temp highp float)
+0:41 Constant:
+0:41 2.000000
+0:42 Sequence
+0:42 Sequence
+0:42 move second child to first child (temp highp float)
+0:42 'a' (temp highp float)
+0:42 Constant:
+0:42 0.000000
+0:42 Loop with condition tested first
+0:42 Loop Condition
+0:42 Compare Greater Than (temp bool)
+0:42 'a' (temp highp float)
+0:42 Constant:
+0:42 40.000000
+0:42 No loop body
+0:42 Loop Terminal Expression
+0:42 add second child into first child (temp highp float)
+0:42 'a' (temp highp float)
+0:42 Constant:
+0:42 2.000000
+0:43 Sequence
+0:43 Sequence
+0:43 move second child to first child (temp highp float)
+0:43 'a' (temp highp float)
+0:43 Constant:
+0:43 0.000000
+0:43 Loop with condition tested first
+0:43 Loop Condition
+0:43 Compare Greater Than or Equal (temp bool)
+0:43 'a' (temp highp float)
+0:43 Constant:
+0:43 20.000000
+0:43 Loop Body
+0:43 Function Call: foo(f1; (global void)
+0:43 'a' (temp highp float)
+0:43 Loop Terminal Expression
+0:43 add second child into first child (temp highp float)
+0:43 'a' (temp highp float)
+0:43 Constant:
+0:43 2.000000
+0:47 indirect index (temp lowp sampler2D)
+0:47 'fsa' (uniform 3-element array of lowp sampler2D)
+0:47 'ga' (global highp int)
+0:48 indirect index (temp highp float)
+0:48 'fua' (uniform 10-element array of highp float)
+0:48 'ga' (global highp int)
+0:49 indirect index (temp highp 3-component vector of float)
+0:49 'am3' (in highp 3X3 matrix of float)
+0:49 'ga' (global highp int)
+0:50 indirect index (temp highp float)
+0:50 'av2' (in highp 2-component vector of float)
+0:50 'ga' (global highp int)
+0:51 indirect index (smooth temp highp 4-component vector of float)
+0:51 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:51 add (temp highp int)
+0:51 Constant:
+0:51 2 (const int)
+0:51 'ga' (global highp int)
+0:52 indirect index (temp highp 2-component vector of float)
+0:52 Constant:
+0:52 1.000000
+0:52 0.000000
+0:52 0.000000
+0:52 1.000000
+0:52 'ga' (global highp int)
+0:53 indirect index (temp highp float)
+0:53 Constant:
+0:53 2.000000
+0:53 2.000000
+0:53 2.000000
+0:53 divide (temp highp int)
+0:53 'ga' (global highp int)
+0:53 Constant:
+0:53 2 (const int)
+0:54 indirect index (temp highp int)
+0:54 'ia' (temp 9-element array of highp int)
+0:54 'ga' (global highp int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp highp int)
+0:56 'a' (temp highp int)
+0:56 Constant:
+0:56 3 (const int)
+0:56 Loop with condition tested first
+0:56 Loop Condition
+0:56 Compare Greater Than or Equal (temp bool)
+0:56 'a' (temp highp int)
+0:56 Constant:
+0:56 0 (const int)
+0:56 Loop Body
+0:57 Sequence
+0:57 indirect index (temp lowp sampler2D)
+0:57 'fsa' (uniform 3-element array of lowp sampler2D)
+0:57 'a' (temp highp int)
+0:58 indirect index (temp highp float)
+0:58 'fua' (uniform 10-element array of highp float)
+0:58 add (temp highp int)
+0:58 'a' (temp highp int)
+0:58 Constant:
+0:58 2 (const int)
+0:59 indirect index (temp highp 3-component vector of float)
+0:59 'am3' (in highp 3X3 matrix of float)
+0:59 component-wise multiply (temp highp int)
+0:59 Constant:
+0:59 3 (const int)
+0:59 'a' (temp highp int)
+0:60 indirect index (temp highp float)
+0:60 'av2' (in highp 2-component vector of float)
+0:60 component-wise multiply (temp highp int)
+0:60 Constant:
+0:60 3 (const int)
+0:60 'a' (temp highp int)
+0:61 indirect index (smooth temp highp 4-component vector of float)
+0:61 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:61 subtract (temp highp int)
+0:61 'a' (temp highp int)
+0:61 Constant:
+0:61 1 (const int)
+0:62 indirect index (temp highp 2-component vector of float)
+0:62 Constant:
+0:62 1.000000
+0:62 0.000000
+0:62 0.000000
+0:62 1.000000
+0:62 divide (temp highp int)
+0:62 'a' (temp highp int)
+0:62 Constant:
+0:62 2 (const int)
+0:63 indirect index (temp highp float)
+0:63 Constant:
+0:63 2.000000
+0:63 2.000000
+0:63 2.000000
+0:63 'a' (temp highp int)
+0:64 indirect index (temp highp int)
+0:64 'ia' (temp 9-element array of highp int)
+0:64 'a' (temp highp int)
+0:65 indirect index (temp highp int)
+0:65 'ia' (temp 9-element array of highp int)
+0:65 Function Call: bar( (global highp int)
+0:56 Loop Terminal Expression
+0:56 Post-Decrement (temp highp int)
+0:56 'a' (temp highp int)
+0:68 direct index (temp lowp sampler2D)
+0:68 'fsa' (uniform 3-element array of lowp sampler2D)
+0:68 Constant:
+0:68 2 (const int)
+0:69 direct index (temp highp float)
+0:69 'fua' (uniform 10-element array of highp float)
+0:69 Constant:
+0:69 3 (const int)
+0:70 direct index (temp highp 3-component vector of float)
+0:70 'am3' (in highp 3X3 matrix of float)
+0:70 Constant:
+0:70 2 (const int)
+0:71 direct index (temp highp float)
+0:71 'av2' (in highp 2-component vector of float)
+0:71 Constant:
+0:71 1 (const int)
+0:72 direct index (smooth temp highp 4-component vector of float)
+0:72 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:72 Constant:
+0:72 1 (const int)
+0:73 Constant:
+0:73 0.000000
+0:73 1.000000
+0:74 Constant:
+0:74 2.000000
+0:75 direct index (temp highp int)
+0:75 'ia' (temp 9-element array of highp int)
+0:75 Constant:
+0:75 3 (const int)
+0:? Linker Objects
+0:? 'ga' (global highp int)
+0:? 'gb' (global highp int)
+0:? 'f' (global highp float)
+0:? 'fsa' (uniform 3-element array of lowp sampler2D)
+0:? 'fua' (uniform 10-element array of highp float)
+0:? 'am3' (in highp 3X3 matrix of float)
+0:? 'av2' (in highp 2-component vector of float)
+0:? 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:? 'm2' (const highp 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'v3' (const highp 3-component vector of float)
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/100LimitsConf.vert.out b/chromium/third_party/glslang/src/Test/baseResults/100LimitsConf.vert.out
new file mode 100644
index 00000000000..e27c2cc70cf
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/100LimitsConf.vert.out
@@ -0,0 +1,28 @@
+100Limits.vert
+ERROR: 0:24: 'limitation' : while loops not available
+ERROR: 0:26: 'limitation' : do-while loops not available
+ERROR: 0:28: 'limitations' : inductive-loop init-declaration requires the form "type-specifier loop-index = constant-expression"
+ERROR: 0:29: 'limitations' : inductive-loop init-declaration requires the form "type-specifier loop-index = constant-expression"
+ERROR: 0:30: 'limitations' : inductive-loop init-declaration requires the form "type-specifier loop-index = constant-expression"
+ERROR: 0:31: 'limitations' : inductive-loop init-declaration requires the form "type-specifier loop-index = constant-expression"
+ERROR: 0:32: 'limitations' : inductive loop requires a scalar 'int' or 'float' loop index
+ERROR: 0:33: 'limitations' : inductive-loop condition requires the form "loop-index <comparison-op> constant-expression"
+ERROR: 0:34: 'limitations' : inductive-loop termination requires the form "loop-index++, loop-index--, loop-index += constant-expression, or loop-index -= constant-expression"
+ERROR: 0:35: 'limitations' : inductive loop index modified
+ERROR: 0:36: 'limitations' : inductive loop index modified
+ERROR: 0:43: 'limitations' : inductive loop index modified
+ERROR: 0:47: 'limitations' : Non-constant-index-expression
+ERROR: 0:49: 'limitations' : Non-constant-index-expression
+ERROR: 0:50: 'limitations' : Non-constant-index-expression
+ERROR: 0:51: 'limitations' : Non-constant-index-expression
+ERROR: 0:52: 'limitations' : Non-constant-index-expression
+ERROR: 0:53: 'limitations' : Non-constant-index-expression
+ERROR: 0:54: 'limitations' : Non-constant-index-expression
+ERROR: 0:65: 'limitations' : Non-constant-index-expression
+ERROR: 20 compilation errors. No code generated.
+
+
+
+Linked vertex stage:
+
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/100scope.vert.out b/chromium/third_party/glslang/src/Test/baseResults/100scope.vert.out
new file mode 100644
index 00000000000..2b542b0c679
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/100scope.vert.out
@@ -0,0 +1,240 @@
+100scope.vert
+ERROR: 0:5: 'a' : redefinition
+ERROR: 0:17: 'b' : function name is redeclaration of existing name
+ERROR: 0:20: 'c' : redefinition
+ERROR: 0:22: 'f' : redefinition
+ERROR: 0:24: 'redefinition of built-in function' : not supported with this profile: es
+ERROR: 0:24: 'highp' : overloaded functions must have the same parameter precision qualifiers for argument 1
+ERROR: 0:25: 'redefinition of built-in function' : not supported with this profile: es
+ERROR: 0:25: 'highp' : overloaded functions must have the same parameter precision qualifiers for argument 1
+ERROR: 0:38: 'local function declaration' : not supported with this profile: es
+ERROR: 0:43: 'sin' : can't use function syntax on variable
+ERROR: 0:57: 'z' : undeclared identifier
+ERROR: 0:57: 'z' : redefinition
+ERROR: 0:73: 'degrees' : can't use function syntax on variable
+ERROR: 0:76: 'vertex-shader struct output' : not supported for this version or the enabled extensions
+ERROR: 14 compilation errors. No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global highp int)
+0:3 Function Parameters:
+0:3 'a' (in highp int)
+0:3 'b' (in highp int)
+0:3 'c' (in highp int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp highp float)
+0:8 'a' (temp highp float)
+0:8 add (temp highp float)
+0:8 Convert int to float (temp highp float)
+0:8 'a' (in highp int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in highp int)
+0:25 Function Definition: cos(f1; (global highp float)
+0:25 Function Parameters:
+0:25 'x' (in highp float)
+0:27 Sequence
+0:27 Branch: Return with expression
+0:27 Constant:
+0:27 1.000000
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 true (const bool)
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp highp int)
+0:42 'sin' (temp highp float)
+0:43 Constant:
+0:43 0.000000
+0:44 Function Call: f(i1;i1;i1; (global highp int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp highp float)
+0:47 'f' (temp highp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position)
+0:49 Construct vec4 (temp highp 4-component vector of float)
+0:49 'f' (temp highp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp highp int)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp highp int)
+0:52 'f' (temp highp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp highp int)
+0:51 'f' (temp highp int)
+0:54 Sequence
+0:54 move second child to first child (temp highp int)
+0:54 'x' (temp highp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp highp float)
+0:56 'x' (temp highp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp highp float)
+0:56 'y' (temp highp float)
+0:56 'x' (temp highp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp highp int)
+0:60 'x' (temp highp int)
+0:60 'x' (temp highp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp highp int x})
+0:68 'S' (temp structure{temp highp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp highp int)
+0:69 'S' (temp structure{temp highp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 0.000000
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'tan' (global highp float)
+0:? 's' (smooth out structure{global highp float f})
+
+
+Linked vertex stage:
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global highp int)
+0:3 Function Parameters:
+0:3 'a' (in highp int)
+0:3 'b' (in highp int)
+0:3 'c' (in highp int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp highp float)
+0:8 'a' (temp highp float)
+0:8 add (temp highp float)
+0:8 Convert int to float (temp highp float)
+0:8 'a' (in highp int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in highp int)
+0:25 Function Definition: cos(f1; (global highp float)
+0:25 Function Parameters:
+0:25 'x' (in highp float)
+0:27 Sequence
+0:27 Branch: Return with expression
+0:27 Constant:
+0:27 1.000000
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 true (const bool)
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp highp int)
+0:42 'sin' (temp highp float)
+0:43 Constant:
+0:43 0.000000
+0:44 Function Call: f(i1;i1;i1; (global highp int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp highp float)
+0:47 'f' (temp highp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position)
+0:49 Construct vec4 (temp highp 4-component vector of float)
+0:49 'f' (temp highp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp highp int)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp highp int)
+0:52 'f' (temp highp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp highp int)
+0:51 'f' (temp highp int)
+0:54 Sequence
+0:54 move second child to first child (temp highp int)
+0:54 'x' (temp highp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp highp float)
+0:56 'x' (temp highp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp highp float)
+0:56 'y' (temp highp float)
+0:56 'x' (temp highp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp highp int)
+0:60 'x' (temp highp int)
+0:60 'x' (temp highp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp highp int x})
+0:68 'S' (temp structure{temp highp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp highp int)
+0:69 'S' (temp structure{temp highp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 0.000000
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'tan' (global highp float)
+0:? 's' (smooth out structure{global highp float f})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/110scope.vert.out b/chromium/third_party/glslang/src/Test/baseResults/110scope.vert.out
new file mode 100644
index 00000000000..5f41b86bae7
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/110scope.vert.out
@@ -0,0 +1,256 @@
+110scope.vert
+ERROR: 0:5: 'a' : redefinition
+ERROR: 0:34: 'f' : can't call user function from global scope
+ERROR: 0:57: 'z' : undeclared identifier
+ERROR: 0:57: 'z' : redefinition
+ERROR: 4 compilation errors. No code generated.
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global int)
+0:3 Function Parameters:
+0:3 'a' (in int)
+0:3 'b' (in int)
+0:3 'c' (in int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'a' (temp float)
+0:8 add (temp float)
+0:8 Convert int to float (temp float)
+0:8 'a' (in int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in int)
+0:25 Function Definition: cos(f1; (global float)
+0:25 Function Parameters:
+0:25 'x' (in float)
+0:27 Sequence
+0:27 Branch: Return with expression
+0:27 Constant:
+0:27 1.000000
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 true (const bool)
+0:34 Sequence
+0:34 move second child to first child (temp int)
+0:34 'gi' (global int)
+0:34 Function Call: f(i1;i1;i1; (global int)
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:34 Constant:
+0:34 3 (const int)
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp int)
+0:42 'sin' (temp float)
+0:43 Function Call: sin(f1; (global float)
+0:43 Constant:
+0:43 0.700000
+0:44 Function Call: f(i1;i1;i1; (global int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp float)
+0:47 'f' (temp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 'gl_Position' (gl_Position 4-component vector of float Position)
+0:49 Construct vec4 (temp 4-component vector of float)
+0:49 'f' (temp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp int)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp int)
+0:52 'f' (temp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp int)
+0:51 'f' (temp int)
+0:54 Sequence
+0:54 move second child to first child (temp int)
+0:54 'x' (temp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 'x' (temp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp float)
+0:56 'y' (temp float)
+0:56 'x' (temp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp int)
+0:60 'x' (temp int)
+0:60 'x' (temp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp int x})
+0:68 'S' (temp structure{temp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp int)
+0:69 'S' (temp structure{temp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 183.346494
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'c' (global bool)
+0:? 'f' (global float)
+0:? 'tan' (global float)
+0:? 'gi' (global int)
+
+
+Linked vertex stage:
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global int)
+0:3 Function Parameters:
+0:3 'a' (in int)
+0:3 'b' (in int)
+0:3 'c' (in int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'a' (temp float)
+0:8 add (temp float)
+0:8 Convert int to float (temp float)
+0:8 'a' (in int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in int)
+0:25 Function Definition: cos(f1; (global float)
+0:25 Function Parameters:
+0:25 'x' (in float)
+0:27 Sequence
+0:27 Branch: Return with expression
+0:27 Constant:
+0:27 1.000000
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 true (const bool)
+0:34 Sequence
+0:34 move second child to first child (temp int)
+0:34 'gi' (global int)
+0:34 Function Call: f(i1;i1;i1; (global int)
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:34 Constant:
+0:34 3 (const int)
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp int)
+0:42 'sin' (temp float)
+0:43 Function Call: sin(f1; (global float)
+0:43 Constant:
+0:43 0.700000
+0:44 Function Call: f(i1;i1;i1; (global int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp float)
+0:47 'f' (temp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 'gl_Position' (gl_Position 4-component vector of float Position)
+0:49 Construct vec4 (temp 4-component vector of float)
+0:49 'f' (temp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp int)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp int)
+0:52 'f' (temp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp int)
+0:51 'f' (temp int)
+0:54 Sequence
+0:54 move second child to first child (temp int)
+0:54 'x' (temp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 'x' (temp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp float)
+0:56 'y' (temp float)
+0:56 'x' (temp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp int)
+0:60 'x' (temp int)
+0:60 'x' (temp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp int x})
+0:68 'S' (temp structure{temp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp int)
+0:69 'S' (temp structure{temp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 183.346494
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'c' (global bool)
+0:? 'f' (global float)
+0:? 'tan' (global float)
+0:? 'gi' (global int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/120.frag.out b/chromium/third_party/glslang/src/Test/baseResults/120.frag.out
new file mode 100644
index 00000000000..0d10b0e9fbe
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/120.frag.out
@@ -0,0 +1,1193 @@
+120.frag
+ERROR: 0:9: 'in for stage inputs' : not supported for this version or the enabled extensions
+ERROR: 0:10: 'out for stage outputs' : not supported for this version or the enabled extensions
+ERROR: 0:54: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp 2-component vector of float' and a right operand of type 'temp 3-component vector of float' (or there is no acceptable conversion)
+ERROR: 0:55: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'uniform 4X2 matrix of float' and a right operand of type 'temp 3-component vector of float' (or there is no acceptable conversion)
+ERROR: 0:56: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'uniform 4X2 matrix of float' and a right operand of type 'smooth in 4-component vector of float' (or there is no acceptable conversion)
+ERROR: 0:57: '=' : cannot convert from 'const float' to 'temp int'
+ERROR: 0:58: 'assign' : cannot convert from 'temp bool' to 'temp float'
+ERROR: 0:59: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp int' and a right operand of type 'temp bool' (or there is no acceptable conversion)
+ERROR: 0:60: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp int' (or there is no acceptable conversion)
+ERROR: 0:60: 'assign' : cannot convert from 'temp bool' to 'temp float'
+ERROR: 0:61: 'assign' : cannot convert from 'temp int' to 'temp bool'
+ERROR: 0:62: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp float' (or there is no acceptable conversion)
+ERROR: 0:63: 'bitwise-or assign' : not supported for this version or the enabled extensions
+ERROR: 0:63: 'assign' : cannot convert from 'temp bool' to 'temp float'
+ERROR: 0:79: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type 'temp 4-component vector of float' and a right operand of type 'temp 4X4 matrix of float' (or there is no acceptable conversion)
+ERROR: 0:79: 'assign' : cannot convert from 'temp 4X4 matrix of float' to 'fragColor 4-component vector of float FragColor'
+ERROR: 0:82: 'xr' : illegal - vector component fields not from the same set
+ERROR: 0:83: 'xyxyx' : illegal vector field selection
+ERROR: 0:83: 'scalar swizzle' : not supported for this version or the enabled extensions
+ERROR: 0:83: 'xy' : vector field selection out of range
+ERROR: 0:84: 'z' : vector field selection out of range
+ERROR: 0:85: 'assign' : l-value required
+ERROR: 0:91: 'int' : overloaded functions must have the same return type
+ERROR: 0:91: 'main' : function already has a body
+ERROR: 0:91: 'int' : main function cannot return a value
+ERROR: 0:92: 'main' : function cannot take any parameter(s)
+ERROR: 0:94: 'a' : variables with qualifier 'const' must be initialized
+ERROR: 0:97: 'out' : overloaded functions must have the same parameter storage qualifiers for argument 1
+ERROR: 0:99: 'return' : type does not match, or is not convertible to, the function's return type
+ERROR: 0:115: 'return' : void function cannot return a value
+ERROR: 0:125: 'gl_TexCoord' : redeclaration of array with size
+ERROR: 0:152: 'matrixCompMult' : no matching overloaded function found
+ERROR: 0:152: '=' : cannot convert from 'const float' to 'temp 3X2 matrix of float'
+ERROR: 0:153: 'matrixCompMult' : no matching overloaded function found
+ERROR: 0:153: '=' : cannot convert from 'const float' to 'temp 3X4 matrix of float'
+ERROR: 0:160: 'constructor' : not enough data provided for construction
+ERROR: 0:160: '=' : cannot convert from 'const float' to 'temp 4X4 matrix of float'
+ERROR: 0:161: 'constructor' : too many arguments
+ERROR: 0:161: '=' : cannot convert from 'const float' to 'temp 4X4 matrix of float'
+ERROR: 0:165: 'constructor' : matrix constructed from matrix can only have one argument
+ERROR: 0:166: 'constructor' : matrix constructed from matrix can only have one argument
+ERROR: 0:172: 'constructor' : array constructor needs one argument per array element
+ERROR: 0:172: '=' : cannot convert from 'const float' to 'temp 2-element array of 3X3 matrix of float'
+ERROR: 0:184: 'texture2DLod' : required extension not requested: GL_ARB_shader_texture_lod
+ERROR: 0:185: 'texture3DProjLod' : required extension not requested: GL_ARB_shader_texture_lod
+ERROR: 0:186: 'texture1DProjLod' : required extension not requested: GL_ARB_shader_texture_lod
+ERROR: 0:187: 'shadow2DProjLod' : required extension not requested: GL_ARB_shader_texture_lod
+ERROR: 0:189: 'texture1DGradARB' : required extension not requested: GL_ARB_shader_texture_lod
+ERROR: 0:190: 'texture2DProjGradARB' : required extension not requested: GL_ARB_shader_texture_lod
+ERROR: 0:191: 'shadow2DProjGradARB' : required extension not requested: GL_ARB_shader_texture_lod
+ERROR: 0:209: 'shadow2DRectProjGradARB' : no matching overloaded function found
+ERROR: 0:209: 'assign' : cannot convert from 'const float' to 'temp 4-component vector of float'
+ERROR: 0:212: 'sampler2DRect' : Reserved word.
+ERROR: 53 compilation errors. No code generated.
+
+
+Shader version: 120
+Requested GL_ARB_shader_texture_lod
+Requested GL_ARB_texture_rectangle
+ERROR: node is still EOpNull!
+0:21 Function Definition: main( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp 2X3 matrix of float)
+0:23 'm23' (temp 2X3 matrix of float)
+0:23 Construct mat2x3 (temp 2X3 matrix of float)
+0:23 'm' (uniform 4X2 matrix of float)
+0:27 Sequence
+0:27 move second child to first child (temp structure{global float f})
+0:27 'sv' (temp structure{global float f})
+0:27 Construct structure (temp structure{global float f})
+0:27 Convert int to float (temp float)
+0:27 'a' (temp int)
+0:28 Sequence
+0:28 move second child to first child (temp 2-element array of float)
+0:28 'ia' (temp 2-element array of float)
+0:28 Construct float (temp 2-element array of float)
+0:28 Constant:
+0:28 3.000000
+0:28 direct index (temp float)
+0:28 'i' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 1 (const int)
+0:29 Sequence
+0:29 move second child to first child (temp float)
+0:29 'f1' (temp float)
+0:29 Constant:
+0:29 1.000000
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'f' (temp float)
+0:30 Convert int to float (temp float)
+0:30 'a' (temp int)
+0:31 move second child to first child (temp float)
+0:31 'f' (temp float)
+0:31 Convert int to float (temp float)
+0:31 'a' (temp int)
+0:33 Sequence
+0:33 move second child to first child (temp 3-component vector of float)
+0:33 'v3' (temp 3-component vector of float)
+0:33 Convert int to float (temp 3-component vector of float)
+0:33 'iv3' (temp 3-component vector of int)
+0:34 move second child to first child (temp float)
+0:34 'f' (temp float)
+0:34 add (temp float)
+0:34 'f' (temp float)
+0:34 Convert int to float (temp float)
+0:34 'a' (temp int)
+0:35 move second child to first child (temp float)
+0:35 'f' (temp float)
+0:35 subtract (temp float)
+0:35 Convert int to float (temp float)
+0:35 'a' (temp int)
+0:35 'f' (temp float)
+0:36 add second child into first child (temp float)
+0:36 'f' (temp float)
+0:36 Convert int to float (temp float)
+0:36 'a' (temp int)
+0:37 move second child to first child (temp float)
+0:37 'f' (temp float)
+0:37 subtract (temp float)
+0:37 Convert int to float (temp float)
+0:37 'a' (temp int)
+0:37 'f' (temp float)
+0:38 multiply second child into first child (temp 3-component vector of float)
+0:38 'v3' (temp 3-component vector of float)
+0:38 Convert int to float (temp 3-component vector of float)
+0:38 'iv3' (temp 3-component vector of int)
+0:39 move second child to first child (temp 3-component vector of float)
+0:39 'v3' (temp 3-component vector of float)
+0:39 divide (temp 3-component vector of float)
+0:39 Convert int to float (temp 3-component vector of float)
+0:39 'iv3' (temp 3-component vector of int)
+0:39 Constant:
+0:39 2.000000
+0:40 move second child to first child (temp 3-component vector of float)
+0:40 'v3' (temp 3-component vector of float)
+0:40 vector-scale (temp 3-component vector of float)
+0:40 Constant:
+0:40 3.000000
+0:40 Convert int to float (temp 3-component vector of float)
+0:40 'iv3' (temp 3-component vector of int)
+0:41 move second child to first child (temp 3-component vector of float)
+0:41 'v3' (temp 3-component vector of float)
+0:41 vector-scale (temp 3-component vector of float)
+0:41 Constant:
+0:41 2.000000
+0:41 'v3' (temp 3-component vector of float)
+0:42 move second child to first child (temp 3-component vector of float)
+0:42 'v3' (temp 3-component vector of float)
+0:42 subtract (temp 3-component vector of float)
+0:42 'v3' (temp 3-component vector of float)
+0:42 Constant:
+0:42 2.000000
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:47 logical-or (temp bool)
+0:46 logical-or (temp bool)
+0:45 logical-or (temp bool)
+0:44 logical-or (temp bool)
+0:43 logical-or (temp bool)
+0:43 Compare Less Than (temp bool)
+0:43 'f' (temp float)
+0:43 Convert int to float (temp float)
+0:43 'a' (temp int)
+0:44 Compare Less Than or Equal (temp bool)
+0:44 Convert int to float (temp float)
+0:44 'a' (temp int)
+0:44 'f' (temp float)
+0:45 Compare Greater Than (temp bool)
+0:45 'f' (temp float)
+0:45 Convert int to float (temp float)
+0:45 'a' (temp int)
+0:46 Compare Greater Than or Equal (temp bool)
+0:46 'f' (temp float)
+0:46 Convert int to float (temp float)
+0:46 'a' (temp int)
+0:47 Compare Equal (temp bool)
+0:47 Convert int to float (temp float)
+0:47 'a' (temp int)
+0:47 'f' (temp float)
+0:48 Compare Not Equal (temp bool)
+0:48 'f' (temp float)
+0:48 Convert int to float (temp float)
+0:48 'a' (temp int)
+0:43 true case is null
+0:49 move second child to first child (temp float)
+0:49 'f' (temp float)
+0:49 Test condition and select (temp float)
+0:49 Condition
+0:49 'b' (temp bool)
+0:49 true case
+0:49 Convert int to float (temp float)
+0:49 'a' (temp int)
+0:49 false case
+0:49 'f' (temp float)
+0:50 move second child to first child (temp float)
+0:50 'f' (temp float)
+0:50 Test condition and select (temp float)
+0:50 Condition
+0:50 'b' (temp bool)
+0:50 true case
+0:50 'f' (temp float)
+0:50 false case
+0:50 Convert int to float (temp float)
+0:50 'a' (temp int)
+0:51 move second child to first child (temp float)
+0:51 'f' (temp float)
+0:51 Convert int to float (temp float)
+0:51 Test condition and select (temp int)
+0:51 Condition
+0:51 'b' (temp bool)
+0:51 true case
+0:51 'a' (temp int)
+0:51 false case
+0:51 'a' (temp int)
+0:52 Sequence
+0:52 move second child to first child (temp structure{global float f})
+0:52 'news' (temp structure{global float f})
+0:52 'sv' (temp structure{global float f})
+0:54 vector swizzle (temp 2-component vector of float)
+0:54 'i' (smooth in 4-component vector of float)
+0:54 Sequence
+0:54 Constant:
+0:54 0 (const int)
+0:54 Constant:
+0:54 1 (const int)
+0:55 'm' (uniform 4X2 matrix of float)
+0:56 'm' (uniform 4X2 matrix of float)
+0:58 'f' (temp float)
+0:59 move second child to first child (temp float)
+0:59 'f' (temp float)
+0:59 Convert int to float (temp float)
+0:59 'a' (temp int)
+0:60 'f' (temp float)
+0:61 'b' (temp bool)
+0:62 move second child to first child (temp bool)
+0:62 'b' (temp bool)
+0:62 'b' (temp bool)
+0:63 'f' (temp float)
+0:65 move second child to first child (temp 4-component vector of float)
+0:65 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:65 texture (global 4-component vector of float)
+0:65 's2D' (uniform sampler2D)
+0:65 'centTexCoord' (centroid smooth in 2-component vector of float)
+0:? Sequence
+0:79 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:82 direct index (temp float)
+0:82 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:82 Constant:
+0:82 0 (const int)
+0:83 direct index (temp float)
+0:83 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:83 Constant:
+0:83 0 (const int)
+0:84 direct index (temp float)
+0:84 'centTexCoord' (centroid smooth in 2-component vector of float)
+0:84 Constant:
+0:84 0 (const int)
+0:85 move second child to first child (temp bool)
+0:85 Comma (temp bool)
+0:85 'a' (temp int)
+0:85 'b' (temp bool)
+0:85 Constant:
+0:85 true (const bool)
+0:91 Function Definition: main( (global int)
+0:91 Function Parameters:
+0:92 Function Definition: main(i1; (global void)
+0:92 Function Parameters:
+0:92 'a' (in int)
+0:97 Function Definition: foo(f1; (global int)
+0:97 Function Parameters:
+0:97 'a' (out float)
+0:99 Sequence
+0:99 Branch: Return with expression
+0:99 Constant:
+0:99 3.200000
+0:100 Function Call: foo(f1; (global int)
+0:100 'a' (out float)
+0:103 Function Definition: gen(vf3; (global bool)
+0:103 Function Parameters:
+0:103 'v' (in 3-component vector of float)
+0:105 Sequence
+0:105 Test condition and select (temp void)
+0:105 Condition
+0:105 logical-and (temp bool)
+0:105 Compare Less Than (temp bool)
+0:105 Absolute value (global float)
+0:105 direct index (temp float)
+0:105 'v' (in 3-component vector of float)
+0:105 Constant:
+0:105 0 (const int)
+0:105 Constant:
+0:105 0.000100
+0:105 Compare Less Than (temp bool)
+0:105 Absolute value (global float)
+0:105 direct index (temp float)
+0:105 'v' (in 3-component vector of float)
+0:105 Constant:
+0:105 1 (const int)
+0:105 Constant:
+0:105 0.000100
+0:105 true case
+0:106 Branch: Return with expression
+0:106 Constant:
+0:106 true (const bool)
+0:109 Function Definition: v1( (global void)
+0:109 Function Parameters:
+0:113 Function Definition: v2( (global void)
+0:113 Function Parameters:
+0:115 Sequence
+0:115 Branch: Return
+0:118 Function Definition: atest( (global void)
+0:118 Function Parameters:
+0:120 Sequence
+0:120 Sequence
+0:120 move second child to first child (temp 4-component vector of float)
+0:120 'v' (temp 4-component vector of float)
+0:120 direct index (smooth temp 4-component vector of float TexCoord)
+0:120 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:120 Constant:
+0:120 1 (const int)
+0:121 add second child into first child (temp 4-component vector of float)
+0:121 'v' (temp 4-component vector of float)
+0:121 direct index (smooth temp 4-component vector of float TexCoord)
+0:121 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:121 Constant:
+0:121 3 (const int)
+0:139 Function Definition: foo123( (global void)
+0:139 Function Parameters:
+0:141 Sequence
+0:141 Sequence
+0:141 move second child to first child (temp 2X2 matrix of float)
+0:141 'r2' (temp 2X2 matrix of float)
+0:141 component-wise multiply (global 2X2 matrix of float)
+0:141 'm22' (global 2X2 matrix of float)
+0:141 'm22' (global 2X2 matrix of float)
+0:142 Sequence
+0:142 move second child to first child (temp 3X3 matrix of float)
+0:142 'r3' (temp 3X3 matrix of float)
+0:142 component-wise multiply (global 3X3 matrix of float)
+0:142 'm33' (global 3X3 matrix of float)
+0:142 'm33' (global 3X3 matrix of float)
+0:143 Sequence
+0:143 move second child to first child (temp 4X4 matrix of float)
+0:143 'r4' (temp 4X4 matrix of float)
+0:143 component-wise multiply (global 4X4 matrix of float)
+0:143 'm44' (global 4X4 matrix of float)
+0:143 'm44' (global 4X4 matrix of float)
+0:145 Sequence
+0:145 move second child to first child (temp 2X3 matrix of float)
+0:145 'r23' (temp 2X3 matrix of float)
+0:145 component-wise multiply (global 2X3 matrix of float)
+0:145 'm23' (global 2X3 matrix of float)
+0:145 'm23' (global 2X3 matrix of float)
+0:146 Sequence
+0:146 move second child to first child (temp 2X4 matrix of float)
+0:146 'r24' (temp 2X4 matrix of float)
+0:146 component-wise multiply (global 2X4 matrix of float)
+0:146 'm24' (global 2X4 matrix of float)
+0:146 'm24' (global 2X4 matrix of float)
+0:147 Sequence
+0:147 move second child to first child (temp 3X2 matrix of float)
+0:147 'r32' (temp 3X2 matrix of float)
+0:147 component-wise multiply (global 3X2 matrix of float)
+0:147 'm32' (global 3X2 matrix of float)
+0:147 'm32' (global 3X2 matrix of float)
+0:148 Sequence
+0:148 move second child to first child (temp 3X4 matrix of float)
+0:148 'r34' (temp 3X4 matrix of float)
+0:148 component-wise multiply (global 3X4 matrix of float)
+0:148 'm34' (global 3X4 matrix of float)
+0:148 'm34' (global 3X4 matrix of float)
+0:149 Sequence
+0:149 move second child to first child (temp 4X2 matrix of float)
+0:149 'r42' (temp 4X2 matrix of float)
+0:149 component-wise multiply (global 4X2 matrix of float)
+0:149 'm42' (global 4X2 matrix of float)
+0:149 'm42' (global 4X2 matrix of float)
+0:150 Sequence
+0:150 move second child to first child (temp 4X3 matrix of float)
+0:150 'r43' (temp 4X3 matrix of float)
+0:150 component-wise multiply (global 4X3 matrix of float)
+0:150 'm43' (global 4X3 matrix of float)
+0:150 'm43' (global 4X3 matrix of float)
+0:156 Function Definition: matConst( (global void)
+0:156 Function Parameters:
+0:? Sequence
+0:162 Sequence
+0:162 move second child to first child (temp 4X4 matrix of float)
+0:162 'm4g' (temp 4X4 matrix of float)
+0:162 Construct mat4 (temp 4X4 matrix of float)
+0:162 'v2' (temp 2-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:163 Sequence
+0:163 move second child to first child (temp 4X4 matrix of float)
+0:163 'm4' (temp 4X4 matrix of float)
+0:163 Construct mat4 (temp 4X4 matrix of float)
+0:163 'v2' (temp 2-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v2' (temp 2-component vector of float)
+0:164 Sequence
+0:164 move second child to first child (temp 3X3 matrix of float)
+0:164 'm3' (temp 3X3 matrix of float)
+0:164 Construct mat3 (temp 3X3 matrix of float)
+0:164 'm4' (temp 4X4 matrix of float)
+0:165 Sequence
+0:165 move second child to first child (temp 3X3 matrix of float)
+0:165 'm3b1' (temp 3X3 matrix of float)
+0:165 Construct mat3 (temp 3X3 matrix of float)
+0:165 'm4' (temp 4X4 matrix of float)
+0:165 'v2' (temp 2-component vector of float)
+0:166 Sequence
+0:166 move second child to first child (temp 3X3 matrix of float)
+0:166 'm3b2' (temp 3X3 matrix of float)
+0:166 Construct mat3 (temp 3X3 matrix of float)
+0:166 'm4' (temp 4X4 matrix of float)
+0:166 'm4' (temp 4X4 matrix of float)
+0:167 Sequence
+0:167 move second child to first child (temp 3X2 matrix of float)
+0:167 'm32' (temp 3X2 matrix of float)
+0:167 Construct mat3x2 (temp 3X2 matrix of float)
+0:167 'm4' (temp 4X4 matrix of float)
+0:168 Sequence
+0:168 move second child to first child (temp 4X4 matrix of float)
+0:168 'm4c' (temp 4X4 matrix of float)
+0:168 Construct mat4 (temp 4X4 matrix of float)
+0:168 'm32' (temp 3X2 matrix of float)
+0:169 Sequence
+0:169 move second child to first child (temp 3X3 matrix of float)
+0:169 'm3s' (temp 3X3 matrix of float)
+0:169 Construct mat3 (temp 3X3 matrix of float)
+0:169 direct index (temp float)
+0:169 'v2' (temp 2-component vector of float)
+0:169 Constant:
+0:169 0 (const int)
+0:171 Sequence
+0:171 move second child to first child (temp 2-element array of 3X3 matrix of float)
+0:171 'm3a1' (temp 2-element array of 3X3 matrix of float)
+0:171 Construct mat3 (temp 2-element array of 3X3 matrix of float)
+0:171 'm3s' (temp 3X3 matrix of float)
+0:171 'm3s' (temp 3X3 matrix of float)
+0:179 Function Definition: foo2323( (global void)
+0:179 Function Parameters:
+0:? Sequence
+0:184 move second child to first child (temp 4-component vector of float)
+0:184 'v' (temp 4-component vector of float)
+0:184 textureLod (global 4-component vector of float)
+0:184 's2D' (uniform sampler2D)
+0:184 'v2' (temp 2-component vector of float)
+0:184 'f' (temp float)
+0:185 move second child to first child (temp 4-component vector of float)
+0:185 'v' (temp 4-component vector of float)
+0:185 textureProjLod (global 4-component vector of float)
+0:185 's3D' (uniform sampler3D)
+0:185 'v' (temp 4-component vector of float)
+0:185 'f' (temp float)
+0:186 move second child to first child (temp 4-component vector of float)
+0:186 'v' (temp 4-component vector of float)
+0:186 textureProjLod (global 4-component vector of float)
+0:186 's1D' (uniform sampler1D)
+0:186 'v' (temp 4-component vector of float)
+0:186 'f' (temp float)
+0:187 move second child to first child (temp 4-component vector of float)
+0:187 'v' (temp 4-component vector of float)
+0:187 textureProjLod (global 4-component vector of float)
+0:187 's2DS' (uniform sampler2DShadow)
+0:187 'v' (temp 4-component vector of float)
+0:187 'f' (temp float)
+0:189 move second child to first child (temp 4-component vector of float)
+0:189 'v' (temp 4-component vector of float)
+0:189 textureGrad (global 4-component vector of float)
+0:189 's1D' (uniform sampler1D)
+0:189 'f' (temp float)
+0:189 'f' (temp float)
+0:189 'f' (temp float)
+0:190 move second child to first child (temp 4-component vector of float)
+0:190 'v' (temp 4-component vector of float)
+0:190 textureProjGrad (global 4-component vector of float)
+0:190 's2D' (uniform sampler2D)
+0:190 'v' (temp 4-component vector of float)
+0:190 'v2' (temp 2-component vector of float)
+0:190 'v2' (temp 2-component vector of float)
+0:191 move second child to first child (temp 4-component vector of float)
+0:191 'v' (temp 4-component vector of float)
+0:191 textureProjGrad (global 4-component vector of float)
+0:191 's2DS' (uniform sampler2DShadow)
+0:191 'v' (temp 4-component vector of float)
+0:191 'v2' (temp 2-component vector of float)
+0:191 'v2' (temp 2-component vector of float)
+0:196 Function Definition: foo2324( (global void)
+0:196 Function Parameters:
+0:? Sequence
+0:201 move second child to first child (temp 4-component vector of float)
+0:201 'v' (temp 4-component vector of float)
+0:201 textureLod (global 4-component vector of float)
+0:201 's2D' (uniform sampler2D)
+0:201 'v2' (temp 2-component vector of float)
+0:201 'f' (temp float)
+0:202 move second child to first child (temp 4-component vector of float)
+0:202 'v' (temp 4-component vector of float)
+0:202 textureProjLod (global 4-component vector of float)
+0:202 's3D' (uniform sampler3D)
+0:202 'v' (temp 4-component vector of float)
+0:202 'f' (temp float)
+0:203 move second child to first child (temp 4-component vector of float)
+0:203 'v' (temp 4-component vector of float)
+0:203 textureProjLod (global 4-component vector of float)
+0:203 's1D' (uniform sampler1D)
+0:203 'v' (temp 4-component vector of float)
+0:203 'f' (temp float)
+0:204 move second child to first child (temp 4-component vector of float)
+0:204 'v' (temp 4-component vector of float)
+0:204 textureProjLod (global 4-component vector of float)
+0:204 's2DS' (uniform sampler2DShadow)
+0:204 'v' (temp 4-component vector of float)
+0:204 'f' (temp float)
+0:206 move second child to first child (temp 4-component vector of float)
+0:206 'v' (temp 4-component vector of float)
+0:206 textureGrad (global 4-component vector of float)
+0:206 's1D' (uniform sampler1D)
+0:206 'f' (temp float)
+0:206 'f' (temp float)
+0:206 'f' (temp float)
+0:207 move second child to first child (temp 4-component vector of float)
+0:207 'v' (temp 4-component vector of float)
+0:207 textureProjGrad (global 4-component vector of float)
+0:207 's2D' (uniform sampler2D)
+0:207 'v' (temp 4-component vector of float)
+0:207 'v2' (temp 2-component vector of float)
+0:207 'v2' (temp 2-component vector of float)
+0:208 move second child to first child (temp 4-component vector of float)
+0:208 'v' (temp 4-component vector of float)
+0:208 textureProjGrad (global 4-component vector of float)
+0:208 's2DS' (uniform sampler2DShadow)
+0:208 'v' (temp 4-component vector of float)
+0:208 'v2' (temp 2-component vector of float)
+0:208 'v2' (temp 2-component vector of float)
+0:209 'v' (temp 4-component vector of float)
+0:214 Function Definition: foo121111( (global void)
+0:214 Function Parameters:
+0:? Sequence
+0:217 Sequence
+0:217 move second child to first child (temp 4-component vector of float)
+0:217 'v' (temp 4-component vector of float)
+0:217 texture (global 4-component vector of float)
+0:217 's2DRbad' (uniform sampler2DRect)
+0:217 'v2' (temp 2-component vector of float)
+0:225 Function Definition: foo12111( (global void)
+0:225 Function Parameters:
+0:? Sequence
+0:231 move second child to first child (temp 4-component vector of float)
+0:231 'v' (temp 4-component vector of float)
+0:231 texture (global 4-component vector of float)
+0:231 's2DR' (uniform sampler2DRect)
+0:231 'v2' (temp 2-component vector of float)
+0:232 move second child to first child (temp 4-component vector of float)
+0:232 'v' (temp 4-component vector of float)
+0:232 textureProj (global 4-component vector of float)
+0:232 's2DR' (uniform sampler2DRect)
+0:232 'v3' (temp 3-component vector of float)
+0:233 move second child to first child (temp 4-component vector of float)
+0:233 'v' (temp 4-component vector of float)
+0:233 textureProj (global 4-component vector of float)
+0:233 's2DR' (uniform sampler2DRect)
+0:233 'v4' (temp 4-component vector of float)
+0:234 move second child to first child (temp 4-component vector of float)
+0:234 'v' (temp 4-component vector of float)
+0:234 texture (global 4-component vector of float)
+0:234 's2DRS' (uniform sampler2DRectShadow)
+0:234 'v3' (temp 3-component vector of float)
+0:235 move second child to first child (temp 4-component vector of float)
+0:235 'v' (temp 4-component vector of float)
+0:235 textureProj (global 4-component vector of float)
+0:235 's2DRS' (uniform sampler2DRectShadow)
+0:235 'v4' (temp 4-component vector of float)
+0:237 move second child to first child (temp 4-component vector of float)
+0:237 'v' (temp 4-component vector of float)
+0:237 textureProjGrad (global 4-component vector of float)
+0:237 's2DRS' (uniform sampler2DRectShadow)
+0:237 'v' (temp 4-component vector of float)
+0:237 'v2' (temp 2-component vector of float)
+0:237 'v2' (temp 2-component vector of float)
+0:? Linker Objects
+0:? 'lowp' (global float)
+0:? 'mediump' (global float)
+0:? 'highp' (global float)
+0:? 'precision' (global float)
+0:? 'i' (smooth in 4-component vector of float)
+0:? 'o' (out 4-component vector of float)
+0:? 's2D' (uniform sampler2D)
+0:? 'centTexCoord' (centroid smooth in 2-component vector of float)
+0:? 'm' (uniform 4X2 matrix of float)
+0:? 'imageBuffer' (global float)
+0:? 'uimage2DRect' (global float)
+0:? 'a' (temp int)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'm22' (global 2X2 matrix of float)
+0:? 'm23' (global 2X3 matrix of float)
+0:? 'm24' (global 2X4 matrix of float)
+0:? 'm32' (global 3X2 matrix of float)
+0:? 'm33' (global 3X3 matrix of float)
+0:? 'm34' (global 3X4 matrix of float)
+0:? 'm42' (global 4X2 matrix of float)
+0:? 'm43' (global 4X3 matrix of float)
+0:? 'm44' (global 4X4 matrix of float)
+0:? 's3D' (uniform sampler3D)
+0:? 's1D' (uniform sampler1D)
+0:? 's2DS' (uniform sampler2DShadow)
+0:? 's2DRbad' (uniform sampler2DRect)
+0:? 's2DR' (uniform sampler2DRect)
+0:? 's2DRS' (uniform sampler2DRectShadow)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Recursion detected:
+ foo(f1; calling foo(f1;
+
+Shader version: 120
+Requested GL_ARB_shader_texture_lod
+Requested GL_ARB_texture_rectangle
+ERROR: node is still EOpNull!
+0:21 Function Definition: main( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp 2X3 matrix of float)
+0:23 'm23' (temp 2X3 matrix of float)
+0:23 Construct mat2x3 (temp 2X3 matrix of float)
+0:23 'm' (uniform 4X2 matrix of float)
+0:27 Sequence
+0:27 move second child to first child (temp structure{global float f})
+0:27 'sv' (temp structure{global float f})
+0:27 Construct structure (temp structure{global float f})
+0:27 Convert int to float (temp float)
+0:27 'a' (temp int)
+0:28 Sequence
+0:28 move second child to first child (temp 2-element array of float)
+0:28 'ia' (temp 2-element array of float)
+0:28 Construct float (temp 2-element array of float)
+0:28 Constant:
+0:28 3.000000
+0:28 direct index (temp float)
+0:28 'i' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 1 (const int)
+0:29 Sequence
+0:29 move second child to first child (temp float)
+0:29 'f1' (temp float)
+0:29 Constant:
+0:29 1.000000
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'f' (temp float)
+0:30 Convert int to float (temp float)
+0:30 'a' (temp int)
+0:31 move second child to first child (temp float)
+0:31 'f' (temp float)
+0:31 Convert int to float (temp float)
+0:31 'a' (temp int)
+0:33 Sequence
+0:33 move second child to first child (temp 3-component vector of float)
+0:33 'v3' (temp 3-component vector of float)
+0:33 Convert int to float (temp 3-component vector of float)
+0:33 'iv3' (temp 3-component vector of int)
+0:34 move second child to first child (temp float)
+0:34 'f' (temp float)
+0:34 add (temp float)
+0:34 'f' (temp float)
+0:34 Convert int to float (temp float)
+0:34 'a' (temp int)
+0:35 move second child to first child (temp float)
+0:35 'f' (temp float)
+0:35 subtract (temp float)
+0:35 Convert int to float (temp float)
+0:35 'a' (temp int)
+0:35 'f' (temp float)
+0:36 add second child into first child (temp float)
+0:36 'f' (temp float)
+0:36 Convert int to float (temp float)
+0:36 'a' (temp int)
+0:37 move second child to first child (temp float)
+0:37 'f' (temp float)
+0:37 subtract (temp float)
+0:37 Convert int to float (temp float)
+0:37 'a' (temp int)
+0:37 'f' (temp float)
+0:38 multiply second child into first child (temp 3-component vector of float)
+0:38 'v3' (temp 3-component vector of float)
+0:38 Convert int to float (temp 3-component vector of float)
+0:38 'iv3' (temp 3-component vector of int)
+0:39 move second child to first child (temp 3-component vector of float)
+0:39 'v3' (temp 3-component vector of float)
+0:39 divide (temp 3-component vector of float)
+0:39 Convert int to float (temp 3-component vector of float)
+0:39 'iv3' (temp 3-component vector of int)
+0:39 Constant:
+0:39 2.000000
+0:40 move second child to first child (temp 3-component vector of float)
+0:40 'v3' (temp 3-component vector of float)
+0:40 vector-scale (temp 3-component vector of float)
+0:40 Constant:
+0:40 3.000000
+0:40 Convert int to float (temp 3-component vector of float)
+0:40 'iv3' (temp 3-component vector of int)
+0:41 move second child to first child (temp 3-component vector of float)
+0:41 'v3' (temp 3-component vector of float)
+0:41 vector-scale (temp 3-component vector of float)
+0:41 Constant:
+0:41 2.000000
+0:41 'v3' (temp 3-component vector of float)
+0:42 move second child to first child (temp 3-component vector of float)
+0:42 'v3' (temp 3-component vector of float)
+0:42 subtract (temp 3-component vector of float)
+0:42 'v3' (temp 3-component vector of float)
+0:42 Constant:
+0:42 2.000000
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:47 logical-or (temp bool)
+0:46 logical-or (temp bool)
+0:45 logical-or (temp bool)
+0:44 logical-or (temp bool)
+0:43 logical-or (temp bool)
+0:43 Compare Less Than (temp bool)
+0:43 'f' (temp float)
+0:43 Convert int to float (temp float)
+0:43 'a' (temp int)
+0:44 Compare Less Than or Equal (temp bool)
+0:44 Convert int to float (temp float)
+0:44 'a' (temp int)
+0:44 'f' (temp float)
+0:45 Compare Greater Than (temp bool)
+0:45 'f' (temp float)
+0:45 Convert int to float (temp float)
+0:45 'a' (temp int)
+0:46 Compare Greater Than or Equal (temp bool)
+0:46 'f' (temp float)
+0:46 Convert int to float (temp float)
+0:46 'a' (temp int)
+0:47 Compare Equal (temp bool)
+0:47 Convert int to float (temp float)
+0:47 'a' (temp int)
+0:47 'f' (temp float)
+0:48 Compare Not Equal (temp bool)
+0:48 'f' (temp float)
+0:48 Convert int to float (temp float)
+0:48 'a' (temp int)
+0:43 true case is null
+0:49 move second child to first child (temp float)
+0:49 'f' (temp float)
+0:49 Test condition and select (temp float)
+0:49 Condition
+0:49 'b' (temp bool)
+0:49 true case
+0:49 Convert int to float (temp float)
+0:49 'a' (temp int)
+0:49 false case
+0:49 'f' (temp float)
+0:50 move second child to first child (temp float)
+0:50 'f' (temp float)
+0:50 Test condition and select (temp float)
+0:50 Condition
+0:50 'b' (temp bool)
+0:50 true case
+0:50 'f' (temp float)
+0:50 false case
+0:50 Convert int to float (temp float)
+0:50 'a' (temp int)
+0:51 move second child to first child (temp float)
+0:51 'f' (temp float)
+0:51 Convert int to float (temp float)
+0:51 Test condition and select (temp int)
+0:51 Condition
+0:51 'b' (temp bool)
+0:51 true case
+0:51 'a' (temp int)
+0:51 false case
+0:51 'a' (temp int)
+0:52 Sequence
+0:52 move second child to first child (temp structure{global float f})
+0:52 'news' (temp structure{global float f})
+0:52 'sv' (temp structure{global float f})
+0:54 vector swizzle (temp 2-component vector of float)
+0:54 'i' (smooth in 4-component vector of float)
+0:54 Sequence
+0:54 Constant:
+0:54 0 (const int)
+0:54 Constant:
+0:54 1 (const int)
+0:55 'm' (uniform 4X2 matrix of float)
+0:56 'm' (uniform 4X2 matrix of float)
+0:58 'f' (temp float)
+0:59 move second child to first child (temp float)
+0:59 'f' (temp float)
+0:59 Convert int to float (temp float)
+0:59 'a' (temp int)
+0:60 'f' (temp float)
+0:61 'b' (temp bool)
+0:62 move second child to first child (temp bool)
+0:62 'b' (temp bool)
+0:62 'b' (temp bool)
+0:63 'f' (temp float)
+0:65 move second child to first child (temp 4-component vector of float)
+0:65 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:65 texture (global 4-component vector of float)
+0:65 's2D' (uniform sampler2D)
+0:65 'centTexCoord' (centroid smooth in 2-component vector of float)
+0:? Sequence
+0:79 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:82 direct index (temp float)
+0:82 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:82 Constant:
+0:82 0 (const int)
+0:83 direct index (temp float)
+0:83 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:83 Constant:
+0:83 0 (const int)
+0:84 direct index (temp float)
+0:84 'centTexCoord' (centroid smooth in 2-component vector of float)
+0:84 Constant:
+0:84 0 (const int)
+0:85 move second child to first child (temp bool)
+0:85 Comma (temp bool)
+0:85 'a' (temp int)
+0:85 'b' (temp bool)
+0:85 Constant:
+0:85 true (const bool)
+0:91 Function Definition: main( (global int)
+0:91 Function Parameters:
+0:92 Function Definition: main(i1; (global void)
+0:92 Function Parameters:
+0:92 'a' (in int)
+0:97 Function Definition: foo(f1; (global int)
+0:97 Function Parameters:
+0:97 'a' (out float)
+0:99 Sequence
+0:99 Branch: Return with expression
+0:99 Constant:
+0:99 3.200000
+0:100 Function Call: foo(f1; (global int)
+0:100 'a' (out float)
+0:103 Function Definition: gen(vf3; (global bool)
+0:103 Function Parameters:
+0:103 'v' (in 3-component vector of float)
+0:105 Sequence
+0:105 Test condition and select (temp void)
+0:105 Condition
+0:105 logical-and (temp bool)
+0:105 Compare Less Than (temp bool)
+0:105 Absolute value (global float)
+0:105 direct index (temp float)
+0:105 'v' (in 3-component vector of float)
+0:105 Constant:
+0:105 0 (const int)
+0:105 Constant:
+0:105 0.000100
+0:105 Compare Less Than (temp bool)
+0:105 Absolute value (global float)
+0:105 direct index (temp float)
+0:105 'v' (in 3-component vector of float)
+0:105 Constant:
+0:105 1 (const int)
+0:105 Constant:
+0:105 0.000100
+0:105 true case
+0:106 Branch: Return with expression
+0:106 Constant:
+0:106 true (const bool)
+0:109 Function Definition: v1( (global void)
+0:109 Function Parameters:
+0:113 Function Definition: v2( (global void)
+0:113 Function Parameters:
+0:115 Sequence
+0:115 Branch: Return
+0:118 Function Definition: atest( (global void)
+0:118 Function Parameters:
+0:120 Sequence
+0:120 Sequence
+0:120 move second child to first child (temp 4-component vector of float)
+0:120 'v' (temp 4-component vector of float)
+0:120 direct index (smooth temp 4-component vector of float TexCoord)
+0:120 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:120 Constant:
+0:120 1 (const int)
+0:121 add second child into first child (temp 4-component vector of float)
+0:121 'v' (temp 4-component vector of float)
+0:121 direct index (smooth temp 4-component vector of float TexCoord)
+0:121 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:121 Constant:
+0:121 3 (const int)
+0:139 Function Definition: foo123( (global void)
+0:139 Function Parameters:
+0:141 Sequence
+0:141 Sequence
+0:141 move second child to first child (temp 2X2 matrix of float)
+0:141 'r2' (temp 2X2 matrix of float)
+0:141 component-wise multiply (global 2X2 matrix of float)
+0:141 'm22' (global 2X2 matrix of float)
+0:141 'm22' (global 2X2 matrix of float)
+0:142 Sequence
+0:142 move second child to first child (temp 3X3 matrix of float)
+0:142 'r3' (temp 3X3 matrix of float)
+0:142 component-wise multiply (global 3X3 matrix of float)
+0:142 'm33' (global 3X3 matrix of float)
+0:142 'm33' (global 3X3 matrix of float)
+0:143 Sequence
+0:143 move second child to first child (temp 4X4 matrix of float)
+0:143 'r4' (temp 4X4 matrix of float)
+0:143 component-wise multiply (global 4X4 matrix of float)
+0:143 'm44' (global 4X4 matrix of float)
+0:143 'm44' (global 4X4 matrix of float)
+0:145 Sequence
+0:145 move second child to first child (temp 2X3 matrix of float)
+0:145 'r23' (temp 2X3 matrix of float)
+0:145 component-wise multiply (global 2X3 matrix of float)
+0:145 'm23' (global 2X3 matrix of float)
+0:145 'm23' (global 2X3 matrix of float)
+0:146 Sequence
+0:146 move second child to first child (temp 2X4 matrix of float)
+0:146 'r24' (temp 2X4 matrix of float)
+0:146 component-wise multiply (global 2X4 matrix of float)
+0:146 'm24' (global 2X4 matrix of float)
+0:146 'm24' (global 2X4 matrix of float)
+0:147 Sequence
+0:147 move second child to first child (temp 3X2 matrix of float)
+0:147 'r32' (temp 3X2 matrix of float)
+0:147 component-wise multiply (global 3X2 matrix of float)
+0:147 'm32' (global 3X2 matrix of float)
+0:147 'm32' (global 3X2 matrix of float)
+0:148 Sequence
+0:148 move second child to first child (temp 3X4 matrix of float)
+0:148 'r34' (temp 3X4 matrix of float)
+0:148 component-wise multiply (global 3X4 matrix of float)
+0:148 'm34' (global 3X4 matrix of float)
+0:148 'm34' (global 3X4 matrix of float)
+0:149 Sequence
+0:149 move second child to first child (temp 4X2 matrix of float)
+0:149 'r42' (temp 4X2 matrix of float)
+0:149 component-wise multiply (global 4X2 matrix of float)
+0:149 'm42' (global 4X2 matrix of float)
+0:149 'm42' (global 4X2 matrix of float)
+0:150 Sequence
+0:150 move second child to first child (temp 4X3 matrix of float)
+0:150 'r43' (temp 4X3 matrix of float)
+0:150 component-wise multiply (global 4X3 matrix of float)
+0:150 'm43' (global 4X3 matrix of float)
+0:150 'm43' (global 4X3 matrix of float)
+0:156 Function Definition: matConst( (global void)
+0:156 Function Parameters:
+0:? Sequence
+0:162 Sequence
+0:162 move second child to first child (temp 4X4 matrix of float)
+0:162 'm4g' (temp 4X4 matrix of float)
+0:162 Construct mat4 (temp 4X4 matrix of float)
+0:162 'v2' (temp 2-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:163 Sequence
+0:163 move second child to first child (temp 4X4 matrix of float)
+0:163 'm4' (temp 4X4 matrix of float)
+0:163 Construct mat4 (temp 4X4 matrix of float)
+0:163 'v2' (temp 2-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v2' (temp 2-component vector of float)
+0:164 Sequence
+0:164 move second child to first child (temp 3X3 matrix of float)
+0:164 'm3' (temp 3X3 matrix of float)
+0:164 Construct mat3 (temp 3X3 matrix of float)
+0:164 'm4' (temp 4X4 matrix of float)
+0:165 Sequence
+0:165 move second child to first child (temp 3X3 matrix of float)
+0:165 'm3b1' (temp 3X3 matrix of float)
+0:165 Construct mat3 (temp 3X3 matrix of float)
+0:165 'm4' (temp 4X4 matrix of float)
+0:165 'v2' (temp 2-component vector of float)
+0:166 Sequence
+0:166 move second child to first child (temp 3X3 matrix of float)
+0:166 'm3b2' (temp 3X3 matrix of float)
+0:166 Construct mat3 (temp 3X3 matrix of float)
+0:166 'm4' (temp 4X4 matrix of float)
+0:166 'm4' (temp 4X4 matrix of float)
+0:167 Sequence
+0:167 move second child to first child (temp 3X2 matrix of float)
+0:167 'm32' (temp 3X2 matrix of float)
+0:167 Construct mat3x2 (temp 3X2 matrix of float)
+0:167 'm4' (temp 4X4 matrix of float)
+0:168 Sequence
+0:168 move second child to first child (temp 4X4 matrix of float)
+0:168 'm4c' (temp 4X4 matrix of float)
+0:168 Construct mat4 (temp 4X4 matrix of float)
+0:168 'm32' (temp 3X2 matrix of float)
+0:169 Sequence
+0:169 move second child to first child (temp 3X3 matrix of float)
+0:169 'm3s' (temp 3X3 matrix of float)
+0:169 Construct mat3 (temp 3X3 matrix of float)
+0:169 direct index (temp float)
+0:169 'v2' (temp 2-component vector of float)
+0:169 Constant:
+0:169 0 (const int)
+0:171 Sequence
+0:171 move second child to first child (temp 2-element array of 3X3 matrix of float)
+0:171 'm3a1' (temp 2-element array of 3X3 matrix of float)
+0:171 Construct mat3 (temp 2-element array of 3X3 matrix of float)
+0:171 'm3s' (temp 3X3 matrix of float)
+0:171 'm3s' (temp 3X3 matrix of float)
+0:179 Function Definition: foo2323( (global void)
+0:179 Function Parameters:
+0:? Sequence
+0:184 move second child to first child (temp 4-component vector of float)
+0:184 'v' (temp 4-component vector of float)
+0:184 textureLod (global 4-component vector of float)
+0:184 's2D' (uniform sampler2D)
+0:184 'v2' (temp 2-component vector of float)
+0:184 'f' (temp float)
+0:185 move second child to first child (temp 4-component vector of float)
+0:185 'v' (temp 4-component vector of float)
+0:185 textureProjLod (global 4-component vector of float)
+0:185 's3D' (uniform sampler3D)
+0:185 'v' (temp 4-component vector of float)
+0:185 'f' (temp float)
+0:186 move second child to first child (temp 4-component vector of float)
+0:186 'v' (temp 4-component vector of float)
+0:186 textureProjLod (global 4-component vector of float)
+0:186 's1D' (uniform sampler1D)
+0:186 'v' (temp 4-component vector of float)
+0:186 'f' (temp float)
+0:187 move second child to first child (temp 4-component vector of float)
+0:187 'v' (temp 4-component vector of float)
+0:187 textureProjLod (global 4-component vector of float)
+0:187 's2DS' (uniform sampler2DShadow)
+0:187 'v' (temp 4-component vector of float)
+0:187 'f' (temp float)
+0:189 move second child to first child (temp 4-component vector of float)
+0:189 'v' (temp 4-component vector of float)
+0:189 textureGrad (global 4-component vector of float)
+0:189 's1D' (uniform sampler1D)
+0:189 'f' (temp float)
+0:189 'f' (temp float)
+0:189 'f' (temp float)
+0:190 move second child to first child (temp 4-component vector of float)
+0:190 'v' (temp 4-component vector of float)
+0:190 textureProjGrad (global 4-component vector of float)
+0:190 's2D' (uniform sampler2D)
+0:190 'v' (temp 4-component vector of float)
+0:190 'v2' (temp 2-component vector of float)
+0:190 'v2' (temp 2-component vector of float)
+0:191 move second child to first child (temp 4-component vector of float)
+0:191 'v' (temp 4-component vector of float)
+0:191 textureProjGrad (global 4-component vector of float)
+0:191 's2DS' (uniform sampler2DShadow)
+0:191 'v' (temp 4-component vector of float)
+0:191 'v2' (temp 2-component vector of float)
+0:191 'v2' (temp 2-component vector of float)
+0:196 Function Definition: foo2324( (global void)
+0:196 Function Parameters:
+0:? Sequence
+0:201 move second child to first child (temp 4-component vector of float)
+0:201 'v' (temp 4-component vector of float)
+0:201 textureLod (global 4-component vector of float)
+0:201 's2D' (uniform sampler2D)
+0:201 'v2' (temp 2-component vector of float)
+0:201 'f' (temp float)
+0:202 move second child to first child (temp 4-component vector of float)
+0:202 'v' (temp 4-component vector of float)
+0:202 textureProjLod (global 4-component vector of float)
+0:202 's3D' (uniform sampler3D)
+0:202 'v' (temp 4-component vector of float)
+0:202 'f' (temp float)
+0:203 move second child to first child (temp 4-component vector of float)
+0:203 'v' (temp 4-component vector of float)
+0:203 textureProjLod (global 4-component vector of float)
+0:203 's1D' (uniform sampler1D)
+0:203 'v' (temp 4-component vector of float)
+0:203 'f' (temp float)
+0:204 move second child to first child (temp 4-component vector of float)
+0:204 'v' (temp 4-component vector of float)
+0:204 textureProjLod (global 4-component vector of float)
+0:204 's2DS' (uniform sampler2DShadow)
+0:204 'v' (temp 4-component vector of float)
+0:204 'f' (temp float)
+0:206 move second child to first child (temp 4-component vector of float)
+0:206 'v' (temp 4-component vector of float)
+0:206 textureGrad (global 4-component vector of float)
+0:206 's1D' (uniform sampler1D)
+0:206 'f' (temp float)
+0:206 'f' (temp float)
+0:206 'f' (temp float)
+0:207 move second child to first child (temp 4-component vector of float)
+0:207 'v' (temp 4-component vector of float)
+0:207 textureProjGrad (global 4-component vector of float)
+0:207 's2D' (uniform sampler2D)
+0:207 'v' (temp 4-component vector of float)
+0:207 'v2' (temp 2-component vector of float)
+0:207 'v2' (temp 2-component vector of float)
+0:208 move second child to first child (temp 4-component vector of float)
+0:208 'v' (temp 4-component vector of float)
+0:208 textureProjGrad (global 4-component vector of float)
+0:208 's2DS' (uniform sampler2DShadow)
+0:208 'v' (temp 4-component vector of float)
+0:208 'v2' (temp 2-component vector of float)
+0:208 'v2' (temp 2-component vector of float)
+0:209 'v' (temp 4-component vector of float)
+0:214 Function Definition: foo121111( (global void)
+0:214 Function Parameters:
+0:? Sequence
+0:217 Sequence
+0:217 move second child to first child (temp 4-component vector of float)
+0:217 'v' (temp 4-component vector of float)
+0:217 texture (global 4-component vector of float)
+0:217 's2DRbad' (uniform sampler2DRect)
+0:217 'v2' (temp 2-component vector of float)
+0:225 Function Definition: foo12111( (global void)
+0:225 Function Parameters:
+0:? Sequence
+0:231 move second child to first child (temp 4-component vector of float)
+0:231 'v' (temp 4-component vector of float)
+0:231 texture (global 4-component vector of float)
+0:231 's2DR' (uniform sampler2DRect)
+0:231 'v2' (temp 2-component vector of float)
+0:232 move second child to first child (temp 4-component vector of float)
+0:232 'v' (temp 4-component vector of float)
+0:232 textureProj (global 4-component vector of float)
+0:232 's2DR' (uniform sampler2DRect)
+0:232 'v3' (temp 3-component vector of float)
+0:233 move second child to first child (temp 4-component vector of float)
+0:233 'v' (temp 4-component vector of float)
+0:233 textureProj (global 4-component vector of float)
+0:233 's2DR' (uniform sampler2DRect)
+0:233 'v4' (temp 4-component vector of float)
+0:234 move second child to first child (temp 4-component vector of float)
+0:234 'v' (temp 4-component vector of float)
+0:234 texture (global 4-component vector of float)
+0:234 's2DRS' (uniform sampler2DRectShadow)
+0:234 'v3' (temp 3-component vector of float)
+0:235 move second child to first child (temp 4-component vector of float)
+0:235 'v' (temp 4-component vector of float)
+0:235 textureProj (global 4-component vector of float)
+0:235 's2DRS' (uniform sampler2DRectShadow)
+0:235 'v4' (temp 4-component vector of float)
+0:237 move second child to first child (temp 4-component vector of float)
+0:237 'v' (temp 4-component vector of float)
+0:237 textureProjGrad (global 4-component vector of float)
+0:237 's2DRS' (uniform sampler2DRectShadow)
+0:237 'v' (temp 4-component vector of float)
+0:237 'v2' (temp 2-component vector of float)
+0:237 'v2' (temp 2-component vector of float)
+0:? Linker Objects
+0:? 'lowp' (global float)
+0:? 'mediump' (global float)
+0:? 'highp' (global float)
+0:? 'precision' (global float)
+0:? 'i' (smooth in 4-component vector of float)
+0:? 'o' (out 4-component vector of float)
+0:? 's2D' (uniform sampler2D)
+0:? 'centTexCoord' (centroid smooth in 2-component vector of float)
+0:? 'm' (uniform 4X2 matrix of float)
+0:? 'imageBuffer' (global float)
+0:? 'uimage2DRect' (global float)
+0:? 'a' (temp int)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'm22' (global 2X2 matrix of float)
+0:? 'm23' (global 2X3 matrix of float)
+0:? 'm24' (global 2X4 matrix of float)
+0:? 'm32' (global 3X2 matrix of float)
+0:? 'm33' (global 3X3 matrix of float)
+0:? 'm34' (global 3X4 matrix of float)
+0:? 'm42' (global 4X2 matrix of float)
+0:? 'm43' (global 4X3 matrix of float)
+0:? 'm44' (global 4X4 matrix of float)
+0:? 's3D' (uniform sampler3D)
+0:? 's1D' (uniform sampler1D)
+0:? 's2DS' (uniform sampler2DShadow)
+0:? 's2DRbad' (uniform sampler2DRect)
+0:? 's2DR' (uniform sampler2DRect)
+0:? 's2DRS' (uniform sampler2DRectShadow)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/120.vert.out b/chromium/third_party/glslang/src/Test/baseResults/120.vert.out
new file mode 100644
index 00000000000..6c63744fedc
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/120.vert.out
@@ -0,0 +1,783 @@
+120.vert
+ERROR: 0:3: 'in for stage inputs' : not supported for this version or the enabled extensions
+ERROR: 0:4: 'out for stage outputs' : not supported for this version or the enabled extensions
+ERROR: 0:11: 'gl_Position' : cannot add storage, auxiliary, memory, interpolation, layout, or precision qualifier to an existing variable
+ERROR: 0:12: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
+ERROR: 0:12: '' : replicated qualifiers
+ERROR: 0:12: 'foo' : identifier not previously declared
+ERROR: 0:21: 'gl_ClipDistance' : undeclared identifier
+ERROR: 0:21: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:21: 'assign' : l-value required (can't modify a const)
+ERROR: 0:28: 'length' : array must be declared with a size before using this method
+ERROR: 0:31: 'length' : incomplete method syntax
+ERROR: 0:32: 'length' : method does not accept any arguments
+ERROR: 0:33: '.' : cannot apply to an array: flizbit
+ERROR: 0:33: '=' : cannot convert from 'temp 7-element array of float' to 'temp int'
+ERROR: 0:34: '.' : cannot apply to an array: flizbit
+ERROR: 0:34: 'f' : can't use function syntax on variable
+ERROR: 0:34: 'a4' : redefinition
+ERROR: 0:35: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:36: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:37: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:38: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:39: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:40: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:40: 'constructor' : array constructor needs one argument per array element
+ERROR: 0:40: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:40: '=' : cannot convert from 'const float' to 'temp 2-element array of 3-element array of float'
+ERROR: 0:41: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:41: 'constructor' : array constructor needs one argument per array element
+ERROR: 0:41: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:41: '=' : cannot convert from 'const float' to 'temp 2-element array of 3-element array of float'
+ERROR: 0:50: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:51: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:52: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:53: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:56: 'out' : overloaded functions must have the same parameter storage qualifiers for argument 1
+ERROR: 0:57: 'float' : overloaded functions must have the same return type
+ERROR: 0:87: 'overloadC' : no matching overloaded function found
+ERROR: 0:90: 'overloadC' : no matching overloaded function found
+ERROR: 0:95: 'overloadD' : ambiguous function signature match: multiple signatures match under implicit type conversion
+ERROR: 0:98: 'overloadB' : can't use function syntax on variable
+ERROR: 0:106: 'overloadC' : no matching overloaded function found
+ERROR: 0:107: 'overloadE' : no matching overloaded function found
+ERROR: 0:108: 'overloadE' : no matching overloaded function found
+ERROR: 0:111: 'overloadE' : no matching overloaded function found
+ERROR: 0:117: 'overloadF' : no matching overloaded function found
+ERROR: 0:121: 'gl_TexCoord array size' : must be less than gl_MaxTextureCoords (32)
+ERROR: 0:165: 'switch' : Reserved word.
+ERROR: 0:171: 'default' : Reserved word.
+ERROR: 0:165: 'switch statements' : not supported for this version or the enabled extensions
+ERROR: 0:176: 'bit shift left' : not supported for this version or the enabled extensions
+ERROR: 0:176: 'bit shift right' : not supported for this version or the enabled extensions
+ERROR: 0:176: 'bitwise and' : not supported for this version or the enabled extensions
+ERROR: 0:176: 'bitwise inclusive or' : not supported for this version or the enabled extensions
+ERROR: 0:179: 'modf' : no matching overloaded function found
+ERROR: 0:179: '=' : cannot convert from 'const float' to 'temp 3-component vector of float'
+ERROR: 0:180: 'trunc' : no matching overloaded function found
+ERROR: 0:181: 'round' : no matching overloaded function found
+ERROR: 0:181: '=' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 0:182: 'roundEven' : no matching overloaded function found
+ERROR: 0:182: '=' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 0:183: 'isnan' : no matching overloaded function found
+ERROR: 0:183: '=' : cannot convert from 'const float' to 'temp 2-component vector of bool'
+ERROR: 0:184: 'isinf' : no matching overloaded function found
+ERROR: 0:184: '=' : cannot convert from 'const float' to 'temp 4-component vector of bool'
+ERROR: 0:186: 'sinh' : no matching overloaded function found
+ERROR: 0:187: 'cosh' : no matching overloaded function found
+ERROR: 0:187: 'tanh' : no matching overloaded function found
+ERROR: 0:188: 'c4D' : undeclared identifier
+ERROR: 0:188: 'asinh' : no matching overloaded function found
+ERROR: 0:188: 'acosh' : no matching overloaded function found
+ERROR: 0:189: 'atanh' : no matching overloaded function found
+ERROR: 0:191: 'gl_VertexID' : undeclared identifier
+ERROR: 0:191: '=' : cannot convert from 'temp float' to 'temp int'
+ERROR: 0:192: 'gl_ClipDistance' : undeclared identifier
+ERROR: 0:192: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:192: 'assign' : l-value required (can't modify a const)
+ERROR: 0:198: 'token pasting (##)' : not supported for this version or the enabled extensions
+ERROR: 0:198: '##' : token pasting not implemented (internal error)
+ERROR: 0:198: '' : syntax error
+ERROR: 79 compilation errors. No code generated.
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 move second child to first child (temp 2-component vector of float)
+0:17 'centTexCoord' (invariant smooth out 2-component vector of float)
+0:17 'attv2' (in 2-component vector of float)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_Position' (invariant gl_Position 4-component vector of float Position)
+0:18 'attv4' (in 4-component vector of float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:20 'attv4' (in 4-component vector of float)
+0:21 move second child to first child (temp float)
+0:21 Constant:
+0:21 0.000000
+0:21 Constant:
+0:21 0.200000
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 'gl_Position' (invariant gl_Position 4-component vector of float Position)
+0:25 direct index (temp 4-component vector of float)
+0:25 'b' (temp 12-element array of 4-component vector of float)
+0:25 Constant:
+0:25 11 (const int)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'a1' (temp int)
+0:28 Constant:
+0:28 1 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp int)
+0:30 'aa' (temp int)
+0:30 Constant:
+0:30 7 (const int)
+0:31 Sequence
+0:31 move second child to first child (temp int)
+0:31 'a2' (temp int)
+0:32 Sequence
+0:32 move second child to first child (temp int)
+0:32 'a3' (temp int)
+0:32 Constant:
+0:32 1 (const int)
+0:43 move second child to first child (temp float)
+0:43 'gl_PointSize' (invariant gl_PointSize float PointSize)
+0:43 Constant:
+0:43 3.800000
+0:61 Function Definition: overloadB(f1;f1; (global void)
+0:61 Function Parameters:
+0:61 '' (in float)
+0:61 '' (const (read only) float)
+0:78 Function Definition: foo( (global void)
+0:78 Function Parameters:
+0:? Sequence
+0:83 Function Call: overloadB(f1;f1; (global void)
+0:83 'f' (temp float)
+0:83 'f' (temp float)
+0:84 Function Call: overloadB(f1;f1; (global void)
+0:84 'f' (temp float)
+0:84 Constant:
+0:84 2.000000
+0:85 Function Call: overloadB(f1;f1; (global void)
+0:85 Constant:
+0:85 1.000000
+0:85 Convert int to float (temp float)
+0:85 'i' (temp int)
+0:87 Constant:
+0:87 0.000000
+0:88 Function Call: overloadC(i1;i1; (global 2-component vector of float)
+0:88 Constant:
+0:88 1 (const int)
+0:88 'i' (temp int)
+0:89 Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
+0:89 Constant:
+0:89 1.000000
+0:89 1.000000
+0:89 Constant:
+0:89 2.000000
+0:89 2.000000
+0:90 Constant:
+0:90 0.000000
+0:91 Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
+0:91 Constant:
+0:91 1.000000
+0:91 1.000000
+0:91 Constant:
+0:91 2.000000
+0:91 2.000000
+0:93 Function Call: overloadD(i1;f1; (global 3-component vector of float)
+0:93 'i' (temp int)
+0:93 'f' (temp float)
+0:94 Function Call: overloadD(f1;i1; (global 3-component vector of float)
+0:94 'f' (temp float)
+0:94 'i' (temp int)
+0:95 Function Call: overloadD(f1;i1; (global 3-component vector of float)
+0:95 Convert int to float (temp float)
+0:95 'i' (temp int)
+0:95 'i' (temp int)
+0:98 Constant:
+0:98 0.000000
+0:100 Constant:
+0:100 0.841471
+0:101 texture (global 4-component vector of float)
+0:101 's2D' (uniform sampler2D)
+0:101 Constant:
+0:101 0.000000
+0:101 0.000000
+0:102 clamp (global 4-component vector of float)
+0:102 'attv4' (in 4-component vector of float)
+0:102 Constant:
+0:102 0.000000
+0:102 Constant:
+0:102 1.000000
+0:103 clamp (global 4-component vector of float)
+0:103 Convert int to float (temp 4-component vector of float)
+0:103 Convert float to int (temp 4-component vector of int)
+0:103 'attv4' (in 4-component vector of float)
+0:103 Constant:
+0:103 0.000000
+0:103 Constant:
+0:103 1.000000
+0:106 Constant:
+0:106 0.000000
+0:107 Constant:
+0:107 0.000000
+0:108 Constant:
+0:108 0.000000
+0:109 Function Call: overloadE(vf2; (global 3-component vector of float)
+0:109 Constant:
+0:109 3.300000
+0:109 3.300000
+0:110 Function Call: overloadE(mf22; (global 3-component vector of float)
+0:110 Constant:
+0:110 0.500000
+0:110 0.000000
+0:110 0.000000
+0:110 0.500000
+0:111 Constant:
+0:111 0.000000
+0:112 Function Call: overloadE(vf2; (global 3-component vector of float)
+0:112 Constant:
+0:112 1.000000
+0:112 1.000000
+0:115 Function Call: overloadE(f1[2]; (global 3-component vector of float)
+0:115 'b' (temp 2-element array of float)
+0:117 Constant:
+0:117 0.000000
+0:118 Function Call: overloadF(i1; (global 3-component vector of float)
+0:118 Constant:
+0:118 1 (const int)
+0:128 Function Definition: foo2( (global void)
+0:128 Function Parameters:
+0:? Sequence
+0:135 Comma (global void)
+0:135 Function Call: outFun(f1;vi2;i1;f1; (global void)
+0:135 Convert int to float (temp float)
+0:135 'i' (temp int)
+0:135 'tempArg' (temp 2-component vector of int)
+0:135 'i' (temp int)
+0:135 'f' (temp float)
+0:135 move second child to first child (temp 2-component vector of float)
+0:135 'v2' (temp 2-component vector of float)
+0:135 Convert int to float (temp 2-component vector of float)
+0:135 'tempArg' (temp 2-component vector of int)
+0:136 Comma (global int)
+0:136 move second child to first child (temp int)
+0:136 'tempReturn' (global int)
+0:136 Function Call: outFunRet(f1;i1;i1;vi4; (global int)
+0:136 Convert int to float (temp float)
+0:136 'i' (temp int)
+0:136 'tempArg' (temp int)
+0:136 'i' (temp int)
+0:136 'tempArg' (temp 4-component vector of int)
+0:136 move second child to first child (temp float)
+0:136 'f' (temp float)
+0:136 Convert int to float (temp float)
+0:136 'tempArg' (temp int)
+0:136 move second child to first child (temp 4-component vector of float)
+0:136 'v4' (temp 4-component vector of float)
+0:136 Convert int to float (temp 4-component vector of float)
+0:136 'tempArg' (temp 4-component vector of int)
+0:136 'tempReturn' (global int)
+0:137 Sequence
+0:137 move second child to first child (temp float)
+0:137 'ret' (temp float)
+0:137 Convert int to float (temp float)
+0:137 Comma (global int)
+0:137 move second child to first child (temp int)
+0:137 'tempReturn' (global int)
+0:137 Function Call: outFunRet(f1;i1;i1;vi4; (global int)
+0:137 Convert int to float (temp float)
+0:137 'i' (temp int)
+0:137 'tempArg' (temp int)
+0:137 'i' (temp int)
+0:137 'tempArg' (temp 4-component vector of int)
+0:137 move second child to first child (temp float)
+0:137 'f' (temp float)
+0:137 Convert int to float (temp float)
+0:137 'tempArg' (temp int)
+0:137 move second child to first child (temp 4-component vector of float)
+0:137 'v4' (temp 4-component vector of float)
+0:137 Convert int to float (temp 4-component vector of float)
+0:137 'tempArg' (temp 4-component vector of int)
+0:137 'tempReturn' (global int)
+0:138 Sequence
+0:138 move second child to first child (temp 2-component vector of float)
+0:138 'ret2' (temp 2-component vector of float)
+0:138 Convert int to float (temp 2-component vector of float)
+0:138 Comma (global 2-component vector of int)
+0:138 move second child to first child (temp 2-component vector of int)
+0:138 'tempReturn' (global 2-component vector of int)
+0:138 Function Call: outFunRet(f1;vi4;i1;vi4; (global 2-component vector of int)
+0:138 Convert int to float (temp float)
+0:138 'i' (temp int)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 'i' (temp int)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 move second child to first child (temp 4-component vector of float)
+0:138 'v4' (temp 4-component vector of float)
+0:138 Convert int to float (temp 4-component vector of float)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 move second child to first child (temp 4-component vector of float)
+0:138 'v4' (temp 4-component vector of float)
+0:138 Convert int to float (temp 4-component vector of float)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 'tempReturn' (global 2-component vector of int)
+0:139 Sequence
+0:139 move second child to first child (temp bool)
+0:139 'b' (temp bool)
+0:139 any (global bool)
+0:139 Compare Less Than (global 4-component vector of bool)
+0:139 'v4' (temp 4-component vector of float)
+0:139 'attv4' (in 4-component vector of float)
+0:142 Function Definition: noise( (global void)
+0:142 Function Parameters:
+0:144 Sequence
+0:144 Sequence
+0:144 move second child to first child (temp float)
+0:144 'f1' (temp float)
+0:144 noise (global float)
+0:144 Constant:
+0:144 1.000000
+0:145 Sequence
+0:145 move second child to first child (temp 2-component vector of float)
+0:145 'f2' (temp 2-component vector of float)
+0:145 noise (global 2-component vector of float)
+0:145 Constant:
+0:145 1.000000
+0:145 1.000000
+0:146 Sequence
+0:146 move second child to first child (temp 3-component vector of float)
+0:146 'f3' (temp 3-component vector of float)
+0:146 noise (global 3-component vector of float)
+0:146 Constant:
+0:146 1.000000
+0:146 1.000000
+0:146 1.000000
+0:147 Sequence
+0:147 move second child to first child (temp 4-component vector of float)
+0:147 'f4' (temp 4-component vector of float)
+0:147 noise (global 4-component vector of float)
+0:147 Constant:
+0:147 1.000000
+0:147 1.000000
+0:147 1.000000
+0:147 1.000000
+0:162 Function Definition: foo213( (global void)
+0:162 Function Parameters:
+0:164 Sequence
+0:164 Sequence
+0:164 move second child to first child (temp float)
+0:164 'f' (temp float)
+0:164 Constant:
+0:164 3.000000
+0:165 switch
+0:165 condition
+0:165 'c' (uniform int)
+0:165 body
+0:165 Sequence
+0:166 case: with expression
+0:166 Constant:
+0:166 1 (const int)
+0:? Sequence
+0:167 move second child to first child (temp float)
+0:167 'f' (temp float)
+0:167 sine (global float)
+0:167 'f' (temp float)
+0:168 Branch: Break
+0:169 case: with expression
+0:169 Constant:
+0:169 2 (const int)
+0:? Sequence
+0:170 move second child to first child (temp float)
+0:170 'f' (temp float)
+0:170 component-wise multiply (temp float)
+0:170 'f' (temp float)
+0:170 'f' (temp float)
+0:171 default:
+0:? Sequence
+0:172 move second child to first child (temp float)
+0:172 'f' (temp float)
+0:172 Constant:
+0:172 3.000000
+0:176 inclusive-or (temp int)
+0:176 left-shift (temp int)
+0:176 'i' (temp int)
+0:176 Constant:
+0:176 3 (const int)
+0:176 Constant:
+0:176 69 (const int)
+0:180 Sequence
+0:180 move second child to first child (temp float)
+0:180 't' (temp float)
+0:180 Constant:
+0:180 0.000000
+0:186 Constant:
+0:186 0.000000
+0:188 Constant:
+0:188 0.000000
+0:189 Constant:
+0:189 0.000000
+0:192 move second child to first child (temp float)
+0:192 Constant:
+0:192 0.000000
+0:192 Constant:
+0:192 0.300000
+0:? Linker Objects
+0:? 'i' (in 4-component vector of float)
+0:? 'o' (smooth out 4-component vector of float)
+0:? 'attv2' (in 2-component vector of float)
+0:? 'attv4' (in 4-component vector of float)
+0:? 's2D' (uniform sampler2D)
+0:? 'centTexCoord' (invariant smooth out 2-component vector of float)
+0:? 'initted' (uniform float)
+0:? 3.400000
+0:? 'concall' (const float)
+0:? 0.295520
+0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
+0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
+0:? 'c' (uniform int)
+0:? 'x' (in 2-component vector of int)
+0:? 'v2a' (in 2-component vector of float)
+0:? 'c1D' (in float)
+0:? 'c2D' (in 2-component vector of float)
+0:? 'c3D' (in 3-component vector of float)
+0:? 'v4' (uniform 4-component vector of float)
+0:? 'abc' (global int)
+
+
+Linked vertex stage:
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 move second child to first child (temp 2-component vector of float)
+0:17 'centTexCoord' (invariant smooth out 2-component vector of float)
+0:17 'attv2' (in 2-component vector of float)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_Position' (invariant gl_Position 4-component vector of float Position)
+0:18 'attv4' (in 4-component vector of float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:20 'attv4' (in 4-component vector of float)
+0:21 move second child to first child (temp float)
+0:21 Constant:
+0:21 0.000000
+0:21 Constant:
+0:21 0.200000
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 'gl_Position' (invariant gl_Position 4-component vector of float Position)
+0:25 direct index (temp 4-component vector of float)
+0:25 'b' (temp 12-element array of 4-component vector of float)
+0:25 Constant:
+0:25 11 (const int)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'a1' (temp int)
+0:28 Constant:
+0:28 1 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp int)
+0:30 'aa' (temp int)
+0:30 Constant:
+0:30 7 (const int)
+0:31 Sequence
+0:31 move second child to first child (temp int)
+0:31 'a2' (temp int)
+0:32 Sequence
+0:32 move second child to first child (temp int)
+0:32 'a3' (temp int)
+0:32 Constant:
+0:32 1 (const int)
+0:43 move second child to first child (temp float)
+0:43 'gl_PointSize' (invariant gl_PointSize float PointSize)
+0:43 Constant:
+0:43 3.800000
+0:61 Function Definition: overloadB(f1;f1; (global void)
+0:61 Function Parameters:
+0:61 '' (in float)
+0:61 '' (const (read only) float)
+0:78 Function Definition: foo( (global void)
+0:78 Function Parameters:
+0:? Sequence
+0:83 Function Call: overloadB(f1;f1; (global void)
+0:83 'f' (temp float)
+0:83 'f' (temp float)
+0:84 Function Call: overloadB(f1;f1; (global void)
+0:84 'f' (temp float)
+0:84 Constant:
+0:84 2.000000
+0:85 Function Call: overloadB(f1;f1; (global void)
+0:85 Constant:
+0:85 1.000000
+0:85 Convert int to float (temp float)
+0:85 'i' (temp int)
+0:87 Constant:
+0:87 0.000000
+0:88 Function Call: overloadC(i1;i1; (global 2-component vector of float)
+0:88 Constant:
+0:88 1 (const int)
+0:88 'i' (temp int)
+0:89 Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
+0:89 Constant:
+0:89 1.000000
+0:89 1.000000
+0:89 Constant:
+0:89 2.000000
+0:89 2.000000
+0:90 Constant:
+0:90 0.000000
+0:91 Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
+0:91 Constant:
+0:91 1.000000
+0:91 1.000000
+0:91 Constant:
+0:91 2.000000
+0:91 2.000000
+0:93 Function Call: overloadD(i1;f1; (global 3-component vector of float)
+0:93 'i' (temp int)
+0:93 'f' (temp float)
+0:94 Function Call: overloadD(f1;i1; (global 3-component vector of float)
+0:94 'f' (temp float)
+0:94 'i' (temp int)
+0:95 Function Call: overloadD(f1;i1; (global 3-component vector of float)
+0:95 Convert int to float (temp float)
+0:95 'i' (temp int)
+0:95 'i' (temp int)
+0:98 Constant:
+0:98 0.000000
+0:100 Constant:
+0:100 0.841471
+0:101 texture (global 4-component vector of float)
+0:101 's2D' (uniform sampler2D)
+0:101 Constant:
+0:101 0.000000
+0:101 0.000000
+0:102 clamp (global 4-component vector of float)
+0:102 'attv4' (in 4-component vector of float)
+0:102 Constant:
+0:102 0.000000
+0:102 Constant:
+0:102 1.000000
+0:103 clamp (global 4-component vector of float)
+0:103 Convert int to float (temp 4-component vector of float)
+0:103 Convert float to int (temp 4-component vector of int)
+0:103 'attv4' (in 4-component vector of float)
+0:103 Constant:
+0:103 0.000000
+0:103 Constant:
+0:103 1.000000
+0:106 Constant:
+0:106 0.000000
+0:107 Constant:
+0:107 0.000000
+0:108 Constant:
+0:108 0.000000
+0:109 Function Call: overloadE(vf2; (global 3-component vector of float)
+0:109 Constant:
+0:109 3.300000
+0:109 3.300000
+0:110 Function Call: overloadE(mf22; (global 3-component vector of float)
+0:110 Constant:
+0:110 0.500000
+0:110 0.000000
+0:110 0.000000
+0:110 0.500000
+0:111 Constant:
+0:111 0.000000
+0:112 Function Call: overloadE(vf2; (global 3-component vector of float)
+0:112 Constant:
+0:112 1.000000
+0:112 1.000000
+0:115 Function Call: overloadE(f1[2]; (global 3-component vector of float)
+0:115 'b' (temp 2-element array of float)
+0:117 Constant:
+0:117 0.000000
+0:118 Function Call: overloadF(i1; (global 3-component vector of float)
+0:118 Constant:
+0:118 1 (const int)
+0:128 Function Definition: foo2( (global void)
+0:128 Function Parameters:
+0:? Sequence
+0:135 Comma (global void)
+0:135 Function Call: outFun(f1;vi2;i1;f1; (global void)
+0:135 Convert int to float (temp float)
+0:135 'i' (temp int)
+0:135 'tempArg' (temp 2-component vector of int)
+0:135 'i' (temp int)
+0:135 'f' (temp float)
+0:135 move second child to first child (temp 2-component vector of float)
+0:135 'v2' (temp 2-component vector of float)
+0:135 Convert int to float (temp 2-component vector of float)
+0:135 'tempArg' (temp 2-component vector of int)
+0:136 Comma (global int)
+0:136 move second child to first child (temp int)
+0:136 'tempReturn' (global int)
+0:136 Function Call: outFunRet(f1;i1;i1;vi4; (global int)
+0:136 Convert int to float (temp float)
+0:136 'i' (temp int)
+0:136 'tempArg' (temp int)
+0:136 'i' (temp int)
+0:136 'tempArg' (temp 4-component vector of int)
+0:136 move second child to first child (temp float)
+0:136 'f' (temp float)
+0:136 Convert int to float (temp float)
+0:136 'tempArg' (temp int)
+0:136 move second child to first child (temp 4-component vector of float)
+0:136 'v4' (temp 4-component vector of float)
+0:136 Convert int to float (temp 4-component vector of float)
+0:136 'tempArg' (temp 4-component vector of int)
+0:136 'tempReturn' (global int)
+0:137 Sequence
+0:137 move second child to first child (temp float)
+0:137 'ret' (temp float)
+0:137 Convert int to float (temp float)
+0:137 Comma (global int)
+0:137 move second child to first child (temp int)
+0:137 'tempReturn' (global int)
+0:137 Function Call: outFunRet(f1;i1;i1;vi4; (global int)
+0:137 Convert int to float (temp float)
+0:137 'i' (temp int)
+0:137 'tempArg' (temp int)
+0:137 'i' (temp int)
+0:137 'tempArg' (temp 4-component vector of int)
+0:137 move second child to first child (temp float)
+0:137 'f' (temp float)
+0:137 Convert int to float (temp float)
+0:137 'tempArg' (temp int)
+0:137 move second child to first child (temp 4-component vector of float)
+0:137 'v4' (temp 4-component vector of float)
+0:137 Convert int to float (temp 4-component vector of float)
+0:137 'tempArg' (temp 4-component vector of int)
+0:137 'tempReturn' (global int)
+0:138 Sequence
+0:138 move second child to first child (temp 2-component vector of float)
+0:138 'ret2' (temp 2-component vector of float)
+0:138 Convert int to float (temp 2-component vector of float)
+0:138 Comma (global 2-component vector of int)
+0:138 move second child to first child (temp 2-component vector of int)
+0:138 'tempReturn' (global 2-component vector of int)
+0:138 Function Call: outFunRet(f1;vi4;i1;vi4; (global 2-component vector of int)
+0:138 Convert int to float (temp float)
+0:138 'i' (temp int)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 'i' (temp int)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 move second child to first child (temp 4-component vector of float)
+0:138 'v4' (temp 4-component vector of float)
+0:138 Convert int to float (temp 4-component vector of float)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 move second child to first child (temp 4-component vector of float)
+0:138 'v4' (temp 4-component vector of float)
+0:138 Convert int to float (temp 4-component vector of float)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 'tempReturn' (global 2-component vector of int)
+0:139 Sequence
+0:139 move second child to first child (temp bool)
+0:139 'b' (temp bool)
+0:139 any (global bool)
+0:139 Compare Less Than (global 4-component vector of bool)
+0:139 'v4' (temp 4-component vector of float)
+0:139 'attv4' (in 4-component vector of float)
+0:142 Function Definition: noise( (global void)
+0:142 Function Parameters:
+0:144 Sequence
+0:144 Sequence
+0:144 move second child to first child (temp float)
+0:144 'f1' (temp float)
+0:144 noise (global float)
+0:144 Constant:
+0:144 1.000000
+0:145 Sequence
+0:145 move second child to first child (temp 2-component vector of float)
+0:145 'f2' (temp 2-component vector of float)
+0:145 noise (global 2-component vector of float)
+0:145 Constant:
+0:145 1.000000
+0:145 1.000000
+0:146 Sequence
+0:146 move second child to first child (temp 3-component vector of float)
+0:146 'f3' (temp 3-component vector of float)
+0:146 noise (global 3-component vector of float)
+0:146 Constant:
+0:146 1.000000
+0:146 1.000000
+0:146 1.000000
+0:147 Sequence
+0:147 move second child to first child (temp 4-component vector of float)
+0:147 'f4' (temp 4-component vector of float)
+0:147 noise (global 4-component vector of float)
+0:147 Constant:
+0:147 1.000000
+0:147 1.000000
+0:147 1.000000
+0:147 1.000000
+0:162 Function Definition: foo213( (global void)
+0:162 Function Parameters:
+0:164 Sequence
+0:164 Sequence
+0:164 move second child to first child (temp float)
+0:164 'f' (temp float)
+0:164 Constant:
+0:164 3.000000
+0:165 switch
+0:165 condition
+0:165 'c' (uniform int)
+0:165 body
+0:165 Sequence
+0:166 case: with expression
+0:166 Constant:
+0:166 1 (const int)
+0:? Sequence
+0:167 move second child to first child (temp float)
+0:167 'f' (temp float)
+0:167 sine (global float)
+0:167 'f' (temp float)
+0:168 Branch: Break
+0:169 case: with expression
+0:169 Constant:
+0:169 2 (const int)
+0:? Sequence
+0:170 move second child to first child (temp float)
+0:170 'f' (temp float)
+0:170 component-wise multiply (temp float)
+0:170 'f' (temp float)
+0:170 'f' (temp float)
+0:171 default:
+0:? Sequence
+0:172 move second child to first child (temp float)
+0:172 'f' (temp float)
+0:172 Constant:
+0:172 3.000000
+0:176 inclusive-or (temp int)
+0:176 left-shift (temp int)
+0:176 'i' (temp int)
+0:176 Constant:
+0:176 3 (const int)
+0:176 Constant:
+0:176 69 (const int)
+0:180 Sequence
+0:180 move second child to first child (temp float)
+0:180 't' (temp float)
+0:180 Constant:
+0:180 0.000000
+0:186 Constant:
+0:186 0.000000
+0:188 Constant:
+0:188 0.000000
+0:189 Constant:
+0:189 0.000000
+0:192 move second child to first child (temp float)
+0:192 Constant:
+0:192 0.000000
+0:192 Constant:
+0:192 0.300000
+0:? Linker Objects
+0:? 'i' (in 4-component vector of float)
+0:? 'o' (smooth out 4-component vector of float)
+0:? 'attv2' (in 2-component vector of float)
+0:? 'attv4' (in 4-component vector of float)
+0:? 's2D' (uniform sampler2D)
+0:? 'centTexCoord' (invariant smooth out 2-component vector of float)
+0:? 'initted' (uniform float)
+0:? 3.400000
+0:? 'concall' (const float)
+0:? 0.295520
+0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
+0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
+0:? 'c' (uniform int)
+0:? 'x' (in 2-component vector of int)
+0:? 'v2a' (in 2-component vector of float)
+0:? 'c1D' (in float)
+0:? 'c2D' (in 2-component vector of float)
+0:? 'c3D' (in 3-component vector of float)
+0:? 'v4' (uniform 4-component vector of float)
+0:? 'abc' (global int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/130.frag.out b/chromium/third_party/glslang/src/Test/baseResults/130.frag.out
new file mode 100644
index 00000000000..b2b4dd06567
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/130.frag.out
@@ -0,0 +1,782 @@
+130.frag
+ERROR: 0:25: 'textureGather(...)' : not supported for this version or the enabled extensions
+ERROR: 0:35: 'redeclaration' : cannot change the type of gl_Color
+ERROR: 0:38: 'gl_Color' : redeclaring non-array as array
+ERROR: 0:39: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_Color
+WARNING: 0:45: extension GL_ARB_texture_gather is being used for textureGather(...)
+ERROR: 0:62: '<' : wrong operand types: no operation '<' exists that takes a left-hand operand of type 'temp 3-component vector of bool' and a right operand of type 'temp 3-component vector of bool' (or there is no acceptable conversion)
+ERROR: 0:63: '>' : wrong operand types: no operation '>' exists that takes a left-hand operand of type 'temp 3-component vector of uint' and a right operand of type 'temp 3-component vector of uint' (or there is no acceptable conversion)
+ERROR: 0:64: '>=' : wrong operand types: no operation '>=' exists that takes a left-hand operand of type 'const 2-component vector of uint' and a right operand of type 'const 2-component vector of uint' (or there is no acceptable conversion)
+ERROR: 0:80: 'textureGatherOffset' : no matching overloaded function found
+ERROR: 0:80: 'assign' : cannot convert from 'const float' to 'temp 4-component vector of float'
+ERROR: 0:81: 'textureGatherOffset(...)' : not supported for this version or the enabled extensions
+ERROR: 0:84: 'textureGatherOffset(...)' : not supported for this version or the enabled extensions
+ERROR: 0:85: 'textureGatherOffset(...)' : not supported for this version or the enabled extensions
+WARNING: 0:88: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
+ERROR: 0:120: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:126: 'uniform block' : not supported for this version or the enabled extensions
+ERROR: 0:140: 'length' : does not operate on this type: temp bool
+ERROR: 0:140: 'boolb' : can't use function syntax on variable
+ERROR: 0:141: 'length' : does not operate on this type: temp float
+ERROR: 0:141: '' : function call, method, or subroutine call expected
+ERROR: 0:141: '' : no matching overloaded function found
+ERROR: 0:142: 'length' : incomplete method syntax
+ERROR: 0:143: 'length' : method does not accept any arguments
+ERROR: 0:146: 'gl_FogFragCoord' : identifiers starting with "gl_" are reserved
+ERROR: 0:151: 'int' : must be qualified as flat in
+ERROR: 0:151: 'redeclaration' : cannot change the type of gl_FogFragCoord
+ERROR: 0:153: 'early_fragment_tests' : not supported for this version or the enabled extensions
+ERROR: 0:154: 'image load store' : not supported for this version or the enabled extensions
+ERROR: 0:154: 'iimage2D' : Reserved word.
+ERROR: 0:169: 'early_fragment_tests' : can only apply to 'in'
+ERROR: 28 compilation errors. No code generated.
+
+
+Shader version: 130
+Requested GL_ARB_gpu_shader5
+Requested GL_ARB_separate_shader_objects
+Requested GL_ARB_shader_image_load_store
+Requested GL_ARB_shading_language_420pack
+Requested GL_ARB_texture_cube_map_array
+Requested GL_ARB_texture_gather
+Requested GL_ARB_texture_rectangle
+using early_fragment_tests
+ERROR: node is still EOpNull!
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:18 Sequence
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'clip' (temp float)
+0:18 direct index (smooth temp float ClipDistance)
+0:18 'gl_ClipDistance' (smooth in implicitly-sized array of float ClipDistance)
+0:18 Constant:
+0:18 3 (const int)
+0:23 Function Definition: foo( (global void)
+0:23 Function Parameters:
+0:25 Sequence
+0:25 Sequence
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 's' (temp 4-component vector of float)
+0:25 textureGather (global 4-component vector of float)
+0:25 'sampC' (uniform samplerCube)
+0:25 Constant:
+0:25 0.200000
+0:25 0.200000
+0:25 0.200000
+0:30 Function Definition: bar( (global void)
+0:30 Function Parameters:
+0:32 Sequence
+0:32 Sequence
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 's' (temp 4-component vector of float)
+0:32 textureGather (global 4-component vector of float)
+0:32 'sampC' (uniform samplerCube)
+0:32 Constant:
+0:32 0.200000
+0:32 0.200000
+0:32 0.200000
+0:43 Function Definition: bar2( (global void)
+0:43 Function Parameters:
+0:45 Sequence
+0:45 Sequence
+0:45 move second child to first child (temp 4-component vector of float)
+0:45 's' (temp 4-component vector of float)
+0:45 textureGather (global 4-component vector of float)
+0:45 'sampC' (uniform samplerCube)
+0:45 Constant:
+0:45 0.200000
+0:45 0.200000
+0:45 0.200000
+0:49 move second child to first child (temp 3-component vector of bool)
+0:49 'b3' (temp 3-component vector of bool)
+0:49 Compare Less Than (global 3-component vector of bool)
+0:49 'uv3' (temp 3-component vector of uint)
+0:49 'uv3' (temp 3-component vector of uint)
+0:50 move second child to first child (temp 3-component vector of bool)
+0:50 'b3' (temp 3-component vector of bool)
+0:50 Equal (global 3-component vector of bool)
+0:50 'uv3' (temp 3-component vector of uint)
+0:50 'uv3' (temp 3-component vector of uint)
+0:56 direct index (temp int)
+0:56 'a1' (temp 1-element array of int)
+0:56 Constant:
+0:56 0 (const int)
+0:57 direct index (temp int)
+0:57 'a2' (temp 1-element array of int)
+0:57 Constant:
+0:57 0 (const int)
+0:60 direct index (temp int)
+0:60 'a3' (temp 4-element array of int)
+0:60 Constant:
+0:60 3 (const int)
+0:61 Compare Not Equal (temp bool)
+0:61 'b3' (temp 3-component vector of bool)
+0:61 'b3' (temp 3-component vector of bool)
+0:62 Constant:
+0:62 false (const bool)
+0:63 Constant:
+0:63 false (const bool)
+0:64 Constant:
+0:64 false (const bool)
+0:65 Constant:
+0:65 true (const bool)
+0:66 Constant:
+0:66 false (const bool)
+0:77 Function Definition: bar23( (global void)
+0:77 Function Parameters:
+0:? Sequence
+0:80 's' (temp 4-component vector of float)
+0:81 move second child to first child (temp 4-component vector of float)
+0:81 's' (temp 4-component vector of float)
+0:81 textureGatherOffset (global 4-component vector of float)
+0:81 'samp2DR' (uniform sampler2DRect)
+0:81 Constant:
+0:81 0.300000
+0:81 0.300000
+0:81 Constant:
+0:81 1 (const int)
+0:81 1 (const int)
+0:82 move second child to first child (temp 4-component vector of float)
+0:82 's' (temp 4-component vector of float)
+0:82 textureGatherOffset (global 4-component vector of float)
+0:82 'samp2D' (uniform sampler2D)
+0:82 Constant:
+0:82 0.300000
+0:82 0.300000
+0:82 Constant:
+0:82 1 (const int)
+0:82 1 (const int)
+0:83 move second child to first child (temp 4-component vector of float)
+0:83 's' (temp 4-component vector of float)
+0:83 textureGatherOffset (global 4-component vector of float)
+0:83 'samp2DA' (uniform sampler2DArray)
+0:83 Constant:
+0:83 0.300000
+0:83 0.300000
+0:83 0.300000
+0:83 Constant:
+0:83 1 (const int)
+0:83 1 (const int)
+0:84 move second child to first child (temp 4-component vector of float)
+0:84 's' (temp 4-component vector of float)
+0:84 textureGatherOffset (global 4-component vector of float)
+0:84 'samp2DS' (uniform sampler2DShadow)
+0:84 Constant:
+0:84 0.300000
+0:84 0.300000
+0:84 Constant:
+0:84 1.300000
+0:84 Constant:
+0:84 1 (const int)
+0:84 1 (const int)
+0:85 move second child to first child (temp 4-component vector of float)
+0:85 's' (temp 4-component vector of float)
+0:85 textureGatherOffset (global 4-component vector of float)
+0:85 'samp2D' (uniform sampler2D)
+0:85 Constant:
+0:85 0.300000
+0:85 0.300000
+0:85 Constant:
+0:85 1 (const int)
+0:85 1 (const int)
+0:85 Constant:
+0:85 2 (const int)
+0:90 Function Definition: bar234( (global void)
+0:90 Function Parameters:
+0:? Sequence
+0:93 move second child to first child (temp 4-component vector of float)
+0:93 's' (temp 4-component vector of float)
+0:93 textureGatherOffset (global 4-component vector of float)
+0:93 'samp2D' (uniform sampler2D)
+0:93 Constant:
+0:93 0.300000
+0:93 0.300000
+0:93 Constant:
+0:93 1 (const int)
+0:93 1 (const int)
+0:94 move second child to first child (temp 4-component vector of float)
+0:94 's' (temp 4-component vector of float)
+0:94 textureGatherOffset (global 4-component vector of float)
+0:94 'samp2DA' (uniform sampler2DArray)
+0:94 Constant:
+0:94 0.300000
+0:94 0.300000
+0:94 0.300000
+0:94 Constant:
+0:94 1 (const int)
+0:94 1 (const int)
+0:95 move second child to first child (temp 4-component vector of float)
+0:95 's' (temp 4-component vector of float)
+0:95 textureGatherOffset (global 4-component vector of float)
+0:95 'samp2DR' (uniform sampler2DRect)
+0:95 Constant:
+0:95 0.300000
+0:95 0.300000
+0:95 Constant:
+0:95 1 (const int)
+0:95 1 (const int)
+0:96 move second child to first child (temp 4-component vector of float)
+0:96 's' (temp 4-component vector of float)
+0:96 textureGatherOffset (global 4-component vector of float)
+0:96 'samp2DS' (uniform sampler2DShadow)
+0:96 Constant:
+0:96 0.300000
+0:96 0.300000
+0:96 Constant:
+0:96 1.300000
+0:96 Constant:
+0:96 1 (const int)
+0:96 1 (const int)
+0:97 move second child to first child (temp 4-component vector of float)
+0:97 's' (temp 4-component vector of float)
+0:97 textureGatherOffset (global 4-component vector of float)
+0:97 'samp2D' (uniform sampler2D)
+0:97 Constant:
+0:97 0.300000
+0:97 0.300000
+0:97 Constant:
+0:97 1 (const int)
+0:97 1 (const int)
+0:97 Constant:
+0:97 2 (const int)
+0:107 Function Definition: bar235( (global void)
+0:107 Function Parameters:
+0:109 Sequence
+0:109 Sequence
+0:109 move second child to first child (temp 3-component vector of int)
+0:109 'a' (temp 3-component vector of int)
+0:109 textureSize (global 3-component vector of int)
+0:109 'Sca' (uniform samplerCubeArray)
+0:109 Constant:
+0:109 3 (const int)
+0:110 Sequence
+0:110 move second child to first child (temp 4-component vector of float)
+0:110 'b' (temp 4-component vector of float)
+0:110 texture (global 4-component vector of float)
+0:110 'Sca' (uniform samplerCubeArray)
+0:110 'i' (smooth in 4-component vector of float)
+0:111 Sequence
+0:111 move second child to first child (temp 4-component vector of int)
+0:111 'c' (temp 4-component vector of int)
+0:111 texture (global 4-component vector of int)
+0:111 'Isca' (uniform isamplerCubeArray)
+0:111 'i' (smooth in 4-component vector of float)
+0:111 Constant:
+0:111 0.700000
+0:112 Sequence
+0:112 move second child to first child (temp 4-component vector of uint)
+0:112 'd' (temp 4-component vector of uint)
+0:112 texture (global 4-component vector of uint)
+0:112 'Usca' (uniform usamplerCubeArray)
+0:112 'i' (smooth in 4-component vector of float)
+0:114 move second child to first child (temp 4-component vector of float)
+0:114 'b' (temp 4-component vector of float)
+0:114 textureLod (global 4-component vector of float)
+0:114 'Sca' (uniform samplerCubeArray)
+0:114 'i' (smooth in 4-component vector of float)
+0:114 Constant:
+0:114 1.700000
+0:115 move second child to first child (temp 3-component vector of int)
+0:115 'a' (temp 3-component vector of int)
+0:115 textureSize (global 3-component vector of int)
+0:115 'Scas' (uniform samplerCubeArrayShadow)
+0:115 direct index (temp int)
+0:115 'a' (temp 3-component vector of int)
+0:115 Constant:
+0:115 0 (const int)
+0:116 Sequence
+0:116 move second child to first child (temp float)
+0:116 'f' (temp float)
+0:116 texture (global float)
+0:116 'Scas' (uniform samplerCubeArrayShadow)
+0:116 'i' (smooth in 4-component vector of float)
+0:116 direct index (temp float)
+0:116 'b' (temp 4-component vector of float)
+0:116 Constant:
+0:116 1 (const int)
+0:117 move second child to first child (temp 4-component vector of int)
+0:117 'c' (temp 4-component vector of int)
+0:117 textureGrad (global 4-component vector of int)
+0:117 'Isca' (uniform isamplerCubeArray)
+0:117 'i' (smooth in 4-component vector of float)
+0:117 Constant:
+0:117 0.100000
+0:117 0.100000
+0:117 0.100000
+0:117 Constant:
+0:117 0.200000
+0:117 0.200000
+0:117 0.200000
+0:129 Function Definition: bar23444( (global void)
+0:129 Function Parameters:
+0:? Sequence
+0:132 Sequence
+0:132 move second child to first child (temp float)
+0:132 'a1' (temp float)
+0:132 direct index (temp float)
+0:132 direct index (temp 3-component vector of float)
+0:132 'm43' (temp 4X3 matrix of float)
+0:132 Constant:
+0:132 3 (const int)
+0:132 Constant:
+0:132 1 (const int)
+0:134 Sequence
+0:134 move second child to first child (temp int)
+0:134 'a2' (temp int)
+0:134 Constant:
+0:134 4 (const int)
+0:135 add second child into first child (temp int)
+0:135 'a2' (temp int)
+0:135 Constant:
+0:135 3 (const int)
+0:136 add second child into first child (temp int)
+0:136 'a2' (temp int)
+0:136 Constant:
+0:136 3 (const int)
+0:137 Sequence
+0:137 move second child to first child (temp float)
+0:137 'b' (const (read only) float)
+0:137 component-wise multiply (temp float)
+0:137 Constant:
+0:137 2.000000
+0:137 'a1' (temp float)
+0:138 move second child to first child (temp float)
+0:138 direct index (temp float)
+0:138 'a' (global 3-component vector of float)
+0:138 Constant:
+0:138 0 (const int)
+0:138 Constant:
+0:138 -1.000000
+0:140 Constant:
+0:140 0.000000
+0:141 Constant:
+0:141 0.000000
+0:143 Constant:
+0:143 1 (const int)
+0:162 Function Definition: qux2( (global void)
+0:162 Function Parameters:
+0:? Sequence
+0:165 imageAtomicCompSwap (global int)
+0:165 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:165 Construct ivec2 (temp 2-component vector of int)
+0:165 'i' (temp int)
+0:165 'i' (temp int)
+0:165 'i' (temp int)
+0:165 'i' (temp int)
+0:166 Sequence
+0:166 move second child to first child (temp 4-component vector of int)
+0:166 'pos' (temp 4-component vector of int)
+0:166 imageLoad (global 4-component vector of int)
+0:166 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:166 Construct ivec2 (temp 2-component vector of int)
+0:166 'i' (temp int)
+0:166 'i' (temp int)
+0:? Linker Objects
+0:? 'a' (global 3-component vector of float)
+0:? 'b' (global float)
+0:? 'c' (global int)
+0:? 'i' (smooth in 4-component vector of float)
+0:? 'o' (out 4-component vector of float)
+0:? 'fflat' (flat in float)
+0:? 'fsmooth' (smooth in float)
+0:? 'fnop' (noperspective in float)
+0:? 'gl_ClipDistance' (smooth in implicitly-sized array of float ClipDistance)
+0:? 'sampC' (uniform samplerCube)
+0:? 'gl_Color' (smooth in 4-component vector of float Color)
+0:? 'gl_Color' (flat in 4-component vector of float Color)
+0:? 'samp2D' (uniform sampler2D)
+0:? 'samp2DS' (uniform sampler2DShadow)
+0:? 'samp2DR' (uniform sampler2DRect)
+0:? 'samp2DA' (uniform sampler2DArray)
+0:? 'Sca' (uniform samplerCubeArray)
+0:? 'Isca' (uniform isamplerCubeArray)
+0:? 'Usca' (uniform usamplerCubeArray)
+0:? 'Scas' (uniform samplerCubeArrayShadow)
+0:? 'x' (global int)
+0:? 'ai' (const 3-element array of int)
+0:? 10 (const int)
+0:? 23 (const int)
+0:? 32 (const int)
+0:? 'instanceName' (layout(binding=0 column_major shared ) uniform block{layout(column_major shared ) uniform int a})
+0:? 'bounds' (layout(binding=0 ) uniform sampler2D)
+0:? 'gl_FogFragCoord' (smooth in float)
+0:? 'iimg2Dbad' (layout(r32i ) uniform iimage2D)
+0:? 'iimg2D' (layout(r32i ) uniform iimage2D)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+Requested GL_ARB_gpu_shader5
+Requested GL_ARB_separate_shader_objects
+Requested GL_ARB_shader_image_load_store
+Requested GL_ARB_shading_language_420pack
+Requested GL_ARB_texture_cube_map_array
+Requested GL_ARB_texture_gather
+Requested GL_ARB_texture_rectangle
+using early_fragment_tests
+ERROR: node is still EOpNull!
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:18 Sequence
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'clip' (temp float)
+0:18 direct index (smooth temp float ClipDistance)
+0:18 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
+0:18 Constant:
+0:18 3 (const int)
+0:23 Function Definition: foo( (global void)
+0:23 Function Parameters:
+0:25 Sequence
+0:25 Sequence
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 's' (temp 4-component vector of float)
+0:25 textureGather (global 4-component vector of float)
+0:25 'sampC' (uniform samplerCube)
+0:25 Constant:
+0:25 0.200000
+0:25 0.200000
+0:25 0.200000
+0:30 Function Definition: bar( (global void)
+0:30 Function Parameters:
+0:32 Sequence
+0:32 Sequence
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 's' (temp 4-component vector of float)
+0:32 textureGather (global 4-component vector of float)
+0:32 'sampC' (uniform samplerCube)
+0:32 Constant:
+0:32 0.200000
+0:32 0.200000
+0:32 0.200000
+0:43 Function Definition: bar2( (global void)
+0:43 Function Parameters:
+0:45 Sequence
+0:45 Sequence
+0:45 move second child to first child (temp 4-component vector of float)
+0:45 's' (temp 4-component vector of float)
+0:45 textureGather (global 4-component vector of float)
+0:45 'sampC' (uniform samplerCube)
+0:45 Constant:
+0:45 0.200000
+0:45 0.200000
+0:45 0.200000
+0:49 move second child to first child (temp 3-component vector of bool)
+0:49 'b3' (temp 3-component vector of bool)
+0:49 Compare Less Than (global 3-component vector of bool)
+0:49 'uv3' (temp 3-component vector of uint)
+0:49 'uv3' (temp 3-component vector of uint)
+0:50 move second child to first child (temp 3-component vector of bool)
+0:50 'b3' (temp 3-component vector of bool)
+0:50 Equal (global 3-component vector of bool)
+0:50 'uv3' (temp 3-component vector of uint)
+0:50 'uv3' (temp 3-component vector of uint)
+0:56 direct index (temp int)
+0:56 'a1' (temp 1-element array of int)
+0:56 Constant:
+0:56 0 (const int)
+0:57 direct index (temp int)
+0:57 'a2' (temp 1-element array of int)
+0:57 Constant:
+0:57 0 (const int)
+0:60 direct index (temp int)
+0:60 'a3' (temp 4-element array of int)
+0:60 Constant:
+0:60 3 (const int)
+0:61 Compare Not Equal (temp bool)
+0:61 'b3' (temp 3-component vector of bool)
+0:61 'b3' (temp 3-component vector of bool)
+0:62 Constant:
+0:62 false (const bool)
+0:63 Constant:
+0:63 false (const bool)
+0:64 Constant:
+0:64 false (const bool)
+0:65 Constant:
+0:65 true (const bool)
+0:66 Constant:
+0:66 false (const bool)
+0:77 Function Definition: bar23( (global void)
+0:77 Function Parameters:
+0:? Sequence
+0:80 's' (temp 4-component vector of float)
+0:81 move second child to first child (temp 4-component vector of float)
+0:81 's' (temp 4-component vector of float)
+0:81 textureGatherOffset (global 4-component vector of float)
+0:81 'samp2DR' (uniform sampler2DRect)
+0:81 Constant:
+0:81 0.300000
+0:81 0.300000
+0:81 Constant:
+0:81 1 (const int)
+0:81 1 (const int)
+0:82 move second child to first child (temp 4-component vector of float)
+0:82 's' (temp 4-component vector of float)
+0:82 textureGatherOffset (global 4-component vector of float)
+0:82 'samp2D' (uniform sampler2D)
+0:82 Constant:
+0:82 0.300000
+0:82 0.300000
+0:82 Constant:
+0:82 1 (const int)
+0:82 1 (const int)
+0:83 move second child to first child (temp 4-component vector of float)
+0:83 's' (temp 4-component vector of float)
+0:83 textureGatherOffset (global 4-component vector of float)
+0:83 'samp2DA' (uniform sampler2DArray)
+0:83 Constant:
+0:83 0.300000
+0:83 0.300000
+0:83 0.300000
+0:83 Constant:
+0:83 1 (const int)
+0:83 1 (const int)
+0:84 move second child to first child (temp 4-component vector of float)
+0:84 's' (temp 4-component vector of float)
+0:84 textureGatherOffset (global 4-component vector of float)
+0:84 'samp2DS' (uniform sampler2DShadow)
+0:84 Constant:
+0:84 0.300000
+0:84 0.300000
+0:84 Constant:
+0:84 1.300000
+0:84 Constant:
+0:84 1 (const int)
+0:84 1 (const int)
+0:85 move second child to first child (temp 4-component vector of float)
+0:85 's' (temp 4-component vector of float)
+0:85 textureGatherOffset (global 4-component vector of float)
+0:85 'samp2D' (uniform sampler2D)
+0:85 Constant:
+0:85 0.300000
+0:85 0.300000
+0:85 Constant:
+0:85 1 (const int)
+0:85 1 (const int)
+0:85 Constant:
+0:85 2 (const int)
+0:90 Function Definition: bar234( (global void)
+0:90 Function Parameters:
+0:? Sequence
+0:93 move second child to first child (temp 4-component vector of float)
+0:93 's' (temp 4-component vector of float)
+0:93 textureGatherOffset (global 4-component vector of float)
+0:93 'samp2D' (uniform sampler2D)
+0:93 Constant:
+0:93 0.300000
+0:93 0.300000
+0:93 Constant:
+0:93 1 (const int)
+0:93 1 (const int)
+0:94 move second child to first child (temp 4-component vector of float)
+0:94 's' (temp 4-component vector of float)
+0:94 textureGatherOffset (global 4-component vector of float)
+0:94 'samp2DA' (uniform sampler2DArray)
+0:94 Constant:
+0:94 0.300000
+0:94 0.300000
+0:94 0.300000
+0:94 Constant:
+0:94 1 (const int)
+0:94 1 (const int)
+0:95 move second child to first child (temp 4-component vector of float)
+0:95 's' (temp 4-component vector of float)
+0:95 textureGatherOffset (global 4-component vector of float)
+0:95 'samp2DR' (uniform sampler2DRect)
+0:95 Constant:
+0:95 0.300000
+0:95 0.300000
+0:95 Constant:
+0:95 1 (const int)
+0:95 1 (const int)
+0:96 move second child to first child (temp 4-component vector of float)
+0:96 's' (temp 4-component vector of float)
+0:96 textureGatherOffset (global 4-component vector of float)
+0:96 'samp2DS' (uniform sampler2DShadow)
+0:96 Constant:
+0:96 0.300000
+0:96 0.300000
+0:96 Constant:
+0:96 1.300000
+0:96 Constant:
+0:96 1 (const int)
+0:96 1 (const int)
+0:97 move second child to first child (temp 4-component vector of float)
+0:97 's' (temp 4-component vector of float)
+0:97 textureGatherOffset (global 4-component vector of float)
+0:97 'samp2D' (uniform sampler2D)
+0:97 Constant:
+0:97 0.300000
+0:97 0.300000
+0:97 Constant:
+0:97 1 (const int)
+0:97 1 (const int)
+0:97 Constant:
+0:97 2 (const int)
+0:107 Function Definition: bar235( (global void)
+0:107 Function Parameters:
+0:109 Sequence
+0:109 Sequence
+0:109 move second child to first child (temp 3-component vector of int)
+0:109 'a' (temp 3-component vector of int)
+0:109 textureSize (global 3-component vector of int)
+0:109 'Sca' (uniform samplerCubeArray)
+0:109 Constant:
+0:109 3 (const int)
+0:110 Sequence
+0:110 move second child to first child (temp 4-component vector of float)
+0:110 'b' (temp 4-component vector of float)
+0:110 texture (global 4-component vector of float)
+0:110 'Sca' (uniform samplerCubeArray)
+0:110 'i' (smooth in 4-component vector of float)
+0:111 Sequence
+0:111 move second child to first child (temp 4-component vector of int)
+0:111 'c' (temp 4-component vector of int)
+0:111 texture (global 4-component vector of int)
+0:111 'Isca' (uniform isamplerCubeArray)
+0:111 'i' (smooth in 4-component vector of float)
+0:111 Constant:
+0:111 0.700000
+0:112 Sequence
+0:112 move second child to first child (temp 4-component vector of uint)
+0:112 'd' (temp 4-component vector of uint)
+0:112 texture (global 4-component vector of uint)
+0:112 'Usca' (uniform usamplerCubeArray)
+0:112 'i' (smooth in 4-component vector of float)
+0:114 move second child to first child (temp 4-component vector of float)
+0:114 'b' (temp 4-component vector of float)
+0:114 textureLod (global 4-component vector of float)
+0:114 'Sca' (uniform samplerCubeArray)
+0:114 'i' (smooth in 4-component vector of float)
+0:114 Constant:
+0:114 1.700000
+0:115 move second child to first child (temp 3-component vector of int)
+0:115 'a' (temp 3-component vector of int)
+0:115 textureSize (global 3-component vector of int)
+0:115 'Scas' (uniform samplerCubeArrayShadow)
+0:115 direct index (temp int)
+0:115 'a' (temp 3-component vector of int)
+0:115 Constant:
+0:115 0 (const int)
+0:116 Sequence
+0:116 move second child to first child (temp float)
+0:116 'f' (temp float)
+0:116 texture (global float)
+0:116 'Scas' (uniform samplerCubeArrayShadow)
+0:116 'i' (smooth in 4-component vector of float)
+0:116 direct index (temp float)
+0:116 'b' (temp 4-component vector of float)
+0:116 Constant:
+0:116 1 (const int)
+0:117 move second child to first child (temp 4-component vector of int)
+0:117 'c' (temp 4-component vector of int)
+0:117 textureGrad (global 4-component vector of int)
+0:117 'Isca' (uniform isamplerCubeArray)
+0:117 'i' (smooth in 4-component vector of float)
+0:117 Constant:
+0:117 0.100000
+0:117 0.100000
+0:117 0.100000
+0:117 Constant:
+0:117 0.200000
+0:117 0.200000
+0:117 0.200000
+0:129 Function Definition: bar23444( (global void)
+0:129 Function Parameters:
+0:? Sequence
+0:132 Sequence
+0:132 move second child to first child (temp float)
+0:132 'a1' (temp float)
+0:132 direct index (temp float)
+0:132 direct index (temp 3-component vector of float)
+0:132 'm43' (temp 4X3 matrix of float)
+0:132 Constant:
+0:132 3 (const int)
+0:132 Constant:
+0:132 1 (const int)
+0:134 Sequence
+0:134 move second child to first child (temp int)
+0:134 'a2' (temp int)
+0:134 Constant:
+0:134 4 (const int)
+0:135 add second child into first child (temp int)
+0:135 'a2' (temp int)
+0:135 Constant:
+0:135 3 (const int)
+0:136 add second child into first child (temp int)
+0:136 'a2' (temp int)
+0:136 Constant:
+0:136 3 (const int)
+0:137 Sequence
+0:137 move second child to first child (temp float)
+0:137 'b' (const (read only) float)
+0:137 component-wise multiply (temp float)
+0:137 Constant:
+0:137 2.000000
+0:137 'a1' (temp float)
+0:138 move second child to first child (temp float)
+0:138 direct index (temp float)
+0:138 'a' (global 3-component vector of float)
+0:138 Constant:
+0:138 0 (const int)
+0:138 Constant:
+0:138 -1.000000
+0:140 Constant:
+0:140 0.000000
+0:141 Constant:
+0:141 0.000000
+0:143 Constant:
+0:143 1 (const int)
+0:162 Function Definition: qux2( (global void)
+0:162 Function Parameters:
+0:? Sequence
+0:165 imageAtomicCompSwap (global int)
+0:165 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:165 Construct ivec2 (temp 2-component vector of int)
+0:165 'i' (temp int)
+0:165 'i' (temp int)
+0:165 'i' (temp int)
+0:165 'i' (temp int)
+0:166 Sequence
+0:166 move second child to first child (temp 4-component vector of int)
+0:166 'pos' (temp 4-component vector of int)
+0:166 imageLoad (global 4-component vector of int)
+0:166 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:166 Construct ivec2 (temp 2-component vector of int)
+0:166 'i' (temp int)
+0:166 'i' (temp int)
+0:? Linker Objects
+0:? 'a' (global 3-component vector of float)
+0:? 'b' (global float)
+0:? 'c' (global int)
+0:? 'i' (smooth in 4-component vector of float)
+0:? 'o' (out 4-component vector of float)
+0:? 'fflat' (flat in float)
+0:? 'fsmooth' (smooth in float)
+0:? 'fnop' (noperspective in float)
+0:? 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
+0:? 'sampC' (uniform samplerCube)
+0:? 'gl_Color' (smooth in 4-component vector of float Color)
+0:? 'gl_Color' (flat in 4-component vector of float Color)
+0:? 'samp2D' (uniform sampler2D)
+0:? 'samp2DS' (uniform sampler2DShadow)
+0:? 'samp2DR' (uniform sampler2DRect)
+0:? 'samp2DA' (uniform sampler2DArray)
+0:? 'Sca' (uniform samplerCubeArray)
+0:? 'Isca' (uniform isamplerCubeArray)
+0:? 'Usca' (uniform usamplerCubeArray)
+0:? 'Scas' (uniform samplerCubeArrayShadow)
+0:? 'x' (global int)
+0:? 'ai' (const 3-element array of int)
+0:? 10 (const int)
+0:? 23 (const int)
+0:? 32 (const int)
+0:? 'instanceName' (layout(binding=0 column_major shared ) uniform block{layout(column_major shared ) uniform int a})
+0:? 'bounds' (layout(binding=0 ) uniform sampler2D)
+0:? 'gl_FogFragCoord' (smooth in float)
+0:? 'iimg2Dbad' (layout(r32i ) uniform iimage2D)
+0:? 'iimg2D' (layout(r32i ) uniform iimage2D)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/130.vert.out b/chromium/third_party/glslang/src/Test/baseResults/130.vert.out
new file mode 100644
index 00000000000..7cfeb19d8e3
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/130.vert.out
@@ -0,0 +1,303 @@
+130.vert
+ERROR: 0:59: 'gl_InstanceID' : undeclared identifier
+ERROR: 0:59: '=' : cannot convert from 'temp float' to 'temp int'
+ERROR: 0:61: 'texelFetch' : no matching overloaded function found
+ERROR: 0:61: 'assign' : cannot convert from 'const float' to 'temp int'
+ERROR: 0:75: '##' : token pasting not implemented (internal error)
+ERROR: 0:75: '' : syntax error
+ERROR: 6 compilation errors. No code generated.
+
+
+Shader version: 130
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp float)
+0:17 'f' (temp float)
+0:17 Constant:
+0:17 3.000000
+0:18 switch
+0:18 condition
+0:18 'c' (uniform int)
+0:18 body
+0:18 Sequence
+0:19 case: with expression
+0:19 Constant:
+0:19 1 (const int)
+0:? Sequence
+0:20 move second child to first child (temp float)
+0:20 'f' (temp float)
+0:20 sine (global float)
+0:20 'f' (temp float)
+0:21 Branch: Break
+0:22 case: with expression
+0:22 Constant:
+0:22 2 (const int)
+0:? Sequence
+0:23 move second child to first child (temp float)
+0:23 'f' (temp float)
+0:23 component-wise multiply (temp float)
+0:23 'f' (temp float)
+0:23 'f' (temp float)
+0:24 default:
+0:? Sequence
+0:25 move second child to first child (temp float)
+0:25 'f' (temp float)
+0:25 Constant:
+0:25 3.000000
+0:29 move second child to first child (temp uint)
+0:29 'i' (temp uint)
+0:29 direct index (temp uint)
+0:29 texture (global 4-component vector of uint)
+0:29 'us2D' (uniform usampler2D)
+0:29 Convert int to float (temp 2-component vector of float)
+0:29 'x' (in 2-component vector of int)
+0:29 Constant:
+0:29 3 (const int)
+0:30 inclusive-or (temp uint)
+0:30 left-shift (temp uint)
+0:30 'i' (temp uint)
+0:30 Constant:
+0:30 3 (const uint)
+0:30 Constant:
+0:30 69 (const uint)
+0:33 Sequence
+0:33 move second child to first child (temp 3-component vector of float)
+0:33 'v11' (temp 3-component vector of float)
+0:33 modf (global 3-component vector of float)
+0:33 'modfIn' (temp 3-component vector of float)
+0:33 'modfOut' (temp 3-component vector of float)
+0:34 Sequence
+0:34 move second child to first child (temp float)
+0:34 't' (temp float)
+0:34 trunc (global float)
+0:34 'f' (temp float)
+0:35 Sequence
+0:35 move second child to first child (temp 2-component vector of float)
+0:35 'v12' (temp 2-component vector of float)
+0:35 round (global 2-component vector of float)
+0:35 'v2a' (in 2-component vector of float)
+0:36 Sequence
+0:36 move second child to first child (temp 2-component vector of float)
+0:36 'v13' (temp 2-component vector of float)
+0:36 roundEven (global 2-component vector of float)
+0:36 'v2a' (in 2-component vector of float)
+0:37 Sequence
+0:37 move second child to first child (temp 2-component vector of bool)
+0:37 'b10' (temp 2-component vector of bool)
+0:37 isnan (global 2-component vector of bool)
+0:37 'v2a' (in 2-component vector of float)
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of bool)
+0:38 'b11' (temp 4-component vector of bool)
+0:38 isinf (global 4-component vector of bool)
+0:38 'v4' (uniform 4-component vector of float)
+0:40 add (temp 2-component vector of float)
+0:40 hyp. sine (global float)
+0:40 'c1D' (in float)
+0:41 vector-scale (temp 2-component vector of float)
+0:41 hyp. cosine (global float)
+0:41 'c1D' (in float)
+0:41 hyp. tangent (global 2-component vector of float)
+0:41 'c2D' (in 2-component vector of float)
+0:42 add (temp 4-component vector of float)
+0:42 arc hyp. sine (global 4-component vector of float)
+0:42 'c4D' (smooth temp 4-component vector of float)
+0:42 arc hyp. cosine (global 4-component vector of float)
+0:42 'c4D' (smooth temp 4-component vector of float)
+0:43 arc hyp. tangent (global 3-component vector of float)
+0:43 'c3D' (in 3-component vector of float)
+0:45 Sequence
+0:45 move second child to first child (temp int)
+0:45 'id' (temp int)
+0:45 'gl_VertexID' (gl_VertexId int VertexId)
+0:46 move second child to first child (temp float)
+0:46 direct index (smooth temp float ClipDistance)
+0:46 'gl_ClipDistance' (smooth out implicitly-sized array of float ClipDistance)
+0:46 Constant:
+0:46 1 (const int)
+0:46 Constant:
+0:46 0.300000
+0:57 Function Definition: foo88( (global void)
+0:57 Function Parameters:
+0:? Sequence
+0:61 'id' (temp int)
+0:63 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:64 'gl_Color' (in 4-component vector of float Color)
+0:65 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:65 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:65 Constant:
+0:65 0 (const int)
+0:66 far: direct index for structure (global float)
+0:66 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})
+0:66 Constant:
+0:66 1 (const int)
+0:67 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)
+0:68 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:69 'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
+0:? Linker Objects
+0:? 'c' (uniform int)
+0:? 'us2D' (uniform usampler2D)
+0:? 'x' (in 2-component vector of int)
+0:? 'v2a' (in 2-component vector of float)
+0:? 'c1D' (in float)
+0:? 'c2D' (in 2-component vector of float)
+0:? 'c3D' (in 3-component vector of float)
+0:? 'c4D' (smooth temp 4-component vector of float)
+0:? 'v4' (uniform 4-component vector of float)
+0:? 'gl_ClipDistance' (smooth out implicitly-sized array of float ClipDistance)
+0:? 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)
+0:? 'abc' (global int)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: Can only use one of gl_ClipDistance or gl_ClipVertex (gl_ClipDistance is preferred)
+
+Shader version: 130
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp float)
+0:17 'f' (temp float)
+0:17 Constant:
+0:17 3.000000
+0:18 switch
+0:18 condition
+0:18 'c' (uniform int)
+0:18 body
+0:18 Sequence
+0:19 case: with expression
+0:19 Constant:
+0:19 1 (const int)
+0:? Sequence
+0:20 move second child to first child (temp float)
+0:20 'f' (temp float)
+0:20 sine (global float)
+0:20 'f' (temp float)
+0:21 Branch: Break
+0:22 case: with expression
+0:22 Constant:
+0:22 2 (const int)
+0:? Sequence
+0:23 move second child to first child (temp float)
+0:23 'f' (temp float)
+0:23 component-wise multiply (temp float)
+0:23 'f' (temp float)
+0:23 'f' (temp float)
+0:24 default:
+0:? Sequence
+0:25 move second child to first child (temp float)
+0:25 'f' (temp float)
+0:25 Constant:
+0:25 3.000000
+0:29 move second child to first child (temp uint)
+0:29 'i' (temp uint)
+0:29 direct index (temp uint)
+0:29 texture (global 4-component vector of uint)
+0:29 'us2D' (uniform usampler2D)
+0:29 Convert int to float (temp 2-component vector of float)
+0:29 'x' (in 2-component vector of int)
+0:29 Constant:
+0:29 3 (const int)
+0:30 inclusive-or (temp uint)
+0:30 left-shift (temp uint)
+0:30 'i' (temp uint)
+0:30 Constant:
+0:30 3 (const uint)
+0:30 Constant:
+0:30 69 (const uint)
+0:33 Sequence
+0:33 move second child to first child (temp 3-component vector of float)
+0:33 'v11' (temp 3-component vector of float)
+0:33 modf (global 3-component vector of float)
+0:33 'modfIn' (temp 3-component vector of float)
+0:33 'modfOut' (temp 3-component vector of float)
+0:34 Sequence
+0:34 move second child to first child (temp float)
+0:34 't' (temp float)
+0:34 trunc (global float)
+0:34 'f' (temp float)
+0:35 Sequence
+0:35 move second child to first child (temp 2-component vector of float)
+0:35 'v12' (temp 2-component vector of float)
+0:35 round (global 2-component vector of float)
+0:35 'v2a' (in 2-component vector of float)
+0:36 Sequence
+0:36 move second child to first child (temp 2-component vector of float)
+0:36 'v13' (temp 2-component vector of float)
+0:36 roundEven (global 2-component vector of float)
+0:36 'v2a' (in 2-component vector of float)
+0:37 Sequence
+0:37 move second child to first child (temp 2-component vector of bool)
+0:37 'b10' (temp 2-component vector of bool)
+0:37 isnan (global 2-component vector of bool)
+0:37 'v2a' (in 2-component vector of float)
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of bool)
+0:38 'b11' (temp 4-component vector of bool)
+0:38 isinf (global 4-component vector of bool)
+0:38 'v4' (uniform 4-component vector of float)
+0:40 add (temp 2-component vector of float)
+0:40 hyp. sine (global float)
+0:40 'c1D' (in float)
+0:41 vector-scale (temp 2-component vector of float)
+0:41 hyp. cosine (global float)
+0:41 'c1D' (in float)
+0:41 hyp. tangent (global 2-component vector of float)
+0:41 'c2D' (in 2-component vector of float)
+0:42 add (temp 4-component vector of float)
+0:42 arc hyp. sine (global 4-component vector of float)
+0:42 'c4D' (smooth temp 4-component vector of float)
+0:42 arc hyp. cosine (global 4-component vector of float)
+0:42 'c4D' (smooth temp 4-component vector of float)
+0:43 arc hyp. tangent (global 3-component vector of float)
+0:43 'c3D' (in 3-component vector of float)
+0:45 Sequence
+0:45 move second child to first child (temp int)
+0:45 'id' (temp int)
+0:45 'gl_VertexID' (gl_VertexId int VertexId)
+0:46 move second child to first child (temp float)
+0:46 direct index (smooth temp float ClipDistance)
+0:46 'gl_ClipDistance' (smooth out 2-element array of float ClipDistance)
+0:46 Constant:
+0:46 1 (const int)
+0:46 Constant:
+0:46 0.300000
+0:57 Function Definition: foo88( (global void)
+0:57 Function Parameters:
+0:? Sequence
+0:61 'id' (temp int)
+0:63 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:64 'gl_Color' (in 4-component vector of float Color)
+0:65 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:65 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:65 Constant:
+0:65 0 (const int)
+0:66 far: direct index for structure (global float)
+0:66 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})
+0:66 Constant:
+0:66 1 (const int)
+0:67 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
+0:68 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:69 'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
+0:? Linker Objects
+0:? 'c' (uniform int)
+0:? 'us2D' (uniform usampler2D)
+0:? 'x' (in 2-component vector of int)
+0:? 'v2a' (in 2-component vector of float)
+0:? 'c1D' (in float)
+0:? 'c2D' (in 2-component vector of float)
+0:? 'c3D' (in 3-component vector of float)
+0:? 'c4D' (smooth temp 4-component vector of float)
+0:? 'v4' (uniform 4-component vector of float)
+0:? 'gl_ClipDistance' (smooth out 2-element array of float ClipDistance)
+0:? 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
+0:? 'abc' (global int)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/140.frag.out b/chromium/third_party/glslang/src/Test/baseResults/140.frag.out
new file mode 100644
index 00000000000..fbeee83a764
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/140.frag.out
@@ -0,0 +1,223 @@
+140.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+ERROR: 0:17: '#error' : GL_ES is not set
+ERROR: 0:20: 'fragment-shader struct input' : not supported for this version or the enabled extensions
+ERROR: 0:24: 'location' : not supported for this version or the enabled extensions
+ERROR: 0:24: 'location qualifier on input' : not supported for this version or the enabled extensions
+ERROR: 0:26: 'location' : not supported for this version or the enabled extensions
+ERROR: 0:26: 'location qualifier on output' : not supported for this version or the enabled extensions
+ERROR: 0:40: 'assign' : l-value required "v" (can't modify shader input)
+ERROR: 0:40: 'out' : Non-L-value cannot be passed for 'out' or 'inout' parameters.
+ERROR: 8 compilation errors. No code generated.
+
+
+Shader version: 140
+Requested GL_ARB_explicit_attrib_location
+Requested GL_ARB_separate_shader_objects
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'clip' (temp float)
+0:12 direct index (smooth temp float ClipDistance)
+0:12 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
+0:12 Constant:
+0:12 2 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'patch' (global float)
+0:22 Constant:
+0:22 3.100000
+0:38 Function Definition: foo( (global void)
+0:38 Function Parameters:
+0:40 Sequence
+0:40 Sequence
+0:40 move second child to first child (temp 2-component vector of float)
+0:40 'r1' (temp 2-component vector of float)
+0:40 modf (global 2-component vector of float)
+0:40 vector swizzle (temp 2-component vector of float)
+0:40 'v' (smooth in 4-component vector of float)
+0:40 Sequence
+0:40 Constant:
+0:40 0 (const int)
+0:40 Constant:
+0:40 1 (const int)
+0:40 vector swizzle (temp 2-component vector of float)
+0:40 'v' (smooth in 4-component vector of float)
+0:40 Sequence
+0:40 Constant:
+0:40 2 (const int)
+0:40 Constant:
+0:40 3 (const int)
+0:41 Sequence
+0:41 move second child to first child (temp 2-component vector of float)
+0:41 'r2' (temp 2-component vector of float)
+0:41 modf (global 2-component vector of float)
+0:41 vector swizzle (temp 2-component vector of float)
+0:41 'o' (out 4-component vector of float)
+0:41 Sequence
+0:41 Constant:
+0:41 0 (const int)
+0:41 Constant:
+0:41 1 (const int)
+0:41 vector swizzle (temp 2-component vector of float)
+0:41 'o' (out 4-component vector of float)
+0:41 Sequence
+0:41 Constant:
+0:41 2 (const int)
+0:41 Constant:
+0:41 3 (const int)
+0:42 move second child to first child (temp float)
+0:42 direct index (temp float)
+0:42 'o' (out 4-component vector of float)
+0:42 Constant:
+0:42 2 (const int)
+0:42 Function Call: fooi( (global float)
+0:47 Sequence
+0:47 move second child to first child (temp float)
+0:47 'i1' (global float)
+0:47 Test condition and select (temp float)
+0:47 Condition
+0:47 'gl_FrontFacing' (gl_FrontFacing bool Face)
+0:47 true case
+0:47 Constant:
+0:47 -2.000000
+0:47 false case
+0:47 Constant:
+0:47 2.000000
+0:48 Sequence
+0:48 move second child to first child (temp float)
+0:48 'i2' (global float)
+0:48 Constant:
+0:48 102.000000
+0:50 Function Definition: fooi( (global float)
+0:50 Function Parameters:
+0:52 Sequence
+0:52 Branch: Return with expression
+0:52 add (temp float)
+0:52 'i1' (global float)
+0:52 'i2' (global float)
+0:? Linker Objects
+0:? 'v' (smooth in 4-component vector of float)
+0:? 'i' (smooth in 4-component vector of float)
+0:? 'o' (out 4-component vector of float)
+0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
+0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
+0:? 's' (smooth in structure{global float f})
+0:? 'patch' (global float)
+0:? 'vl' (layout(location=3 ) smooth in 4-component vector of float)
+0:? 'factorBad' (layout(location=3 ) out 4-component vector of float)
+0:? 'factor' (layout(location=5 ) out 4-component vector of float)
+0:? 'vl2' (layout(location=4 ) smooth in 4-component vector of float)
+0:? 'i1' (global float)
+0:? 'i2' (global float)
+
+
+Linked fragment stage:
+
+
+Shader version: 140
+Requested GL_ARB_explicit_attrib_location
+Requested GL_ARB_separate_shader_objects
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'clip' (temp float)
+0:12 direct index (smooth temp float ClipDistance)
+0:12 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
+0:12 Constant:
+0:12 2 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'patch' (global float)
+0:22 Constant:
+0:22 3.100000
+0:38 Function Definition: foo( (global void)
+0:38 Function Parameters:
+0:40 Sequence
+0:40 Sequence
+0:40 move second child to first child (temp 2-component vector of float)
+0:40 'r1' (temp 2-component vector of float)
+0:40 modf (global 2-component vector of float)
+0:40 vector swizzle (temp 2-component vector of float)
+0:40 'v' (smooth in 4-component vector of float)
+0:40 Sequence
+0:40 Constant:
+0:40 0 (const int)
+0:40 Constant:
+0:40 1 (const int)
+0:40 vector swizzle (temp 2-component vector of float)
+0:40 'v' (smooth in 4-component vector of float)
+0:40 Sequence
+0:40 Constant:
+0:40 2 (const int)
+0:40 Constant:
+0:40 3 (const int)
+0:41 Sequence
+0:41 move second child to first child (temp 2-component vector of float)
+0:41 'r2' (temp 2-component vector of float)
+0:41 modf (global 2-component vector of float)
+0:41 vector swizzle (temp 2-component vector of float)
+0:41 'o' (out 4-component vector of float)
+0:41 Sequence
+0:41 Constant:
+0:41 0 (const int)
+0:41 Constant:
+0:41 1 (const int)
+0:41 vector swizzle (temp 2-component vector of float)
+0:41 'o' (out 4-component vector of float)
+0:41 Sequence
+0:41 Constant:
+0:41 2 (const int)
+0:41 Constant:
+0:41 3 (const int)
+0:42 move second child to first child (temp float)
+0:42 direct index (temp float)
+0:42 'o' (out 4-component vector of float)
+0:42 Constant:
+0:42 2 (const int)
+0:42 Function Call: fooi( (global float)
+0:47 Sequence
+0:47 move second child to first child (temp float)
+0:47 'i1' (global float)
+0:47 Test condition and select (temp float)
+0:47 Condition
+0:47 'gl_FrontFacing' (gl_FrontFacing bool Face)
+0:47 true case
+0:47 Constant:
+0:47 -2.000000
+0:47 false case
+0:47 Constant:
+0:47 2.000000
+0:48 Sequence
+0:48 move second child to first child (temp float)
+0:48 'i2' (global float)
+0:48 Constant:
+0:48 102.000000
+0:50 Function Definition: fooi( (global float)
+0:50 Function Parameters:
+0:52 Sequence
+0:52 Branch: Return with expression
+0:52 add (temp float)
+0:52 'i1' (global float)
+0:52 'i2' (global float)
+0:? Linker Objects
+0:? 'v' (smooth in 4-component vector of float)
+0:? 'i' (smooth in 4-component vector of float)
+0:? 'o' (out 4-component vector of float)
+0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
+0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
+0:? 's' (smooth in structure{global float f})
+0:? 'patch' (global float)
+0:? 'vl' (layout(location=3 ) smooth in 4-component vector of float)
+0:? 'factorBad' (layout(location=3 ) out 4-component vector of float)
+0:? 'factor' (layout(location=5 ) out 4-component vector of float)
+0:? 'vl2' (layout(location=4 ) smooth in 4-component vector of float)
+0:? 'i1' (global float)
+0:? 'i2' (global float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/140.vert.out b/chromium/third_party/glslang/src/Test/baseResults/140.vert.out
new file mode 100644
index 00000000000..634458cd11d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/140.vert.out
@@ -0,0 +1,270 @@
+140.vert
+ERROR: 0:23: 'gl_Position' : identifiers starting with "gl_" are reserved
+ERROR: 0:25: 'location' : not supported for this version or the enabled extensions
+ERROR: 0:25: 'location qualifier on input' : not supported for this version or the enabled extensions
+ERROR: 0:34: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_Position
+ERROR: 0:34: 'redeclaration' : cannot change interpolation qualification of gl_Position
+ERROR: 0:35: 'redeclaration' : cannot change the type of gl_Position
+ERROR: 0:38: 'gl_ClipVertex' : cannot redeclare after use
+ERROR: 0:39: 'gl_FogFragCoord' : cannot redeclare after use
+ERROR: 0:51: 'texelFetch' : no matching overloaded function found
+ERROR: 0:53: 'texture' : no matching overloaded function found
+ERROR: 10 compilation errors. No code generated.
+
+
+Shader version: 140
+Requested GL_ARB_explicit_attrib_location
+Requested GL_ARB_separate_shader_objects
+ERROR: node is still EOpNull!
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Sequence
+0:11 move second child to first child (temp int)
+0:11 'id' (temp int)
+0:11 'gl_InstanceID' (gl_InstanceId int InstanceId)
+0:12 add second child into first child (temp int)
+0:12 'id' (temp int)
+0:12 anonMem: direct index for structure (layout(column_major std140 offset=0 ) uniform int)
+0:12 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})
+0:12 Constant:
+0:12 0 (const uint)
+0:13 add second child into first child (temp int)
+0:13 'id' (temp int)
+0:13 direct index (temp int)
+0:13 textureFetch (global 4-component vector of int)
+0:13 'sbuf' (uniform isamplerBuffer)
+0:13 Constant:
+0:13 8 (const int)
+0:13 Constant:
+0:13 3 (const int)
+0:14 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:15 'gl_Color' (in 4-component vector of float Color)
+0:16 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:16 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:16 Constant:
+0:16 0 (const int)
+0:17 far: direct index for structure (global float)
+0:17 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})
+0:17 Constant:
+0:17 1 (const int)
+0:18 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)
+0:19 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:20 'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
+0:48 Function Definition: foo( (global void)
+0:48 Function Parameters:
+0:50 Sequence
+0:50 Sequence
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:50 textureFetch (global 4-component vector of float)
+0:50 's2dr' (uniform sampler2DRect)
+0:50 'itloc2' (in 2-component vector of int)
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'v' (temp 4-component vector of float)
+0:51 Constant:
+0:51 0.000000
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'v' (temp 4-component vector of float)
+0:52 texture (global 4-component vector of float)
+0:52 's2dr' (uniform sampler2DRect)
+0:52 'tloc2' (in 2-component vector of float)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'v' (temp 4-component vector of float)
+0:53 Constant:
+0:53 0.000000
+0:54 add second child into first child (temp 4-component vector of float)
+0:54 'v' (temp 4-component vector of float)
+0:54 texture (global float)
+0:54 's2drs' (uniform sampler2DRectShadow)
+0:54 'tloc3' (in 3-component vector of float)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'v' (temp 4-component vector of float)
+0:55 textureProj (global 4-component vector of float)
+0:55 's2dr' (uniform sampler2DRect)
+0:55 'tloc3' (in 3-component vector of float)
+0:56 add second child into first child (temp 4-component vector of float)
+0:56 'v' (temp 4-component vector of float)
+0:56 textureProj (global 4-component vector of float)
+0:56 's2dr' (uniform sampler2DRect)
+0:56 'tloc4' (in 4-component vector of float)
+0:57 add second child into first child (temp 4-component vector of float)
+0:57 'v' (temp 4-component vector of float)
+0:57 textureProjGradOffset (global 4-component vector of float)
+0:57 's2dr' (uniform sampler2DRect)
+0:57 'tloc4' (in 4-component vector of float)
+0:57 Constant:
+0:57 0.000000
+0:57 0.000000
+0:57 Constant:
+0:57 0.000000
+0:57 0.000000
+0:57 Constant:
+0:57 1 (const int)
+0:57 2 (const int)
+0:58 add second child into first child (temp 4-component vector of float)
+0:58 'v' (temp 4-component vector of float)
+0:58 textureProjGradOffset (global float)
+0:58 's2drs' (uniform sampler2DRectShadow)
+0:58 'tloc4' (in 4-component vector of float)
+0:58 Constant:
+0:58 0.000000
+0:58 0.000000
+0:58 Constant:
+0:58 0.000000
+0:58 0.000000
+0:58 Constant:
+0:58 1 (const int)
+0:58 2 (const int)
+0:? Linker Objects
+0:? 'sbuf' (uniform isamplerBuffer)
+0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})
+0:? 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)
+0:? 'gl_Position' (smooth out 4-component vector of float)
+0:? 'locBad' (layout(location=9 ) in 4-component vector of float)
+0:? 'loc' (layout(location=9 ) in 4-component vector of float)
+0:? 'gl_PointSize' (gl_PointSize float PointSize)
+0:? 'gl_PointSize' (gl_PointSize float PointSize)
+0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:? 's2dr' (uniform sampler2DRect)
+0:? 's2drs' (uniform sampler2DRectShadow)
+0:? 'itloc2' (in 2-component vector of int)
+0:? 'tloc2' (in 2-component vector of float)
+0:? 'tloc3' (in 3-component vector of float)
+0:? 'tloc4' (in 4-component vector of float)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 140
+Requested GL_ARB_explicit_attrib_location
+Requested GL_ARB_separate_shader_objects
+ERROR: node is still EOpNull!
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Sequence
+0:11 move second child to first child (temp int)
+0:11 'id' (temp int)
+0:11 'gl_InstanceID' (gl_InstanceId int InstanceId)
+0:12 add second child into first child (temp int)
+0:12 'id' (temp int)
+0:12 anonMem: direct index for structure (layout(column_major std140 offset=0 ) uniform int)
+0:12 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})
+0:12 Constant:
+0:12 0 (const uint)
+0:13 add second child into first child (temp int)
+0:13 'id' (temp int)
+0:13 direct index (temp int)
+0:13 textureFetch (global 4-component vector of int)
+0:13 'sbuf' (uniform isamplerBuffer)
+0:13 Constant:
+0:13 8 (const int)
+0:13 Constant:
+0:13 3 (const int)
+0:14 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:15 'gl_Color' (in 4-component vector of float Color)
+0:16 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:16 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:16 Constant:
+0:16 0 (const int)
+0:17 far: direct index for structure (global float)
+0:17 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})
+0:17 Constant:
+0:17 1 (const int)
+0:18 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
+0:19 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:20 'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
+0:48 Function Definition: foo( (global void)
+0:48 Function Parameters:
+0:50 Sequence
+0:50 Sequence
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:50 textureFetch (global 4-component vector of float)
+0:50 's2dr' (uniform sampler2DRect)
+0:50 'itloc2' (in 2-component vector of int)
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'v' (temp 4-component vector of float)
+0:51 Constant:
+0:51 0.000000
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'v' (temp 4-component vector of float)
+0:52 texture (global 4-component vector of float)
+0:52 's2dr' (uniform sampler2DRect)
+0:52 'tloc2' (in 2-component vector of float)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'v' (temp 4-component vector of float)
+0:53 Constant:
+0:53 0.000000
+0:54 add second child into first child (temp 4-component vector of float)
+0:54 'v' (temp 4-component vector of float)
+0:54 texture (global float)
+0:54 's2drs' (uniform sampler2DRectShadow)
+0:54 'tloc3' (in 3-component vector of float)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'v' (temp 4-component vector of float)
+0:55 textureProj (global 4-component vector of float)
+0:55 's2dr' (uniform sampler2DRect)
+0:55 'tloc3' (in 3-component vector of float)
+0:56 add second child into first child (temp 4-component vector of float)
+0:56 'v' (temp 4-component vector of float)
+0:56 textureProj (global 4-component vector of float)
+0:56 's2dr' (uniform sampler2DRect)
+0:56 'tloc4' (in 4-component vector of float)
+0:57 add second child into first child (temp 4-component vector of float)
+0:57 'v' (temp 4-component vector of float)
+0:57 textureProjGradOffset (global 4-component vector of float)
+0:57 's2dr' (uniform sampler2DRect)
+0:57 'tloc4' (in 4-component vector of float)
+0:57 Constant:
+0:57 0.000000
+0:57 0.000000
+0:57 Constant:
+0:57 0.000000
+0:57 0.000000
+0:57 Constant:
+0:57 1 (const int)
+0:57 2 (const int)
+0:58 add second child into first child (temp 4-component vector of float)
+0:58 'v' (temp 4-component vector of float)
+0:58 textureProjGradOffset (global float)
+0:58 's2drs' (uniform sampler2DRectShadow)
+0:58 'tloc4' (in 4-component vector of float)
+0:58 Constant:
+0:58 0.000000
+0:58 0.000000
+0:58 Constant:
+0:58 0.000000
+0:58 0.000000
+0:58 Constant:
+0:58 1 (const int)
+0:58 2 (const int)
+0:? Linker Objects
+0:? 'sbuf' (uniform isamplerBuffer)
+0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})
+0:? 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
+0:? 'gl_Position' (smooth out 4-component vector of float)
+0:? 'locBad' (layout(location=9 ) in 4-component vector of float)
+0:? 'loc' (layout(location=9 ) in 4-component vector of float)
+0:? 'gl_PointSize' (gl_PointSize float PointSize)
+0:? 'gl_PointSize' (gl_PointSize float PointSize)
+0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:? 's2dr' (uniform sampler2DRect)
+0:? 's2drs' (uniform sampler2DRectShadow)
+0:? 'itloc2' (in 2-component vector of int)
+0:? 'tloc2' (in 2-component vector of float)
+0:? 'tloc3' (in 3-component vector of float)
+0:? 'tloc4' (in 4-component vector of float)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/150.frag.out b/chromium/third_party/glslang/src/Test/baseResults/150.frag.out
new file mode 100644
index 00000000000..082a8274c00
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/150.frag.out
@@ -0,0 +1,244 @@
+150.frag
+ERROR: 0:4: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
+ERROR: 0:5: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
+ERROR: 0:6: 'layout qualifier' : can only apply origin_upper_left and pixel_center_origin to gl_FragCoord
+ERROR: 0:14: 'gl_FragCoord' : cannot redeclare after use
+ERROR: 4 compilation errors. No code generated.
+
+
+Shader version: 150
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+ERROR: node is still EOpNull!
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Sequence
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 'c' (temp 4-component vector of float)
+0:11 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'patch' (global float)
+0:18 Constant:
+0:18 3.100000
+0:31 Function Definition: barWxyz( (global void)
+0:31 Function Parameters:
+0:33 Sequence
+0:33 Sequence
+0:33 move second child to first child (temp 2-component vector of int)
+0:33 't11' (temp 2-component vector of int)
+0:33 textureSize (global 2-component vector of int)
+0:33 'sms' (uniform sampler2DMS)
+0:34 Sequence
+0:34 move second child to first child (temp 2-component vector of int)
+0:34 't12' (temp 2-component vector of int)
+0:34 textureSize (global 2-component vector of int)
+0:34 'isms' (uniform isampler2DMS)
+0:35 Sequence
+0:35 move second child to first child (temp 2-component vector of int)
+0:35 't13' (temp 2-component vector of int)
+0:35 textureSize (global 2-component vector of int)
+0:35 'usms' (uniform usampler2DMS)
+0:36 Sequence
+0:36 move second child to first child (temp 3-component vector of int)
+0:36 't21' (temp 3-component vector of int)
+0:36 textureSize (global 3-component vector of int)
+0:36 'smsa' (uniform sampler2DMSArray)
+0:37 Sequence
+0:37 move second child to first child (temp 3-component vector of int)
+0:37 't22' (temp 3-component vector of int)
+0:37 textureSize (global 3-component vector of int)
+0:37 'ismsa' (uniform isampler2DMSArray)
+0:38 Sequence
+0:38 move second child to first child (temp 3-component vector of int)
+0:38 't23' (temp 3-component vector of int)
+0:38 textureSize (global 3-component vector of int)
+0:38 'usmsa' (uniform usampler2DMSArray)
+0:39 Sequence
+0:39 move second child to first child (temp 4-component vector of float)
+0:39 't31' (temp 4-component vector of float)
+0:39 textureFetch (global 4-component vector of float)
+0:39 'sms' (uniform sampler2DMS)
+0:39 'p2' (flat in 2-component vector of int)
+0:39 'samp' (flat in int)
+0:40 Sequence
+0:40 move second child to first child (temp 4-component vector of int)
+0:40 't32' (temp 4-component vector of int)
+0:40 textureFetch (global 4-component vector of int)
+0:40 'isms' (uniform isampler2DMS)
+0:40 'p2' (flat in 2-component vector of int)
+0:40 'samp' (flat in int)
+0:41 Sequence
+0:41 move second child to first child (temp 4-component vector of uint)
+0:41 't33' (temp 4-component vector of uint)
+0:41 textureFetch (global 4-component vector of uint)
+0:41 'usms' (uniform usampler2DMS)
+0:41 'p2' (flat in 2-component vector of int)
+0:41 Constant:
+0:41 3 (const int)
+0:42 Sequence
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 't41' (temp 4-component vector of float)
+0:42 textureFetch (global 4-component vector of float)
+0:42 'smsa' (uniform sampler2DMSArray)
+0:42 'p3' (flat in 3-component vector of int)
+0:42 'samp' (flat in int)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of int)
+0:43 't42' (temp 4-component vector of int)
+0:43 textureFetch (global 4-component vector of int)
+0:43 'ismsa' (uniform isampler2DMSArray)
+0:43 Constant:
+0:43 2 (const int)
+0:43 2 (const int)
+0:43 2 (const int)
+0:43 'samp' (flat in int)
+0:44 Sequence
+0:44 move second child to first child (temp 4-component vector of uint)
+0:44 't43' (temp 4-component vector of uint)
+0:44 textureFetch (global 4-component vector of uint)
+0:44 'usmsa' (uniform usampler2DMSArray)
+0:44 'p3' (flat in 3-component vector of int)
+0:44 'samp' (flat in int)
+0:47 Function Definition: primitiveID( (global int)
+0:47 Function Parameters:
+0:49 Sequence
+0:49 Branch: Return with expression
+0:49 'gl_PrimitiveID' (flat in int PrimitiveID)
+0:? Linker Objects
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'foo' (smooth in 4-component vector of float)
+0:? 's' (smooth in structure{global float f})
+0:? 'patch' (global float)
+0:? 'sms' (uniform sampler2DMS)
+0:? 'isms' (uniform isampler2DMS)
+0:? 'usms' (uniform usampler2DMS)
+0:? 'smsa' (uniform sampler2DMSArray)
+0:? 'ismsa' (uniform isampler2DMSArray)
+0:? 'usmsa' (uniform usampler2DMSArray)
+0:? 'p2' (flat in 2-component vector of int)
+0:? 'p3' (flat in 3-component vector of int)
+0:? 'samp' (flat in int)
+
+
+Linked fragment stage:
+
+
+Shader version: 150
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+ERROR: node is still EOpNull!
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Sequence
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 'c' (temp 4-component vector of float)
+0:11 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'patch' (global float)
+0:18 Constant:
+0:18 3.100000
+0:31 Function Definition: barWxyz( (global void)
+0:31 Function Parameters:
+0:33 Sequence
+0:33 Sequence
+0:33 move second child to first child (temp 2-component vector of int)
+0:33 't11' (temp 2-component vector of int)
+0:33 textureSize (global 2-component vector of int)
+0:33 'sms' (uniform sampler2DMS)
+0:34 Sequence
+0:34 move second child to first child (temp 2-component vector of int)
+0:34 't12' (temp 2-component vector of int)
+0:34 textureSize (global 2-component vector of int)
+0:34 'isms' (uniform isampler2DMS)
+0:35 Sequence
+0:35 move second child to first child (temp 2-component vector of int)
+0:35 't13' (temp 2-component vector of int)
+0:35 textureSize (global 2-component vector of int)
+0:35 'usms' (uniform usampler2DMS)
+0:36 Sequence
+0:36 move second child to first child (temp 3-component vector of int)
+0:36 't21' (temp 3-component vector of int)
+0:36 textureSize (global 3-component vector of int)
+0:36 'smsa' (uniform sampler2DMSArray)
+0:37 Sequence
+0:37 move second child to first child (temp 3-component vector of int)
+0:37 't22' (temp 3-component vector of int)
+0:37 textureSize (global 3-component vector of int)
+0:37 'ismsa' (uniform isampler2DMSArray)
+0:38 Sequence
+0:38 move second child to first child (temp 3-component vector of int)
+0:38 't23' (temp 3-component vector of int)
+0:38 textureSize (global 3-component vector of int)
+0:38 'usmsa' (uniform usampler2DMSArray)
+0:39 Sequence
+0:39 move second child to first child (temp 4-component vector of float)
+0:39 't31' (temp 4-component vector of float)
+0:39 textureFetch (global 4-component vector of float)
+0:39 'sms' (uniform sampler2DMS)
+0:39 'p2' (flat in 2-component vector of int)
+0:39 'samp' (flat in int)
+0:40 Sequence
+0:40 move second child to first child (temp 4-component vector of int)
+0:40 't32' (temp 4-component vector of int)
+0:40 textureFetch (global 4-component vector of int)
+0:40 'isms' (uniform isampler2DMS)
+0:40 'p2' (flat in 2-component vector of int)
+0:40 'samp' (flat in int)
+0:41 Sequence
+0:41 move second child to first child (temp 4-component vector of uint)
+0:41 't33' (temp 4-component vector of uint)
+0:41 textureFetch (global 4-component vector of uint)
+0:41 'usms' (uniform usampler2DMS)
+0:41 'p2' (flat in 2-component vector of int)
+0:41 Constant:
+0:41 3 (const int)
+0:42 Sequence
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 't41' (temp 4-component vector of float)
+0:42 textureFetch (global 4-component vector of float)
+0:42 'smsa' (uniform sampler2DMSArray)
+0:42 'p3' (flat in 3-component vector of int)
+0:42 'samp' (flat in int)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of int)
+0:43 't42' (temp 4-component vector of int)
+0:43 textureFetch (global 4-component vector of int)
+0:43 'ismsa' (uniform isampler2DMSArray)
+0:43 Constant:
+0:43 2 (const int)
+0:43 2 (const int)
+0:43 2 (const int)
+0:43 'samp' (flat in int)
+0:44 Sequence
+0:44 move second child to first child (temp 4-component vector of uint)
+0:44 't43' (temp 4-component vector of uint)
+0:44 textureFetch (global 4-component vector of uint)
+0:44 'usmsa' (uniform usampler2DMSArray)
+0:44 'p3' (flat in 3-component vector of int)
+0:44 'samp' (flat in int)
+0:47 Function Definition: primitiveID( (global int)
+0:47 Function Parameters:
+0:49 Sequence
+0:49 Branch: Return with expression
+0:49 'gl_PrimitiveID' (flat in int PrimitiveID)
+0:? Linker Objects
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'foo' (smooth in 4-component vector of float)
+0:? 's' (smooth in structure{global float f})
+0:? 'patch' (global float)
+0:? 'sms' (uniform sampler2DMS)
+0:? 'isms' (uniform isampler2DMS)
+0:? 'usms' (uniform usampler2DMS)
+0:? 'smsa' (uniform sampler2DMSArray)
+0:? 'ismsa' (uniform isampler2DMSArray)
+0:? 'usmsa' (uniform usampler2DMSArray)
+0:? 'p2' (flat in 2-component vector of int)
+0:? 'p3' (flat in 3-component vector of int)
+0:? 'samp' (flat in int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/150.geom.out b/chromium/third_party/glslang/src/Test/baseResults/150.geom.out
new file mode 100644
index 00000000000..48b7925fc4d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/150.geom.out
@@ -0,0 +1,317 @@
+150.geom
+ERROR: 0:15: 'fromVertex' : block instance name redefinition
+ERROR: 0:19: 'fromVertex' : redefinition
+ERROR: 0:21: 'fooC' : block instance name redefinition
+ERROR: 0:29: 'EmitStreamVertex' : no matching overloaded function found
+ERROR: 0:30: 'EndStreamPrimitive' : no matching overloaded function found
+ERROR: 0:44: 'stream' : can only be used on an output
+ERROR: 0:45: 'stream' : can only be used on an output
+ERROR: 0:46: 'stream' : can only be used on an output
+ERROR: 0:47: 'stream' : can only be used on an output
+ERROR: 0:47: 'stream' : can only be used on an output
+ERROR: 0:60: 'stream' : member cannot contradict block
+ERROR: 0:66: 'max_vertices' : too large, must be less than gl_MaxGeometryOutputVertices
+ERROR: 0:66: 'max_vertices' : cannot change previously set layout value
+ERROR: 0:67: 'max_vertices' : can only apply to a standalone qualifier
+ERROR: 0:72: 'points' : cannot change previously set output primitive
+ERROR: 0:73: 'points' : cannot change previously set output primitive
+ERROR: 0:74: 'triangle_strip' : cannot apply to input
+ERROR: 0:75: 'triangle_strip' : cannot apply to: uniform
+ERROR: 0:76: 'triangle_strip' : can only apply to a standalone qualifier
+ERROR: 0:77: 'triangle_strip' : can only apply to a standalone qualifier
+ERROR: 0:78: 'invocations' : not supported for this version or the enabled extensions
+ERROR: 0:78: 'invocations' : can only apply to a standalone qualifier
+ERROR: 0:80: 'invocations' : not supported for this version or the enabled extensions
+ERROR: 0:80: 'invocations' : can only apply to a standalone qualifier
+ERROR: 0:81: 'max_vertices' : can only apply to a standalone qualifier
+ERROR: 0:82: 'triangle_strip' : can only apply to a standalone qualifier
+ERROR: 0:85: 'lines' : cannot apply to 'out'
+ERROR: 0:87: 'triangles' : cannot change previously set input primitive
+ERROR: 0:88: 'triangles_adjacency' : cannot change previously set input primitive
+ERROR: 0:89: 'invocations' : not supported for this version or the enabled extensions
+ERROR: 0:92: 'stream' : member cannot contradict block
+ERROR: 0:92: 'stream' : can only be used on an output
+ERROR: 0:129: 'gl_ViewportIndex' : required extension not requested: GL_ARB_viewport_array
+ERROR: 0:129: 'gl_MaxViewports' : required extension not requested: GL_ARB_viewport_array
+ERROR: 0:139: 'gl_ViewportIndex' : identifiers starting with "gl_" are reserved
+ERROR: 35 compilation errors. No code generated.
+
+
+Shader version: 150
+Requested GL_ARB_viewport_array
+invocations = 4
+max_vertices = 200
+input primitive = lines_adjacency
+output primitive = triangle_strip
+ERROR: node is still EOpNull!
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 EmitVertex (global void)
+0:28 EndPrimitive (global void)
+0:29 Constant:
+0:29 0.000000
+0:30 Constant:
+0:30 0.000000
+0:32 move second child to first child (temp 3-component vector of float)
+0:32 color: direct index for structure (layout(stream=0 ) out 3-component vector of float)
+0:32 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
+0:32 Constant:
+0:32 0 (const uint)
+0:32 color: direct index for structure (in 3-component vector of float)
+0:32 direct index (temp block{in 3-component vector of float color})
+0:32 'fromV' (in 4-element array of block{in 3-component vector of float color})
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 0 (const int)
+0:33 move second child to first child (temp float)
+0:33 direct index (layout(stream=0 ) temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (layout(stream=0 ) out implicitly-sized array of float ClipDistance)
+0:33 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 2 (const uint)
+0:33 Constant:
+0:33 3 (const int)
+0:33 direct index (temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 2 (const int)
+0:34 move second child to first child (temp 4-component vector of float)
+0:34 gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float Position)
+0:34 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 0 (const uint)
+0:34 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 0 (const int)
+0:34 Constant:
+0:34 0 (const int)
+0:35 move second child to first child (temp float)
+0:35 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
+0:35 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:35 Constant:
+0:35 1 (const uint)
+0:35 gl_PointSize: direct index for structure (in float PointSize)
+0:35 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:35 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:35 Constant:
+0:35 3 (const int)
+0:35 Constant:
+0:35 1 (const int)
+0:36 move second child to first child (temp int)
+0:36 'gl_PrimitiveID' (layout(stream=0 ) out int PrimitiveID)
+0:36 'gl_PrimitiveIDIn' (in int PrimitiveID)
+0:37 move second child to first child (temp int)
+0:37 'gl_Layer' (layout(stream=0 ) out int Layer)
+0:37 Constant:
+0:37 2 (const int)
+0:67 Function Definition: foo(i1; (global void)
+0:67 Function Parameters:
+0:67 'a' (in int)
+0:69 Sequence
+0:69 move second child to first child (temp 4-component vector of float)
+0:69 a: direct index for structure (layout(stream=6 ) out 4-component vector of float)
+0:69 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:69 Constant:
+0:69 0 (const int)
+0:69 Constant:
+0:69 1.000000
+0:69 1.000000
+0:69 1.000000
+0:69 1.000000
+0:107 Sequence
+0:107 move second child to first child (temp float)
+0:107 'summ' (global float)
+0:107 Constant:
+0:107 11332.000000
+0:127 Function Definition: fooe1( (global void)
+0:127 Function Parameters:
+0:129 Sequence
+0:129 move second child to first child (temp int)
+0:129 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
+0:129 Constant:
+0:129 15 (const int)
+0:134 Function Definition: fooe2( (global void)
+0:134 Function Parameters:
+0:136 Sequence
+0:136 move second child to first child (temp int)
+0:136 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
+0:136 Constant:
+0:136 15 (const int)
+0:? Linker Objects
+0:? 'fromV' (in 4-element array of block{in 3-component vector of float color})
+0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
+0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'ov0' (layout(stream=0 ) out 4-component vector of float)
+0:? 'ov4' (layout(stream=4 ) out 4-component vector of float)
+0:? 'o1v0' (layout(stream=0 ) out 4-component vector of float)
+0:? 'ua' (layout(stream=3 ) uniform int)
+0:? 'ibb' (layout(stream=3 column_major shared ) uniform block{layout(stream=3 column_major shared ) uniform int ua})
+0:? 'ov3' (layout(stream=3 ) out 4-component vector of float)
+0:? 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:? 'ouua6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:? 'ouua7' (layout(stream=7 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:? 'ov2s3' (layout(stream=3 ) out 4-component vector of float)
+0:? 'badv4' (layout(stream=3 ) out 4-component vector of float)
+0:? 'bad2v4' (in 4-element array of 4-component vector of float)
+0:? 'anon@2' (layout(stream=3 ) out block{layout(stream=3 ) out int a})
+0:? 'outbi' (layout(stream=3 ) out block{layout(stream=3 ) out int a, layout(stream=3 ) out int b, layout(stream=3 ) out int c})
+0:? 'inbi' (in 4-element array of block{layout(stream=2 ) in int a})
+0:? 'insn' (in 4-element array of block{in int a15})
+0:? 'anon@3' (layout(stream=3 ) out block{layout(stream=3 ) out float f15})
+0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
+0:? 'summ' (global float)
+0:? 'gl_ViewportIndex' (layout(stream=3 ) out int)
+
+
+Linked geometry stage:
+
+
+Shader version: 150
+Requested GL_ARB_viewport_array
+invocations = 4
+max_vertices = 200
+input primitive = lines_adjacency
+output primitive = triangle_strip
+ERROR: node is still EOpNull!
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 EmitVertex (global void)
+0:28 EndPrimitive (global void)
+0:29 Constant:
+0:29 0.000000
+0:30 Constant:
+0:30 0.000000
+0:32 move second child to first child (temp 3-component vector of float)
+0:32 color: direct index for structure (layout(stream=0 ) out 3-component vector of float)
+0:32 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
+0:32 Constant:
+0:32 0 (const uint)
+0:32 color: direct index for structure (in 3-component vector of float)
+0:32 direct index (temp block{in 3-component vector of float color})
+0:32 'fromV' (in 4-element array of block{in 3-component vector of float color})
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 0 (const int)
+0:33 move second child to first child (temp float)
+0:33 direct index (layout(stream=0 ) temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (layout(stream=0 ) out 4-element array of float ClipDistance)
+0:33 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 2 (const uint)
+0:33 Constant:
+0:33 3 (const int)
+0:33 direct index (temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance)
+0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:33 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 2 (const int)
+0:34 move second child to first child (temp 4-component vector of float)
+0:34 gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float Position)
+0:34 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 0 (const uint)
+0:34 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:34 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 0 (const int)
+0:34 Constant:
+0:34 0 (const int)
+0:35 move second child to first child (temp float)
+0:35 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
+0:35 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})
+0:35 Constant:
+0:35 1 (const uint)
+0:35 gl_PointSize: direct index for structure (in float PointSize)
+0:35 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:35 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:35 Constant:
+0:35 3 (const int)
+0:35 Constant:
+0:35 1 (const int)
+0:36 move second child to first child (temp int)
+0:36 'gl_PrimitiveID' (layout(stream=0 ) out int PrimitiveID)
+0:36 'gl_PrimitiveIDIn' (in int PrimitiveID)
+0:37 move second child to first child (temp int)
+0:37 'gl_Layer' (layout(stream=0 ) out int Layer)
+0:37 Constant:
+0:37 2 (const int)
+0:67 Function Definition: foo(i1; (global void)
+0:67 Function Parameters:
+0:67 'a' (in int)
+0:69 Sequence
+0:69 move second child to first child (temp 4-component vector of float)
+0:69 a: direct index for structure (layout(stream=6 ) out 4-component vector of float)
+0:69 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:69 Constant:
+0:69 0 (const int)
+0:69 Constant:
+0:69 1.000000
+0:69 1.000000
+0:69 1.000000
+0:69 1.000000
+0:107 Sequence
+0:107 move second child to first child (temp float)
+0:107 'summ' (global float)
+0:107 Constant:
+0:107 11332.000000
+0:127 Function Definition: fooe1( (global void)
+0:127 Function Parameters:
+0:129 Sequence
+0:129 move second child to first child (temp int)
+0:129 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
+0:129 Constant:
+0:129 15 (const int)
+0:134 Function Definition: fooe2( (global void)
+0:134 Function Parameters:
+0:136 Sequence
+0:136 move second child to first child (temp int)
+0:136 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
+0:136 Constant:
+0:136 15 (const int)
+0:? Linker Objects
+0:? 'fromV' (in 4-element array of block{in 3-component vector of float color})
+0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
+0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:? 'ov0' (layout(stream=0 ) out 4-component vector of float)
+0:? 'ov4' (layout(stream=4 ) out 4-component vector of float)
+0:? 'o1v0' (layout(stream=0 ) out 4-component vector of float)
+0:? 'ua' (layout(stream=3 ) uniform int)
+0:? 'ibb' (layout(stream=3 column_major shared ) uniform block{layout(stream=3 column_major shared ) uniform int ua})
+0:? 'ov3' (layout(stream=3 ) out 4-component vector of float)
+0:? 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:? 'ouua6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:? 'ouua7' (layout(stream=7 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:? 'ov2s3' (layout(stream=3 ) out 4-component vector of float)
+0:? 'badv4' (layout(stream=3 ) out 4-component vector of float)
+0:? 'bad2v4' (in 4-element array of 4-component vector of float)
+0:? 'anon@2' (layout(stream=3 ) out block{layout(stream=3 ) out int a})
+0:? 'outbi' (layout(stream=3 ) out block{layout(stream=3 ) out int a, layout(stream=3 ) out int b, layout(stream=3 ) out int c})
+0:? 'inbi' (in 4-element array of block{layout(stream=2 ) in int a})
+0:? 'insn' (in 4-element array of block{in int a15})
+0:? 'anon@3' (layout(stream=3 ) out block{layout(stream=3 ) out float f15})
+0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
+0:? 'summ' (global float)
+0:? 'gl_ViewportIndex' (layout(stream=3 ) out int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/150.tesc.out b/chromium/third_party/glslang/src/Test/baseResults/150.tesc.out
new file mode 100644
index 00000000000..78020e1254a
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/150.tesc.out
@@ -0,0 +1,1659 @@
+150.tesc
+Shader version: 150
+Requested GL_ARB_tessellation_shader
+vertices = 4
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Barrier (global void)
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'a' (temp int)
+0:14 Constant:
+0:14 5392 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'p' (temp 4-component vector of float)
+0:20 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:20 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:20 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:20 Constant:
+0:20 1 (const int)
+0:20 Constant:
+0:20 0 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'ps' (temp float)
+0:21 gl_PointSize: direct index for structure (in float PointSize)
+0:21 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:21 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:21 Constant:
+0:21 1 (const int)
+0:21 Constant:
+0:21 1 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'cd' (temp float)
+0:22 direct index (temp float ClipDistance)
+0:22 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:22 Constant:
+0:22 1 (const int)
+0:22 Constant:
+0:22 2 (const int)
+0:22 Constant:
+0:22 2 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'pvi' (temp int)
+0:24 'gl_PatchVerticesIn' (in int PatchVertices)
+0:25 Sequence
+0:25 move second child to first child (temp int)
+0:25 'pid' (temp int)
+0:25 'gl_PrimitiveID' (in int PrimitiveID)
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'iid' (temp int)
+0:26 'gl_InvocationID' (in int InvocationID)
+0:28 move second child to first child (temp 4-component vector of float)
+0:28 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:28 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:28 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:28 'gl_InvocationID' (in int InvocationID)
+0:28 Constant:
+0:28 0 (const int)
+0:28 'p' (temp 4-component vector of float)
+0:29 move second child to first child (temp float)
+0:29 gl_PointSize: direct index for structure (out float PointSize)
+0:29 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:29 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:29 'gl_InvocationID' (in int InvocationID)
+0:29 Constant:
+0:29 1 (const int)
+0:29 'ps' (temp float)
+0:30 move second child to first child (temp float)
+0:30 direct index (temp float ClipDistance)
+0:30 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
+0:30 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:30 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:30 'gl_InvocationID' (in int InvocationID)
+0:30 Constant:
+0:30 2 (const int)
+0:30 Constant:
+0:30 1 (const int)
+0:30 'cd' (temp float)
+0:32 move second child to first child (temp float)
+0:32 direct index (patch temp float TessLevelOuter)
+0:32 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
+0:32 Constant:
+0:32 3 (const int)
+0:32 Constant:
+0:32 3.200000
+0:33 move second child to first child (temp float)
+0:33 direct index (patch temp float TessLevelInner)
+0:33 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 1.300000
+0:? Linker Objects
+0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 4-element array of int)
+0:? 'patchOut' (patch out 4-component vector of float)
+
+150.tese
+ERROR: 0:12: 'barrier' : no matching overloaded function found
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 150
+Requested GL_ARB_tessellation_shader
+input primitive = quads
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+using point mode
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Constant:
+0:12 0.000000
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'a' (temp int)
+0:14 Constant:
+0:14 1512 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp 4-component vector of float)
+0:22 'p' (temp 4-component vector of float)
+0:22 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:22 Constant:
+0:22 1 (const int)
+0:22 Constant:
+0:22 0 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp float)
+0:23 'ps' (temp float)
+0:23 gl_PointSize: direct index for structure (in float PointSize)
+0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:23 Constant:
+0:23 1 (const int)
+0:23 Constant:
+0:23 1 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'cd' (temp float)
+0:24 direct index (temp float ClipDistance)
+0:24 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:24 Constant:
+0:24 1 (const int)
+0:24 Constant:
+0:24 2 (const int)
+0:24 Constant:
+0:24 2 (const int)
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'pvi' (temp int)
+0:26 'gl_PatchVerticesIn' (in int PatchVertices)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'pid' (temp int)
+0:27 'gl_PrimitiveID' (in int PrimitiveID)
+0:28 Sequence
+0:28 move second child to first child (temp 3-component vector of float)
+0:28 'tc' (temp 3-component vector of float)
+0:28 'gl_TessCoord' (in 3-component vector of float TessCoord)
+0:29 Sequence
+0:29 move second child to first child (temp float)
+0:29 'tlo' (temp float)
+0:29 direct index (patch temp float TessLevelOuter)
+0:29 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
+0:29 Constant:
+0:29 3 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'tli' (temp float)
+0:30 direct index (patch temp float TessLevelInner)
+0:30 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
+0:30 Constant:
+0:30 1 (const int)
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:32 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 Constant:
+0:32 0 (const uint)
+0:32 'p' (temp 4-component vector of float)
+0:33 move second child to first child (temp float)
+0:33 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:33 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const uint)
+0:33 'ps' (temp float)
+0:34 move second child to first child (temp float)
+0:34 direct index (temp float ClipDistance)
+0:34 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
+0:34 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 2 (const uint)
+0:34 Constant:
+0:34 2 (const int)
+0:34 'cd' (temp float)
+0:? Linker Objects
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+
+400.tesc
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:6: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:7: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:8: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:10: 'patch' : can only use on output in tessellation-control shader
+ERROR: 0:39: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:41: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:46: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:51: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:54: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:61: '' : tessellation control barrier() cannot be placed after a return from main()
+ERROR: 0:64: 'vertices' : can only apply to 'out'
+ERROR: 0:65: 'vertices' : cannot change previously set layout value
+ERROR: 0:69: '[' : array index out of range '4'
+ERROR: 0:71: '' : tessellation control barrier() must be in main()
+ERROR: 0:74: 'in' : type must be an array: ina
+ERROR: 0:76: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:83: 'location' : overlapping use of location 4
+ERROR: 0:87: 'location' : overlapping use of location 4
+ERROR: 0:104: '' : precise qualifier must appear first
+ERROR: 0:105: '' : precise qualifier must appear first
+ERROR: 0:105: '' : precise qualifier must appear first
+ERROR: 21 compilation errors. No code generated.
+
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+vertices = 4
+ERROR: node is still EOpNull!
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:15 Sequence
+0:15 Barrier (global void)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'a' (temp int)
+0:17 Constant:
+0:17 5392 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'p' (temp 4-component vector of float)
+0:23 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:23 Constant:
+0:23 1 (const int)
+0:23 Constant:
+0:23 0 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'ps' (temp float)
+0:24 gl_PointSize: direct index for structure (in float PointSize)
+0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:24 Constant:
+0:24 1 (const int)
+0:24 Constant:
+0:24 1 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp float)
+0:25 'cd' (temp float)
+0:25 direct index (temp float ClipDistance)
+0:25 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:25 Constant:
+0:25 1 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'pvi' (temp int)
+0:27 'gl_PatchVerticesIn' (in int PatchVertices)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'pid' (temp int)
+0:28 'gl_PrimitiveID' (in int PrimitiveID)
+0:29 Sequence
+0:29 move second child to first child (temp int)
+0:29 'iid' (temp int)
+0:29 'gl_InvocationID' (in int InvocationID)
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:31 'gl_InvocationID' (in int InvocationID)
+0:31 Constant:
+0:31 0 (const int)
+0:31 'p' (temp 4-component vector of float)
+0:32 move second child to first child (temp float)
+0:32 gl_PointSize: direct index for structure (out float PointSize)
+0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 'gl_InvocationID' (in int InvocationID)
+0:32 Constant:
+0:32 1 (const int)
+0:32 'ps' (temp float)
+0:33 move second child to first child (temp float)
+0:33 direct index (temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
+0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 'gl_InvocationID' (in int InvocationID)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:33 'cd' (temp float)
+0:35 move second child to first child (temp float)
+0:35 direct index (patch temp float TessLevelOuter)
+0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
+0:35 Constant:
+0:35 3 (const int)
+0:35 Constant:
+0:35 3.200000
+0:36 move second child to first child (temp float)
+0:36 direct index (patch temp float TessLevelInner)
+0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
+0:36 Constant:
+0:36 1 (const int)
+0:36 Constant:
+0:36 1.300000
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Greater Than (temp bool)
+0:38 'a' (temp int)
+0:38 Constant:
+0:38 10 (const int)
+0:38 true case
+0:39 Barrier (global void)
+0:38 false case
+0:41 Barrier (global void)
+0:43 Barrier (global void)
+0:47 Loop with condition not tested first
+0:47 Loop Condition
+0:47 Compare Greater Than (temp bool)
+0:47 'a' (temp int)
+0:47 Constant:
+0:47 10 (const int)
+0:47 Loop Body
+0:46 Sequence
+0:46 Barrier (global void)
+0:49 switch
+0:49 condition
+0:49 'a' (temp int)
+0:49 body
+0:49 Sequence
+0:50 default:
+0:? Sequence
+0:51 Barrier (global void)
+0:52 Branch: Break
+0:54 Test condition and select (temp int)
+0:54 Condition
+0:54 Compare Less Than (temp bool)
+0:54 'a' (temp int)
+0:54 Constant:
+0:54 12 (const int)
+0:54 true case
+0:54 'a' (temp int)
+0:54 false case
+0:54 Comma (temp int)
+0:54 Barrier (global void)
+0:54 'a' (temp int)
+0:56 Sequence
+0:56 Barrier (global void)
+0:59 Branch: Return
+0:61 Barrier (global void)
+0:67 Function Definition: foo( (global void)
+0:67 Function Parameters:
+0:69 Sequence
+0:69 gl_PointSize: direct index for structure (out float PointSize)
+0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:69 Constant:
+0:69 4 (const int)
+0:69 Constant:
+0:69 1 (const int)
+0:71 Barrier (global void)
+0:91 Function Definition: foop( (global void)
+0:91 Function Parameters:
+0:? Sequence
+0:95 multiply second child into first child (temp 3-component vector of float)
+0:95 'pv3' (noContraction temp 3-component vector of float)
+0:95 'pv3' (noContraction temp 3-component vector of float)
+0:96 move second child to first child (temp 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:96 fma (global 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:97 move second child to first child (temp double)
+0:97 'd' (noContraction temp double)
+0:97 fma (global double)
+0:97 'd' (noContraction temp double)
+0:97 'd' (noContraction temp double)
+0:97 'd' (noContraction temp double)
+0:? Linker Objects
+0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 4-element array of int)
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'pv3' (noContraction temp 3-component vector of float)
+0:? 'pinbi' (patch out block{out int a})
+0:? 'badOrder' (invariant noContraction out 4-element array of 4-component vector of float)
+
+400.tese
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:3: 'vertices' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:5: 'triangles' : cannot change previously set input primitive
+ERROR: 0:6: 'isolines' : cannot change previously set input primitive
+ERROR: 0:8: 'ccw' : cannot change previously set vertex order
+ERROR: 0:12: 'equal_spacing' : cannot change previously set vertex spacing
+ERROR: 0:13: 'fractional_even_spacing' : cannot change previously set vertex spacing
+ERROR: 0:18: 'patch' : can only use on input in tessellation-evaluation shader
+ERROR: 0:22: 'barrier' : no matching overloaded function found
+ERROR: 0:47: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:48: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:49: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:50: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
+ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized
+ERROR: 0:59: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
+ERROR: 0:64: 'quads' : cannot apply to 'out'
+ERROR: 0:64: 'cw' : can only apply to 'in'
+ERROR: 0:65: 'triangles' : cannot apply to 'out'
+ERROR: 0:66: 'isolines' : cannot apply to 'out'
+ERROR: 0:67: 'cw' : can only apply to 'in'
+ERROR: 0:68: 'fractional_odd_spacing' : can only apply to 'in'
+ERROR: 0:69: 'equal_spacing' : can only apply to 'in'
+ERROR: 0:70: 'fractional_even_spacing' : can only apply to 'in'
+ERROR: 0:71: 'point_mode' : can only apply to 'in'
+ERROR: 0:73: 'in' : type must be an array: ina
+ERROR: 0:75: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:78: 'in' : type must be an array: bla
+ERROR: 0:86: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:96: 'location' : overlapping use of location 24
+ERROR: 0:99: 'location' : overlapping use of location 24
+ERROR: 0:101: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved
+ERROR: 30 compilation errors. No code generated.
+
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+input primitive = quads
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+using point mode
+ERROR: node is still EOpNull!
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:22 Sequence
+0:22 Constant:
+0:22 0.000000
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'a' (temp int)
+0:24 Constant:
+0:24 1512 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 'p' (temp 4-component vector of float)
+0:32 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 0 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp float)
+0:33 'ps' (temp float)
+0:33 gl_PointSize: direct index for structure (in float PointSize)
+0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp float)
+0:34 'cd' (temp float)
+0:34 direct index (temp float ClipDistance)
+0:34 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp int)
+0:36 'pvi' (temp int)
+0:36 'gl_PatchVerticesIn' (in int PatchVertices)
+0:37 Sequence
+0:37 move second child to first child (temp int)
+0:37 'pid' (temp int)
+0:37 'gl_PrimitiveID' (in int PrimitiveID)
+0:38 Sequence
+0:38 move second child to first child (temp 3-component vector of float)
+0:38 'tc' (temp 3-component vector of float)
+0:38 'gl_TessCoord' (in 3-component vector of float TessCoord)
+0:39 Sequence
+0:39 move second child to first child (temp float)
+0:39 'tlo' (temp float)
+0:39 direct index (patch temp float TessLevelOuter)
+0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
+0:39 Constant:
+0:39 3 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp float)
+0:40 'tli' (temp float)
+0:40 direct index (patch temp float TessLevelInner)
+0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
+0:40 Constant:
+0:40 1 (const int)
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:42 Constant:
+0:42 0 (const uint)
+0:42 'p' (temp 4-component vector of float)
+0:43 move second child to first child (temp float)
+0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:43 Constant:
+0:43 1 (const uint)
+0:43 'ps' (temp float)
+0:44 move second child to first child (temp float)
+0:44 direct index (temp float ClipDistance)
+0:44 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
+0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:44 Constant:
+0:44 2 (const uint)
+0:44 Constant:
+0:44 2 (const int)
+0:44 'cd' (temp float)
+0:? Linker Objects
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'badp1' (smooth patch in 4-component vector of float)
+0:? 'badp2' (flat patch in 4-component vector of float)
+0:? 'badp3' (noperspective patch in 4-component vector of float)
+0:? 'badp4' (patch sample in 3-component vector of float)
+0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'bla' (in block{in int f})
+0:? 'blb' (in 32-element array of block{in int f})
+0:? 'blc' (in 32-element array of block{in int f})
+0:? 'bld' (in 32-element array of block{in int f})
+0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float)
+0:? 'pinbi' (patch in block{in int a})
+
+410.tesc
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:4: 'length' : array must first be sized by a redeclaration or layout qualifier
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 400
+vertices = -1
+ERROR: node is still EOpNull!
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:? Linker Objects
+0:? 'gl_out' (out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 1-element array of int)
+0:? 'patchOut' (patch out 4-component vector of float)
+
+420.tesc
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size of gl_out
+ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a
+ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb
+ERROR: 0:26: 'gl_PointSize' : no such field in structure
+ERROR: 0:26: 'assign' : cannot convert from 'temp float' to 'temp block{out 4-component vector of float Position gl_Position}'
+ERROR: 0:29: 'out' : type must be an array: outf
+ERROR: 0:43: 'vertices' : must be greater than 0
+ERROR: 7 compilation errors. No code generated.
+
+
+Shader version: 420
+Requested GL_ARB_separate_shader_objects
+vertices = 4
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'p' (temp 4-component vector of float)
+0:17 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:17 Constant:
+0:17 1 (const int)
+0:17 Constant:
+0:17 0 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'ps' (temp float)
+0:18 gl_PointSize: direct index for structure (in float PointSize)
+0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:18 Constant:
+0:18 1 (const int)
+0:18 Constant:
+0:18 1 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'cd' (temp float)
+0:19 direct index (temp float ClipDistance)
+0:19 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:19 Constant:
+0:19 1 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'pvi' (temp int)
+0:21 'gl_PatchVerticesIn' (in int PatchVertices)
+0:22 Sequence
+0:22 move second child to first child (temp int)
+0:22 'pid' (temp int)
+0:22 'gl_PrimitiveID' (in int PrimitiveID)
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'iid' (temp int)
+0:23 'gl_InvocationID' (in int InvocationID)
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:25 'gl_InvocationID' (in int InvocationID)
+0:25 Constant:
+0:25 0 (const int)
+0:25 'p' (temp 4-component vector of float)
+0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:26 'gl_InvocationID' (in int InvocationID)
+0:34 Function Definition: foo( (global void)
+0:34 Function Parameters:
+0:36 Sequence
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 logical-or (temp bool)
+0:36 Compare Not Equal (temp bool)
+0:36 Constant:
+0:36 -0.625000
+0:36 -0.500000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.125000
+0:36 0.000000
+0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
+0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:36 Constant:
+0:36 0 (const int)
+0:37 Compare Not Equal (temp bool)
+0:37 Constant:
+0:37 0.375000
+0:37 0.500000
+0:37 0.625000
+0:37 0.750000
+0:37 0.625000
+0:37 0.750000
+0:37 0.875000
+0:37 -0.625000
+0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
+0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+0:37 Constant:
+0:37 0 (const int)
+0:36 true case is null
+0:? Linker Objects
+0:? 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:? 'a' (out 3-element array of int)
+0:? 'outb' (out 5-element array of int)
+0:? 'outc' (out 4-element array of int)
+0:? 'outf' (out float)
+0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+
+420.tese
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:7: '=' : cannot convert from 'const 3-element array of float' to 'global 2-element array of float'
+ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): temp 2-component vector of float
+ERROR: 0:9: 'initializer list' : wrong number of matrix columns: temp 3X3 matrix of float
+ERROR: 0:10: 'initializer list' : wrong number of matrix columns: temp 2X2 matrix of float
+ERROR: 0:25: 'initializer list' : wrong number of structure members
+ERROR: 0:27: '=' : cannot convert from 'const bool' to 'global int'
+ERROR: 0:28: 'constructor' : cannot convert parameter 2 from 'const float' to 'temp 4-component vector of float'
+ERROR: 0:29: 'constructor' : cannot convert parameter 2 from 'const 2X2 matrix of float' to 'const 4-component vector of float'
+ERROR: 0:29: 'const 2-element array of 4-component vector of float' : cannot construct with these arguments
+ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 2-element array of 4-component vector of float'
+ERROR: 0:30: 'initializer list' : wrong number of matrix columns: temp 4X2 matrix of float
+ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'temp structure{global float s, global float t}'
+ERROR: 0:58: 'initializer list' : wrong number of structure members
+ERROR: 13 compilation errors. No code generated.
+
+
+Shader version: 420
+input primitive = none
+vertex spacing = none
+triangle order = none
+ERROR: node is still EOpNull!
+0:4 Sequence
+0:4 move second child to first child (temp 2X2 matrix of float)
+0:4 'b' (global 2X2 matrix of float)
+0:4 Constant:
+0:4 1.000000
+0:4 0.000000
+0:4 0.000000
+0:4 1.000000
+0:15 Sequence
+0:15 move second child to first child (temp structure{global float a, global int b})
+0:15 'e' (global structure{global float a, global int b})
+0:15 Constant:
+0:15 1.200000
+0:15 2 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp structure{global float a, global int b})
+0:20 'e2' (global structure{global float a, global int b})
+0:20 Constant:
+0:20 1.000000
+0:20 3 (const int)
+0:42 Sequence
+0:42 move second child to first child (temp 5-element array of float)
+0:42 'b5' (global 5-element array of float)
+0:42 Constant:
+0:42 3.400000
+0:42 4.200000
+0:42 5.000000
+0:42 5.200000
+0:42 1.100000
+0:67 Sequence
+0:67 move second child to first child (temp 3-component vector of float)
+0:67 'av3' (global 3-component vector of float)
+0:67 Construct vec3 (global 3-component vector of float)
+0:67 'vc1' (global float)
+0:67 'vc2' (global float)
+0:67 'vc3' (global float)
+0:68 Sequence
+0:68 move second child to first child (temp 3-component vector of float)
+0:68 'bv3' (global 3-component vector of float)
+0:68 Construct vec3 (temp 3-component vector of float)
+0:68 'vc1' (global float)
+0:68 'vc2' (global float)
+0:68 'vc3' (global float)
+0:70 Function Definition: main( (global void)
+0:70 Function Parameters:
+0:72 Sequence
+0:72 MemoryBarrier (global void)
+0:74 Test condition and select (temp void)
+0:74 Condition
+0:74 Compare Equal (temp bool)
+0:74 Constant:
+0:74 1 (const uint)
+0:74 2 (const uint)
+0:74 3.000000
+0:74 4.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 4.000000
+0:74 0.000000
+0:74 5.000000
+0:74 6.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 6.000000
+0:74 0.000000
+0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:74 true case is null
+0:76 Test condition and select (temp void)
+0:76 Condition
+0:76 Constant:
+0:76 true (const bool)
+0:76 true case is null
+0:? Linker Objects
+0:? 'a' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'b' (global 2X2 matrix of float)
+0:? 'c' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'a2' (global 2-element array of float)
+0:? 'b2' (global 2-component vector of float)
+0:? 'c2' (global 3X3 matrix of float)
+0:? 'd' (global 2X2 matrix of float)
+0:? 'e' (global structure{global float a, global int b})
+0:? 'e2' (global structure{global float a, global int b})
+0:? 'e3' (global structure{global float a, global int b})
+0:? 'a3' (global int)
+0:? 'b3' (global 2-element array of 4-component vector of float)
+0:? 'b4' (global 2-element array of 4-component vector of float)
+0:? 'c3' (global 4X2 matrix of float)
+0:? 'd2' (global implicitly-sized array of structure{global float s, global float t})
+0:? 'b5' (global 5-element array of float)
+0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'vc1' (global float)
+0:? 'vc2' (global float)
+0:? 'vc3' (global float)
+0:? 'av3' (global 3-component vector of float)
+0:? 'bv3' (global 3-component vector of float)
+
+
+Linked tessellation control stage:
+
+ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation control stage: Contradictory layout vertices values
+ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation control stage: Types must match:
+ gl_out: "out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus "out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}"
+ERROR: Linking tessellation control stage: Types must match:
+ outa: "global 4-element array of int" versus "global 1-element array of int"
+ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ foo(
+ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation control stage: Types must match:
+ gl_out: "out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus "out 3-element array of block{out 4-component vector of float Position gl_Position}"
+
+Linked tessellation evaluation stage:
+
+ERROR: Linking tessellation evaluation stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation evaluation stage: Contradictory input layout primitives
+ERROR: Linking tessellation evaluation stage: Contradictory input vertex spacing
+ERROR: Linking tessellation evaluation stage: Contradictory triangle ordering
+ERROR: Linking tessellation evaluation stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation evaluation stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+
+Shader version: 420
+Requested GL_ARB_separate_shader_objects
+Requested GL_ARB_tessellation_shader
+vertices = 4
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Barrier (global void)
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'a' (temp int)
+0:14 Constant:
+0:14 5392 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'p' (temp 4-component vector of float)
+0:20 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:20 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:20 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:20 Constant:
+0:20 1 (const int)
+0:20 Constant:
+0:20 0 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'ps' (temp float)
+0:21 gl_PointSize: direct index for structure (in float PointSize)
+0:21 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:21 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:21 Constant:
+0:21 1 (const int)
+0:21 Constant:
+0:21 1 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'cd' (temp float)
+0:22 direct index (temp float ClipDistance)
+0:22 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance)
+0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:22 Constant:
+0:22 1 (const int)
+0:22 Constant:
+0:22 2 (const int)
+0:22 Constant:
+0:22 2 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'pvi' (temp int)
+0:24 'gl_PatchVerticesIn' (in int PatchVertices)
+0:25 Sequence
+0:25 move second child to first child (temp int)
+0:25 'pid' (temp int)
+0:25 'gl_PrimitiveID' (in int PrimitiveID)
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'iid' (temp int)
+0:26 'gl_InvocationID' (in int InvocationID)
+0:28 move second child to first child (temp 4-component vector of float)
+0:28 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:28 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:28 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:28 'gl_InvocationID' (in int InvocationID)
+0:28 Constant:
+0:28 0 (const int)
+0:28 'p' (temp 4-component vector of float)
+0:29 move second child to first child (temp float)
+0:29 gl_PointSize: direct index for structure (out float PointSize)
+0:29 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:29 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:29 'gl_InvocationID' (in int InvocationID)
+0:29 Constant:
+0:29 1 (const int)
+0:29 'ps' (temp float)
+0:30 move second child to first child (temp float)
+0:30 direct index (temp float ClipDistance)
+0:30 gl_ClipDistance: direct index for structure (out 2-element array of float ClipDistance)
+0:30 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:30 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:30 'gl_InvocationID' (in int InvocationID)
+0:30 Constant:
+0:30 2 (const int)
+0:30 Constant:
+0:30 1 (const int)
+0:30 'cd' (temp float)
+0:32 move second child to first child (temp float)
+0:32 direct index (patch temp float TessLevelOuter)
+0:32 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
+0:32 Constant:
+0:32 3 (const int)
+0:32 Constant:
+0:32 3.200000
+0:33 move second child to first child (temp float)
+0:33 direct index (patch temp float TessLevelInner)
+0:33 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 1.300000
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:15 Sequence
+0:15 Barrier (global void)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'a' (temp int)
+0:17 Constant:
+0:17 5392 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'p' (temp 4-component vector of float)
+0:23 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:23 Constant:
+0:23 1 (const int)
+0:23 Constant:
+0:23 0 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'ps' (temp float)
+0:24 gl_PointSize: direct index for structure (in float PointSize)
+0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:24 Constant:
+0:24 1 (const int)
+0:24 Constant:
+0:24 1 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp float)
+0:25 'cd' (temp float)
+0:25 direct index (temp float ClipDistance)
+0:25 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance)
+0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:25 Constant:
+0:25 1 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'pvi' (temp int)
+0:27 'gl_PatchVerticesIn' (in int PatchVertices)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'pid' (temp int)
+0:28 'gl_PrimitiveID' (in int PrimitiveID)
+0:29 Sequence
+0:29 move second child to first child (temp int)
+0:29 'iid' (temp int)
+0:29 'gl_InvocationID' (in int InvocationID)
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:31 'gl_InvocationID' (in int InvocationID)
+0:31 Constant:
+0:31 0 (const int)
+0:31 'p' (temp 4-component vector of float)
+0:32 move second child to first child (temp float)
+0:32 gl_PointSize: direct index for structure (out float PointSize)
+0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:32 'gl_InvocationID' (in int InvocationID)
+0:32 Constant:
+0:32 1 (const int)
+0:32 'ps' (temp float)
+0:33 move second child to first child (temp float)
+0:33 direct index (temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (out 2-element array of float ClipDistance)
+0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:33 'gl_InvocationID' (in int InvocationID)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:33 'cd' (temp float)
+0:35 move second child to first child (temp float)
+0:35 direct index (patch temp float TessLevelOuter)
+0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
+0:35 Constant:
+0:35 3 (const int)
+0:35 Constant:
+0:35 3.200000
+0:36 move second child to first child (temp float)
+0:36 direct index (patch temp float TessLevelInner)
+0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
+0:36 Constant:
+0:36 1 (const int)
+0:36 Constant:
+0:36 1.300000
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Greater Than (temp bool)
+0:38 'a' (temp int)
+0:38 Constant:
+0:38 10 (const int)
+0:38 true case
+0:39 Barrier (global void)
+0:38 false case
+0:41 Barrier (global void)
+0:43 Barrier (global void)
+0:47 Loop with condition not tested first
+0:47 Loop Condition
+0:47 Compare Greater Than (temp bool)
+0:47 'a' (temp int)
+0:47 Constant:
+0:47 10 (const int)
+0:47 Loop Body
+0:46 Sequence
+0:46 Barrier (global void)
+0:49 switch
+0:49 condition
+0:49 'a' (temp int)
+0:49 body
+0:49 Sequence
+0:50 default:
+0:? Sequence
+0:51 Barrier (global void)
+0:52 Branch: Break
+0:54 Test condition and select (temp int)
+0:54 Condition
+0:54 Compare Less Than (temp bool)
+0:54 'a' (temp int)
+0:54 Constant:
+0:54 12 (const int)
+0:54 true case
+0:54 'a' (temp int)
+0:54 false case
+0:54 Comma (temp int)
+0:54 Barrier (global void)
+0:54 'a' (temp int)
+0:56 Sequence
+0:56 Barrier (global void)
+0:59 Branch: Return
+0:61 Barrier (global void)
+0:67 Function Definition: foo( (global void)
+0:67 Function Parameters:
+0:69 Sequence
+0:69 gl_PointSize: direct index for structure (out float PointSize)
+0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:69 Constant:
+0:69 4 (const int)
+0:69 Constant:
+0:69 1 (const int)
+0:71 Barrier (global void)
+0:91 Function Definition: foop( (global void)
+0:91 Function Parameters:
+0:? Sequence
+0:95 multiply second child into first child (temp 3-component vector of float)
+0:95 'pv3' (noContraction temp 3-component vector of float)
+0:95 'pv3' (noContraction temp 3-component vector of float)
+0:96 move second child to first child (temp 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:96 fma (global 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:97 move second child to first child (temp double)
+0:97 'd' (noContraction temp double)
+0:97 fma (global double)
+0:97 'd' (noContraction temp double)
+0:97 'd' (noContraction temp double)
+0:97 'd' (noContraction temp double)
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'p' (temp 4-component vector of float)
+0:17 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:17 Constant:
+0:17 1 (const int)
+0:17 Constant:
+0:17 0 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'ps' (temp float)
+0:18 gl_PointSize: direct index for structure (in float PointSize)
+0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:18 Constant:
+0:18 1 (const int)
+0:18 Constant:
+0:18 1 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'cd' (temp float)
+0:19 direct index (temp float ClipDistance)
+0:19 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance)
+0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:19 Constant:
+0:19 1 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'pvi' (temp int)
+0:21 'gl_PatchVerticesIn' (in int PatchVertices)
+0:22 Sequence
+0:22 move second child to first child (temp int)
+0:22 'pid' (temp int)
+0:22 'gl_PrimitiveID' (in int PrimitiveID)
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'iid' (temp int)
+0:23 'gl_InvocationID' (in int InvocationID)
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:25 'gl_InvocationID' (in int InvocationID)
+0:25 Constant:
+0:25 0 (const int)
+0:25 'p' (temp 4-component vector of float)
+0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:26 'gl_InvocationID' (in int InvocationID)
+0:34 Function Definition: foo( (global void)
+0:34 Function Parameters:
+0:36 Sequence
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 logical-or (temp bool)
+0:36 Compare Not Equal (temp bool)
+0:36 Constant:
+0:36 -0.625000
+0:36 -0.500000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.125000
+0:36 0.000000
+0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
+0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:36 Constant:
+0:36 0 (const int)
+0:37 Compare Not Equal (temp bool)
+0:37 Constant:
+0:37 0.375000
+0:37 0.500000
+0:37 0.625000
+0:37 0.750000
+0:37 0.625000
+0:37 0.750000
+0:37 0.875000
+0:37 -0.625000
+0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
+0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+0:37 Constant:
+0:37 0 (const int)
+0:36 true case is null
+0:? Linker Objects
+0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 4-element array of int)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'pv3' (noContraction temp 3-component vector of float)
+0:? 'pinbi' (patch out block{out int a})
+0:? 'badOrder' (invariant noContraction out 4-element array of 4-component vector of float)
+0:? 'a' (out 3-element array of int)
+0:? 'outb' (out 5-element array of int)
+0:? 'outc' (out 4-element array of int)
+0:? 'outf' (out float)
+0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+Shader version: 420
+Requested GL_ARB_separate_shader_objects
+Requested GL_ARB_tessellation_shader
+input primitive = quads
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+using point mode
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Constant:
+0:12 0.000000
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'a' (temp int)
+0:14 Constant:
+0:14 1512 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp 4-component vector of float)
+0:22 'p' (temp 4-component vector of float)
+0:22 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:22 Constant:
+0:22 1 (const int)
+0:22 Constant:
+0:22 0 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp float)
+0:23 'ps' (temp float)
+0:23 gl_PointSize: direct index for structure (in float PointSize)
+0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:23 Constant:
+0:23 1 (const int)
+0:23 Constant:
+0:23 1 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'cd' (temp float)
+0:24 direct index (temp float ClipDistance)
+0:24 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance)
+0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:24 Constant:
+0:24 1 (const int)
+0:24 Constant:
+0:24 2 (const int)
+0:24 Constant:
+0:24 2 (const int)
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'pvi' (temp int)
+0:26 'gl_PatchVerticesIn' (in int PatchVertices)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'pid' (temp int)
+0:27 'gl_PrimitiveID' (in int PrimitiveID)
+0:28 Sequence
+0:28 move second child to first child (temp 3-component vector of float)
+0:28 'tc' (temp 3-component vector of float)
+0:28 'gl_TessCoord' (in 3-component vector of float TessCoord)
+0:29 Sequence
+0:29 move second child to first child (temp float)
+0:29 'tlo' (temp float)
+0:29 direct index (patch temp float TessLevelOuter)
+0:29 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
+0:29 Constant:
+0:29 3 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'tli' (temp float)
+0:30 direct index (patch temp float TessLevelInner)
+0:30 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
+0:30 Constant:
+0:30 1 (const int)
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:32 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:32 Constant:
+0:32 0 (const uint)
+0:32 'p' (temp 4-component vector of float)
+0:33 move second child to first child (temp float)
+0:33 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:33 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const uint)
+0:33 'ps' (temp float)
+0:34 move second child to first child (temp float)
+0:34 direct index (temp float ClipDistance)
+0:34 gl_ClipDistance: direct index for structure (out 3-element array of float ClipDistance)
+0:34 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 2 (const uint)
+0:34 Constant:
+0:34 2 (const int)
+0:34 'cd' (temp float)
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:22 Sequence
+0:22 Constant:
+0:22 0.000000
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'a' (temp int)
+0:24 Constant:
+0:24 1512 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 'p' (temp 4-component vector of float)
+0:32 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 0 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp float)
+0:33 'ps' (temp float)
+0:33 gl_PointSize: direct index for structure (in float PointSize)
+0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp float)
+0:34 'cd' (temp float)
+0:34 direct index (temp float ClipDistance)
+0:34 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance)
+0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp int)
+0:36 'pvi' (temp int)
+0:36 'gl_PatchVerticesIn' (in int PatchVertices)
+0:37 Sequence
+0:37 move second child to first child (temp int)
+0:37 'pid' (temp int)
+0:37 'gl_PrimitiveID' (in int PrimitiveID)
+0:38 Sequence
+0:38 move second child to first child (temp 3-component vector of float)
+0:38 'tc' (temp 3-component vector of float)
+0:38 'gl_TessCoord' (in 3-component vector of float TessCoord)
+0:39 Sequence
+0:39 move second child to first child (temp float)
+0:39 'tlo' (temp float)
+0:39 direct index (patch temp float TessLevelOuter)
+0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
+0:39 Constant:
+0:39 3 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp float)
+0:40 'tli' (temp float)
+0:40 direct index (patch temp float TessLevelInner)
+0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
+0:40 Constant:
+0:40 1 (const int)
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:42 Constant:
+0:42 0 (const uint)
+0:42 'p' (temp 4-component vector of float)
+0:43 move second child to first child (temp float)
+0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:43 Constant:
+0:43 1 (const uint)
+0:43 'ps' (temp float)
+0:44 move second child to first child (temp float)
+0:44 direct index (temp float ClipDistance)
+0:44 gl_ClipDistance: direct index for structure (out 3-element array of float ClipDistance)
+0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:44 Constant:
+0:44 2 (const uint)
+0:44 Constant:
+0:44 2 (const int)
+0:44 'cd' (temp float)
+0:4 Sequence
+0:4 move second child to first child (temp 2X2 matrix of float)
+0:4 'b' (global 2X2 matrix of float)
+0:4 Constant:
+0:4 1.000000
+0:4 0.000000
+0:4 0.000000
+0:4 1.000000
+0:15 Sequence
+0:15 move second child to first child (temp structure{global float a, global int b})
+0:15 'e' (global structure{global float a, global int b})
+0:15 Constant:
+0:15 1.200000
+0:15 2 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp structure{global float a, global int b})
+0:20 'e2' (global structure{global float a, global int b})
+0:20 Constant:
+0:20 1.000000
+0:20 3 (const int)
+0:42 Sequence
+0:42 move second child to first child (temp 5-element array of float)
+0:42 'b5' (global 5-element array of float)
+0:42 Constant:
+0:42 3.400000
+0:42 4.200000
+0:42 5.000000
+0:42 5.200000
+0:42 1.100000
+0:67 Sequence
+0:67 move second child to first child (temp 3-component vector of float)
+0:67 'av3' (global 3-component vector of float)
+0:67 Construct vec3 (global 3-component vector of float)
+0:67 'vc1' (global float)
+0:67 'vc2' (global float)
+0:67 'vc3' (global float)
+0:68 Sequence
+0:68 move second child to first child (temp 3-component vector of float)
+0:68 'bv3' (global 3-component vector of float)
+0:68 Construct vec3 (temp 3-component vector of float)
+0:68 'vc1' (global float)
+0:68 'vc2' (global float)
+0:68 'vc3' (global float)
+0:70 Function Definition: main( (global void)
+0:70 Function Parameters:
+0:72 Sequence
+0:72 MemoryBarrier (global void)
+0:74 Test condition and select (temp void)
+0:74 Condition
+0:74 Compare Equal (temp bool)
+0:74 Constant:
+0:74 1 (const uint)
+0:74 2 (const uint)
+0:74 3.000000
+0:74 4.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 4.000000
+0:74 0.000000
+0:74 5.000000
+0:74 6.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 6.000000
+0:74 0.000000
+0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:74 true case is null
+0:76 Test condition and select (temp void)
+0:76 Condition
+0:76 Constant:
+0:76 true (const bool)
+0:76 true case is null
+0:? Linker Objects
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'badp1' (smooth patch in 4-component vector of float)
+0:? 'badp2' (flat patch in 4-component vector of float)
+0:? 'badp3' (noperspective patch in 4-component vector of float)
+0:? 'badp4' (patch sample in 3-component vector of float)
+0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'bla' (in block{in int f})
+0:? 'blb' (in 32-element array of block{in int f})
+0:? 'blc' (in 32-element array of block{in int f})
+0:? 'bld' (in 32-element array of block{in int f})
+0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float)
+0:? 'pinbi' (patch in block{in int a})
+0:? 'a' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'b' (global 2X2 matrix of float)
+0:? 'c' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'a2' (global 2-element array of float)
+0:? 'b2' (global 2-component vector of float)
+0:? 'c2' (global 3X3 matrix of float)
+0:? 'd' (global 2X2 matrix of float)
+0:? 'e' (global structure{global float a, global int b})
+0:? 'e2' (global structure{global float a, global int b})
+0:? 'e3' (global structure{global float a, global int b})
+0:? 'a3' (global int)
+0:? 'b3' (global 2-element array of 4-component vector of float)
+0:? 'b4' (global 2-element array of 4-component vector of float)
+0:? 'c3' (global 4X2 matrix of float)
+0:? 'd2' (global 1-element array of structure{global float s, global float t})
+0:? 'b5' (global 5-element array of float)
+0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'vc1' (global float)
+0:? 'vc2' (global float)
+0:? 'vc3' (global float)
+0:? 'av3' (global 3-component vector of float)
+0:? 'bv3' (global 3-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/150.vert.out b/chromium/third_party/glslang/src/Test/baseResults/150.vert.out
new file mode 100644
index 00000000000..a82e7896fec
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/150.vert.out
@@ -0,0 +1,95 @@
+150.vert
+ERROR: 0:22: 'a' : cannot redeclare a user-block member array
+ERROR: 0:3001: '#error' : line of this error should be 3001
+ERROR: 2 compilation errors. No code generated.
+
+
+Shader version: 150
+ERROR: node is still EOpNull!
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)
+0:11 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:11 Constant:
+0:11 0 (const uint)
+0:11 'iv4' (in 4-component vector of float)
+0:12 move second child to first child (temp float)
+0:12 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:12 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:12 Constant:
+0:12 1 (const uint)
+0:12 'ps' (uniform float)
+0:13 move second child to first child (temp float)
+0:13 direct index (temp float ClipDistance)
+0:13 gl_ClipDistance: direct index for structure (out 4-element array of float ClipDistance)
+0:13 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:13 Constant:
+0:13 2 (const uint)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float)
+0:13 'iv4' (in 4-component vector of float)
+0:13 Constant:
+0:13 0 (const int)
+0:14 move second child to first child (temp 4-component vector of float)
+0:14 gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float ClipVertex)
+0:14 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:14 Constant:
+0:14 3 (const uint)
+0:14 'iv4' (in 4-component vector of float)
+0:? Linker Objects
+0:? 'iv4' (in 4-component vector of float)
+0:? 'ps' (uniform float)
+0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of int a})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: Can only use one of gl_ClipDistance or gl_ClipVertex (gl_ClipDistance is preferred)
+
+Shader version: 150
+ERROR: node is still EOpNull!
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)
+0:11 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:11 Constant:
+0:11 0 (const uint)
+0:11 'iv4' (in 4-component vector of float)
+0:12 move second child to first child (temp float)
+0:12 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:12 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:12 Constant:
+0:12 1 (const uint)
+0:12 'ps' (uniform float)
+0:13 move second child to first child (temp float)
+0:13 direct index (temp float ClipDistance)
+0:13 gl_ClipDistance: direct index for structure (out 4-element array of float ClipDistance)
+0:13 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:13 Constant:
+0:13 2 (const uint)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float)
+0:13 'iv4' (in 4-component vector of float)
+0:13 Constant:
+0:13 0 (const int)
+0:14 move second child to first child (temp 4-component vector of float)
+0:14 gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float ClipVertex)
+0:14 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:14 Constant:
+0:14 3 (const uint)
+0:14 'iv4' (in 4-component vector of float)
+0:? Linker Objects
+0:? 'iv4' (in 4-component vector of float)
+0:? 'ps' (uniform float)
+0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform 1-element array of int a})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/300.frag.out b/chromium/third_party/glslang/src/Test/baseResults/300.frag.out
new file mode 100644
index 00000000000..a0c2615de20
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/300.frag.out
@@ -0,0 +1,756 @@
+300.frag
+ERROR: 0:2: 'float' : type requires declaration of default precision qualifier
+ERROR: 0:30: 'noperspective' : Reserved word.
+ERROR: 0:30: 'noperspective' : not supported with this profile: es
+ERROR: 0:31: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: bads
+ERROR: 0:32: 'uint' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
+ERROR: 0:39: 'structure' : must be qualified as flat in
+ERROR: 0:39: 'structure' : non-uniform struct contains a sampler or image: badout
+ERROR: 0:60: 'texel offset' : argument must be compile-time constant
+ERROR: 0:62: 'texel offset' : argument must be compile-time constant
+ERROR: 0:63: 'texel offset' : argument must be compile-time constant
+ERROR: 0:64: 'texel offset' : argument must be compile-time constant
+ERROR: 0:66: 'texel offset' : argument must be compile-time constant
+ERROR: 0:68: 'texel offset' : argument must be compile-time constant
+ERROR: 0:69: 'variable indexing sampler array' : not supported for this version or the enabled extensions
+ERROR: 0:73: 'texel offset' : argument must be compile-time constant
+ERROR: 0:83: 'double' : Reserved word.
+ERROR: 0:83: 'double' : not supported with this profile: es
+ERROR: 0:84: 'dvec2' : Reserved word.
+ERROR: 0:84: 'double vector' : not supported with this profile: es
+ERROR: 0:85: 'dvec3' : Reserved word.
+ERROR: 0:85: 'double vector' : not supported with this profile: es
+ERROR: 0:86: 'dvec4' : Reserved word.
+ERROR: 0:86: 'double vector' : not supported with this profile: es
+ERROR: 0:101: 'arrays of arrays' : not supported for this version or the enabled extensions
+ERROR: 0:102: 'arrays of arrays' : not supported for this version or the enabled extensions
+ERROR: 0:102: 'arrays of arrays' : not supported for this version or the enabled extensions
+ERROR: 0:103: 'arrays of arrays' : not supported for this version or the enabled extensions
+ERROR: 0:100: 'arrays of arrays' : not supported for this version or the enabled extensions
+ERROR: 0:100: 'array-of-array of block' : not supported with this profile: es
+ERROR: 0:111: 'variable indexing fragment shader ouput array' : not supported with this profile: es
+ERROR: 0:119: '==' : can't use with samplers or structs containing samplers
+ERROR: 0:120: '!=' : can't use with samplers or structs containing samplers
+ERROR: 0:121: '==' : can't use with samplers or structs containing samplers
+ERROR: 0:121: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'global lowp sampler2D' and a right operand of type 'global lowp sampler2D' (or there is no acceptable conversion)
+ERROR: 0:122: '=' : can't use with samplers or structs containing samplers
+ERROR: 0:123: '==' : can't use with samplers or structs containing samplers
+ERROR: 0:129: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:129: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:148: 'qualifier' : cannot use auxiliary, memory, interpolation, or precision qualifier in a default qualifier declaration (declaration with no type)
+ERROR: 0:150: 'early_fragment_tests' : not supported for this version or the enabled extensions
+ERROR: 0:156: 'invariant' : can only apply to an output
+ERROR: 0:157: 'invariant' : can only apply to an output
+ERROR: 0:158: 'invariant' : can only apply to an output
+ERROR: 0:160: 'imageBuffer' : Reserved word.
+ERROR: 0:160: '' : syntax error
+ERROR: 45 compilation errors. No code generated.
+
+
+Shader version: 300
+using early_fragment_tests
+ERROR: node is still EOpNull!
+0:53 Function Definition: main( (global void)
+0:53 Function Parameters:
+0:? Sequence
+0:57 move second child to first child (temp lowp 4-component vector of float)
+0:57 'v' (temp lowp 4-component vector of float)
+0:57 texture (global lowp 4-component vector of float)
+0:57 's2D' (uniform lowp sampler2D)
+0:57 'c2D' (smooth in lowp 2-component vector of float)
+0:58 move second child to first child (temp lowp 4-component vector of float)
+0:58 'v' (temp lowp 4-component vector of float)
+0:58 textureProj (global lowp 4-component vector of float)
+0:58 's3D' (uniform lowp sampler3D)
+0:58 'c4D' (smooth temp lowp 4-component vector of float)
+0:59 move second child to first child (temp lowp 4-component vector of float)
+0:59 'v' (temp lowp 4-component vector of float)
+0:59 textureLod (global lowp 4-component vector of float)
+0:59 's2DArray' (uniform lowp sampler2DArray)
+0:59 'c3D' (smooth in lowp 3-component vector of float)
+0:59 Constant:
+0:59 1.200000
+0:60 move second child to first child (temp lowp float)
+0:60 'f' (temp lowp float)
+0:60 textureOffset (global lowp float)
+0:60 's2DShadow' (uniform lowp sampler2DShadow)
+0:60 'c3D' (smooth in lowp 3-component vector of float)
+0:60 'ic2D' (flat in mediump 2-component vector of int)
+0:60 'c1D' (smooth in lowp float)
+0:61 move second child to first child (temp lowp 4-component vector of float)
+0:61 'v' (temp lowp 4-component vector of float)
+0:61 textureFetch (global lowp 4-component vector of float)
+0:61 's3D' (uniform lowp sampler3D)
+0:61 'ic3D' (flat in mediump 3-component vector of int)
+0:61 'ic1D' (flat in mediump int)
+0:62 move second child to first child (temp lowp 4-component vector of float)
+0:62 'v' (temp lowp 4-component vector of float)
+0:62 textureFetchOffset (global lowp 4-component vector of float)
+0:62 direct index (temp lowp sampler2D)
+0:62 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
+0:62 Constant:
+0:62 2 (const int)
+0:62 'ic2D' (flat in mediump 2-component vector of int)
+0:62 Constant:
+0:62 4 (const int)
+0:62 'ic2D' (flat in mediump 2-component vector of int)
+0:63 move second child to first child (temp lowp float)
+0:63 'f' (temp lowp float)
+0:63 textureLodOffset (global lowp float)
+0:63 's2DShadow' (uniform lowp sampler2DShadow)
+0:63 'c3D' (smooth in lowp 3-component vector of float)
+0:63 'c1D' (smooth in lowp float)
+0:63 'ic2D' (flat in mediump 2-component vector of int)
+0:64 move second child to first child (temp lowp 4-component vector of float)
+0:64 'v' (temp lowp 4-component vector of float)
+0:64 textureProjLodOffset (global lowp 4-component vector of float)
+0:64 's2D' (uniform lowp sampler2D)
+0:64 'c3D' (smooth in lowp 3-component vector of float)
+0:64 'c1D' (smooth in lowp float)
+0:64 'ic2D' (flat in mediump 2-component vector of int)
+0:65 move second child to first child (temp lowp 4-component vector of float)
+0:65 'v' (temp lowp 4-component vector of float)
+0:65 textureGrad (global lowp 4-component vector of float)
+0:65 'sCube' (uniform lowp samplerCube)
+0:65 'c3D' (smooth in lowp 3-component vector of float)
+0:65 'c3D' (smooth in lowp 3-component vector of float)
+0:65 'c3D' (smooth in lowp 3-component vector of float)
+0:66 move second child to first child (temp lowp float)
+0:66 'f' (temp lowp float)
+0:66 textureGradOffset (global lowp float)
+0:66 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
+0:66 'c4D' (smooth temp lowp 4-component vector of float)
+0:66 'c2D' (smooth in lowp 2-component vector of float)
+0:66 'c2D' (smooth in lowp 2-component vector of float)
+0:66 'ic2D' (flat in mediump 2-component vector of int)
+0:67 move second child to first child (temp lowp 4-component vector of float)
+0:67 'v' (temp lowp 4-component vector of float)
+0:67 textureProjGrad (global lowp 4-component vector of float)
+0:67 's3D' (uniform lowp sampler3D)
+0:67 'c4D' (smooth temp lowp 4-component vector of float)
+0:67 'c3D' (smooth in lowp 3-component vector of float)
+0:67 'c3D' (smooth in lowp 3-component vector of float)
+0:68 move second child to first child (temp lowp 4-component vector of float)
+0:68 'v' (temp lowp 4-component vector of float)
+0:68 textureProjGradOffset (global lowp 4-component vector of float)
+0:68 's2D' (uniform lowp sampler2D)
+0:68 'c3D' (smooth in lowp 3-component vector of float)
+0:68 'c2D' (smooth in lowp 2-component vector of float)
+0:68 'c2D' (smooth in lowp 2-component vector of float)
+0:68 'ic2D' (flat in mediump 2-component vector of int)
+0:69 move second child to first child (temp lowp 4-component vector of float)
+0:69 'v' (temp lowp 4-component vector of float)
+0:69 texture (global lowp 4-component vector of float)
+0:69 indirect index (temp lowp sampler2D)
+0:69 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
+0:69 'ic1D' (flat in mediump int)
+0:69 'c2D' (smooth in lowp 2-component vector of float)
+0:72 move second child to first child (temp mediump 4-component vector of int)
+0:72 'iv' (temp mediump 4-component vector of int)
+0:72 texture (global lowp 4-component vector of int)
+0:72 'is2D' (uniform lowp isampler2D)
+0:72 'c2D' (smooth in lowp 2-component vector of float)
+0:73 move second child to first child (temp mediump 4-component vector of int)
+0:73 'iv' (temp mediump 4-component vector of int)
+0:73 textureProjOffset (global lowp 4-component vector of int)
+0:73 'is2D' (uniform lowp isampler2D)
+0:73 'c4D' (smooth temp lowp 4-component vector of float)
+0:73 'ic2D' (flat in mediump 2-component vector of int)
+0:74 move second child to first child (temp mediump 4-component vector of int)
+0:74 'iv' (temp mediump 4-component vector of int)
+0:74 textureProjLod (global lowp 4-component vector of int)
+0:74 'is2D' (uniform lowp isampler2D)
+0:74 'c3D' (smooth in lowp 3-component vector of float)
+0:74 'c1D' (smooth in lowp float)
+0:75 move second child to first child (temp mediump 4-component vector of int)
+0:75 'iv' (temp mediump 4-component vector of int)
+0:75 textureProjGrad (global lowp 4-component vector of int)
+0:75 'is2D' (uniform lowp isampler2D)
+0:75 'c3D' (smooth in lowp 3-component vector of float)
+0:75 'c2D' (smooth in lowp 2-component vector of float)
+0:75 'c2D' (smooth in lowp 2-component vector of float)
+0:76 move second child to first child (temp mediump 4-component vector of int)
+0:76 'iv' (temp mediump 4-component vector of int)
+0:76 texture (global lowp 4-component vector of int)
+0:76 'is3D' (uniform lowp isampler3D)
+0:76 'c3D' (smooth in lowp 3-component vector of float)
+0:76 Constant:
+0:76 4.200000
+0:77 move second child to first child (temp mediump 4-component vector of int)
+0:77 'iv' (temp mediump 4-component vector of int)
+0:77 textureLod (global lowp 4-component vector of int)
+0:77 'isCube' (uniform lowp isamplerCube)
+0:77 'c3D' (smooth in lowp 3-component vector of float)
+0:77 'c1D' (smooth in lowp float)
+0:78 move second child to first child (temp mediump 4-component vector of int)
+0:78 'iv' (temp mediump 4-component vector of int)
+0:78 textureFetch (global lowp 4-component vector of int)
+0:78 'is2DArray' (uniform lowp isampler2DArray)
+0:78 'ic3D' (flat in mediump 3-component vector of int)
+0:78 'ic1D' (flat in mediump int)
+0:80 move second child to first child (temp highp 2-component vector of int)
+0:80 vector swizzle (temp mediump 2-component vector of int)
+0:80 'iv' (temp mediump 4-component vector of int)
+0:80 Sequence
+0:80 Constant:
+0:80 0 (const int)
+0:80 Constant:
+0:80 1 (const int)
+0:80 textureSize (global highp 2-component vector of int)
+0:80 'sCubeShadow' (uniform lowp samplerCubeShadow)
+0:80 Constant:
+0:80 2 (const int)
+0:88 add second child into first child (temp highp float)
+0:88 'f' (temp lowp float)
+0:88 direct index (temp highp float)
+0:88 'gl_FragCoord' (gl_FragCoord highp 4-component vector of float FragCoord)
+0:88 Constant:
+0:88 1 (const int)
+0:89 move second child to first child (temp highp float)
+0:89 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:89 'f' (temp lowp float)
+0:91 move second child to first child (temp lowp 3-component vector of float)
+0:91 'sc' (out lowp 3-component vector of float)
+0:91 c: direct index for structure (global lowp 3-component vector of float)
+0:91 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
+0:91 Constant:
+0:91 0 (const int)
+0:92 move second child to first child (temp lowp float)
+0:92 'sf' (out lowp float)
+0:92 f: direct index for structure (global lowp float)
+0:92 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
+0:92 Constant:
+0:92 1 (const int)
+0:94 add (temp lowp 2-component vector of float)
+0:94 hyp. sine (global lowp float)
+0:94 'c1D' (smooth in lowp float)
+0:95 vector-scale (temp lowp 2-component vector of float)
+0:95 hyp. cosine (global lowp float)
+0:95 'c1D' (smooth in lowp float)
+0:95 hyp. tangent (global lowp 2-component vector of float)
+0:95 'c2D' (smooth in lowp 2-component vector of float)
+0:96 add (temp lowp 4-component vector of float)
+0:96 arc hyp. sine (global lowp 4-component vector of float)
+0:96 'c4D' (smooth temp lowp 4-component vector of float)
+0:96 arc hyp. cosine (global lowp 4-component vector of float)
+0:96 'c4D' (smooth temp lowp 4-component vector of float)
+0:97 arc hyp. tangent (global lowp 3-component vector of float)
+0:97 'c3D' (smooth in lowp 3-component vector of float)
+0:108 Function Definition: foo( (global void)
+0:108 Function Parameters:
+0:110 Sequence
+0:110 move second child to first child (temp lowp 4-component vector of float)
+0:110 direct index (temp lowp 4-component vector of float)
+0:110 'colors' (out 4-element array of lowp 4-component vector of float)
+0:110 Constant:
+0:110 2 (const int)
+0:110 'c4D' (smooth temp lowp 4-component vector of float)
+0:111 move second child to first child (temp lowp 4-component vector of float)
+0:111 indirect index (temp lowp 4-component vector of float)
+0:111 'colors' (out 4-element array of lowp 4-component vector of float)
+0:111 'ic1D' (flat in mediump int)
+0:111 'c4D' (smooth temp lowp 4-component vector of float)
+0:117 Function Definition: foo13(struct-s-i1-s211; (global void)
+0:117 Function Parameters:
+0:117 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
+0:119 Sequence
+0:119 Test condition and select (temp void)
+0:119 Condition
+0:119 Compare Equal (temp bool)
+0:119 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:119 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:119 true case is null
+0:120 Test condition and select (temp void)
+0:120 Condition
+0:120 Compare Not Equal (temp bool)
+0:120 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:120 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:120 true case is null
+0:121 Constant:
+0:121 false (const bool)
+0:122 move second child to first child (temp structure{global mediump int i, global lowp sampler2D s})
+0:122 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
+0:122 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:123 Compare Equal (temp bool)
+0:123 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
+0:123 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:126 Function Definition: foo23( (global void)
+0:126 Function Parameters:
+0:128 Sequence
+0:128 textureOffset (global lowp float)
+0:128 's2DShadow' (uniform lowp sampler2DShadow)
+0:128 'c3D' (smooth in lowp 3-component vector of float)
+0:128 Constant:
+0:128 -8 (const int)
+0:128 7 (const int)
+0:128 'c1D' (smooth in lowp float)
+0:129 textureOffset (global lowp float)
+0:129 's2DShadow' (uniform lowp sampler2DShadow)
+0:129 'c3D' (smooth in lowp 3-component vector of float)
+0:129 Constant:
+0:129 -9 (const int)
+0:129 8 (const int)
+0:129 'c1D' (smooth in lowp float)
+0:132 Function Definition: foo324( (global void)
+0:132 Function Parameters:
+0:134 Sequence
+0:134 Sequence
+0:134 move second child to first child (temp lowp float)
+0:134 'p' (temp lowp float)
+0:134 Constant:
+0:134 210.712306
+0:135 add second child into first child (temp lowp float)
+0:135 'p' (temp lowp float)
+0:135 Constant:
+0:135 0.389418
+0:136 add second child into first child (temp lowp float)
+0:136 'p' (temp lowp float)
+0:136 Constant:
+0:136 5.000000
+0:137 add second child into first child (temp lowp float)
+0:137 'p' (temp lowp float)
+0:137 Constant:
+0:137 13.000000
+0:138 Sequence
+0:138 move second child to first child (temp lowp 3-component vector of float)
+0:138 'c3' (temp lowp 3-component vector of float)
+0:138 Constant:
+0:138 -15.000000
+0:138 -2.000000
+0:138 39.000000
+0:139 add second child into first child (temp lowp 3-component vector of float)
+0:139 'c3' (temp lowp 3-component vector of float)
+0:139 Constant:
+0:139 -1.000000
+0:139 -2.000000
+0:139 -3.000000
+0:140 add second child into first child (temp lowp 3-component vector of float)
+0:140 'c3' (temp lowp 3-component vector of float)
+0:140 Constant:
+0:140 1.000000
+0:140 2.000000
+0:140 3.000000
+0:141 Sequence
+0:141 move second child to first child (temp lowp 2-component vector of float)
+0:141 'c2' (temp lowp 2-component vector of float)
+0:141 Constant:
+0:141 1.000000
+0:141 -3.000000
+0:142 add second child into first child (temp lowp 2-component vector of float)
+0:142 'c2' (temp lowp 2-component vector of float)
+0:142 Constant:
+0:142 1.000000
+0:142 -3.000000
+0:143 add second child into first child (temp lowp 2-component vector of float)
+0:143 'c2' (temp lowp 2-component vector of float)
+0:143 Constant:
+0:143 3.000000
+0:143 -8.544004
+0:144 add second child into first child (temp lowp 2-component vector of float)
+0:144 'c2' (temp lowp 2-component vector of float)
+0:144 Constant:
+0:144 0.000000
+0:144 0.000000
+0:145 Sequence
+0:145 move second child to first child (temp lowp 3X2 matrix of float)
+0:145 'm32' (temp lowp 3X2 matrix of float)
+0:145 Constant:
+0:145 10.000000
+0:145 15.000000
+0:145 14.000000
+0:145 21.000000
+0:145 22.000000
+0:145 33.000000
+0:? Linker Objects
+0:? 's2D' (uniform lowp sampler2D)
+0:? 's3D' (uniform lowp sampler3D)
+0:? 'sCube' (uniform lowp samplerCube)
+0:? 'sCubeShadow' (uniform lowp samplerCubeShadow)
+0:? 's2DShadow' (uniform lowp sampler2DShadow)
+0:? 's2DArray' (uniform lowp sampler2DArray)
+0:? 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
+0:? 'is2D' (uniform lowp isampler2D)
+0:? 'is3D' (uniform lowp isampler3D)
+0:? 'isCube' (uniform lowp isamplerCube)
+0:? 'is2DArray' (uniform lowp isampler2DArray)
+0:? 'us2D' (uniform lowp usampler2D)
+0:? 'us3D' (uniform lowp usampler3D)
+0:? 'usCube' (uniform lowp usamplerCube)
+0:? 'us2DArray' (uniform lowp usampler2DArray)
+0:? 'c1D' (smooth in lowp float)
+0:? 'c2D' (smooth in lowp 2-component vector of float)
+0:? 'c3D' (smooth in lowp 3-component vector of float)
+0:? 'c4D' (smooth temp lowp 4-component vector of float)
+0:? 'ic1D' (flat in mediump int)
+0:? 'ic2D' (flat in mediump 2-component vector of int)
+0:? 'ic3D' (flat in mediump 3-component vector of int)
+0:? 'ic4D' (flat in mediump 4-component vector of int)
+0:? 'badv' (noperspective in lowp 4-component vector of float)
+0:? 'bads' (smooth in lowp sampler2D)
+0:? 'badout' (smooth in structure{global mediump int i, global lowp sampler2D s})
+0:? 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
+0:? 'sc' (out lowp 3-component vector of float)
+0:? 'sf' (out lowp float)
+0:? 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
+0:? 'multiInst' (layout(column_major shared ) uniform 2-element array of 3-element array of block{layout(column_major shared ) uniform 2-element array of mediump int a, layout(column_major shared ) uniform 2-element array of 3-element array of mediump int b, layout(column_major shared ) uniform 2-element array of 3-element array of mediump int c})
+0:? 'colors' (out 4-element array of lowp 4-component vector of float)
+0:? 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:? 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:? 'fooinv' (invariant smooth in lowp 4-component vector of float)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers
+
+Shader version: 300
+using early_fragment_tests
+ERROR: node is still EOpNull!
+0:53 Function Definition: main( (global void)
+0:53 Function Parameters:
+0:? Sequence
+0:57 move second child to first child (temp lowp 4-component vector of float)
+0:57 'v' (temp lowp 4-component vector of float)
+0:57 texture (global lowp 4-component vector of float)
+0:57 's2D' (uniform lowp sampler2D)
+0:57 'c2D' (smooth in lowp 2-component vector of float)
+0:58 move second child to first child (temp lowp 4-component vector of float)
+0:58 'v' (temp lowp 4-component vector of float)
+0:58 textureProj (global lowp 4-component vector of float)
+0:58 's3D' (uniform lowp sampler3D)
+0:58 'c4D' (smooth temp lowp 4-component vector of float)
+0:59 move second child to first child (temp lowp 4-component vector of float)
+0:59 'v' (temp lowp 4-component vector of float)
+0:59 textureLod (global lowp 4-component vector of float)
+0:59 's2DArray' (uniform lowp sampler2DArray)
+0:59 'c3D' (smooth in lowp 3-component vector of float)
+0:59 Constant:
+0:59 1.200000
+0:60 move second child to first child (temp lowp float)
+0:60 'f' (temp lowp float)
+0:60 textureOffset (global lowp float)
+0:60 's2DShadow' (uniform lowp sampler2DShadow)
+0:60 'c3D' (smooth in lowp 3-component vector of float)
+0:60 'ic2D' (flat in mediump 2-component vector of int)
+0:60 'c1D' (smooth in lowp float)
+0:61 move second child to first child (temp lowp 4-component vector of float)
+0:61 'v' (temp lowp 4-component vector of float)
+0:61 textureFetch (global lowp 4-component vector of float)
+0:61 's3D' (uniform lowp sampler3D)
+0:61 'ic3D' (flat in mediump 3-component vector of int)
+0:61 'ic1D' (flat in mediump int)
+0:62 move second child to first child (temp lowp 4-component vector of float)
+0:62 'v' (temp lowp 4-component vector of float)
+0:62 textureFetchOffset (global lowp 4-component vector of float)
+0:62 direct index (temp lowp sampler2D)
+0:62 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
+0:62 Constant:
+0:62 2 (const int)
+0:62 'ic2D' (flat in mediump 2-component vector of int)
+0:62 Constant:
+0:62 4 (const int)
+0:62 'ic2D' (flat in mediump 2-component vector of int)
+0:63 move second child to first child (temp lowp float)
+0:63 'f' (temp lowp float)
+0:63 textureLodOffset (global lowp float)
+0:63 's2DShadow' (uniform lowp sampler2DShadow)
+0:63 'c3D' (smooth in lowp 3-component vector of float)
+0:63 'c1D' (smooth in lowp float)
+0:63 'ic2D' (flat in mediump 2-component vector of int)
+0:64 move second child to first child (temp lowp 4-component vector of float)
+0:64 'v' (temp lowp 4-component vector of float)
+0:64 textureProjLodOffset (global lowp 4-component vector of float)
+0:64 's2D' (uniform lowp sampler2D)
+0:64 'c3D' (smooth in lowp 3-component vector of float)
+0:64 'c1D' (smooth in lowp float)
+0:64 'ic2D' (flat in mediump 2-component vector of int)
+0:65 move second child to first child (temp lowp 4-component vector of float)
+0:65 'v' (temp lowp 4-component vector of float)
+0:65 textureGrad (global lowp 4-component vector of float)
+0:65 'sCube' (uniform lowp samplerCube)
+0:65 'c3D' (smooth in lowp 3-component vector of float)
+0:65 'c3D' (smooth in lowp 3-component vector of float)
+0:65 'c3D' (smooth in lowp 3-component vector of float)
+0:66 move second child to first child (temp lowp float)
+0:66 'f' (temp lowp float)
+0:66 textureGradOffset (global lowp float)
+0:66 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
+0:66 'c4D' (smooth temp lowp 4-component vector of float)
+0:66 'c2D' (smooth in lowp 2-component vector of float)
+0:66 'c2D' (smooth in lowp 2-component vector of float)
+0:66 'ic2D' (flat in mediump 2-component vector of int)
+0:67 move second child to first child (temp lowp 4-component vector of float)
+0:67 'v' (temp lowp 4-component vector of float)
+0:67 textureProjGrad (global lowp 4-component vector of float)
+0:67 's3D' (uniform lowp sampler3D)
+0:67 'c4D' (smooth temp lowp 4-component vector of float)
+0:67 'c3D' (smooth in lowp 3-component vector of float)
+0:67 'c3D' (smooth in lowp 3-component vector of float)
+0:68 move second child to first child (temp lowp 4-component vector of float)
+0:68 'v' (temp lowp 4-component vector of float)
+0:68 textureProjGradOffset (global lowp 4-component vector of float)
+0:68 's2D' (uniform lowp sampler2D)
+0:68 'c3D' (smooth in lowp 3-component vector of float)
+0:68 'c2D' (smooth in lowp 2-component vector of float)
+0:68 'c2D' (smooth in lowp 2-component vector of float)
+0:68 'ic2D' (flat in mediump 2-component vector of int)
+0:69 move second child to first child (temp lowp 4-component vector of float)
+0:69 'v' (temp lowp 4-component vector of float)
+0:69 texture (global lowp 4-component vector of float)
+0:69 indirect index (temp lowp sampler2D)
+0:69 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
+0:69 'ic1D' (flat in mediump int)
+0:69 'c2D' (smooth in lowp 2-component vector of float)
+0:72 move second child to first child (temp mediump 4-component vector of int)
+0:72 'iv' (temp mediump 4-component vector of int)
+0:72 texture (global lowp 4-component vector of int)
+0:72 'is2D' (uniform lowp isampler2D)
+0:72 'c2D' (smooth in lowp 2-component vector of float)
+0:73 move second child to first child (temp mediump 4-component vector of int)
+0:73 'iv' (temp mediump 4-component vector of int)
+0:73 textureProjOffset (global lowp 4-component vector of int)
+0:73 'is2D' (uniform lowp isampler2D)
+0:73 'c4D' (smooth temp lowp 4-component vector of float)
+0:73 'ic2D' (flat in mediump 2-component vector of int)
+0:74 move second child to first child (temp mediump 4-component vector of int)
+0:74 'iv' (temp mediump 4-component vector of int)
+0:74 textureProjLod (global lowp 4-component vector of int)
+0:74 'is2D' (uniform lowp isampler2D)
+0:74 'c3D' (smooth in lowp 3-component vector of float)
+0:74 'c1D' (smooth in lowp float)
+0:75 move second child to first child (temp mediump 4-component vector of int)
+0:75 'iv' (temp mediump 4-component vector of int)
+0:75 textureProjGrad (global lowp 4-component vector of int)
+0:75 'is2D' (uniform lowp isampler2D)
+0:75 'c3D' (smooth in lowp 3-component vector of float)
+0:75 'c2D' (smooth in lowp 2-component vector of float)
+0:75 'c2D' (smooth in lowp 2-component vector of float)
+0:76 move second child to first child (temp mediump 4-component vector of int)
+0:76 'iv' (temp mediump 4-component vector of int)
+0:76 texture (global lowp 4-component vector of int)
+0:76 'is3D' (uniform lowp isampler3D)
+0:76 'c3D' (smooth in lowp 3-component vector of float)
+0:76 Constant:
+0:76 4.200000
+0:77 move second child to first child (temp mediump 4-component vector of int)
+0:77 'iv' (temp mediump 4-component vector of int)
+0:77 textureLod (global lowp 4-component vector of int)
+0:77 'isCube' (uniform lowp isamplerCube)
+0:77 'c3D' (smooth in lowp 3-component vector of float)
+0:77 'c1D' (smooth in lowp float)
+0:78 move second child to first child (temp mediump 4-component vector of int)
+0:78 'iv' (temp mediump 4-component vector of int)
+0:78 textureFetch (global lowp 4-component vector of int)
+0:78 'is2DArray' (uniform lowp isampler2DArray)
+0:78 'ic3D' (flat in mediump 3-component vector of int)
+0:78 'ic1D' (flat in mediump int)
+0:80 move second child to first child (temp highp 2-component vector of int)
+0:80 vector swizzle (temp mediump 2-component vector of int)
+0:80 'iv' (temp mediump 4-component vector of int)
+0:80 Sequence
+0:80 Constant:
+0:80 0 (const int)
+0:80 Constant:
+0:80 1 (const int)
+0:80 textureSize (global highp 2-component vector of int)
+0:80 'sCubeShadow' (uniform lowp samplerCubeShadow)
+0:80 Constant:
+0:80 2 (const int)
+0:88 add second child into first child (temp highp float)
+0:88 'f' (temp lowp float)
+0:88 direct index (temp highp float)
+0:88 'gl_FragCoord' (gl_FragCoord highp 4-component vector of float FragCoord)
+0:88 Constant:
+0:88 1 (const int)
+0:89 move second child to first child (temp highp float)
+0:89 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:89 'f' (temp lowp float)
+0:91 move second child to first child (temp lowp 3-component vector of float)
+0:91 'sc' (out lowp 3-component vector of float)
+0:91 c: direct index for structure (global lowp 3-component vector of float)
+0:91 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
+0:91 Constant:
+0:91 0 (const int)
+0:92 move second child to first child (temp lowp float)
+0:92 'sf' (out lowp float)
+0:92 f: direct index for structure (global lowp float)
+0:92 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
+0:92 Constant:
+0:92 1 (const int)
+0:94 add (temp lowp 2-component vector of float)
+0:94 hyp. sine (global lowp float)
+0:94 'c1D' (smooth in lowp float)
+0:95 vector-scale (temp lowp 2-component vector of float)
+0:95 hyp. cosine (global lowp float)
+0:95 'c1D' (smooth in lowp float)
+0:95 hyp. tangent (global lowp 2-component vector of float)
+0:95 'c2D' (smooth in lowp 2-component vector of float)
+0:96 add (temp lowp 4-component vector of float)
+0:96 arc hyp. sine (global lowp 4-component vector of float)
+0:96 'c4D' (smooth temp lowp 4-component vector of float)
+0:96 arc hyp. cosine (global lowp 4-component vector of float)
+0:96 'c4D' (smooth temp lowp 4-component vector of float)
+0:97 arc hyp. tangent (global lowp 3-component vector of float)
+0:97 'c3D' (smooth in lowp 3-component vector of float)
+0:108 Function Definition: foo( (global void)
+0:108 Function Parameters:
+0:110 Sequence
+0:110 move second child to first child (temp lowp 4-component vector of float)
+0:110 direct index (temp lowp 4-component vector of float)
+0:110 'colors' (out 4-element array of lowp 4-component vector of float)
+0:110 Constant:
+0:110 2 (const int)
+0:110 'c4D' (smooth temp lowp 4-component vector of float)
+0:111 move second child to first child (temp lowp 4-component vector of float)
+0:111 indirect index (temp lowp 4-component vector of float)
+0:111 'colors' (out 4-element array of lowp 4-component vector of float)
+0:111 'ic1D' (flat in mediump int)
+0:111 'c4D' (smooth temp lowp 4-component vector of float)
+0:117 Function Definition: foo13(struct-s-i1-s211; (global void)
+0:117 Function Parameters:
+0:117 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
+0:119 Sequence
+0:119 Test condition and select (temp void)
+0:119 Condition
+0:119 Compare Equal (temp bool)
+0:119 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:119 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:119 true case is null
+0:120 Test condition and select (temp void)
+0:120 Condition
+0:120 Compare Not Equal (temp bool)
+0:120 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:120 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:120 true case is null
+0:121 Constant:
+0:121 false (const bool)
+0:122 move second child to first child (temp structure{global mediump int i, global lowp sampler2D s})
+0:122 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
+0:122 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:123 Compare Equal (temp bool)
+0:123 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
+0:123 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:126 Function Definition: foo23( (global void)
+0:126 Function Parameters:
+0:128 Sequence
+0:128 textureOffset (global lowp float)
+0:128 's2DShadow' (uniform lowp sampler2DShadow)
+0:128 'c3D' (smooth in lowp 3-component vector of float)
+0:128 Constant:
+0:128 -8 (const int)
+0:128 7 (const int)
+0:128 'c1D' (smooth in lowp float)
+0:129 textureOffset (global lowp float)
+0:129 's2DShadow' (uniform lowp sampler2DShadow)
+0:129 'c3D' (smooth in lowp 3-component vector of float)
+0:129 Constant:
+0:129 -9 (const int)
+0:129 8 (const int)
+0:129 'c1D' (smooth in lowp float)
+0:132 Function Definition: foo324( (global void)
+0:132 Function Parameters:
+0:134 Sequence
+0:134 Sequence
+0:134 move second child to first child (temp lowp float)
+0:134 'p' (temp lowp float)
+0:134 Constant:
+0:134 210.712306
+0:135 add second child into first child (temp lowp float)
+0:135 'p' (temp lowp float)
+0:135 Constant:
+0:135 0.389418
+0:136 add second child into first child (temp lowp float)
+0:136 'p' (temp lowp float)
+0:136 Constant:
+0:136 5.000000
+0:137 add second child into first child (temp lowp float)
+0:137 'p' (temp lowp float)
+0:137 Constant:
+0:137 13.000000
+0:138 Sequence
+0:138 move second child to first child (temp lowp 3-component vector of float)
+0:138 'c3' (temp lowp 3-component vector of float)
+0:138 Constant:
+0:138 -15.000000
+0:138 -2.000000
+0:138 39.000000
+0:139 add second child into first child (temp lowp 3-component vector of float)
+0:139 'c3' (temp lowp 3-component vector of float)
+0:139 Constant:
+0:139 -1.000000
+0:139 -2.000000
+0:139 -3.000000
+0:140 add second child into first child (temp lowp 3-component vector of float)
+0:140 'c3' (temp lowp 3-component vector of float)
+0:140 Constant:
+0:140 1.000000
+0:140 2.000000
+0:140 3.000000
+0:141 Sequence
+0:141 move second child to first child (temp lowp 2-component vector of float)
+0:141 'c2' (temp lowp 2-component vector of float)
+0:141 Constant:
+0:141 1.000000
+0:141 -3.000000
+0:142 add second child into first child (temp lowp 2-component vector of float)
+0:142 'c2' (temp lowp 2-component vector of float)
+0:142 Constant:
+0:142 1.000000
+0:142 -3.000000
+0:143 add second child into first child (temp lowp 2-component vector of float)
+0:143 'c2' (temp lowp 2-component vector of float)
+0:143 Constant:
+0:143 3.000000
+0:143 -8.544004
+0:144 add second child into first child (temp lowp 2-component vector of float)
+0:144 'c2' (temp lowp 2-component vector of float)
+0:144 Constant:
+0:144 0.000000
+0:144 0.000000
+0:145 Sequence
+0:145 move second child to first child (temp lowp 3X2 matrix of float)
+0:145 'm32' (temp lowp 3X2 matrix of float)
+0:145 Constant:
+0:145 10.000000
+0:145 15.000000
+0:145 14.000000
+0:145 21.000000
+0:145 22.000000
+0:145 33.000000
+0:? Linker Objects
+0:? 's2D' (uniform lowp sampler2D)
+0:? 's3D' (uniform lowp sampler3D)
+0:? 'sCube' (uniform lowp samplerCube)
+0:? 'sCubeShadow' (uniform lowp samplerCubeShadow)
+0:? 's2DShadow' (uniform lowp sampler2DShadow)
+0:? 's2DArray' (uniform lowp sampler2DArray)
+0:? 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
+0:? 'is2D' (uniform lowp isampler2D)
+0:? 'is3D' (uniform lowp isampler3D)
+0:? 'isCube' (uniform lowp isamplerCube)
+0:? 'is2DArray' (uniform lowp isampler2DArray)
+0:? 'us2D' (uniform lowp usampler2D)
+0:? 'us3D' (uniform lowp usampler3D)
+0:? 'usCube' (uniform lowp usamplerCube)
+0:? 'us2DArray' (uniform lowp usampler2DArray)
+0:? 'c1D' (smooth in lowp float)
+0:? 'c2D' (smooth in lowp 2-component vector of float)
+0:? 'c3D' (smooth in lowp 3-component vector of float)
+0:? 'c4D' (smooth temp lowp 4-component vector of float)
+0:? 'ic1D' (flat in mediump int)
+0:? 'ic2D' (flat in mediump 2-component vector of int)
+0:? 'ic3D' (flat in mediump 3-component vector of int)
+0:? 'ic4D' (flat in mediump 4-component vector of int)
+0:? 'badv' (noperspective in lowp 4-component vector of float)
+0:? 'bads' (smooth in lowp sampler2D)
+0:? 'badout' (smooth in structure{global mediump int i, global lowp sampler2D s})
+0:? 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
+0:? 'sc' (out lowp 3-component vector of float)
+0:? 'sf' (out lowp float)
+0:? 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
+0:? 'multiInst' (layout(column_major shared ) uniform 2-element array of 3-element array of block{layout(column_major shared ) uniform 2-element array of mediump int a, layout(column_major shared ) uniform 2-element array of 3-element array of mediump int b, layout(column_major shared ) uniform 2-element array of 3-element array of mediump int c})
+0:? 'colors' (out 4-element array of lowp 4-component vector of float)
+0:? 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:? 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:? 'fooinv' (invariant smooth in lowp 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/300.vert.out b/chromium/third_party/glslang/src/Test/baseResults/300.vert.out
new file mode 100644
index 00000000000..80745abedcd
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/300.vert.out
@@ -0,0 +1,612 @@
+300.vert
+ERROR: 0:8: 'varying' : Reserved word.
+ERROR: 0:8: 'varying' : no longer supported in es profile; removed in version 300
+ERROR: 0:9: 'vertex input arrays' : not supported with this profile: es
+ERROR: 0:10: '' : precision qualifier must appear as last qualifier
+ERROR: 0:11: '' : invariant qualifier must appear before interpolation, storage, and precision qualifiers
+ERROR: 0:12: '' : Auxiliary qualifiers (centroid, patch, and sample) must appear before storage and precision qualifiers
+ERROR: 0:12: '' : vertex input cannot be further qualified
+ERROR: 0:13: '' : interpolation qualifiers must appear before storage and precision qualifiers
+ERROR: 0:14: '' : in/out must appear before const
+ERROR: 0:15: '' : precision qualifier must appear as last qualifier
+ERROR: 0:16: '' : can only have one interpolation qualifier (flat, smooth, noperspective)
+ERROR: 0:17: 'sample' : Reserved word.
+ERROR: 0:17: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
+ERROR: 0:18: 'uniform' : too many storage qualifiers
+ERROR: 0:56: '#error' : GL_ES is set
+ERROR: 0:62: '' : array size required
+ERROR: 0:63: '' : array size required
+ERROR: 0:64: '' : array size required
+ERROR: 0:65: '' : array size required
+ERROR: 0:67: '' : array size required
+ERROR: 0:76: 'invariant' : cannot change qualification after use
+ERROR: 0:78: 'invariant' : can only apply to an output
+ERROR: 0:88: 'ub2' : Cannot reuse block name within the same interface: uniform
+ERROR: 0:92: 'ub2' : Cannot reuse block name within the same interface: uniform
+ERROR: 0:96: 'ub2' : Cannot reuse block name within the same interface: uniform
+ERROR: 0:104: 'ub3' : Cannot reuse block name within the same interface: uniform
+ERROR: 0:121: 'textureSize' : no matching overloaded function found
+ERROR: 0:123: 'textureSize' : no matching overloaded function found
+ERROR: 0:125: 'texture' : no matching overloaded function found
+ERROR: 0:127: 'textureProjOffset' : no matching overloaded function found
+ERROR: 0:132: 'highp' : overloaded functions must have the same parameter precision qualifiers for argument 2
+ERROR: 0:135: 'in' : overloaded functions must have the same parameter storage qualifiers for argument 2
+ERROR: 0:146: '' : array size required
+ERROR: 0:147: '' : array size required
+ERROR: 0:148: '' : array size required
+ERROR: 0:149: 'float' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
+ERROR: 0:168: 'Binst' : cannot add storage, auxiliary, memory, interpolation, layout, or precision qualifier to an existing variable
+ERROR: 0:169: 'Bblock' : cannot add storage, auxiliary, memory, interpolation, layout, or precision qualifier to an existing variable
+ERROR: 0:170: 'Bfoo' : cannot add storage, auxiliary, memory, interpolation, layout, or precision qualifier to an existing variable
+ERROR: 0:172: 'std430' : not supported for this version or the enabled extensions
+ERROR: 0:172: 'std430' : requires the 'buffer' storage qualifier
+ERROR: 0:175: '' : array size required
+ERROR: 0:185: 'assign' : cannot convert from 'temp 4-element array of highp float' to 'temp 3-element array of highp float'
+ERROR: 0:186: 'assign' : cannot convert from 'temp 3-element array of highp float' to 'temp 4-element array of highp float'
+ERROR: 44 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:27 Function Definition: main( (global void)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Sequence
+0:29 move second child to first child (temp highp int)
+0:29 'id' (temp highp int)
+0:29 add (temp highp int)
+0:29 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:29 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+0:31 Sequence
+0:31 move second child to first child (temp highp int)
+0:31 'c0' (temp highp int)
+0:31 Constant:
+0:31 64 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp highp int)
+0:32 'c1' (temp highp int)
+0:32 Constant:
+0:32 128 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp highp int)
+0:33 'c2' (temp highp int)
+0:33 Constant:
+0:33 16 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp highp int)
+0:34 'c3' (temp highp int)
+0:34 Constant:
+0:34 15 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp highp int)
+0:35 'c4' (temp highp int)
+0:35 Constant:
+0:35 32 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp highp int)
+0:36 'c5' (temp highp int)
+0:36 Constant:
+0:36 80 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp highp int)
+0:37 'c6' (temp highp int)
+0:37 Constant:
+0:37 32 (const int)
+0:38 Sequence
+0:38 move second child to first child (temp highp int)
+0:38 'c7' (temp highp int)
+0:38 Constant:
+0:38 16 (const int)
+0:39 Sequence
+0:39 move second child to first child (temp highp int)
+0:39 'c8' (temp highp int)
+0:39 Constant:
+0:39 32 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp highp int)
+0:40 'c9' (temp highp int)
+0:40 Constant:
+0:40 -8 (const int)
+0:41 Sequence
+0:41 move second child to first child (temp highp int)
+0:41 'c10' (temp highp int)
+0:41 Constant:
+0:41 7 (const int)
+0:43 Sequence
+0:43 move second child to first child (temp highp 3X4 matrix of float)
+0:43 'tm' (temp highp 3X4 matrix of float)
+0:43 transpose (global highp 3X4 matrix of float)
+0:43 'm43' (uniform highp 4X3 matrix of float)
+0:44 Sequence
+0:44 move second child to first child (temp highp float)
+0:44 'dm' (temp highp float)
+0:44 determinant (global highp float)
+0:44 'm44' (uniform highp 4X4 matrix of float)
+0:45 Sequence
+0:45 move second child to first child (temp highp 3X3 matrix of float)
+0:45 'im' (temp highp 3X3 matrix of float)
+0:45 inverse (global highp 3X3 matrix of float)
+0:45 'm33' (uniform highp 3X3 matrix of float)
+0:47 Sequence
+0:47 move second child to first child (temp highp 3X2 matrix of float)
+0:47 'op' (temp highp 3X2 matrix of float)
+0:47 outer product (global highp 3X2 matrix of float)
+0:47 'v2' (smooth out highp 2-component vector of float)
+0:47 'v3' (in highp 3-component vector of float)
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:49 direct index (temp highp 4-component vector of float)
+0:49 'm44' (uniform highp 4X4 matrix of float)
+0:49 Constant:
+0:49 2 (const int)
+0:50 move second child to first child (temp highp float)
+0:50 'gl_PointSize' (gl_PointSize highp float PointSize)
+0:50 direct index (temp highp float)
+0:50 'v2' (smooth out highp 2-component vector of float)
+0:50 Constant:
+0:50 1 (const int)
+0:52 move second child to first child (temp highp 3-component vector of float)
+0:52 c: direct index for structure (global highp 3-component vector of float)
+0:52 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:52 Constant:
+0:52 0 (const int)
+0:52 'v3' (in highp 3-component vector of float)
+0:53 move second child to first child (temp highp float)
+0:53 f: direct index for structure (global highp float)
+0:53 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:53 Constant:
+0:53 1 (const int)
+0:53 'dm' (temp highp float)
+0:68 Sequence
+0:68 move second child to first child (temp 2-element array of highp float)
+0:68 'okayA' (global 2-element array of highp float)
+0:68 Constant:
+0:68 3.000000
+0:68 4.000000
+0:71 Function Definition: newVFun( (global void)
+0:71 Function Parameters:
+0:73 Sequence
+0:73 move second child to first child (temp highp 3-component vector of float)
+0:73 'newV' (smooth out highp 3-component vector of float)
+0:73 'v3' (in highp 3-component vector of float)
+0:118 Function Definition: foo23( (global void)
+0:118 Function Parameters:
+0:120 Sequence
+0:120 Sequence
+0:120 move second child to first child (temp highp 2-component vector of int)
+0:120 'x1' (temp highp 2-component vector of int)
+0:120 textureSize (global highp 2-component vector of int)
+0:120 's2D' (uniform lowp sampler2D)
+0:120 Constant:
+0:120 2 (const int)
+0:121 Constant:
+0:121 0.000000
+0:122 Sequence
+0:122 move second child to first child (temp highp 3-component vector of int)
+0:122 'x3' (temp highp 3-component vector of int)
+0:122 textureSize (global highp 3-component vector of int)
+0:122 's2DAS' (uniform lowp sampler2DArrayShadow)
+0:122 Constant:
+0:122 -1 (const int)
+0:123 Constant:
+0:123 0.000000
+0:124 Sequence
+0:124 move second child to first child (temp highp 4-component vector of float)
+0:124 'x4' (temp highp 4-component vector of float)
+0:124 texture (global lowp 4-component vector of float)
+0:124 's2D' (uniform lowp sampler2D)
+0:124 'c2D' (in highp 2-component vector of float)
+0:125 Constant:
+0:125 0.000000
+0:126 Sequence
+0:126 move second child to first child (temp highp 4-component vector of float)
+0:126 'x5' (temp highp 4-component vector of float)
+0:126 textureProjOffset (global lowp 4-component vector of float)
+0:126 's3D' (uniform lowp sampler3D)
+0:126 Constant:
+0:126 0.200000
+0:126 0.200000
+0:126 0.200000
+0:126 0.200000
+0:126 Constant:
+0:126 1 (const int)
+0:126 1 (const int)
+0:126 1 (const int)
+0:127 Constant:
+0:127 0.000000
+0:128 Sequence
+0:128 move second child to first child (temp highp float)
+0:128 'x6' (temp highp float)
+0:128 textureProjGradOffset (global lowp float)
+0:128 's2DS' (uniform lowp sampler2DShadow)
+0:128 'invIn' (invariant in highp 4-component vector of float)
+0:128 Constant:
+0:128 4.200000
+0:128 4.200000
+0:128 Constant:
+0:128 5.300000
+0:128 5.300000
+0:128 Constant:
+0:128 1 (const int)
+0:128 1 (const int)
+0:137 Function Definition: foo2349( (global void)
+0:137 Function Parameters:
+0:139 Sequence
+0:139 Sequence
+0:139 move second child to first child (temp 3-element array of highp float)
+0:139 'x' (temp 3-element array of highp float)
+0:139 Constant:
+0:139 1.000000
+0:139 2.000000
+0:139 3.000000
+0:140 Sequence
+0:140 move second child to first child (temp 3-element array of highp float)
+0:140 'y' (temp 3-element array of highp float)
+0:140 'x' (temp 3-element array of highp float)
+0:141 Sequence
+0:141 move second child to first child (temp 3-element array of highp float)
+0:141 'z' (temp 3-element array of highp float)
+0:141 'x' (temp 3-element array of highp float)
+0:143 move second child to first child (temp 3-element array of highp float)
+0:143 'w' (temp 3-element array of highp float)
+0:143 'y' (temp 3-element array of highp float)
+0:155 Function Definition: gggf(f1; (global highp int)
+0:155 Function Parameters:
+0:155 'f' (in highp float)
+0:155 Sequence
+0:155 Branch: Return with expression
+0:155 Constant:
+0:155 2 (const int)
+0:158 Function Definition: agggf(f1; (global highp int)
+0:158 Function Parameters:
+0:158 'f' (in highp float)
+0:158 Sequence
+0:158 Branch: Return with expression
+0:158 Constant:
+0:158 2 (const int)
+0:178 Function Definition: fooDeeparray( (global void)
+0:178 Function Parameters:
+0:181 Sequence
+0:181 Sequence
+0:180 move second child to first child (temp 3-element array of highp float)
+0:180 'x' (temp 3-element array of highp float)
+0:180 Constant:
+0:180 1.000000
+0:180 2.000000
+0:180 3.000000
+0:181 move second child to first child (temp 4-element array of highp float)
+0:181 'y' (temp 4-element array of highp float)
+0:181 Constant:
+0:181 1.000000
+0:181 2.000000
+0:181 3.000000
+0:181 4.000000
+0:183 move second child to first child (temp 3-element array of highp float)
+0:183 'xp' (temp 3-element array of highp float)
+0:183 'x' (temp 3-element array of highp float)
+0:184 move second child to first child (temp 4-element array of highp float)
+0:184 'yp' (temp 4-element array of highp float)
+0:184 'y' (temp 4-element array of highp float)
+0:185 'xp' (temp 3-element array of highp float)
+0:186 'yp' (temp 4-element array of highp float)
+0:? Linker Objects
+0:? 'm43' (uniform highp 4X3 matrix of float)
+0:? 'm33' (uniform highp 3X3 matrix of float)
+0:? 'm44' (uniform highp 4X4 matrix of float)
+0:? 'v3' (in highp 3-component vector of float)
+0:? 'v2' (smooth out highp 2-component vector of float)
+0:? 'bad' (in 10-element array of highp 4-component vector of float)
+0:? 'badorder' (in highp 4-component vector of float)
+0:? 'badorder2' (invariant smooth out highp 4-component vector of float)
+0:? 'badorder4' (centroid in highp 4-component vector of float)
+0:? 'badorder3' (flat out highp 4-component vector of float)
+0:? 'rep' (smooth flat out highp 4-component vector of float)
+0:? 'rep2' (centroid smooth sample out highp 4-component vector of float)
+0:? 'rep3' (in highp 4-component vector of float)
+0:? 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:? 'badsize' (global implicitly-sized array of highp float)
+0:? 'badsize2' (global implicitly-sized array of highp float)
+0:? 'ubInst' (layout(column_major shared ) uniform implicitly-sized array of block{layout(column_major shared ) uniform implicitly-sized array of highp int a})
+0:? 'okayA' (global 2-element array of highp float)
+0:? 'newV' (smooth out highp 3-component vector of float)
+0:? 'invIn' (in highp 4-component vector of float)
+0:? 's2' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:? 's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f})
+0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23})
+0:? 's2D' (uniform lowp sampler2D)
+0:? 's3D' (uniform lowp sampler3D)
+0:? 's2DS' (uniform lowp sampler2DShadow)
+0:? 's2DAS' (uniform lowp sampler2DArrayShadow)
+0:? 'c2D' (in highp 2-component vector of float)
+0:? 'ssss' (smooth out structure{global highp float f})
+0:? 'Binst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp int a})
+0:? 'Bfoo' (global highp int)
+0:? 'B430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a})
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:27 Function Definition: main( (global void)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Sequence
+0:29 move second child to first child (temp highp int)
+0:29 'id' (temp highp int)
+0:29 add (temp highp int)
+0:29 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:29 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+0:31 Sequence
+0:31 move second child to first child (temp highp int)
+0:31 'c0' (temp highp int)
+0:31 Constant:
+0:31 64 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp highp int)
+0:32 'c1' (temp highp int)
+0:32 Constant:
+0:32 128 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp highp int)
+0:33 'c2' (temp highp int)
+0:33 Constant:
+0:33 16 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp highp int)
+0:34 'c3' (temp highp int)
+0:34 Constant:
+0:34 15 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp highp int)
+0:35 'c4' (temp highp int)
+0:35 Constant:
+0:35 32 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp highp int)
+0:36 'c5' (temp highp int)
+0:36 Constant:
+0:36 80 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp highp int)
+0:37 'c6' (temp highp int)
+0:37 Constant:
+0:37 32 (const int)
+0:38 Sequence
+0:38 move second child to first child (temp highp int)
+0:38 'c7' (temp highp int)
+0:38 Constant:
+0:38 16 (const int)
+0:39 Sequence
+0:39 move second child to first child (temp highp int)
+0:39 'c8' (temp highp int)
+0:39 Constant:
+0:39 32 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp highp int)
+0:40 'c9' (temp highp int)
+0:40 Constant:
+0:40 -8 (const int)
+0:41 Sequence
+0:41 move second child to first child (temp highp int)
+0:41 'c10' (temp highp int)
+0:41 Constant:
+0:41 7 (const int)
+0:43 Sequence
+0:43 move second child to first child (temp highp 3X4 matrix of float)
+0:43 'tm' (temp highp 3X4 matrix of float)
+0:43 transpose (global highp 3X4 matrix of float)
+0:43 'm43' (uniform highp 4X3 matrix of float)
+0:44 Sequence
+0:44 move second child to first child (temp highp float)
+0:44 'dm' (temp highp float)
+0:44 determinant (global highp float)
+0:44 'm44' (uniform highp 4X4 matrix of float)
+0:45 Sequence
+0:45 move second child to first child (temp highp 3X3 matrix of float)
+0:45 'im' (temp highp 3X3 matrix of float)
+0:45 inverse (global highp 3X3 matrix of float)
+0:45 'm33' (uniform highp 3X3 matrix of float)
+0:47 Sequence
+0:47 move second child to first child (temp highp 3X2 matrix of float)
+0:47 'op' (temp highp 3X2 matrix of float)
+0:47 outer product (global highp 3X2 matrix of float)
+0:47 'v2' (smooth out highp 2-component vector of float)
+0:47 'v3' (in highp 3-component vector of float)
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:49 direct index (temp highp 4-component vector of float)
+0:49 'm44' (uniform highp 4X4 matrix of float)
+0:49 Constant:
+0:49 2 (const int)
+0:50 move second child to first child (temp highp float)
+0:50 'gl_PointSize' (gl_PointSize highp float PointSize)
+0:50 direct index (temp highp float)
+0:50 'v2' (smooth out highp 2-component vector of float)
+0:50 Constant:
+0:50 1 (const int)
+0:52 move second child to first child (temp highp 3-component vector of float)
+0:52 c: direct index for structure (global highp 3-component vector of float)
+0:52 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:52 Constant:
+0:52 0 (const int)
+0:52 'v3' (in highp 3-component vector of float)
+0:53 move second child to first child (temp highp float)
+0:53 f: direct index for structure (global highp float)
+0:53 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:53 Constant:
+0:53 1 (const int)
+0:53 'dm' (temp highp float)
+0:68 Sequence
+0:68 move second child to first child (temp 2-element array of highp float)
+0:68 'okayA' (global 2-element array of highp float)
+0:68 Constant:
+0:68 3.000000
+0:68 4.000000
+0:71 Function Definition: newVFun( (global void)
+0:71 Function Parameters:
+0:73 Sequence
+0:73 move second child to first child (temp highp 3-component vector of float)
+0:73 'newV' (smooth out highp 3-component vector of float)
+0:73 'v3' (in highp 3-component vector of float)
+0:118 Function Definition: foo23( (global void)
+0:118 Function Parameters:
+0:120 Sequence
+0:120 Sequence
+0:120 move second child to first child (temp highp 2-component vector of int)
+0:120 'x1' (temp highp 2-component vector of int)
+0:120 textureSize (global highp 2-component vector of int)
+0:120 's2D' (uniform lowp sampler2D)
+0:120 Constant:
+0:120 2 (const int)
+0:121 Constant:
+0:121 0.000000
+0:122 Sequence
+0:122 move second child to first child (temp highp 3-component vector of int)
+0:122 'x3' (temp highp 3-component vector of int)
+0:122 textureSize (global highp 3-component vector of int)
+0:122 's2DAS' (uniform lowp sampler2DArrayShadow)
+0:122 Constant:
+0:122 -1 (const int)
+0:123 Constant:
+0:123 0.000000
+0:124 Sequence
+0:124 move second child to first child (temp highp 4-component vector of float)
+0:124 'x4' (temp highp 4-component vector of float)
+0:124 texture (global lowp 4-component vector of float)
+0:124 's2D' (uniform lowp sampler2D)
+0:124 'c2D' (in highp 2-component vector of float)
+0:125 Constant:
+0:125 0.000000
+0:126 Sequence
+0:126 move second child to first child (temp highp 4-component vector of float)
+0:126 'x5' (temp highp 4-component vector of float)
+0:126 textureProjOffset (global lowp 4-component vector of float)
+0:126 's3D' (uniform lowp sampler3D)
+0:126 Constant:
+0:126 0.200000
+0:126 0.200000
+0:126 0.200000
+0:126 0.200000
+0:126 Constant:
+0:126 1 (const int)
+0:126 1 (const int)
+0:126 1 (const int)
+0:127 Constant:
+0:127 0.000000
+0:128 Sequence
+0:128 move second child to first child (temp highp float)
+0:128 'x6' (temp highp float)
+0:128 textureProjGradOffset (global lowp float)
+0:128 's2DS' (uniform lowp sampler2DShadow)
+0:128 'invIn' (invariant in highp 4-component vector of float)
+0:128 Constant:
+0:128 4.200000
+0:128 4.200000
+0:128 Constant:
+0:128 5.300000
+0:128 5.300000
+0:128 Constant:
+0:128 1 (const int)
+0:128 1 (const int)
+0:137 Function Definition: foo2349( (global void)
+0:137 Function Parameters:
+0:139 Sequence
+0:139 Sequence
+0:139 move second child to first child (temp 3-element array of highp float)
+0:139 'x' (temp 3-element array of highp float)
+0:139 Constant:
+0:139 1.000000
+0:139 2.000000
+0:139 3.000000
+0:140 Sequence
+0:140 move second child to first child (temp 3-element array of highp float)
+0:140 'y' (temp 3-element array of highp float)
+0:140 'x' (temp 3-element array of highp float)
+0:141 Sequence
+0:141 move second child to first child (temp 3-element array of highp float)
+0:141 'z' (temp 3-element array of highp float)
+0:141 'x' (temp 3-element array of highp float)
+0:143 move second child to first child (temp 3-element array of highp float)
+0:143 'w' (temp 3-element array of highp float)
+0:143 'y' (temp 3-element array of highp float)
+0:155 Function Definition: gggf(f1; (global highp int)
+0:155 Function Parameters:
+0:155 'f' (in highp float)
+0:155 Sequence
+0:155 Branch: Return with expression
+0:155 Constant:
+0:155 2 (const int)
+0:158 Function Definition: agggf(f1; (global highp int)
+0:158 Function Parameters:
+0:158 'f' (in highp float)
+0:158 Sequence
+0:158 Branch: Return with expression
+0:158 Constant:
+0:158 2 (const int)
+0:178 Function Definition: fooDeeparray( (global void)
+0:178 Function Parameters:
+0:181 Sequence
+0:181 Sequence
+0:180 move second child to first child (temp 3-element array of highp float)
+0:180 'x' (temp 3-element array of highp float)
+0:180 Constant:
+0:180 1.000000
+0:180 2.000000
+0:180 3.000000
+0:181 move second child to first child (temp 4-element array of highp float)
+0:181 'y' (temp 4-element array of highp float)
+0:181 Constant:
+0:181 1.000000
+0:181 2.000000
+0:181 3.000000
+0:181 4.000000
+0:183 move second child to first child (temp 3-element array of highp float)
+0:183 'xp' (temp 3-element array of highp float)
+0:183 'x' (temp 3-element array of highp float)
+0:184 move second child to first child (temp 4-element array of highp float)
+0:184 'yp' (temp 4-element array of highp float)
+0:184 'y' (temp 4-element array of highp float)
+0:185 'xp' (temp 3-element array of highp float)
+0:186 'yp' (temp 4-element array of highp float)
+0:? Linker Objects
+0:? 'm43' (uniform highp 4X3 matrix of float)
+0:? 'm33' (uniform highp 3X3 matrix of float)
+0:? 'm44' (uniform highp 4X4 matrix of float)
+0:? 'v3' (in highp 3-component vector of float)
+0:? 'v2' (smooth out highp 2-component vector of float)
+0:? 'bad' (in 10-element array of highp 4-component vector of float)
+0:? 'badorder' (in highp 4-component vector of float)
+0:? 'badorder2' (invariant smooth out highp 4-component vector of float)
+0:? 'badorder4' (centroid in highp 4-component vector of float)
+0:? 'badorder3' (flat out highp 4-component vector of float)
+0:? 'rep' (smooth flat out highp 4-component vector of float)
+0:? 'rep2' (centroid smooth sample out highp 4-component vector of float)
+0:? 'rep3' (in highp 4-component vector of float)
+0:? 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:? 'badsize' (global 1-element array of highp float)
+0:? 'badsize2' (global 1-element array of highp float)
+0:? 'ubInst' (layout(column_major shared ) uniform 1-element array of block{layout(column_major shared ) uniform 1-element array of highp int a})
+0:? 'okayA' (global 2-element array of highp float)
+0:? 'newV' (smooth out highp 3-component vector of float)
+0:? 'invIn' (in highp 4-component vector of float)
+0:? 's2' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:? 's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f})
+0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23})
+0:? 's2D' (uniform lowp sampler2D)
+0:? 's3D' (uniform lowp sampler3D)
+0:? 's2DS' (uniform lowp sampler2DShadow)
+0:? 's2DAS' (uniform lowp sampler2DArrayShadow)
+0:? 'c2D' (in highp 2-component vector of float)
+0:? 'ssss' (smooth out structure{global highp float f})
+0:? 'Binst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp int a})
+0:? 'Bfoo' (global highp int)
+0:? 'B430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a})
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/300BuiltIns.frag.out b/chromium/third_party/glslang/src/Test/baseResults/300BuiltIns.frag.out
new file mode 100644
index 00000000000..2bb4cf5ebe0
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/300BuiltIns.frag.out
@@ -0,0 +1,418 @@
+300BuiltIns.frag
+ERROR: 0:6: 'float' : type requires declaration of default precision qualifier
+ERROR: 0:70: 'noise2' : no matching overloaded function found
+ERROR: 0:72: 't__' : identifiers containing consecutive underscores ("__") are reserved, and an error if version <= 300
+ERROR: 0:75: '#define' : names containing consecutive underscores are reserved, and an error if version <= 300: __D
+ERROR: 4 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:26 Function Definition: main( (global void)
+0:26 Function Parameters:
+0:29 Sequence
+0:29 Sequence
+0:29 move second child to first child (temp mediump 3-component vector of float)
+0:29 'v' (temp mediump 3-component vector of float)
+0:29 mix (global mediump 3-component vector of float)
+0:29 'x' (global mediump 3-component vector of float)
+0:29 'y' (global mediump 3-component vector of float)
+0:29 'bv' (global 3-component vector of bool)
+0:30 Sequence
+0:30 move second child to first child (temp mediump 4-component vector of int)
+0:30 'iv10' (temp mediump 4-component vector of int)
+0:30 Absolute value (global mediump 4-component vector of int)
+0:30 'iv4a' (global mediump 4-component vector of int)
+0:31 Sequence
+0:31 move second child to first child (temp mediump 4-component vector of int)
+0:31 'iv11' (temp mediump 4-component vector of int)
+0:31 Sign (global mediump 4-component vector of int)
+0:31 'iv4a' (global mediump 4-component vector of int)
+0:32 Sequence
+0:32 move second child to first child (temp mediump 4-component vector of int)
+0:32 'iv12' (temp mediump 4-component vector of int)
+0:32 min (global mediump 4-component vector of int)
+0:32 'iv4a' (global mediump 4-component vector of int)
+0:32 'iv4b' (global mediump 4-component vector of int)
+0:33 Sequence
+0:33 move second child to first child (temp mediump 4-component vector of int)
+0:33 'iv13' (temp mediump 4-component vector of int)
+0:33 min (global mediump 4-component vector of int)
+0:33 'iv4a' (global mediump 4-component vector of int)
+0:33 'imin' (global mediump int)
+0:34 Sequence
+0:34 move second child to first child (temp mediump 2-component vector of uint)
+0:34 'u' (temp mediump 2-component vector of uint)
+0:34 min (global mediump 2-component vector of uint)
+0:34 'uv2x' (global mediump 2-component vector of uint)
+0:34 'uv2y' (global mediump 2-component vector of uint)
+0:35 Sequence
+0:35 move second child to first child (temp mediump 4-component vector of uint)
+0:35 'uv' (temp mediump 4-component vector of uint)
+0:35 min (global mediump 4-component vector of uint)
+0:35 'uv4y' (global mediump 4-component vector of uint)
+0:35 'uy' (global mediump uint)
+0:36 Sequence
+0:36 move second child to first child (temp mediump 3-component vector of int)
+0:36 'iv14' (temp mediump 3-component vector of int)
+0:36 max (global mediump 3-component vector of int)
+0:36 'iv3a' (global mediump 3-component vector of int)
+0:36 'iv3b' (global mediump 3-component vector of int)
+0:37 Sequence
+0:37 move second child to first child (temp mediump 4-component vector of int)
+0:37 'iv15' (temp mediump 4-component vector of int)
+0:37 max (global mediump 4-component vector of int)
+0:37 'iv4a' (global mediump 4-component vector of int)
+0:37 'imax' (global mediump int)
+0:38 Sequence
+0:38 move second child to first child (temp mediump 2-component vector of uint)
+0:38 'u10' (temp mediump 2-component vector of uint)
+0:38 max (global mediump 2-component vector of uint)
+0:38 'uv2x' (global mediump 2-component vector of uint)
+0:38 'uv2y' (global mediump 2-component vector of uint)
+0:39 Sequence
+0:39 move second child to first child (temp mediump 2-component vector of uint)
+0:39 'u11' (temp mediump 2-component vector of uint)
+0:39 max (global mediump 2-component vector of uint)
+0:39 'uv2x' (global mediump 2-component vector of uint)
+0:39 'uy' (global mediump uint)
+0:40 Sequence
+0:40 move second child to first child (temp mediump 4-component vector of int)
+0:40 'iv16' (temp mediump 4-component vector of int)
+0:40 clamp (global mediump 4-component vector of int)
+0:40 'iv4a' (global mediump 4-component vector of int)
+0:40 'iv4a' (global mediump 4-component vector of int)
+0:40 'iv4b' (global mediump 4-component vector of int)
+0:41 Sequence
+0:41 move second child to first child (temp mediump 4-component vector of int)
+0:41 'iv17' (temp mediump 4-component vector of int)
+0:41 clamp (global mediump 4-component vector of int)
+0:41 'iv4a' (global mediump 4-component vector of int)
+0:41 'imin' (global mediump int)
+0:41 'imax' (global mediump int)
+0:42 Sequence
+0:42 move second child to first child (temp mediump 2-component vector of uint)
+0:42 'u12' (temp mediump 2-component vector of uint)
+0:42 clamp (global mediump 2-component vector of uint)
+0:42 'uv2x' (global mediump 2-component vector of uint)
+0:42 'uv2y' (global mediump 2-component vector of uint)
+0:42 'uv2c' (global mediump 2-component vector of uint)
+0:43 Sequence
+0:43 move second child to first child (temp mediump 4-component vector of uint)
+0:43 'uv10' (temp mediump 4-component vector of uint)
+0:43 clamp (global mediump 4-component vector of uint)
+0:43 'uv4y' (global mediump 4-component vector of uint)
+0:43 'umin' (global mediump uint)
+0:43 'umax' (global mediump uint)
+0:47 Sequence
+0:47 move second child to first child (temp mediump 3-component vector of float)
+0:47 'v11' (temp mediump 3-component vector of float)
+0:47 modf (global mediump 3-component vector of float)
+0:47 'x' (global mediump 3-component vector of float)
+0:47 'modfOut' (temp mediump 3-component vector of float)
+0:49 Sequence
+0:49 move second child to first child (temp mediump float)
+0:49 't' (temp mediump float)
+0:49 trunc (global mediump float)
+0:49 'f' (global mediump float)
+0:50 Sequence
+0:50 move second child to first child (temp mediump 2-component vector of float)
+0:50 'v12' (temp mediump 2-component vector of float)
+0:50 round (global mediump 2-component vector of float)
+0:50 'v2a' (global mediump 2-component vector of float)
+0:51 Sequence
+0:51 move second child to first child (temp mediump 2-component vector of float)
+0:51 'v13' (temp mediump 2-component vector of float)
+0:51 roundEven (global mediump 2-component vector of float)
+0:51 'v2a' (global mediump 2-component vector of float)
+0:52 Sequence
+0:52 move second child to first child (temp 2-component vector of bool)
+0:52 'b10' (temp 2-component vector of bool)
+0:52 isnan (global 2-component vector of bool)
+0:52 'v2a' (global mediump 2-component vector of float)
+0:53 Sequence
+0:53 move second child to first child (temp 4-component vector of bool)
+0:53 'b11' (temp 4-component vector of bool)
+0:53 isinf (global 4-component vector of bool)
+0:53 'v4' (global mediump 4-component vector of float)
+0:56 Sequence
+0:56 move second child to first child (temp mediump int)
+0:56 'i' (temp mediump int)
+0:56 floatBitsToInt (global mediump int)
+0:56 'f' (global mediump float)
+0:57 Sequence
+0:57 move second child to first child (temp mediump 4-component vector of uint)
+0:57 'uv11' (temp mediump 4-component vector of uint)
+0:57 floatBitsToUint (global mediump 4-component vector of uint)
+0:57 'v4' (global mediump 4-component vector of float)
+0:58 Sequence
+0:58 move second child to first child (temp mediump 4-component vector of float)
+0:58 'v14' (temp mediump 4-component vector of float)
+0:58 intBitsToFloat (global mediump 4-component vector of float)
+0:58 'iv4a' (global mediump 4-component vector of int)
+0:59 Sequence
+0:59 move second child to first child (temp mediump 2-component vector of float)
+0:59 'v15' (temp mediump 2-component vector of float)
+0:59 uintBitsToFloat (global mediump 2-component vector of float)
+0:59 'uv2c' (global mediump 2-component vector of uint)
+0:62 Sequence
+0:62 move second child to first child (temp highp uint)
+0:62 'u19' (temp mediump uint)
+0:62 packSnorm2x16 (global highp uint)
+0:62 'v2a' (global mediump 2-component vector of float)
+0:63 Sequence
+0:63 move second child to first child (temp highp 2-component vector of float)
+0:63 'v20' (temp mediump 2-component vector of float)
+0:63 unpackSnorm2x16 (global highp 2-component vector of float)
+0:63 'uy' (global mediump uint)
+0:64 Sequence
+0:64 move second child to first child (temp highp uint)
+0:64 'u15' (temp mediump uint)
+0:64 packUnorm2x16 (global highp uint)
+0:64 'v2a' (global mediump 2-component vector of float)
+0:65 Sequence
+0:65 move second child to first child (temp highp 2-component vector of float)
+0:65 'v16' (temp mediump 2-component vector of float)
+0:65 unpackUnorm2x16 (global highp 2-component vector of float)
+0:65 'uy' (global mediump uint)
+0:66 Sequence
+0:66 move second child to first child (temp highp uint)
+0:66 'u17' (temp mediump uint)
+0:66 packHalf2x16 (global highp uint)
+0:66 'v2b' (global mediump 2-component vector of float)
+0:67 Sequence
+0:67 move second child to first child (temp mediump 2-component vector of float)
+0:67 'v18' (temp mediump 2-component vector of float)
+0:67 unpackHalf2x16 (global mediump 2-component vector of float)
+0:67 'uy' (global mediump uint)
+0:70 Constant:
+0:70 0.000000
+0:? Linker Objects
+0:? 'imax' (global mediump int)
+0:? 'imin' (global mediump int)
+0:? 'umax' (global mediump uint)
+0:? 'umin' (global mediump uint)
+0:? 'x' (global mediump 3-component vector of float)
+0:? 'y' (global mediump 3-component vector of float)
+0:? 'bv' (global 3-component vector of bool)
+0:? 'uy' (global mediump uint)
+0:? 'uv2c' (global mediump 2-component vector of uint)
+0:? 'uv2y' (global mediump 2-component vector of uint)
+0:? 'uv2x' (global mediump 2-component vector of uint)
+0:? 'uv4y' (global mediump 4-component vector of uint)
+0:? 'iv3a' (global mediump 3-component vector of int)
+0:? 'iv3b' (global mediump 3-component vector of int)
+0:? 'iv4a' (global mediump 4-component vector of int)
+0:? 'iv4b' (global mediump 4-component vector of int)
+0:? 'f' (global mediump float)
+0:? 'v2a' (global mediump 2-component vector of float)
+0:? 'v2b' (global mediump 2-component vector of float)
+0:? 'v4' (global mediump 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:26 Function Definition: main( (global void)
+0:26 Function Parameters:
+0:29 Sequence
+0:29 Sequence
+0:29 move second child to first child (temp mediump 3-component vector of float)
+0:29 'v' (temp mediump 3-component vector of float)
+0:29 mix (global mediump 3-component vector of float)
+0:29 'x' (global mediump 3-component vector of float)
+0:29 'y' (global mediump 3-component vector of float)
+0:29 'bv' (global 3-component vector of bool)
+0:30 Sequence
+0:30 move second child to first child (temp mediump 4-component vector of int)
+0:30 'iv10' (temp mediump 4-component vector of int)
+0:30 Absolute value (global mediump 4-component vector of int)
+0:30 'iv4a' (global mediump 4-component vector of int)
+0:31 Sequence
+0:31 move second child to first child (temp mediump 4-component vector of int)
+0:31 'iv11' (temp mediump 4-component vector of int)
+0:31 Sign (global mediump 4-component vector of int)
+0:31 'iv4a' (global mediump 4-component vector of int)
+0:32 Sequence
+0:32 move second child to first child (temp mediump 4-component vector of int)
+0:32 'iv12' (temp mediump 4-component vector of int)
+0:32 min (global mediump 4-component vector of int)
+0:32 'iv4a' (global mediump 4-component vector of int)
+0:32 'iv4b' (global mediump 4-component vector of int)
+0:33 Sequence
+0:33 move second child to first child (temp mediump 4-component vector of int)
+0:33 'iv13' (temp mediump 4-component vector of int)
+0:33 min (global mediump 4-component vector of int)
+0:33 'iv4a' (global mediump 4-component vector of int)
+0:33 'imin' (global mediump int)
+0:34 Sequence
+0:34 move second child to first child (temp mediump 2-component vector of uint)
+0:34 'u' (temp mediump 2-component vector of uint)
+0:34 min (global mediump 2-component vector of uint)
+0:34 'uv2x' (global mediump 2-component vector of uint)
+0:34 'uv2y' (global mediump 2-component vector of uint)
+0:35 Sequence
+0:35 move second child to first child (temp mediump 4-component vector of uint)
+0:35 'uv' (temp mediump 4-component vector of uint)
+0:35 min (global mediump 4-component vector of uint)
+0:35 'uv4y' (global mediump 4-component vector of uint)
+0:35 'uy' (global mediump uint)
+0:36 Sequence
+0:36 move second child to first child (temp mediump 3-component vector of int)
+0:36 'iv14' (temp mediump 3-component vector of int)
+0:36 max (global mediump 3-component vector of int)
+0:36 'iv3a' (global mediump 3-component vector of int)
+0:36 'iv3b' (global mediump 3-component vector of int)
+0:37 Sequence
+0:37 move second child to first child (temp mediump 4-component vector of int)
+0:37 'iv15' (temp mediump 4-component vector of int)
+0:37 max (global mediump 4-component vector of int)
+0:37 'iv4a' (global mediump 4-component vector of int)
+0:37 'imax' (global mediump int)
+0:38 Sequence
+0:38 move second child to first child (temp mediump 2-component vector of uint)
+0:38 'u10' (temp mediump 2-component vector of uint)
+0:38 max (global mediump 2-component vector of uint)
+0:38 'uv2x' (global mediump 2-component vector of uint)
+0:38 'uv2y' (global mediump 2-component vector of uint)
+0:39 Sequence
+0:39 move second child to first child (temp mediump 2-component vector of uint)
+0:39 'u11' (temp mediump 2-component vector of uint)
+0:39 max (global mediump 2-component vector of uint)
+0:39 'uv2x' (global mediump 2-component vector of uint)
+0:39 'uy' (global mediump uint)
+0:40 Sequence
+0:40 move second child to first child (temp mediump 4-component vector of int)
+0:40 'iv16' (temp mediump 4-component vector of int)
+0:40 clamp (global mediump 4-component vector of int)
+0:40 'iv4a' (global mediump 4-component vector of int)
+0:40 'iv4a' (global mediump 4-component vector of int)
+0:40 'iv4b' (global mediump 4-component vector of int)
+0:41 Sequence
+0:41 move second child to first child (temp mediump 4-component vector of int)
+0:41 'iv17' (temp mediump 4-component vector of int)
+0:41 clamp (global mediump 4-component vector of int)
+0:41 'iv4a' (global mediump 4-component vector of int)
+0:41 'imin' (global mediump int)
+0:41 'imax' (global mediump int)
+0:42 Sequence
+0:42 move second child to first child (temp mediump 2-component vector of uint)
+0:42 'u12' (temp mediump 2-component vector of uint)
+0:42 clamp (global mediump 2-component vector of uint)
+0:42 'uv2x' (global mediump 2-component vector of uint)
+0:42 'uv2y' (global mediump 2-component vector of uint)
+0:42 'uv2c' (global mediump 2-component vector of uint)
+0:43 Sequence
+0:43 move second child to first child (temp mediump 4-component vector of uint)
+0:43 'uv10' (temp mediump 4-component vector of uint)
+0:43 clamp (global mediump 4-component vector of uint)
+0:43 'uv4y' (global mediump 4-component vector of uint)
+0:43 'umin' (global mediump uint)
+0:43 'umax' (global mediump uint)
+0:47 Sequence
+0:47 move second child to first child (temp mediump 3-component vector of float)
+0:47 'v11' (temp mediump 3-component vector of float)
+0:47 modf (global mediump 3-component vector of float)
+0:47 'x' (global mediump 3-component vector of float)
+0:47 'modfOut' (temp mediump 3-component vector of float)
+0:49 Sequence
+0:49 move second child to first child (temp mediump float)
+0:49 't' (temp mediump float)
+0:49 trunc (global mediump float)
+0:49 'f' (global mediump float)
+0:50 Sequence
+0:50 move second child to first child (temp mediump 2-component vector of float)
+0:50 'v12' (temp mediump 2-component vector of float)
+0:50 round (global mediump 2-component vector of float)
+0:50 'v2a' (global mediump 2-component vector of float)
+0:51 Sequence
+0:51 move second child to first child (temp mediump 2-component vector of float)
+0:51 'v13' (temp mediump 2-component vector of float)
+0:51 roundEven (global mediump 2-component vector of float)
+0:51 'v2a' (global mediump 2-component vector of float)
+0:52 Sequence
+0:52 move second child to first child (temp 2-component vector of bool)
+0:52 'b10' (temp 2-component vector of bool)
+0:52 isnan (global 2-component vector of bool)
+0:52 'v2a' (global mediump 2-component vector of float)
+0:53 Sequence
+0:53 move second child to first child (temp 4-component vector of bool)
+0:53 'b11' (temp 4-component vector of bool)
+0:53 isinf (global 4-component vector of bool)
+0:53 'v4' (global mediump 4-component vector of float)
+0:56 Sequence
+0:56 move second child to first child (temp mediump int)
+0:56 'i' (temp mediump int)
+0:56 floatBitsToInt (global mediump int)
+0:56 'f' (global mediump float)
+0:57 Sequence
+0:57 move second child to first child (temp mediump 4-component vector of uint)
+0:57 'uv11' (temp mediump 4-component vector of uint)
+0:57 floatBitsToUint (global mediump 4-component vector of uint)
+0:57 'v4' (global mediump 4-component vector of float)
+0:58 Sequence
+0:58 move second child to first child (temp mediump 4-component vector of float)
+0:58 'v14' (temp mediump 4-component vector of float)
+0:58 intBitsToFloat (global mediump 4-component vector of float)
+0:58 'iv4a' (global mediump 4-component vector of int)
+0:59 Sequence
+0:59 move second child to first child (temp mediump 2-component vector of float)
+0:59 'v15' (temp mediump 2-component vector of float)
+0:59 uintBitsToFloat (global mediump 2-component vector of float)
+0:59 'uv2c' (global mediump 2-component vector of uint)
+0:62 Sequence
+0:62 move second child to first child (temp highp uint)
+0:62 'u19' (temp mediump uint)
+0:62 packSnorm2x16 (global highp uint)
+0:62 'v2a' (global mediump 2-component vector of float)
+0:63 Sequence
+0:63 move second child to first child (temp highp 2-component vector of float)
+0:63 'v20' (temp mediump 2-component vector of float)
+0:63 unpackSnorm2x16 (global highp 2-component vector of float)
+0:63 'uy' (global mediump uint)
+0:64 Sequence
+0:64 move second child to first child (temp highp uint)
+0:64 'u15' (temp mediump uint)
+0:64 packUnorm2x16 (global highp uint)
+0:64 'v2a' (global mediump 2-component vector of float)
+0:65 Sequence
+0:65 move second child to first child (temp highp 2-component vector of float)
+0:65 'v16' (temp mediump 2-component vector of float)
+0:65 unpackUnorm2x16 (global highp 2-component vector of float)
+0:65 'uy' (global mediump uint)
+0:66 Sequence
+0:66 move second child to first child (temp highp uint)
+0:66 'u17' (temp mediump uint)
+0:66 packHalf2x16 (global highp uint)
+0:66 'v2b' (global mediump 2-component vector of float)
+0:67 Sequence
+0:67 move second child to first child (temp mediump 2-component vector of float)
+0:67 'v18' (temp mediump 2-component vector of float)
+0:67 unpackHalf2x16 (global mediump 2-component vector of float)
+0:67 'uy' (global mediump uint)
+0:70 Constant:
+0:70 0.000000
+0:? Linker Objects
+0:? 'imax' (global mediump int)
+0:? 'imin' (global mediump int)
+0:? 'umax' (global mediump uint)
+0:? 'umin' (global mediump uint)
+0:? 'x' (global mediump 3-component vector of float)
+0:? 'y' (global mediump 3-component vector of float)
+0:? 'bv' (global 3-component vector of bool)
+0:? 'uy' (global mediump uint)
+0:? 'uv2c' (global mediump 2-component vector of uint)
+0:? 'uv2y' (global mediump 2-component vector of uint)
+0:? 'uv2x' (global mediump 2-component vector of uint)
+0:? 'uv4y' (global mediump 4-component vector of uint)
+0:? 'iv3a' (global mediump 3-component vector of int)
+0:? 'iv3b' (global mediump 3-component vector of int)
+0:? 'iv4a' (global mediump 4-component vector of int)
+0:? 'iv4b' (global mediump 4-component vector of int)
+0:? 'f' (global mediump float)
+0:? 'v2a' (global mediump 2-component vector of float)
+0:? 'v2b' (global mediump 2-component vector of float)
+0:? 'v4' (global mediump 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/300block.frag.out b/chromium/third_party/glslang/src/Test/baseResults/300block.frag.out
new file mode 100644
index 00000000000..224bd111b86
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/300block.frag.out
@@ -0,0 +1,153 @@
+300block.frag
+ERROR: 0:10: '' : cannot nest a structure definition inside a structure or block
+ERROR: 0:21: '' : cannot nest a structure definition inside a structure or block
+ERROR: 0:20: 'sampler' : member of block cannot be or contain a sampler, image, or atomic_uint type
+ERROR: 0:24: 'fbs' : member of block cannot be or contain a sampler, image, or atomic_uint type
+ERROR: 0:45: 'variable indexing uniform block array' : not supported for this version or the enabled extensions
+ERROR: 0:46: 'fooBlock' : cannot be used (maybe an instance name is needed)
+ERROR: 0:46: 'fooBlock' : undeclared identifier
+ERROR: 0:47: 'constructor' : not enough data provided for construction
+ERROR: 0:51: 'unreferenced' : cannot be used (maybe an instance name is needed)
+ERROR: 0:51: 'unreferenced' : undeclared identifier
+ERROR: 0:52: '++' : l-value required "s" (can't modify a uniform)
+ERROR: 0:52: '++' : wrong operand type no operation '++' exists that takes an operand of type uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} (or there is no acceptable conversion)
+ERROR: 0:53: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}' and a right operand of type 'const int' (or there is no acceptable conversion)
+ERROR: 0:55: 'barBlockArray' : cannot be used (maybe an instance name is needed)
+ERROR: 0:55: 'barBlockArray' : undeclared identifier
+ERROR: 0:55: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'const int' and a right operand of type 'temp float' (or there is no acceptable conversion)
+ERROR: 0:58: 'fooBlock' : redefinition
+ERROR: 17 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:42 Function Definition: main( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 texture (global lowp 4-component vector of int)
+0:44 sampler: direct index for structure (global lowp isampler3D)
+0:44 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:44 Constant:
+0:44 2 (const int)
+0:44 Construct vec3 (temp lowp 3-component vector of float)
+0:44 Convert int to float (temp lowp float)
+0:44 ni: direct index for structure (layout(column_major shared ) uniform mediump int)
+0:44 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:44 Constant:
+0:44 1 (const int)
+0:44 Convert uint to float (temp lowp float)
+0:44 direct index (temp mediump uint)
+0:44 bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
+0:44 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
+0:44 Constant:
+0:44 0 (const uint)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Convert uint to float (temp lowp float)
+0:44 direct index (temp mediump uint)
+0:44 nbv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
+0:44 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:44 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 0 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:45 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:45 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:45 direct index (temp mediump uint)
+0:45 v: direct index for structure (global mediump 4-component vector of uint)
+0:45 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:45 Constant:
+0:45 1 (const int)
+0:45 Constant:
+0:45 0 (const int)
+0:46 'fooBlock' (temp float)
+0:47 Constant:
+0:47 0.000000
+0:50 Construct mat4 (temp 4X4 matrix of float)
+0:50 'barBlock' (temp mediump float)
+0:51 Construct mat4 (temp 4X4 matrix of float)
+0:51 'unreferenced' (temp float)
+0:52 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:53 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:54 Pre-Increment (temp mediump float)
+0:54 'barBlock' (temp mediump float)
+0:55 Constant:
+0:55 2 (const int)
+0:? Linker Objects
+0:? 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
+0:? 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:? 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f, layout(column_major shared ) uniform mediump uint u})
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:42 Function Definition: main( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 texture (global lowp 4-component vector of int)
+0:44 sampler: direct index for structure (global lowp isampler3D)
+0:44 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:44 Constant:
+0:44 2 (const int)
+0:44 Construct vec3 (temp lowp 3-component vector of float)
+0:44 Convert int to float (temp lowp float)
+0:44 ni: direct index for structure (layout(column_major shared ) uniform mediump int)
+0:44 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:44 Constant:
+0:44 1 (const int)
+0:44 Convert uint to float (temp lowp float)
+0:44 direct index (temp mediump uint)
+0:44 bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
+0:44 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
+0:44 Constant:
+0:44 0 (const uint)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Convert uint to float (temp lowp float)
+0:44 direct index (temp mediump uint)
+0:44 nbv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
+0:44 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:44 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 0 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:45 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:45 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:45 direct index (temp mediump uint)
+0:45 v: direct index for structure (global mediump 4-component vector of uint)
+0:45 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:45 Constant:
+0:45 1 (const int)
+0:45 Constant:
+0:45 0 (const int)
+0:46 'fooBlock' (temp float)
+0:47 Constant:
+0:47 0.000000
+0:50 Construct mat4 (temp 4X4 matrix of float)
+0:50 'barBlock' (temp mediump float)
+0:51 Construct mat4 (temp 4X4 matrix of float)
+0:51 'unreferenced' (temp float)
+0:52 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:53 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:54 Pre-Increment (temp mediump float)
+0:54 'barBlock' (temp mediump float)
+0:55 Constant:
+0:55 2 (const int)
+0:? Linker Objects
+0:? 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
+0:? 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:? 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f, layout(column_major shared ) uniform mediump uint u})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/300layout.frag.out b/chromium/third_party/glslang/src/Test/baseResults/300layout.frag.out
new file mode 100644
index 00000000000..62a0b367d74
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/300layout.frag.out
@@ -0,0 +1,69 @@
+300layout.frag
+ERROR: 0:4: 'location qualifier on input' : not supported in this stage: fragment
+ERROR: 0:4: 'location qualifier on input' : not supported for this version or the enabled extensions
+ERROR: 0:17: 'location' : too large for fragment output
+ERROR: 0:18: 'location' : too large for fragment output
+ERROR: 0:18: 'location' : overlapping use of location 41
+ERROR: 0:19: 'location' : too large for fragment output
+ERROR: 0:19: 'location' : overlapping use of location 40
+ERROR: 7 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 move second child to first child (temp mediump 4-component vector of float)
+0:12 'c' (layout(location=1 ) out mediump 4-component vector of float)
+0:12 'color' (layout(location=2 ) smooth in mediump 4-component vector of float)
+0:13 move second child to first child (temp mediump 4-component vector of float)
+0:13 'p' (layout(location=3 ) out mediump 4-component vector of float)
+0:13 'pos' (smooth in mediump 4-component vector of float)
+0:14 move second child to first child (temp mediump 4-component vector of float)
+0:14 direct index (layout(location=4 ) temp mediump 4-component vector of float)
+0:14 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float)
+0:14 Constant:
+0:14 1 (const int)
+0:14 'pos' (smooth in mediump 4-component vector of float)
+0:? Linker Objects
+0:? 'pos' (smooth in mediump 4-component vector of float)
+0:? 'color' (layout(location=2 ) smooth in mediump 4-component vector of float)
+0:? 'c' (layout(location=1 ) out mediump 4-component vector of float)
+0:? 'p' (layout(location=3 ) out mediump 4-component vector of float)
+0:? 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float)
+0:? 'ca' (layout(location=40 ) out 4-element array of mediump float)
+0:? 'cb' (layout(location=41 ) out 2-element array of mediump float)
+0:? 'cc' (layout(location=39 ) out 6-element array of mediump float)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 move second child to first child (temp mediump 4-component vector of float)
+0:12 'c' (layout(location=1 ) out mediump 4-component vector of float)
+0:12 'color' (layout(location=2 ) smooth in mediump 4-component vector of float)
+0:13 move second child to first child (temp mediump 4-component vector of float)
+0:13 'p' (layout(location=3 ) out mediump 4-component vector of float)
+0:13 'pos' (smooth in mediump 4-component vector of float)
+0:14 move second child to first child (temp mediump 4-component vector of float)
+0:14 direct index (layout(location=4 ) temp mediump 4-component vector of float)
+0:14 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float)
+0:14 Constant:
+0:14 1 (const int)
+0:14 'pos' (smooth in mediump 4-component vector of float)
+0:? Linker Objects
+0:? 'pos' (smooth in mediump 4-component vector of float)
+0:? 'color' (layout(location=2 ) smooth in mediump 4-component vector of float)
+0:? 'c' (layout(location=1 ) out mediump 4-component vector of float)
+0:? 'p' (layout(location=3 ) out mediump 4-component vector of float)
+0:? 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float)
+0:? 'ca' (layout(location=40 ) out 4-element array of mediump float)
+0:? 'cb' (layout(location=41 ) out 2-element array of mediump float)
+0:? 'cc' (layout(location=39 ) out 6-element array of mediump float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/300layout.vert.out b/chromium/third_party/glslang/src/Test/baseResults/300layout.vert.out
new file mode 100644
index 00000000000..f69a989b1ff
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/300layout.vert.out
@@ -0,0 +1,147 @@
+300layout.vert
+ERROR: 0:7: 'vertex input arrays' : not supported with this profile: es
+ERROR: 0:8: 'in' : cannot be a structure or array
+ERROR: 0:8: 'vertex input arrays' : not supported with this profile: es
+ERROR: 0:8: 'location' : overlapping use of location 10
+ERROR: 0:12: 'layout' : cannot specify matrix layout on a variable declaration
+ERROR: 0:12: 'layout' : cannot specify packing on a variable declaration
+ERROR: 0:19: 'badf' : member of uniform or buffer block cannot have an auxiliary or interpolation qualifier
+ERROR: 0:20: 'badg' : member storage qualifier cannot contradict block storage qualifier
+ERROR: 0:21: 'bad1' : member of block cannot have a packing layout qualifier
+ERROR: 0:22: 'bad2' : member of block cannot have a packing layout qualifier
+ERROR: 0:23: 'bad3' : member of block cannot have a packing layout qualifier
+ERROR: 0:31: 'T3' : nameless block contains a member that already has a name at global scope
+ERROR: 0:38: 'vertex output block' : not supported for this version or the enabled extensions
+ERROR: 0:42: 'location qualifier on output' : not supported in this stage: vertex
+ERROR: 0:42: 'location qualifier on output' : not supported for this version or the enabled extensions
+ERROR: 0:50: 'shared' : not supported for this version or the enabled extensions
+ERROR: 0:50: 'shared' : not supported in this stage: vertex
+ERROR: 0:54: 'layout' : cannot specify packing on a variable declaration
+ERROR: 0:57: 'location' : overlapping use of location 40
+ERROR: 19 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:44 Function Definition: main( (global void)
+0:44 Function Parameters:
+0:46 Sequence
+0:46 move second child to first child (temp highp 4-component vector of float)
+0:46 'pos' (smooth out highp 4-component vector of float)
+0:46 vector-times-matrix (temp highp 4-component vector of float)
+0:46 'p' (layout(location=3 ) in highp 4-component vector of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 M1: direct index for structure (layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float)
+0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:46 Constant:
+0:46 0 (const int)
+0:46 M2: direct index for structure (layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float)
+0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:46 Constant:
+0:46 1 (const int)
+0:46 M4: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)
+0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b})
+0:46 Constant:
+0:46 1 (const uint)
+0:46 M3: direct index for structure (layout(column_major shared ) uniform highp 4X4 matrix of float)
+0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b})
+0:46 Constant:
+0:46 0 (const uint)
+0:46 t2m: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)
+0:46 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m})
+0:46 Constant:
+0:46 1 (const uint)
+0:47 move second child to first child (temp highp 3-component vector of float)
+0:47 'color' (smooth out highp 3-component vector of float)
+0:47 vector-times-matrix (temp highp 3-component vector of float)
+0:47 'c' (layout(location=7 ) in highp 3-component vector of float)
+0:47 N1: direct index for structure (layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float)
+0:47 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:47 Constant:
+0:47 2 (const int)
+0:? Linker Objects
+0:? 'c' (layout(location=7 ) in highp 3-component vector of float)
+0:? 'p' (layout(location=3 ) in highp 4-component vector of float)
+0:? 'q' (layout(location=9 ) in 4-element array of highp 4-component vector of float)
+0:? 'r' (layout(location=10 ) in 4-element array of structure{global highp 4-component vector of float v})
+0:? 'pos' (smooth out highp 4-component vector of float)
+0:? 'color' (smooth out highp 3-component vector of float)
+0:? 'badm4' (layout(column_major shared ) uniform highp 4X4 matrix of float)
+0:? 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:? 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m})
+0:? 'anon@2' (out block{out highp float f})
+0:? 'badoutA' (layout(location=10 ) smooth out highp 4-component vector of float)
+0:? 'compute_only' (shared highp 4-component vector of float)
+0:? 'aoeuntaoeu' (layout(packed ) uniform highp float)
+0:? 'cd' (layout(location=40 ) in highp float)
+0:? 'ce' (layout(location=37 ) in highp 4X3 matrix of float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:44 Function Definition: main( (global void)
+0:44 Function Parameters:
+0:46 Sequence
+0:46 move second child to first child (temp highp 4-component vector of float)
+0:46 'pos' (smooth out highp 4-component vector of float)
+0:46 vector-times-matrix (temp highp 4-component vector of float)
+0:46 'p' (layout(location=3 ) in highp 4-component vector of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 M1: direct index for structure (layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float)
+0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:46 Constant:
+0:46 0 (const int)
+0:46 M2: direct index for structure (layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float)
+0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:46 Constant:
+0:46 1 (const int)
+0:46 M4: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)
+0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b})
+0:46 Constant:
+0:46 1 (const uint)
+0:46 M3: direct index for structure (layout(column_major shared ) uniform highp 4X4 matrix of float)
+0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b})
+0:46 Constant:
+0:46 0 (const uint)
+0:46 t2m: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)
+0:46 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m})
+0:46 Constant:
+0:46 1 (const uint)
+0:47 move second child to first child (temp highp 3-component vector of float)
+0:47 'color' (smooth out highp 3-component vector of float)
+0:47 vector-times-matrix (temp highp 3-component vector of float)
+0:47 'c' (layout(location=7 ) in highp 3-component vector of float)
+0:47 N1: direct index for structure (layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float)
+0:47 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:47 Constant:
+0:47 2 (const int)
+0:? Linker Objects
+0:? 'c' (layout(location=7 ) in highp 3-component vector of float)
+0:? 'p' (layout(location=3 ) in highp 4-component vector of float)
+0:? 'q' (layout(location=9 ) in 4-element array of highp 4-component vector of float)
+0:? 'r' (layout(location=10 ) in 4-element array of structure{global highp 4-component vector of float v})
+0:? 'pos' (smooth out highp 4-component vector of float)
+0:? 'color' (smooth out highp 3-component vector of float)
+0:? 'badm4' (layout(column_major shared ) uniform highp 4X4 matrix of float)
+0:? 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:? 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m})
+0:? 'anon@2' (out block{out highp float f})
+0:? 'badoutA' (layout(location=10 ) smooth out highp 4-component vector of float)
+0:? 'compute_only' (shared highp 4-component vector of float)
+0:? 'aoeuntaoeu' (layout(packed ) uniform highp float)
+0:? 'cd' (layout(location=40 ) in highp float)
+0:? 'ce' (layout(location=37 ) in highp 4X3 matrix of float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/300link.frag.out b/chromium/third_party/glslang/src/Test/baseResults/300link.frag.out
new file mode 100644
index 00000000000..0713d3df45c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/300link.frag.out
@@ -0,0 +1,22 @@
+300link.frag
+Shader version: 300
+0:? Sequence
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:? Linker Objects
+0:? 'color1' (out highp 4-component vector of float)
+0:? 'color2' (out highp 4-component vector of float)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers
+
+Shader version: 300
+0:? Sequence
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:? Linker Objects
+0:? 'color1' (out highp 4-component vector of float)
+0:? 'color2' (out highp 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/300link2.frag.out b/chromium/third_party/glslang/src/Test/baseResults/300link2.frag.out
new file mode 100644
index 00000000000..aaf71dc4c15
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/300link2.frag.out
@@ -0,0 +1,25 @@
+300link2.frag
+Shader version: 300
+0:? Sequence
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:? Linker Objects
+0:? 'pos' (smooth in mediump 4-component vector of float)
+0:? 'c' (layout(location=1 ) out mediump 4-component vector of float)
+0:? 'p' (layout(location=5 ) out mediump 4-component vector of float)
+0:? 'q' (layout(location=9 ) out 2-element array of mediump 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+0:? Sequence
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:? Linker Objects
+0:? 'pos' (smooth in mediump 4-component vector of float)
+0:? 'c' (layout(location=1 ) out mediump 4-component vector of float)
+0:? 'p' (layout(location=5 ) out mediump 4-component vector of float)
+0:? 'q' (layout(location=9 ) out 2-element array of mediump 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/300link3.frag.out b/chromium/third_party/glslang/src/Test/baseResults/300link3.frag.out
new file mode 100644
index 00000000000..3224695121e
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/300link3.frag.out
@@ -0,0 +1,19 @@
+300link3.frag
+Shader version: 300
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:? Linker Objects
+0:? 'color1' (out highp 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:? Linker Objects
+0:? 'color1' (out highp 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/300operations.frag.out b/chromium/third_party/glslang/src/Test/baseResults/300operations.frag.out
new file mode 100644
index 00000000000..ff7663e93ef
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/300operations.frag.out
@@ -0,0 +1,420 @@
+300operations.frag
+ERROR: 0:11: 'float' : type requires declaration of default precision qualifier
+ERROR: 0:30: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}' and a right operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}' (or there is no acceptable conversion)
+ERROR: 0:31: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'global structure{global mediump int i}' and a right operand of type 'global structure{global mediump int i}' (or there is no acceptable conversion)
+ERROR: 0:32: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
+ERROR: 0:33: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
+ERROR: 0:34: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump int' (or there is no acceptable conversion)
+ERROR: 0:35: 'assign' : cannot convert from 'temp mediump 4-component vector of int' to 'temp mediump 3-component vector of int'
+ERROR: 0:36: '/' : wrong operand types: no operation '/' exists that takes a left-hand operand of type 'temp mediump 4-component vector of int' and a right operand of type 'temp mediump 4-component vector of uint' (or there is no acceptable conversion)
+ERROR: 0:37: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump 3-component vector of float' (or there is no acceptable conversion)
+ERROR: 0:38: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump 3-component vector of int' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion)
+ERROR: 0:39: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'global 5-element array of mediump float' and a right operand of type 'global 5-element array of mediump float' (or there is no acceptable conversion)
+ERROR: 0:40: '/' : wrong operand types: no operation '/' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp bool' (or there is no acceptable conversion)
+ERROR: 0:42: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'temp mediump float' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
+ERROR: 0:43: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
+ERROR: 0:44: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'temp mediump float' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion)
+ERROR: 0:45: '++' : l-value required "instanceName" (can't modify a uniform)
+ERROR: 0:45: '++' : wrong operand type no operation '++' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f} (or there is no acceptable conversion)
+ERROR: 0:46: '++' : wrong operand type no operation '++' exists that takes an operand of type global structure{global mediump int i} (or there is no acceptable conversion)
+ERROR: 0:47: '--' : wrong operand type no operation '--' exists that takes an operand of type global 5-element array of mediump float (or there is no acceptable conversion)
+ERROR: 0:48: '++' : wrong operand type no operation '++' exists that takes an operand of type temp 3-component vector of bool (or there is no acceptable conversion)
+ERROR: 0:50: '<' : wrong operand types: no operation '<' exists that takes a left-hand operand of type 'temp mediump 3-component vector of int' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion)
+ERROR: 0:51: '>' : wrong operand types: no operation '>' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 2X2 matrix of float' (or there is no acceptable conversion)
+ERROR: 0:52: '!=' : wrong operand types: no operation '!=' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 4X4 matrix of float' (or there is no acceptable conversion)
+ERROR: 0:53: '>=' : wrong operand types: no operation '>=' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion)
+ERROR: 0:54: '<=' : wrong operand types: no operation '<=' exists that takes a left-hand operand of type 'global 5-element array of mediump float' and a right operand of type 'global 5-element array of mediump float' (or there is no acceptable conversion)
+ERROR: 0:55: '>' : wrong operand types: no operation '>' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp bool' (or there is no acceptable conversion)
+ERROR: 0:57: '&&' : wrong operand types: no operation '&&' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp 3-component vector of bool' (or there is no acceptable conversion)
+ERROR: 0:58: '^^' : wrong operand types: no operation '^^' exists that takes a left-hand operand of type 'temp 3-component vector of bool' and a right operand of type 'temp 3-component vector of bool' (or there is no acceptable conversion)
+ERROR: 0:59: '||' : wrong operand types: no operation '||' exists that takes a left-hand operand of type 'temp 3-component vector of bool' and a right operand of type 'temp bool' (or there is no acceptable conversion)
+ERROR: 0:60: '&&' : wrong operand types: no operation '&&' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump int' (or there is no acceptable conversion)
+ERROR: 0:61: '||' : wrong operand types: no operation '||' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion)
+ERROR: 0:62: '^^' : wrong operand types: no operation '^^' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 2X2 matrix of float' (or there is no acceptable conversion)
+ERROR: 0:64: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump uint (or there is no acceptable conversion)
+ERROR: 0:65: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump int (or there is no acceptable conversion)
+ERROR: 0:66: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump 2X2 matrix of float (or there is no acceptable conversion)
+ERROR: 0:67: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump 3-component vector of float (or there is no acceptable conversion)
+ERROR: 0:68: '!' : wrong operand type no operation '!' exists that takes an operand of type global 5-element array of mediump float (or there is no acceptable conversion)
+ERROR: 0:70: '~' : wrong operand type no operation '~' exists that takes an operand of type temp mediump float (or there is no acceptable conversion)
+ERROR: 0:71: '~' : wrong operand type no operation '~' exists that takes an operand of type temp mediump 4X4 matrix of float (or there is no acceptable conversion)
+ERROR: 0:72: '~' : wrong operand type no operation '~' exists that takes an operand of type temp mediump 3-component vector of float (or there is no acceptable conversion)
+ERROR: 0:73: '~' : wrong operand type no operation '~' exists that takes an operand of type global 5-element array of mediump float (or there is no acceptable conversion)
+ERROR: 0:74: '~' : wrong operand type no operation '~' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f} (or there is no acceptable conversion)
+ERROR: 0:76: '<<' : wrong operand types: no operation '<<' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump 3-component vector of int' (or there is no acceptable conversion)
+ERROR: 0:77: '<<' : wrong operand types: no operation '<<' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion)
+ERROR: 0:78: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
+ERROR: 0:79: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump float' and a right operand of type 'temp mediump int' (or there is no acceptable conversion)
+ERROR: 0:80: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump 4X4 matrix of float' and a right operand of type 'temp mediump int' (or there is no acceptable conversion)
+ERROR: 0:81: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'global 5-element array of mediump float' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion)
+ERROR: 0:82: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump 3-component vector of int' and a right operand of type 'temp mediump 4-component vector of int' (or there is no acceptable conversion)
+ERROR: 0:84: '&' : wrong operand types: no operation '&' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion)
+ERROR: 0:85: 'assign' : cannot convert from 'temp mediump 3-component vector of uint' to 'temp mediump uint'
+ERROR: 0:86: '|' : wrong operand types: no operation '|' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion)
+ERROR: 0:87: '&' : wrong operand types: no operation '&' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
+ERROR: 0:88: '|' : wrong operand types: no operation '|' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 2X2 matrix of float' (or there is no acceptable conversion)
+ERROR: 0:89: '^' : wrong operand types: no operation '^' exists that takes a left-hand operand of type 'global structure{global mediump int i}' and a right operand of type 'global structure{global mediump int i}' (or there is no acceptable conversion)
+ERROR: 0:90: 'assign' : l-value required
+ERROR: 56 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:? Sequence
+0:30 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:31 's' (global structure{global mediump int i})
+0:32 'i' (temp mediump int)
+0:33 'u' (temp mediump uint)
+0:34 'u' (temp mediump uint)
+0:35 'iv3' (temp mediump 3-component vector of int)
+0:36 'iv4' (temp mediump 4-component vector of int)
+0:37 'i' (temp mediump int)
+0:38 'iv3' (temp mediump 3-component vector of int)
+0:39 'a' (global 5-element array of mediump float)
+0:40 'b' (temp bool)
+0:42 'f' (temp mediump float)
+0:43 'i' (temp mediump int)
+0:44 'f' (temp mediump float)
+0:45 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:46 's' (global structure{global mediump int i})
+0:47 'a' (global 5-element array of mediump float)
+0:48 'b3' (temp 3-component vector of bool)
+0:50 Constant:
+0:50 false (const bool)
+0:51 Constant:
+0:51 false (const bool)
+0:52 Constant:
+0:52 false (const bool)
+0:53 Constant:
+0:53 false (const bool)
+0:54 Constant:
+0:54 false (const bool)
+0:55 Constant:
+0:55 false (const bool)
+0:57 Constant:
+0:57 false (const bool)
+0:58 Constant:
+0:58 false (const bool)
+0:59 Constant:
+0:59 false (const bool)
+0:60 Constant:
+0:60 false (const bool)
+0:61 Constant:
+0:61 false (const bool)
+0:62 Constant:
+0:62 false (const bool)
+0:64 'u' (temp mediump uint)
+0:65 'i' (temp mediump int)
+0:66 'm2' (temp mediump 2X2 matrix of float)
+0:67 'v3' (temp mediump 3-component vector of float)
+0:68 'a' (global 5-element array of mediump float)
+0:70 'f' (temp mediump float)
+0:71 'm4' (temp mediump 4X4 matrix of float)
+0:72 'v3' (temp mediump 3-component vector of float)
+0:73 'a' (global 5-element array of mediump float)
+0:74 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:76 'i' (temp mediump int)
+0:77 'u' (temp mediump uint)
+0:78 'i' (temp mediump int)
+0:79 'f' (temp mediump float)
+0:80 'm4' (temp mediump 4X4 matrix of float)
+0:81 'a' (global 5-element array of mediump float)
+0:82 'iv3' (temp mediump 3-component vector of int)
+0:84 'i' (temp mediump int)
+0:85 'u' (temp mediump uint)
+0:86 'i' (temp mediump int)
+0:87 'u' (temp mediump uint)
+0:88 'm2' (temp mediump 2X2 matrix of float)
+0:89 's' (global structure{global mediump int i})
+0:90 move second child to first child (temp mediump float)
+0:90 move second child to first child (temp mediump float)
+0:90 'f' (temp mediump float)
+0:90 'f' (temp mediump float)
+0:90 'f' (temp mediump float)
+0:93 vector-scale (temp mediump 4-component vector of float)
+0:93 'f' (temp mediump float)
+0:93 'v4' (temp mediump 4-component vector of float)
+0:94 add (temp mediump uint)
+0:94 'u' (temp mediump uint)
+0:94 'u' (temp mediump uint)
+0:95 divide (temp mediump 4-component vector of uint)
+0:95 'uv4' (temp mediump 4-component vector of uint)
+0:95 'u' (temp mediump uint)
+0:96 subtract second child into first child (temp mediump 3-component vector of int)
+0:96 'iv3' (temp mediump 3-component vector of int)
+0:96 'iv3' (temp mediump 3-component vector of int)
+0:98 mod second child into first child (temp mediump int)
+0:98 'i' (temp mediump int)
+0:98 Constant:
+0:98 3 (const int)
+0:99 mod (temp mediump 3-component vector of uint)
+0:99 'uv3' (temp mediump 3-component vector of uint)
+0:99 Constant:
+0:99 4 (const uint)
+0:100 Pre-Decrement (temp mediump 2X2 matrix of float)
+0:100 'm2' (temp mediump 2X2 matrix of float)
+0:101 Post-Increment (temp mediump 4-component vector of int)
+0:101 'iv4' (temp mediump 4-component vector of int)
+0:103 Compare Not Equal (temp bool)
+0:103 'm4' (temp mediump 4X4 matrix of float)
+0:103 'm4' (temp mediump 4X4 matrix of float)
+0:104 Compare Equal (temp bool)
+0:104 'm2' (temp mediump 2X2 matrix of float)
+0:104 'm2' (temp mediump 2X2 matrix of float)
+0:105 Compare Less Than or Equal (temp bool)
+0:105 'i' (temp mediump int)
+0:105 'i' (temp mediump int)
+0:106 Compare Equal (temp bool)
+0:106 'a' (global 5-element array of mediump float)
+0:106 'a' (global 5-element array of mediump float)
+0:107 Compare Not Equal (temp bool)
+0:107 's' (global structure{global mediump int i})
+0:107 's' (global structure{global mediump int i})
+0:109 logical-and (temp bool)
+0:109 'b' (temp bool)
+0:109 'b' (temp bool)
+0:110 logical-or (temp bool)
+0:110 'b' (temp bool)
+0:110 'b' (temp bool)
+0:111 logical-xor (temp bool)
+0:111 'b' (temp bool)
+0:111 'b' (temp bool)
+0:113 Comma (temp mediump 3-component vector of uint)
+0:113 Negate conditional (temp bool)
+0:113 'b' (temp bool)
+0:113 'uv3' (temp mediump 3-component vector of uint)
+0:115 Bitwise not (temp mediump int)
+0:115 'i' (temp mediump int)
+0:116 Bitwise not (temp mediump uint)
+0:116 'u' (temp mediump uint)
+0:117 Bitwise not (temp mediump 3-component vector of uint)
+0:117 'uv3' (temp mediump 3-component vector of uint)
+0:118 Bitwise not (temp mediump 3-component vector of int)
+0:118 'iv3' (temp mediump 3-component vector of int)
+0:120 left shift second child into first child (temp mediump 3-component vector of uint)
+0:120 'uv3' (temp mediump 3-component vector of uint)
+0:120 'i' (temp mediump int)
+0:121 right-shift (temp mediump int)
+0:121 'i' (temp mediump int)
+0:121 'i' (temp mediump int)
+0:122 left-shift (temp mediump uint)
+0:122 'u' (temp mediump uint)
+0:122 'u' (temp mediump uint)
+0:123 right-shift (temp mediump 3-component vector of int)
+0:123 'iv3' (temp mediump 3-component vector of int)
+0:123 'iv3' (temp mediump 3-component vector of int)
+0:125 bitwise and (temp mediump int)
+0:125 'i' (temp mediump int)
+0:125 'i' (temp mediump int)
+0:126 inclusive-or (temp mediump uint)
+0:126 'u' (temp mediump uint)
+0:126 'u' (temp mediump uint)
+0:127 exclusive-or (temp mediump 3-component vector of int)
+0:127 'iv3' (temp mediump 3-component vector of int)
+0:127 'iv3' (temp mediump 3-component vector of int)
+0:128 bitwise and (temp mediump 3-component vector of uint)
+0:128 'u' (temp mediump uint)
+0:128 'uv3' (temp mediump 3-component vector of uint)
+0:129 inclusive-or (temp mediump 3-component vector of uint)
+0:129 'uv3' (temp mediump 3-component vector of uint)
+0:129 'u' (temp mediump uint)
+0:130 and second child into first child (temp mediump 3-component vector of uint)
+0:130 'uv3' (temp mediump 3-component vector of uint)
+0:130 'u' (temp mediump uint)
+0:132 direct index (temp mediump int)
+0:132 'arr' (temp 2-element array of mediump int)
+0:132 Constant:
+0:132 1 (const int)
+0:134 direct index (temp mediump int)
+0:134 'arr2' (temp 3-element array of mediump int)
+0:134 Constant:
+0:134 2 (const int)
+0:? Linker Objects
+0:? 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:? 's' (global structure{global mediump int i})
+0:? 'a' (global 5-element array of mediump float)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:? Sequence
+0:30 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:31 's' (global structure{global mediump int i})
+0:32 'i' (temp mediump int)
+0:33 'u' (temp mediump uint)
+0:34 'u' (temp mediump uint)
+0:35 'iv3' (temp mediump 3-component vector of int)
+0:36 'iv4' (temp mediump 4-component vector of int)
+0:37 'i' (temp mediump int)
+0:38 'iv3' (temp mediump 3-component vector of int)
+0:39 'a' (global 5-element array of mediump float)
+0:40 'b' (temp bool)
+0:42 'f' (temp mediump float)
+0:43 'i' (temp mediump int)
+0:44 'f' (temp mediump float)
+0:45 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:46 's' (global structure{global mediump int i})
+0:47 'a' (global 5-element array of mediump float)
+0:48 'b3' (temp 3-component vector of bool)
+0:50 Constant:
+0:50 false (const bool)
+0:51 Constant:
+0:51 false (const bool)
+0:52 Constant:
+0:52 false (const bool)
+0:53 Constant:
+0:53 false (const bool)
+0:54 Constant:
+0:54 false (const bool)
+0:55 Constant:
+0:55 false (const bool)
+0:57 Constant:
+0:57 false (const bool)
+0:58 Constant:
+0:58 false (const bool)
+0:59 Constant:
+0:59 false (const bool)
+0:60 Constant:
+0:60 false (const bool)
+0:61 Constant:
+0:61 false (const bool)
+0:62 Constant:
+0:62 false (const bool)
+0:64 'u' (temp mediump uint)
+0:65 'i' (temp mediump int)
+0:66 'm2' (temp mediump 2X2 matrix of float)
+0:67 'v3' (temp mediump 3-component vector of float)
+0:68 'a' (global 5-element array of mediump float)
+0:70 'f' (temp mediump float)
+0:71 'm4' (temp mediump 4X4 matrix of float)
+0:72 'v3' (temp mediump 3-component vector of float)
+0:73 'a' (global 5-element array of mediump float)
+0:74 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:76 'i' (temp mediump int)
+0:77 'u' (temp mediump uint)
+0:78 'i' (temp mediump int)
+0:79 'f' (temp mediump float)
+0:80 'm4' (temp mediump 4X4 matrix of float)
+0:81 'a' (global 5-element array of mediump float)
+0:82 'iv3' (temp mediump 3-component vector of int)
+0:84 'i' (temp mediump int)
+0:85 'u' (temp mediump uint)
+0:86 'i' (temp mediump int)
+0:87 'u' (temp mediump uint)
+0:88 'm2' (temp mediump 2X2 matrix of float)
+0:89 's' (global structure{global mediump int i})
+0:90 move second child to first child (temp mediump float)
+0:90 move second child to first child (temp mediump float)
+0:90 'f' (temp mediump float)
+0:90 'f' (temp mediump float)
+0:90 'f' (temp mediump float)
+0:93 vector-scale (temp mediump 4-component vector of float)
+0:93 'f' (temp mediump float)
+0:93 'v4' (temp mediump 4-component vector of float)
+0:94 add (temp mediump uint)
+0:94 'u' (temp mediump uint)
+0:94 'u' (temp mediump uint)
+0:95 divide (temp mediump 4-component vector of uint)
+0:95 'uv4' (temp mediump 4-component vector of uint)
+0:95 'u' (temp mediump uint)
+0:96 subtract second child into first child (temp mediump 3-component vector of int)
+0:96 'iv3' (temp mediump 3-component vector of int)
+0:96 'iv3' (temp mediump 3-component vector of int)
+0:98 mod second child into first child (temp mediump int)
+0:98 'i' (temp mediump int)
+0:98 Constant:
+0:98 3 (const int)
+0:99 mod (temp mediump 3-component vector of uint)
+0:99 'uv3' (temp mediump 3-component vector of uint)
+0:99 Constant:
+0:99 4 (const uint)
+0:100 Pre-Decrement (temp mediump 2X2 matrix of float)
+0:100 'm2' (temp mediump 2X2 matrix of float)
+0:101 Post-Increment (temp mediump 4-component vector of int)
+0:101 'iv4' (temp mediump 4-component vector of int)
+0:103 Compare Not Equal (temp bool)
+0:103 'm4' (temp mediump 4X4 matrix of float)
+0:103 'm4' (temp mediump 4X4 matrix of float)
+0:104 Compare Equal (temp bool)
+0:104 'm2' (temp mediump 2X2 matrix of float)
+0:104 'm2' (temp mediump 2X2 matrix of float)
+0:105 Compare Less Than or Equal (temp bool)
+0:105 'i' (temp mediump int)
+0:105 'i' (temp mediump int)
+0:106 Compare Equal (temp bool)
+0:106 'a' (global 5-element array of mediump float)
+0:106 'a' (global 5-element array of mediump float)
+0:107 Compare Not Equal (temp bool)
+0:107 's' (global structure{global mediump int i})
+0:107 's' (global structure{global mediump int i})
+0:109 logical-and (temp bool)
+0:109 'b' (temp bool)
+0:109 'b' (temp bool)
+0:110 logical-or (temp bool)
+0:110 'b' (temp bool)
+0:110 'b' (temp bool)
+0:111 logical-xor (temp bool)
+0:111 'b' (temp bool)
+0:111 'b' (temp bool)
+0:113 Comma (temp mediump 3-component vector of uint)
+0:113 Negate conditional (temp bool)
+0:113 'b' (temp bool)
+0:113 'uv3' (temp mediump 3-component vector of uint)
+0:115 Bitwise not (temp mediump int)
+0:115 'i' (temp mediump int)
+0:116 Bitwise not (temp mediump uint)
+0:116 'u' (temp mediump uint)
+0:117 Bitwise not (temp mediump 3-component vector of uint)
+0:117 'uv3' (temp mediump 3-component vector of uint)
+0:118 Bitwise not (temp mediump 3-component vector of int)
+0:118 'iv3' (temp mediump 3-component vector of int)
+0:120 left shift second child into first child (temp mediump 3-component vector of uint)
+0:120 'uv3' (temp mediump 3-component vector of uint)
+0:120 'i' (temp mediump int)
+0:121 right-shift (temp mediump int)
+0:121 'i' (temp mediump int)
+0:121 'i' (temp mediump int)
+0:122 left-shift (temp mediump uint)
+0:122 'u' (temp mediump uint)
+0:122 'u' (temp mediump uint)
+0:123 right-shift (temp mediump 3-component vector of int)
+0:123 'iv3' (temp mediump 3-component vector of int)
+0:123 'iv3' (temp mediump 3-component vector of int)
+0:125 bitwise and (temp mediump int)
+0:125 'i' (temp mediump int)
+0:125 'i' (temp mediump int)
+0:126 inclusive-or (temp mediump uint)
+0:126 'u' (temp mediump uint)
+0:126 'u' (temp mediump uint)
+0:127 exclusive-or (temp mediump 3-component vector of int)
+0:127 'iv3' (temp mediump 3-component vector of int)
+0:127 'iv3' (temp mediump 3-component vector of int)
+0:128 bitwise and (temp mediump 3-component vector of uint)
+0:128 'u' (temp mediump uint)
+0:128 'uv3' (temp mediump 3-component vector of uint)
+0:129 inclusive-or (temp mediump 3-component vector of uint)
+0:129 'uv3' (temp mediump 3-component vector of uint)
+0:129 'u' (temp mediump uint)
+0:130 and second child into first child (temp mediump 3-component vector of uint)
+0:130 'uv3' (temp mediump 3-component vector of uint)
+0:130 'u' (temp mediump uint)
+0:132 direct index (temp mediump int)
+0:132 'arr' (temp 2-element array of mediump int)
+0:132 Constant:
+0:132 1 (const int)
+0:134 direct index (temp mediump int)
+0:134 'arr2' (temp 3-element array of mediump int)
+0:134 Constant:
+0:134 2 (const int)
+0:? Linker Objects
+0:? 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:? 's' (global structure{global mediump int i})
+0:? 'a' (global 5-element array of mediump float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/300scope.vert.out b/chromium/third_party/glslang/src/Test/baseResults/300scope.vert.out
new file mode 100644
index 00000000000..2a9a945d01d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/300scope.vert.out
@@ -0,0 +1,239 @@
+300scope.vert
+ERROR: 0:5: 'a' : redefinition
+ERROR: 0:17: 'b' : function name is redeclaration of existing name
+ERROR: 0:20: 'c' : redefinition
+ERROR: 0:22: 'f' : redefinition
+ERROR: 0:23: 'tan' : redefinition
+ERROR: 0:24: 'redefinition of built-in function' : not supported with this profile: es
+ERROR: 0:24: 'highp' : overloaded functions must have the same parameter precision qualifiers for argument 1
+ERROR: 0:24: 'sin' : function name is redeclaration of existing name
+ERROR: 0:25: 'redefinition of built-in function' : not supported with this profile: es
+ERROR: 0:25: 'highp' : overloaded functions must have the same parameter precision qualifiers for argument 1
+ERROR: 0:25: 'cos' : function name is redeclaration of existing name
+ERROR: 0:25: 'cos' : function already has a body
+ERROR: 0:27: 'return' : void function cannot return a value
+ERROR: 0:29: 'radians' : function name is redeclaration of existing name
+ERROR: 0:29: 'radians' : can't find function
+ERROR: 0:31: 'return' : void function cannot return a value
+ERROR: 0:38: 'local function declaration' : not supported with this profile: es
+ERROR: 0:43: 'sin' : can't use function syntax on variable
+ERROR: 0:57: 'z' : undeclared identifier
+ERROR: 0:57: 'z' : redefinition
+ERROR: 0:73: 'degrees' : can't use function syntax on variable
+ERROR: 21 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global highp int)
+0:3 Function Parameters:
+0:3 'a' (in highp int)
+0:3 'b' (in highp int)
+0:3 'c' (in highp int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp highp float)
+0:8 'a' (temp highp float)
+0:8 add (temp highp float)
+0:8 Convert int to float (temp highp float)
+0:8 'a' (in highp int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in highp int)
+0:25 Function Definition: cos(f1; (global highp float)
+0:25 Function Parameters:
+0:25 'x' (in highp float)
+0:27 Sequence
+0:27 Branch: Return
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp highp int)
+0:42 'sin' (temp highp float)
+0:43 Constant:
+0:43 0.000000
+0:44 Function Call: f(i1;i1;i1; (global highp int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp highp float)
+0:47 'f' (temp highp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position)
+0:49 Construct vec4 (temp highp 4-component vector of float)
+0:49 'f' (temp highp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp highp int)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp highp int)
+0:52 'f' (temp highp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp highp int)
+0:51 'f' (temp highp int)
+0:54 Sequence
+0:54 move second child to first child (temp highp int)
+0:54 'x' (temp highp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp highp float)
+0:56 'x' (temp highp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp highp float)
+0:56 'y' (temp highp float)
+0:56 'x' (temp highp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp highp int)
+0:60 'x' (temp highp int)
+0:60 'x' (temp highp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp highp int x})
+0:68 'S' (temp structure{temp highp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp highp int)
+0:69 'S' (temp structure{temp highp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 0.000000
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global highp int)
+0:3 Function Parameters:
+0:3 'a' (in highp int)
+0:3 'b' (in highp int)
+0:3 'c' (in highp int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp highp float)
+0:8 'a' (temp highp float)
+0:8 add (temp highp float)
+0:8 Convert int to float (temp highp float)
+0:8 'a' (in highp int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in highp int)
+0:25 Function Definition: cos(f1; (global highp float)
+0:25 Function Parameters:
+0:25 'x' (in highp float)
+0:27 Sequence
+0:27 Branch: Return
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp highp int)
+0:42 'sin' (temp highp float)
+0:43 Constant:
+0:43 0.000000
+0:44 Function Call: f(i1;i1;i1; (global highp int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp highp float)
+0:47 'f' (temp highp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position)
+0:49 Construct vec4 (temp highp 4-component vector of float)
+0:49 'f' (temp highp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp highp int)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp highp int)
+0:52 'f' (temp highp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp highp int)
+0:51 'f' (temp highp int)
+0:54 Sequence
+0:54 move second child to first child (temp highp int)
+0:54 'x' (temp highp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp highp float)
+0:56 'x' (temp highp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp highp float)
+0:56 'y' (temp highp float)
+0:56 'x' (temp highp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp highp int)
+0:60 'x' (temp highp int)
+0:60 'x' (temp highp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp highp int x})
+0:68 'S' (temp structure{temp highp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp highp int)
+0:69 'S' (temp structure{temp highp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 0.000000
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/310.comp.out b/chromium/third_party/glslang/src/Test/baseResults/310.comp.out
new file mode 100644
index 00000000000..67129d1d370
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/310.comp.out
@@ -0,0 +1,934 @@
+310.comp
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:4: 'local_size' : cannot change previously set size
+ERROR: 0:5: 'local_size' : too large; see gl_MaxComputeWorkGroupSize
+ERROR: 0:23: '' : array size required
+ERROR: 0:39: 'in' : global storage input qualifier cannot be used in a compute shader
+ERROR: 0:39: 'location qualifier on input' : not supported in this stage: compute
+ERROR: 0:40: 'in' : global storage input qualifier cannot be used in a compute shader
+ERROR: 0:41: 'out' : global storage output qualifier cannot be used in a compute shader
+ERROR: 0:44: 'shared' : cannot apply layout qualifiers to a shared variable
+ERROR: 0:44: 'location' : can only apply to uniform, buffer, in, or out storage qualifiers
+ERROR: 0:45: 'shared' : cannot initialize this type of qualifier
+ERROR: 0:47: 'local_size' : can only apply to 'in'
+ERROR: 0:47: 'local_size' : can only apply to 'in'
+ERROR: 0:47: 'local_size' : can only apply to 'in'
+ERROR: 0:61: 'assign' : l-value required "ro" (can't modify a readonly buffer)
+ERROR: 0:66: 'buffer' : buffers can be declared only as blocks
+ERROR: 0:68: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:76: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:87: 'imageAtomicCompSwap' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:88: 'imageAtomicAdd' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:89: 'imageAtomicMin' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:89: 'readonly' : argument cannot drop memory qualifier when passed to formal parameter
+ERROR: 0:89: 'imageAtomicMin' : only supported on image with format r32i or r32ui
+ERROR: 0:90: 'imageAtomicMax' : no matching overloaded function found
+ERROR: 0:94: 'writeonly' : argument cannot drop memory qualifier when passed to formal parameter
+ERROR: 0:97: '' : memory qualifiers cannot be used on this type
+ERROR: 0:98: '' : memory qualifiers cannot be used on this type
+ERROR: 0:114: 'image load-store format' : not supported with this profile: es
+ERROR: 0:114: 'rg8i' : does not apply to unsigned integer images
+ERROR: 0:115: 'rgba32i' : does not apply to floating point images
+ERROR: 0:116: 'rgba32f' : does not apply to unsigned integer images
+ERROR: 0:117: 'image load-store format' : not supported with this profile: es
+ERROR: 0:117: 'r8_snorm' : does not apply to signed integer images
+ERROR: 0:118: 'rgba32ui' : does not apply to signed integer images
+ERROR: 0:119: 'image load-store format' : not supported with this profile: es
+ERROR: 0:119: 'r8ui' : does not apply to signed integer images
+ERROR: 0:128: 'atomic_uint' : samplers and atomic_uints cannot be output parameters
+ERROR: 0:130: 'return' : type does not match, or is not convertible to, the function's return type
+ERROR: 0:136: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter
+ERROR: 0:136: 'atomic_uint' : layout(binding=X) is required
+ERROR: 0:141: 'atomic_uint' : atomic counters can only be highp
+ERROR: 0:141: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:143: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:149: '[]' : scalar integer expression required
+ERROR: 0:166: 'precision' : can only apply highp to atomic_uint
+ERROR: 0:168: 'precise' : Reserved word.
+ERROR: 0:168: 'precise' : not supported for this version or the enabled extensions
+ERROR: 0:170: 'dmat2x4' : Reserved word.
+ERROR: 0:170: 'double matrix' : not supported with this profile: es
+ERROR: 0:171: 'samplerCubeArray' : Reserved word.
+ERROR: 0:171: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:172: 'iimage2DRect' : Reserved word.
+ERROR: 0:172: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:172: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:173: 'image2DMS' : Reserved word.
+ERROR: 0:173: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:174: 'uimage2DMSArray' : Reserved word.
+ERROR: 0:174: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:174: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:181: 'rgba32f' : format requires readonly or writeonly memory qualifier
+ERROR: 0:182: 'rgba8i' : format requires readonly or writeonly memory qualifier
+ERROR: 0:183: 'rgba16ui' : format requires readonly or writeonly memory qualifier
+ERROR: 0:194: 'assign' : can't read from writeonly object: wo
+ERROR: 0:195: 'initializer' : can't read from writeonly object: wo
+ERROR: 0:196: '++' : can't read from writeonly object: wo
+ERROR: 0:197: '--' : can't read from writeonly object: wo
+ERROR: 0:198: '+' : can't read from writeonly object: wo
+ERROR: 0:199: '-' : can't read from writeonly object: wo
+ERROR: 0:201: ':' : can't read from writeonly object: wo
+ERROR: 0:202: ':' : can't read from writeonly object: wo
+ERROR: 0:203: '==' : can't read from writeonly object: wo
+ERROR: 0:205: '>=' : can't read from writeonly object: wo
+ERROR: 0:207: 'constructor' : can't read from writeonly object: wo
+ERROR: 0:208: '~' : can't read from writeonly object: wo
+ERROR: 0:221: 'assign' : can't read from writeonly object: wo
+ERROR: 0:222: '~' : can't read from writeonly object: wo
+ERROR: 0:227: 'input block' : not supported in this stage: compute
+ERROR: 0:231: 'output block' : not supported in this stage: compute
+WARNING: 0:235: 't__' : identifiers containing consecutive underscores ("__") are reserved
+WARNING: 0:238: '#define' : names containing consecutive underscores are reserved: __D
+ERROR: 77 compilation errors. No code generated.
+
+
+Shader version: 310
+local_size = (2, 1, 4096)
+ERROR: node is still EOpNull!
+0:27 Function Definition: main( (global void)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Barrier (global void)
+0:30 MemoryBarrier (global void)
+0:31 MemoryBarrierAtomicCounter (global void)
+0:32 MemoryBarrierBuffer (global void)
+0:33 MemoryBarrierShared (global void)
+0:34 MemoryBarrierImage (global void)
+0:35 GroupMemoryBarrier (global void)
+0:36 move second child to first child (temp highp int)
+0:36 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:36 Constant:
+0:36 0 (const uint)
+0:36 Convert float to int (temp highp int)
+0:36 indirect index (layout(column_major shared ) temp highp float)
+0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:36 Constant:
+0:36 1 (const uint)
+0:36 'gl_LocalInvocationIndex' (in highp uint LocalInvocationIndex)
+0:59 Function Definition: foo( (global void)
+0:59 Function Parameters:
+0:61 Sequence
+0:61 move second child to first child (temp highp float)
+0:61 direct index (layout(column_major shared ) temp highp float)
+0:61 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:61 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:61 Constant:
+0:61 1 (const int)
+0:61 Constant:
+0:61 2 (const int)
+0:61 Constant:
+0:61 4.700000
+0:62 array length (temp highp int)
+0:62 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:62 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:62 Constant:
+0:62 1 (const int)
+0:63 Pre-Increment (temp highp 4-component vector of float)
+0:63 's' (shared highp 4-component vector of float)
+0:84 Function Definition: qux( (global void)
+0:84 Function Parameters:
+0:86 Sequence
+0:86 Sequence
+0:86 move second child to first child (temp highp int)
+0:86 'i' (temp highp int)
+0:86 Constant:
+0:86 4 (const int)
+0:87 imageAtomicCompSwap (global highp int)
+0:87 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:87 Construct ivec2 (temp highp 2-component vector of int)
+0:87 'i' (temp highp int)
+0:87 'i' (temp highp int)
+0:87 'i' (temp highp int)
+0:87 'i' (temp highp int)
+0:88 imageAtomicAdd (global highp uint)
+0:88 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
+0:88 Construct ivec2 (temp highp 2-component vector of int)
+0:88 'i' (temp highp int)
+0:88 'i' (temp highp int)
+0:88 Convert int to uint (temp highp uint)
+0:88 'i' (temp highp int)
+0:89 imageAtomicMin (global highp int)
+0:89 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
+0:89 Construct ivec2 (temp highp 2-component vector of int)
+0:89 'i' (temp highp int)
+0:89 'i' (temp highp int)
+0:89 'i' (temp highp int)
+0:90 Constant:
+0:90 0.000000
+0:91 Sequence
+0:91 move second child to first child (temp highp 4-component vector of int)
+0:91 'pos' (temp highp 4-component vector of int)
+0:91 imageLoad (global highp 4-component vector of int)
+0:91 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:91 Construct ivec2 (temp highp 2-component vector of int)
+0:91 'i' (temp highp int)
+0:91 'i' (temp highp int)
+0:92 imageStore (global highp void)
+0:92 'ii2da' (writeonly uniform highp iimage2DArray)
+0:92 Construct ivec3 (temp 3-component vector of int)
+0:92 'i' (temp highp int)
+0:92 'i' (temp highp int)
+0:92 'i' (temp highp int)
+0:92 Constant:
+0:92 0 (const int)
+0:92 0 (const int)
+0:92 0 (const int)
+0:92 0 (const int)
+0:93 imageLoad (global highp 4-component vector of float)
+0:93 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
+0:93 Construct ivec2 (temp highp 2-component vector of int)
+0:93 'i' (temp highp int)
+0:93 'i' (temp highp int)
+0:94 imageLoad (global highp 4-component vector of int)
+0:94 'ii2da' (writeonly uniform highp iimage2DArray)
+0:94 Construct ivec3 (temp highp 3-component vector of int)
+0:94 'i' (temp highp int)
+0:94 'i' (temp highp int)
+0:94 'i' (temp highp int)
+0:100 Function Definition: passr(iI21; (global void)
+0:100 Function Parameters:
+0:100 'image' (coherent readonly in highp iimage2D)
+0:107 Function Definition: passrc( (global void)
+0:107 Function Parameters:
+0:109 Sequence
+0:109 Function Call: passr(iI21; (global void)
+0:109 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
+0:110 Function Call: passr(iI21; (global void)
+0:110 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
+0:111 Function Call: passr(iI21; (global void)
+0:111 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:123 Function Definition: func(au1; (global highp uint)
+0:123 Function Parameters:
+0:123 'c' (in highp atomic_uint)
+0:125 Sequence
+0:125 Branch: Return with expression
+0:125 AtomicCounterIncrement (global highp uint)
+0:125 'c' (in highp atomic_uint)
+0:128 Function Definition: func2(au1; (global highp uint)
+0:128 Function Parameters:
+0:128 'c' (out highp atomic_uint)
+0:130 Sequence
+0:130 Branch: Return with expression
+0:130 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:131 Branch: Return with expression
+0:131 AtomicCounter (global highp uint)
+0:131 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:134 Function Definition: mainAC( (global void)
+0:134 Function Parameters:
+0:? Sequence
+0:137 Sequence
+0:137 move second child to first child (temp highp uint)
+0:137 'val' (temp highp uint)
+0:137 AtomicCounter (global highp uint)
+0:137 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:138 AtomicCounterDecrement (global highp uint)
+0:138 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:146 Function Definition: opac( (global void)
+0:146 Function Parameters:
+0:? Sequence
+0:149 indirect index (temp highp int)
+0:149 'a' (temp 3-element array of highp int)
+0:149 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:150 direct index (layout(binding=2 offset=4 ) temp highp atomic_uint)
+0:150 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:150 Constant:
+0:150 2 (const int)
+0:151 indirect index (layout(binding=2 offset=4 ) temp highp atomic_uint)
+0:151 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:151 'i' (uniform highp int)
+0:157 Function Definition: atoms( (global void)
+0:157 Function Parameters:
+0:159 Sequence
+0:159 Sequence
+0:159 move second child to first child (temp highp int)
+0:159 'origi' (temp highp int)
+0:159 AtomicAdd (global highp int)
+0:159 'atomi' (shared highp int)
+0:159 Constant:
+0:159 3 (const int)
+0:160 Sequence
+0:160 move second child to first child (temp highp uint)
+0:160 'origu' (temp highp uint)
+0:160 AtomicAnd (global highp uint)
+0:160 'atomu' (shared highp uint)
+0:160 Constant:
+0:160 7 (const uint)
+0:161 move second child to first child (temp highp int)
+0:161 'origi' (temp highp int)
+0:161 AtomicExchange (global highp int)
+0:161 'atomi' (shared highp int)
+0:161 Constant:
+0:161 4 (const int)
+0:162 move second child to first child (temp highp uint)
+0:162 'origu' (temp highp uint)
+0:162 AtomicCompSwap (global highp uint)
+0:162 'atomu' (shared highp uint)
+0:162 Constant:
+0:162 10 (const uint)
+0:162 Constant:
+0:162 8 (const uint)
+0:191 Function Definition: foowo( (global void)
+0:191 Function Parameters:
+0:? Sequence
+0:194 move second child to first child (temp highp float)
+0:194 'g' (temp highp float)
+0:194 direct index (layout(column_major shared ) temp highp float)
+0:194 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:194 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:194 Constant:
+0:194 1 (const int)
+0:194 Constant:
+0:194 2 (const int)
+0:195 Sequence
+0:195 move second child to first child (temp highp float)
+0:195 'f' (temp highp float)
+0:195 direct index (layout(column_major shared ) temp highp float)
+0:195 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:195 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:195 Constant:
+0:195 1 (const int)
+0:195 Constant:
+0:195 2 (const int)
+0:196 Pre-Increment (temp highp float)
+0:196 direct index (layout(column_major shared ) temp highp float)
+0:196 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:196 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:196 Constant:
+0:196 1 (const int)
+0:196 Constant:
+0:196 2 (const int)
+0:197 Post-Decrement (temp highp float)
+0:197 direct index (layout(column_major shared ) temp highp float)
+0:197 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:197 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:197 Constant:
+0:197 1 (const int)
+0:197 Constant:
+0:197 2 (const int)
+0:198 add (temp highp float)
+0:198 'f' (temp highp float)
+0:198 direct index (layout(column_major shared ) temp highp float)
+0:198 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:198 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:198 Constant:
+0:198 1 (const int)
+0:198 Constant:
+0:198 2 (const int)
+0:199 subtract (temp highp float)
+0:199 direct index (layout(column_major shared ) temp highp float)
+0:199 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:199 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:199 Constant:
+0:199 1 (const int)
+0:199 Constant:
+0:199 2 (const int)
+0:199 'f' (temp highp float)
+0:201 Test condition and select (temp highp float)
+0:201 Condition
+0:201 'b' (temp bool)
+0:201 true case
+0:201 'f' (temp highp float)
+0:201 false case
+0:201 direct index (layout(column_major shared ) temp highp float)
+0:201 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:201 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:201 Constant:
+0:201 1 (const int)
+0:201 Constant:
+0:201 2 (const int)
+0:202 Test condition and select (temp highp float)
+0:202 Condition
+0:202 'b' (temp bool)
+0:202 true case
+0:202 direct index (layout(column_major shared ) temp highp float)
+0:202 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:202 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:202 Constant:
+0:202 1 (const int)
+0:202 Constant:
+0:202 2 (const int)
+0:202 false case
+0:202 'f' (temp highp float)
+0:203 Test condition and select (temp void)
+0:203 Condition
+0:203 Compare Equal (temp bool)
+0:203 'f' (temp highp float)
+0:203 direct index (layout(column_major shared ) temp highp float)
+0:203 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:203 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:203 Constant:
+0:203 1 (const int)
+0:203 Constant:
+0:203 2 (const int)
+0:203 true case
+0:204 Pre-Increment (temp highp float)
+0:204 'f' (temp highp float)
+0:205 Test condition and select (temp void)
+0:205 Condition
+0:205 Compare Greater Than or Equal (temp bool)
+0:205 'f' (temp highp float)
+0:205 direct index (layout(column_major shared ) temp highp float)
+0:205 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:205 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:205 Constant:
+0:205 1 (const int)
+0:205 Constant:
+0:205 2 (const int)
+0:205 true case
+0:206 Pre-Increment (temp highp float)
+0:206 'f' (temp highp float)
+0:207 move second child to first child (temp highp float)
+0:207 'f' (temp highp float)
+0:207 direct index (temp highp float)
+0:207 Construct vec3 (temp highp 3-component vector of float)
+0:207 direct index (layout(column_major shared ) temp highp float)
+0:207 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:207 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:207 Constant:
+0:207 1 (const int)
+0:207 Constant:
+0:207 2 (const int)
+0:207 Constant:
+0:207 0 (const int)
+0:208 Bitwise not (temp highp int)
+0:208 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:208 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:208 Constant:
+0:208 0 (const int)
+0:209 move second child to first child (temp highp float)
+0:209 direct index (layout(column_major shared ) temp highp float)
+0:209 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:209 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:209 Constant:
+0:209 1 (const int)
+0:209 Constant:
+0:209 2 (const int)
+0:209 Constant:
+0:209 3.400000
+0:218 Function Definition: foomultio( (global void)
+0:218 Function Parameters:
+0:? Sequence
+0:221 move second child to first child (temp highp float)
+0:221 'g' (temp highp float)
+0:221 direct index (layout(column_major shared ) temp highp float)
+0:221 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:221 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:221 Constant:
+0:221 1 (const int)
+0:221 Constant:
+0:221 2 (const int)
+0:222 Bitwise not (temp highp int)
+0:222 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:222 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:222 Constant:
+0:222 0 (const int)
+0:223 move second child to first child (temp highp float)
+0:223 direct index (layout(column_major shared ) temp highp float)
+0:223 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:223 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:223 Constant:
+0:223 1 (const int)
+0:223 Constant:
+0:223 2 (const int)
+0:223 Constant:
+0:223 3.400000
+0:224 move second child to first child (temp highp int)
+0:224 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:224 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:224 Constant:
+0:224 0 (const int)
+0:224 Constant:
+0:224 2 (const int)
+0:? Linker Objects
+0:? 'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize)
+0:? 2 (const uint)
+0:? 1 (const uint)
+0:? 4096 (const uint)
+0:? 'total' (const highp int)
+0:? 66592 (const int)
+0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of highp float values, layout(column_major shared ) buffer highp int value})
+0:? 'v3' (layout(location=2 ) in highp 3-component vector of float)
+0:? 'f' (in highp float)
+0:? 'fo' (out highp float)
+0:? 's' (shared highp 4-component vector of float)
+0:? 'sl' (layout(location=2 ) shared highp 4-component vector of float)
+0:? 'fs' (shared highp float)
+0:? 'arrX' (global 2-element array of highp int)
+0:? 'arrY' (global 1-element array of highp int)
+0:? 'arrZ' (global 4096-element array of highp int)
+0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:? 'v' (buffer highp 4-component vector of float)
+0:? 'us2dbad' (uniform mediump usampler2D)
+0:? 'us2d' (uniform highp usampler2D)
+0:? 'ii2dabad' (uniform highp iimage2DArray)
+0:? 'ii2da' (writeonly uniform highp iimage2DArray)
+0:? 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:? 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
+0:? 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
+0:? 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
+0:? 'vol' (volatile temp highp float)
+0:? 'vol2' (readonly temp highp int)
+0:? 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
+0:? 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
+0:? 'i1bad' (layout(rg8i ) readonly uniform highp uimage2D)
+0:? 'i2bad' (layout(rgba32i ) readonly uniform lowp image2D)
+0:? 'i3bad' (layout(rgba32f ) readonly uniform highp uimage2D)
+0:? 'i4bad' (layout(r8_snorm ) readonly uniform highp iimage2D)
+0:? 'i5bad' (layout(rgba32ui ) readonly uniform highp iimage2D)
+0:? 'i6bad' (layout(r8ui ) readonly uniform highp iimage2D)
+0:? 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:? 'counterBad' (layout(binding=1 ) uniform mediump atomic_uint)
+0:? 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:? 'i' (uniform highp int)
+0:? 'atomi' (shared highp int)
+0:? 'atomu' (shared highp uint)
+0:? 'pfoo' (noContraction temp highp int)
+0:? 'dm' (global 2X4 matrix of double)
+0:? 'sca' (uniform mediump samplerCubeArray)
+0:? 'i2dr' (uniform mediump iimage2DRect)
+0:? 'i2dms' (uniform lowp image2DMS)
+0:? 'u2dmsa' (uniform mediump uimage2DMSArray)
+0:? 'okay1' (layout(r32f ) coherent volatile restrict readonly writeonly uniform lowp image2D)
+0:? 'okay2' (layout(r32i ) coherent volatile restrict readonly uniform highp iimage2D)
+0:? 'okay3' (layout(r32ui ) coherent volatile restrict writeonly uniform highp uimage2D)
+0:? 'okay4' (layout(r32f ) coherent volatile restrict uniform lowp image2D)
+0:? 'badQ1' (layout(rgba32f ) coherent volatile restrict uniform lowp image2D)
+0:? 'badQ2' (layout(rgba8i ) coherent volatile restrict uniform highp iimage2D)
+0:? 'badQ3' (layout(rgba16ui ) coherent volatile restrict uniform highp uimage2D)
+0:? 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:? 'multio' (layout(column_major shared ) buffer block{layout(column_major shared ) readonly buffer highp int value, layout(column_major shared ) writeonly buffer implicitly-sized array of highp float values})
+0:? 'inbi' (in block{in highp int a})
+0:? 'outbi' (out block{out highp int a})
+0:? 't__' (global highp float)
+0:? 'arr' (shared 2-element array of 3-element array of 4-element array of highp 4-component vector of float)
+
+
+Linked compute stage:
+
+
+Shader version: 310
+local_size = (2, 1, 4096)
+ERROR: node is still EOpNull!
+0:27 Function Definition: main( (global void)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Barrier (global void)
+0:30 MemoryBarrier (global void)
+0:31 MemoryBarrierAtomicCounter (global void)
+0:32 MemoryBarrierBuffer (global void)
+0:33 MemoryBarrierShared (global void)
+0:34 MemoryBarrierImage (global void)
+0:35 GroupMemoryBarrier (global void)
+0:36 move second child to first child (temp highp int)
+0:36 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:36 Constant:
+0:36 0 (const uint)
+0:36 Convert float to int (temp highp int)
+0:36 indirect index (layout(column_major shared ) temp highp float)
+0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:36 Constant:
+0:36 1 (const uint)
+0:36 'gl_LocalInvocationIndex' (in highp uint LocalInvocationIndex)
+0:59 Function Definition: foo( (global void)
+0:59 Function Parameters:
+0:61 Sequence
+0:61 move second child to first child (temp highp float)
+0:61 direct index (layout(column_major shared ) temp highp float)
+0:61 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:61 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:61 Constant:
+0:61 1 (const int)
+0:61 Constant:
+0:61 2 (const int)
+0:61 Constant:
+0:61 4.700000
+0:62 array length (temp highp int)
+0:62 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:62 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:62 Constant:
+0:62 1 (const int)
+0:63 Pre-Increment (temp highp 4-component vector of float)
+0:63 's' (shared highp 4-component vector of float)
+0:84 Function Definition: qux( (global void)
+0:84 Function Parameters:
+0:86 Sequence
+0:86 Sequence
+0:86 move second child to first child (temp highp int)
+0:86 'i' (temp highp int)
+0:86 Constant:
+0:86 4 (const int)
+0:87 imageAtomicCompSwap (global highp int)
+0:87 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:87 Construct ivec2 (temp highp 2-component vector of int)
+0:87 'i' (temp highp int)
+0:87 'i' (temp highp int)
+0:87 'i' (temp highp int)
+0:87 'i' (temp highp int)
+0:88 imageAtomicAdd (global highp uint)
+0:88 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
+0:88 Construct ivec2 (temp highp 2-component vector of int)
+0:88 'i' (temp highp int)
+0:88 'i' (temp highp int)
+0:88 Convert int to uint (temp highp uint)
+0:88 'i' (temp highp int)
+0:89 imageAtomicMin (global highp int)
+0:89 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
+0:89 Construct ivec2 (temp highp 2-component vector of int)
+0:89 'i' (temp highp int)
+0:89 'i' (temp highp int)
+0:89 'i' (temp highp int)
+0:90 Constant:
+0:90 0.000000
+0:91 Sequence
+0:91 move second child to first child (temp highp 4-component vector of int)
+0:91 'pos' (temp highp 4-component vector of int)
+0:91 imageLoad (global highp 4-component vector of int)
+0:91 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:91 Construct ivec2 (temp highp 2-component vector of int)
+0:91 'i' (temp highp int)
+0:91 'i' (temp highp int)
+0:92 imageStore (global highp void)
+0:92 'ii2da' (writeonly uniform highp iimage2DArray)
+0:92 Construct ivec3 (temp 3-component vector of int)
+0:92 'i' (temp highp int)
+0:92 'i' (temp highp int)
+0:92 'i' (temp highp int)
+0:92 Constant:
+0:92 0 (const int)
+0:92 0 (const int)
+0:92 0 (const int)
+0:92 0 (const int)
+0:93 imageLoad (global highp 4-component vector of float)
+0:93 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
+0:93 Construct ivec2 (temp highp 2-component vector of int)
+0:93 'i' (temp highp int)
+0:93 'i' (temp highp int)
+0:94 imageLoad (global highp 4-component vector of int)
+0:94 'ii2da' (writeonly uniform highp iimage2DArray)
+0:94 Construct ivec3 (temp highp 3-component vector of int)
+0:94 'i' (temp highp int)
+0:94 'i' (temp highp int)
+0:94 'i' (temp highp int)
+0:100 Function Definition: passr(iI21; (global void)
+0:100 Function Parameters:
+0:100 'image' (coherent readonly in highp iimage2D)
+0:107 Function Definition: passrc( (global void)
+0:107 Function Parameters:
+0:109 Sequence
+0:109 Function Call: passr(iI21; (global void)
+0:109 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
+0:110 Function Call: passr(iI21; (global void)
+0:110 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
+0:111 Function Call: passr(iI21; (global void)
+0:111 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:123 Function Definition: func(au1; (global highp uint)
+0:123 Function Parameters:
+0:123 'c' (in highp atomic_uint)
+0:125 Sequence
+0:125 Branch: Return with expression
+0:125 AtomicCounterIncrement (global highp uint)
+0:125 'c' (in highp atomic_uint)
+0:128 Function Definition: func2(au1; (global highp uint)
+0:128 Function Parameters:
+0:128 'c' (out highp atomic_uint)
+0:130 Sequence
+0:130 Branch: Return with expression
+0:130 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:131 Branch: Return with expression
+0:131 AtomicCounter (global highp uint)
+0:131 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:134 Function Definition: mainAC( (global void)
+0:134 Function Parameters:
+0:? Sequence
+0:137 Sequence
+0:137 move second child to first child (temp highp uint)
+0:137 'val' (temp highp uint)
+0:137 AtomicCounter (global highp uint)
+0:137 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:138 AtomicCounterDecrement (global highp uint)
+0:138 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:146 Function Definition: opac( (global void)
+0:146 Function Parameters:
+0:? Sequence
+0:149 indirect index (temp highp int)
+0:149 'a' (temp 3-element array of highp int)
+0:149 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:150 direct index (layout(binding=2 offset=4 ) temp highp atomic_uint)
+0:150 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:150 Constant:
+0:150 2 (const int)
+0:151 indirect index (layout(binding=2 offset=4 ) temp highp atomic_uint)
+0:151 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:151 'i' (uniform highp int)
+0:157 Function Definition: atoms( (global void)
+0:157 Function Parameters:
+0:159 Sequence
+0:159 Sequence
+0:159 move second child to first child (temp highp int)
+0:159 'origi' (temp highp int)
+0:159 AtomicAdd (global highp int)
+0:159 'atomi' (shared highp int)
+0:159 Constant:
+0:159 3 (const int)
+0:160 Sequence
+0:160 move second child to first child (temp highp uint)
+0:160 'origu' (temp highp uint)
+0:160 AtomicAnd (global highp uint)
+0:160 'atomu' (shared highp uint)
+0:160 Constant:
+0:160 7 (const uint)
+0:161 move second child to first child (temp highp int)
+0:161 'origi' (temp highp int)
+0:161 AtomicExchange (global highp int)
+0:161 'atomi' (shared highp int)
+0:161 Constant:
+0:161 4 (const int)
+0:162 move second child to first child (temp highp uint)
+0:162 'origu' (temp highp uint)
+0:162 AtomicCompSwap (global highp uint)
+0:162 'atomu' (shared highp uint)
+0:162 Constant:
+0:162 10 (const uint)
+0:162 Constant:
+0:162 8 (const uint)
+0:191 Function Definition: foowo( (global void)
+0:191 Function Parameters:
+0:? Sequence
+0:194 move second child to first child (temp highp float)
+0:194 'g' (temp highp float)
+0:194 direct index (layout(column_major shared ) temp highp float)
+0:194 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:194 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:194 Constant:
+0:194 1 (const int)
+0:194 Constant:
+0:194 2 (const int)
+0:195 Sequence
+0:195 move second child to first child (temp highp float)
+0:195 'f' (temp highp float)
+0:195 direct index (layout(column_major shared ) temp highp float)
+0:195 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:195 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:195 Constant:
+0:195 1 (const int)
+0:195 Constant:
+0:195 2 (const int)
+0:196 Pre-Increment (temp highp float)
+0:196 direct index (layout(column_major shared ) temp highp float)
+0:196 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:196 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:196 Constant:
+0:196 1 (const int)
+0:196 Constant:
+0:196 2 (const int)
+0:197 Post-Decrement (temp highp float)
+0:197 direct index (layout(column_major shared ) temp highp float)
+0:197 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:197 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:197 Constant:
+0:197 1 (const int)
+0:197 Constant:
+0:197 2 (const int)
+0:198 add (temp highp float)
+0:198 'f' (temp highp float)
+0:198 direct index (layout(column_major shared ) temp highp float)
+0:198 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:198 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:198 Constant:
+0:198 1 (const int)
+0:198 Constant:
+0:198 2 (const int)
+0:199 subtract (temp highp float)
+0:199 direct index (layout(column_major shared ) temp highp float)
+0:199 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:199 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:199 Constant:
+0:199 1 (const int)
+0:199 Constant:
+0:199 2 (const int)
+0:199 'f' (temp highp float)
+0:201 Test condition and select (temp highp float)
+0:201 Condition
+0:201 'b' (temp bool)
+0:201 true case
+0:201 'f' (temp highp float)
+0:201 false case
+0:201 direct index (layout(column_major shared ) temp highp float)
+0:201 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:201 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:201 Constant:
+0:201 1 (const int)
+0:201 Constant:
+0:201 2 (const int)
+0:202 Test condition and select (temp highp float)
+0:202 Condition
+0:202 'b' (temp bool)
+0:202 true case
+0:202 direct index (layout(column_major shared ) temp highp float)
+0:202 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:202 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:202 Constant:
+0:202 1 (const int)
+0:202 Constant:
+0:202 2 (const int)
+0:202 false case
+0:202 'f' (temp highp float)
+0:203 Test condition and select (temp void)
+0:203 Condition
+0:203 Compare Equal (temp bool)
+0:203 'f' (temp highp float)
+0:203 direct index (layout(column_major shared ) temp highp float)
+0:203 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:203 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:203 Constant:
+0:203 1 (const int)
+0:203 Constant:
+0:203 2 (const int)
+0:203 true case
+0:204 Pre-Increment (temp highp float)
+0:204 'f' (temp highp float)
+0:205 Test condition and select (temp void)
+0:205 Condition
+0:205 Compare Greater Than or Equal (temp bool)
+0:205 'f' (temp highp float)
+0:205 direct index (layout(column_major shared ) temp highp float)
+0:205 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:205 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:205 Constant:
+0:205 1 (const int)
+0:205 Constant:
+0:205 2 (const int)
+0:205 true case
+0:206 Pre-Increment (temp highp float)
+0:206 'f' (temp highp float)
+0:207 move second child to first child (temp highp float)
+0:207 'f' (temp highp float)
+0:207 direct index (temp highp float)
+0:207 Construct vec3 (temp highp 3-component vector of float)
+0:207 direct index (layout(column_major shared ) temp highp float)
+0:207 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:207 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:207 Constant:
+0:207 1 (const int)
+0:207 Constant:
+0:207 2 (const int)
+0:207 Constant:
+0:207 0 (const int)
+0:208 Bitwise not (temp highp int)
+0:208 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:208 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:208 Constant:
+0:208 0 (const int)
+0:209 move second child to first child (temp highp float)
+0:209 direct index (layout(column_major shared ) temp highp float)
+0:209 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:209 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:209 Constant:
+0:209 1 (const int)
+0:209 Constant:
+0:209 2 (const int)
+0:209 Constant:
+0:209 3.400000
+0:218 Function Definition: foomultio( (global void)
+0:218 Function Parameters:
+0:? Sequence
+0:221 move second child to first child (temp highp float)
+0:221 'g' (temp highp float)
+0:221 direct index (layout(column_major shared ) temp highp float)
+0:221 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:221 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:221 Constant:
+0:221 1 (const int)
+0:221 Constant:
+0:221 2 (const int)
+0:222 Bitwise not (temp highp int)
+0:222 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:222 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:222 Constant:
+0:222 0 (const int)
+0:223 move second child to first child (temp highp float)
+0:223 direct index (layout(column_major shared ) temp highp float)
+0:223 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:223 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:223 Constant:
+0:223 1 (const int)
+0:223 Constant:
+0:223 2 (const int)
+0:223 Constant:
+0:223 3.400000
+0:224 move second child to first child (temp highp int)
+0:224 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:224 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:224 Constant:
+0:224 0 (const int)
+0:224 Constant:
+0:224 2 (const int)
+0:? Linker Objects
+0:? 'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize)
+0:? 2 (const uint)
+0:? 1 (const uint)
+0:? 4096 (const uint)
+0:? 'total' (const highp int)
+0:? 66592 (const int)
+0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of highp float values, layout(column_major shared ) buffer highp int value})
+0:? 'v3' (layout(location=2 ) in highp 3-component vector of float)
+0:? 'f' (in highp float)
+0:? 'fo' (out highp float)
+0:? 's' (shared highp 4-component vector of float)
+0:? 'sl' (layout(location=2 ) shared highp 4-component vector of float)
+0:? 'fs' (shared highp float)
+0:? 'arrX' (global 2-element array of highp int)
+0:? 'arrY' (global 1-element array of highp int)
+0:? 'arrZ' (global 4096-element array of highp int)
+0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:? 'v' (buffer highp 4-component vector of float)
+0:? 'us2dbad' (uniform mediump usampler2D)
+0:? 'us2d' (uniform highp usampler2D)
+0:? 'ii2dabad' (uniform highp iimage2DArray)
+0:? 'ii2da' (writeonly uniform highp iimage2DArray)
+0:? 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:? 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
+0:? 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
+0:? 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
+0:? 'vol' (volatile temp highp float)
+0:? 'vol2' (readonly temp highp int)
+0:? 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
+0:? 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
+0:? 'i1bad' (layout(rg8i ) readonly uniform highp uimage2D)
+0:? 'i2bad' (layout(rgba32i ) readonly uniform lowp image2D)
+0:? 'i3bad' (layout(rgba32f ) readonly uniform highp uimage2D)
+0:? 'i4bad' (layout(r8_snorm ) readonly uniform highp iimage2D)
+0:? 'i5bad' (layout(rgba32ui ) readonly uniform highp iimage2D)
+0:? 'i6bad' (layout(r8ui ) readonly uniform highp iimage2D)
+0:? 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:? 'counterBad' (layout(binding=1 ) uniform mediump atomic_uint)
+0:? 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:? 'i' (uniform highp int)
+0:? 'atomi' (shared highp int)
+0:? 'atomu' (shared highp uint)
+0:? 'pfoo' (noContraction temp highp int)
+0:? 'dm' (global 2X4 matrix of double)
+0:? 'sca' (uniform mediump samplerCubeArray)
+0:? 'i2dr' (uniform mediump iimage2DRect)
+0:? 'i2dms' (uniform lowp image2DMS)
+0:? 'u2dmsa' (uniform mediump uimage2DMSArray)
+0:? 'okay1' (layout(r32f ) coherent volatile restrict readonly writeonly uniform lowp image2D)
+0:? 'okay2' (layout(r32i ) coherent volatile restrict readonly uniform highp iimage2D)
+0:? 'okay3' (layout(r32ui ) coherent volatile restrict writeonly uniform highp uimage2D)
+0:? 'okay4' (layout(r32f ) coherent volatile restrict uniform lowp image2D)
+0:? 'badQ1' (layout(rgba32f ) coherent volatile restrict uniform lowp image2D)
+0:? 'badQ2' (layout(rgba8i ) coherent volatile restrict uniform highp iimage2D)
+0:? 'badQ3' (layout(rgba16ui ) coherent volatile restrict uniform highp uimage2D)
+0:? 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:? 'multio' (layout(column_major shared ) buffer block{layout(column_major shared ) readonly buffer highp int value, layout(column_major shared ) writeonly buffer implicitly-sized array of highp float values})
+0:? 'inbi' (in block{in highp int a})
+0:? 'outbi' (out block{out highp int a})
+0:? 't__' (global highp float)
+0:? 'arr' (shared 2-element array of 3-element array of 4-element array of highp 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/310.frag.out b/chromium/third_party/glslang/src/Test/baseResults/310.frag.out
new file mode 100644
index 00000000000..0d2ad8d0f56
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/310.frag.out
@@ -0,0 +1,1892 @@
+310.frag
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:2: 'float' : type requires declaration of default precision qualifier
+ERROR: 0:8: 'origin_upper_left' : not supported with this profile: es
+ERROR: 0:8: 'pixel_center_integer' : not supported with this profile: es
+ERROR: 0:8: 'gl_FragCoord' : identifiers starting with "gl_" are reserved
+ERROR: 0:11: 'location' : overlapping use of location 2
+ERROR: 0:15: 'usampler2DRect' : Reserved word.
+ERROR: 0:15: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:23: 'variable indexing sampler array' : not supported for this version or the enabled extensions
+ERROR: 0:27: 'textureGatherOffsets' : no matching overloaded function found
+ERROR: 0:27: '=' : cannot convert from 'const float' to 'temp mediump 4-component vector of uint'
+ERROR: 0:30: 'textureGatherOffset(...)' : must be a compile-time constant: component argument
+ERROR: 0:31: 'textureGatherOffset(...)' : must be 0, 1, 2, or 3: component argument
+ERROR: 0:34: 'non-constant offset argument' : not supported for this version or the enabled extensions
+ERROR: 0:42: 'texel offset' : argument must be compile-time constant
+ERROR: 0:44: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:44: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:66: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:66: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:67: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:68: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:68: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:69: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:73: 'binding' : requires block, or sampler/image, or atomic-counter type
+ERROR: 0:77: 'location' : location is too large
+ERROR: 0:81: 'location' : too large for fragment output
+ERROR: 0:82: 'location' : too large for fragment output
+ERROR: 0:82: 'location' : overlapping use of location 40
+ERROR: 0:83: 'non-literal layout-id value' : not supported with this profile: es
+ERROR: 0:83: 'layout-id value' : cannot be negative
+ERROR: 0:110: 'out' : cannot be bool
+ERROR: 0:111: 'image2D' : sampler/image types can only be used in uniform variables or function parameters: imageOut
+ERROR: 0:111: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:112: 'out' : cannot be a matrix
+ERROR: 0:114: 'in' : cannot be bool
+ERROR: 0:115: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: ino
+ERROR: 0:117: 'fragment-shader array-of-array input' : not supported with this profile: es
+ERROR: 0:120: 'fragment-shader array-of-struct input' : not supported with this profile: es
+ERROR: 0:121: 'fragment-shader array-of-struct input' : not supported with this profile: es
+ERROR: 0:123: 'fragment-shader struct input containing an array' : not supported with this profile: es
+ERROR: 0:125: 'fragment-shader struct input containing structure' : not supported with this profile: es
+ERROR: 0:133: 'output block' : not supported in this stage: fragment
+ERROR: 0:138: '' : cannot nest a structure definition inside a structure or block
+ERROR: 0:146: 'location' : overlapping use of location 13
+ERROR: 0:148: 'inbname2' : Cannot reuse block name within the same interface: in
+ERROR: 0:153: 'badmember' : nameless block contains a member that already has a name at global scope
+ERROR: 0:157: 'inbname' : redefinition
+ERROR: 0:159: 'vAnon' : redefinition
+ERROR: 0:173: 'origin_upper_left' : not supported with this profile: es
+ERROR: 0:173: 'pixel_center_integer' : not supported with this profile: es
+ERROR: 0:173: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
+ERROR: 0:177: 'depth layout qualifier' : not supported with this profile: es
+ERROR: 0:181: 'assign' : l-value required "gl_FragDepth" (can't modify gl_FragDepth if using early_fragment_tests)
+ERROR: 0:182: 'gl_Layer' : required extension not requested: Possible extensions include:
+GL_EXT_geometry_shader
+GL_OES_geometry_shader
+ERROR: 0:183: 'gl_PrimitiveID' : required extension not requested: Possible extensions include:
+GL_EXT_geometry_shader
+GL_OES_geometry_shader
+ERROR: 0:209: 'precise' : Reserved word.
+ERROR: 0:209: 'precise' : not supported for this version or the enabled extensions
+ERROR: 0:210: 'fma' : required extension not requested: Possible extensions include:
+GL_EXT_gpu_shader5
+GL_OES_gpu_shader5
+ERROR: 0:211: 'non-constant offset argument' : not supported for this version or the enabled extensions
+ERROR: 0:212: 'textureGatherOffsets' : required extension not requested: Possible extensions include:
+GL_EXT_gpu_shader5
+GL_OES_gpu_shader5
+ERROR: 0:223: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument
+ERROR: 0:257: 'gl_SampleID' : required extension not requested: GL_OES_sample_variables
+ERROR: 0:258: 'gl_SamplePosition' : required extension not requested: GL_OES_sample_variables
+ERROR: 0:259: 'gl_SampleMaskIn' : required extension not requested: GL_OES_sample_variables
+ERROR: 0:260: 'gl_SampleMask' : required extension not requested: GL_OES_sample_variables
+ERROR: 0:261: 'gl_NumSamples' : required extension not requested: GL_OES_sample_variables
+ERROR: 0:289: 'imageAtomicAdd' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:290: 'imageAtomicAdd' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:291: 'imageAtomicMin' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:292: 'imageAtomicMin' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:293: 'imageAtomicMax' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:294: 'imageAtomicMax' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:295: 'imageAtomicAnd' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:296: 'imageAtomicAnd' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:297: 'imageAtomicOr' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:298: 'imageAtomicOr' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:299: 'imageAtomicXor' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:300: 'imageAtomicXor' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:301: 'imageAtomicExchange' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:302: 'imageAtomicExchange' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:303: 'imageAtomicExchange' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:304: 'imageAtomicCompSwap' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:305: 'imageAtomicCompSwap' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:312: 'rgba32f' : format requires readonly or writeonly memory qualifier
+ERROR: 0:313: 'rgba8ui' : format requires readonly or writeonly memory qualifier
+ERROR: 0:314: 'rgba16i' : format requires readonly or writeonly memory qualifier
+ERROR: 0:340: 'imageAtomicMax' : only supported on image with format r32i or r32ui
+ERROR: 0:341: 'imageAtomicMax' : only supported on image with format r32i or r32ui
+ERROR: 0:342: 'imageAtomicExchange' : only supported on image with format r32f
+ERROR: 0:345: 'sample' : Reserved word.
+ERROR: 0:346: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output
+ERROR: 0:347: 'flat/smooth/noperspective' : can't use interpolation qualifier on a fragment output
+ERROR: 0:348: 'flat/smooth/noperspective' : can't use interpolation qualifier on a fragment output
+ERROR: 0:349: 'noperspective' : Reserved word.
+ERROR: 0:349: 'noperspective' : not supported with this profile: es
+ERROR: 0:349: 'flat/smooth/noperspective' : can't use interpolation qualifier on a fragment output
+ERROR: 0:355: 'interpolateAtCentroid' : required extension not requested: GL_OES_shader_multisample_interpolation
+ERROR: 0:356: 'interpolateAtSample' : required extension not requested: GL_OES_shader_multisample_interpolation
+ERROR: 0:357: 'interpolateAtOffset' : required extension not requested: GL_OES_shader_multisample_interpolation
+ERROR: 0:365: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output
+ERROR: 0:380: 'interpolateAtCentroid' : no matching overloaded function found
+ERROR: 0:380: 'assign' : cannot convert from 'const float' to 'temp mediump 3-component vector of float'
+ERROR: 0:382: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:384: 'interpolateAtSample' : no matching overloaded function found
+ERROR: 0:384: 'assign' : cannot convert from 'const float' to 'temp mediump 3-component vector of float'
+ERROR: 0:386: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:389: 'interpolateAtOffset' : no matching overloaded function found
+ERROR: 0:389: 'assign' : cannot convert from 'const float' to 'temp mediump 3-component vector of float'
+ERROR: 0:391: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:392: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:396: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:397: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:400: 'blend equation' : required extension not requested: GL_KHR_blend_equation_advanced
+ERROR: 0:423: 'blend equation' : can only apply to 'out'
+ERROR: 0:424: 'blend equation' : can only apply to a standalone qualifier
+ERROR: 0:425: 'blend equation' : can only apply to a standalone qualifier
+ERROR: 0:426: 'blend equation' : can only apply to a standalone qualifier
+ERROR: 0:427: 'blend equation' : can only apply to a standalone qualifier
+ERROR: 0:428: 'blend equation' : can only apply to a standalone qualifier
+ERROR: 0:429: 'blend_support' : unknown blend equation
+ERROR: 0:431: 'fragment-shader array-of-array output' : not supported with this profile: es
+ERROR: 122 compilation errors. No code generated.
+
+
+Shader version: 310
+Requested GL_EXT_shader_io_blocks
+Requested GL_EXT_texture_cube_map_array
+Requested GL_KHR_blend_equation_advanced
+Requested GL_OES_geometry_shader
+Requested GL_OES_gpu_shader5
+Requested GL_OES_sample_variables
+Requested GL_OES_shader_image_atomic
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_shader_multisample_interpolation
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+using early_fragment_tests
+using depth_any
+using blend_support_multiply blend_support_screen blend_support_overlay blend_support_darken blend_support_lighten blend_support_colordodge blend_support_colorburn blend_support_hardlight blend_support_softlight blend_support_difference blend_support_exclusion blend_support_hsl_hue blend_support_hsl_saturation blend_support_hsl_color blend_support_hsl_luminosity blend_support_all_equations
+ERROR: node is still EOpNull!
+0:21 Function Definition: main( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp highp 4-component vector of float)
+0:23 'v' (temp mediump 4-component vector of float)
+0:23 texture (global highp 4-component vector of float)
+0:23 indirect index (temp highp sampler2D)
+0:23 'arrayedSampler' (uniform 5-element array of highp sampler2D)
+0:23 'i' (uniform mediump int)
+0:23 'c2D' (smooth in mediump 2-component vector of float)
+0:28 Sequence
+0:28 move second child to first child (temp highp 4-component vector of float)
+0:28 'v4' (temp mediump 4-component vector of float)
+0:28 textureGather (global highp 4-component vector of float)
+0:28 direct index (temp highp sampler2D)
+0:28 'arrayedSampler' (uniform 5-element array of highp sampler2D)
+0:28 Constant:
+0:28 0 (const int)
+0:28 'c2D' (smooth in mediump 2-component vector of float)
+0:29 Sequence
+0:29 move second child to first child (temp highp 4-component vector of int)
+0:29 'iv4' (temp mediump 4-component vector of int)
+0:29 textureGatherOffset (global highp 4-component vector of int)
+0:29 'isamp2DA' (uniform highp isampler2DArray)
+0:29 Constant:
+0:29 0.100000
+0:29 0.100000
+0:29 0.100000
+0:29 Constant:
+0:29 1 (const int)
+0:29 1 (const int)
+0:29 Constant:
+0:29 3 (const int)
+0:30 move second child to first child (temp highp 4-component vector of int)
+0:30 'iv4' (temp mediump 4-component vector of int)
+0:30 textureGatherOffset (global highp 4-component vector of int)
+0:30 'isamp2DA' (uniform highp isampler2DArray)
+0:30 Constant:
+0:30 0.100000
+0:30 0.100000
+0:30 0.100000
+0:30 Constant:
+0:30 1 (const int)
+0:30 1 (const int)
+0:30 'i' (uniform mediump int)
+0:31 move second child to first child (temp highp 4-component vector of int)
+0:31 'iv4' (temp mediump 4-component vector of int)
+0:31 textureGatherOffset (global highp 4-component vector of int)
+0:31 'isamp2DA' (uniform highp isampler2DArray)
+0:31 Constant:
+0:31 0.100000
+0:31 0.100000
+0:31 0.100000
+0:31 Constant:
+0:31 1 (const int)
+0:31 1 (const int)
+0:31 Constant:
+0:31 4 (const int)
+0:32 move second child to first child (temp highp 4-component vector of int)
+0:32 'iv4' (temp mediump 4-component vector of int)
+0:32 textureGatherOffset (global highp 4-component vector of int)
+0:32 'isamp2DA' (uniform highp isampler2DArray)
+0:32 Constant:
+0:32 0.100000
+0:32 0.100000
+0:32 0.100000
+0:32 Constant:
+0:32 1 (const int)
+0:32 1 (const int)
+0:32 Constant:
+0:32 3 (const int)
+0:33 move second child to first child (temp highp 4-component vector of int)
+0:33 'iv4' (temp mediump 4-component vector of int)
+0:33 textureGatherOffset (global highp 4-component vector of int)
+0:33 'isamp2DA' (uniform highp isampler2DArray)
+0:33 Constant:
+0:33 0.100000
+0:33 0.100000
+0:33 0.100000
+0:33 Constant:
+0:33 0 (const int)
+0:33 0 (const int)
+0:34 move second child to first child (temp highp 4-component vector of int)
+0:34 'iv4' (temp mediump 4-component vector of int)
+0:34 textureGatherOffset (global highp 4-component vector of int)
+0:34 'isamp2DA' (uniform highp isampler2DArray)
+0:34 Constant:
+0:34 0.100000
+0:34 0.100000
+0:34 0.100000
+0:34 Construct ivec2 (temp highp 2-component vector of int)
+0:34 'i' (uniform mediump int)
+0:38 Function Definition: foo23( (global void)
+0:38 Function Parameters:
+0:? Sequence
+0:42 textureProjGradOffset (global highp 4-component vector of uint)
+0:42 'usamp2d' (uniform highp usampler2D)
+0:42 'outp' (out mediump 4-component vector of float)
+0:42 Constant:
+0:42 0.000000
+0:42 0.000000
+0:42 Constant:
+0:42 0.000000
+0:42 0.000000
+0:42 Convert float to int (temp highp 2-component vector of int)
+0:42 'c2D' (smooth in mediump 2-component vector of float)
+0:43 textureProjGradOffset (global highp 4-component vector of uint)
+0:43 'usamp2d' (uniform highp usampler2D)
+0:43 'outp' (out mediump 4-component vector of float)
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 Constant:
+0:43 3 (const int)
+0:43 4 (const int)
+0:44 textureProjGradOffset (global highp 4-component vector of uint)
+0:44 'usamp2d' (uniform highp usampler2D)
+0:44 'outp' (out mediump 4-component vector of float)
+0:44 Constant:
+0:44 0.000000
+0:44 0.000000
+0:44 Constant:
+0:44 0.000000
+0:44 0.000000
+0:44 Constant:
+0:44 15 (const int)
+0:44 16 (const int)
+0:45 textureProjGradOffset (global highp 4-component vector of uint)
+0:45 'usamp2d' (uniform highp usampler2D)
+0:45 'outp' (out mediump 4-component vector of float)
+0:45 Constant:
+0:45 0.000000
+0:45 0.000000
+0:45 Constant:
+0:45 0.000000
+0:45 0.000000
+0:45 Constant:
+0:45 -10 (const int)
+0:45 20 (const int)
+0:47 Test condition and select (temp void)
+0:47 Condition
+0:47 'gl_HelperInvocation' (in bool HelperInvocation)
+0:47 true case
+0:48 Pre-Increment (temp mediump 4-component vector of float)
+0:48 'outp' (out mediump 4-component vector of float)
+0:50 Sequence
+0:50 move second child to first child (temp mediump int)
+0:50 'sum' (temp mediump int)
+0:50 Constant:
+0:50 32 (const int)
+0:58 move second child to first child (temp bool)
+0:58 'b1' (temp bool)
+0:58 mix (global bool)
+0:58 'b2' (temp bool)
+0:58 'b3' (temp bool)
+0:58 'b' (temp bool)
+0:59 Sequence
+0:59 move second child to first child (temp mediump 3-component vector of uint)
+0:59 'um3' (temp mediump 3-component vector of uint)
+0:59 mix (global mediump 3-component vector of uint)
+0:59 Construct uvec3 (temp mediump 3-component vector of uint)
+0:59 Convert int to uint (temp mediump uint)
+0:59 'i' (uniform mediump int)
+0:59 Construct uvec3 (temp mediump 3-component vector of uint)
+0:59 Convert int to uint (temp mediump uint)
+0:59 'i' (uniform mediump int)
+0:59 Construct bvec3 (temp 3-component vector of bool)
+0:59 'b' (temp bool)
+0:60 Sequence
+0:60 move second child to first child (temp mediump 4-component vector of int)
+0:60 'im4' (temp mediump 4-component vector of int)
+0:60 mix (global mediump 4-component vector of int)
+0:60 Construct ivec4 (temp mediump 4-component vector of int)
+0:60 'i' (uniform mediump int)
+0:60 Construct ivec4 (temp mediump 4-component vector of int)
+0:60 'i' (uniform mediump int)
+0:60 Construct bvec4 (temp 4-component vector of bool)
+0:60 'b' (temp bool)
+0:98 Function Definition: foots( (global void)
+0:98 Function Parameters:
+0:100 Sequence
+0:100 Sequence
+0:100 move second child to first child (temp highp 2-component vector of int)
+0:100 'v2' (temp highp 2-component vector of int)
+0:100 textureSize (global highp 2-component vector of int)
+0:100 's1' (layout(binding=3 ) uniform highp sampler2D)
+0:100 Constant:
+0:100 2 (const int)
+0:101 Sequence
+0:101 move second child to first child (temp highp 3-component vector of int)
+0:101 'v3' (temp highp 3-component vector of int)
+0:101 textureSize (global highp 3-component vector of int)
+0:101 'isamp2DA' (uniform highp isampler2DArray)
+0:101 Constant:
+0:101 3 (const int)
+0:102 move second child to first child (temp highp 2-component vector of int)
+0:102 'v2' (temp highp 2-component vector of int)
+0:102 textureSize (global highp 2-component vector of int)
+0:102 's2dms' (uniform highp sampler2DMS)
+0:103 move second child to first child (temp highp 2-component vector of int)
+0:103 'v2' (temp highp 2-component vector of int)
+0:103 imageQuerySize (global highp 2-component vector of int)
+0:103 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
+0:104 move second child to first child (temp highp 3-component vector of int)
+0:104 'v3' (temp highp 3-component vector of int)
+0:104 imageQuerySize (global highp 3-component vector of int)
+0:104 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
+0:105 move second child to first child (temp highp 2-component vector of int)
+0:105 'v2' (temp highp 2-component vector of int)
+0:105 imageQuerySize (global highp 2-component vector of int)
+0:105 'iCube' (layout(binding=5 ) uniform lowp imageCube)
+0:106 move second child to first child (temp highp 3-component vector of int)
+0:106 'v3' (temp highp 3-component vector of int)
+0:106 imageQuerySize (global highp 3-component vector of int)
+0:106 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
+0:107 move second child to first child (temp highp 2-component vector of int)
+0:107 'v2' (temp highp 2-component vector of int)
+0:107 imageQuerySize (global highp 2-component vector of int)
+0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
+0:165 Function Definition: fooIO( (global void)
+0:165 Function Parameters:
+0:167 Sequence
+0:167 Sequence
+0:167 move second child to first child (temp mediump 4-component vector of float)
+0:167 'v' (temp mediump 4-component vector of float)
+0:167 add (temp mediump 4-component vector of float)
+0:167 v: direct index for structure (in mediump 4-component vector of float)
+0:167 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s})
+0:167 Constant:
+0:167 1 (const int)
+0:167 vAnon: direct index for structure (layout(location=13 ) centroid in mediump 4-component vector of float)
+0:167 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon})
+0:167 Constant:
+0:167 1 (const uint)
+0:168 vector scale second child into first child (temp mediump 4-component vector of float)
+0:168 'v' (temp mediump 4-component vector of float)
+0:168 f: direct index for structure (in mediump float)
+0:168 direct index (temp block{in mediump float f})
+0:168 'arrayedInst' (in 4-element array of block{in mediump float f})
+0:168 Constant:
+0:168 2 (const int)
+0:168 Constant:
+0:168 0 (const int)
+0:169 vector scale second child into first child (temp mediump 4-component vector of float)
+0:169 'v' (temp mediump 4-component vector of float)
+0:169 f: direct index for structure (in mediump float)
+0:169 indirect index (temp block{in mediump float f})
+0:169 'arrayedInst' (in 4-element array of block{in mediump float f})
+0:169 'i' (uniform mediump int)
+0:169 Constant:
+0:169 0 (const int)
+0:179 Function Definition: foo_IO( (global void)
+0:179 Function Parameters:
+0:181 Sequence
+0:181 move second child to first child (temp highp float)
+0:181 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:181 Constant:
+0:181 0.200000
+0:182 'gl_Layer' (flat in highp int Layer)
+0:183 'gl_PrimitiveID' (flat in highp int PrimitiveID)
+0:184 Sequence
+0:184 move second child to first child (temp bool)
+0:184 'f' (temp bool)
+0:184 'gl_FrontFacing' (gl_FrontFacing bool Face)
+0:191 Function Definition: foo_GS( (global void)
+0:191 Function Parameters:
+0:193 Sequence
+0:193 Sequence
+0:193 move second child to first child (temp highp int)
+0:193 'l' (temp highp int)
+0:193 'gl_Layer' (flat in highp int Layer)
+0:194 Sequence
+0:194 move second child to first child (temp highp int)
+0:194 'p' (temp highp int)
+0:194 'gl_PrimitiveID' (flat in highp int PrimitiveID)
+0:207 Function Definition: pfooBad( (global void)
+0:207 Function Parameters:
+0:? Sequence
+0:210 move second child to first child (temp mediump 2-component vector of float)
+0:210 'h' (noContraction temp mediump 2-component vector of float)
+0:210 fma (global mediump 2-component vector of float)
+0:210 'inf' (smooth in mediump 2-component vector of float)
+0:210 'ing' (smooth in mediump 2-component vector of float)
+0:210 'h' (noContraction temp mediump 2-component vector of float)
+0:211 textureGatherOffset (global highp 4-component vector of float)
+0:211 direct index (temp highp sampler2D)
+0:211 'sArray' (uniform 4-element array of highp sampler2D)
+0:211 Constant:
+0:211 0 (const int)
+0:211 Constant:
+0:211 0.100000
+0:211 0.100000
+0:211 Convert float to int (temp highp 2-component vector of int)
+0:211 'inf' (smooth in mediump 2-component vector of float)
+0:212 textureGatherOffsets (global highp 4-component vector of float)
+0:212 direct index (temp highp sampler2D)
+0:212 'sArray' (uniform 4-element array of highp sampler2D)
+0:212 Constant:
+0:212 0 (const int)
+0:212 Constant:
+0:212 0.100000
+0:212 0.100000
+0:212 Constant:
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:217 Function Definition: pfoo( (global void)
+0:217 Function Parameters:
+0:? Sequence
+0:220 move second child to first child (temp mediump 2-component vector of float)
+0:220 'h' (noContraction temp mediump 2-component vector of float)
+0:220 fma (global mediump 2-component vector of float)
+0:220 'inf' (smooth in mediump 2-component vector of float)
+0:220 'ing' (smooth in mediump 2-component vector of float)
+0:220 'h' (noContraction temp mediump 2-component vector of float)
+0:221 textureGatherOffset (global highp 4-component vector of float)
+0:221 direct index (temp highp sampler2D)
+0:221 'sArray' (uniform 4-element array of highp sampler2D)
+0:221 Constant:
+0:221 0 (const int)
+0:221 Constant:
+0:221 0.100000
+0:221 0.100000
+0:221 Convert float to int (temp highp 2-component vector of int)
+0:221 'inf' (smooth in mediump 2-component vector of float)
+0:222 textureGatherOffsets (global highp 4-component vector of float)
+0:222 direct index (temp highp sampler2D)
+0:222 'sArray' (uniform 4-element array of highp sampler2D)
+0:222 Constant:
+0:222 0 (const int)
+0:222 Constant:
+0:222 0.100000
+0:222 0.100000
+0:222 Constant:
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:223 textureGatherOffsets (global highp 4-component vector of float)
+0:223 direct index (temp highp sampler2D)
+0:223 'sArray' (uniform 4-element array of highp sampler2D)
+0:223 Constant:
+0:223 0 (const int)
+0:223 Constant:
+0:223 0.100000
+0:223 0.100000
+0:223 'offsets' (uniform 4-element array of mediump 2-component vector of int)
+0:248 Function Definition: CAT( (global void)
+0:248 Function Parameters:
+0:250 Sequence
+0:250 Sequence
+0:250 move second child to first child (temp highp 4-component vector of float)
+0:250 'b4' (temp highp 4-component vector of float)
+0:250 texture (global highp 4-component vector of float)
+0:250 'CA4' (uniform highp samplerCubeArray)
+0:250 Constant:
+0:250 0.500000
+0:250 0.500000
+0:250 0.500000
+0:250 0.500000
+0:250 Constant:
+0:250 0.240000
+0:251 Sequence
+0:251 move second child to first child (temp highp 4-component vector of int)
+0:251 'b6' (temp highp 4-component vector of int)
+0:251 texture (global highp 4-component vector of int)
+0:251 'CA6' (uniform highp isamplerCubeArray)
+0:251 Constant:
+0:251 0.500000
+0:251 0.500000
+0:251 0.500000
+0:251 0.500000
+0:251 Constant:
+0:251 0.260000
+0:252 Sequence
+0:252 move second child to first child (temp highp 4-component vector of uint)
+0:252 'b7' (temp highp 4-component vector of uint)
+0:252 texture (global highp 4-component vector of uint)
+0:252 'CA7' (uniform highp usamplerCubeArray)
+0:252 Constant:
+0:252 0.500000
+0:252 0.500000
+0:252 0.500000
+0:252 0.500000
+0:252 Constant:
+0:252 0.270000
+0:255 Function Definition: badSample( (global void)
+0:255 Function Parameters:
+0:257 Sequence
+0:257 Sequence
+0:257 move second child to first child (temp lowp int)
+0:257 'a1' (temp lowp int)
+0:257 'gl_SampleID' (flat in lowp int SampleId)
+0:258 Sequence
+0:258 move second child to first child (temp mediump 2-component vector of float)
+0:258 'a2' (temp mediump 2-component vector of float)
+0:258 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
+0:259 Sequence
+0:259 move second child to first child (temp highp int)
+0:259 'a3' (temp highp int)
+0:259 direct index (flat temp highp int SampleMaskIn)
+0:259 'gl_SampleMaskIn' (flat in implicitly-sized array of highp int SampleMaskIn)
+0:259 Constant:
+0:259 0 (const int)
+0:260 move second child to first child (temp highp int)
+0:260 direct index (temp highp int SampleMaskIn)
+0:260 'gl_SampleMask' (out implicitly-sized array of highp int SampleMaskIn)
+0:260 Constant:
+0:260 0 (const int)
+0:260 'a3' (temp highp int)
+0:261 Sequence
+0:261 move second child to first child (temp mediump int)
+0:261 'n' (temp mediump int)
+0:261 'gl_NumSamples' (uniform lowp int)
+0:268 Function Definition: goodSample( (global void)
+0:268 Function Parameters:
+0:270 Sequence
+0:270 Sequence
+0:270 move second child to first child (temp lowp int)
+0:270 'a1' (temp lowp int)
+0:270 'gl_SampleID' (flat in lowp int SampleId)
+0:271 Sequence
+0:271 move second child to first child (temp mediump 2-component vector of float)
+0:271 'a2' (temp mediump 2-component vector of float)
+0:271 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
+0:272 Sequence
+0:272 move second child to first child (temp highp int)
+0:272 'a3' (temp highp int)
+0:272 direct index (flat temp highp int SampleMaskIn)
+0:272 'gl_SampleMaskIn' (flat in implicitly-sized array of highp int SampleMaskIn)
+0:272 Constant:
+0:272 0 (const int)
+0:273 move second child to first child (temp highp int)
+0:273 direct index (temp highp int SampleMaskIn)
+0:273 'gl_SampleMask' (out implicitly-sized array of highp int SampleMaskIn)
+0:273 Constant:
+0:273 0 (const int)
+0:273 'a3' (temp highp int)
+0:274 Sequence
+0:274 move second child to first child (temp mediump int)
+0:274 'n1' (temp mediump int)
+0:274 Constant:
+0:274 4 (const int)
+0:275 Sequence
+0:275 move second child to first child (temp mediump int)
+0:275 'n2' (temp mediump int)
+0:275 'gl_NumSamples' (uniform lowp int)
+0:283 Function Definition: badImageAtom( (global void)
+0:283 Function Parameters:
+0:? Sequence
+0:289 imageAtomicAdd (global highp int)
+0:289 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:289 'P' (uniform mediump 2-component vector of int)
+0:289 'dati' (temp mediump int)
+0:290 imageAtomicAdd (global highp uint)
+0:290 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:290 'P' (uniform mediump 2-component vector of int)
+0:290 'datu' (temp mediump uint)
+0:291 imageAtomicMin (global highp int)
+0:291 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:291 'P' (uniform mediump 2-component vector of int)
+0:291 'dati' (temp mediump int)
+0:292 imageAtomicMin (global highp uint)
+0:292 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:292 'P' (uniform mediump 2-component vector of int)
+0:292 'datu' (temp mediump uint)
+0:293 imageAtomicMax (global highp int)
+0:293 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:293 'P' (uniform mediump 2-component vector of int)
+0:293 'dati' (temp mediump int)
+0:294 imageAtomicMax (global highp uint)
+0:294 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:294 'P' (uniform mediump 2-component vector of int)
+0:294 'datu' (temp mediump uint)
+0:295 imageAtomicAnd (global highp int)
+0:295 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:295 'P' (uniform mediump 2-component vector of int)
+0:295 'dati' (temp mediump int)
+0:296 imageAtomicAnd (global highp uint)
+0:296 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:296 'P' (uniform mediump 2-component vector of int)
+0:296 'datu' (temp mediump uint)
+0:297 imageAtomicOr (global highp int)
+0:297 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:297 'P' (uniform mediump 2-component vector of int)
+0:297 'dati' (temp mediump int)
+0:298 imageAtomicOr (global highp uint)
+0:298 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:298 'P' (uniform mediump 2-component vector of int)
+0:298 'datu' (temp mediump uint)
+0:299 imageAtomicXor (global highp int)
+0:299 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:299 'P' (uniform mediump 2-component vector of int)
+0:299 'dati' (temp mediump int)
+0:300 imageAtomicXor (global highp uint)
+0:300 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:300 'P' (uniform mediump 2-component vector of int)
+0:300 'datu' (temp mediump uint)
+0:301 imageAtomicExchange (global highp int)
+0:301 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:301 'P' (uniform mediump 2-component vector of int)
+0:301 'dati' (temp mediump int)
+0:302 imageAtomicExchange (global highp uint)
+0:302 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:302 'P' (uniform mediump 2-component vector of int)
+0:302 'datu' (temp mediump uint)
+0:303 imageAtomicExchange (global highp float)
+0:303 'im2Df' (layout(r32f ) uniform highp image2D)
+0:303 'P' (uniform mediump 2-component vector of int)
+0:303 'datf' (temp mediump float)
+0:304 imageAtomicCompSwap (global highp int)
+0:304 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:304 'P' (uniform mediump 2-component vector of int)
+0:304 Constant:
+0:304 3 (const int)
+0:304 'dati' (temp mediump int)
+0:305 imageAtomicCompSwap (global highp uint)
+0:305 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:305 'P' (uniform mediump 2-component vector of int)
+0:305 Constant:
+0:305 5 (const uint)
+0:305 'datu' (temp mediump uint)
+0:316 Function Definition: goodImageAtom( (global void)
+0:316 Function Parameters:
+0:? Sequence
+0:322 imageAtomicAdd (global highp int)
+0:322 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:322 'P' (uniform mediump 2-component vector of int)
+0:322 'dati' (temp mediump int)
+0:323 imageAtomicAdd (global highp uint)
+0:323 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:323 'P' (uniform mediump 2-component vector of int)
+0:323 'datu' (temp mediump uint)
+0:324 imageAtomicMin (global highp int)
+0:324 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:324 'P' (uniform mediump 2-component vector of int)
+0:324 'dati' (temp mediump int)
+0:325 imageAtomicMin (global highp uint)
+0:325 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:325 'P' (uniform mediump 2-component vector of int)
+0:325 'datu' (temp mediump uint)
+0:326 imageAtomicMax (global highp int)
+0:326 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:326 'P' (uniform mediump 2-component vector of int)
+0:326 'dati' (temp mediump int)
+0:327 imageAtomicMax (global highp uint)
+0:327 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:327 'P' (uniform mediump 2-component vector of int)
+0:327 'datu' (temp mediump uint)
+0:328 imageAtomicAnd (global highp int)
+0:328 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:328 'P' (uniform mediump 2-component vector of int)
+0:328 'dati' (temp mediump int)
+0:329 imageAtomicAnd (global highp uint)
+0:329 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:329 'P' (uniform mediump 2-component vector of int)
+0:329 'datu' (temp mediump uint)
+0:330 imageAtomicOr (global highp int)
+0:330 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:330 'P' (uniform mediump 2-component vector of int)
+0:330 'dati' (temp mediump int)
+0:331 imageAtomicOr (global highp uint)
+0:331 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:331 'P' (uniform mediump 2-component vector of int)
+0:331 'datu' (temp mediump uint)
+0:332 imageAtomicXor (global highp int)
+0:332 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:332 'P' (uniform mediump 2-component vector of int)
+0:332 'dati' (temp mediump int)
+0:333 imageAtomicXor (global highp uint)
+0:333 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:333 'P' (uniform mediump 2-component vector of int)
+0:333 'datu' (temp mediump uint)
+0:334 imageAtomicExchange (global highp int)
+0:334 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:334 'P' (uniform mediump 2-component vector of int)
+0:334 'dati' (temp mediump int)
+0:335 imageAtomicExchange (global highp uint)
+0:335 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:335 'P' (uniform mediump 2-component vector of int)
+0:335 'datu' (temp mediump uint)
+0:336 imageAtomicExchange (global highp float)
+0:336 'im2Df' (layout(r32f ) uniform highp image2D)
+0:336 'P' (uniform mediump 2-component vector of int)
+0:336 'datf' (temp mediump float)
+0:337 imageAtomicCompSwap (global highp int)
+0:337 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:337 'P' (uniform mediump 2-component vector of int)
+0:337 Constant:
+0:337 3 (const int)
+0:337 'dati' (temp mediump int)
+0:338 imageAtomicCompSwap (global highp uint)
+0:338 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:338 'P' (uniform mediump 2-component vector of int)
+0:338 Constant:
+0:338 5 (const uint)
+0:338 'datu' (temp mediump uint)
+0:340 imageAtomicMax (global highp int)
+0:340 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D)
+0:340 'P' (uniform mediump 2-component vector of int)
+0:340 'dati' (temp mediump int)
+0:341 imageAtomicMax (global highp uint)
+0:341 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D)
+0:341 'P' (uniform mediump 2-component vector of int)
+0:341 'datu' (temp mediump uint)
+0:342 imageAtomicExchange (global highp float)
+0:342 'badIm2Df' (layout(rgba32f ) uniform highp image2D)
+0:342 'P' (uniform mediump 2-component vector of int)
+0:342 'datf' (temp mediump float)
+0:353 Function Definition: badInterp( (global void)
+0:353 Function Parameters:
+0:355 Sequence
+0:355 interpolateAtCentroid (global mediump 2-component vector of float)
+0:355 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:356 interpolateAtSample (global mediump 2-component vector of float)
+0:356 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:356 Constant:
+0:356 1 (const int)
+0:357 interpolateAtOffset (global mediump 2-component vector of float)
+0:357 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:357 Constant:
+0:357 0.200000
+0:357 0.200000
+0:369 Function Definition: interp( (global void)
+0:369 Function Parameters:
+0:? Sequence
+0:376 move second child to first child (temp mediump 2-component vector of float)
+0:376 'res2' (temp mediump 2-component vector of float)
+0:376 interpolateAtCentroid (global mediump 2-component vector of float)
+0:376 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:377 move second child to first child (temp mediump 4-component vector of float)
+0:377 'res4' (temp mediump 4-component vector of float)
+0:377 interpolateAtCentroid (global mediump 4-component vector of float)
+0:377 'colorSampIn' (smooth sample in mediump 4-component vector of float)
+0:378 move second child to first child (temp mediump 4-component vector of float)
+0:378 'res4' (temp mediump 4-component vector of float)
+0:378 interpolateAtCentroid (global mediump 4-component vector of float)
+0:378 'colorfsi' (flat sample in mediump 4-component vector of float)
+0:379 move second child to first child (temp mediump float)
+0:379 'res' (temp mediump float)
+0:379 interpolateAtCentroid (global mediump float)
+0:379 'scalarIn' (smooth in mediump float)
+0:380 'res3' (temp mediump 3-component vector of float)
+0:381 move second child to first child (temp mediump 3-component vector of float)
+0:381 'res3' (temp mediump 3-component vector of float)
+0:381 interpolateAtCentroid (global mediump 3-component vector of float)
+0:381 direct index (smooth sample temp mediump 3-component vector of float)
+0:381 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:381 Constant:
+0:381 2 (const int)
+0:382 move second child to first child (temp mediump 2-component vector of float)
+0:382 'res2' (temp mediump 2-component vector of float)
+0:382 interpolateAtCentroid (global mediump 2-component vector of float)
+0:382 vector swizzle (temp mediump 2-component vector of float)
+0:382 direct index (smooth sample temp mediump 3-component vector of float)
+0:382 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:382 Constant:
+0:382 2 (const int)
+0:382 Sequence
+0:382 Constant:
+0:382 0 (const int)
+0:382 Constant:
+0:382 1 (const int)
+0:384 'res3' (temp mediump 3-component vector of float)
+0:385 move second child to first child (temp mediump 3-component vector of float)
+0:385 'res3' (temp mediump 3-component vector of float)
+0:385 interpolateAtSample (global mediump 3-component vector of float)
+0:385 indirect index (smooth sample temp mediump 3-component vector of float)
+0:385 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:385 'i' (uniform mediump int)
+0:385 Constant:
+0:385 0 (const int)
+0:386 move second child to first child (temp mediump 2-component vector of float)
+0:386 'res2' (temp mediump 2-component vector of float)
+0:386 interpolateAtSample (global mediump 2-component vector of float)
+0:386 vector swizzle (temp mediump 2-component vector of float)
+0:386 direct index (smooth sample temp mediump 3-component vector of float)
+0:386 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:386 Constant:
+0:386 2 (const int)
+0:386 Sequence
+0:386 Constant:
+0:386 0 (const int)
+0:386 Constant:
+0:386 1 (const int)
+0:386 Constant:
+0:386 2 (const int)
+0:387 move second child to first child (temp mediump float)
+0:387 'res' (temp mediump float)
+0:387 interpolateAtSample (global mediump float)
+0:387 'scalarIn' (smooth in mediump float)
+0:387 Constant:
+0:387 1 (const int)
+0:389 'res3' (temp mediump 3-component vector of float)
+0:390 move second child to first child (temp mediump 3-component vector of float)
+0:390 'res3' (temp mediump 3-component vector of float)
+0:390 interpolateAtOffset (global mediump 3-component vector of float)
+0:390 direct index (smooth sample temp mediump 3-component vector of float)
+0:390 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:390 Constant:
+0:390 2 (const int)
+0:390 Constant:
+0:390 0.200000
+0:390 0.200000
+0:391 move second child to first child (temp mediump 2-component vector of float)
+0:391 'res2' (temp mediump 2-component vector of float)
+0:391 interpolateAtOffset (global mediump 2-component vector of float)
+0:391 vector swizzle (temp mediump 2-component vector of float)
+0:391 direct index (smooth sample temp mediump 3-component vector of float)
+0:391 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:391 Constant:
+0:391 2 (const int)
+0:391 Sequence
+0:391 Constant:
+0:391 0 (const int)
+0:391 Constant:
+0:391 1 (const int)
+0:391 Constant:
+0:391 0.200000
+0:391 0.200000
+0:392 move second child to first child (temp mediump float)
+0:392 'res' (temp mediump float)
+0:392 interpolateAtOffset (global mediump float)
+0:392 add (temp mediump float)
+0:392 'scalarIn' (smooth in mediump float)
+0:392 'scalarIn' (smooth in mediump float)
+0:392 Constant:
+0:392 0.200000
+0:392 0.200000
+0:393 move second child to first child (temp mediump float)
+0:393 'res' (temp mediump float)
+0:393 interpolateAtOffset (global mediump float)
+0:393 'scalarIn' (smooth in mediump float)
+0:393 Constant:
+0:393 0.200000
+0:393 0.200000
+0:396 move second child to first child (temp mediump float)
+0:396 'res' (temp mediump float)
+0:396 interpolateAtCentroid (global mediump float)
+0:396 'f' (temp mediump float)
+0:397 move second child to first child (temp mediump 4-component vector of float)
+0:397 'res4' (temp mediump 4-component vector of float)
+0:397 interpolateAtSample (global mediump 4-component vector of float)
+0:397 'outp' (out mediump 4-component vector of float)
+0:397 Constant:
+0:397 0 (const int)
+0:427 Function Definition: blendFoo( (temp void)
+0:427 Function Parameters:
+0:428 Function Definition: blendFoo(vf3; (global void)
+0:428 Function Parameters:
+0:428 'v' (in mediump 3-component vector of float)
+0:? Linker Objects
+0:? 'gl_FragCoord' (smooth in mediump 4-component vector of float)
+0:? 'v3' (layout(location=2 ) smooth in mediump 3-component vector of float)
+0:? 'yi' (layout(location=2 ) smooth in mediump 4X4 matrix of float)
+0:? 'arrayedSampler' (uniform 5-element array of highp sampler2D)
+0:? 'usamp2d' (uniform highp usampler2D)
+0:? 'samp2dr' (uniform mediump usampler2DRect)
+0:? 'isamp2DA' (uniform highp isampler2DArray)
+0:? 'c2D' (smooth in mediump 2-component vector of float)
+0:? 'i' (uniform mediump int)
+0:? 'outp' (out mediump 4-component vector of float)
+0:? 's1' (layout(binding=3 ) uniform highp sampler2D)
+0:? 's2' (layout(binding=3 ) uniform highp sampler2D)
+0:? 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
+0:? 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
+0:? 'iCube' (layout(binding=5 ) uniform lowp imageCube)
+0:? 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
+0:? 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
+0:? 'bbi' (layout(binding=1 column_major shared ) uniform block{layout(column_major shared ) uniform mediump int foo, layout(binding=2 column_major shared ) uniform mediump float f})
+0:? 'centroidIn' (centroid smooth in mediump 4-component vector of float)
+0:? 'bigl' (uniform mediump 4-component vector of float)
+0:? 'bigout1' (layout(location=40 ) out mediump 4-component vector of float)
+0:? 'bigout2' (layout(location=40 ) out mediump 4-component vector of float)
+0:? 'neg' (out mediump 4-component vector of float)
+0:? 'b430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer mediump int i})
+0:? 'bshari' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int i})
+0:? 'smoothIn' (smooth in mediump 4-component vector of float)
+0:? 'flatIn' (flat in mediump int)
+0:? 's2dms' (uniform highp sampler2DMS)
+0:? 'bout' (out bool)
+0:? 'imageOut' (out highp image2D)
+0:? 'mout' (out mediump 2X3 matrix of float)
+0:? 'inb' (smooth in bool)
+0:? 'ino' (smooth in highp sampler2D)
+0:? 'ina' (smooth in 4-element array of mediump float)
+0:? 'inaa' (smooth in 4-element array of 2-element array of mediump float)
+0:? 'ins' (smooth in structure{global mediump float f})
+0:? 'inasa' (smooth in 4-element array of structure{global mediump float f})
+0:? 'insa' (smooth in 4-element array of structure{global mediump float f})
+0:? 'inSA' (smooth in structure{global 4-element array of mediump float f})
+0:? 'inSS' (smooth in structure{global mediump float f, global structure{global mediump float f} s})
+0:? 'outbinst' (out block{out mediump int a})
+0:? 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s})
+0:? 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon})
+0:? 'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float)
+0:? 'arrayedInst' (in 4-element array of block{in mediump float f})
+0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:? 'inf' (smooth in mediump 2-component vector of float)
+0:? 'ing' (smooth in mediump 2-component vector of float)
+0:? 'offsets' (uniform 4-element array of mediump 2-component vector of int)
+0:? 'sArray' (uniform 4-element array of highp sampler2D)
+0:? 'sIndex' (uniform mediump int)
+0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
+0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump int i})
+0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer mediump int i})
+0:? 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:? 'constOffsets' (const 4-element array of mediump 2-component vector of int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 'CA1' (writeonly uniform highp imageCubeArray)
+0:? 'CA2' (writeonly uniform highp iimageCubeArray)
+0:? 'CA3' (writeonly uniform highp uimageCubeArray)
+0:? 'CA4' (uniform highp samplerCubeArray)
+0:? 'CA5' (uniform highp samplerCubeArrayShadow)
+0:? 'CA6' (uniform highp isamplerCubeArray)
+0:? 'CA7' (uniform highp usamplerCubeArray)
+0:? 'gl_SampleMaskIn' (flat in implicitly-sized array of highp int SampleMaskIn)
+0:? 'gl_SampleMask' (out implicitly-sized array of highp int SampleMaskIn)
+0:? 'im2Df' (layout(r32f ) uniform highp image2D)
+0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:? 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:? 'P' (uniform mediump 2-component vector of int)
+0:? 'badIm2Df' (layout(rgba32f ) uniform highp image2D)
+0:? 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D)
+0:? 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D)
+0:? 'colorSampInBad' (smooth sample in mediump 4-component vector of float)
+0:? 'colorCentroidBad' (centroid out mediump 4-component vector of float)
+0:? 'colorBadFlat' (flat out mediump 4-component vector of float)
+0:? 'colorBadSmooth' (smooth out mediump 4-component vector of float)
+0:? 'colorBadNo' (noperspective out mediump 4-component vector of float)
+0:? 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:? 'scalarIn' (smooth in mediump float)
+0:? 'colorSampIn' (smooth sample in mediump 4-component vector of float)
+0:? 'colorSampleBad' (sample out mediump 4-component vector of float)
+0:? 'colorfsi' (flat sample in mediump 4-component vector of float)
+0:? 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:? 'badout' (out mediump 4-component vector of float)
+0:? 'outAA' (out 2-element array of 2-element array of mediump 4-component vector of float)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers
+
+Shader version: 310
+Requested GL_EXT_shader_io_blocks
+Requested GL_EXT_texture_cube_map_array
+Requested GL_KHR_blend_equation_advanced
+Requested GL_OES_geometry_shader
+Requested GL_OES_gpu_shader5
+Requested GL_OES_sample_variables
+Requested GL_OES_shader_image_atomic
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_shader_multisample_interpolation
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+using early_fragment_tests
+using depth_any
+using blend_support_multiply blend_support_screen blend_support_overlay blend_support_darken blend_support_lighten blend_support_colordodge blend_support_colorburn blend_support_hardlight blend_support_softlight blend_support_difference blend_support_exclusion blend_support_hsl_hue blend_support_hsl_saturation blend_support_hsl_color blend_support_hsl_luminosity blend_support_all_equations
+ERROR: node is still EOpNull!
+0:21 Function Definition: main( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp highp 4-component vector of float)
+0:23 'v' (temp mediump 4-component vector of float)
+0:23 texture (global highp 4-component vector of float)
+0:23 indirect index (temp highp sampler2D)
+0:23 'arrayedSampler' (uniform 5-element array of highp sampler2D)
+0:23 'i' (uniform mediump int)
+0:23 'c2D' (smooth in mediump 2-component vector of float)
+0:28 Sequence
+0:28 move second child to first child (temp highp 4-component vector of float)
+0:28 'v4' (temp mediump 4-component vector of float)
+0:28 textureGather (global highp 4-component vector of float)
+0:28 direct index (temp highp sampler2D)
+0:28 'arrayedSampler' (uniform 5-element array of highp sampler2D)
+0:28 Constant:
+0:28 0 (const int)
+0:28 'c2D' (smooth in mediump 2-component vector of float)
+0:29 Sequence
+0:29 move second child to first child (temp highp 4-component vector of int)
+0:29 'iv4' (temp mediump 4-component vector of int)
+0:29 textureGatherOffset (global highp 4-component vector of int)
+0:29 'isamp2DA' (uniform highp isampler2DArray)
+0:29 Constant:
+0:29 0.100000
+0:29 0.100000
+0:29 0.100000
+0:29 Constant:
+0:29 1 (const int)
+0:29 1 (const int)
+0:29 Constant:
+0:29 3 (const int)
+0:30 move second child to first child (temp highp 4-component vector of int)
+0:30 'iv4' (temp mediump 4-component vector of int)
+0:30 textureGatherOffset (global highp 4-component vector of int)
+0:30 'isamp2DA' (uniform highp isampler2DArray)
+0:30 Constant:
+0:30 0.100000
+0:30 0.100000
+0:30 0.100000
+0:30 Constant:
+0:30 1 (const int)
+0:30 1 (const int)
+0:30 'i' (uniform mediump int)
+0:31 move second child to first child (temp highp 4-component vector of int)
+0:31 'iv4' (temp mediump 4-component vector of int)
+0:31 textureGatherOffset (global highp 4-component vector of int)
+0:31 'isamp2DA' (uniform highp isampler2DArray)
+0:31 Constant:
+0:31 0.100000
+0:31 0.100000
+0:31 0.100000
+0:31 Constant:
+0:31 1 (const int)
+0:31 1 (const int)
+0:31 Constant:
+0:31 4 (const int)
+0:32 move second child to first child (temp highp 4-component vector of int)
+0:32 'iv4' (temp mediump 4-component vector of int)
+0:32 textureGatherOffset (global highp 4-component vector of int)
+0:32 'isamp2DA' (uniform highp isampler2DArray)
+0:32 Constant:
+0:32 0.100000
+0:32 0.100000
+0:32 0.100000
+0:32 Constant:
+0:32 1 (const int)
+0:32 1 (const int)
+0:32 Constant:
+0:32 3 (const int)
+0:33 move second child to first child (temp highp 4-component vector of int)
+0:33 'iv4' (temp mediump 4-component vector of int)
+0:33 textureGatherOffset (global highp 4-component vector of int)
+0:33 'isamp2DA' (uniform highp isampler2DArray)
+0:33 Constant:
+0:33 0.100000
+0:33 0.100000
+0:33 0.100000
+0:33 Constant:
+0:33 0 (const int)
+0:33 0 (const int)
+0:34 move second child to first child (temp highp 4-component vector of int)
+0:34 'iv4' (temp mediump 4-component vector of int)
+0:34 textureGatherOffset (global highp 4-component vector of int)
+0:34 'isamp2DA' (uniform highp isampler2DArray)
+0:34 Constant:
+0:34 0.100000
+0:34 0.100000
+0:34 0.100000
+0:34 Construct ivec2 (temp highp 2-component vector of int)
+0:34 'i' (uniform mediump int)
+0:38 Function Definition: foo23( (global void)
+0:38 Function Parameters:
+0:? Sequence
+0:42 textureProjGradOffset (global highp 4-component vector of uint)
+0:42 'usamp2d' (uniform highp usampler2D)
+0:42 'outp' (out mediump 4-component vector of float)
+0:42 Constant:
+0:42 0.000000
+0:42 0.000000
+0:42 Constant:
+0:42 0.000000
+0:42 0.000000
+0:42 Convert float to int (temp highp 2-component vector of int)
+0:42 'c2D' (smooth in mediump 2-component vector of float)
+0:43 textureProjGradOffset (global highp 4-component vector of uint)
+0:43 'usamp2d' (uniform highp usampler2D)
+0:43 'outp' (out mediump 4-component vector of float)
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 Constant:
+0:43 3 (const int)
+0:43 4 (const int)
+0:44 textureProjGradOffset (global highp 4-component vector of uint)
+0:44 'usamp2d' (uniform highp usampler2D)
+0:44 'outp' (out mediump 4-component vector of float)
+0:44 Constant:
+0:44 0.000000
+0:44 0.000000
+0:44 Constant:
+0:44 0.000000
+0:44 0.000000
+0:44 Constant:
+0:44 15 (const int)
+0:44 16 (const int)
+0:45 textureProjGradOffset (global highp 4-component vector of uint)
+0:45 'usamp2d' (uniform highp usampler2D)
+0:45 'outp' (out mediump 4-component vector of float)
+0:45 Constant:
+0:45 0.000000
+0:45 0.000000
+0:45 Constant:
+0:45 0.000000
+0:45 0.000000
+0:45 Constant:
+0:45 -10 (const int)
+0:45 20 (const int)
+0:47 Test condition and select (temp void)
+0:47 Condition
+0:47 'gl_HelperInvocation' (in bool HelperInvocation)
+0:47 true case
+0:48 Pre-Increment (temp mediump 4-component vector of float)
+0:48 'outp' (out mediump 4-component vector of float)
+0:50 Sequence
+0:50 move second child to first child (temp mediump int)
+0:50 'sum' (temp mediump int)
+0:50 Constant:
+0:50 32 (const int)
+0:58 move second child to first child (temp bool)
+0:58 'b1' (temp bool)
+0:58 mix (global bool)
+0:58 'b2' (temp bool)
+0:58 'b3' (temp bool)
+0:58 'b' (temp bool)
+0:59 Sequence
+0:59 move second child to first child (temp mediump 3-component vector of uint)
+0:59 'um3' (temp mediump 3-component vector of uint)
+0:59 mix (global mediump 3-component vector of uint)
+0:59 Construct uvec3 (temp mediump 3-component vector of uint)
+0:59 Convert int to uint (temp mediump uint)
+0:59 'i' (uniform mediump int)
+0:59 Construct uvec3 (temp mediump 3-component vector of uint)
+0:59 Convert int to uint (temp mediump uint)
+0:59 'i' (uniform mediump int)
+0:59 Construct bvec3 (temp 3-component vector of bool)
+0:59 'b' (temp bool)
+0:60 Sequence
+0:60 move second child to first child (temp mediump 4-component vector of int)
+0:60 'im4' (temp mediump 4-component vector of int)
+0:60 mix (global mediump 4-component vector of int)
+0:60 Construct ivec4 (temp mediump 4-component vector of int)
+0:60 'i' (uniform mediump int)
+0:60 Construct ivec4 (temp mediump 4-component vector of int)
+0:60 'i' (uniform mediump int)
+0:60 Construct bvec4 (temp 4-component vector of bool)
+0:60 'b' (temp bool)
+0:98 Function Definition: foots( (global void)
+0:98 Function Parameters:
+0:100 Sequence
+0:100 Sequence
+0:100 move second child to first child (temp highp 2-component vector of int)
+0:100 'v2' (temp highp 2-component vector of int)
+0:100 textureSize (global highp 2-component vector of int)
+0:100 's1' (layout(binding=3 ) uniform highp sampler2D)
+0:100 Constant:
+0:100 2 (const int)
+0:101 Sequence
+0:101 move second child to first child (temp highp 3-component vector of int)
+0:101 'v3' (temp highp 3-component vector of int)
+0:101 textureSize (global highp 3-component vector of int)
+0:101 'isamp2DA' (uniform highp isampler2DArray)
+0:101 Constant:
+0:101 3 (const int)
+0:102 move second child to first child (temp highp 2-component vector of int)
+0:102 'v2' (temp highp 2-component vector of int)
+0:102 textureSize (global highp 2-component vector of int)
+0:102 's2dms' (uniform highp sampler2DMS)
+0:103 move second child to first child (temp highp 2-component vector of int)
+0:103 'v2' (temp highp 2-component vector of int)
+0:103 imageQuerySize (global highp 2-component vector of int)
+0:103 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
+0:104 move second child to first child (temp highp 3-component vector of int)
+0:104 'v3' (temp highp 3-component vector of int)
+0:104 imageQuerySize (global highp 3-component vector of int)
+0:104 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
+0:105 move second child to first child (temp highp 2-component vector of int)
+0:105 'v2' (temp highp 2-component vector of int)
+0:105 imageQuerySize (global highp 2-component vector of int)
+0:105 'iCube' (layout(binding=5 ) uniform lowp imageCube)
+0:106 move second child to first child (temp highp 3-component vector of int)
+0:106 'v3' (temp highp 3-component vector of int)
+0:106 imageQuerySize (global highp 3-component vector of int)
+0:106 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
+0:107 move second child to first child (temp highp 2-component vector of int)
+0:107 'v2' (temp highp 2-component vector of int)
+0:107 imageQuerySize (global highp 2-component vector of int)
+0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
+0:165 Function Definition: fooIO( (global void)
+0:165 Function Parameters:
+0:167 Sequence
+0:167 Sequence
+0:167 move second child to first child (temp mediump 4-component vector of float)
+0:167 'v' (temp mediump 4-component vector of float)
+0:167 add (temp mediump 4-component vector of float)
+0:167 v: direct index for structure (in mediump 4-component vector of float)
+0:167 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s})
+0:167 Constant:
+0:167 1 (const int)
+0:167 vAnon: direct index for structure (layout(location=13 ) centroid in mediump 4-component vector of float)
+0:167 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon})
+0:167 Constant:
+0:167 1 (const uint)
+0:168 vector scale second child into first child (temp mediump 4-component vector of float)
+0:168 'v' (temp mediump 4-component vector of float)
+0:168 f: direct index for structure (in mediump float)
+0:168 direct index (temp block{in mediump float f})
+0:168 'arrayedInst' (in 4-element array of block{in mediump float f})
+0:168 Constant:
+0:168 2 (const int)
+0:168 Constant:
+0:168 0 (const int)
+0:169 vector scale second child into first child (temp mediump 4-component vector of float)
+0:169 'v' (temp mediump 4-component vector of float)
+0:169 f: direct index for structure (in mediump float)
+0:169 indirect index (temp block{in mediump float f})
+0:169 'arrayedInst' (in 4-element array of block{in mediump float f})
+0:169 'i' (uniform mediump int)
+0:169 Constant:
+0:169 0 (const int)
+0:179 Function Definition: foo_IO( (global void)
+0:179 Function Parameters:
+0:181 Sequence
+0:181 move second child to first child (temp highp float)
+0:181 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:181 Constant:
+0:181 0.200000
+0:182 'gl_Layer' (flat in highp int Layer)
+0:183 'gl_PrimitiveID' (flat in highp int PrimitiveID)
+0:184 Sequence
+0:184 move second child to first child (temp bool)
+0:184 'f' (temp bool)
+0:184 'gl_FrontFacing' (gl_FrontFacing bool Face)
+0:191 Function Definition: foo_GS( (global void)
+0:191 Function Parameters:
+0:193 Sequence
+0:193 Sequence
+0:193 move second child to first child (temp highp int)
+0:193 'l' (temp highp int)
+0:193 'gl_Layer' (flat in highp int Layer)
+0:194 Sequence
+0:194 move second child to first child (temp highp int)
+0:194 'p' (temp highp int)
+0:194 'gl_PrimitiveID' (flat in highp int PrimitiveID)
+0:207 Function Definition: pfooBad( (global void)
+0:207 Function Parameters:
+0:? Sequence
+0:210 move second child to first child (temp mediump 2-component vector of float)
+0:210 'h' (noContraction temp mediump 2-component vector of float)
+0:210 fma (global mediump 2-component vector of float)
+0:210 'inf' (smooth in mediump 2-component vector of float)
+0:210 'ing' (smooth in mediump 2-component vector of float)
+0:210 'h' (noContraction temp mediump 2-component vector of float)
+0:211 textureGatherOffset (global highp 4-component vector of float)
+0:211 direct index (temp highp sampler2D)
+0:211 'sArray' (uniform 4-element array of highp sampler2D)
+0:211 Constant:
+0:211 0 (const int)
+0:211 Constant:
+0:211 0.100000
+0:211 0.100000
+0:211 Convert float to int (temp highp 2-component vector of int)
+0:211 'inf' (smooth in mediump 2-component vector of float)
+0:212 textureGatherOffsets (global highp 4-component vector of float)
+0:212 direct index (temp highp sampler2D)
+0:212 'sArray' (uniform 4-element array of highp sampler2D)
+0:212 Constant:
+0:212 0 (const int)
+0:212 Constant:
+0:212 0.100000
+0:212 0.100000
+0:212 Constant:
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:217 Function Definition: pfoo( (global void)
+0:217 Function Parameters:
+0:? Sequence
+0:220 move second child to first child (temp mediump 2-component vector of float)
+0:220 'h' (noContraction temp mediump 2-component vector of float)
+0:220 fma (global mediump 2-component vector of float)
+0:220 'inf' (smooth in mediump 2-component vector of float)
+0:220 'ing' (smooth in mediump 2-component vector of float)
+0:220 'h' (noContraction temp mediump 2-component vector of float)
+0:221 textureGatherOffset (global highp 4-component vector of float)
+0:221 direct index (temp highp sampler2D)
+0:221 'sArray' (uniform 4-element array of highp sampler2D)
+0:221 Constant:
+0:221 0 (const int)
+0:221 Constant:
+0:221 0.100000
+0:221 0.100000
+0:221 Convert float to int (temp highp 2-component vector of int)
+0:221 'inf' (smooth in mediump 2-component vector of float)
+0:222 textureGatherOffsets (global highp 4-component vector of float)
+0:222 direct index (temp highp sampler2D)
+0:222 'sArray' (uniform 4-element array of highp sampler2D)
+0:222 Constant:
+0:222 0 (const int)
+0:222 Constant:
+0:222 0.100000
+0:222 0.100000
+0:222 Constant:
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:223 textureGatherOffsets (global highp 4-component vector of float)
+0:223 direct index (temp highp sampler2D)
+0:223 'sArray' (uniform 4-element array of highp sampler2D)
+0:223 Constant:
+0:223 0 (const int)
+0:223 Constant:
+0:223 0.100000
+0:223 0.100000
+0:223 'offsets' (uniform 4-element array of mediump 2-component vector of int)
+0:248 Function Definition: CAT( (global void)
+0:248 Function Parameters:
+0:250 Sequence
+0:250 Sequence
+0:250 move second child to first child (temp highp 4-component vector of float)
+0:250 'b4' (temp highp 4-component vector of float)
+0:250 texture (global highp 4-component vector of float)
+0:250 'CA4' (uniform highp samplerCubeArray)
+0:250 Constant:
+0:250 0.500000
+0:250 0.500000
+0:250 0.500000
+0:250 0.500000
+0:250 Constant:
+0:250 0.240000
+0:251 Sequence
+0:251 move second child to first child (temp highp 4-component vector of int)
+0:251 'b6' (temp highp 4-component vector of int)
+0:251 texture (global highp 4-component vector of int)
+0:251 'CA6' (uniform highp isamplerCubeArray)
+0:251 Constant:
+0:251 0.500000
+0:251 0.500000
+0:251 0.500000
+0:251 0.500000
+0:251 Constant:
+0:251 0.260000
+0:252 Sequence
+0:252 move second child to first child (temp highp 4-component vector of uint)
+0:252 'b7' (temp highp 4-component vector of uint)
+0:252 texture (global highp 4-component vector of uint)
+0:252 'CA7' (uniform highp usamplerCubeArray)
+0:252 Constant:
+0:252 0.500000
+0:252 0.500000
+0:252 0.500000
+0:252 0.500000
+0:252 Constant:
+0:252 0.270000
+0:255 Function Definition: badSample( (global void)
+0:255 Function Parameters:
+0:257 Sequence
+0:257 Sequence
+0:257 move second child to first child (temp lowp int)
+0:257 'a1' (temp lowp int)
+0:257 'gl_SampleID' (flat in lowp int SampleId)
+0:258 Sequence
+0:258 move second child to first child (temp mediump 2-component vector of float)
+0:258 'a2' (temp mediump 2-component vector of float)
+0:258 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
+0:259 Sequence
+0:259 move second child to first child (temp highp int)
+0:259 'a3' (temp highp int)
+0:259 direct index (flat temp highp int SampleMaskIn)
+0:259 'gl_SampleMaskIn' (flat in 1-element array of highp int SampleMaskIn)
+0:259 Constant:
+0:259 0 (const int)
+0:260 move second child to first child (temp highp int)
+0:260 direct index (temp highp int SampleMaskIn)
+0:260 'gl_SampleMask' (out 1-element array of highp int SampleMaskIn)
+0:260 Constant:
+0:260 0 (const int)
+0:260 'a3' (temp highp int)
+0:261 Sequence
+0:261 move second child to first child (temp mediump int)
+0:261 'n' (temp mediump int)
+0:261 'gl_NumSamples' (uniform lowp int)
+0:268 Function Definition: goodSample( (global void)
+0:268 Function Parameters:
+0:270 Sequence
+0:270 Sequence
+0:270 move second child to first child (temp lowp int)
+0:270 'a1' (temp lowp int)
+0:270 'gl_SampleID' (flat in lowp int SampleId)
+0:271 Sequence
+0:271 move second child to first child (temp mediump 2-component vector of float)
+0:271 'a2' (temp mediump 2-component vector of float)
+0:271 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
+0:272 Sequence
+0:272 move second child to first child (temp highp int)
+0:272 'a3' (temp highp int)
+0:272 direct index (flat temp highp int SampleMaskIn)
+0:272 'gl_SampleMaskIn' (flat in 1-element array of highp int SampleMaskIn)
+0:272 Constant:
+0:272 0 (const int)
+0:273 move second child to first child (temp highp int)
+0:273 direct index (temp highp int SampleMaskIn)
+0:273 'gl_SampleMask' (out 1-element array of highp int SampleMaskIn)
+0:273 Constant:
+0:273 0 (const int)
+0:273 'a3' (temp highp int)
+0:274 Sequence
+0:274 move second child to first child (temp mediump int)
+0:274 'n1' (temp mediump int)
+0:274 Constant:
+0:274 4 (const int)
+0:275 Sequence
+0:275 move second child to first child (temp mediump int)
+0:275 'n2' (temp mediump int)
+0:275 'gl_NumSamples' (uniform lowp int)
+0:283 Function Definition: badImageAtom( (global void)
+0:283 Function Parameters:
+0:? Sequence
+0:289 imageAtomicAdd (global highp int)
+0:289 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:289 'P' (uniform mediump 2-component vector of int)
+0:289 'dati' (temp mediump int)
+0:290 imageAtomicAdd (global highp uint)
+0:290 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:290 'P' (uniform mediump 2-component vector of int)
+0:290 'datu' (temp mediump uint)
+0:291 imageAtomicMin (global highp int)
+0:291 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:291 'P' (uniform mediump 2-component vector of int)
+0:291 'dati' (temp mediump int)
+0:292 imageAtomicMin (global highp uint)
+0:292 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:292 'P' (uniform mediump 2-component vector of int)
+0:292 'datu' (temp mediump uint)
+0:293 imageAtomicMax (global highp int)
+0:293 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:293 'P' (uniform mediump 2-component vector of int)
+0:293 'dati' (temp mediump int)
+0:294 imageAtomicMax (global highp uint)
+0:294 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:294 'P' (uniform mediump 2-component vector of int)
+0:294 'datu' (temp mediump uint)
+0:295 imageAtomicAnd (global highp int)
+0:295 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:295 'P' (uniform mediump 2-component vector of int)
+0:295 'dati' (temp mediump int)
+0:296 imageAtomicAnd (global highp uint)
+0:296 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:296 'P' (uniform mediump 2-component vector of int)
+0:296 'datu' (temp mediump uint)
+0:297 imageAtomicOr (global highp int)
+0:297 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:297 'P' (uniform mediump 2-component vector of int)
+0:297 'dati' (temp mediump int)
+0:298 imageAtomicOr (global highp uint)
+0:298 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:298 'P' (uniform mediump 2-component vector of int)
+0:298 'datu' (temp mediump uint)
+0:299 imageAtomicXor (global highp int)
+0:299 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:299 'P' (uniform mediump 2-component vector of int)
+0:299 'dati' (temp mediump int)
+0:300 imageAtomicXor (global highp uint)
+0:300 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:300 'P' (uniform mediump 2-component vector of int)
+0:300 'datu' (temp mediump uint)
+0:301 imageAtomicExchange (global highp int)
+0:301 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:301 'P' (uniform mediump 2-component vector of int)
+0:301 'dati' (temp mediump int)
+0:302 imageAtomicExchange (global highp uint)
+0:302 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:302 'P' (uniform mediump 2-component vector of int)
+0:302 'datu' (temp mediump uint)
+0:303 imageAtomicExchange (global highp float)
+0:303 'im2Df' (layout(r32f ) uniform highp image2D)
+0:303 'P' (uniform mediump 2-component vector of int)
+0:303 'datf' (temp mediump float)
+0:304 imageAtomicCompSwap (global highp int)
+0:304 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:304 'P' (uniform mediump 2-component vector of int)
+0:304 Constant:
+0:304 3 (const int)
+0:304 'dati' (temp mediump int)
+0:305 imageAtomicCompSwap (global highp uint)
+0:305 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:305 'P' (uniform mediump 2-component vector of int)
+0:305 Constant:
+0:305 5 (const uint)
+0:305 'datu' (temp mediump uint)
+0:316 Function Definition: goodImageAtom( (global void)
+0:316 Function Parameters:
+0:? Sequence
+0:322 imageAtomicAdd (global highp int)
+0:322 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:322 'P' (uniform mediump 2-component vector of int)
+0:322 'dati' (temp mediump int)
+0:323 imageAtomicAdd (global highp uint)
+0:323 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:323 'P' (uniform mediump 2-component vector of int)
+0:323 'datu' (temp mediump uint)
+0:324 imageAtomicMin (global highp int)
+0:324 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:324 'P' (uniform mediump 2-component vector of int)
+0:324 'dati' (temp mediump int)
+0:325 imageAtomicMin (global highp uint)
+0:325 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:325 'P' (uniform mediump 2-component vector of int)
+0:325 'datu' (temp mediump uint)
+0:326 imageAtomicMax (global highp int)
+0:326 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:326 'P' (uniform mediump 2-component vector of int)
+0:326 'dati' (temp mediump int)
+0:327 imageAtomicMax (global highp uint)
+0:327 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:327 'P' (uniform mediump 2-component vector of int)
+0:327 'datu' (temp mediump uint)
+0:328 imageAtomicAnd (global highp int)
+0:328 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:328 'P' (uniform mediump 2-component vector of int)
+0:328 'dati' (temp mediump int)
+0:329 imageAtomicAnd (global highp uint)
+0:329 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:329 'P' (uniform mediump 2-component vector of int)
+0:329 'datu' (temp mediump uint)
+0:330 imageAtomicOr (global highp int)
+0:330 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:330 'P' (uniform mediump 2-component vector of int)
+0:330 'dati' (temp mediump int)
+0:331 imageAtomicOr (global highp uint)
+0:331 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:331 'P' (uniform mediump 2-component vector of int)
+0:331 'datu' (temp mediump uint)
+0:332 imageAtomicXor (global highp int)
+0:332 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:332 'P' (uniform mediump 2-component vector of int)
+0:332 'dati' (temp mediump int)
+0:333 imageAtomicXor (global highp uint)
+0:333 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:333 'P' (uniform mediump 2-component vector of int)
+0:333 'datu' (temp mediump uint)
+0:334 imageAtomicExchange (global highp int)
+0:334 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:334 'P' (uniform mediump 2-component vector of int)
+0:334 'dati' (temp mediump int)
+0:335 imageAtomicExchange (global highp uint)
+0:335 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:335 'P' (uniform mediump 2-component vector of int)
+0:335 'datu' (temp mediump uint)
+0:336 imageAtomicExchange (global highp float)
+0:336 'im2Df' (layout(r32f ) uniform highp image2D)
+0:336 'P' (uniform mediump 2-component vector of int)
+0:336 'datf' (temp mediump float)
+0:337 imageAtomicCompSwap (global highp int)
+0:337 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:337 'P' (uniform mediump 2-component vector of int)
+0:337 Constant:
+0:337 3 (const int)
+0:337 'dati' (temp mediump int)
+0:338 imageAtomicCompSwap (global highp uint)
+0:338 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:338 'P' (uniform mediump 2-component vector of int)
+0:338 Constant:
+0:338 5 (const uint)
+0:338 'datu' (temp mediump uint)
+0:340 imageAtomicMax (global highp int)
+0:340 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D)
+0:340 'P' (uniform mediump 2-component vector of int)
+0:340 'dati' (temp mediump int)
+0:341 imageAtomicMax (global highp uint)
+0:341 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D)
+0:341 'P' (uniform mediump 2-component vector of int)
+0:341 'datu' (temp mediump uint)
+0:342 imageAtomicExchange (global highp float)
+0:342 'badIm2Df' (layout(rgba32f ) uniform highp image2D)
+0:342 'P' (uniform mediump 2-component vector of int)
+0:342 'datf' (temp mediump float)
+0:353 Function Definition: badInterp( (global void)
+0:353 Function Parameters:
+0:355 Sequence
+0:355 interpolateAtCentroid (global mediump 2-component vector of float)
+0:355 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:356 interpolateAtSample (global mediump 2-component vector of float)
+0:356 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:356 Constant:
+0:356 1 (const int)
+0:357 interpolateAtOffset (global mediump 2-component vector of float)
+0:357 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:357 Constant:
+0:357 0.200000
+0:357 0.200000
+0:369 Function Definition: interp( (global void)
+0:369 Function Parameters:
+0:? Sequence
+0:376 move second child to first child (temp mediump 2-component vector of float)
+0:376 'res2' (temp mediump 2-component vector of float)
+0:376 interpolateAtCentroid (global mediump 2-component vector of float)
+0:376 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:377 move second child to first child (temp mediump 4-component vector of float)
+0:377 'res4' (temp mediump 4-component vector of float)
+0:377 interpolateAtCentroid (global mediump 4-component vector of float)
+0:377 'colorSampIn' (smooth sample in mediump 4-component vector of float)
+0:378 move second child to first child (temp mediump 4-component vector of float)
+0:378 'res4' (temp mediump 4-component vector of float)
+0:378 interpolateAtCentroid (global mediump 4-component vector of float)
+0:378 'colorfsi' (flat sample in mediump 4-component vector of float)
+0:379 move second child to first child (temp mediump float)
+0:379 'res' (temp mediump float)
+0:379 interpolateAtCentroid (global mediump float)
+0:379 'scalarIn' (smooth in mediump float)
+0:380 'res3' (temp mediump 3-component vector of float)
+0:381 move second child to first child (temp mediump 3-component vector of float)
+0:381 'res3' (temp mediump 3-component vector of float)
+0:381 interpolateAtCentroid (global mediump 3-component vector of float)
+0:381 direct index (smooth sample temp mediump 3-component vector of float)
+0:381 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:381 Constant:
+0:381 2 (const int)
+0:382 move second child to first child (temp mediump 2-component vector of float)
+0:382 'res2' (temp mediump 2-component vector of float)
+0:382 interpolateAtCentroid (global mediump 2-component vector of float)
+0:382 vector swizzle (temp mediump 2-component vector of float)
+0:382 direct index (smooth sample temp mediump 3-component vector of float)
+0:382 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:382 Constant:
+0:382 2 (const int)
+0:382 Sequence
+0:382 Constant:
+0:382 0 (const int)
+0:382 Constant:
+0:382 1 (const int)
+0:384 'res3' (temp mediump 3-component vector of float)
+0:385 move second child to first child (temp mediump 3-component vector of float)
+0:385 'res3' (temp mediump 3-component vector of float)
+0:385 interpolateAtSample (global mediump 3-component vector of float)
+0:385 indirect index (smooth sample temp mediump 3-component vector of float)
+0:385 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:385 'i' (uniform mediump int)
+0:385 Constant:
+0:385 0 (const int)
+0:386 move second child to first child (temp mediump 2-component vector of float)
+0:386 'res2' (temp mediump 2-component vector of float)
+0:386 interpolateAtSample (global mediump 2-component vector of float)
+0:386 vector swizzle (temp mediump 2-component vector of float)
+0:386 direct index (smooth sample temp mediump 3-component vector of float)
+0:386 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:386 Constant:
+0:386 2 (const int)
+0:386 Sequence
+0:386 Constant:
+0:386 0 (const int)
+0:386 Constant:
+0:386 1 (const int)
+0:386 Constant:
+0:386 2 (const int)
+0:387 move second child to first child (temp mediump float)
+0:387 'res' (temp mediump float)
+0:387 interpolateAtSample (global mediump float)
+0:387 'scalarIn' (smooth in mediump float)
+0:387 Constant:
+0:387 1 (const int)
+0:389 'res3' (temp mediump 3-component vector of float)
+0:390 move second child to first child (temp mediump 3-component vector of float)
+0:390 'res3' (temp mediump 3-component vector of float)
+0:390 interpolateAtOffset (global mediump 3-component vector of float)
+0:390 direct index (smooth sample temp mediump 3-component vector of float)
+0:390 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:390 Constant:
+0:390 2 (const int)
+0:390 Constant:
+0:390 0.200000
+0:390 0.200000
+0:391 move second child to first child (temp mediump 2-component vector of float)
+0:391 'res2' (temp mediump 2-component vector of float)
+0:391 interpolateAtOffset (global mediump 2-component vector of float)
+0:391 vector swizzle (temp mediump 2-component vector of float)
+0:391 direct index (smooth sample temp mediump 3-component vector of float)
+0:391 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:391 Constant:
+0:391 2 (const int)
+0:391 Sequence
+0:391 Constant:
+0:391 0 (const int)
+0:391 Constant:
+0:391 1 (const int)
+0:391 Constant:
+0:391 0.200000
+0:391 0.200000
+0:392 move second child to first child (temp mediump float)
+0:392 'res' (temp mediump float)
+0:392 interpolateAtOffset (global mediump float)
+0:392 add (temp mediump float)
+0:392 'scalarIn' (smooth in mediump float)
+0:392 'scalarIn' (smooth in mediump float)
+0:392 Constant:
+0:392 0.200000
+0:392 0.200000
+0:393 move second child to first child (temp mediump float)
+0:393 'res' (temp mediump float)
+0:393 interpolateAtOffset (global mediump float)
+0:393 'scalarIn' (smooth in mediump float)
+0:393 Constant:
+0:393 0.200000
+0:393 0.200000
+0:396 move second child to first child (temp mediump float)
+0:396 'res' (temp mediump float)
+0:396 interpolateAtCentroid (global mediump float)
+0:396 'f' (temp mediump float)
+0:397 move second child to first child (temp mediump 4-component vector of float)
+0:397 'res4' (temp mediump 4-component vector of float)
+0:397 interpolateAtSample (global mediump 4-component vector of float)
+0:397 'outp' (out mediump 4-component vector of float)
+0:397 Constant:
+0:397 0 (const int)
+0:427 Function Definition: blendFoo( (temp void)
+0:427 Function Parameters:
+0:428 Function Definition: blendFoo(vf3; (global void)
+0:428 Function Parameters:
+0:428 'v' (in mediump 3-component vector of float)
+0:? Linker Objects
+0:? 'gl_FragCoord' (smooth in mediump 4-component vector of float)
+0:? 'v3' (layout(location=2 ) smooth in mediump 3-component vector of float)
+0:? 'yi' (layout(location=2 ) smooth in mediump 4X4 matrix of float)
+0:? 'arrayedSampler' (uniform 5-element array of highp sampler2D)
+0:? 'usamp2d' (uniform highp usampler2D)
+0:? 'samp2dr' (uniform mediump usampler2DRect)
+0:? 'isamp2DA' (uniform highp isampler2DArray)
+0:? 'c2D' (smooth in mediump 2-component vector of float)
+0:? 'i' (uniform mediump int)
+0:? 'outp' (out mediump 4-component vector of float)
+0:? 's1' (layout(binding=3 ) uniform highp sampler2D)
+0:? 's2' (layout(binding=3 ) uniform highp sampler2D)
+0:? 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
+0:? 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
+0:? 'iCube' (layout(binding=5 ) uniform lowp imageCube)
+0:? 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
+0:? 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
+0:? 'bbi' (layout(binding=1 column_major shared ) uniform block{layout(column_major shared ) uniform mediump int foo, layout(binding=2 column_major shared ) uniform mediump float f})
+0:? 'centroidIn' (centroid smooth in mediump 4-component vector of float)
+0:? 'bigl' (uniform mediump 4-component vector of float)
+0:? 'bigout1' (layout(location=40 ) out mediump 4-component vector of float)
+0:? 'bigout2' (layout(location=40 ) out mediump 4-component vector of float)
+0:? 'neg' (out mediump 4-component vector of float)
+0:? 'b430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer mediump int i})
+0:? 'bshari' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int i})
+0:? 'smoothIn' (smooth in mediump 4-component vector of float)
+0:? 'flatIn' (flat in mediump int)
+0:? 's2dms' (uniform highp sampler2DMS)
+0:? 'bout' (out bool)
+0:? 'imageOut' (out highp image2D)
+0:? 'mout' (out mediump 2X3 matrix of float)
+0:? 'inb' (smooth in bool)
+0:? 'ino' (smooth in highp sampler2D)
+0:? 'ina' (smooth in 4-element array of mediump float)
+0:? 'inaa' (smooth in 4-element array of 2-element array of mediump float)
+0:? 'ins' (smooth in structure{global mediump float f})
+0:? 'inasa' (smooth in 4-element array of structure{global mediump float f})
+0:? 'insa' (smooth in 4-element array of structure{global mediump float f})
+0:? 'inSA' (smooth in structure{global 4-element array of mediump float f})
+0:? 'inSS' (smooth in structure{global mediump float f, global structure{global mediump float f} s})
+0:? 'outbinst' (out block{out mediump int a})
+0:? 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s})
+0:? 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon})
+0:? 'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float)
+0:? 'arrayedInst' (in 4-element array of block{in mediump float f})
+0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:? 'inf' (smooth in mediump 2-component vector of float)
+0:? 'ing' (smooth in mediump 2-component vector of float)
+0:? 'offsets' (uniform 4-element array of mediump 2-component vector of int)
+0:? 'sArray' (uniform 4-element array of highp sampler2D)
+0:? 'sIndex' (uniform mediump int)
+0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
+0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump int i})
+0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer mediump int i})
+0:? 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:? 'constOffsets' (const 4-element array of mediump 2-component vector of int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 'CA1' (writeonly uniform highp imageCubeArray)
+0:? 'CA2' (writeonly uniform highp iimageCubeArray)
+0:? 'CA3' (writeonly uniform highp uimageCubeArray)
+0:? 'CA4' (uniform highp samplerCubeArray)
+0:? 'CA5' (uniform highp samplerCubeArrayShadow)
+0:? 'CA6' (uniform highp isamplerCubeArray)
+0:? 'CA7' (uniform highp usamplerCubeArray)
+0:? 'gl_SampleMaskIn' (flat in 1-element array of highp int SampleMaskIn)
+0:? 'gl_SampleMask' (out 1-element array of highp int SampleMaskIn)
+0:? 'im2Df' (layout(r32f ) uniform highp image2D)
+0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:? 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:? 'P' (uniform mediump 2-component vector of int)
+0:? 'badIm2Df' (layout(rgba32f ) uniform highp image2D)
+0:? 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D)
+0:? 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D)
+0:? 'colorSampInBad' (smooth sample in mediump 4-component vector of float)
+0:? 'colorCentroidBad' (centroid out mediump 4-component vector of float)
+0:? 'colorBadFlat' (flat out mediump 4-component vector of float)
+0:? 'colorBadSmooth' (smooth out mediump 4-component vector of float)
+0:? 'colorBadNo' (noperspective out mediump 4-component vector of float)
+0:? 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:? 'scalarIn' (smooth in mediump float)
+0:? 'colorSampIn' (smooth sample in mediump 4-component vector of float)
+0:? 'colorSampleBad' (sample out mediump 4-component vector of float)
+0:? 'colorfsi' (flat sample in mediump 4-component vector of float)
+0:? 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:? 'badout' (out mediump 4-component vector of float)
+0:? 'outAA' (out 2-element array of 2-element array of mediump 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/310.geom.out b/chromium/third_party/glslang/src/Test/baseResults/310.geom.out
new file mode 100644
index 00000000000..888c14233f7
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/310.geom.out
@@ -0,0 +1,346 @@
+310.geom
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:29: 'fromVertex' : block instance name redefinition
+ERROR: 0:33: 'fromVertex' : redefinition
+ERROR: 0:35: 'fooC' : block instance name redefinition
+ERROR: 0:43: 'EmitStreamVertex' : no matching overloaded function found
+ERROR: 0:44: 'EndStreamPrimitive' : no matching overloaded function found
+ERROR: 0:47: 'gl_ClipDistance' : undeclared identifier
+ERROR: 0:47: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:48: 'gl_ClipDistance' : no such field in structure
+ERROR: 0:48: 'expression' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:47: 'assign' : l-value required (can't modify a const)
+ERROR: 0:55: 'selecting output stream' : not supported with this profile: es
+ERROR: 0:62: 'max_vertices' : too large, must be less than gl_MaxGeometryOutputVertices
+ERROR: 0:62: 'max_vertices' : cannot change previously set layout value
+ERROR: 0:63: 'max_vertices' : can only apply to a standalone qualifier
+ERROR: 0:68: 'points' : cannot change previously set output primitive
+ERROR: 0:69: 'points' : cannot change previously set output primitive
+ERROR: 0:70: 'triangle_strip' : cannot apply to input
+ERROR: 0:71: 'triangle_strip' : cannot apply to: uniform
+ERROR: 0:72: 'triangle_strip' : can only apply to a standalone qualifier
+ERROR: 0:73: 'triangle_strip' : can only apply to a standalone qualifier
+ERROR: 0:74: 'invocations' : can only apply to a standalone qualifier
+ERROR: 0:76: 'invocations' : can only apply to a standalone qualifier
+ERROR: 0:77: 'max_vertices' : can only apply to a standalone qualifier
+ERROR: 0:78: 'triangle_strip' : can only apply to a standalone qualifier
+ERROR: 0:81: 'lines' : cannot apply to 'out'
+ERROR: 0:83: 'triangles' : cannot change previously set input primitive
+ERROR: 0:84: 'triangles_adjacency' : cannot change previously set input primitive
+ERROR: 0:116: 'gl_ViewportIndex' : undeclared identifier
+ERROR: 0:117: 'gl_MaxViewports' : undeclared identifier
+ERROR: 0:123: 'lines_adjacency' : inconsistent input primitive for array size of explArrayBad
+ERROR: 0:124: 'in' : type must be an array: nonArrayed
+ERROR: 0:128: 'sample' : Reserved word.
+ERROR: 0:132: 'component' : not supported with this profile: es
+ERROR: 0:136: 'gl_MaxGeometryVaryingComponents' : undeclared identifier
+ERROR: 0:137: 'gl_VerticesIn' : undeclared identifier
+ERROR: 0:142: 'gl_PointSize' : required extension not requested: Possible extensions include:
+GL_EXT_geometry_point_size
+GL_OES_geometry_point_size
+ERROR: 0:143: 'gl_PointSize' : required extension not requested: Possible extensions include:
+GL_EXT_geometry_point_size
+GL_OES_geometry_point_size
+ERROR: 37 compilation errors. No code generated.
+
+
+Shader version: 310
+Requested GL_EXT_geometry_shader
+Requested GL_EXT_shader_io_blocks
+Requested GL_OES_geometry_point_size
+invocations = 4
+max_vertices = 200
+input primitive = lines_adjacency
+output primitive = triangle_strip
+ERROR: node is still EOpNull!
+0:39 Function Definition: main( (global void)
+0:39 Function Parameters:
+0:41 Sequence
+0:41 EmitVertex (global void)
+0:42 EndPrimitive (global void)
+0:43 Constant:
+0:43 0.000000
+0:44 Constant:
+0:44 0.000000
+0:46 move second child to first child (temp mediump 3-component vector of float)
+0:46 color: direct index for structure (layout(stream=0 ) out mediump 3-component vector of float)
+0:46 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
+0:46 Constant:
+0:46 0 (const uint)
+0:46 color: direct index for structure (in mediump 3-component vector of float)
+0:46 direct index (temp block{in mediump 3-component vector of float color})
+0:46 'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 0 (const int)
+0:47 move second child to first child (temp float)
+0:47 Constant:
+0:47 0.000000
+0:48 Constant:
+0:48 0.000000
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 gl_Position: direct index for structure (layout(stream=0 ) gl_Position highp 4-component vector of float Position)
+0:49 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
+0:49 Constant:
+0:49 0 (const uint)
+0:49 gl_Position: direct index for structure (in highp 4-component vector of float Position)
+0:49 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:49 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:49 Constant:
+0:49 0 (const int)
+0:49 Constant:
+0:49 0 (const int)
+0:51 move second child to first child (temp highp int)
+0:51 'gl_PrimitiveID' (layout(stream=0 ) out highp int PrimitiveID)
+0:51 'gl_PrimitiveIDIn' (in highp int PrimitiveID)
+0:52 move second child to first child (temp highp int)
+0:52 'gl_Layer' (layout(stream=0 ) out highp int Layer)
+0:52 Constant:
+0:52 2 (const int)
+0:63 Function Definition: foo(i1; (global void)
+0:63 Function Parameters:
+0:63 'a' (in highp int)
+0:65 Sequence
+0:65 move second child to first child (temp mediump 4-component vector of float)
+0:65 a: direct index for structure (layout(stream=0 ) out mediump 4-component vector of float)
+0:65 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
+0:65 Constant:
+0:65 0 (const int)
+0:65 Constant:
+0:65 1.000000
+0:65 1.000000
+0:65 1.000000
+0:65 1.000000
+0:114 Function Definition: fooe1( (global void)
+0:114 Function Parameters:
+0:116 Sequence
+0:116 'gl_ViewportIndex' (temp float)
+0:117 'gl_MaxViewports' (temp float)
+0:118 Constant:
+0:118 4 (const int)
+0:119 Sequence
+0:119 move second child to first child (temp highp int)
+0:119 'inv' (temp highp int)
+0:119 'gl_InvocationID' (in highp int InvocationID)
+0:134 Function Definition: notHere( (global void)
+0:134 Function Parameters:
+0:136 Sequence
+0:136 'gl_MaxGeometryVaryingComponents' (temp float)
+0:137 'gl_VerticesIn' (temp float)
+0:140 Function Definition: pointSize1( (global void)
+0:140 Function Parameters:
+0:142 Sequence
+0:142 Sequence
+0:142 move second child to first child (temp highp float)
+0:142 'ps' (temp highp float)
+0:142 gl_PointSize: direct index for structure (in highp float PointSize)
+0:142 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:142 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:142 Constant:
+0:142 3 (const int)
+0:142 Constant:
+0:142 1 (const int)
+0:143 move second child to first child (temp highp float)
+0:143 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
+0:143 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
+0:143 Constant:
+0:143 1 (const uint)
+0:143 'ps' (temp highp float)
+0:148 Function Definition: pointSize2( (global void)
+0:148 Function Parameters:
+0:150 Sequence
+0:150 Sequence
+0:150 move second child to first child (temp highp float)
+0:150 'ps' (temp highp float)
+0:150 gl_PointSize: direct index for structure (in highp float PointSize)
+0:150 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:150 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:150 Constant:
+0:150 3 (const int)
+0:150 Constant:
+0:150 1 (const int)
+0:151 move second child to first child (temp highp float)
+0:151 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
+0:151 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
+0:151 Constant:
+0:151 1 (const uint)
+0:151 'ps' (temp highp float)
+0:? Linker Objects
+0:? 'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
+0:? 'nonBlockUnsized' (in 4-element array of mediump 4-component vector of float)
+0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
+0:? 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:? 'ov4' (layout(stream=4 ) out mediump 4-component vector of float)
+0:? 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
+0:? 'badv4' (layout(stream=0 ) out mediump 4-component vector of float)
+0:? 'bad2v4' (in 4-element array of mediump 4-component vector of float)
+0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a})
+0:? 'outbi' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a, layout(stream=0 ) out highp int b, layout(stream=0 ) out highp int c})
+0:? 'insn' (in 4-element array of block{in highp int a15})
+0:? 'anon@2' (layout(stream=0 ) out block{layout(stream=0 ) out mediump float f15})
+0:? 'anon@3' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
+0:? 'summ' (const highp int)
+0:? 2752 (const int)
+0:? 'explArray' (in 4-element array of mediump 4-component vector of float)
+0:? 'explArrayBad' (in 5-element array of mediump 4-component vector of float)
+0:? 'nonArrayed' (in mediump 4-component vector of float)
+0:? 'myColor1' (layout(stream=0 ) flat out mediump 3-component vector of float)
+0:? 'myColor2' (layout(stream=0 ) centroid out mediump 3-component vector of float)
+0:? 'centr' (centroid in 4-element array of mediump 3-component vector of float)
+0:? 'perSampleColor' (layout(stream=0 ) sample out mediump 4-component vector of float)
+0:? 'comp' (layout(location=7 component=2 ) in 4-element array of mediump float)
+
+
+Linked geometry stage:
+
+
+Shader version: 310
+Requested GL_EXT_geometry_shader
+Requested GL_EXT_shader_io_blocks
+Requested GL_OES_geometry_point_size
+invocations = 4
+max_vertices = 200
+input primitive = lines_adjacency
+output primitive = triangle_strip
+ERROR: node is still EOpNull!
+0:39 Function Definition: main( (global void)
+0:39 Function Parameters:
+0:41 Sequence
+0:41 EmitVertex (global void)
+0:42 EndPrimitive (global void)
+0:43 Constant:
+0:43 0.000000
+0:44 Constant:
+0:44 0.000000
+0:46 move second child to first child (temp mediump 3-component vector of float)
+0:46 color: direct index for structure (layout(stream=0 ) out mediump 3-component vector of float)
+0:46 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
+0:46 Constant:
+0:46 0 (const uint)
+0:46 color: direct index for structure (in mediump 3-component vector of float)
+0:46 direct index (temp block{in mediump 3-component vector of float color})
+0:46 'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 0 (const int)
+0:47 move second child to first child (temp float)
+0:47 Constant:
+0:47 0.000000
+0:48 Constant:
+0:48 0.000000
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 gl_Position: direct index for structure (layout(stream=0 ) gl_Position highp 4-component vector of float Position)
+0:49 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
+0:49 Constant:
+0:49 0 (const uint)
+0:49 gl_Position: direct index for structure (in highp 4-component vector of float Position)
+0:49 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:49 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:49 Constant:
+0:49 0 (const int)
+0:49 Constant:
+0:49 0 (const int)
+0:51 move second child to first child (temp highp int)
+0:51 'gl_PrimitiveID' (layout(stream=0 ) out highp int PrimitiveID)
+0:51 'gl_PrimitiveIDIn' (in highp int PrimitiveID)
+0:52 move second child to first child (temp highp int)
+0:52 'gl_Layer' (layout(stream=0 ) out highp int Layer)
+0:52 Constant:
+0:52 2 (const int)
+0:63 Function Definition: foo(i1; (global void)
+0:63 Function Parameters:
+0:63 'a' (in highp int)
+0:65 Sequence
+0:65 move second child to first child (temp mediump 4-component vector of float)
+0:65 a: direct index for structure (layout(stream=0 ) out mediump 4-component vector of float)
+0:65 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
+0:65 Constant:
+0:65 0 (const int)
+0:65 Constant:
+0:65 1.000000
+0:65 1.000000
+0:65 1.000000
+0:65 1.000000
+0:114 Function Definition: fooe1( (global void)
+0:114 Function Parameters:
+0:116 Sequence
+0:116 'gl_ViewportIndex' (temp float)
+0:117 'gl_MaxViewports' (temp float)
+0:118 Constant:
+0:118 4 (const int)
+0:119 Sequence
+0:119 move second child to first child (temp highp int)
+0:119 'inv' (temp highp int)
+0:119 'gl_InvocationID' (in highp int InvocationID)
+0:134 Function Definition: notHere( (global void)
+0:134 Function Parameters:
+0:136 Sequence
+0:136 'gl_MaxGeometryVaryingComponents' (temp float)
+0:137 'gl_VerticesIn' (temp float)
+0:140 Function Definition: pointSize1( (global void)
+0:140 Function Parameters:
+0:142 Sequence
+0:142 Sequence
+0:142 move second child to first child (temp highp float)
+0:142 'ps' (temp highp float)
+0:142 gl_PointSize: direct index for structure (in highp float PointSize)
+0:142 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:142 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:142 Constant:
+0:142 3 (const int)
+0:142 Constant:
+0:142 1 (const int)
+0:143 move second child to first child (temp highp float)
+0:143 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
+0:143 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
+0:143 Constant:
+0:143 1 (const uint)
+0:143 'ps' (temp highp float)
+0:148 Function Definition: pointSize2( (global void)
+0:148 Function Parameters:
+0:150 Sequence
+0:150 Sequence
+0:150 move second child to first child (temp highp float)
+0:150 'ps' (temp highp float)
+0:150 gl_PointSize: direct index for structure (in highp float PointSize)
+0:150 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:150 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:150 Constant:
+0:150 3 (const int)
+0:150 Constant:
+0:150 1 (const int)
+0:151 move second child to first child (temp highp float)
+0:151 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
+0:151 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
+0:151 Constant:
+0:151 1 (const uint)
+0:151 'ps' (temp highp float)
+0:? Linker Objects
+0:? 'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
+0:? 'nonBlockUnsized' (in 4-element array of mediump 4-component vector of float)
+0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
+0:? 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:? 'ov4' (layout(stream=4 ) out mediump 4-component vector of float)
+0:? 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
+0:? 'badv4' (layout(stream=0 ) out mediump 4-component vector of float)
+0:? 'bad2v4' (in 4-element array of mediump 4-component vector of float)
+0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a})
+0:? 'outbi' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a, layout(stream=0 ) out highp int b, layout(stream=0 ) out highp int c})
+0:? 'insn' (in 4-element array of block{in highp int a15})
+0:? 'anon@2' (layout(stream=0 ) out block{layout(stream=0 ) out mediump float f15})
+0:? 'anon@3' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
+0:? 'summ' (const highp int)
+0:? 2752 (const int)
+0:? 'explArray' (in 4-element array of mediump 4-component vector of float)
+0:? 'explArrayBad' (in 5-element array of mediump 4-component vector of float)
+0:? 'nonArrayed' (in mediump 4-component vector of float)
+0:? 'myColor1' (layout(stream=0 ) flat out mediump 3-component vector of float)
+0:? 'myColor2' (layout(stream=0 ) centroid out mediump 3-component vector of float)
+0:? 'centr' (centroid in 4-element array of mediump 3-component vector of float)
+0:? 'perSampleColor' (layout(stream=0 ) sample out mediump 4-component vector of float)
+0:? 'comp' (layout(location=7 component=2 ) in 4-element array of mediump float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/310.tesc.out b/chromium/third_party/glslang/src/Test/baseResults/310.tesc.out
new file mode 100644
index 00000000000..24e3d209594
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/310.tesc.out
@@ -0,0 +1,709 @@
+310.tesc
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:8: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:9: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:10: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:12: 'patch' : can only use on output in tessellation-control shader
+ERROR: 0:26: 'gl_PointSize' : required extension not requested: Possible extensions include:
+GL_EXT_tessellation_point_size
+GL_OES_tessellation_point_size
+ERROR: 0:27: 'gl_ClipDistance' : no such field in structure
+ERROR: 0:27: 'expression' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:34: 'gl_PointSize' : required extension not requested: Possible extensions include:
+GL_EXT_tessellation_point_size
+GL_OES_tessellation_point_size
+ERROR: 0:35: 'gl_ClipDistance' : no such field in structure
+ERROR: 0:35: 'expression' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:35: 'assign' : l-value required (can't modify a const)
+ERROR: 0:41: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:43: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:48: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:53: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:56: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:63: '' : tessellation control barrier() cannot be placed after a return from main()
+ERROR: 0:66: 'vertices' : can only apply to 'out'
+ERROR: 0:67: 'vertices' : cannot change previously set layout value
+ERROR: 0:71: '[' : array index out of range '4'
+ERROR: 0:73: '' : tessellation control barrier() must be in main()
+ERROR: 0:76: 'in' : type must be an array: ina
+ERROR: 0:78: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:80: '' : array size required
+ERROR: 0:86: 'location' : overlapping use of location 4
+ERROR: 0:90: 'location' : overlapping use of location 4
+ERROR: 0:94: 'precise' : Reserved word.
+ERROR: 0:94: 'precise' : not supported for this version or the enabled extensions
+ERROR: 0:95: 'fma' : required extension not requested: Possible extensions include:
+GL_EXT_gpu_shader5
+GL_OES_gpu_shader5
+ERROR: 0:104: 'sample' : Reserved word.
+ERROR: 0:106: 'vertices' : can only apply to a standalone qualifier
+ERROR: 0:107: 'vertices' : inconsistent output number of vertices for array size of misSized
+ERROR: 0:133: 'gl_BoundingBoxOES' : required extension not requested: Possible extensions include:
+GL_EXT_primitive_bounding_box
+GL_OES_primitive_bounding_box
+ERROR: 0:142: '[' : array index out of range '2'
+ERROR: 0:145: '' : array size required
+ERROR: 0:161: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID
+ERROR: 0:162: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID
+ERROR: 0:165: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID
+ERROR: 38 compilation errors. No code generated.
+
+
+Shader version: 310
+Requested GL_ARB_separate_shader_objects
+Requested GL_OES_gpu_shader5
+Requested GL_OES_primitive_bounding_box
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_tessellation_point_size
+Requested GL_OES_tessellation_shader
+vertices = 4
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Barrier (global void)
+0:19 Sequence
+0:19 move second child to first child (temp highp int)
+0:19 'a' (temp highp int)
+0:19 Constant:
+0:19 5392 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp highp 4-component vector of float)
+0:25 'p' (temp highp 4-component vector of float)
+0:25 gl_Position: direct index for structure (in highp 4-component vector of float Position)
+0:25 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:25 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:25 Constant:
+0:25 1 (const int)
+0:25 Constant:
+0:25 0 (const int)
+0:26 Sequence
+0:26 move second child to first child (temp highp float)
+0:26 'ps' (temp highp float)
+0:26 gl_PointSize: direct index for structure (in highp float PointSize)
+0:26 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:26 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:26 Constant:
+0:26 1 (const int)
+0:26 Constant:
+0:26 1 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp highp float)
+0:27 'cd' (temp highp float)
+0:27 Constant:
+0:27 0.000000
+0:29 Sequence
+0:29 move second child to first child (temp highp int)
+0:29 'pvi' (temp highp int)
+0:29 'gl_PatchVerticesIn' (in highp int PatchVertices)
+0:30 Sequence
+0:30 move second child to first child (temp highp int)
+0:30 'pid' (temp highp int)
+0:30 'gl_PrimitiveID' (in highp int PrimitiveID)
+0:31 Sequence
+0:31 move second child to first child (temp highp int)
+0:31 'iid' (temp highp int)
+0:31 'gl_InvocationID' (in highp int InvocationID)
+0:33 move second child to first child (temp highp 4-component vector of float)
+0:33 gl_Position: direct index for structure (out highp 4-component vector of float Position)
+0:33 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:33 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:33 'gl_InvocationID' (in highp int InvocationID)
+0:33 Constant:
+0:33 0 (const int)
+0:33 'p' (temp highp 4-component vector of float)
+0:34 move second child to first child (temp highp float)
+0:34 gl_PointSize: direct index for structure (out highp float PointSize)
+0:34 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:34 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:34 'gl_InvocationID' (in highp int InvocationID)
+0:34 Constant:
+0:34 1 (const int)
+0:34 'ps' (temp highp float)
+0:35 move second child to first child (temp highp float)
+0:35 Constant:
+0:35 0.000000
+0:35 'cd' (temp highp float)
+0:37 move second child to first child (temp highp float)
+0:37 direct index (patch temp highp float TessLevelOuter)
+0:37 'gl_TessLevelOuter' (patch out 4-element array of highp float TessLevelOuter)
+0:37 Constant:
+0:37 3 (const int)
+0:37 Constant:
+0:37 3.200000
+0:38 move second child to first child (temp highp float)
+0:38 direct index (patch temp highp float TessLevelInner)
+0:38 'gl_TessLevelInner' (patch out 2-element array of highp float TessLevelInner)
+0:38 Constant:
+0:38 1 (const int)
+0:38 Constant:
+0:38 1.300000
+0:40 Test condition and select (temp void)
+0:40 Condition
+0:40 Compare Greater Than (temp bool)
+0:40 'a' (temp highp int)
+0:40 Constant:
+0:40 10 (const int)
+0:40 true case
+0:41 Barrier (global void)
+0:40 false case
+0:43 Barrier (global void)
+0:45 Barrier (global void)
+0:49 Loop with condition not tested first
+0:49 Loop Condition
+0:49 Compare Greater Than (temp bool)
+0:49 'a' (temp highp int)
+0:49 Constant:
+0:49 10 (const int)
+0:49 Loop Body
+0:48 Sequence
+0:48 Barrier (global void)
+0:51 switch
+0:51 condition
+0:51 'a' (temp highp int)
+0:51 body
+0:51 Sequence
+0:52 default:
+0:? Sequence
+0:53 Barrier (global void)
+0:54 Branch: Break
+0:56 Test condition and select (temp highp int)
+0:56 Condition
+0:56 Compare Less Than (temp bool)
+0:56 'a' (temp highp int)
+0:56 Constant:
+0:56 12 (const int)
+0:56 true case
+0:56 'a' (temp highp int)
+0:56 false case
+0:56 Comma (temp highp int)
+0:56 Barrier (global void)
+0:56 'a' (temp highp int)
+0:58 Sequence
+0:58 Barrier (global void)
+0:61 Branch: Return
+0:63 Barrier (global void)
+0:69 Function Definition: foo( (global void)
+0:69 Function Parameters:
+0:71 Sequence
+0:71 gl_Position: direct index for structure (out highp 4-component vector of float Position)
+0:71 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:71 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:71 Constant:
+0:71 4 (const int)
+0:71 Constant:
+0:71 0 (const int)
+0:73 Barrier (global void)
+0:92 Function Definition: foop( (global void)
+0:92 Function Parameters:
+0:? Sequence
+0:95 move second child to first child (temp highp float)
+0:95 'd' (noContraction temp highp float)
+0:95 fma (global highp float)
+0:95 'd' (noContraction temp highp float)
+0:95 'd' (noContraction temp highp float)
+0:95 'd' (noContraction temp highp float)
+0:112 Function Definition: pointSize2( (global void)
+0:112 Function Parameters:
+0:114 Sequence
+0:114 Sequence
+0:114 move second child to first child (temp highp float)
+0:114 'ps' (temp highp float)
+0:114 gl_PointSize: direct index for structure (in highp float PointSize)
+0:114 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:114 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:114 Constant:
+0:114 1 (const int)
+0:114 Constant:
+0:114 1 (const int)
+0:115 move second child to first child (temp highp float)
+0:115 gl_PointSize: direct index for structure (out highp float PointSize)
+0:115 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:115 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:115 'gl_InvocationID' (in highp int InvocationID)
+0:115 Constant:
+0:115 1 (const int)
+0:115 'ps' (temp highp float)
+0:122 Function Definition: goodfoop( (global void)
+0:122 Function Parameters:
+0:? Sequence
+0:126 multiply second child into first child (temp highp 3-component vector of float)
+0:126 'pv3' (noContraction temp highp 3-component vector of float)
+0:126 'pv3' (noContraction temp highp 3-component vector of float)
+0:127 move second child to first child (temp highp 3-component vector of float)
+0:127 'pv3' (noContraction temp highp 3-component vector of float)
+0:127 fma (global highp 3-component vector of float)
+0:127 'pv3' (noContraction temp highp 3-component vector of float)
+0:127 'pv3' (noContraction temp highp 3-component vector of float)
+0:127 'pv3' (noContraction temp highp 3-component vector of float)
+0:128 move second child to first child (temp highp float)
+0:128 'd' (noContraction temp highp float)
+0:128 fma (global highp float)
+0:128 'd' (noContraction temp highp float)
+0:128 'd' (noContraction temp highp float)
+0:128 'd' (noContraction temp highp float)
+0:131 Function Definition: bbBad( (global void)
+0:131 Function Parameters:
+0:133 Sequence
+0:133 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:138 Function Definition: bb( (global void)
+0:138 Function Parameters:
+0:140 Sequence
+0:140 move second child to first child (temp highp 4-component vector of float)
+0:140 direct index (patch temp highp 4-component vector of float BoundingBox)
+0:140 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:140 Constant:
+0:140 0 (const int)
+0:140 Constant:
+0:140 0.000000
+0:140 0.000000
+0:140 0.000000
+0:140 0.000000
+0:141 move second child to first child (temp highp 4-component vector of float)
+0:141 direct index (patch temp highp 4-component vector of float BoundingBox)
+0:141 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:141 Constant:
+0:141 1 (const int)
+0:141 Constant:
+0:141 1.000000
+0:141 1.000000
+0:141 1.000000
+0:141 1.000000
+0:142 move second child to first child (temp highp 4-component vector of float)
+0:142 direct index (patch temp highp 4-component vector of float BoundingBox)
+0:142 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:142 Constant:
+0:142 2 (const int)
+0:142 Constant:
+0:142 2.000000
+0:142 2.000000
+0:142 2.000000
+0:142 2.000000
+0:153 Function Definition: outputtingOutparam(i1; (global void)
+0:153 Function Parameters:
+0:153 'a' (out highp int)
+0:155 Sequence
+0:155 move second child to first child (temp highp int)
+0:155 'a' (out highp int)
+0:155 Constant:
+0:155 2 (const int)
+0:158 Function Definition: outputting( (global void)
+0:158 Function Parameters:
+0:160 Sequence
+0:160 move second child to first child (temp highp int)
+0:160 indirect index (temp highp int)
+0:160 'outa' (out 4-element array of highp int)
+0:160 'gl_InvocationID' (in highp int InvocationID)
+0:160 Constant:
+0:160 2 (const int)
+0:161 move second child to first child (temp highp int)
+0:161 direct index (temp highp int)
+0:161 'outa' (out 4-element array of highp int)
+0:161 Constant:
+0:161 1 (const int)
+0:161 Constant:
+0:161 2 (const int)
+0:162 move second child to first child (temp highp 4-component vector of float)
+0:162 gl_Position: direct index for structure (out highp 4-component vector of float Position)
+0:162 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:162 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:162 Constant:
+0:162 0 (const int)
+0:162 Constant:
+0:162 0 (const int)
+0:162 Constant:
+0:162 1.000000
+0:162 1.000000
+0:162 1.000000
+0:162 1.000000
+0:163 direct index (temp highp int)
+0:163 'outa' (out 4-element array of highp int)
+0:163 Constant:
+0:163 1 (const int)
+0:164 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:164 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:164 Constant:
+0:164 0 (const int)
+0:165 Function Call: outputtingOutparam(i1; (global void)
+0:165 direct index (temp highp int)
+0:165 'outa' (out 4-element array of highp int)
+0:165 Constant:
+0:165 0 (const int)
+0:166 Function Call: outputtingOutparam(i1; (global void)
+0:166 indirect index (temp highp int)
+0:166 'outa' (out 4-element array of highp int)
+0:166 'gl_InvocationID' (in highp int InvocationID)
+0:167 move second child to first child (temp highp float)
+0:167 f: direct index for structure (out highp float)
+0:167 direct index (patch temp block{out highp float f})
+0:167 'patchIName' (patch out 4-element array of block{out highp float f})
+0:167 Constant:
+0:167 1 (const int)
+0:167 Constant:
+0:167 0 (const int)
+0:167 Constant:
+0:167 3.140000
+0:168 move second child to first child (temp highp int)
+0:168 indirect index (temp highp int)
+0:168 'outa' (out 4-element array of highp int)
+0:168 'gl_InvocationID' (in highp int InvocationID)
+0:168 Constant:
+0:168 2 (const int)
+0:? Linker Objects
+0:? 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:? 'outa' (out 4-element array of highp int)
+0:? 'patchIn' (patch in highp 4-component vector of float)
+0:? 'patchOut' (patch out highp 4-component vector of float)
+0:? 'ina' (in highp 2-component vector of float)
+0:? 'inb' (in 32-element array of highp 2-component vector of float)
+0:? 'inc' (in 32-element array of highp 2-component vector of float)
+0:? 'ind' (in 32-element array of highp 2-component vector of float)
+0:? 'implA' (patch out implicitly-sized array of highp float)
+0:? 'ivla' (layout(location=3 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlb' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlc' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
+0:? 'ovla' (layout(location=3 ) out 4-element array of highp 4-component vector of float)
+0:? 'ovlb' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
+0:? 'ovlc' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
+0:? 'pinbi' (patch out block{out highp int a})
+0:? 'myColor2' (centroid out 4-element array of highp 3-component vector of float)
+0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
+0:? 'perSampleColor' (sample out 4-element array of highp 4-component vector of float)
+0:? 'badlay' (out 4-element array of highp float)
+0:? 'misSized' (out 5-element array of highp float)
+0:? 'okaySize' (out 4-element array of highp float)
+0:? 'pv3' (noContraction temp highp 3-component vector of float)
+0:? 'badpatchIName' (patch out implicitly-sized array of block{out highp float f})
+0:? 'patchIName' (patch out 4-element array of block{out highp float f})
+
+
+Linked tessellation control stage:
+
+
+Shader version: 310
+Requested GL_ARB_separate_shader_objects
+Requested GL_OES_gpu_shader5
+Requested GL_OES_primitive_bounding_box
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_tessellation_point_size
+Requested GL_OES_tessellation_shader
+vertices = 4
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Barrier (global void)
+0:19 Sequence
+0:19 move second child to first child (temp highp int)
+0:19 'a' (temp highp int)
+0:19 Constant:
+0:19 5392 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp highp 4-component vector of float)
+0:25 'p' (temp highp 4-component vector of float)
+0:25 gl_Position: direct index for structure (in highp 4-component vector of float Position)
+0:25 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:25 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:25 Constant:
+0:25 1 (const int)
+0:25 Constant:
+0:25 0 (const int)
+0:26 Sequence
+0:26 move second child to first child (temp highp float)
+0:26 'ps' (temp highp float)
+0:26 gl_PointSize: direct index for structure (in highp float PointSize)
+0:26 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:26 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:26 Constant:
+0:26 1 (const int)
+0:26 Constant:
+0:26 1 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp highp float)
+0:27 'cd' (temp highp float)
+0:27 Constant:
+0:27 0.000000
+0:29 Sequence
+0:29 move second child to first child (temp highp int)
+0:29 'pvi' (temp highp int)
+0:29 'gl_PatchVerticesIn' (in highp int PatchVertices)
+0:30 Sequence
+0:30 move second child to first child (temp highp int)
+0:30 'pid' (temp highp int)
+0:30 'gl_PrimitiveID' (in highp int PrimitiveID)
+0:31 Sequence
+0:31 move second child to first child (temp highp int)
+0:31 'iid' (temp highp int)
+0:31 'gl_InvocationID' (in highp int InvocationID)
+0:33 move second child to first child (temp highp 4-component vector of float)
+0:33 gl_Position: direct index for structure (out highp 4-component vector of float Position)
+0:33 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:33 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:33 'gl_InvocationID' (in highp int InvocationID)
+0:33 Constant:
+0:33 0 (const int)
+0:33 'p' (temp highp 4-component vector of float)
+0:34 move second child to first child (temp highp float)
+0:34 gl_PointSize: direct index for structure (out highp float PointSize)
+0:34 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:34 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:34 'gl_InvocationID' (in highp int InvocationID)
+0:34 Constant:
+0:34 1 (const int)
+0:34 'ps' (temp highp float)
+0:35 move second child to first child (temp highp float)
+0:35 Constant:
+0:35 0.000000
+0:35 'cd' (temp highp float)
+0:37 move second child to first child (temp highp float)
+0:37 direct index (patch temp highp float TessLevelOuter)
+0:37 'gl_TessLevelOuter' (patch out 4-element array of highp float TessLevelOuter)
+0:37 Constant:
+0:37 3 (const int)
+0:37 Constant:
+0:37 3.200000
+0:38 move second child to first child (temp highp float)
+0:38 direct index (patch temp highp float TessLevelInner)
+0:38 'gl_TessLevelInner' (patch out 2-element array of highp float TessLevelInner)
+0:38 Constant:
+0:38 1 (const int)
+0:38 Constant:
+0:38 1.300000
+0:40 Test condition and select (temp void)
+0:40 Condition
+0:40 Compare Greater Than (temp bool)
+0:40 'a' (temp highp int)
+0:40 Constant:
+0:40 10 (const int)
+0:40 true case
+0:41 Barrier (global void)
+0:40 false case
+0:43 Barrier (global void)
+0:45 Barrier (global void)
+0:49 Loop with condition not tested first
+0:49 Loop Condition
+0:49 Compare Greater Than (temp bool)
+0:49 'a' (temp highp int)
+0:49 Constant:
+0:49 10 (const int)
+0:49 Loop Body
+0:48 Sequence
+0:48 Barrier (global void)
+0:51 switch
+0:51 condition
+0:51 'a' (temp highp int)
+0:51 body
+0:51 Sequence
+0:52 default:
+0:? Sequence
+0:53 Barrier (global void)
+0:54 Branch: Break
+0:56 Test condition and select (temp highp int)
+0:56 Condition
+0:56 Compare Less Than (temp bool)
+0:56 'a' (temp highp int)
+0:56 Constant:
+0:56 12 (const int)
+0:56 true case
+0:56 'a' (temp highp int)
+0:56 false case
+0:56 Comma (temp highp int)
+0:56 Barrier (global void)
+0:56 'a' (temp highp int)
+0:58 Sequence
+0:58 Barrier (global void)
+0:61 Branch: Return
+0:63 Barrier (global void)
+0:69 Function Definition: foo( (global void)
+0:69 Function Parameters:
+0:71 Sequence
+0:71 gl_Position: direct index for structure (out highp 4-component vector of float Position)
+0:71 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:71 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:71 Constant:
+0:71 4 (const int)
+0:71 Constant:
+0:71 0 (const int)
+0:73 Barrier (global void)
+0:92 Function Definition: foop( (global void)
+0:92 Function Parameters:
+0:? Sequence
+0:95 move second child to first child (temp highp float)
+0:95 'd' (noContraction temp highp float)
+0:95 fma (global highp float)
+0:95 'd' (noContraction temp highp float)
+0:95 'd' (noContraction temp highp float)
+0:95 'd' (noContraction temp highp float)
+0:112 Function Definition: pointSize2( (global void)
+0:112 Function Parameters:
+0:114 Sequence
+0:114 Sequence
+0:114 move second child to first child (temp highp float)
+0:114 'ps' (temp highp float)
+0:114 gl_PointSize: direct index for structure (in highp float PointSize)
+0:114 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:114 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:114 Constant:
+0:114 1 (const int)
+0:114 Constant:
+0:114 1 (const int)
+0:115 move second child to first child (temp highp float)
+0:115 gl_PointSize: direct index for structure (out highp float PointSize)
+0:115 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:115 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:115 'gl_InvocationID' (in highp int InvocationID)
+0:115 Constant:
+0:115 1 (const int)
+0:115 'ps' (temp highp float)
+0:122 Function Definition: goodfoop( (global void)
+0:122 Function Parameters:
+0:? Sequence
+0:126 multiply second child into first child (temp highp 3-component vector of float)
+0:126 'pv3' (noContraction temp highp 3-component vector of float)
+0:126 'pv3' (noContraction temp highp 3-component vector of float)
+0:127 move second child to first child (temp highp 3-component vector of float)
+0:127 'pv3' (noContraction temp highp 3-component vector of float)
+0:127 fma (global highp 3-component vector of float)
+0:127 'pv3' (noContraction temp highp 3-component vector of float)
+0:127 'pv3' (noContraction temp highp 3-component vector of float)
+0:127 'pv3' (noContraction temp highp 3-component vector of float)
+0:128 move second child to first child (temp highp float)
+0:128 'd' (noContraction temp highp float)
+0:128 fma (global highp float)
+0:128 'd' (noContraction temp highp float)
+0:128 'd' (noContraction temp highp float)
+0:128 'd' (noContraction temp highp float)
+0:131 Function Definition: bbBad( (global void)
+0:131 Function Parameters:
+0:133 Sequence
+0:133 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:138 Function Definition: bb( (global void)
+0:138 Function Parameters:
+0:140 Sequence
+0:140 move second child to first child (temp highp 4-component vector of float)
+0:140 direct index (patch temp highp 4-component vector of float BoundingBox)
+0:140 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:140 Constant:
+0:140 0 (const int)
+0:140 Constant:
+0:140 0.000000
+0:140 0.000000
+0:140 0.000000
+0:140 0.000000
+0:141 move second child to first child (temp highp 4-component vector of float)
+0:141 direct index (patch temp highp 4-component vector of float BoundingBox)
+0:141 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:141 Constant:
+0:141 1 (const int)
+0:141 Constant:
+0:141 1.000000
+0:141 1.000000
+0:141 1.000000
+0:141 1.000000
+0:142 move second child to first child (temp highp 4-component vector of float)
+0:142 direct index (patch temp highp 4-component vector of float BoundingBox)
+0:142 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:142 Constant:
+0:142 2 (const int)
+0:142 Constant:
+0:142 2.000000
+0:142 2.000000
+0:142 2.000000
+0:142 2.000000
+0:153 Function Definition: outputtingOutparam(i1; (global void)
+0:153 Function Parameters:
+0:153 'a' (out highp int)
+0:155 Sequence
+0:155 move second child to first child (temp highp int)
+0:155 'a' (out highp int)
+0:155 Constant:
+0:155 2 (const int)
+0:158 Function Definition: outputting( (global void)
+0:158 Function Parameters:
+0:160 Sequence
+0:160 move second child to first child (temp highp int)
+0:160 indirect index (temp highp int)
+0:160 'outa' (out 4-element array of highp int)
+0:160 'gl_InvocationID' (in highp int InvocationID)
+0:160 Constant:
+0:160 2 (const int)
+0:161 move second child to first child (temp highp int)
+0:161 direct index (temp highp int)
+0:161 'outa' (out 4-element array of highp int)
+0:161 Constant:
+0:161 1 (const int)
+0:161 Constant:
+0:161 2 (const int)
+0:162 move second child to first child (temp highp 4-component vector of float)
+0:162 gl_Position: direct index for structure (out highp 4-component vector of float Position)
+0:162 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:162 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:162 Constant:
+0:162 0 (const int)
+0:162 Constant:
+0:162 0 (const int)
+0:162 Constant:
+0:162 1.000000
+0:162 1.000000
+0:162 1.000000
+0:162 1.000000
+0:163 direct index (temp highp int)
+0:163 'outa' (out 4-element array of highp int)
+0:163 Constant:
+0:163 1 (const int)
+0:164 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:164 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:164 Constant:
+0:164 0 (const int)
+0:165 Function Call: outputtingOutparam(i1; (global void)
+0:165 direct index (temp highp int)
+0:165 'outa' (out 4-element array of highp int)
+0:165 Constant:
+0:165 0 (const int)
+0:166 Function Call: outputtingOutparam(i1; (global void)
+0:166 indirect index (temp highp int)
+0:166 'outa' (out 4-element array of highp int)
+0:166 'gl_InvocationID' (in highp int InvocationID)
+0:167 move second child to first child (temp highp float)
+0:167 f: direct index for structure (out highp float)
+0:167 direct index (patch temp block{out highp float f})
+0:167 'patchIName' (patch out 4-element array of block{out highp float f})
+0:167 Constant:
+0:167 1 (const int)
+0:167 Constant:
+0:167 0 (const int)
+0:167 Constant:
+0:167 3.140000
+0:168 move second child to first child (temp highp int)
+0:168 indirect index (temp highp int)
+0:168 'outa' (out 4-element array of highp int)
+0:168 'gl_InvocationID' (in highp int InvocationID)
+0:168 Constant:
+0:168 2 (const int)
+0:? Linker Objects
+0:? 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:? 'outa' (out 4-element array of highp int)
+0:? 'patchIn' (patch in highp 4-component vector of float)
+0:? 'patchOut' (patch out highp 4-component vector of float)
+0:? 'ina' (in highp 2-component vector of float)
+0:? 'inb' (in 32-element array of highp 2-component vector of float)
+0:? 'inc' (in 32-element array of highp 2-component vector of float)
+0:? 'ind' (in 32-element array of highp 2-component vector of float)
+0:? 'implA' (patch out 1-element array of highp float)
+0:? 'ivla' (layout(location=3 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlb' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlc' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
+0:? 'ovla' (layout(location=3 ) out 4-element array of highp 4-component vector of float)
+0:? 'ovlb' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
+0:? 'ovlc' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
+0:? 'pinbi' (patch out block{out highp int a})
+0:? 'myColor2' (centroid out 4-element array of highp 3-component vector of float)
+0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
+0:? 'perSampleColor' (sample out 4-element array of highp 4-component vector of float)
+0:? 'badlay' (out 4-element array of highp float)
+0:? 'misSized' (out 5-element array of highp float)
+0:? 'okaySize' (out 4-element array of highp float)
+0:? 'pv3' (noContraction temp highp 3-component vector of float)
+0:? 'badpatchIName' (patch out 1-element array of block{out highp float f})
+0:? 'patchIName' (patch out 4-element array of block{out highp float f})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/310.tese.out b/chromium/third_party/glslang/src/Test/baseResults/310.tese.out
new file mode 100644
index 00000000000..aacfedbd6ef
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/310.tese.out
@@ -0,0 +1,315 @@
+310.tese
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:7: 'vertices' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:9: 'triangles' : cannot change previously set input primitive
+ERROR: 0:10: 'isolines' : cannot change previously set input primitive
+ERROR: 0:12: 'ccw' : cannot change previously set vertex order
+ERROR: 0:16: 'equal_spacing' : cannot change previously set vertex spacing
+ERROR: 0:17: 'fractional_even_spacing' : cannot change previously set vertex spacing
+ERROR: 0:22: 'patch' : can only use on input in tessellation-evaluation shader
+ERROR: 0:26: 'barrier' : no matching overloaded function found
+ERROR: 0:37: 'gl_PointSize' : required extension not requested: Possible extensions include:
+GL_EXT_tessellation_point_size
+GL_OES_tessellation_point_size
+ERROR: 0:38: 'gl_ClipDistance' : no such field in structure
+ERROR: 0:38: 'expression' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:47: 'gl_PointSize' : required extension not requested: Possible extensions include:
+GL_EXT_tessellation_point_size
+GL_OES_tessellation_point_size
+ERROR: 0:48: 'gl_ClipDistance' : undeclared identifier
+ERROR: 0:48: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:48: 'assign' : l-value required (can't modify a const)
+ERROR: 0:51: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:52: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:53: 'noperspective' : Reserved word.
+ERROR: 0:53: 'noperspective' : not supported with this profile: es
+ERROR: 0:53: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:54: 'sample' : Reserved word.
+ERROR: 0:54: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
+ERROR: 0:58: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized
+ERROR: 0:63: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
+ERROR: 0:68: 'quads' : cannot apply to 'out'
+ERROR: 0:68: 'cw' : can only apply to 'in'
+ERROR: 0:69: 'triangles' : cannot apply to 'out'
+ERROR: 0:70: 'isolines' : cannot apply to 'out'
+ERROR: 0:71: 'cw' : can only apply to 'in'
+ERROR: 0:72: 'fractional_odd_spacing' : can only apply to 'in'
+ERROR: 0:73: 'equal_spacing' : can only apply to 'in'
+ERROR: 0:74: 'fractional_even_spacing' : can only apply to 'in'
+ERROR: 0:75: 'point_mode' : can only apply to 'in'
+ERROR: 0:77: 'in' : type must be an array: ina
+ERROR: 0:79: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:82: 'in' : type must be an array: bla
+ERROR: 0:90: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:100: 'location' : overlapping use of location 24
+ERROR: 0:103: 'location' : overlapping use of location 24
+ERROR: 0:105: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved
+ERROR: 0:113: 'sample' : Reserved word.
+ERROR: 0:119: 'gl_PointSize' : no such field in structure
+ERROR: 0:119: '=' : cannot convert from 'temp block{in highp 4-component vector of float Position gl_Position}' to 'temp highp float'
+ERROR: 0:127: 'gl_BoundingBoxOES' : undeclared identifier
+ERROR: 44 compilation errors. No code generated.
+
+
+Shader version: 310
+Requested GL_ARB_separate_shader_objects
+Requested GL_EXT_primitive_bounding_box
+Requested GL_EXT_shader_io_blocks
+Requested GL_EXT_tessellation_shader
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_tessellation_point_size
+Requested GL_OES_tessellation_shader
+input primitive = quads
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+using point mode
+ERROR: node is still EOpNull!
+0:24 Function Definition: main( (global void)
+0:24 Function Parameters:
+0:26 Sequence
+0:26 Constant:
+0:26 0.000000
+0:28 Sequence
+0:28 move second child to first child (temp highp int)
+0:28 'a' (temp highp int)
+0:28 Constant:
+0:28 1512 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp highp 4-component vector of float)
+0:36 'p' (temp highp 4-component vector of float)
+0:36 gl_Position: direct index for structure (in highp 4-component vector of float Position)
+0:36 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:36 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:36 Constant:
+0:36 1 (const int)
+0:36 Constant:
+0:36 0 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp highp float)
+0:37 'ps' (temp highp float)
+0:37 gl_PointSize: direct index for structure (in highp float PointSize)
+0:37 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:37 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:37 Constant:
+0:37 1 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:38 Sequence
+0:38 move second child to first child (temp highp float)
+0:38 'cd' (temp highp float)
+0:38 Constant:
+0:38 0.000000
+0:40 Sequence
+0:40 move second child to first child (temp highp int)
+0:40 'pvi' (temp highp int)
+0:40 'gl_PatchVerticesIn' (in highp int PatchVertices)
+0:41 Sequence
+0:41 move second child to first child (temp highp int)
+0:41 'pid' (temp highp int)
+0:41 'gl_PrimitiveID' (in highp int PrimitiveID)
+0:42 Sequence
+0:42 move second child to first child (temp highp 3-component vector of float)
+0:42 'tc' (temp highp 3-component vector of float)
+0:42 'gl_TessCoord' (in highp 3-component vector of float TessCoord)
+0:43 Sequence
+0:43 move second child to first child (temp highp float)
+0:43 'tlo' (temp highp float)
+0:43 direct index (patch temp highp float TessLevelOuter)
+0:43 'gl_TessLevelOuter' (patch in 4-element array of highp float TessLevelOuter)
+0:43 Constant:
+0:43 3 (const int)
+0:44 Sequence
+0:44 move second child to first child (temp highp float)
+0:44 'tli' (temp highp float)
+0:44 direct index (patch temp highp float TessLevelInner)
+0:44 'gl_TessLevelInner' (patch in 2-element array of highp float TessLevelInner)
+0:44 Constant:
+0:44 1 (const int)
+0:46 move second child to first child (temp highp 4-component vector of float)
+0:46 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
+0:46 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
+0:46 Constant:
+0:46 0 (const uint)
+0:46 'p' (temp highp 4-component vector of float)
+0:47 move second child to first child (temp highp float)
+0:47 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
+0:47 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
+0:47 Constant:
+0:47 1 (const uint)
+0:47 'ps' (temp highp float)
+0:48 move second child to first child (temp highp float)
+0:48 Constant:
+0:48 0.000000
+0:48 'cd' (temp highp float)
+0:117 Function Definition: pointSize2( (global void)
+0:117 Function Parameters:
+0:? Sequence
+0:120 move second child to first child (temp highp float)
+0:120 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
+0:120 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
+0:120 Constant:
+0:120 1 (const uint)
+0:120 'ps' (temp highp float)
+0:125 Function Definition: bbbad( (global void)
+0:125 Function Parameters:
+0:127 Sequence
+0:127 'gl_BoundingBoxOES' (temp float)
+0:? Linker Objects
+0:? 'patchIn' (patch in highp 4-component vector of float)
+0:? 'patchOut' (patch out highp 4-component vector of float)
+0:? 'badp1' (smooth patch in highp 4-component vector of float)
+0:? 'badp2' (flat patch in highp 4-component vector of float)
+0:? 'badp3' (noperspective patch in highp 4-component vector of float)
+0:? 'badp4' (patch sample in highp 3-component vector of float)
+0:? 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position})
+0:? 'ina' (in highp 2-component vector of float)
+0:? 'inb' (in 32-element array of highp 2-component vector of float)
+0:? 'inc' (in 32-element array of highp 2-component vector of float)
+0:? 'ind' (in 32-element array of highp 2-component vector of float)
+0:? 'bla' (in block{in highp int f})
+0:? 'blb' (in 32-element array of block{in highp int f})
+0:? 'blc' (in 32-element array of block{in highp int f})
+0:? 'bld' (in 32-element array of block{in highp int f})
+0:? 'ivla' (layout(location=23 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlb' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlc' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
+0:? 'ovla' (layout(location=23 ) out 2-element array of highp 4-component vector of float)
+0:? 'ovlb' (layout(location=24 ) out 2-element array of highp 4-component vector of float)
+0:? 'pinbi' (patch in block{in highp int a})
+0:? 'myColor2' (centroid out highp 3-component vector of float)
+0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
+0:? 'perSampleColor' (sample out highp 4-component vector of float)
+
+
+Linked tessellation evaluation stage:
+
+
+Shader version: 310
+Requested GL_ARB_separate_shader_objects
+Requested GL_EXT_primitive_bounding_box
+Requested GL_EXT_shader_io_blocks
+Requested GL_EXT_tessellation_shader
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_tessellation_point_size
+Requested GL_OES_tessellation_shader
+input primitive = quads
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+using point mode
+ERROR: node is still EOpNull!
+0:24 Function Definition: main( (global void)
+0:24 Function Parameters:
+0:26 Sequence
+0:26 Constant:
+0:26 0.000000
+0:28 Sequence
+0:28 move second child to first child (temp highp int)
+0:28 'a' (temp highp int)
+0:28 Constant:
+0:28 1512 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp highp 4-component vector of float)
+0:36 'p' (temp highp 4-component vector of float)
+0:36 gl_Position: direct index for structure (in highp 4-component vector of float Position)
+0:36 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:36 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:36 Constant:
+0:36 1 (const int)
+0:36 Constant:
+0:36 0 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp highp float)
+0:37 'ps' (temp highp float)
+0:37 gl_PointSize: direct index for structure (in highp float PointSize)
+0:37 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:37 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:37 Constant:
+0:37 1 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:38 Sequence
+0:38 move second child to first child (temp highp float)
+0:38 'cd' (temp highp float)
+0:38 Constant:
+0:38 0.000000
+0:40 Sequence
+0:40 move second child to first child (temp highp int)
+0:40 'pvi' (temp highp int)
+0:40 'gl_PatchVerticesIn' (in highp int PatchVertices)
+0:41 Sequence
+0:41 move second child to first child (temp highp int)
+0:41 'pid' (temp highp int)
+0:41 'gl_PrimitiveID' (in highp int PrimitiveID)
+0:42 Sequence
+0:42 move second child to first child (temp highp 3-component vector of float)
+0:42 'tc' (temp highp 3-component vector of float)
+0:42 'gl_TessCoord' (in highp 3-component vector of float TessCoord)
+0:43 Sequence
+0:43 move second child to first child (temp highp float)
+0:43 'tlo' (temp highp float)
+0:43 direct index (patch temp highp float TessLevelOuter)
+0:43 'gl_TessLevelOuter' (patch in 4-element array of highp float TessLevelOuter)
+0:43 Constant:
+0:43 3 (const int)
+0:44 Sequence
+0:44 move second child to first child (temp highp float)
+0:44 'tli' (temp highp float)
+0:44 direct index (patch temp highp float TessLevelInner)
+0:44 'gl_TessLevelInner' (patch in 2-element array of highp float TessLevelInner)
+0:44 Constant:
+0:44 1 (const int)
+0:46 move second child to first child (temp highp 4-component vector of float)
+0:46 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
+0:46 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
+0:46 Constant:
+0:46 0 (const uint)
+0:46 'p' (temp highp 4-component vector of float)
+0:47 move second child to first child (temp highp float)
+0:47 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
+0:47 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
+0:47 Constant:
+0:47 1 (const uint)
+0:47 'ps' (temp highp float)
+0:48 move second child to first child (temp highp float)
+0:48 Constant:
+0:48 0.000000
+0:48 'cd' (temp highp float)
+0:117 Function Definition: pointSize2( (global void)
+0:117 Function Parameters:
+0:? Sequence
+0:120 move second child to first child (temp highp float)
+0:120 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
+0:120 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
+0:120 Constant:
+0:120 1 (const uint)
+0:120 'ps' (temp highp float)
+0:125 Function Definition: bbbad( (global void)
+0:125 Function Parameters:
+0:127 Sequence
+0:127 'gl_BoundingBoxOES' (temp float)
+0:? Linker Objects
+0:? 'patchIn' (patch in highp 4-component vector of float)
+0:? 'patchOut' (patch out highp 4-component vector of float)
+0:? 'badp1' (smooth patch in highp 4-component vector of float)
+0:? 'badp2' (flat patch in highp 4-component vector of float)
+0:? 'badp3' (noperspective patch in highp 4-component vector of float)
+0:? 'badp4' (patch sample in highp 3-component vector of float)
+0:? 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position})
+0:? 'ina' (in highp 2-component vector of float)
+0:? 'inb' (in 32-element array of highp 2-component vector of float)
+0:? 'inc' (in 32-element array of highp 2-component vector of float)
+0:? 'ind' (in 32-element array of highp 2-component vector of float)
+0:? 'bla' (in block{in highp int f})
+0:? 'blb' (in 32-element array of block{in highp int f})
+0:? 'blc' (in 32-element array of block{in highp int f})
+0:? 'bld' (in 32-element array of block{in highp int f})
+0:? 'ivla' (layout(location=23 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlb' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlc' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
+0:? 'ovla' (layout(location=23 ) out 2-element array of highp 4-component vector of float)
+0:? 'ovlb' (layout(location=24 ) out 2-element array of highp 4-component vector of float)
+0:? 'pinbi' (patch in block{in highp int a})
+0:? 'myColor2' (centroid out highp 3-component vector of float)
+0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
+0:? 'perSampleColor' (sample out highp 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/310.vert.out b/chromium/third_party/glslang/src/Test/baseResults/310.vert.out
new file mode 100644
index 00000000000..9ce13f444f1
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/310.vert.out
@@ -0,0 +1,1960 @@
+310.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:3: 'shared' : not supported in this stage: vertex
+ERROR: 0:4: 'local_size_x' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:5: 'buffer' : buffers can be declared only as blocks
+ERROR: 0:10: 'location' : overlapping use of location 3
+ERROR: 0:58: 'usampler2DMSArray' : Reserved word.
+ERROR: 0:58: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:67: 'textureSamples' : no matching overloaded function found
+ERROR: 0:69: 'assign' : l-value required "ini" (can't modify shader input)
+ERROR: 0:69: 'out' : Non-L-value cannot be passed for 'out' or 'inout' parameters.
+ERROR: 0:72: 'out' : cannot be bool
+ERROR: 0:73: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: outo
+ERROR: 0:75: 'vertex-shader array-of-array output' : not supported with this profile: es
+ERROR: 0:78: 'vertex-shader array-of-struct output' : not supported with this profile: es
+ERROR: 0:79: 'vertex-shader array-of-struct output' : not supported with this profile: es
+ERROR: 0:81: 'vertex-shader struct output containing an array' : not supported with this profile: es
+ERROR: 0:83: 'vertex-shader struct output containing structure' : not supported with this profile: es
+ERROR: 0:85: 'std430' : requires the 'buffer' storage qualifier
+ERROR: 0:97: 's' : member of block cannot be or contain a sampler, image, or atomic_uint type
+ERROR: 0:105: 'location' : overlapping use of location 12
+ERROR: 0:107: 'input block' : not supported in this stage: vertex
+ERROR: 0:109: 'gl_PerVertex' : block redeclaration has extra members
+ERROR: 0:119: 'gl_PointSize' : member of nameless block was not redeclared
+ERROR: 0:119: 'assign' : cannot convert from 'const float' to 'gl_PointSize highp void PointSize'
+ERROR: 0:122: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
+ERROR: 0:127: 'flat/smooth/noperspective' : cannot use interpolation qualifiers on an interface block
+ERROR: 0:131: 'flat/smooth/noperspective' : cannot use interpolation qualifiers on an interface block
+ERROR: 0:135: 'centroid' : cannot use centroid qualifier on an interface block
+ERROR: 0:139: 'invariant' : cannot use invariant qualifier on an interface block
+ERROR: 0:155: 'precise' : Reserved word.
+ERROR: 0:155: 'precise' : not supported for this version or the enabled extensions
+ERROR: 0:156: 'fma' : required extension not requested: Possible extensions include:
+GL_EXT_gpu_shader5
+GL_OES_gpu_shader5
+ERROR: 0:157: 'variable indexing sampler array' : not supported for this version or the enabled extensions
+ERROR: 0:161: 'variable indexing uniform block array' : not supported for this version or the enabled extensions
+ERROR: 0:162: 'variable indexing buffer block array' : not supported with this profile: es
+ERROR: 0:164: 'variable indexing sampler array' : not supported for this version or the enabled extensions
+ERROR: 0:165: 'non-constant offset argument' : not supported for this version or the enabled extensions
+ERROR: 0:166: 'textureGatherOffsets' : required extension not requested: Possible extensions include:
+GL_EXT_gpu_shader5
+GL_OES_gpu_shader5
+ERROR: 0:177: 'variable indexing buffer block array' : not supported with this profile: es
+ERROR: 0:182: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument
+ERROR: 0:185: 'samplerBuffer' : Reserved word.
+ERROR: 0:185: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:186: 'isamplerBuffer' : Reserved word.
+ERROR: 0:186: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:187: 'usamplerBuffer' : Reserved word.
+ERROR: 0:187: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:188: 'imageBuffer' : Reserved word.
+ERROR: 0:188: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:189: 'iimageBuffer' : Reserved word.
+ERROR: 0:189: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:190: 'uimageBuffer' : Reserved word.
+ERROR: 0:190: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:195: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:196: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:197: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:198: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:199: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:200: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:235: 'imageCubeArray' : Reserved word.
+ERROR: 0:235: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:236: 'iimageCubeArray' : Reserved word.
+ERROR: 0:236: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:237: 'uimageCubeArray' : Reserved word.
+ERROR: 0:237: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:239: 'samplerCubeArray' : Reserved word.
+ERROR: 0:239: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:240: 'samplerCubeArrayShadow' : Reserved word.
+ERROR: 0:240: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:241: 'isamplerCubeArray' : Reserved word.
+ERROR: 0:241: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:242: 'usamplerCubeArray' : Reserved word.
+ERROR: 0:242: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:246: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:247: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:248: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:250: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:251: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:252: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:253: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:321: 'sampler2DMSArray' : Reserved word.
+ERROR: 0:321: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:322: 'isampler2DMSArray' : Reserved word.
+ERROR: 0:322: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:323: 'usampler2DMSArray' : Reserved word.
+ERROR: 0:323: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:329: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:330: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:331: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:351: 'textureSize' : no matching overloaded function found
+ERROR: 0:351: '=' : cannot convert from 'const float' to 'temp highp 3-component vector of int'
+ERROR: 0:389: 'sample' : Reserved word.
+ERROR: 0:400: 'interpolateAtCentroid' : no matching overloaded function found
+ERROR: 0:401: 'interpolateAtSample' : no matching overloaded function found
+ERROR: 0:402: 'interpolateAtOffset' : no matching overloaded function found
+ERROR: 93 compilation errors. No code generated.
+
+
+Shader version: 310
+Requested GL_EXT_texture_buffer
+Requested GL_OES_gpu_shader5
+Requested GL_OES_shader_image_atomic
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_shader_multisample_interpolation
+Requested GL_OES_texture_buffer
+Requested GL_OES_texture_cube_map_array
+Requested GL_OES_texture_storage_multisample_2d_array
+ERROR: node is still EOpNull!
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:? Sequence
+0:15 move second child to first child (temp highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:15 addCarry (global highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:17 move second child to first child (temp highp uint)
+0:17 'u1' (temp highp uint)
+0:17 subBorrow (global highp uint)
+0:17 'u1' (temp highp uint)
+0:17 'u1' (temp highp uint)
+0:17 'u1' (temp highp uint)
+0:19 uMulExtended (global void)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:21 iMulExtended (global void)
+0:21 'i4' (temp highp 4-component vector of int)
+0:21 'i4' (temp highp 4-component vector of int)
+0:21 'i4' (temp highp 4-component vector of int)
+0:21 'i4' (temp highp 4-component vector of int)
+0:23 move second child to first child (temp highp int)
+0:23 'i1' (temp highp int)
+0:23 bitfieldExtract (global highp int)
+0:23 'i1' (temp highp int)
+0:23 Constant:
+0:23 4 (const int)
+0:23 Constant:
+0:23 5 (const int)
+0:25 move second child to first child (temp highp 3-component vector of uint)
+0:25 'u3' (temp highp 3-component vector of uint)
+0:25 bitfieldExtract (global highp 3-component vector of uint)
+0:25 'u3' (temp highp 3-component vector of uint)
+0:25 Constant:
+0:25 4 (const int)
+0:25 Constant:
+0:25 5 (const int)
+0:27 move second child to first child (temp highp 3-component vector of int)
+0:27 'i3' (temp highp 3-component vector of int)
+0:27 bitfieldInsert (global highp 3-component vector of int)
+0:27 'i3' (temp highp 3-component vector of int)
+0:27 'i3' (temp highp 3-component vector of int)
+0:27 Constant:
+0:27 4 (const int)
+0:27 Constant:
+0:27 5 (const int)
+0:28 move second child to first child (temp highp uint)
+0:28 'u1' (temp highp uint)
+0:28 bitfieldInsert (global highp uint)
+0:28 'u1' (temp highp uint)
+0:28 'u1' (temp highp uint)
+0:28 Constant:
+0:28 4 (const int)
+0:28 Constant:
+0:28 5 (const int)
+0:30 move second child to first child (temp highp 2-component vector of int)
+0:30 'i2' (temp highp 2-component vector of int)
+0:30 bitFieldReverse (global highp 2-component vector of int)
+0:30 'i2' (temp highp 2-component vector of int)
+0:31 move second child to first child (temp highp 4-component vector of uint)
+0:31 'u4' (temp highp 4-component vector of uint)
+0:31 bitFieldReverse (global highp 4-component vector of uint)
+0:31 'u4' (temp highp 4-component vector of uint)
+0:32 move second child to first child (temp highp int)
+0:32 'i1' (temp highp int)
+0:32 bitCount (global lowp int)
+0:32 'i1' (temp highp int)
+0:33 move second child to first child (temp highp 3-component vector of int)
+0:33 'i3' (temp highp 3-component vector of int)
+0:33 bitCount (global lowp 3-component vector of int)
+0:33 'u3' (temp highp 3-component vector of uint)
+0:34 move second child to first child (temp highp 2-component vector of int)
+0:34 'i2' (temp highp 2-component vector of int)
+0:34 findLSB (global lowp 2-component vector of int)
+0:34 'i2' (temp highp 2-component vector of int)
+0:35 move second child to first child (temp highp 4-component vector of int)
+0:35 'i4' (temp highp 4-component vector of int)
+0:35 findLSB (global lowp 4-component vector of int)
+0:35 'u4' (temp highp 4-component vector of uint)
+0:36 move second child to first child (temp highp int)
+0:36 'i1' (temp highp int)
+0:36 findMSB (global lowp int)
+0:36 'i1' (temp highp int)
+0:37 move second child to first child (temp highp 2-component vector of int)
+0:37 'i2' (temp highp 2-component vector of int)
+0:37 findMSB (global lowp 2-component vector of int)
+0:37 'u2' (temp highp 2-component vector of uint)
+0:40 move second child to first child (temp highp 3-component vector of float)
+0:40 'v3' (temp highp 3-component vector of float)
+0:40 frexp (global highp 3-component vector of float)
+0:40 'v3' (temp highp 3-component vector of float)
+0:40 'i3' (temp highp 3-component vector of int)
+0:42 move second child to first child (temp highp 2-component vector of float)
+0:42 'v2' (temp highp 2-component vector of float)
+0:42 ldexp (global highp 2-component vector of float)
+0:42 'v2' (temp highp 2-component vector of float)
+0:42 'i2' (temp highp 2-component vector of int)
+0:45 move second child to first child (temp highp uint)
+0:45 'u1' (temp highp uint)
+0:45 PackUnorm4x8 (global highp uint)
+0:45 'v4' (temp mediump 4-component vector of float)
+0:46 move second child to first child (temp highp uint)
+0:46 'u1' (temp highp uint)
+0:46 PackSnorm4x8 (global highp uint)
+0:46 'v4' (temp mediump 4-component vector of float)
+0:47 move second child to first child (temp mediump 4-component vector of float)
+0:47 'v4' (temp mediump 4-component vector of float)
+0:47 UnpackUnorm4x8 (global mediump 4-component vector of float)
+0:47 'u1' (temp highp uint)
+0:48 move second child to first child (temp mediump 4-component vector of float)
+0:48 'v4' (temp mediump 4-component vector of float)
+0:48 UnpackSnorm4x8 (global mediump 4-component vector of float)
+0:48 'u1' (temp highp uint)
+0:60 Function Definition: foo( (global void)
+0:60 Function Parameters:
+0:? Sequence
+0:63 move second child to first child (temp highp 2-component vector of int)
+0:63 'v2' (temp highp 2-component vector of int)
+0:63 textureSize (global highp 2-component vector of int)
+0:63 's2dms' (uniform highp sampler2DMS)
+0:64 move second child to first child (temp highp 2-component vector of int)
+0:64 'v2' (temp highp 2-component vector of int)
+0:64 textureSize (global highp 2-component vector of int)
+0:64 'us2dms' (uniform highp usampler2DMS)
+0:65 Sequence
+0:65 move second child to first child (temp highp 4-component vector of float)
+0:65 'v4' (temp highp 4-component vector of float)
+0:65 textureFetch (global highp 4-component vector of float)
+0:65 's2dms' (uniform highp sampler2DMS)
+0:65 'v2' (temp highp 2-component vector of int)
+0:65 Constant:
+0:65 2 (const int)
+0:66 Sequence
+0:66 move second child to first child (temp highp 4-component vector of int)
+0:66 'iv4' (temp highp 4-component vector of int)
+0:66 textureFetch (global highp 4-component vector of int)
+0:66 'is2dms' (uniform highp isampler2DMS)
+0:66 'v2' (temp highp 2-component vector of int)
+0:66 Constant:
+0:66 2 (const int)
+0:67 Constant:
+0:67 0.000000
+0:69 frexp (global highp float)
+0:69 'f' (temp highp float)
+0:69 'ini' (in highp int)
+0:114 Function Definition: foo_IO( (global void)
+0:114 Function Parameters:
+0:116 Sequence
+0:116 Sequence
+0:116 move second child to first child (temp highp int)
+0:116 'sum' (temp highp int)
+0:116 add (temp highp int)
+0:116 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:117 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+0:118 move second child to first child (temp highp 4-component vector of float)
+0:118 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
+0:118 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
+0:118 Constant:
+0:118 0 (const uint)
+0:118 Constant:
+0:118 1.000000
+0:118 1.000000
+0:118 1.000000
+0:118 1.000000
+0:119 gl_PointSize: direct index for structure (gl_PointSize highp void PointSize)
+0:119 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
+0:119 Constant:
+0:119 1 (const uint)
+0:153 Function Definition: pfooBad( (global void)
+0:153 Function Parameters:
+0:? Sequence
+0:156 move second child to first child (temp highp 2-component vector of float)
+0:156 'h' (noContraction temp highp 2-component vector of float)
+0:156 fma (global highp 2-component vector of float)
+0:156 'inf' (in highp 2-component vector of float)
+0:156 'ing' (in highp 2-component vector of float)
+0:156 'h' (noContraction temp highp 2-component vector of float)
+0:157 indirect index (temp highp sampler2D)
+0:157 'sArray' (uniform 4-element array of highp sampler2D)
+0:157 add (temp highp int)
+0:157 'sIndex' (uniform highp int)
+0:157 Constant:
+0:157 1 (const int)
+0:158 indirect index (layout(binding=0 offset=0 ) temp highp atomic_uint)
+0:158 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
+0:158 add (temp highp int)
+0:158 'sIndex' (uniform highp int)
+0:158 Constant:
+0:158 1 (const int)
+0:159 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
+0:159 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:159 Constant:
+0:159 1 (const int)
+0:160 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
+0:160 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:160 Constant:
+0:160 2 (const int)
+0:161 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
+0:161 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:161 add (temp highp int)
+0:161 'sIndex' (uniform highp int)
+0:161 Constant:
+0:161 1 (const int)
+0:162 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
+0:162 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:162 'sIndex' (uniform highp int)
+0:163 direct index (writeonly temp highp image2D)
+0:163 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:163 Constant:
+0:163 2 (const int)
+0:164 indirect index (writeonly temp highp image2D)
+0:164 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:164 component-wise multiply (temp highp int)
+0:164 'sIndex' (uniform highp int)
+0:164 Constant:
+0:164 2 (const int)
+0:165 textureGatherOffset (global highp 4-component vector of float)
+0:165 direct index (temp highp sampler2D)
+0:165 'sArray' (uniform 4-element array of highp sampler2D)
+0:165 Constant:
+0:165 0 (const int)
+0:165 Constant:
+0:165 0.100000
+0:165 0.100000
+0:165 Convert float to int (temp highp 2-component vector of int)
+0:165 'inf' (in highp 2-component vector of float)
+0:166 textureGatherOffsets (global highp 4-component vector of float)
+0:166 direct index (temp highp sampler2D)
+0:166 'sArray' (uniform 4-element array of highp sampler2D)
+0:166 Constant:
+0:166 0 (const int)
+0:166 Constant:
+0:166 0.100000
+0:166 0.100000
+0:166 Constant:
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:171 Function Definition: pfoo( (global void)
+0:171 Function Parameters:
+0:? Sequence
+0:174 move second child to first child (temp highp 2-component vector of float)
+0:174 'h' (noContraction temp highp 2-component vector of float)
+0:174 fma (global highp 2-component vector of float)
+0:174 'inf' (in highp 2-component vector of float)
+0:174 'ing' (in highp 2-component vector of float)
+0:174 'h' (noContraction temp highp 2-component vector of float)
+0:175 indirect index (temp highp sampler2D)
+0:175 'sArray' (uniform 4-element array of highp sampler2D)
+0:175 add (temp highp int)
+0:175 'sIndex' (uniform highp int)
+0:175 Constant:
+0:175 1 (const int)
+0:176 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
+0:176 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:176 add (temp highp int)
+0:176 'sIndex' (uniform highp int)
+0:176 Constant:
+0:176 1 (const int)
+0:177 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
+0:177 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:177 subtract (temp highp int)
+0:177 'sIndex' (uniform highp int)
+0:177 Constant:
+0:177 2 (const int)
+0:178 direct index (writeonly temp highp image2D)
+0:178 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:178 Constant:
+0:178 2 (const int)
+0:179 indirect index (writeonly temp highp image2D)
+0:179 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:179 subtract (temp highp int)
+0:179 'sIndex' (uniform highp int)
+0:179 Constant:
+0:179 2 (const int)
+0:180 textureGatherOffset (global highp 4-component vector of float)
+0:180 direct index (temp highp sampler2D)
+0:180 'sArray' (uniform 4-element array of highp sampler2D)
+0:180 Constant:
+0:180 0 (const int)
+0:180 Constant:
+0:180 0.100000
+0:180 0.100000
+0:180 Convert float to int (temp highp 2-component vector of int)
+0:180 'inf' (in highp 2-component vector of float)
+0:181 textureGatherOffsets (global highp 4-component vector of float)
+0:181 direct index (temp highp sampler2D)
+0:181 'sArray' (uniform 4-element array of highp sampler2D)
+0:181 Constant:
+0:181 0 (const int)
+0:181 Constant:
+0:181 0.100000
+0:181 0.100000
+0:181 Constant:
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:182 textureGatherOffsets (global highp 4-component vector of float)
+0:182 direct index (temp highp sampler2D)
+0:182 'sArray' (uniform 4-element array of highp sampler2D)
+0:182 Constant:
+0:182 0 (const int)
+0:182 Constant:
+0:182 0.100000
+0:182 0.100000
+0:182 'offsets' (uniform 4-element array of highp 2-component vector of int)
+0:220 Function Definition: bufferT( (global void)
+0:220 Function Parameters:
+0:222 Sequence
+0:222 Sequence
+0:222 move second child to first child (temp highp int)
+0:222 's1' (temp highp int)
+0:222 textureSize (global highp int)
+0:222 'bufSamp1' (uniform highp samplerBuffer)
+0:223 Sequence
+0:223 move second child to first child (temp highp int)
+0:223 's2' (temp highp int)
+0:223 textureSize (global highp int)
+0:223 'bufSamp2' (uniform highp isamplerBuffer)
+0:224 Sequence
+0:224 move second child to first child (temp highp int)
+0:224 's3' (temp highp int)
+0:224 textureSize (global highp int)
+0:224 'bufSamp3' (uniform highp usamplerBuffer)
+0:226 Sequence
+0:226 move second child to first child (temp highp int)
+0:226 's4' (temp highp int)
+0:226 imageQuerySize (global highp int)
+0:226 'bufSamp4' (writeonly uniform highp imageBuffer)
+0:227 Sequence
+0:227 move second child to first child (temp highp int)
+0:227 's5' (temp highp int)
+0:227 imageQuerySize (global highp int)
+0:227 'bufSamp5' (writeonly uniform highp iimageBuffer)
+0:228 Sequence
+0:228 move second child to first child (temp highp int)
+0:228 's6' (temp highp int)
+0:228 imageQuerySize (global highp int)
+0:228 'bufSamp6' (writeonly uniform highp uimageBuffer)
+0:230 Sequence
+0:230 move second child to first child (temp highp 4-component vector of float)
+0:230 'f1' (temp highp 4-component vector of float)
+0:230 textureFetch (global highp 4-component vector of float)
+0:230 'bufSamp1' (uniform highp samplerBuffer)
+0:230 's1' (temp highp int)
+0:231 Sequence
+0:231 move second child to first child (temp highp 4-component vector of int)
+0:231 'f2' (temp highp 4-component vector of int)
+0:231 textureFetch (global highp 4-component vector of int)
+0:231 'bufSamp2' (uniform highp isamplerBuffer)
+0:231 's2' (temp highp int)
+0:232 Sequence
+0:232 move second child to first child (temp highp 4-component vector of uint)
+0:232 'f3' (temp highp 4-component vector of uint)
+0:232 textureFetch (global highp 4-component vector of uint)
+0:232 'bufSamp3' (uniform highp usamplerBuffer)
+0:232 's3' (temp highp int)
+0:279 Function Definition: CAT( (global void)
+0:279 Function Parameters:
+0:281 Sequence
+0:281 Sequence
+0:281 move second child to first child (temp highp 3-component vector of int)
+0:281 's4' (temp highp 3-component vector of int)
+0:281 textureSize (global highp 3-component vector of int)
+0:281 'CA4' (uniform highp samplerCubeArray)
+0:281 Constant:
+0:281 1 (const int)
+0:282 Sequence
+0:282 move second child to first child (temp highp 3-component vector of int)
+0:282 's5' (temp highp 3-component vector of int)
+0:282 textureSize (global highp 3-component vector of int)
+0:282 'CA5' (uniform highp samplerCubeArrayShadow)
+0:282 Constant:
+0:282 1 (const int)
+0:283 Sequence
+0:283 move second child to first child (temp highp 3-component vector of int)
+0:283 's6' (temp highp 3-component vector of int)
+0:283 textureSize (global highp 3-component vector of int)
+0:283 'CA6' (uniform highp isamplerCubeArray)
+0:283 Constant:
+0:283 1 (const int)
+0:284 Sequence
+0:284 move second child to first child (temp highp 3-component vector of int)
+0:284 's7' (temp highp 3-component vector of int)
+0:284 textureSize (global highp 3-component vector of int)
+0:284 'CA7' (uniform highp usamplerCubeArray)
+0:284 Constant:
+0:284 1 (const int)
+0:286 Sequence
+0:286 move second child to first child (temp highp 4-component vector of float)
+0:286 't4' (temp highp 4-component vector of float)
+0:286 texture (global highp 4-component vector of float)
+0:286 'CA4' (uniform highp samplerCubeArray)
+0:286 Constant:
+0:286 0.500000
+0:286 0.500000
+0:286 0.500000
+0:286 0.500000
+0:287 Sequence
+0:287 move second child to first child (temp highp float)
+0:287 't5' (temp highp float)
+0:287 texture (global highp float)
+0:287 'CA5' (uniform highp samplerCubeArrayShadow)
+0:287 Constant:
+0:287 0.500000
+0:287 0.500000
+0:287 0.500000
+0:287 0.500000
+0:287 Constant:
+0:287 3.000000
+0:288 Sequence
+0:288 move second child to first child (temp highp 4-component vector of int)
+0:288 't6' (temp highp 4-component vector of int)
+0:288 texture (global highp 4-component vector of int)
+0:288 'CA6' (uniform highp isamplerCubeArray)
+0:288 Constant:
+0:288 0.500000
+0:288 0.500000
+0:288 0.500000
+0:288 0.500000
+0:289 Sequence
+0:289 move second child to first child (temp highp 4-component vector of uint)
+0:289 't7' (temp highp 4-component vector of uint)
+0:289 texture (global highp 4-component vector of uint)
+0:289 'CA7' (uniform highp usamplerCubeArray)
+0:289 Constant:
+0:289 0.500000
+0:289 0.500000
+0:289 0.500000
+0:289 0.500000
+0:291 Sequence
+0:291 move second child to first child (temp highp 4-component vector of float)
+0:291 'L4' (temp highp 4-component vector of float)
+0:291 textureLod (global highp 4-component vector of float)
+0:291 'CA4' (uniform highp samplerCubeArray)
+0:291 Constant:
+0:291 0.500000
+0:291 0.500000
+0:291 0.500000
+0:291 0.500000
+0:291 Constant:
+0:291 0.240000
+0:292 Sequence
+0:292 move second child to first child (temp highp 4-component vector of int)
+0:292 'L6' (temp highp 4-component vector of int)
+0:292 textureLod (global highp 4-component vector of int)
+0:292 'CA6' (uniform highp isamplerCubeArray)
+0:292 Constant:
+0:292 0.500000
+0:292 0.500000
+0:292 0.500000
+0:292 0.500000
+0:292 Constant:
+0:292 0.260000
+0:293 Sequence
+0:293 move second child to first child (temp highp 4-component vector of uint)
+0:293 'L7' (temp highp 4-component vector of uint)
+0:293 textureLod (global highp 4-component vector of uint)
+0:293 'CA7' (uniform highp usamplerCubeArray)
+0:293 Constant:
+0:293 0.500000
+0:293 0.500000
+0:293 0.500000
+0:293 0.500000
+0:293 Constant:
+0:293 0.270000
+0:295 Sequence
+0:295 move second child to first child (temp highp 4-component vector of float)
+0:295 'g4' (temp highp 4-component vector of float)
+0:295 textureGrad (global highp 4-component vector of float)
+0:295 'CA4' (uniform highp samplerCubeArray)
+0:295 Constant:
+0:295 0.500000
+0:295 0.500000
+0:295 0.500000
+0:295 0.500000
+0:295 Constant:
+0:295 0.100000
+0:295 0.100000
+0:295 0.100000
+0:295 Constant:
+0:295 0.200000
+0:295 0.200000
+0:295 0.200000
+0:296 Sequence
+0:296 move second child to first child (temp highp 4-component vector of int)
+0:296 'g6' (temp highp 4-component vector of int)
+0:296 textureGrad (global highp 4-component vector of int)
+0:296 'CA6' (uniform highp isamplerCubeArray)
+0:296 Constant:
+0:296 0.500000
+0:296 0.500000
+0:296 0.500000
+0:296 0.500000
+0:296 Constant:
+0:296 0.100000
+0:296 0.100000
+0:296 0.100000
+0:296 Constant:
+0:296 0.200000
+0:296 0.200000
+0:296 0.200000
+0:297 Sequence
+0:297 move second child to first child (temp highp 4-component vector of uint)
+0:297 'g7' (temp highp 4-component vector of uint)
+0:297 textureGrad (global highp 4-component vector of uint)
+0:297 'CA7' (uniform highp usamplerCubeArray)
+0:297 Constant:
+0:297 0.500000
+0:297 0.500000
+0:297 0.500000
+0:297 0.500000
+0:297 Constant:
+0:297 0.100000
+0:297 0.100000
+0:297 0.100000
+0:297 Constant:
+0:297 0.200000
+0:297 0.200000
+0:297 0.200000
+0:299 Sequence
+0:299 move second child to first child (temp highp 4-component vector of float)
+0:299 'gath4' (temp highp 4-component vector of float)
+0:299 textureGather (global highp 4-component vector of float)
+0:299 'CA4' (uniform highp samplerCubeArray)
+0:299 Constant:
+0:299 0.500000
+0:299 0.500000
+0:299 0.500000
+0:299 0.500000
+0:300 Sequence
+0:300 move second child to first child (temp highp 4-component vector of float)
+0:300 'gathC4' (temp highp 4-component vector of float)
+0:300 textureGather (global highp 4-component vector of float)
+0:300 'CA4' (uniform highp samplerCubeArray)
+0:300 Constant:
+0:300 0.500000
+0:300 0.500000
+0:300 0.500000
+0:300 0.500000
+0:300 Constant:
+0:300 2 (const int)
+0:301 Sequence
+0:301 move second child to first child (temp highp 4-component vector of int)
+0:301 'gath6' (temp highp 4-component vector of int)
+0:301 textureGather (global highp 4-component vector of int)
+0:301 'CA6' (uniform highp isamplerCubeArray)
+0:301 Constant:
+0:301 0.500000
+0:301 0.500000
+0:301 0.500000
+0:301 0.500000
+0:302 Sequence
+0:302 move second child to first child (temp highp 4-component vector of int)
+0:302 'gathC6' (temp highp 4-component vector of int)
+0:302 textureGather (global highp 4-component vector of int)
+0:302 'CA6' (uniform highp isamplerCubeArray)
+0:302 Constant:
+0:302 0.500000
+0:302 0.500000
+0:302 0.500000
+0:302 0.500000
+0:302 Constant:
+0:302 1 (const int)
+0:303 Sequence
+0:303 move second child to first child (temp highp 4-component vector of uint)
+0:303 'gath7' (temp highp 4-component vector of uint)
+0:303 textureGather (global highp 4-component vector of uint)
+0:303 'CA7' (uniform highp usamplerCubeArray)
+0:303 Constant:
+0:303 0.500000
+0:303 0.500000
+0:303 0.500000
+0:303 0.500000
+0:304 Sequence
+0:304 move second child to first child (temp highp 4-component vector of uint)
+0:304 'gathC7' (temp highp 4-component vector of uint)
+0:304 textureGather (global highp 4-component vector of uint)
+0:304 'CA7' (uniform highp usamplerCubeArray)
+0:304 Constant:
+0:304 0.500000
+0:304 0.500000
+0:304 0.500000
+0:304 0.500000
+0:304 Constant:
+0:304 0 (const int)
+0:306 Sequence
+0:306 move second child to first child (temp highp 4-component vector of float)
+0:306 'gath5' (temp highp 4-component vector of float)
+0:306 textureGather (global highp 4-component vector of float)
+0:306 'CA5' (uniform highp samplerCubeArrayShadow)
+0:306 Constant:
+0:306 0.500000
+0:306 0.500000
+0:306 0.500000
+0:306 0.500000
+0:306 Constant:
+0:306 2.500000
+0:308 Sequence
+0:308 move second child to first child (temp highp 3-component vector of int)
+0:308 's1' (temp highp 3-component vector of int)
+0:308 imageQuerySize (global highp 3-component vector of int)
+0:308 'CA1' (writeonly uniform highp imageCubeArray)
+0:309 Sequence
+0:309 move second child to first child (temp highp 3-component vector of int)
+0:309 's2' (temp highp 3-component vector of int)
+0:309 imageQuerySize (global highp 3-component vector of int)
+0:309 'CA2' (writeonly uniform highp iimageCubeArray)
+0:310 Sequence
+0:310 move second child to first child (temp highp 3-component vector of int)
+0:310 's3' (temp highp 3-component vector of int)
+0:310 imageQuerySize (global highp 3-component vector of int)
+0:310 'CA3' (writeonly uniform highp uimageCubeArray)
+0:312 imageStore (global highp void)
+0:312 'CA1' (writeonly uniform highp imageCubeArray)
+0:312 's3' (temp highp 3-component vector of int)
+0:312 Constant:
+0:312 1.000000
+0:312 1.000000
+0:312 1.000000
+0:312 1.000000
+0:313 imageStore (global highp void)
+0:313 'CA2' (writeonly uniform highp iimageCubeArray)
+0:313 's3' (temp highp 3-component vector of int)
+0:313 Constant:
+0:313 1 (const int)
+0:313 1 (const int)
+0:313 1 (const int)
+0:313 1 (const int)
+0:314 imageStore (global highp void)
+0:314 'CA3' (writeonly uniform highp uimageCubeArray)
+0:314 's3' (temp highp 3-component vector of int)
+0:314 Constant:
+0:314 1 (const uint)
+0:314 1 (const uint)
+0:314 1 (const uint)
+0:314 1 (const uint)
+0:316 Sequence
+0:316 move second child to first child (temp highp 4-component vector of float)
+0:316 'cl1' (temp highp 4-component vector of float)
+0:316 imageLoad (global highp 4-component vector of float)
+0:316 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray)
+0:316 's3' (temp highp 3-component vector of int)
+0:317 Sequence
+0:317 move second child to first child (temp highp 4-component vector of int)
+0:317 'cl2' (temp highp 4-component vector of int)
+0:317 imageLoad (global highp 4-component vector of int)
+0:317 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray)
+0:317 's3' (temp highp 3-component vector of int)
+0:318 Sequence
+0:318 move second child to first child (temp highp 4-component vector of uint)
+0:318 'cl3' (temp highp 4-component vector of uint)
+0:318 imageLoad (global highp 4-component vector of uint)
+0:318 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray)
+0:318 's3' (temp highp 3-component vector of int)
+0:343 Function Definition: MSA( (global void)
+0:343 Function Parameters:
+0:345 Sequence
+0:345 Sequence
+0:345 move second child to first child (temp highp 4-component vector of float)
+0:345 'tf' (temp highp 4-component vector of float)
+0:345 textureFetch (global highp 4-component vector of float)
+0:345 'samp2DMSA' (uniform highp sampler2DMSArray)
+0:345 Constant:
+0:345 5 (const int)
+0:345 5 (const int)
+0:345 5 (const int)
+0:345 Constant:
+0:345 2 (const int)
+0:346 Sequence
+0:346 move second child to first child (temp highp 4-component vector of int)
+0:346 'tfi' (temp highp 4-component vector of int)
+0:346 textureFetch (global highp 4-component vector of int)
+0:346 'samp2DMSAi' (uniform highp isampler2DMSArray)
+0:346 Constant:
+0:346 5 (const int)
+0:346 5 (const int)
+0:346 5 (const int)
+0:346 Constant:
+0:346 2 (const int)
+0:347 Sequence
+0:347 move second child to first child (temp highp 4-component vector of uint)
+0:347 'tfu' (temp highp 4-component vector of uint)
+0:347 textureFetch (global highp 4-component vector of uint)
+0:347 'samp2DMSAu' (uniform highp usampler2DMSArray)
+0:347 Constant:
+0:347 5 (const int)
+0:347 5 (const int)
+0:347 5 (const int)
+0:347 Constant:
+0:347 2 (const int)
+0:349 Sequence
+0:349 move second child to first child (temp highp 3-component vector of int)
+0:349 'tfs' (temp highp 3-component vector of int)
+0:349 textureSize (global highp 3-component vector of int)
+0:349 'samp2DMSA' (uniform highp sampler2DMSArray)
+0:350 Sequence
+0:350 move second child to first child (temp highp 3-component vector of int)
+0:350 'tfsi' (temp highp 3-component vector of int)
+0:350 textureSize (global highp 3-component vector of int)
+0:350 'samp2DMSAi' (uniform highp isampler2DMSArray)
+0:352 Sequence
+0:352 move second child to first child (temp highp 3-component vector of int)
+0:352 'tfsu' (temp highp 3-component vector of int)
+0:352 textureSize (global highp 3-component vector of int)
+0:352 'samp2DMSAu' (uniform highp usampler2DMSArray)
+0:364 Function Definition: goodImageAtom( (global void)
+0:364 Function Parameters:
+0:? Sequence
+0:370 imageAtomicAdd (global highp int)
+0:370 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:370 'P' (uniform highp 2-component vector of int)
+0:370 'dati' (temp highp int)
+0:371 imageAtomicAdd (global highp uint)
+0:371 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:371 'P' (uniform highp 2-component vector of int)
+0:371 'datu' (temp highp uint)
+0:372 imageAtomicMin (global highp int)
+0:372 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:372 'P' (uniform highp 2-component vector of int)
+0:372 'dati' (temp highp int)
+0:373 imageAtomicMin (global highp uint)
+0:373 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:373 'P' (uniform highp 2-component vector of int)
+0:373 'datu' (temp highp uint)
+0:374 imageAtomicMax (global highp int)
+0:374 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:374 'P' (uniform highp 2-component vector of int)
+0:374 'dati' (temp highp int)
+0:375 imageAtomicMax (global highp uint)
+0:375 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:375 'P' (uniform highp 2-component vector of int)
+0:375 'datu' (temp highp uint)
+0:376 imageAtomicAnd (global highp int)
+0:376 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:376 'P' (uniform highp 2-component vector of int)
+0:376 'dati' (temp highp int)
+0:377 imageAtomicAnd (global highp uint)
+0:377 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:377 'P' (uniform highp 2-component vector of int)
+0:377 'datu' (temp highp uint)
+0:378 imageAtomicOr (global highp int)
+0:378 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:378 'P' (uniform highp 2-component vector of int)
+0:378 'dati' (temp highp int)
+0:379 imageAtomicOr (global highp uint)
+0:379 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:379 'P' (uniform highp 2-component vector of int)
+0:379 'datu' (temp highp uint)
+0:380 imageAtomicXor (global highp int)
+0:380 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:380 'P' (uniform highp 2-component vector of int)
+0:380 'dati' (temp highp int)
+0:381 imageAtomicXor (global highp uint)
+0:381 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:381 'P' (uniform highp 2-component vector of int)
+0:381 'datu' (temp highp uint)
+0:382 imageAtomicExchange (global highp int)
+0:382 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:382 'P' (uniform highp 2-component vector of int)
+0:382 'dati' (temp highp int)
+0:383 imageAtomicExchange (global highp uint)
+0:383 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:383 'P' (uniform highp 2-component vector of int)
+0:383 'datu' (temp highp uint)
+0:384 imageAtomicExchange (global highp float)
+0:384 'im2Df' (layout(r32f ) uniform highp image2D)
+0:384 'P' (uniform highp 2-component vector of int)
+0:384 'datf' (temp highp float)
+0:385 imageAtomicCompSwap (global highp int)
+0:385 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:385 'P' (uniform highp 2-component vector of int)
+0:385 Constant:
+0:385 3 (const int)
+0:385 'dati' (temp highp int)
+0:386 imageAtomicCompSwap (global highp uint)
+0:386 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:386 'P' (uniform highp 2-component vector of int)
+0:386 Constant:
+0:386 5 (const uint)
+0:386 'datu' (temp highp uint)
+0:398 Function Definition: badInterp( (global void)
+0:398 Function Parameters:
+0:400 Sequence
+0:400 Constant:
+0:400 0.000000
+0:401 Constant:
+0:401 0.000000
+0:402 Constant:
+0:402 0.000000
+0:? Linker Objects
+0:? 's' (shared highp 4-component vector of float)
+0:? 'v' (buffer highp 4-component vector of float)
+0:? 'ini' (in highp int)
+0:? 'x' (layout(location=2 ) uniform highp 4X4 matrix of float)
+0:? 'y' (layout(location=3 ) uniform highp 4X4 matrix of float)
+0:? 'xi' (layout(location=2 ) smooth out highp 4X4 matrix of float)
+0:? 'yi' (layout(location=3 ) smooth out highp 4X4 matrix of float)
+0:? 's2dms' (uniform highp sampler2DMS)
+0:? 'is2dms' (uniform highp isampler2DMS)
+0:? 'us2dms' (uniform highp usampler2DMS)
+0:? 'us2dmsa' (uniform mediump usampler2DMSArray)
+0:? 'outb' (smooth out bool)
+0:? 'outo' (smooth out highp sampler2D)
+0:? 'outa' (smooth out 4-element array of highp float)
+0:? 'outaa' (smooth out 4-element array of 2-element array of highp float)
+0:? 'outs' (smooth out structure{global highp float f})
+0:? 'outasa' (smooth out 4-element array of structure{global highp float f})
+0:? 'outsa' (smooth out 4-element array of structure{global highp float f})
+0:? 'outSA' (smooth out structure{global 4-element array of highp float f})
+0:? 'outSS' (smooth out structure{global highp float f, global structure{global highp float f} s})
+0:? 'U430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a})
+0:? 'B430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer highp int a})
+0:? 'outbinst' (out block{out highp int a, out highp 4-component vector of float v, out highp sampler2D s})
+0:? 'anon@0' (out block{layout(location=12 ) out highp int aAnon, layout(location=13 ) out highp 4-component vector of float vAnon})
+0:? 'aliased' (layout(location=12 ) smooth out highp int)
+0:? 'inbinst' (in block{in highp int a})
+0:? 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
+0:? 'smon' (smooth out block{out highp int i})
+0:? 'fmon' (flat out block{out highp int i})
+0:? 'cmon' (centroid out block{out highp int i})
+0:? 'imon' (invariant out block{out highp int i})
+0:? 'inf' (in highp 2-component vector of float)
+0:? 'ing' (in highp 2-component vector of float)
+0:? 'offsets' (uniform 4-element array of highp 2-component vector of int)
+0:? 'sArray' (uniform 4-element array of highp sampler2D)
+0:? 'sIndex' (uniform highp int)
+0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
+0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:? 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:? 'constOffsets' (const 4-element array of highp 2-component vector of int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 'badSamp1' (uniform mediump samplerBuffer)
+0:? 'badSamp2' (uniform mediump isamplerBuffer)
+0:? 'badSamp3' (uniform mediump usamplerBuffer)
+0:? 'badSamp4' (writeonly uniform mediump imageBuffer)
+0:? 'badSamp5' (writeonly uniform mediump iimageBuffer)
+0:? 'badSamp6' (writeonly uniform mediump uimageBuffer)
+0:? 'noPreSamp1' (uniform mediump samplerBuffer)
+0:? 'noPreSamp2' (uniform mediump isamplerBuffer)
+0:? 'noPreSamp3' (uniform mediump usamplerBuffer)
+0:? 'noPreSamp4' (writeonly uniform mediump imageBuffer)
+0:? 'noPreSamp5' (writeonly uniform mediump iimageBuffer)
+0:? 'noPreSamp6' (writeonly uniform mediump uimageBuffer)
+0:? 'bufSamp1' (uniform highp samplerBuffer)
+0:? 'bufSamp2' (uniform highp isamplerBuffer)
+0:? 'bufSamp3' (uniform highp usamplerBuffer)
+0:? 'bufSamp4' (writeonly uniform highp imageBuffer)
+0:? 'bufSamp5' (writeonly uniform highp iimageBuffer)
+0:? 'bufSamp6' (writeonly uniform highp uimageBuffer)
+0:? 'badCA1' (writeonly uniform mediump imageCubeArray)
+0:? 'badCA2' (writeonly uniform mediump iimageCubeArray)
+0:? 'badCA3' (writeonly uniform mediump uimageCubeArray)
+0:? 'badCA4' (uniform mediump samplerCubeArray)
+0:? 'badCA5' (uniform mediump samplerCubeArrayShadow)
+0:? 'badCA6' (uniform mediump isamplerCubeArray)
+0:? 'badCA7' (uniform mediump usamplerCubeArray)
+0:? 'noPreCA1' (writeonly uniform mediump imageCubeArray)
+0:? 'noPreCA2' (writeonly uniform mediump iimageCubeArray)
+0:? 'noPreCA3' (writeonly uniform mediump uimageCubeArray)
+0:? 'noPreCA4' (uniform mediump samplerCubeArray)
+0:? 'noPreCA5' (uniform mediump samplerCubeArrayShadow)
+0:? 'noPreCA6' (uniform mediump isamplerCubeArray)
+0:? 'noPreCA7' (uniform mediump usamplerCubeArray)
+0:? 'CA1' (writeonly uniform highp imageCubeArray)
+0:? 'CA2' (writeonly uniform highp iimageCubeArray)
+0:? 'CA3' (writeonly uniform highp uimageCubeArray)
+0:? 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray)
+0:? 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray)
+0:? 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray)
+0:? 'CA4' (uniform highp samplerCubeArray)
+0:? 'CA5' (uniform highp samplerCubeArrayShadow)
+0:? 'CA6' (uniform highp isamplerCubeArray)
+0:? 'CA7' (uniform highp usamplerCubeArray)
+0:? 'bad2DMS' (uniform mediump sampler2DMSArray)
+0:? 'bad2DMSi' (uniform mediump isampler2DMSArray)
+0:? 'bad2DMSu' (uniform mediump usampler2DMSArray)
+0:? 'noPrec2DMS' (uniform mediump sampler2DMSArray)
+0:? 'noPrec2DMSi' (uniform mediump isampler2DMSArray)
+0:? 'noPrec2DMSu' (uniform mediump usampler2DMSArray)
+0:? 'samp2DMSA' (uniform highp sampler2DMSArray)
+0:? 'samp2DMSAi' (uniform highp isampler2DMSArray)
+0:? 'samp2DMSAu' (uniform highp usampler2DMSArray)
+0:? 'im2Df' (layout(r32f ) uniform highp image2D)
+0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:? 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:? 'P' (uniform highp 2-component vector of int)
+0:? 'colorSampInBad' (smooth sample out highp 4-component vector of float)
+0:? 'colorSample' (smooth sample out highp 4-component vector of float)
+0:? 'colorfsi' (flat sample out highp 4-component vector of float)
+0:? 'sampInArray' (smooth sample out 4-element array of highp 3-component vector of float)
+0:? 'inv4' (in highp 4-component vector of float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 310
+Requested GL_EXT_texture_buffer
+Requested GL_OES_gpu_shader5
+Requested GL_OES_shader_image_atomic
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_shader_multisample_interpolation
+Requested GL_OES_texture_buffer
+Requested GL_OES_texture_cube_map_array
+Requested GL_OES_texture_storage_multisample_2d_array
+ERROR: node is still EOpNull!
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:? Sequence
+0:15 move second child to first child (temp highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:15 addCarry (global highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:17 move second child to first child (temp highp uint)
+0:17 'u1' (temp highp uint)
+0:17 subBorrow (global highp uint)
+0:17 'u1' (temp highp uint)
+0:17 'u1' (temp highp uint)
+0:17 'u1' (temp highp uint)
+0:19 uMulExtended (global void)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:21 iMulExtended (global void)
+0:21 'i4' (temp highp 4-component vector of int)
+0:21 'i4' (temp highp 4-component vector of int)
+0:21 'i4' (temp highp 4-component vector of int)
+0:21 'i4' (temp highp 4-component vector of int)
+0:23 move second child to first child (temp highp int)
+0:23 'i1' (temp highp int)
+0:23 bitfieldExtract (global highp int)
+0:23 'i1' (temp highp int)
+0:23 Constant:
+0:23 4 (const int)
+0:23 Constant:
+0:23 5 (const int)
+0:25 move second child to first child (temp highp 3-component vector of uint)
+0:25 'u3' (temp highp 3-component vector of uint)
+0:25 bitfieldExtract (global highp 3-component vector of uint)
+0:25 'u3' (temp highp 3-component vector of uint)
+0:25 Constant:
+0:25 4 (const int)
+0:25 Constant:
+0:25 5 (const int)
+0:27 move second child to first child (temp highp 3-component vector of int)
+0:27 'i3' (temp highp 3-component vector of int)
+0:27 bitfieldInsert (global highp 3-component vector of int)
+0:27 'i3' (temp highp 3-component vector of int)
+0:27 'i3' (temp highp 3-component vector of int)
+0:27 Constant:
+0:27 4 (const int)
+0:27 Constant:
+0:27 5 (const int)
+0:28 move second child to first child (temp highp uint)
+0:28 'u1' (temp highp uint)
+0:28 bitfieldInsert (global highp uint)
+0:28 'u1' (temp highp uint)
+0:28 'u1' (temp highp uint)
+0:28 Constant:
+0:28 4 (const int)
+0:28 Constant:
+0:28 5 (const int)
+0:30 move second child to first child (temp highp 2-component vector of int)
+0:30 'i2' (temp highp 2-component vector of int)
+0:30 bitFieldReverse (global highp 2-component vector of int)
+0:30 'i2' (temp highp 2-component vector of int)
+0:31 move second child to first child (temp highp 4-component vector of uint)
+0:31 'u4' (temp highp 4-component vector of uint)
+0:31 bitFieldReverse (global highp 4-component vector of uint)
+0:31 'u4' (temp highp 4-component vector of uint)
+0:32 move second child to first child (temp highp int)
+0:32 'i1' (temp highp int)
+0:32 bitCount (global lowp int)
+0:32 'i1' (temp highp int)
+0:33 move second child to first child (temp highp 3-component vector of int)
+0:33 'i3' (temp highp 3-component vector of int)
+0:33 bitCount (global lowp 3-component vector of int)
+0:33 'u3' (temp highp 3-component vector of uint)
+0:34 move second child to first child (temp highp 2-component vector of int)
+0:34 'i2' (temp highp 2-component vector of int)
+0:34 findLSB (global lowp 2-component vector of int)
+0:34 'i2' (temp highp 2-component vector of int)
+0:35 move second child to first child (temp highp 4-component vector of int)
+0:35 'i4' (temp highp 4-component vector of int)
+0:35 findLSB (global lowp 4-component vector of int)
+0:35 'u4' (temp highp 4-component vector of uint)
+0:36 move second child to first child (temp highp int)
+0:36 'i1' (temp highp int)
+0:36 findMSB (global lowp int)
+0:36 'i1' (temp highp int)
+0:37 move second child to first child (temp highp 2-component vector of int)
+0:37 'i2' (temp highp 2-component vector of int)
+0:37 findMSB (global lowp 2-component vector of int)
+0:37 'u2' (temp highp 2-component vector of uint)
+0:40 move second child to first child (temp highp 3-component vector of float)
+0:40 'v3' (temp highp 3-component vector of float)
+0:40 frexp (global highp 3-component vector of float)
+0:40 'v3' (temp highp 3-component vector of float)
+0:40 'i3' (temp highp 3-component vector of int)
+0:42 move second child to first child (temp highp 2-component vector of float)
+0:42 'v2' (temp highp 2-component vector of float)
+0:42 ldexp (global highp 2-component vector of float)
+0:42 'v2' (temp highp 2-component vector of float)
+0:42 'i2' (temp highp 2-component vector of int)
+0:45 move second child to first child (temp highp uint)
+0:45 'u1' (temp highp uint)
+0:45 PackUnorm4x8 (global highp uint)
+0:45 'v4' (temp mediump 4-component vector of float)
+0:46 move second child to first child (temp highp uint)
+0:46 'u1' (temp highp uint)
+0:46 PackSnorm4x8 (global highp uint)
+0:46 'v4' (temp mediump 4-component vector of float)
+0:47 move second child to first child (temp mediump 4-component vector of float)
+0:47 'v4' (temp mediump 4-component vector of float)
+0:47 UnpackUnorm4x8 (global mediump 4-component vector of float)
+0:47 'u1' (temp highp uint)
+0:48 move second child to first child (temp mediump 4-component vector of float)
+0:48 'v4' (temp mediump 4-component vector of float)
+0:48 UnpackSnorm4x8 (global mediump 4-component vector of float)
+0:48 'u1' (temp highp uint)
+0:60 Function Definition: foo( (global void)
+0:60 Function Parameters:
+0:? Sequence
+0:63 move second child to first child (temp highp 2-component vector of int)
+0:63 'v2' (temp highp 2-component vector of int)
+0:63 textureSize (global highp 2-component vector of int)
+0:63 's2dms' (uniform highp sampler2DMS)
+0:64 move second child to first child (temp highp 2-component vector of int)
+0:64 'v2' (temp highp 2-component vector of int)
+0:64 textureSize (global highp 2-component vector of int)
+0:64 'us2dms' (uniform highp usampler2DMS)
+0:65 Sequence
+0:65 move second child to first child (temp highp 4-component vector of float)
+0:65 'v4' (temp highp 4-component vector of float)
+0:65 textureFetch (global highp 4-component vector of float)
+0:65 's2dms' (uniform highp sampler2DMS)
+0:65 'v2' (temp highp 2-component vector of int)
+0:65 Constant:
+0:65 2 (const int)
+0:66 Sequence
+0:66 move second child to first child (temp highp 4-component vector of int)
+0:66 'iv4' (temp highp 4-component vector of int)
+0:66 textureFetch (global highp 4-component vector of int)
+0:66 'is2dms' (uniform highp isampler2DMS)
+0:66 'v2' (temp highp 2-component vector of int)
+0:66 Constant:
+0:66 2 (const int)
+0:67 Constant:
+0:67 0.000000
+0:69 frexp (global highp float)
+0:69 'f' (temp highp float)
+0:69 'ini' (in highp int)
+0:114 Function Definition: foo_IO( (global void)
+0:114 Function Parameters:
+0:116 Sequence
+0:116 Sequence
+0:116 move second child to first child (temp highp int)
+0:116 'sum' (temp highp int)
+0:116 add (temp highp int)
+0:116 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:117 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+0:118 move second child to first child (temp highp 4-component vector of float)
+0:118 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
+0:118 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
+0:118 Constant:
+0:118 0 (const uint)
+0:118 Constant:
+0:118 1.000000
+0:118 1.000000
+0:118 1.000000
+0:118 1.000000
+0:119 gl_PointSize: direct index for structure (gl_PointSize highp void PointSize)
+0:119 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
+0:119 Constant:
+0:119 1 (const uint)
+0:153 Function Definition: pfooBad( (global void)
+0:153 Function Parameters:
+0:? Sequence
+0:156 move second child to first child (temp highp 2-component vector of float)
+0:156 'h' (noContraction temp highp 2-component vector of float)
+0:156 fma (global highp 2-component vector of float)
+0:156 'inf' (in highp 2-component vector of float)
+0:156 'ing' (in highp 2-component vector of float)
+0:156 'h' (noContraction temp highp 2-component vector of float)
+0:157 indirect index (temp highp sampler2D)
+0:157 'sArray' (uniform 4-element array of highp sampler2D)
+0:157 add (temp highp int)
+0:157 'sIndex' (uniform highp int)
+0:157 Constant:
+0:157 1 (const int)
+0:158 indirect index (layout(binding=0 offset=0 ) temp highp atomic_uint)
+0:158 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
+0:158 add (temp highp int)
+0:158 'sIndex' (uniform highp int)
+0:158 Constant:
+0:158 1 (const int)
+0:159 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
+0:159 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:159 Constant:
+0:159 1 (const int)
+0:160 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
+0:160 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:160 Constant:
+0:160 2 (const int)
+0:161 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
+0:161 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:161 add (temp highp int)
+0:161 'sIndex' (uniform highp int)
+0:161 Constant:
+0:161 1 (const int)
+0:162 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
+0:162 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:162 'sIndex' (uniform highp int)
+0:163 direct index (writeonly temp highp image2D)
+0:163 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:163 Constant:
+0:163 2 (const int)
+0:164 indirect index (writeonly temp highp image2D)
+0:164 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:164 component-wise multiply (temp highp int)
+0:164 'sIndex' (uniform highp int)
+0:164 Constant:
+0:164 2 (const int)
+0:165 textureGatherOffset (global highp 4-component vector of float)
+0:165 direct index (temp highp sampler2D)
+0:165 'sArray' (uniform 4-element array of highp sampler2D)
+0:165 Constant:
+0:165 0 (const int)
+0:165 Constant:
+0:165 0.100000
+0:165 0.100000
+0:165 Convert float to int (temp highp 2-component vector of int)
+0:165 'inf' (in highp 2-component vector of float)
+0:166 textureGatherOffsets (global highp 4-component vector of float)
+0:166 direct index (temp highp sampler2D)
+0:166 'sArray' (uniform 4-element array of highp sampler2D)
+0:166 Constant:
+0:166 0 (const int)
+0:166 Constant:
+0:166 0.100000
+0:166 0.100000
+0:166 Constant:
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:171 Function Definition: pfoo( (global void)
+0:171 Function Parameters:
+0:? Sequence
+0:174 move second child to first child (temp highp 2-component vector of float)
+0:174 'h' (noContraction temp highp 2-component vector of float)
+0:174 fma (global highp 2-component vector of float)
+0:174 'inf' (in highp 2-component vector of float)
+0:174 'ing' (in highp 2-component vector of float)
+0:174 'h' (noContraction temp highp 2-component vector of float)
+0:175 indirect index (temp highp sampler2D)
+0:175 'sArray' (uniform 4-element array of highp sampler2D)
+0:175 add (temp highp int)
+0:175 'sIndex' (uniform highp int)
+0:175 Constant:
+0:175 1 (const int)
+0:176 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
+0:176 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:176 add (temp highp int)
+0:176 'sIndex' (uniform highp int)
+0:176 Constant:
+0:176 1 (const int)
+0:177 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
+0:177 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:177 subtract (temp highp int)
+0:177 'sIndex' (uniform highp int)
+0:177 Constant:
+0:177 2 (const int)
+0:178 direct index (writeonly temp highp image2D)
+0:178 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:178 Constant:
+0:178 2 (const int)
+0:179 indirect index (writeonly temp highp image2D)
+0:179 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:179 subtract (temp highp int)
+0:179 'sIndex' (uniform highp int)
+0:179 Constant:
+0:179 2 (const int)
+0:180 textureGatherOffset (global highp 4-component vector of float)
+0:180 direct index (temp highp sampler2D)
+0:180 'sArray' (uniform 4-element array of highp sampler2D)
+0:180 Constant:
+0:180 0 (const int)
+0:180 Constant:
+0:180 0.100000
+0:180 0.100000
+0:180 Convert float to int (temp highp 2-component vector of int)
+0:180 'inf' (in highp 2-component vector of float)
+0:181 textureGatherOffsets (global highp 4-component vector of float)
+0:181 direct index (temp highp sampler2D)
+0:181 'sArray' (uniform 4-element array of highp sampler2D)
+0:181 Constant:
+0:181 0 (const int)
+0:181 Constant:
+0:181 0.100000
+0:181 0.100000
+0:181 Constant:
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:182 textureGatherOffsets (global highp 4-component vector of float)
+0:182 direct index (temp highp sampler2D)
+0:182 'sArray' (uniform 4-element array of highp sampler2D)
+0:182 Constant:
+0:182 0 (const int)
+0:182 Constant:
+0:182 0.100000
+0:182 0.100000
+0:182 'offsets' (uniform 4-element array of highp 2-component vector of int)
+0:220 Function Definition: bufferT( (global void)
+0:220 Function Parameters:
+0:222 Sequence
+0:222 Sequence
+0:222 move second child to first child (temp highp int)
+0:222 's1' (temp highp int)
+0:222 textureSize (global highp int)
+0:222 'bufSamp1' (uniform highp samplerBuffer)
+0:223 Sequence
+0:223 move second child to first child (temp highp int)
+0:223 's2' (temp highp int)
+0:223 textureSize (global highp int)
+0:223 'bufSamp2' (uniform highp isamplerBuffer)
+0:224 Sequence
+0:224 move second child to first child (temp highp int)
+0:224 's3' (temp highp int)
+0:224 textureSize (global highp int)
+0:224 'bufSamp3' (uniform highp usamplerBuffer)
+0:226 Sequence
+0:226 move second child to first child (temp highp int)
+0:226 's4' (temp highp int)
+0:226 imageQuerySize (global highp int)
+0:226 'bufSamp4' (writeonly uniform highp imageBuffer)
+0:227 Sequence
+0:227 move second child to first child (temp highp int)
+0:227 's5' (temp highp int)
+0:227 imageQuerySize (global highp int)
+0:227 'bufSamp5' (writeonly uniform highp iimageBuffer)
+0:228 Sequence
+0:228 move second child to first child (temp highp int)
+0:228 's6' (temp highp int)
+0:228 imageQuerySize (global highp int)
+0:228 'bufSamp6' (writeonly uniform highp uimageBuffer)
+0:230 Sequence
+0:230 move second child to first child (temp highp 4-component vector of float)
+0:230 'f1' (temp highp 4-component vector of float)
+0:230 textureFetch (global highp 4-component vector of float)
+0:230 'bufSamp1' (uniform highp samplerBuffer)
+0:230 's1' (temp highp int)
+0:231 Sequence
+0:231 move second child to first child (temp highp 4-component vector of int)
+0:231 'f2' (temp highp 4-component vector of int)
+0:231 textureFetch (global highp 4-component vector of int)
+0:231 'bufSamp2' (uniform highp isamplerBuffer)
+0:231 's2' (temp highp int)
+0:232 Sequence
+0:232 move second child to first child (temp highp 4-component vector of uint)
+0:232 'f3' (temp highp 4-component vector of uint)
+0:232 textureFetch (global highp 4-component vector of uint)
+0:232 'bufSamp3' (uniform highp usamplerBuffer)
+0:232 's3' (temp highp int)
+0:279 Function Definition: CAT( (global void)
+0:279 Function Parameters:
+0:281 Sequence
+0:281 Sequence
+0:281 move second child to first child (temp highp 3-component vector of int)
+0:281 's4' (temp highp 3-component vector of int)
+0:281 textureSize (global highp 3-component vector of int)
+0:281 'CA4' (uniform highp samplerCubeArray)
+0:281 Constant:
+0:281 1 (const int)
+0:282 Sequence
+0:282 move second child to first child (temp highp 3-component vector of int)
+0:282 's5' (temp highp 3-component vector of int)
+0:282 textureSize (global highp 3-component vector of int)
+0:282 'CA5' (uniform highp samplerCubeArrayShadow)
+0:282 Constant:
+0:282 1 (const int)
+0:283 Sequence
+0:283 move second child to first child (temp highp 3-component vector of int)
+0:283 's6' (temp highp 3-component vector of int)
+0:283 textureSize (global highp 3-component vector of int)
+0:283 'CA6' (uniform highp isamplerCubeArray)
+0:283 Constant:
+0:283 1 (const int)
+0:284 Sequence
+0:284 move second child to first child (temp highp 3-component vector of int)
+0:284 's7' (temp highp 3-component vector of int)
+0:284 textureSize (global highp 3-component vector of int)
+0:284 'CA7' (uniform highp usamplerCubeArray)
+0:284 Constant:
+0:284 1 (const int)
+0:286 Sequence
+0:286 move second child to first child (temp highp 4-component vector of float)
+0:286 't4' (temp highp 4-component vector of float)
+0:286 texture (global highp 4-component vector of float)
+0:286 'CA4' (uniform highp samplerCubeArray)
+0:286 Constant:
+0:286 0.500000
+0:286 0.500000
+0:286 0.500000
+0:286 0.500000
+0:287 Sequence
+0:287 move second child to first child (temp highp float)
+0:287 't5' (temp highp float)
+0:287 texture (global highp float)
+0:287 'CA5' (uniform highp samplerCubeArrayShadow)
+0:287 Constant:
+0:287 0.500000
+0:287 0.500000
+0:287 0.500000
+0:287 0.500000
+0:287 Constant:
+0:287 3.000000
+0:288 Sequence
+0:288 move second child to first child (temp highp 4-component vector of int)
+0:288 't6' (temp highp 4-component vector of int)
+0:288 texture (global highp 4-component vector of int)
+0:288 'CA6' (uniform highp isamplerCubeArray)
+0:288 Constant:
+0:288 0.500000
+0:288 0.500000
+0:288 0.500000
+0:288 0.500000
+0:289 Sequence
+0:289 move second child to first child (temp highp 4-component vector of uint)
+0:289 't7' (temp highp 4-component vector of uint)
+0:289 texture (global highp 4-component vector of uint)
+0:289 'CA7' (uniform highp usamplerCubeArray)
+0:289 Constant:
+0:289 0.500000
+0:289 0.500000
+0:289 0.500000
+0:289 0.500000
+0:291 Sequence
+0:291 move second child to first child (temp highp 4-component vector of float)
+0:291 'L4' (temp highp 4-component vector of float)
+0:291 textureLod (global highp 4-component vector of float)
+0:291 'CA4' (uniform highp samplerCubeArray)
+0:291 Constant:
+0:291 0.500000
+0:291 0.500000
+0:291 0.500000
+0:291 0.500000
+0:291 Constant:
+0:291 0.240000
+0:292 Sequence
+0:292 move second child to first child (temp highp 4-component vector of int)
+0:292 'L6' (temp highp 4-component vector of int)
+0:292 textureLod (global highp 4-component vector of int)
+0:292 'CA6' (uniform highp isamplerCubeArray)
+0:292 Constant:
+0:292 0.500000
+0:292 0.500000
+0:292 0.500000
+0:292 0.500000
+0:292 Constant:
+0:292 0.260000
+0:293 Sequence
+0:293 move second child to first child (temp highp 4-component vector of uint)
+0:293 'L7' (temp highp 4-component vector of uint)
+0:293 textureLod (global highp 4-component vector of uint)
+0:293 'CA7' (uniform highp usamplerCubeArray)
+0:293 Constant:
+0:293 0.500000
+0:293 0.500000
+0:293 0.500000
+0:293 0.500000
+0:293 Constant:
+0:293 0.270000
+0:295 Sequence
+0:295 move second child to first child (temp highp 4-component vector of float)
+0:295 'g4' (temp highp 4-component vector of float)
+0:295 textureGrad (global highp 4-component vector of float)
+0:295 'CA4' (uniform highp samplerCubeArray)
+0:295 Constant:
+0:295 0.500000
+0:295 0.500000
+0:295 0.500000
+0:295 0.500000
+0:295 Constant:
+0:295 0.100000
+0:295 0.100000
+0:295 0.100000
+0:295 Constant:
+0:295 0.200000
+0:295 0.200000
+0:295 0.200000
+0:296 Sequence
+0:296 move second child to first child (temp highp 4-component vector of int)
+0:296 'g6' (temp highp 4-component vector of int)
+0:296 textureGrad (global highp 4-component vector of int)
+0:296 'CA6' (uniform highp isamplerCubeArray)
+0:296 Constant:
+0:296 0.500000
+0:296 0.500000
+0:296 0.500000
+0:296 0.500000
+0:296 Constant:
+0:296 0.100000
+0:296 0.100000
+0:296 0.100000
+0:296 Constant:
+0:296 0.200000
+0:296 0.200000
+0:296 0.200000
+0:297 Sequence
+0:297 move second child to first child (temp highp 4-component vector of uint)
+0:297 'g7' (temp highp 4-component vector of uint)
+0:297 textureGrad (global highp 4-component vector of uint)
+0:297 'CA7' (uniform highp usamplerCubeArray)
+0:297 Constant:
+0:297 0.500000
+0:297 0.500000
+0:297 0.500000
+0:297 0.500000
+0:297 Constant:
+0:297 0.100000
+0:297 0.100000
+0:297 0.100000
+0:297 Constant:
+0:297 0.200000
+0:297 0.200000
+0:297 0.200000
+0:299 Sequence
+0:299 move second child to first child (temp highp 4-component vector of float)
+0:299 'gath4' (temp highp 4-component vector of float)
+0:299 textureGather (global highp 4-component vector of float)
+0:299 'CA4' (uniform highp samplerCubeArray)
+0:299 Constant:
+0:299 0.500000
+0:299 0.500000
+0:299 0.500000
+0:299 0.500000
+0:300 Sequence
+0:300 move second child to first child (temp highp 4-component vector of float)
+0:300 'gathC4' (temp highp 4-component vector of float)
+0:300 textureGather (global highp 4-component vector of float)
+0:300 'CA4' (uniform highp samplerCubeArray)
+0:300 Constant:
+0:300 0.500000
+0:300 0.500000
+0:300 0.500000
+0:300 0.500000
+0:300 Constant:
+0:300 2 (const int)
+0:301 Sequence
+0:301 move second child to first child (temp highp 4-component vector of int)
+0:301 'gath6' (temp highp 4-component vector of int)
+0:301 textureGather (global highp 4-component vector of int)
+0:301 'CA6' (uniform highp isamplerCubeArray)
+0:301 Constant:
+0:301 0.500000
+0:301 0.500000
+0:301 0.500000
+0:301 0.500000
+0:302 Sequence
+0:302 move second child to first child (temp highp 4-component vector of int)
+0:302 'gathC6' (temp highp 4-component vector of int)
+0:302 textureGather (global highp 4-component vector of int)
+0:302 'CA6' (uniform highp isamplerCubeArray)
+0:302 Constant:
+0:302 0.500000
+0:302 0.500000
+0:302 0.500000
+0:302 0.500000
+0:302 Constant:
+0:302 1 (const int)
+0:303 Sequence
+0:303 move second child to first child (temp highp 4-component vector of uint)
+0:303 'gath7' (temp highp 4-component vector of uint)
+0:303 textureGather (global highp 4-component vector of uint)
+0:303 'CA7' (uniform highp usamplerCubeArray)
+0:303 Constant:
+0:303 0.500000
+0:303 0.500000
+0:303 0.500000
+0:303 0.500000
+0:304 Sequence
+0:304 move second child to first child (temp highp 4-component vector of uint)
+0:304 'gathC7' (temp highp 4-component vector of uint)
+0:304 textureGather (global highp 4-component vector of uint)
+0:304 'CA7' (uniform highp usamplerCubeArray)
+0:304 Constant:
+0:304 0.500000
+0:304 0.500000
+0:304 0.500000
+0:304 0.500000
+0:304 Constant:
+0:304 0 (const int)
+0:306 Sequence
+0:306 move second child to first child (temp highp 4-component vector of float)
+0:306 'gath5' (temp highp 4-component vector of float)
+0:306 textureGather (global highp 4-component vector of float)
+0:306 'CA5' (uniform highp samplerCubeArrayShadow)
+0:306 Constant:
+0:306 0.500000
+0:306 0.500000
+0:306 0.500000
+0:306 0.500000
+0:306 Constant:
+0:306 2.500000
+0:308 Sequence
+0:308 move second child to first child (temp highp 3-component vector of int)
+0:308 's1' (temp highp 3-component vector of int)
+0:308 imageQuerySize (global highp 3-component vector of int)
+0:308 'CA1' (writeonly uniform highp imageCubeArray)
+0:309 Sequence
+0:309 move second child to first child (temp highp 3-component vector of int)
+0:309 's2' (temp highp 3-component vector of int)
+0:309 imageQuerySize (global highp 3-component vector of int)
+0:309 'CA2' (writeonly uniform highp iimageCubeArray)
+0:310 Sequence
+0:310 move second child to first child (temp highp 3-component vector of int)
+0:310 's3' (temp highp 3-component vector of int)
+0:310 imageQuerySize (global highp 3-component vector of int)
+0:310 'CA3' (writeonly uniform highp uimageCubeArray)
+0:312 imageStore (global highp void)
+0:312 'CA1' (writeonly uniform highp imageCubeArray)
+0:312 's3' (temp highp 3-component vector of int)
+0:312 Constant:
+0:312 1.000000
+0:312 1.000000
+0:312 1.000000
+0:312 1.000000
+0:313 imageStore (global highp void)
+0:313 'CA2' (writeonly uniform highp iimageCubeArray)
+0:313 's3' (temp highp 3-component vector of int)
+0:313 Constant:
+0:313 1 (const int)
+0:313 1 (const int)
+0:313 1 (const int)
+0:313 1 (const int)
+0:314 imageStore (global highp void)
+0:314 'CA3' (writeonly uniform highp uimageCubeArray)
+0:314 's3' (temp highp 3-component vector of int)
+0:314 Constant:
+0:314 1 (const uint)
+0:314 1 (const uint)
+0:314 1 (const uint)
+0:314 1 (const uint)
+0:316 Sequence
+0:316 move second child to first child (temp highp 4-component vector of float)
+0:316 'cl1' (temp highp 4-component vector of float)
+0:316 imageLoad (global highp 4-component vector of float)
+0:316 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray)
+0:316 's3' (temp highp 3-component vector of int)
+0:317 Sequence
+0:317 move second child to first child (temp highp 4-component vector of int)
+0:317 'cl2' (temp highp 4-component vector of int)
+0:317 imageLoad (global highp 4-component vector of int)
+0:317 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray)
+0:317 's3' (temp highp 3-component vector of int)
+0:318 Sequence
+0:318 move second child to first child (temp highp 4-component vector of uint)
+0:318 'cl3' (temp highp 4-component vector of uint)
+0:318 imageLoad (global highp 4-component vector of uint)
+0:318 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray)
+0:318 's3' (temp highp 3-component vector of int)
+0:343 Function Definition: MSA( (global void)
+0:343 Function Parameters:
+0:345 Sequence
+0:345 Sequence
+0:345 move second child to first child (temp highp 4-component vector of float)
+0:345 'tf' (temp highp 4-component vector of float)
+0:345 textureFetch (global highp 4-component vector of float)
+0:345 'samp2DMSA' (uniform highp sampler2DMSArray)
+0:345 Constant:
+0:345 5 (const int)
+0:345 5 (const int)
+0:345 5 (const int)
+0:345 Constant:
+0:345 2 (const int)
+0:346 Sequence
+0:346 move second child to first child (temp highp 4-component vector of int)
+0:346 'tfi' (temp highp 4-component vector of int)
+0:346 textureFetch (global highp 4-component vector of int)
+0:346 'samp2DMSAi' (uniform highp isampler2DMSArray)
+0:346 Constant:
+0:346 5 (const int)
+0:346 5 (const int)
+0:346 5 (const int)
+0:346 Constant:
+0:346 2 (const int)
+0:347 Sequence
+0:347 move second child to first child (temp highp 4-component vector of uint)
+0:347 'tfu' (temp highp 4-component vector of uint)
+0:347 textureFetch (global highp 4-component vector of uint)
+0:347 'samp2DMSAu' (uniform highp usampler2DMSArray)
+0:347 Constant:
+0:347 5 (const int)
+0:347 5 (const int)
+0:347 5 (const int)
+0:347 Constant:
+0:347 2 (const int)
+0:349 Sequence
+0:349 move second child to first child (temp highp 3-component vector of int)
+0:349 'tfs' (temp highp 3-component vector of int)
+0:349 textureSize (global highp 3-component vector of int)
+0:349 'samp2DMSA' (uniform highp sampler2DMSArray)
+0:350 Sequence
+0:350 move second child to first child (temp highp 3-component vector of int)
+0:350 'tfsi' (temp highp 3-component vector of int)
+0:350 textureSize (global highp 3-component vector of int)
+0:350 'samp2DMSAi' (uniform highp isampler2DMSArray)
+0:352 Sequence
+0:352 move second child to first child (temp highp 3-component vector of int)
+0:352 'tfsu' (temp highp 3-component vector of int)
+0:352 textureSize (global highp 3-component vector of int)
+0:352 'samp2DMSAu' (uniform highp usampler2DMSArray)
+0:364 Function Definition: goodImageAtom( (global void)
+0:364 Function Parameters:
+0:? Sequence
+0:370 imageAtomicAdd (global highp int)
+0:370 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:370 'P' (uniform highp 2-component vector of int)
+0:370 'dati' (temp highp int)
+0:371 imageAtomicAdd (global highp uint)
+0:371 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:371 'P' (uniform highp 2-component vector of int)
+0:371 'datu' (temp highp uint)
+0:372 imageAtomicMin (global highp int)
+0:372 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:372 'P' (uniform highp 2-component vector of int)
+0:372 'dati' (temp highp int)
+0:373 imageAtomicMin (global highp uint)
+0:373 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:373 'P' (uniform highp 2-component vector of int)
+0:373 'datu' (temp highp uint)
+0:374 imageAtomicMax (global highp int)
+0:374 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:374 'P' (uniform highp 2-component vector of int)
+0:374 'dati' (temp highp int)
+0:375 imageAtomicMax (global highp uint)
+0:375 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:375 'P' (uniform highp 2-component vector of int)
+0:375 'datu' (temp highp uint)
+0:376 imageAtomicAnd (global highp int)
+0:376 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:376 'P' (uniform highp 2-component vector of int)
+0:376 'dati' (temp highp int)
+0:377 imageAtomicAnd (global highp uint)
+0:377 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:377 'P' (uniform highp 2-component vector of int)
+0:377 'datu' (temp highp uint)
+0:378 imageAtomicOr (global highp int)
+0:378 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:378 'P' (uniform highp 2-component vector of int)
+0:378 'dati' (temp highp int)
+0:379 imageAtomicOr (global highp uint)
+0:379 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:379 'P' (uniform highp 2-component vector of int)
+0:379 'datu' (temp highp uint)
+0:380 imageAtomicXor (global highp int)
+0:380 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:380 'P' (uniform highp 2-component vector of int)
+0:380 'dati' (temp highp int)
+0:381 imageAtomicXor (global highp uint)
+0:381 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:381 'P' (uniform highp 2-component vector of int)
+0:381 'datu' (temp highp uint)
+0:382 imageAtomicExchange (global highp int)
+0:382 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:382 'P' (uniform highp 2-component vector of int)
+0:382 'dati' (temp highp int)
+0:383 imageAtomicExchange (global highp uint)
+0:383 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:383 'P' (uniform highp 2-component vector of int)
+0:383 'datu' (temp highp uint)
+0:384 imageAtomicExchange (global highp float)
+0:384 'im2Df' (layout(r32f ) uniform highp image2D)
+0:384 'P' (uniform highp 2-component vector of int)
+0:384 'datf' (temp highp float)
+0:385 imageAtomicCompSwap (global highp int)
+0:385 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:385 'P' (uniform highp 2-component vector of int)
+0:385 Constant:
+0:385 3 (const int)
+0:385 'dati' (temp highp int)
+0:386 imageAtomicCompSwap (global highp uint)
+0:386 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:386 'P' (uniform highp 2-component vector of int)
+0:386 Constant:
+0:386 5 (const uint)
+0:386 'datu' (temp highp uint)
+0:398 Function Definition: badInterp( (global void)
+0:398 Function Parameters:
+0:400 Sequence
+0:400 Constant:
+0:400 0.000000
+0:401 Constant:
+0:401 0.000000
+0:402 Constant:
+0:402 0.000000
+0:? Linker Objects
+0:? 's' (shared highp 4-component vector of float)
+0:? 'v' (buffer highp 4-component vector of float)
+0:? 'ini' (in highp int)
+0:? 'x' (layout(location=2 ) uniform highp 4X4 matrix of float)
+0:? 'y' (layout(location=3 ) uniform highp 4X4 matrix of float)
+0:? 'xi' (layout(location=2 ) smooth out highp 4X4 matrix of float)
+0:? 'yi' (layout(location=3 ) smooth out highp 4X4 matrix of float)
+0:? 's2dms' (uniform highp sampler2DMS)
+0:? 'is2dms' (uniform highp isampler2DMS)
+0:? 'us2dms' (uniform highp usampler2DMS)
+0:? 'us2dmsa' (uniform mediump usampler2DMSArray)
+0:? 'outb' (smooth out bool)
+0:? 'outo' (smooth out highp sampler2D)
+0:? 'outa' (smooth out 4-element array of highp float)
+0:? 'outaa' (smooth out 4-element array of 2-element array of highp float)
+0:? 'outs' (smooth out structure{global highp float f})
+0:? 'outasa' (smooth out 4-element array of structure{global highp float f})
+0:? 'outsa' (smooth out 4-element array of structure{global highp float f})
+0:? 'outSA' (smooth out structure{global 4-element array of highp float f})
+0:? 'outSS' (smooth out structure{global highp float f, global structure{global highp float f} s})
+0:? 'U430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a})
+0:? 'B430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer highp int a})
+0:? 'outbinst' (out block{out highp int a, out highp 4-component vector of float v, out highp sampler2D s})
+0:? 'anon@0' (out block{layout(location=12 ) out highp int aAnon, layout(location=13 ) out highp 4-component vector of float vAnon})
+0:? 'aliased' (layout(location=12 ) smooth out highp int)
+0:? 'inbinst' (in block{in highp int a})
+0:? 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
+0:? 'smon' (smooth out block{out highp int i})
+0:? 'fmon' (flat out block{out highp int i})
+0:? 'cmon' (centroid out block{out highp int i})
+0:? 'imon' (invariant out block{out highp int i})
+0:? 'inf' (in highp 2-component vector of float)
+0:? 'ing' (in highp 2-component vector of float)
+0:? 'offsets' (uniform 4-element array of highp 2-component vector of int)
+0:? 'sArray' (uniform 4-element array of highp sampler2D)
+0:? 'sIndex' (uniform highp int)
+0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
+0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:? 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:? 'constOffsets' (const 4-element array of highp 2-component vector of int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 'badSamp1' (uniform mediump samplerBuffer)
+0:? 'badSamp2' (uniform mediump isamplerBuffer)
+0:? 'badSamp3' (uniform mediump usamplerBuffer)
+0:? 'badSamp4' (writeonly uniform mediump imageBuffer)
+0:? 'badSamp5' (writeonly uniform mediump iimageBuffer)
+0:? 'badSamp6' (writeonly uniform mediump uimageBuffer)
+0:? 'noPreSamp1' (uniform mediump samplerBuffer)
+0:? 'noPreSamp2' (uniform mediump isamplerBuffer)
+0:? 'noPreSamp3' (uniform mediump usamplerBuffer)
+0:? 'noPreSamp4' (writeonly uniform mediump imageBuffer)
+0:? 'noPreSamp5' (writeonly uniform mediump iimageBuffer)
+0:? 'noPreSamp6' (writeonly uniform mediump uimageBuffer)
+0:? 'bufSamp1' (uniform highp samplerBuffer)
+0:? 'bufSamp2' (uniform highp isamplerBuffer)
+0:? 'bufSamp3' (uniform highp usamplerBuffer)
+0:? 'bufSamp4' (writeonly uniform highp imageBuffer)
+0:? 'bufSamp5' (writeonly uniform highp iimageBuffer)
+0:? 'bufSamp6' (writeonly uniform highp uimageBuffer)
+0:? 'badCA1' (writeonly uniform mediump imageCubeArray)
+0:? 'badCA2' (writeonly uniform mediump iimageCubeArray)
+0:? 'badCA3' (writeonly uniform mediump uimageCubeArray)
+0:? 'badCA4' (uniform mediump samplerCubeArray)
+0:? 'badCA5' (uniform mediump samplerCubeArrayShadow)
+0:? 'badCA6' (uniform mediump isamplerCubeArray)
+0:? 'badCA7' (uniform mediump usamplerCubeArray)
+0:? 'noPreCA1' (writeonly uniform mediump imageCubeArray)
+0:? 'noPreCA2' (writeonly uniform mediump iimageCubeArray)
+0:? 'noPreCA3' (writeonly uniform mediump uimageCubeArray)
+0:? 'noPreCA4' (uniform mediump samplerCubeArray)
+0:? 'noPreCA5' (uniform mediump samplerCubeArrayShadow)
+0:? 'noPreCA6' (uniform mediump isamplerCubeArray)
+0:? 'noPreCA7' (uniform mediump usamplerCubeArray)
+0:? 'CA1' (writeonly uniform highp imageCubeArray)
+0:? 'CA2' (writeonly uniform highp iimageCubeArray)
+0:? 'CA3' (writeonly uniform highp uimageCubeArray)
+0:? 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray)
+0:? 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray)
+0:? 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray)
+0:? 'CA4' (uniform highp samplerCubeArray)
+0:? 'CA5' (uniform highp samplerCubeArrayShadow)
+0:? 'CA6' (uniform highp isamplerCubeArray)
+0:? 'CA7' (uniform highp usamplerCubeArray)
+0:? 'bad2DMS' (uniform mediump sampler2DMSArray)
+0:? 'bad2DMSi' (uniform mediump isampler2DMSArray)
+0:? 'bad2DMSu' (uniform mediump usampler2DMSArray)
+0:? 'noPrec2DMS' (uniform mediump sampler2DMSArray)
+0:? 'noPrec2DMSi' (uniform mediump isampler2DMSArray)
+0:? 'noPrec2DMSu' (uniform mediump usampler2DMSArray)
+0:? 'samp2DMSA' (uniform highp sampler2DMSArray)
+0:? 'samp2DMSAi' (uniform highp isampler2DMSArray)
+0:? 'samp2DMSAu' (uniform highp usampler2DMSArray)
+0:? 'im2Df' (layout(r32f ) uniform highp image2D)
+0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:? 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:? 'P' (uniform highp 2-component vector of int)
+0:? 'colorSampInBad' (smooth sample out highp 4-component vector of float)
+0:? 'colorSample' (smooth sample out highp 4-component vector of float)
+0:? 'colorfsi' (flat sample out highp 4-component vector of float)
+0:? 'sampInArray' (smooth sample out 4-element array of highp 3-component vector of float)
+0:? 'inv4' (in highp 4-component vector of float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/310AofA.vert.out b/chromium/third_party/glslang/src/Test/baseResults/310AofA.vert.out
new file mode 100644
index 00000000000..40c432186a0
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/310AofA.vert.out
@@ -0,0 +1,647 @@
+310AofA.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:17: '' : array size required
+ERROR: 0:23: '' : array size required
+ERROR: 0:28: '[]' : only outermost dimension of an array of arrays can be implicitly sized
+ERROR: 0:40: '' : array size required
+ERROR: 0:48: 'constructor' : constructing non-array constituent from array argument
+ERROR: 0:49: 'constructior' : array constructor argument not correct type to construct array element
+ERROR: 0:62: '[' : array index out of range '4'
+ERROR: 0:78: 'assign' : cannot convert from 'global 4-element array of 7-element array of highp float' to 'global 5-element array of 7-element array of highp float'
+ERROR: 0:79: 'assign' : cannot convert from 'global 4-element array of 7-element array of highp float' to 'global implicitly-sized array of 7-element array of highp float'
+ERROR: 0:81: 'foo' : no matching overloaded function found
+ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'global 4-element array of 7-element array of highp float' and a right operand of type 'global 5-element array of 7-element array of highp float' (or there is no acceptable conversion)
+ERROR: 0:90: '[' : array index out of range '5'
+ERROR: 0:94: '[' : index out of range '-1'
+ERROR: 0:96: 'assign' : cannot convert from 'temp 3-element array of highp 4-component vector of float' to 'layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float'
+ERROR: 0:103: '' : array size required
+ERROR: 0:104: '' : array size required
+ERROR: 0:105: '' : array size required
+ERROR: 0:106: '' : array size required
+ERROR: 0:107: '' : array size required
+ERROR: 0:110: 'vertex input arrays' : not supported with this profile: es
+ERROR: 0:111: 'vertex-shader array-of-array output' : not supported with this profile: es
+ERROR: 0:113: 'array-of-array of block' : not supported with this profile: es
+ERROR: 22 compilation errors. No code generated.
+
+
+Shader version: 310
+ERROR: node is still EOpNull!
+0:8 Function Definition: f(b1;f1;u1[4];i1[3][2]; (global void)
+0:8 Function Parameters:
+0:8 'a' (in bool)
+0:8 'b' (in highp float)
+0:8 'c' (in 4-element array of highp uint)
+0:8 'd' (in 3-element array of 2-element array of highp int)
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:? Sequence
+0:13 Function Call: f(b1;f1;u1[4];i1[3][2]; (global void)
+0:13 Constant:
+0:13 false (const bool)
+0:13 Constant:
+0:13 12.100000
+0:13 Constant:
+0:13 0 (const uint)
+0:13 1 (const uint)
+0:13 1 (const uint)
+0:13 2 (const uint)
+0:13 'd' (temp 3-element array of 2-element array of highp int)
+0:44 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:44 Function Parameters:
+0:44 'a' (in 5-element array of 7-element array of highp float)
+0:? Sequence
+0:47 move second child to first child (temp 7-element array of highp float)
+0:47 'r' (temp 7-element array of highp float)
+0:47 direct index (temp 7-element array of highp float)
+0:47 'a' (in 5-element array of 7-element array of highp float)
+0:47 Constant:
+0:47 2 (const int)
+0:48 Constant:
+0:48 0.000000
+0:49 Constant:
+0:49 0.000000
+0:50 Branch: Return with expression
+0:50 Construct float (temp 4-element array of 7-element array of float)
+0:50 direct index (temp 7-element array of highp float)
+0:50 'a' (in 5-element array of 7-element array of highp float)
+0:50 Constant:
+0:50 0 (const int)
+0:50 direct index (temp 7-element array of highp float)
+0:50 'a' (in 5-element array of 7-element array of highp float)
+0:50 Constant:
+0:50 1 (const int)
+0:50 'r' (temp 7-element array of highp float)
+0:50 direct index (temp 7-element array of highp float)
+0:50 'a' (in 5-element array of 7-element array of highp float)
+0:50 Constant:
+0:50 3 (const int)
+0:51 Branch: Return with expression
+0:51 Construct float (temp 4-element array of 7-element array of float)
+0:51 direct index (temp 7-element array of highp float)
+0:51 'a' (in 5-element array of 7-element array of highp float)
+0:51 Constant:
+0:51 0 (const int)
+0:51 direct index (temp 7-element array of highp float)
+0:51 'a' (in 5-element array of 7-element array of highp float)
+0:51 Constant:
+0:51 1 (const int)
+0:51 'r' (temp 7-element array of highp float)
+0:51 direct index (temp 7-element array of highp float)
+0:51 'a' (in 5-element array of 7-element array of highp float)
+0:51 Constant:
+0:51 3 (const int)
+0:52 Branch: Return with expression
+0:52 Construct float (temp 4-element array of 7-element array of float)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 0 (const int)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 1 (const int)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 2 (const int)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 3 (const int)
+0:55 Function Definition: bar(f1[5][7]; (global void)
+0:55 Function Parameters:
+0:55 '' (in 5-element array of 7-element array of highp float)
+0:57 Function Definition: foo2( (global void)
+0:57 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:62 move second child to first child (temp highp float)
+0:62 direct index (temp highp float)
+0:62 direct index (temp 2-element array of highp float)
+0:62 direct index (temp 4-element array of 2-element array of highp float)
+0:62 'gu' (temp 3-element array of 4-element array of 2-element array of highp float)
+0:62 Constant:
+0:62 2 (const int)
+0:62 Constant:
+0:62 4 (const int)
+0:62 Constant:
+0:62 1 (const int)
+0:62 Constant:
+0:62 4.000000
+0:64 Sequence
+0:64 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:64 'ca4' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:66 Constant:
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:67 Sequence
+0:67 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:67 'caim' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:69 Constant:
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:70 Sequence
+0:70 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:70 'caim2' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:72 Constant:
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:73 Sequence
+0:73 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:73 'caim3' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:75 Constant:
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:77 move second child to first child (temp 4-element array of 7-element array of highp float)
+0:77 'g4' (global 4-element array of 7-element array of highp float)
+0:77 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:77 'g5' (global 5-element array of 7-element array of highp float)
+0:78 'g5' (global 5-element array of 7-element array of highp float)
+0:79 'gu' (global implicitly-sized array of 7-element array of highp float)
+0:81 Constant:
+0:81 0.000000
+0:82 Function Call: bar(f1[5][7]; (global void)
+0:82 'g5' (global 5-element array of 7-element array of highp float)
+0:84 Test condition and select (temp void)
+0:84 Condition
+0:84 Compare Equal (temp bool)
+0:84 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:84 'g5' (global 5-element array of 7-element array of highp float)
+0:84 'g4' (global 4-element array of 7-element array of highp float)
+0:84 true case is null
+0:86 Test condition and select (temp void)
+0:86 Condition
+0:86 Constant:
+0:86 false (const bool)
+0:86 true case is null
+0:90 move second child to first child (temp highp float)
+0:90 direct index (temp highp float)
+0:90 direct index (temp 7-element array of highp float)
+0:90 'u' (temp 5-element array of 7-element array of highp float)
+0:90 Constant:
+0:90 5 (const int)
+0:90 Constant:
+0:90 2 (const int)
+0:90 Constant:
+0:90 5.000000
+0:91 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:91 'u' (temp 5-element array of 7-element array of highp float)
+0:94 direct index (layout(column_major shared ) temp highp 4-component vector of float)
+0:94 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
+0:94 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:94 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:94 Constant:
+0:94 1 (const int)
+0:94 Constant:
+0:94 1 (const int)
+0:94 Constant:
+0:94 -1 (const int)
+0:95 move second child to first child (temp highp 4-component vector of float)
+0:95 direct index (layout(column_major shared ) temp highp 4-component vector of float)
+0:95 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
+0:95 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:95 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:95 Constant:
+0:95 1 (const int)
+0:95 Constant:
+0:95 1 (const int)
+0:95 Constant:
+0:95 1 (const int)
+0:95 Constant:
+0:95 4.300000
+0:95 4.300000
+0:95 4.300000
+0:95 4.300000
+0:96 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
+0:96 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:96 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:96 Constant:
+0:96 1 (const int)
+0:96 Constant:
+0:96 1 (const int)
+0:98 Constant:
+0:98 7 (const int)
+0:99 array length (temp highp int)
+0:99 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float)
+0:99 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
+0:99 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
+0:99 Constant:
+0:99 0 (const int)
+0:99 Constant:
+0:99 1 (const int)
+0:? Linker Objects
+0:? 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:? 'uname' (layout(column_major shared ) uniform 3-element array of block{layout(column_major shared ) uniform highp float u, layout(column_major shared ) uniform implicitly-sized array of highp 4-component vector of float v})
+0:? 'name2' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of implicitly-sized array of highp 4-component vector of float v})
+0:? 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
+0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of highp float)
+0:? 'gu' (global implicitly-sized array of 7-element array of highp float)
+0:? 'g4' (global 4-element array of 7-element array of highp float)
+0:? 'g5' (global 5-element array of 7-element array of highp float)
+0:? 'inArray' (in 2-element array of 3-element array of highp float)
+0:? 'outArray' (smooth out 2-element array of 3-element array of highp float)
+0:? 'ubaaname' (layout(column_major shared ) uniform 2-element array of 3-element array of block{layout(column_major shared ) uniform highp int a})
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 310
+ERROR: node is still EOpNull!
+0:8 Function Definition: f(b1;f1;u1[4];i1[3][2]; (global void)
+0:8 Function Parameters:
+0:8 'a' (in bool)
+0:8 'b' (in highp float)
+0:8 'c' (in 4-element array of highp uint)
+0:8 'd' (in 3-element array of 2-element array of highp int)
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:? Sequence
+0:13 Function Call: f(b1;f1;u1[4];i1[3][2]; (global void)
+0:13 Constant:
+0:13 false (const bool)
+0:13 Constant:
+0:13 12.100000
+0:13 Constant:
+0:13 0 (const uint)
+0:13 1 (const uint)
+0:13 1 (const uint)
+0:13 2 (const uint)
+0:13 'd' (temp 3-element array of 2-element array of highp int)
+0:44 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:44 Function Parameters:
+0:44 'a' (in 5-element array of 7-element array of highp float)
+0:? Sequence
+0:47 move second child to first child (temp 7-element array of highp float)
+0:47 'r' (temp 7-element array of highp float)
+0:47 direct index (temp 7-element array of highp float)
+0:47 'a' (in 5-element array of 7-element array of highp float)
+0:47 Constant:
+0:47 2 (const int)
+0:48 Constant:
+0:48 0.000000
+0:49 Constant:
+0:49 0.000000
+0:50 Branch: Return with expression
+0:50 Construct float (temp 4-element array of 7-element array of float)
+0:50 direct index (temp 7-element array of highp float)
+0:50 'a' (in 5-element array of 7-element array of highp float)
+0:50 Constant:
+0:50 0 (const int)
+0:50 direct index (temp 7-element array of highp float)
+0:50 'a' (in 5-element array of 7-element array of highp float)
+0:50 Constant:
+0:50 1 (const int)
+0:50 'r' (temp 7-element array of highp float)
+0:50 direct index (temp 7-element array of highp float)
+0:50 'a' (in 5-element array of 7-element array of highp float)
+0:50 Constant:
+0:50 3 (const int)
+0:51 Branch: Return with expression
+0:51 Construct float (temp 4-element array of 7-element array of float)
+0:51 direct index (temp 7-element array of highp float)
+0:51 'a' (in 5-element array of 7-element array of highp float)
+0:51 Constant:
+0:51 0 (const int)
+0:51 direct index (temp 7-element array of highp float)
+0:51 'a' (in 5-element array of 7-element array of highp float)
+0:51 Constant:
+0:51 1 (const int)
+0:51 'r' (temp 7-element array of highp float)
+0:51 direct index (temp 7-element array of highp float)
+0:51 'a' (in 5-element array of 7-element array of highp float)
+0:51 Constant:
+0:51 3 (const int)
+0:52 Branch: Return with expression
+0:52 Construct float (temp 4-element array of 7-element array of float)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 0 (const int)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 1 (const int)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 2 (const int)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 3 (const int)
+0:55 Function Definition: bar(f1[5][7]; (global void)
+0:55 Function Parameters:
+0:55 '' (in 5-element array of 7-element array of highp float)
+0:57 Function Definition: foo2( (global void)
+0:57 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:62 move second child to first child (temp highp float)
+0:62 direct index (temp highp float)
+0:62 direct index (temp 2-element array of highp float)
+0:62 direct index (temp 4-element array of 2-element array of highp float)
+0:62 'gu' (temp 3-element array of 4-element array of 2-element array of highp float)
+0:62 Constant:
+0:62 2 (const int)
+0:62 Constant:
+0:62 4 (const int)
+0:62 Constant:
+0:62 1 (const int)
+0:62 Constant:
+0:62 4.000000
+0:64 Sequence
+0:64 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:64 'ca4' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:66 Constant:
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:67 Sequence
+0:67 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:67 'caim' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:69 Constant:
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:70 Sequence
+0:70 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:70 'caim2' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:72 Constant:
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:73 Sequence
+0:73 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:73 'caim3' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:75 Constant:
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:77 move second child to first child (temp 4-element array of 7-element array of highp float)
+0:77 'g4' (global 4-element array of 7-element array of highp float)
+0:77 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:77 'g5' (global 5-element array of 7-element array of highp float)
+0:78 'g5' (global 5-element array of 7-element array of highp float)
+0:79 'gu' (global 1-element array of 7-element array of highp float)
+0:81 Constant:
+0:81 0.000000
+0:82 Function Call: bar(f1[5][7]; (global void)
+0:82 'g5' (global 5-element array of 7-element array of highp float)
+0:84 Test condition and select (temp void)
+0:84 Condition
+0:84 Compare Equal (temp bool)
+0:84 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:84 'g5' (global 5-element array of 7-element array of highp float)
+0:84 'g4' (global 4-element array of 7-element array of highp float)
+0:84 true case is null
+0:86 Test condition and select (temp void)
+0:86 Condition
+0:86 Constant:
+0:86 false (const bool)
+0:86 true case is null
+0:90 move second child to first child (temp highp float)
+0:90 direct index (temp highp float)
+0:90 direct index (temp 7-element array of highp float)
+0:90 'u' (temp 5-element array of 7-element array of highp float)
+0:90 Constant:
+0:90 5 (const int)
+0:90 Constant:
+0:90 2 (const int)
+0:90 Constant:
+0:90 5.000000
+0:91 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:91 'u' (temp 5-element array of 7-element array of highp float)
+0:94 direct index (layout(column_major shared ) temp highp 4-component vector of float)
+0:94 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
+0:94 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:94 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:94 Constant:
+0:94 1 (const int)
+0:94 Constant:
+0:94 1 (const int)
+0:94 Constant:
+0:94 -1 (const int)
+0:95 move second child to first child (temp highp 4-component vector of float)
+0:95 direct index (layout(column_major shared ) temp highp 4-component vector of float)
+0:95 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
+0:95 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:95 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:95 Constant:
+0:95 1 (const int)
+0:95 Constant:
+0:95 1 (const int)
+0:95 Constant:
+0:95 1 (const int)
+0:95 Constant:
+0:95 4.300000
+0:95 4.300000
+0:95 4.300000
+0:95 4.300000
+0:96 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
+0:96 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:96 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:96 Constant:
+0:96 1 (const int)
+0:96 Constant:
+0:96 1 (const int)
+0:98 Constant:
+0:98 7 (const int)
+0:99 array length (temp highp int)
+0:99 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float)
+0:99 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
+0:99 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
+0:99 Constant:
+0:99 0 (const int)
+0:99 Constant:
+0:99 1 (const int)
+0:? Linker Objects
+0:? 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:? 'uname' (layout(column_major shared ) uniform 3-element array of block{layout(column_major shared ) uniform highp float u, layout(column_major shared ) uniform 1-element array of highp 4-component vector of float v})
+0:? 'name2' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of implicitly-sized array of highp 4-component vector of float v})
+0:? 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
+0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of highp float)
+0:? 'gu' (global 1-element array of 7-element array of highp float)
+0:? 'g4' (global 4-element array of 7-element array of highp float)
+0:? 'g5' (global 5-element array of 7-element array of highp float)
+0:? 'inArray' (in 2-element array of 3-element array of highp float)
+0:? 'outArray' (smooth out 2-element array of 3-element array of highp float)
+0:? 'ubaaname' (layout(column_major shared ) uniform 2-element array of 3-element array of block{layout(column_major shared ) uniform highp int a})
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/310implicitSizeArrayError.vert.out b/chromium/third_party/glslang/src/Test/baseResults/310implicitSizeArrayError.vert.out
new file mode 100644
index 00000000000..963735d853d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/310implicitSizeArrayError.vert.out
@@ -0,0 +1,50 @@
+310implicitSizeArrayError.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:3: '' : array size required
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 310
+ERROR: node is still EOpNull!
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:7 Sequence
+0:7 move second child to first child (temp highp int)
+0:7 'o' (layout(location=0 ) smooth out highp int)
+0:7 direct index (layout(column_major shared ) temp highp int)
+0:7 a: direct index for structure (layout(column_major shared ) uniform implicitly-sized array of highp int)
+0:7 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of highp int a})
+0:7 Constant:
+0:7 0 (const int)
+0:7 Constant:
+0:7 2 (const int)
+0:? Linker Objects
+0:? 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of highp int a})
+0:? 'o' (layout(location=0 ) smooth out highp int)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 310
+ERROR: node is still EOpNull!
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:7 Sequence
+0:7 move second child to first child (temp highp int)
+0:7 'o' (layout(location=0 ) smooth out highp int)
+0:7 direct index (layout(column_major shared ) temp highp int)
+0:7 a: direct index for structure (layout(column_major shared ) uniform 1-element array of highp int)
+0:7 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform 1-element array of highp int a})
+0:7 Constant:
+0:7 0 (const int)
+0:7 Constant:
+0:7 2 (const int)
+0:? Linker Objects
+0:? 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform 1-element array of highp int a})
+0:? 'o' (layout(location=0 ) smooth out highp int)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/330.frag.out b/chromium/third_party/glslang/src/Test/baseResults/330.frag.out
new file mode 100644
index 00000000000..904ad3edf38
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/330.frag.out
@@ -0,0 +1,217 @@
+330.frag
+ERROR: 0:27: 'block declaration' : cannot redeclare block: gl_block
+ERROR: 0:31: 'gl_name' : identifiers starting with "gl_" are reserved
+ERROR: 0:32: 'gl_i' : identifiers starting with "gl_" are reserved
+ERROR: 0:35: 'gl_in' : no declaration found for redeclaration
+ERROR: 0:39: 'gl_FragCoord' : cannot redeclare a non block as a block
+ERROR: 0:44: 'non-literal layout-id value' : not supported for this version or the enabled extensions
+ERROR: 0:44: 'layout-id value' : cannot be negative
+ERROR: 0:45: 'non-literal layout-id value' : not supported for this version or the enabled extensions
+ERROR: 0:46: 'layout-id value' : scalar integer expression required
+ERROR: 0:46: 'location' : location is too large
+ERROR: 0:47: 'non-literal layout-id value' : not supported for this version or the enabled extensions
+ERROR: 0:48: 'non-literal layout-id value' : not supported for this version or the enabled extensions
+ERROR: 0:52: 'f2' : cannot use layout qualifiers on structure members
+ERROR: 0:57: 'location on block member' : not supported for this version or the enabled extensions
+ERROR: 0:62: 'location on block member' : can only use in an in/out block
+ERROR: 0:62: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions
+ERROR: 0:60: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions
+ERROR: 0:68: 'layout-id value' : cannot be negative
+ERROR: 0:69: 'layout-id value' : cannot be negative
+ERROR: 0:76: 'f2' : cannot use layout qualifiers on structure members
+ERROR: 0:91: 'location on block member' : can only use in an in/out block
+ERROR: 0:91: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions
+ERROR: 0:91: 'location' : overlapping use of location 3
+ERROR: 0:89: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions
+ERROR: 0:94: 'location' : either the block needs a location, or all members need a location, or no members have a location
+ERROR: 0:108: 'A' : cannot use layout qualifiers on structure members
+ERROR: 0:119: 'location' : overlapping use of location 44
+ERROR: 0:122: 'index' : can only be used with an explicit location
+ERROR: 0:124: 'location' : overlapping use of location 0
+ERROR: 0:125: 'index' : can only be used on an output
+ERROR: 0:126: 'index' : can only be used on an output
+ERROR: 0:126: 'location/component/index' : cannot declare a default, use a full declaration
+ERROR: 0:127: 'location/component/index' : cannot declare a default, use a full declaration
+ERROR: 0:128: 'output block' : not supported in this stage: fragment
+ERROR: 0:140: 'textureQueryLod' : no matching overloaded function found
+ERROR: 0:140: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 0:141: 'textureQueryLod' : no matching overloaded function found
+ERROR: 0:141: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 0:152: 'index' : value must be 0 or 1
+ERROR: 39 compilation errors. No code generated.
+
+
+Shader version: 330
+Requested GL_ARB_enhanced_layouts
+Requested GL_ARB_separate_shader_objects
+ERROR: node is still EOpNull!
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:10 Sequence
+0:10 move second child to first child (temp 4-component vector of float)
+0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:10 'varyingVar' (smooth in 4-component vector of float)
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 direct index (temp 4-component vector of float FragData)
+0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:11 Constant:
+0:11 1 (const int)
+0:11 'inVar' (smooth in 4-component vector of float)
+0:12 Sequence
+0:12 move second child to first child (temp int)
+0:12 'buffer' (temp int)
+0:12 Constant:
+0:12 4 (const int)
+0:21 Function Definition: foo( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'c' (temp 4-component vector of float)
+0:23 gl_Color: direct index for structure (in 4-component vector of float Color)
+0:23 'anon@0' (in block{in 4-component vector of float Color gl_Color, })
+0:23 Constant:
+0:23 2 (const uint)
+0:24 move second child to first child (temp 4-component vector of float)
+0:24 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
+0:24 'inVar' (smooth in 4-component vector of float)
+0:133 Function Definition: qlod( (global void)
+0:133 Function Parameters:
+0:? Sequence
+0:140 'lod' (temp 2-component vector of float)
+0:141 'lod' (temp 2-component vector of float)
+0:147 Function Definition: fooKeyMem( (global void)
+0:147 Function Parameters:
+0:149 Sequence
+0:149 precise: direct index for structure (global int)
+0:149 'KeyMem' (global structure{global int precise})
+0:149 Constant:
+0:149 0 (const int)
+0:? Linker Objects
+0:? 'inVar' (smooth in 4-component vector of float)
+0:? 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
+0:? 'varyingVar' (smooth in 4-component vector of float)
+0:? 'anon@0' (in block{in 4-component vector of float Color gl_Color, })
+0:? 'gl_name' (in block{in int gl_i})
+0:? 'start' (const int)
+0:? 6 (const int)
+0:? 'v1' (smooth in 4-component vector of float)
+0:? 'v2' (layout(location=8 ) smooth in 4-component vector of float)
+0:? 'v20' (smooth in 4-component vector of float)
+0:? 'v21' (layout(location=60 ) smooth in float)
+0:? 'v22' (layout(location=2 ) smooth in float)
+0:? 'anon@1' (in block{layout(location=1 component=0 ) in float f1, layout(location=3 ) in float f2})
+0:? 'uinst' (layout(location=1 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2})
+0:? 'v3' (layout(location=6 ) smooth in 4-component vector of float)
+0:? 'v4' (smooth in 4-component vector of float)
+0:? 'v5' (smooth in 4-component vector of float)
+0:? 'v6' (layout(location=30 ) smooth in 4-component vector of float)
+0:? 'v23' (layout(location=61 ) smooth in float)
+0:? 'v24' (layout(location=62 ) smooth in float)
+0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2, layout(location=26 component=0 ) in 4-component vector of float f3, layout(location=21 ) in structure{global float f1, temp float f2} s2, layout(location=23 component=0 ) in 4-component vector of float f4, layout(location=24 component=0 ) in 4-component vector of float f5})
+0:? 'uinst2' (layout(location=13 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2})
+0:? 'in3' (in block{in float f1, layout(location=40 ) in float f2})
+0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
+0:? 's' (layout(location=33 ) smooth in structure{global 3-component vector of float a, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c, temp 2-component vector of float A})
+0:? 'anon@2' (in block{layout(location=44 component=0 ) in 4-component vector of float d, layout(location=45 component=0 ) in 4-component vector of float e, layout(location=47 ) in 4-component vector of float f, layout(location=48 component=0 ) in 4-component vector of float g, layout(location=41 ) in 4-component vector of float h, layout(location=42 component=0 ) in 4-component vector of float i, layout(location=43 component=0 ) in 4-component vector of float j, layout(location=44 component=0 ) in 4-component vector of float k})
+0:? 'outVar2' (layout(location=4095 index=0 ) out 4-component vector of float)
+0:? 'outVar3' (layout(location=0 index=1 ) out 4-component vector of float)
+0:? 'outVar4' (layout(location=0 index=1 ) out 4-component vector of float)
+0:? 'indexIn' (layout(location=27 index=0 ) smooth in 4-component vector of float)
+0:? 'indexBlockI' (layout(location=26 index=0 ) out block{out int a})
+0:? 'samp1D' (uniform sampler1D)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+0:? 'precise' (global int)
+0:? 'KeyMem' (global structure{global int precise})
+0:? 'outIndex2' (layout(location=28 index=0 ) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Cannot use gl_FragColor or gl_FragData when using user-defined outputs
+ERROR: Linking fragment stage: Cannot use both gl_FragColor and gl_FragData
+
+Shader version: 330
+Requested GL_ARB_enhanced_layouts
+Requested GL_ARB_separate_shader_objects
+ERROR: node is still EOpNull!
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:10 Sequence
+0:10 move second child to first child (temp 4-component vector of float)
+0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:10 'varyingVar' (smooth in 4-component vector of float)
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 direct index (temp 4-component vector of float FragData)
+0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:11 Constant:
+0:11 1 (const int)
+0:11 'inVar' (smooth in 4-component vector of float)
+0:12 Sequence
+0:12 move second child to first child (temp int)
+0:12 'buffer' (temp int)
+0:12 Constant:
+0:12 4 (const int)
+0:21 Function Definition: foo( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'c' (temp 4-component vector of float)
+0:23 gl_Color: direct index for structure (in 4-component vector of float Color)
+0:23 'anon@0' (in block{in 4-component vector of float Color gl_Color, })
+0:23 Constant:
+0:23 2 (const uint)
+0:24 move second child to first child (temp 4-component vector of float)
+0:24 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
+0:24 'inVar' (smooth in 4-component vector of float)
+0:133 Function Definition: qlod( (global void)
+0:133 Function Parameters:
+0:? Sequence
+0:140 'lod' (temp 2-component vector of float)
+0:141 'lod' (temp 2-component vector of float)
+0:147 Function Definition: fooKeyMem( (global void)
+0:147 Function Parameters:
+0:149 Sequence
+0:149 precise: direct index for structure (global int)
+0:149 'KeyMem' (global structure{global int precise})
+0:149 Constant:
+0:149 0 (const int)
+0:? Linker Objects
+0:? 'inVar' (smooth in 4-component vector of float)
+0:? 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
+0:? 'varyingVar' (smooth in 4-component vector of float)
+0:? 'anon@0' (in block{in 4-component vector of float Color gl_Color, })
+0:? 'gl_name' (in block{in int gl_i})
+0:? 'start' (const int)
+0:? 6 (const int)
+0:? 'v1' (smooth in 4-component vector of float)
+0:? 'v2' (layout(location=8 ) smooth in 4-component vector of float)
+0:? 'v20' (smooth in 4-component vector of float)
+0:? 'v21' (layout(location=60 ) smooth in float)
+0:? 'v22' (layout(location=2 ) smooth in float)
+0:? 'anon@1' (in block{layout(location=1 component=0 ) in float f1, layout(location=3 ) in float f2})
+0:? 'uinst' (layout(location=1 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2})
+0:? 'v3' (layout(location=6 ) smooth in 4-component vector of float)
+0:? 'v4' (smooth in 4-component vector of float)
+0:? 'v5' (smooth in 4-component vector of float)
+0:? 'v6' (layout(location=30 ) smooth in 4-component vector of float)
+0:? 'v23' (layout(location=61 ) smooth in float)
+0:? 'v24' (layout(location=62 ) smooth in float)
+0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2, layout(location=26 component=0 ) in 4-component vector of float f3, layout(location=21 ) in structure{global float f1, temp float f2} s2, layout(location=23 component=0 ) in 4-component vector of float f4, layout(location=24 component=0 ) in 4-component vector of float f5})
+0:? 'uinst2' (layout(location=13 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2})
+0:? 'in3' (in block{in float f1, layout(location=40 ) in float f2})
+0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
+0:? 's' (layout(location=33 ) smooth in structure{global 3-component vector of float a, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c, temp 2-component vector of float A})
+0:? 'anon@2' (in block{layout(location=44 component=0 ) in 4-component vector of float d, layout(location=45 component=0 ) in 4-component vector of float e, layout(location=47 ) in 4-component vector of float f, layout(location=48 component=0 ) in 4-component vector of float g, layout(location=41 ) in 4-component vector of float h, layout(location=42 component=0 ) in 4-component vector of float i, layout(location=43 component=0 ) in 4-component vector of float j, layout(location=44 component=0 ) in 4-component vector of float k})
+0:? 'outVar2' (layout(location=4095 index=0 ) out 4-component vector of float)
+0:? 'outVar3' (layout(location=0 index=1 ) out 4-component vector of float)
+0:? 'outVar4' (layout(location=0 index=1 ) out 4-component vector of float)
+0:? 'indexIn' (layout(location=27 index=0 ) smooth in 4-component vector of float)
+0:? 'indexBlockI' (layout(location=26 index=0 ) out block{out int a})
+0:? 'samp1D' (uniform sampler1D)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+0:? 'precise' (global int)
+0:? 'KeyMem' (global structure{global int precise})
+0:? 'outIndex2' (layout(location=28 index=0 ) out 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/330comp.frag.out b/chromium/third_party/glslang/src/Test/baseResults/330comp.frag.out
new file mode 100644
index 00000000000..58d6e5fdf6a
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/330comp.frag.out
@@ -0,0 +1,48 @@
+330comp.frag
+Shader version: 330
+0:? Sequence
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:10 Sequence
+0:10 move second child to first child (temp 4-component vector of float)
+0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:10 'varyingVar' (smooth in 4-component vector of float)
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 direct index (temp 4-component vector of float FragData)
+0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:11 Constant:
+0:11 1 (const int)
+0:11 vector-times-matrix (temp 4-component vector of float)
+0:11 'inVar' (smooth in 4-component vector of float)
+0:11 'gl_ModelViewMatrix' (uniform 4X4 matrix of float)
+0:? Linker Objects
+0:? 'inVar' (smooth in 4-component vector of float)
+0:? 'outVar' (out 4-component vector of float)
+0:? 'varyingVar' (smooth in 4-component vector of float)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Cannot use both gl_FragColor and gl_FragData
+
+Shader version: 330
+0:? Sequence
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:10 Sequence
+0:10 move second child to first child (temp 4-component vector of float)
+0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:10 'varyingVar' (smooth in 4-component vector of float)
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 direct index (temp 4-component vector of float FragData)
+0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:11 Constant:
+0:11 1 (const int)
+0:11 vector-times-matrix (temp 4-component vector of float)
+0:11 'inVar' (smooth in 4-component vector of float)
+0:11 'gl_ModelViewMatrix' (uniform 4X4 matrix of float)
+0:? Linker Objects
+0:? 'inVar' (smooth in 4-component vector of float)
+0:? 'outVar' (out 4-component vector of float)
+0:? 'varyingVar' (smooth in 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/400.frag.out b/chromium/third_party/glslang/src/Test/baseResults/400.frag.out
new file mode 100644
index 00000000000..33a8c9ab05f
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/400.frag.out
@@ -0,0 +1,998 @@
+400.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:18: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument
+ERROR: 0:22: 'textureGatherOffset(...)' : must be a compile-time constant: component argument
+ERROR: 0:23: 'textureGatherOffset(...)' : must be 0, 1, 2, or 3: component argument
+ERROR: 0:30: 'location qualifier on input' : not supported for this version or the enabled extensions
+ERROR: 0:38: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions
+ERROR: 0:40: 'redeclaration' : cannot apply layout qualifier to gl_Color
+ERROR: 0:41: 'redeclaration' : cannot change qualification of gl_ClipDistance
+ERROR: 0:43: 'gl_FragCoord' : cannot redeclare after use
+ERROR: 0:51: 'texel offset' : argument must be compile-time constant
+ERROR: 0:53: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:53: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:54: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:54: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:57: 'patch' : not supported in this stage: fragment
+ERROR: 0:58: 'patch' : not supported in this stage: fragment
+ERROR: 0:58: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output
+ERROR: 0:73: 'dFdxFine' : required extension not requested: GL_ARB_derivative_control
+ERROR: 0:74: 'dFdyCoarse' : required extension not requested: GL_ARB_derivative_control
+ERROR: 0:75: 'fwidthCoarse' : required extension not requested: GL_ARB_derivative_control
+ERROR: 0:75: 'fwidthFine' : required extension not requested: GL_ARB_derivative_control
+ERROR: 0:104: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output
+ERROR: 0:123: 'interpolateAtCentroid' : no matching overloaded function found
+ERROR: 0:125: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:127: 'interpolateAtSample' : no matching overloaded function found
+ERROR: 0:132: 'interpolateAtOffset' : no matching overloaded function found
+ERROR: 0:134: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:135: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:136: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:139: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:140: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:183: 'textureQueryLod' : no matching overloaded function found
+ERROR: 0:183: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 0:184: 'textureQueryLod' : no matching overloaded function found
+ERROR: 0:184: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 0:187: '' : syntax error
+ERROR: 35 compilation errors. No code generated.
+
+
+Shader version: 400
+Requested GL_ARB_derivative_control
+Requested GL_ARB_separate_shader_objects
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:? Sequence
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'v' (temp 4-component vector of float)
+0:13 texture (global 4-component vector of float)
+0:13 indirect index (temp sampler2D)
+0:13 'arrayedSampler' (uniform 5-element array of sampler2D)
+0:13 'i' (flat in int)
+0:13 'c2D' (smooth in 2-component vector of float)
+0:14 move second child to first child (temp float)
+0:14 direct index (temp float)
+0:14 'outp' (out 4-component vector of float)
+0:14 Constant:
+0:14 0 (const int)
+0:14 direct index (smooth temp float ClipDistance)
+0:14 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
+0:14 Constant:
+0:14 1 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp 4-component vector of uint)
+0:18 'uv4' (temp 4-component vector of uint)
+0:18 textureGatherOffsets (global 4-component vector of uint)
+0:18 'samp2dr' (uniform usampler2DRect)
+0:18 'c2D' (smooth in 2-component vector of float)
+0:18 'offsets' (temp 4-element array of 2-component vector of int)
+0:18 Constant:
+0:18 2 (const int)
+0:19 move second child to first child (temp 4-component vector of uint)
+0:19 'uv4' (temp 4-component vector of uint)
+0:19 textureGatherOffsets (global 4-component vector of uint)
+0:19 'samp2dr' (uniform usampler2DRect)
+0:19 'c2D' (smooth in 2-component vector of float)
+0:19 Constant:
+0:19 1 (const int)
+0:19 2 (const int)
+0:19 3 (const int)
+0:19 4 (const int)
+0:19 15 (const int)
+0:19 16 (const int)
+0:19 -2 (const int)
+0:19 0 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'v4' (temp 4-component vector of float)
+0:20 textureGather (global 4-component vector of float)
+0:20 direct index (temp sampler2D)
+0:20 'arrayedSampler' (uniform 5-element array of sampler2D)
+0:20 Constant:
+0:20 0 (const int)
+0:20 'c2D' (smooth in 2-component vector of float)
+0:21 Sequence
+0:21 move second child to first child (temp 4-component vector of int)
+0:21 'iv4' (temp 4-component vector of int)
+0:21 textureGatherOffset (global 4-component vector of int)
+0:21 'isamp2DA' (uniform isampler2DArray)
+0:21 Constant:
+0:21 0.100000
+0:21 0.100000
+0:21 0.100000
+0:21 Constant:
+0:21 1 (const int)
+0:21 1 (const int)
+0:21 Constant:
+0:21 3 (const int)
+0:22 move second child to first child (temp 4-component vector of int)
+0:22 'iv4' (temp 4-component vector of int)
+0:22 textureGatherOffset (global 4-component vector of int)
+0:22 'isamp2DA' (uniform isampler2DArray)
+0:22 Constant:
+0:22 0.100000
+0:22 0.100000
+0:22 0.100000
+0:22 Constant:
+0:22 1 (const int)
+0:22 1 (const int)
+0:22 'i' (flat in int)
+0:23 move second child to first child (temp 4-component vector of int)
+0:23 'iv4' (temp 4-component vector of int)
+0:23 textureGatherOffset (global 4-component vector of int)
+0:23 'isamp2DA' (uniform isampler2DArray)
+0:23 Constant:
+0:23 0.100000
+0:23 0.100000
+0:23 0.100000
+0:23 Constant:
+0:23 1 (const int)
+0:23 1 (const int)
+0:23 Constant:
+0:23 4 (const int)
+0:24 move second child to first child (temp 4-component vector of int)
+0:24 'iv4' (temp 4-component vector of int)
+0:24 textureGatherOffset (global 4-component vector of int)
+0:24 'isamp2DA' (uniform isampler2DArray)
+0:24 Constant:
+0:24 0.100000
+0:24 0.100000
+0:24 0.100000
+0:24 Constant:
+0:24 1 (const int)
+0:24 1 (const int)
+0:24 Constant:
+0:24 3 (const int)
+0:25 move second child to first child (temp 4-component vector of int)
+0:25 'iv4' (temp 4-component vector of int)
+0:25 textureGatherOffset (global 4-component vector of int)
+0:25 'isamp2DA' (uniform isampler2DArray)
+0:25 Constant:
+0:25 0.100000
+0:25 0.100000
+0:25 0.100000
+0:25 Construct ivec2 (temp 2-component vector of int)
+0:25 'i' (flat in int)
+0:27 Sequence
+0:27 move second child to first child (temp 4-component vector of float)
+0:27 'c' (temp 4-component vector of float)
+0:27 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:47 Function Definition: foo23( (global void)
+0:47 Function Parameters:
+0:? Sequence
+0:51 textureProjGradOffset (global float)
+0:51 'u2drs' (uniform sampler2DRectShadow)
+0:51 'outp' (out 4-component vector of float)
+0:51 Constant:
+0:51 0.000000
+0:51 0.000000
+0:51 Constant:
+0:51 0.000000
+0:51 0.000000
+0:51 Convert float to int (temp 2-component vector of int)
+0:51 'c2D' (smooth in 2-component vector of float)
+0:52 textureProjGradOffset (global float)
+0:52 'u2drs' (uniform sampler2DRectShadow)
+0:52 'outp' (out 4-component vector of float)
+0:52 Constant:
+0:52 0.000000
+0:52 0.000000
+0:52 Constant:
+0:52 0.000000
+0:52 0.000000
+0:52 Constant:
+0:52 3 (const int)
+0:52 4 (const int)
+0:53 textureProjGradOffset (global float)
+0:53 'u2drs' (uniform sampler2DRectShadow)
+0:53 'outp' (out 4-component vector of float)
+0:53 Constant:
+0:53 0.000000
+0:53 0.000000
+0:53 Constant:
+0:53 0.000000
+0:53 0.000000
+0:53 Constant:
+0:53 15 (const int)
+0:53 16 (const int)
+0:54 textureProjGradOffset (global float)
+0:54 'u2drs' (uniform sampler2DRectShadow)
+0:54 'outp' (out 4-component vector of float)
+0:54 Constant:
+0:54 0.000000
+0:54 0.000000
+0:54 Constant:
+0:54 0.000000
+0:54 0.000000
+0:54 Constant:
+0:54 -10 (const int)
+0:54 20 (const int)
+0:60 Function Definition: foo24( (global void)
+0:60 Function Parameters:
+0:? Sequence
+0:63 move second child to first child (temp 3-component vector of double)
+0:63 'df' (temp 3-component vector of double)
+0:63 modf (global 3-component vector of double)
+0:63 Convert float to double (temp 3-component vector of double)
+0:63 vector swizzle (temp 3-component vector of float)
+0:63 'outp' (out 4-component vector of float)
+0:63 Sequence
+0:63 Constant:
+0:63 0 (const int)
+0:63 Constant:
+0:63 1 (const int)
+0:63 Constant:
+0:63 2 (const int)
+0:63 'di' (temp 3-component vector of double)
+0:71 Function Definition: foodc1( (global void)
+0:71 Function Parameters:
+0:73 Sequence
+0:73 Sequence
+0:73 move second child to first child (temp 2-component vector of float)
+0:73 'v2' (temp 2-component vector of float)
+0:73 dPdxFine (global 2-component vector of float)
+0:73 'in2' (smooth in 2-component vector of float)
+0:74 Sequence
+0:74 move second child to first child (temp 3-component vector of float)
+0:74 'v3' (temp 3-component vector of float)
+0:74 dPdyCoarse (global 3-component vector of float)
+0:74 'in3' (smooth in 3-component vector of float)
+0:75 Sequence
+0:75 move second child to first child (temp 4-component vector of float)
+0:75 'v4' (temp 4-component vector of float)
+0:75 add (temp 4-component vector of float)
+0:75 fwidthCoarse (global 4-component vector of float)
+0:75 'in4' (smooth in 4-component vector of float)
+0:75 fwidthFine (global 4-component vector of float)
+0:75 'in4' (smooth in 4-component vector of float)
+0:80 Function Definition: foodc2( (global void)
+0:80 Function Parameters:
+0:82 Sequence
+0:82 Sequence
+0:82 move second child to first child (temp 2-component vector of float)
+0:82 'v2' (temp 2-component vector of float)
+0:82 dPdxFine (global 2-component vector of float)
+0:82 'in2' (smooth in 2-component vector of float)
+0:83 Sequence
+0:83 move second child to first child (temp 3-component vector of float)
+0:83 'v3' (temp 3-component vector of float)
+0:83 dPdyCoarse (global 3-component vector of float)
+0:83 'in3' (smooth in 3-component vector of float)
+0:84 Sequence
+0:84 move second child to first child (temp 4-component vector of float)
+0:84 'v4' (temp 4-component vector of float)
+0:84 add (temp 4-component vector of float)
+0:84 fwidthCoarse (global 4-component vector of float)
+0:84 'in4' (smooth in 4-component vector of float)
+0:84 fwidthFine (global 4-component vector of float)
+0:84 'in4' (smooth in 4-component vector of float)
+0:89 move second child to first child (temp 2-component vector of float)
+0:89 'v2' (temp 2-component vector of float)
+0:89 frexp (global 2-component vector of float)
+0:89 'v2' (temp 2-component vector of float)
+0:89 'i2' (temp 2-component vector of int)
+0:90 move second child to first child (temp 3-component vector of float)
+0:90 'v3' (temp 3-component vector of float)
+0:90 ldexp (global 3-component vector of float)
+0:90 'v3' (temp 3-component vector of float)
+0:90 'i3' (temp 3-component vector of int)
+0:92 move second child to first child (temp uint)
+0:92 'u1' (temp uint)
+0:92 PackUnorm4x8 (global uint)
+0:92 'v4' (temp 4-component vector of float)
+0:93 move second child to first child (temp uint)
+0:93 'u1' (temp uint)
+0:93 PackSnorm4x8 (global uint)
+0:93 'v4' (temp 4-component vector of float)
+0:94 move second child to first child (temp 4-component vector of float)
+0:94 'v4' (temp 4-component vector of float)
+0:94 UnpackUnorm4x8 (global 4-component vector of float)
+0:94 'u1' (temp uint)
+0:95 move second child to first child (temp 4-component vector of float)
+0:95 'v4' (temp 4-component vector of float)
+0:95 UnpackSnorm4x8 (global 4-component vector of float)
+0:95 'u1' (temp uint)
+0:99 move second child to first child (temp double)
+0:99 'd' (temp double)
+0:99 PackDouble2x32 (global double)
+0:99 'u2' (temp 2-component vector of uint)
+0:100 move second child to first child (temp 2-component vector of uint)
+0:100 'u2' (temp 2-component vector of uint)
+0:100 UnpackDouble2x32 (global 2-component vector of uint)
+0:100 'd' (temp double)
+0:117 Function Definition: interp( (global void)
+0:117 Function Parameters:
+0:119 Sequence
+0:119 interpolateAtCentroid (global 2-component vector of float)
+0:119 'colorfc' (centroid flat in 2-component vector of float)
+0:120 interpolateAtCentroid (global 4-component vector of float)
+0:120 'colorSampIn' (smooth sample in 4-component vector of float)
+0:121 interpolateAtCentroid (global 4-component vector of float)
+0:121 'colorfsi' (noperspective in 4-component vector of float)
+0:122 interpolateAtCentroid (global float)
+0:122 'scalarIn' (smooth in float)
+0:123 Constant:
+0:123 0.000000
+0:124 interpolateAtCentroid (global 3-component vector of float)
+0:124 direct index (smooth sample temp 3-component vector of float)
+0:124 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:124 Constant:
+0:124 2 (const int)
+0:125 interpolateAtCentroid (global 2-component vector of float)
+0:125 vector swizzle (temp 2-component vector of float)
+0:125 direct index (smooth sample temp 3-component vector of float)
+0:125 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:125 Constant:
+0:125 2 (const int)
+0:125 Sequence
+0:125 Constant:
+0:125 0 (const int)
+0:125 Constant:
+0:125 1 (const int)
+0:127 Constant:
+0:127 0.000000
+0:128 interpolateAtSample (global 3-component vector of float)
+0:128 indirect index (smooth sample temp 3-component vector of float)
+0:128 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:128 'i' (flat in int)
+0:128 Constant:
+0:128 0 (const int)
+0:129 interpolateAtSample (global float)
+0:129 x: direct index for structure (global float)
+0:129 's1' (smooth in structure{global float x})
+0:129 Constant:
+0:129 0 (const int)
+0:129 Constant:
+0:129 2 (const int)
+0:130 interpolateAtSample (global float)
+0:130 'scalarIn' (smooth in float)
+0:130 Constant:
+0:130 1 (const int)
+0:132 Constant:
+0:132 0.000000
+0:133 interpolateAtOffset (global 3-component vector of float)
+0:133 direct index (smooth sample temp 3-component vector of float)
+0:133 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:133 Constant:
+0:133 2 (const int)
+0:133 Constant:
+0:133 0.200000
+0:133 0.200000
+0:134 interpolateAtOffset (global 2-component vector of float)
+0:134 vector swizzle (temp 2-component vector of float)
+0:134 direct index (smooth sample temp 3-component vector of float)
+0:134 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:134 Constant:
+0:134 2 (const int)
+0:134 Sequence
+0:134 Constant:
+0:134 0 (const int)
+0:134 Constant:
+0:134 1 (const int)
+0:134 Constant:
+0:134 0.200000
+0:134 0.200000
+0:135 interpolateAtOffset (global float)
+0:135 add (temp float)
+0:135 'scalarIn' (smooth in float)
+0:135 'scalarIn' (smooth in float)
+0:135 Constant:
+0:135 0.200000
+0:135 0.200000
+0:136 interpolateAtOffset (global float)
+0:136 x: direct index for structure (global float)
+0:136 's2' (sample temp structure{global float x})
+0:136 Constant:
+0:136 0 (const int)
+0:136 Constant:
+0:136 0.200000
+0:136 0.200000
+0:139 interpolateAtCentroid (global float)
+0:139 'f' (temp float)
+0:140 interpolateAtSample (global 4-component vector of float)
+0:140 'outp' (out 4-component vector of float)
+0:140 Constant:
+0:140 0 (const int)
+0:161 Function Definition: qlod( (global void)
+0:161 Function Parameters:
+0:? Sequence
+0:168 move second child to first child (temp 2-component vector of float)
+0:168 'lod' (temp 2-component vector of float)
+0:168 textureQueryLod (global 2-component vector of float)
+0:168 'samp1D' (uniform sampler1D)
+0:168 'pf' (temp float)
+0:169 move second child to first child (temp 2-component vector of float)
+0:169 'lod' (temp 2-component vector of float)
+0:169 textureQueryLod (global 2-component vector of float)
+0:169 'isamp2D' (uniform isampler2D)
+0:169 'pf2' (temp 2-component vector of float)
+0:170 move second child to first child (temp 2-component vector of float)
+0:170 'lod' (temp 2-component vector of float)
+0:170 textureQueryLod (global 2-component vector of float)
+0:170 'usamp3D' (uniform usampler3D)
+0:170 'pf3' (temp 3-component vector of float)
+0:171 move second child to first child (temp 2-component vector of float)
+0:171 'lod' (temp 2-component vector of float)
+0:171 textureQueryLod (global 2-component vector of float)
+0:171 'sampCube' (uniform samplerCube)
+0:171 'pf3' (temp 3-component vector of float)
+0:172 move second child to first child (temp 2-component vector of float)
+0:172 'lod' (temp 2-component vector of float)
+0:172 textureQueryLod (global 2-component vector of float)
+0:172 'isamp1DA' (uniform isampler1DArray)
+0:172 'pf' (temp float)
+0:173 move second child to first child (temp 2-component vector of float)
+0:173 'lod' (temp 2-component vector of float)
+0:173 textureQueryLod (global 2-component vector of float)
+0:173 'usamp2DA' (uniform usampler2DArray)
+0:173 'pf2' (temp 2-component vector of float)
+0:174 move second child to first child (temp 2-component vector of float)
+0:174 'lod' (temp 2-component vector of float)
+0:174 textureQueryLod (global 2-component vector of float)
+0:174 'isampCubeA' (uniform isamplerCubeArray)
+0:174 'pf3' (temp 3-component vector of float)
+0:176 move second child to first child (temp 2-component vector of float)
+0:176 'lod' (temp 2-component vector of float)
+0:176 textureQueryLod (global 2-component vector of float)
+0:176 'samp1Ds' (uniform sampler1DShadow)
+0:176 'pf' (temp float)
+0:177 move second child to first child (temp 2-component vector of float)
+0:177 'lod' (temp 2-component vector of float)
+0:177 textureQueryLod (global 2-component vector of float)
+0:177 'samp2Ds' (uniform sampler2DShadow)
+0:177 'pf2' (temp 2-component vector of float)
+0:178 move second child to first child (temp 2-component vector of float)
+0:178 'lod' (temp 2-component vector of float)
+0:178 textureQueryLod (global 2-component vector of float)
+0:178 'sampCubes' (uniform samplerCubeShadow)
+0:178 'pf3' (temp 3-component vector of float)
+0:179 move second child to first child (temp 2-component vector of float)
+0:179 'lod' (temp 2-component vector of float)
+0:179 textureQueryLod (global 2-component vector of float)
+0:179 'samp1DAs' (uniform sampler1DArrayShadow)
+0:179 'pf' (temp float)
+0:180 move second child to first child (temp 2-component vector of float)
+0:180 'lod' (temp 2-component vector of float)
+0:180 textureQueryLod (global 2-component vector of float)
+0:180 'samp2DAs' (uniform sampler2DArrayShadow)
+0:180 'pf2' (temp 2-component vector of float)
+0:181 move second child to first child (temp 2-component vector of float)
+0:181 'lod' (temp 2-component vector of float)
+0:181 textureQueryLod (global 2-component vector of float)
+0:181 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:181 'pf3' (temp 3-component vector of float)
+0:183 'lod' (temp 2-component vector of float)
+0:184 'lod' (temp 2-component vector of float)
+0:? Linker Objects
+0:? 'c2D' (smooth in 2-component vector of float)
+0:? 'i' (flat in int)
+0:? 'outp' (out 4-component vector of float)
+0:? 'arrayedSampler' (uniform 5-element array of sampler2D)
+0:? 'samp2dr' (uniform usampler2DRect)
+0:? 'isamp2DA' (uniform isampler2DArray)
+0:? 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
+0:? 'vl' (layout(location=4 ) smooth in 4-component vector of float)
+0:? 'vl2' (layout(location=6 ) smooth in 4-component vector of float)
+0:? 'uv3' (layout(location=3 ) uniform 3-component vector of float)
+0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'u2drs' (uniform sampler2DRectShadow)
+0:? 'patchIn' (smooth patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'in1' (smooth in float)
+0:? 'in2' (smooth in 2-component vector of float)
+0:? 'in3' (smooth in 3-component vector of float)
+0:? 'in4' (smooth in 4-component vector of float)
+0:? 'colorSampIn' (smooth sample in 4-component vector of float)
+0:? 'colorSampleBad' (sample out 4-component vector of float)
+0:? 'colorfsi' (noperspective in 4-component vector of float)
+0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:? 'scalarIn' (smooth in float)
+0:? 'colorfc' (centroid flat in 2-component vector of float)
+0:? 's1' (smooth in structure{global float x})
+0:? 's2' (sample temp structure{global float x})
+0:? 'samp1D' (uniform sampler1D)
+0:? 'isamp2D' (uniform isampler2D)
+0:? 'usamp3D' (uniform usampler3D)
+0:? 'sampCube' (uniform samplerCube)
+0:? 'isamp1DA' (uniform isampler1DArray)
+0:? 'usamp2DA' (uniform usampler2DArray)
+0:? 'isampCubeA' (uniform isamplerCubeArray)
+0:? 'samp1Ds' (uniform sampler1DShadow)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+0:? 'sampCubes' (uniform samplerCubeShadow)
+0:? 'samp1DAs' (uniform sampler1DArrayShadow)
+0:? 'samp2DAs' (uniform sampler2DArrayShadow)
+0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:? 'sampBuf' (uniform samplerBuffer)
+0:? 'sampRect' (uniform sampler2DRect)
+
+
+Linked fragment stage:
+
+
+Shader version: 400
+Requested GL_ARB_derivative_control
+Requested GL_ARB_separate_shader_objects
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:? Sequence
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'v' (temp 4-component vector of float)
+0:13 texture (global 4-component vector of float)
+0:13 indirect index (temp sampler2D)
+0:13 'arrayedSampler' (uniform 5-element array of sampler2D)
+0:13 'i' (flat in int)
+0:13 'c2D' (smooth in 2-component vector of float)
+0:14 move second child to first child (temp float)
+0:14 direct index (temp float)
+0:14 'outp' (out 4-component vector of float)
+0:14 Constant:
+0:14 0 (const int)
+0:14 direct index (smooth temp float ClipDistance)
+0:14 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
+0:14 Constant:
+0:14 1 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp 4-component vector of uint)
+0:18 'uv4' (temp 4-component vector of uint)
+0:18 textureGatherOffsets (global 4-component vector of uint)
+0:18 'samp2dr' (uniform usampler2DRect)
+0:18 'c2D' (smooth in 2-component vector of float)
+0:18 'offsets' (temp 4-element array of 2-component vector of int)
+0:18 Constant:
+0:18 2 (const int)
+0:19 move second child to first child (temp 4-component vector of uint)
+0:19 'uv4' (temp 4-component vector of uint)
+0:19 textureGatherOffsets (global 4-component vector of uint)
+0:19 'samp2dr' (uniform usampler2DRect)
+0:19 'c2D' (smooth in 2-component vector of float)
+0:19 Constant:
+0:19 1 (const int)
+0:19 2 (const int)
+0:19 3 (const int)
+0:19 4 (const int)
+0:19 15 (const int)
+0:19 16 (const int)
+0:19 -2 (const int)
+0:19 0 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'v4' (temp 4-component vector of float)
+0:20 textureGather (global 4-component vector of float)
+0:20 direct index (temp sampler2D)
+0:20 'arrayedSampler' (uniform 5-element array of sampler2D)
+0:20 Constant:
+0:20 0 (const int)
+0:20 'c2D' (smooth in 2-component vector of float)
+0:21 Sequence
+0:21 move second child to first child (temp 4-component vector of int)
+0:21 'iv4' (temp 4-component vector of int)
+0:21 textureGatherOffset (global 4-component vector of int)
+0:21 'isamp2DA' (uniform isampler2DArray)
+0:21 Constant:
+0:21 0.100000
+0:21 0.100000
+0:21 0.100000
+0:21 Constant:
+0:21 1 (const int)
+0:21 1 (const int)
+0:21 Constant:
+0:21 3 (const int)
+0:22 move second child to first child (temp 4-component vector of int)
+0:22 'iv4' (temp 4-component vector of int)
+0:22 textureGatherOffset (global 4-component vector of int)
+0:22 'isamp2DA' (uniform isampler2DArray)
+0:22 Constant:
+0:22 0.100000
+0:22 0.100000
+0:22 0.100000
+0:22 Constant:
+0:22 1 (const int)
+0:22 1 (const int)
+0:22 'i' (flat in int)
+0:23 move second child to first child (temp 4-component vector of int)
+0:23 'iv4' (temp 4-component vector of int)
+0:23 textureGatherOffset (global 4-component vector of int)
+0:23 'isamp2DA' (uniform isampler2DArray)
+0:23 Constant:
+0:23 0.100000
+0:23 0.100000
+0:23 0.100000
+0:23 Constant:
+0:23 1 (const int)
+0:23 1 (const int)
+0:23 Constant:
+0:23 4 (const int)
+0:24 move second child to first child (temp 4-component vector of int)
+0:24 'iv4' (temp 4-component vector of int)
+0:24 textureGatherOffset (global 4-component vector of int)
+0:24 'isamp2DA' (uniform isampler2DArray)
+0:24 Constant:
+0:24 0.100000
+0:24 0.100000
+0:24 0.100000
+0:24 Constant:
+0:24 1 (const int)
+0:24 1 (const int)
+0:24 Constant:
+0:24 3 (const int)
+0:25 move second child to first child (temp 4-component vector of int)
+0:25 'iv4' (temp 4-component vector of int)
+0:25 textureGatherOffset (global 4-component vector of int)
+0:25 'isamp2DA' (uniform isampler2DArray)
+0:25 Constant:
+0:25 0.100000
+0:25 0.100000
+0:25 0.100000
+0:25 Construct ivec2 (temp 2-component vector of int)
+0:25 'i' (flat in int)
+0:27 Sequence
+0:27 move second child to first child (temp 4-component vector of float)
+0:27 'c' (temp 4-component vector of float)
+0:27 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:47 Function Definition: foo23( (global void)
+0:47 Function Parameters:
+0:? Sequence
+0:51 textureProjGradOffset (global float)
+0:51 'u2drs' (uniform sampler2DRectShadow)
+0:51 'outp' (out 4-component vector of float)
+0:51 Constant:
+0:51 0.000000
+0:51 0.000000
+0:51 Constant:
+0:51 0.000000
+0:51 0.000000
+0:51 Convert float to int (temp 2-component vector of int)
+0:51 'c2D' (smooth in 2-component vector of float)
+0:52 textureProjGradOffset (global float)
+0:52 'u2drs' (uniform sampler2DRectShadow)
+0:52 'outp' (out 4-component vector of float)
+0:52 Constant:
+0:52 0.000000
+0:52 0.000000
+0:52 Constant:
+0:52 0.000000
+0:52 0.000000
+0:52 Constant:
+0:52 3 (const int)
+0:52 4 (const int)
+0:53 textureProjGradOffset (global float)
+0:53 'u2drs' (uniform sampler2DRectShadow)
+0:53 'outp' (out 4-component vector of float)
+0:53 Constant:
+0:53 0.000000
+0:53 0.000000
+0:53 Constant:
+0:53 0.000000
+0:53 0.000000
+0:53 Constant:
+0:53 15 (const int)
+0:53 16 (const int)
+0:54 textureProjGradOffset (global float)
+0:54 'u2drs' (uniform sampler2DRectShadow)
+0:54 'outp' (out 4-component vector of float)
+0:54 Constant:
+0:54 0.000000
+0:54 0.000000
+0:54 Constant:
+0:54 0.000000
+0:54 0.000000
+0:54 Constant:
+0:54 -10 (const int)
+0:54 20 (const int)
+0:60 Function Definition: foo24( (global void)
+0:60 Function Parameters:
+0:? Sequence
+0:63 move second child to first child (temp 3-component vector of double)
+0:63 'df' (temp 3-component vector of double)
+0:63 modf (global 3-component vector of double)
+0:63 Convert float to double (temp 3-component vector of double)
+0:63 vector swizzle (temp 3-component vector of float)
+0:63 'outp' (out 4-component vector of float)
+0:63 Sequence
+0:63 Constant:
+0:63 0 (const int)
+0:63 Constant:
+0:63 1 (const int)
+0:63 Constant:
+0:63 2 (const int)
+0:63 'di' (temp 3-component vector of double)
+0:71 Function Definition: foodc1( (global void)
+0:71 Function Parameters:
+0:73 Sequence
+0:73 Sequence
+0:73 move second child to first child (temp 2-component vector of float)
+0:73 'v2' (temp 2-component vector of float)
+0:73 dPdxFine (global 2-component vector of float)
+0:73 'in2' (smooth in 2-component vector of float)
+0:74 Sequence
+0:74 move second child to first child (temp 3-component vector of float)
+0:74 'v3' (temp 3-component vector of float)
+0:74 dPdyCoarse (global 3-component vector of float)
+0:74 'in3' (smooth in 3-component vector of float)
+0:75 Sequence
+0:75 move second child to first child (temp 4-component vector of float)
+0:75 'v4' (temp 4-component vector of float)
+0:75 add (temp 4-component vector of float)
+0:75 fwidthCoarse (global 4-component vector of float)
+0:75 'in4' (smooth in 4-component vector of float)
+0:75 fwidthFine (global 4-component vector of float)
+0:75 'in4' (smooth in 4-component vector of float)
+0:80 Function Definition: foodc2( (global void)
+0:80 Function Parameters:
+0:82 Sequence
+0:82 Sequence
+0:82 move second child to first child (temp 2-component vector of float)
+0:82 'v2' (temp 2-component vector of float)
+0:82 dPdxFine (global 2-component vector of float)
+0:82 'in2' (smooth in 2-component vector of float)
+0:83 Sequence
+0:83 move second child to first child (temp 3-component vector of float)
+0:83 'v3' (temp 3-component vector of float)
+0:83 dPdyCoarse (global 3-component vector of float)
+0:83 'in3' (smooth in 3-component vector of float)
+0:84 Sequence
+0:84 move second child to first child (temp 4-component vector of float)
+0:84 'v4' (temp 4-component vector of float)
+0:84 add (temp 4-component vector of float)
+0:84 fwidthCoarse (global 4-component vector of float)
+0:84 'in4' (smooth in 4-component vector of float)
+0:84 fwidthFine (global 4-component vector of float)
+0:84 'in4' (smooth in 4-component vector of float)
+0:89 move second child to first child (temp 2-component vector of float)
+0:89 'v2' (temp 2-component vector of float)
+0:89 frexp (global 2-component vector of float)
+0:89 'v2' (temp 2-component vector of float)
+0:89 'i2' (temp 2-component vector of int)
+0:90 move second child to first child (temp 3-component vector of float)
+0:90 'v3' (temp 3-component vector of float)
+0:90 ldexp (global 3-component vector of float)
+0:90 'v3' (temp 3-component vector of float)
+0:90 'i3' (temp 3-component vector of int)
+0:92 move second child to first child (temp uint)
+0:92 'u1' (temp uint)
+0:92 PackUnorm4x8 (global uint)
+0:92 'v4' (temp 4-component vector of float)
+0:93 move second child to first child (temp uint)
+0:93 'u1' (temp uint)
+0:93 PackSnorm4x8 (global uint)
+0:93 'v4' (temp 4-component vector of float)
+0:94 move second child to first child (temp 4-component vector of float)
+0:94 'v4' (temp 4-component vector of float)
+0:94 UnpackUnorm4x8 (global 4-component vector of float)
+0:94 'u1' (temp uint)
+0:95 move second child to first child (temp 4-component vector of float)
+0:95 'v4' (temp 4-component vector of float)
+0:95 UnpackSnorm4x8 (global 4-component vector of float)
+0:95 'u1' (temp uint)
+0:99 move second child to first child (temp double)
+0:99 'd' (temp double)
+0:99 PackDouble2x32 (global double)
+0:99 'u2' (temp 2-component vector of uint)
+0:100 move second child to first child (temp 2-component vector of uint)
+0:100 'u2' (temp 2-component vector of uint)
+0:100 UnpackDouble2x32 (global 2-component vector of uint)
+0:100 'd' (temp double)
+0:117 Function Definition: interp( (global void)
+0:117 Function Parameters:
+0:119 Sequence
+0:119 interpolateAtCentroid (global 2-component vector of float)
+0:119 'colorfc' (centroid flat in 2-component vector of float)
+0:120 interpolateAtCentroid (global 4-component vector of float)
+0:120 'colorSampIn' (smooth sample in 4-component vector of float)
+0:121 interpolateAtCentroid (global 4-component vector of float)
+0:121 'colorfsi' (noperspective in 4-component vector of float)
+0:122 interpolateAtCentroid (global float)
+0:122 'scalarIn' (smooth in float)
+0:123 Constant:
+0:123 0.000000
+0:124 interpolateAtCentroid (global 3-component vector of float)
+0:124 direct index (smooth sample temp 3-component vector of float)
+0:124 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:124 Constant:
+0:124 2 (const int)
+0:125 interpolateAtCentroid (global 2-component vector of float)
+0:125 vector swizzle (temp 2-component vector of float)
+0:125 direct index (smooth sample temp 3-component vector of float)
+0:125 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:125 Constant:
+0:125 2 (const int)
+0:125 Sequence
+0:125 Constant:
+0:125 0 (const int)
+0:125 Constant:
+0:125 1 (const int)
+0:127 Constant:
+0:127 0.000000
+0:128 interpolateAtSample (global 3-component vector of float)
+0:128 indirect index (smooth sample temp 3-component vector of float)
+0:128 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:128 'i' (flat in int)
+0:128 Constant:
+0:128 0 (const int)
+0:129 interpolateAtSample (global float)
+0:129 x: direct index for structure (global float)
+0:129 's1' (smooth in structure{global float x})
+0:129 Constant:
+0:129 0 (const int)
+0:129 Constant:
+0:129 2 (const int)
+0:130 interpolateAtSample (global float)
+0:130 'scalarIn' (smooth in float)
+0:130 Constant:
+0:130 1 (const int)
+0:132 Constant:
+0:132 0.000000
+0:133 interpolateAtOffset (global 3-component vector of float)
+0:133 direct index (smooth sample temp 3-component vector of float)
+0:133 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:133 Constant:
+0:133 2 (const int)
+0:133 Constant:
+0:133 0.200000
+0:133 0.200000
+0:134 interpolateAtOffset (global 2-component vector of float)
+0:134 vector swizzle (temp 2-component vector of float)
+0:134 direct index (smooth sample temp 3-component vector of float)
+0:134 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:134 Constant:
+0:134 2 (const int)
+0:134 Sequence
+0:134 Constant:
+0:134 0 (const int)
+0:134 Constant:
+0:134 1 (const int)
+0:134 Constant:
+0:134 0.200000
+0:134 0.200000
+0:135 interpolateAtOffset (global float)
+0:135 add (temp float)
+0:135 'scalarIn' (smooth in float)
+0:135 'scalarIn' (smooth in float)
+0:135 Constant:
+0:135 0.200000
+0:135 0.200000
+0:136 interpolateAtOffset (global float)
+0:136 x: direct index for structure (global float)
+0:136 's2' (sample temp structure{global float x})
+0:136 Constant:
+0:136 0 (const int)
+0:136 Constant:
+0:136 0.200000
+0:136 0.200000
+0:139 interpolateAtCentroid (global float)
+0:139 'f' (temp float)
+0:140 interpolateAtSample (global 4-component vector of float)
+0:140 'outp' (out 4-component vector of float)
+0:140 Constant:
+0:140 0 (const int)
+0:161 Function Definition: qlod( (global void)
+0:161 Function Parameters:
+0:? Sequence
+0:168 move second child to first child (temp 2-component vector of float)
+0:168 'lod' (temp 2-component vector of float)
+0:168 textureQueryLod (global 2-component vector of float)
+0:168 'samp1D' (uniform sampler1D)
+0:168 'pf' (temp float)
+0:169 move second child to first child (temp 2-component vector of float)
+0:169 'lod' (temp 2-component vector of float)
+0:169 textureQueryLod (global 2-component vector of float)
+0:169 'isamp2D' (uniform isampler2D)
+0:169 'pf2' (temp 2-component vector of float)
+0:170 move second child to first child (temp 2-component vector of float)
+0:170 'lod' (temp 2-component vector of float)
+0:170 textureQueryLod (global 2-component vector of float)
+0:170 'usamp3D' (uniform usampler3D)
+0:170 'pf3' (temp 3-component vector of float)
+0:171 move second child to first child (temp 2-component vector of float)
+0:171 'lod' (temp 2-component vector of float)
+0:171 textureQueryLod (global 2-component vector of float)
+0:171 'sampCube' (uniform samplerCube)
+0:171 'pf3' (temp 3-component vector of float)
+0:172 move second child to first child (temp 2-component vector of float)
+0:172 'lod' (temp 2-component vector of float)
+0:172 textureQueryLod (global 2-component vector of float)
+0:172 'isamp1DA' (uniform isampler1DArray)
+0:172 'pf' (temp float)
+0:173 move second child to first child (temp 2-component vector of float)
+0:173 'lod' (temp 2-component vector of float)
+0:173 textureQueryLod (global 2-component vector of float)
+0:173 'usamp2DA' (uniform usampler2DArray)
+0:173 'pf2' (temp 2-component vector of float)
+0:174 move second child to first child (temp 2-component vector of float)
+0:174 'lod' (temp 2-component vector of float)
+0:174 textureQueryLod (global 2-component vector of float)
+0:174 'isampCubeA' (uniform isamplerCubeArray)
+0:174 'pf3' (temp 3-component vector of float)
+0:176 move second child to first child (temp 2-component vector of float)
+0:176 'lod' (temp 2-component vector of float)
+0:176 textureQueryLod (global 2-component vector of float)
+0:176 'samp1Ds' (uniform sampler1DShadow)
+0:176 'pf' (temp float)
+0:177 move second child to first child (temp 2-component vector of float)
+0:177 'lod' (temp 2-component vector of float)
+0:177 textureQueryLod (global 2-component vector of float)
+0:177 'samp2Ds' (uniform sampler2DShadow)
+0:177 'pf2' (temp 2-component vector of float)
+0:178 move second child to first child (temp 2-component vector of float)
+0:178 'lod' (temp 2-component vector of float)
+0:178 textureQueryLod (global 2-component vector of float)
+0:178 'sampCubes' (uniform samplerCubeShadow)
+0:178 'pf3' (temp 3-component vector of float)
+0:179 move second child to first child (temp 2-component vector of float)
+0:179 'lod' (temp 2-component vector of float)
+0:179 textureQueryLod (global 2-component vector of float)
+0:179 'samp1DAs' (uniform sampler1DArrayShadow)
+0:179 'pf' (temp float)
+0:180 move second child to first child (temp 2-component vector of float)
+0:180 'lod' (temp 2-component vector of float)
+0:180 textureQueryLod (global 2-component vector of float)
+0:180 'samp2DAs' (uniform sampler2DArrayShadow)
+0:180 'pf2' (temp 2-component vector of float)
+0:181 move second child to first child (temp 2-component vector of float)
+0:181 'lod' (temp 2-component vector of float)
+0:181 textureQueryLod (global 2-component vector of float)
+0:181 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:181 'pf3' (temp 3-component vector of float)
+0:183 'lod' (temp 2-component vector of float)
+0:184 'lod' (temp 2-component vector of float)
+0:? Linker Objects
+0:? 'c2D' (smooth in 2-component vector of float)
+0:? 'i' (flat in int)
+0:? 'outp' (out 4-component vector of float)
+0:? 'arrayedSampler' (uniform 5-element array of sampler2D)
+0:? 'samp2dr' (uniform usampler2DRect)
+0:? 'isamp2DA' (uniform isampler2DArray)
+0:? 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
+0:? 'vl' (layout(location=4 ) smooth in 4-component vector of float)
+0:? 'vl2' (layout(location=6 ) smooth in 4-component vector of float)
+0:? 'uv3' (layout(location=3 ) uniform 3-component vector of float)
+0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'u2drs' (uniform sampler2DRectShadow)
+0:? 'patchIn' (smooth patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'in1' (smooth in float)
+0:? 'in2' (smooth in 2-component vector of float)
+0:? 'in3' (smooth in 3-component vector of float)
+0:? 'in4' (smooth in 4-component vector of float)
+0:? 'colorSampIn' (smooth sample in 4-component vector of float)
+0:? 'colorSampleBad' (sample out 4-component vector of float)
+0:? 'colorfsi' (noperspective in 4-component vector of float)
+0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:? 'scalarIn' (smooth in float)
+0:? 'colorfc' (centroid flat in 2-component vector of float)
+0:? 's1' (smooth in structure{global float x})
+0:? 's2' (sample temp structure{global float x})
+0:? 'samp1D' (uniform sampler1D)
+0:? 'isamp2D' (uniform isampler2D)
+0:? 'usamp3D' (uniform usampler3D)
+0:? 'sampCube' (uniform samplerCube)
+0:? 'isamp1DA' (uniform isampler1DArray)
+0:? 'usamp2DA' (uniform usampler2DArray)
+0:? 'isampCubeA' (uniform isamplerCubeArray)
+0:? 'samp1Ds' (uniform sampler1DShadow)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+0:? 'sampCubes' (uniform samplerCubeShadow)
+0:? 'samp1DAs' (uniform sampler1DArrayShadow)
+0:? 'samp2DAs' (uniform sampler2DArrayShadow)
+0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:? 'sampBuf' (uniform samplerBuffer)
+0:? 'sampRect' (uniform sampler2DRect)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/400.geom.out b/chromium/third_party/glslang/src/Test/baseResults/400.geom.out
new file mode 100644
index 00000000000..16117e62a23
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/400.geom.out
@@ -0,0 +1,2067 @@
+400.geom
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:12: 'invocations' : can only apply to a standalone qualifier
+ERROR: 0:20: 'patch' : not supported in this stage: geometry
+ERROR: 0:20: 'gl_PointSize' : cannot add layout to redeclared block member
+ERROR: 0:20: 'gl_PointSize' : cannot add patch to redeclared block member
+ERROR: 0:25: 'length' : array must first be sized by a redeclaration or layout qualifier
+ERROR: 0:36: 'length' : array must first be sized by a redeclaration or layout qualifier
+ERROR: 0:40: 'triangles' : inconsistent input primitive for array size of colorBad
+ERROR: 0:44: 'triangles' : inconsistent input primitive for array size of colorbad2
+ERROR: 0:56: 'location' : overlapping use of location 4
+ERROR: 0:58: 'patch' : not supported in this stage: geometry
+ERROR: 0:59: 'patch' : not supported in this stage: geometry
+ERROR: 0:61: 'in' : type must be an array: scalar
+ERROR: 0:63: 'invocations' : can only apply to 'in'
+ERROR: 0:64: 'max_vertices' : can only apply to 'out'
+ERROR: 0:65: 'max_vertices' : can only apply to 'out'
+ERROR: 0:65: 'invocations' : can only apply to 'in'
+ERROR: 0:67: 'in' : type must be an array: inbls
+ERROR: 0:71: 'triangles' : inconsistent input primitive for array size of inbla
+ERROR: 0:103: 'index' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:115: 'textureQueryLod' : no matching overloaded function found
+ERROR: 0:115: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 0:116: 'textureQueryLod' : no matching overloaded function found
+ERROR: 0:116: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 23 compilation errors. No code generated.
+
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+invocations = 4
+max_vertices = 127
+input primitive = triangles
+output primitive = none
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:5 Sequence
+0:5 EmitStreamVertex (global void)
+0:5 Constant:
+0:5 1 (const int)
+0:6 EndStreamPrimitive (global void)
+0:6 Constant:
+0:6 0 (const int)
+0:7 EmitVertex (global void)
+0:8 EndPrimitive (global void)
+0:9 Sequence
+0:9 move second child to first child (temp int)
+0:9 'id' (temp int)
+0:9 'gl_InvocationID' (in int InvocationID)
+0:23 Function Definition: foo( (global void)
+0:23 Function Parameters:
+0:25 Sequence
+0:25 Constant:
+0:25 1 (const int)
+0:26 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:26 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
+0:26 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
+0:26 Constant:
+0:26 1 (const int)
+0:26 Constant:
+0:26 0 (const int)
+0:34 Function Definition: foo2( (global void)
+0:34 Function Parameters:
+0:36 Sequence
+0:36 Constant:
+0:36 1 (const int)
+0:37 Constant:
+0:37 3 (const int)
+0:46 Function Definition: foo3( (global void)
+0:46 Function Parameters:
+0:48 Sequence
+0:48 Constant:
+0:48 3 (const int)
+0:49 Constant:
+0:49 3 (const int)
+0:50 Constant:
+0:50 3 (const int)
+0:51 Constant:
+0:51 3 (const int)
+0:75 Function Definition: bits( (global void)
+0:75 Function Parameters:
+0:? Sequence
+0:78 move second child to first child (temp 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:78 addCarry (global 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:80 move second child to first child (temp uint)
+0:80 'u1' (temp uint)
+0:80 subBorrow (global uint)
+0:80 'u1' (temp uint)
+0:80 'u1' (temp uint)
+0:80 'u1' (temp uint)
+0:82 uMulExtended (global void)
+0:82 'u4' (temp 4-component vector of uint)
+0:82 'u4' (temp 4-component vector of uint)
+0:82 'u4' (temp 4-component vector of uint)
+0:82 'u4' (temp 4-component vector of uint)
+0:84 iMulExtended (global void)
+0:84 'i4' (temp 4-component vector of int)
+0:84 'i4' (temp 4-component vector of int)
+0:84 'i4' (temp 4-component vector of int)
+0:84 'i4' (temp 4-component vector of int)
+0:86 move second child to first child (temp int)
+0:86 'i1' (temp int)
+0:86 bitfieldExtract (global int)
+0:86 'i1' (temp int)
+0:86 Constant:
+0:86 4 (const int)
+0:86 Constant:
+0:86 5 (const int)
+0:88 move second child to first child (temp 3-component vector of uint)
+0:88 'u3' (temp 3-component vector of uint)
+0:88 bitfieldExtract (global 3-component vector of uint)
+0:88 'u3' (temp 3-component vector of uint)
+0:88 Constant:
+0:88 4 (const int)
+0:88 Constant:
+0:88 5 (const int)
+0:90 move second child to first child (temp 3-component vector of int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 bitfieldInsert (global 3-component vector of int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 Constant:
+0:90 4 (const int)
+0:90 Constant:
+0:90 5 (const int)
+0:91 move second child to first child (temp uint)
+0:91 'u1' (temp uint)
+0:91 bitfieldInsert (global uint)
+0:91 'u1' (temp uint)
+0:91 'u1' (temp uint)
+0:91 Constant:
+0:91 4 (const int)
+0:91 Constant:
+0:91 5 (const int)
+0:93 move second child to first child (temp 2-component vector of int)
+0:93 'i2' (temp 2-component vector of int)
+0:93 bitFieldReverse (global 2-component vector of int)
+0:93 'i2' (temp 2-component vector of int)
+0:94 move second child to first child (temp 4-component vector of uint)
+0:94 'u4' (temp 4-component vector of uint)
+0:94 bitFieldReverse (global 4-component vector of uint)
+0:94 'u4' (temp 4-component vector of uint)
+0:95 move second child to first child (temp int)
+0:95 'i1' (temp int)
+0:95 bitCount (global int)
+0:95 'i1' (temp int)
+0:96 move second child to first child (temp 3-component vector of int)
+0:96 'i3' (temp 3-component vector of int)
+0:96 bitCount (global 3-component vector of int)
+0:96 'u3' (temp 3-component vector of uint)
+0:97 move second child to first child (temp 2-component vector of int)
+0:97 'i2' (temp 2-component vector of int)
+0:97 findLSB (global 2-component vector of int)
+0:97 'i2' (temp 2-component vector of int)
+0:98 move second child to first child (temp 4-component vector of int)
+0:98 'i4' (temp 4-component vector of int)
+0:98 findLSB (global 4-component vector of int)
+0:98 'u4' (temp 4-component vector of uint)
+0:99 move second child to first child (temp int)
+0:99 'i1' (temp int)
+0:99 findMSB (global int)
+0:99 'i1' (temp int)
+0:100 move second child to first child (temp 2-component vector of int)
+0:100 'i2' (temp 2-component vector of int)
+0:100 findMSB (global 2-component vector of int)
+0:100 'u2' (temp 2-component vector of uint)
+0:108 Function Definition: qlod( (global void)
+0:108 Function Parameters:
+0:? Sequence
+0:115 'lod' (temp 2-component vector of float)
+0:116 'lod' (temp 2-component vector of float)
+0:119 Function Definition: doubles( (global void)
+0:119 Function Parameters:
+0:? Sequence
+0:131 move second child to first child (temp double)
+0:131 'doublev' (temp double)
+0:131 Constant:
+0:131 1.702939
+0:132 move second child to first child (temp 2-component vector of double)
+0:132 'dvec2v' (temp 2-component vector of double)
+0:132 Constant:
+0:132 1.643168
+0:132 1.643168
+0:133 move second child to first child (temp 3-component vector of double)
+0:133 'dvec3v' (temp 3-component vector of double)
+0:133 Constant:
+0:133 1.414214
+0:133 1.414214
+0:133 1.414214
+0:134 move second child to first child (temp 4-component vector of double)
+0:134 'dvec4v' (temp 4-component vector of double)
+0:134 Constant:
+0:134 1.449138
+0:134 1.449138
+0:134 1.449138
+0:134 1.449138
+0:136 add second child into first child (temp double)
+0:136 'doublev' (temp double)
+0:136 inverse sqrt (global double)
+0:136 'doublev' (temp double)
+0:137 add second child into first child (temp 2-component vector of double)
+0:137 'dvec2v' (temp 2-component vector of double)
+0:137 inverse sqrt (global 2-component vector of double)
+0:137 'dvec2v' (temp 2-component vector of double)
+0:138 add second child into first child (temp 3-component vector of double)
+0:138 'dvec3v' (temp 3-component vector of double)
+0:138 inverse sqrt (global 3-component vector of double)
+0:138 'dvec3v' (temp 3-component vector of double)
+0:139 add second child into first child (temp 4-component vector of double)
+0:139 'dvec4v' (temp 4-component vector of double)
+0:139 inverse sqrt (global 4-component vector of double)
+0:139 'dvec4v' (temp 4-component vector of double)
+0:141 add second child into first child (temp double)
+0:141 'doublev' (temp double)
+0:141 Absolute value (global double)
+0:141 'doublev' (temp double)
+0:142 add second child into first child (temp 2-component vector of double)
+0:142 'dvec2v' (temp 2-component vector of double)
+0:142 Absolute value (global 2-component vector of double)
+0:142 'dvec2v' (temp 2-component vector of double)
+0:143 add second child into first child (temp 3-component vector of double)
+0:143 'dvec3v' (temp 3-component vector of double)
+0:143 Absolute value (global 3-component vector of double)
+0:143 'dvec3v' (temp 3-component vector of double)
+0:144 add second child into first child (temp 4-component vector of double)
+0:144 'dvec4v' (temp 4-component vector of double)
+0:144 Absolute value (global 4-component vector of double)
+0:144 'dvec4v' (temp 4-component vector of double)
+0:146 add second child into first child (temp double)
+0:146 'doublev' (temp double)
+0:146 Sign (global double)
+0:146 'doublev' (temp double)
+0:147 add second child into first child (temp 2-component vector of double)
+0:147 'dvec2v' (temp 2-component vector of double)
+0:147 Sign (global 2-component vector of double)
+0:147 'dvec2v' (temp 2-component vector of double)
+0:148 add second child into first child (temp 3-component vector of double)
+0:148 'dvec3v' (temp 3-component vector of double)
+0:148 Sign (global 3-component vector of double)
+0:148 'dvec3v' (temp 3-component vector of double)
+0:149 add second child into first child (temp 4-component vector of double)
+0:149 'dvec4v' (temp 4-component vector of double)
+0:149 Sign (global 4-component vector of double)
+0:149 'dvec4v' (temp 4-component vector of double)
+0:151 add second child into first child (temp double)
+0:151 'doublev' (temp double)
+0:151 Floor (global double)
+0:151 'doublev' (temp double)
+0:152 add second child into first child (temp 2-component vector of double)
+0:152 'dvec2v' (temp 2-component vector of double)
+0:152 Floor (global 2-component vector of double)
+0:152 'dvec2v' (temp 2-component vector of double)
+0:153 add second child into first child (temp 3-component vector of double)
+0:153 'dvec3v' (temp 3-component vector of double)
+0:153 Floor (global 3-component vector of double)
+0:153 'dvec3v' (temp 3-component vector of double)
+0:154 add second child into first child (temp 4-component vector of double)
+0:154 'dvec4v' (temp 4-component vector of double)
+0:154 Floor (global 4-component vector of double)
+0:154 'dvec4v' (temp 4-component vector of double)
+0:156 add second child into first child (temp double)
+0:156 'doublev' (temp double)
+0:156 trunc (global double)
+0:156 'doublev' (temp double)
+0:157 add second child into first child (temp 2-component vector of double)
+0:157 'dvec2v' (temp 2-component vector of double)
+0:157 trunc (global 2-component vector of double)
+0:157 'dvec2v' (temp 2-component vector of double)
+0:158 add second child into first child (temp 3-component vector of double)
+0:158 'dvec3v' (temp 3-component vector of double)
+0:158 trunc (global 3-component vector of double)
+0:158 'dvec3v' (temp 3-component vector of double)
+0:159 add second child into first child (temp 4-component vector of double)
+0:159 'dvec4v' (temp 4-component vector of double)
+0:159 trunc (global 4-component vector of double)
+0:159 'dvec4v' (temp 4-component vector of double)
+0:161 add second child into first child (temp double)
+0:161 'doublev' (temp double)
+0:161 round (global double)
+0:161 'doublev' (temp double)
+0:162 add second child into first child (temp 2-component vector of double)
+0:162 'dvec2v' (temp 2-component vector of double)
+0:162 round (global 2-component vector of double)
+0:162 'dvec2v' (temp 2-component vector of double)
+0:163 add second child into first child (temp 3-component vector of double)
+0:163 'dvec3v' (temp 3-component vector of double)
+0:163 round (global 3-component vector of double)
+0:163 'dvec3v' (temp 3-component vector of double)
+0:164 add second child into first child (temp 4-component vector of double)
+0:164 'dvec4v' (temp 4-component vector of double)
+0:164 round (global 4-component vector of double)
+0:164 'dvec4v' (temp 4-component vector of double)
+0:166 add second child into first child (temp double)
+0:166 'doublev' (temp double)
+0:166 roundEven (global double)
+0:166 'doublev' (temp double)
+0:167 add second child into first child (temp 2-component vector of double)
+0:167 'dvec2v' (temp 2-component vector of double)
+0:167 roundEven (global 2-component vector of double)
+0:167 'dvec2v' (temp 2-component vector of double)
+0:168 add second child into first child (temp 3-component vector of double)
+0:168 'dvec3v' (temp 3-component vector of double)
+0:168 roundEven (global 3-component vector of double)
+0:168 'dvec3v' (temp 3-component vector of double)
+0:169 add second child into first child (temp 4-component vector of double)
+0:169 'dvec4v' (temp 4-component vector of double)
+0:169 roundEven (global 4-component vector of double)
+0:169 'dvec4v' (temp 4-component vector of double)
+0:171 add second child into first child (temp double)
+0:171 'doublev' (temp double)
+0:171 Ceiling (global double)
+0:171 'doublev' (temp double)
+0:172 add second child into first child (temp 2-component vector of double)
+0:172 'dvec2v' (temp 2-component vector of double)
+0:172 Ceiling (global 2-component vector of double)
+0:172 'dvec2v' (temp 2-component vector of double)
+0:173 add second child into first child (temp 3-component vector of double)
+0:173 'dvec3v' (temp 3-component vector of double)
+0:173 Ceiling (global 3-component vector of double)
+0:173 'dvec3v' (temp 3-component vector of double)
+0:174 add second child into first child (temp 4-component vector of double)
+0:174 'dvec4v' (temp 4-component vector of double)
+0:174 Ceiling (global 4-component vector of double)
+0:174 'dvec4v' (temp 4-component vector of double)
+0:176 add second child into first child (temp double)
+0:176 'doublev' (temp double)
+0:176 Fraction (global double)
+0:176 'doublev' (temp double)
+0:177 add second child into first child (temp 2-component vector of double)
+0:177 'dvec2v' (temp 2-component vector of double)
+0:177 Fraction (global 2-component vector of double)
+0:177 'dvec2v' (temp 2-component vector of double)
+0:178 add second child into first child (temp 3-component vector of double)
+0:178 'dvec3v' (temp 3-component vector of double)
+0:178 Fraction (global 3-component vector of double)
+0:178 'dvec3v' (temp 3-component vector of double)
+0:179 add second child into first child (temp 4-component vector of double)
+0:179 'dvec4v' (temp 4-component vector of double)
+0:179 Fraction (global 4-component vector of double)
+0:179 'dvec4v' (temp 4-component vector of double)
+0:181 add second child into first child (temp double)
+0:181 'doublev' (temp double)
+0:181 mod (global double)
+0:181 'doublev' (temp double)
+0:181 'doublev' (temp double)
+0:182 add second child into first child (temp 2-component vector of double)
+0:182 'dvec2v' (temp 2-component vector of double)
+0:182 mod (global 2-component vector of double)
+0:182 'dvec2v' (temp 2-component vector of double)
+0:182 'doublev' (temp double)
+0:183 add second child into first child (temp 3-component vector of double)
+0:183 'dvec3v' (temp 3-component vector of double)
+0:183 mod (global 3-component vector of double)
+0:183 'dvec3v' (temp 3-component vector of double)
+0:183 'doublev' (temp double)
+0:184 add second child into first child (temp 4-component vector of double)
+0:184 'dvec4v' (temp 4-component vector of double)
+0:184 mod (global 4-component vector of double)
+0:184 'dvec4v' (temp 4-component vector of double)
+0:184 'doublev' (temp double)
+0:185 add second child into first child (temp 2-component vector of double)
+0:185 'dvec2v' (temp 2-component vector of double)
+0:185 mod (global 2-component vector of double)
+0:185 'dvec2v' (temp 2-component vector of double)
+0:185 'dvec2v' (temp 2-component vector of double)
+0:186 add second child into first child (temp 3-component vector of double)
+0:186 'dvec3v' (temp 3-component vector of double)
+0:186 mod (global 3-component vector of double)
+0:186 'dvec3v' (temp 3-component vector of double)
+0:186 'dvec3v' (temp 3-component vector of double)
+0:187 add second child into first child (temp 4-component vector of double)
+0:187 'dvec4v' (temp 4-component vector of double)
+0:187 mod (global 4-component vector of double)
+0:187 'dvec4v' (temp 4-component vector of double)
+0:187 'dvec4v' (temp 4-component vector of double)
+0:189 add second child into first child (temp double)
+0:189 'doublev' (temp double)
+0:189 modf (global double)
+0:189 'doublev' (temp double)
+0:189 'doublev' (temp double)
+0:190 add second child into first child (temp 2-component vector of double)
+0:190 'dvec2v' (temp 2-component vector of double)
+0:190 modf (global 2-component vector of double)
+0:190 'dvec2v' (temp 2-component vector of double)
+0:190 'dvec2v' (temp 2-component vector of double)
+0:191 add second child into first child (temp 3-component vector of double)
+0:191 'dvec3v' (temp 3-component vector of double)
+0:191 modf (global 3-component vector of double)
+0:191 'dvec3v' (temp 3-component vector of double)
+0:191 'dvec3v' (temp 3-component vector of double)
+0:192 add second child into first child (temp 4-component vector of double)
+0:192 'dvec4v' (temp 4-component vector of double)
+0:192 modf (global 4-component vector of double)
+0:192 'dvec4v' (temp 4-component vector of double)
+0:192 'dvec4v' (temp 4-component vector of double)
+0:194 add second child into first child (temp double)
+0:194 'doublev' (temp double)
+0:194 min (global double)
+0:194 'doublev' (temp double)
+0:194 'doublev' (temp double)
+0:195 add second child into first child (temp 2-component vector of double)
+0:195 'dvec2v' (temp 2-component vector of double)
+0:195 min (global 2-component vector of double)
+0:195 'dvec2v' (temp 2-component vector of double)
+0:195 'doublev' (temp double)
+0:196 add second child into first child (temp 3-component vector of double)
+0:196 'dvec3v' (temp 3-component vector of double)
+0:196 min (global 3-component vector of double)
+0:196 'dvec3v' (temp 3-component vector of double)
+0:196 'doublev' (temp double)
+0:197 add second child into first child (temp 4-component vector of double)
+0:197 'dvec4v' (temp 4-component vector of double)
+0:197 min (global 4-component vector of double)
+0:197 'dvec4v' (temp 4-component vector of double)
+0:197 'doublev' (temp double)
+0:198 add second child into first child (temp 2-component vector of double)
+0:198 'dvec2v' (temp 2-component vector of double)
+0:198 min (global 2-component vector of double)
+0:198 'dvec2v' (temp 2-component vector of double)
+0:198 'dvec2v' (temp 2-component vector of double)
+0:199 add second child into first child (temp 3-component vector of double)
+0:199 'dvec3v' (temp 3-component vector of double)
+0:199 min (global 3-component vector of double)
+0:199 'dvec3v' (temp 3-component vector of double)
+0:199 'dvec3v' (temp 3-component vector of double)
+0:200 add second child into first child (temp 4-component vector of double)
+0:200 'dvec4v' (temp 4-component vector of double)
+0:200 min (global 4-component vector of double)
+0:200 'dvec4v' (temp 4-component vector of double)
+0:200 'dvec4v' (temp 4-component vector of double)
+0:202 add second child into first child (temp double)
+0:202 'doublev' (temp double)
+0:202 max (global double)
+0:202 'doublev' (temp double)
+0:202 'doublev' (temp double)
+0:203 add second child into first child (temp 2-component vector of double)
+0:203 'dvec2v' (temp 2-component vector of double)
+0:203 max (global 2-component vector of double)
+0:203 'dvec2v' (temp 2-component vector of double)
+0:203 'doublev' (temp double)
+0:204 add second child into first child (temp 3-component vector of double)
+0:204 'dvec3v' (temp 3-component vector of double)
+0:204 max (global 3-component vector of double)
+0:204 'dvec3v' (temp 3-component vector of double)
+0:204 'doublev' (temp double)
+0:205 add second child into first child (temp 4-component vector of double)
+0:205 'dvec4v' (temp 4-component vector of double)
+0:205 max (global 4-component vector of double)
+0:205 'dvec4v' (temp 4-component vector of double)
+0:205 'doublev' (temp double)
+0:206 add second child into first child (temp 2-component vector of double)
+0:206 'dvec2v' (temp 2-component vector of double)
+0:206 max (global 2-component vector of double)
+0:206 'dvec2v' (temp 2-component vector of double)
+0:206 'dvec2v' (temp 2-component vector of double)
+0:207 add second child into first child (temp 3-component vector of double)
+0:207 'dvec3v' (temp 3-component vector of double)
+0:207 max (global 3-component vector of double)
+0:207 'dvec3v' (temp 3-component vector of double)
+0:207 'dvec3v' (temp 3-component vector of double)
+0:208 add second child into first child (temp 4-component vector of double)
+0:208 'dvec4v' (temp 4-component vector of double)
+0:208 max (global 4-component vector of double)
+0:208 'dvec4v' (temp 4-component vector of double)
+0:208 'dvec4v' (temp 4-component vector of double)
+0:210 add second child into first child (temp double)
+0:210 'doublev' (temp double)
+0:210 clamp (global double)
+0:210 'doublev' (temp double)
+0:210 'doublev' (temp double)
+0:210 'doublev' (temp double)
+0:211 add second child into first child (temp 2-component vector of double)
+0:211 'dvec2v' (temp 2-component vector of double)
+0:211 clamp (global 2-component vector of double)
+0:211 'dvec2v' (temp 2-component vector of double)
+0:211 'doublev' (temp double)
+0:211 'doublev' (temp double)
+0:212 add second child into first child (temp 3-component vector of double)
+0:212 'dvec3v' (temp 3-component vector of double)
+0:212 clamp (global 3-component vector of double)
+0:212 'dvec3v' (temp 3-component vector of double)
+0:212 'doublev' (temp double)
+0:212 'doublev' (temp double)
+0:213 add second child into first child (temp 4-component vector of double)
+0:213 'dvec4v' (temp 4-component vector of double)
+0:213 clamp (global 4-component vector of double)
+0:213 'dvec4v' (temp 4-component vector of double)
+0:213 'doublev' (temp double)
+0:213 'doublev' (temp double)
+0:214 add second child into first child (temp 2-component vector of double)
+0:214 'dvec2v' (temp 2-component vector of double)
+0:214 clamp (global 2-component vector of double)
+0:214 'dvec2v' (temp 2-component vector of double)
+0:214 'dvec2v' (temp 2-component vector of double)
+0:214 'dvec2v' (temp 2-component vector of double)
+0:215 add second child into first child (temp 3-component vector of double)
+0:215 'dvec3v' (temp 3-component vector of double)
+0:215 clamp (global 3-component vector of double)
+0:215 'dvec3v' (temp 3-component vector of double)
+0:215 'dvec3v' (temp 3-component vector of double)
+0:215 'dvec3v' (temp 3-component vector of double)
+0:216 add second child into first child (temp 4-component vector of double)
+0:216 'dvec4v' (temp 4-component vector of double)
+0:216 clamp (global 4-component vector of double)
+0:216 'dvec4v' (temp 4-component vector of double)
+0:216 'dvec4v' (temp 4-component vector of double)
+0:216 'dvec4v' (temp 4-component vector of double)
+0:218 add second child into first child (temp double)
+0:218 'doublev' (temp double)
+0:218 mix (global double)
+0:218 'doublev' (temp double)
+0:218 'doublev' (temp double)
+0:218 'doublev' (temp double)
+0:219 add second child into first child (temp 2-component vector of double)
+0:219 'dvec2v' (temp 2-component vector of double)
+0:219 mix (global 2-component vector of double)
+0:219 'dvec2v' (temp 2-component vector of double)
+0:219 'dvec2v' (temp 2-component vector of double)
+0:219 'doublev' (temp double)
+0:220 add second child into first child (temp 3-component vector of double)
+0:220 'dvec3v' (temp 3-component vector of double)
+0:220 mix (global 3-component vector of double)
+0:220 'dvec3v' (temp 3-component vector of double)
+0:220 'dvec3v' (temp 3-component vector of double)
+0:220 'doublev' (temp double)
+0:221 add second child into first child (temp 4-component vector of double)
+0:221 'dvec4v' (temp 4-component vector of double)
+0:221 mix (global 4-component vector of double)
+0:221 'dvec4v' (temp 4-component vector of double)
+0:221 'dvec4v' (temp 4-component vector of double)
+0:221 'doublev' (temp double)
+0:222 add second child into first child (temp 2-component vector of double)
+0:222 'dvec2v' (temp 2-component vector of double)
+0:222 mix (global 2-component vector of double)
+0:222 'dvec2v' (temp 2-component vector of double)
+0:222 'dvec2v' (temp 2-component vector of double)
+0:222 'dvec2v' (temp 2-component vector of double)
+0:223 add second child into first child (temp 3-component vector of double)
+0:223 'dvec3v' (temp 3-component vector of double)
+0:223 mix (global 3-component vector of double)
+0:223 'dvec3v' (temp 3-component vector of double)
+0:223 'dvec3v' (temp 3-component vector of double)
+0:223 'dvec3v' (temp 3-component vector of double)
+0:224 add second child into first child (temp 4-component vector of double)
+0:224 'dvec4v' (temp 4-component vector of double)
+0:224 mix (global 4-component vector of double)
+0:224 'dvec4v' (temp 4-component vector of double)
+0:224 'dvec4v' (temp 4-component vector of double)
+0:224 'dvec4v' (temp 4-component vector of double)
+0:225 add second child into first child (temp double)
+0:225 'doublev' (temp double)
+0:225 mix (global double)
+0:225 'doublev' (temp double)
+0:225 'doublev' (temp double)
+0:225 'boolv' (temp bool)
+0:226 add second child into first child (temp 2-component vector of double)
+0:226 'dvec2v' (temp 2-component vector of double)
+0:226 mix (global 2-component vector of double)
+0:226 'dvec2v' (temp 2-component vector of double)
+0:226 'dvec2v' (temp 2-component vector of double)
+0:226 'bvec2v' (temp 2-component vector of bool)
+0:227 add second child into first child (temp 3-component vector of double)
+0:227 'dvec3v' (temp 3-component vector of double)
+0:227 mix (global 3-component vector of double)
+0:227 'dvec3v' (temp 3-component vector of double)
+0:227 'dvec3v' (temp 3-component vector of double)
+0:227 'bvec3v' (temp 3-component vector of bool)
+0:228 add second child into first child (temp 4-component vector of double)
+0:228 'dvec4v' (temp 4-component vector of double)
+0:228 mix (global 4-component vector of double)
+0:228 'dvec4v' (temp 4-component vector of double)
+0:228 'dvec4v' (temp 4-component vector of double)
+0:228 'bvec4v' (temp 4-component vector of bool)
+0:230 add second child into first child (temp double)
+0:230 'doublev' (temp double)
+0:230 step (global double)
+0:230 'doublev' (temp double)
+0:230 'doublev' (temp double)
+0:231 add second child into first child (temp 2-component vector of double)
+0:231 'dvec2v' (temp 2-component vector of double)
+0:231 step (global 2-component vector of double)
+0:231 'dvec2v' (temp 2-component vector of double)
+0:231 'dvec2v' (temp 2-component vector of double)
+0:232 add second child into first child (temp 3-component vector of double)
+0:232 'dvec3v' (temp 3-component vector of double)
+0:232 step (global 3-component vector of double)
+0:232 'dvec3v' (temp 3-component vector of double)
+0:232 'dvec3v' (temp 3-component vector of double)
+0:233 add second child into first child (temp 4-component vector of double)
+0:233 'dvec4v' (temp 4-component vector of double)
+0:233 step (global 4-component vector of double)
+0:233 'dvec4v' (temp 4-component vector of double)
+0:233 'dvec4v' (temp 4-component vector of double)
+0:234 add second child into first child (temp 2-component vector of double)
+0:234 'dvec2v' (temp 2-component vector of double)
+0:234 step (global 2-component vector of double)
+0:234 'doublev' (temp double)
+0:234 'dvec2v' (temp 2-component vector of double)
+0:235 add second child into first child (temp 3-component vector of double)
+0:235 'dvec3v' (temp 3-component vector of double)
+0:235 step (global 3-component vector of double)
+0:235 'doublev' (temp double)
+0:235 'dvec3v' (temp 3-component vector of double)
+0:236 add second child into first child (temp 4-component vector of double)
+0:236 'dvec4v' (temp 4-component vector of double)
+0:236 step (global 4-component vector of double)
+0:236 'doublev' (temp double)
+0:236 'dvec4v' (temp 4-component vector of double)
+0:238 add second child into first child (temp double)
+0:238 'doublev' (temp double)
+0:238 smoothstep (global double)
+0:238 'doublev' (temp double)
+0:238 'doublev' (temp double)
+0:238 'doublev' (temp double)
+0:239 add second child into first child (temp 2-component vector of double)
+0:239 'dvec2v' (temp 2-component vector of double)
+0:239 smoothstep (global 2-component vector of double)
+0:239 'dvec2v' (temp 2-component vector of double)
+0:239 'dvec2v' (temp 2-component vector of double)
+0:239 'dvec2v' (temp 2-component vector of double)
+0:240 add second child into first child (temp 3-component vector of double)
+0:240 'dvec3v' (temp 3-component vector of double)
+0:240 smoothstep (global 3-component vector of double)
+0:240 'dvec3v' (temp 3-component vector of double)
+0:240 'dvec3v' (temp 3-component vector of double)
+0:240 'dvec3v' (temp 3-component vector of double)
+0:241 add second child into first child (temp 4-component vector of double)
+0:241 'dvec4v' (temp 4-component vector of double)
+0:241 smoothstep (global 4-component vector of double)
+0:241 'dvec4v' (temp 4-component vector of double)
+0:241 'dvec4v' (temp 4-component vector of double)
+0:241 'dvec4v' (temp 4-component vector of double)
+0:242 add second child into first child (temp 2-component vector of double)
+0:242 'dvec2v' (temp 2-component vector of double)
+0:242 smoothstep (global 2-component vector of double)
+0:242 'doublev' (temp double)
+0:242 'doublev' (temp double)
+0:242 'dvec2v' (temp 2-component vector of double)
+0:243 add second child into first child (temp 3-component vector of double)
+0:243 'dvec3v' (temp 3-component vector of double)
+0:243 smoothstep (global 3-component vector of double)
+0:243 'doublev' (temp double)
+0:243 'doublev' (temp double)
+0:243 'dvec3v' (temp 3-component vector of double)
+0:244 add second child into first child (temp 4-component vector of double)
+0:244 'dvec4v' (temp 4-component vector of double)
+0:244 smoothstep (global 4-component vector of double)
+0:244 'doublev' (temp double)
+0:244 'doublev' (temp double)
+0:244 'dvec4v' (temp 4-component vector of double)
+0:246 move second child to first child (temp bool)
+0:246 'boolv' (temp bool)
+0:246 isnan (global bool)
+0:246 'doublev' (temp double)
+0:247 move second child to first child (temp 2-component vector of bool)
+0:247 'bvec2v' (temp 2-component vector of bool)
+0:247 isnan (global 2-component vector of bool)
+0:247 'dvec2v' (temp 2-component vector of double)
+0:248 move second child to first child (temp 3-component vector of bool)
+0:248 'bvec3v' (temp 3-component vector of bool)
+0:248 isnan (global 3-component vector of bool)
+0:248 'dvec3v' (temp 3-component vector of double)
+0:249 move second child to first child (temp 4-component vector of bool)
+0:249 'bvec4v' (temp 4-component vector of bool)
+0:249 isnan (global 4-component vector of bool)
+0:249 'dvec4v' (temp 4-component vector of double)
+0:251 move second child to first child (temp bool)
+0:251 'boolv' (temp bool)
+0:251 Test condition and select (temp bool)
+0:251 Condition
+0:251 'boolv' (temp bool)
+0:251 true case
+0:251 isinf (global bool)
+0:251 'doublev' (temp double)
+0:251 false case
+0:251 Constant:
+0:251 false (const bool)
+0:252 move second child to first child (temp 2-component vector of bool)
+0:252 'bvec2v' (temp 2-component vector of bool)
+0:252 Test condition and select (temp 2-component vector of bool)
+0:252 Condition
+0:252 'boolv' (temp bool)
+0:252 true case
+0:252 isinf (global 2-component vector of bool)
+0:252 'dvec2v' (temp 2-component vector of double)
+0:252 false case
+0:252 Constant:
+0:252 false (const bool)
+0:252 false (const bool)
+0:253 move second child to first child (temp 3-component vector of bool)
+0:253 'bvec3v' (temp 3-component vector of bool)
+0:253 Test condition and select (temp 3-component vector of bool)
+0:253 Condition
+0:253 'boolv' (temp bool)
+0:253 true case
+0:253 isinf (global 3-component vector of bool)
+0:253 'dvec3v' (temp 3-component vector of double)
+0:253 false case
+0:253 Constant:
+0:253 false (const bool)
+0:253 false (const bool)
+0:253 false (const bool)
+0:254 move second child to first child (temp 4-component vector of bool)
+0:254 'bvec4v' (temp 4-component vector of bool)
+0:254 Test condition and select (temp 4-component vector of bool)
+0:254 Condition
+0:254 'boolv' (temp bool)
+0:254 true case
+0:254 isinf (global 4-component vector of bool)
+0:254 'dvec4v' (temp 4-component vector of double)
+0:254 false case
+0:254 Constant:
+0:254 false (const bool)
+0:254 false (const bool)
+0:254 false (const bool)
+0:254 false (const bool)
+0:256 add second child into first child (temp double)
+0:256 'doublev' (temp double)
+0:256 length (global double)
+0:256 'doublev' (temp double)
+0:257 add second child into first child (temp double)
+0:257 'doublev' (temp double)
+0:257 length (global double)
+0:257 'dvec2v' (temp 2-component vector of double)
+0:258 add second child into first child (temp double)
+0:258 'doublev' (temp double)
+0:258 length (global double)
+0:258 'dvec3v' (temp 3-component vector of double)
+0:259 add second child into first child (temp double)
+0:259 'doublev' (temp double)
+0:259 length (global double)
+0:259 'dvec4v' (temp 4-component vector of double)
+0:261 add second child into first child (temp double)
+0:261 'doublev' (temp double)
+0:261 distance (global double)
+0:261 'doublev' (temp double)
+0:261 'doublev' (temp double)
+0:262 add second child into first child (temp double)
+0:262 'doublev' (temp double)
+0:262 distance (global double)
+0:262 'dvec2v' (temp 2-component vector of double)
+0:262 'dvec2v' (temp 2-component vector of double)
+0:263 add second child into first child (temp double)
+0:263 'doublev' (temp double)
+0:263 distance (global double)
+0:263 'dvec3v' (temp 3-component vector of double)
+0:263 'dvec3v' (temp 3-component vector of double)
+0:264 add second child into first child (temp double)
+0:264 'doublev' (temp double)
+0:264 distance (global double)
+0:264 'dvec4v' (temp 4-component vector of double)
+0:264 'dvec4v' (temp 4-component vector of double)
+0:266 add second child into first child (temp double)
+0:266 'doublev' (temp double)
+0:266 dot-product (global double)
+0:266 'doublev' (temp double)
+0:266 'doublev' (temp double)
+0:267 add second child into first child (temp double)
+0:267 'doublev' (temp double)
+0:267 dot-product (global double)
+0:267 'dvec2v' (temp 2-component vector of double)
+0:267 'dvec2v' (temp 2-component vector of double)
+0:268 add second child into first child (temp double)
+0:268 'doublev' (temp double)
+0:268 dot-product (global double)
+0:268 'dvec3v' (temp 3-component vector of double)
+0:268 'dvec3v' (temp 3-component vector of double)
+0:269 add second child into first child (temp double)
+0:269 'doublev' (temp double)
+0:269 dot-product (global double)
+0:269 'dvec4v' (temp 4-component vector of double)
+0:269 'dvec4v' (temp 4-component vector of double)
+0:271 add second child into first child (temp 3-component vector of double)
+0:271 'dvec3v' (temp 3-component vector of double)
+0:271 cross-product (global 3-component vector of double)
+0:271 'dvec3v' (temp 3-component vector of double)
+0:271 'dvec3v' (temp 3-component vector of double)
+0:273 add second child into first child (temp double)
+0:273 'doublev' (temp double)
+0:273 normalize (global double)
+0:273 'doublev' (temp double)
+0:274 add second child into first child (temp 2-component vector of double)
+0:274 'dvec2v' (temp 2-component vector of double)
+0:274 normalize (global 2-component vector of double)
+0:274 'dvec2v' (temp 2-component vector of double)
+0:275 add second child into first child (temp 3-component vector of double)
+0:275 'dvec3v' (temp 3-component vector of double)
+0:275 normalize (global 3-component vector of double)
+0:275 'dvec3v' (temp 3-component vector of double)
+0:276 add second child into first child (temp 4-component vector of double)
+0:276 'dvec4v' (temp 4-component vector of double)
+0:276 normalize (global 4-component vector of double)
+0:276 'dvec4v' (temp 4-component vector of double)
+0:278 add second child into first child (temp double)
+0:278 'doublev' (temp double)
+0:278 face-forward (global double)
+0:278 'doublev' (temp double)
+0:278 'doublev' (temp double)
+0:278 'doublev' (temp double)
+0:279 add second child into first child (temp 2-component vector of double)
+0:279 'dvec2v' (temp 2-component vector of double)
+0:279 face-forward (global 2-component vector of double)
+0:279 'dvec2v' (temp 2-component vector of double)
+0:279 'dvec2v' (temp 2-component vector of double)
+0:279 'dvec2v' (temp 2-component vector of double)
+0:280 add second child into first child (temp 3-component vector of double)
+0:280 'dvec3v' (temp 3-component vector of double)
+0:280 face-forward (global 3-component vector of double)
+0:280 'dvec3v' (temp 3-component vector of double)
+0:280 'dvec3v' (temp 3-component vector of double)
+0:280 'dvec3v' (temp 3-component vector of double)
+0:281 add second child into first child (temp 4-component vector of double)
+0:281 'dvec4v' (temp 4-component vector of double)
+0:281 face-forward (global 4-component vector of double)
+0:281 'dvec4v' (temp 4-component vector of double)
+0:281 'dvec4v' (temp 4-component vector of double)
+0:281 'dvec4v' (temp 4-component vector of double)
+0:283 add second child into first child (temp double)
+0:283 'doublev' (temp double)
+0:283 reflect (global double)
+0:283 'doublev' (temp double)
+0:283 'doublev' (temp double)
+0:284 add second child into first child (temp 2-component vector of double)
+0:284 'dvec2v' (temp 2-component vector of double)
+0:284 reflect (global 2-component vector of double)
+0:284 'dvec2v' (temp 2-component vector of double)
+0:284 'dvec2v' (temp 2-component vector of double)
+0:285 add second child into first child (temp 3-component vector of double)
+0:285 'dvec3v' (temp 3-component vector of double)
+0:285 reflect (global 3-component vector of double)
+0:285 'dvec3v' (temp 3-component vector of double)
+0:285 'dvec3v' (temp 3-component vector of double)
+0:286 add second child into first child (temp 4-component vector of double)
+0:286 'dvec4v' (temp 4-component vector of double)
+0:286 reflect (global 4-component vector of double)
+0:286 'dvec4v' (temp 4-component vector of double)
+0:286 'dvec4v' (temp 4-component vector of double)
+0:288 add second child into first child (temp double)
+0:288 'doublev' (temp double)
+0:288 refract (global double)
+0:288 'doublev' (temp double)
+0:288 'doublev' (temp double)
+0:288 'doublev' (temp double)
+0:289 add second child into first child (temp 2-component vector of double)
+0:289 'dvec2v' (temp 2-component vector of double)
+0:289 refract (global 2-component vector of double)
+0:289 'dvec2v' (temp 2-component vector of double)
+0:289 'dvec2v' (temp 2-component vector of double)
+0:289 'doublev' (temp double)
+0:290 add second child into first child (temp 3-component vector of double)
+0:290 'dvec3v' (temp 3-component vector of double)
+0:290 refract (global 3-component vector of double)
+0:290 'dvec3v' (temp 3-component vector of double)
+0:290 'dvec3v' (temp 3-component vector of double)
+0:290 'doublev' (temp double)
+0:291 add second child into first child (temp 4-component vector of double)
+0:291 'dvec4v' (temp 4-component vector of double)
+0:291 refract (global 4-component vector of double)
+0:291 'dvec4v' (temp 4-component vector of double)
+0:291 'dvec4v' (temp 4-component vector of double)
+0:291 'doublev' (temp double)
+0:293 Sequence
+0:293 move second child to first child (temp 2X2 matrix of double)
+0:293 'dmat2v' (temp 2X2 matrix of double)
+0:293 outer product (global 2X2 matrix of double)
+0:293 'dvec2v' (temp 2-component vector of double)
+0:293 'dvec2v' (temp 2-component vector of double)
+0:294 Sequence
+0:294 move second child to first child (temp 3X3 matrix of double)
+0:294 'dmat3v' (temp 3X3 matrix of double)
+0:294 outer product (global 3X3 matrix of double)
+0:294 'dvec3v' (temp 3-component vector of double)
+0:294 'dvec3v' (temp 3-component vector of double)
+0:295 Sequence
+0:295 move second child to first child (temp 4X4 matrix of double)
+0:295 'dmat4v' (temp 4X4 matrix of double)
+0:295 outer product (global 4X4 matrix of double)
+0:295 'dvec4v' (temp 4-component vector of double)
+0:295 'dvec4v' (temp 4-component vector of double)
+0:296 Sequence
+0:296 move second child to first child (temp 2X3 matrix of double)
+0:296 'dmat2x3v' (temp 2X3 matrix of double)
+0:296 outer product (global 2X3 matrix of double)
+0:296 'dvec3v' (temp 3-component vector of double)
+0:296 'dvec2v' (temp 2-component vector of double)
+0:297 Sequence
+0:297 move second child to first child (temp 3X2 matrix of double)
+0:297 'dmat3x2v' (temp 3X2 matrix of double)
+0:297 outer product (global 3X2 matrix of double)
+0:297 'dvec2v' (temp 2-component vector of double)
+0:297 'dvec3v' (temp 3-component vector of double)
+0:298 Sequence
+0:298 move second child to first child (temp 2X4 matrix of double)
+0:298 'dmat2x4v' (temp 2X4 matrix of double)
+0:298 outer product (global 2X4 matrix of double)
+0:298 'dvec4v' (temp 4-component vector of double)
+0:298 'dvec2v' (temp 2-component vector of double)
+0:299 Sequence
+0:299 move second child to first child (temp 4X2 matrix of double)
+0:299 'dmat4x2v' (temp 4X2 matrix of double)
+0:299 outer product (global 4X2 matrix of double)
+0:299 'dvec2v' (temp 2-component vector of double)
+0:299 'dvec4v' (temp 4-component vector of double)
+0:300 Sequence
+0:300 move second child to first child (temp 3X4 matrix of double)
+0:300 'dmat3x4v' (temp 3X4 matrix of double)
+0:300 outer product (global 3X4 matrix of double)
+0:300 'dvec4v' (temp 4-component vector of double)
+0:300 'dvec3v' (temp 3-component vector of double)
+0:301 Sequence
+0:301 move second child to first child (temp 4X3 matrix of double)
+0:301 'dmat4x3v' (temp 4X3 matrix of double)
+0:301 outer product (global 4X3 matrix of double)
+0:301 'dvec3v' (temp 3-component vector of double)
+0:301 'dvec4v' (temp 4-component vector of double)
+0:303 matrix mult second child into first child (temp 2X2 matrix of double)
+0:303 'dmat2v' (temp 2X2 matrix of double)
+0:303 component-wise multiply (global 2X2 matrix of double)
+0:303 'dmat2v' (temp 2X2 matrix of double)
+0:303 'dmat2v' (temp 2X2 matrix of double)
+0:304 matrix mult second child into first child (temp 3X3 matrix of double)
+0:304 'dmat3v' (temp 3X3 matrix of double)
+0:304 component-wise multiply (global 3X3 matrix of double)
+0:304 'dmat3v' (temp 3X3 matrix of double)
+0:304 'dmat3v' (temp 3X3 matrix of double)
+0:305 matrix mult second child into first child (temp 4X4 matrix of double)
+0:305 'dmat4v' (temp 4X4 matrix of double)
+0:305 component-wise multiply (global 4X4 matrix of double)
+0:305 'dmat4v' (temp 4X4 matrix of double)
+0:305 'dmat4v' (temp 4X4 matrix of double)
+0:306 move second child to first child (temp 2X3 matrix of double)
+0:306 'dmat2x3v' (temp 2X3 matrix of double)
+0:306 component-wise multiply (global 2X3 matrix of double)
+0:306 'dmat2x3v' (temp 2X3 matrix of double)
+0:306 'dmat2x3v' (temp 2X3 matrix of double)
+0:307 move second child to first child (temp 2X4 matrix of double)
+0:307 'dmat2x4v' (temp 2X4 matrix of double)
+0:307 component-wise multiply (global 2X4 matrix of double)
+0:307 'dmat2x4v' (temp 2X4 matrix of double)
+0:307 'dmat2x4v' (temp 2X4 matrix of double)
+0:308 move second child to first child (temp 3X2 matrix of double)
+0:308 'dmat3x2v' (temp 3X2 matrix of double)
+0:308 component-wise multiply (global 3X2 matrix of double)
+0:308 'dmat3x2v' (temp 3X2 matrix of double)
+0:308 'dmat3x2v' (temp 3X2 matrix of double)
+0:309 move second child to first child (temp 3X4 matrix of double)
+0:309 'dmat3x4v' (temp 3X4 matrix of double)
+0:309 component-wise multiply (global 3X4 matrix of double)
+0:309 'dmat3x4v' (temp 3X4 matrix of double)
+0:309 'dmat3x4v' (temp 3X4 matrix of double)
+0:310 move second child to first child (temp 4X2 matrix of double)
+0:310 'dmat4x2v' (temp 4X2 matrix of double)
+0:310 component-wise multiply (global 4X2 matrix of double)
+0:310 'dmat4x2v' (temp 4X2 matrix of double)
+0:310 'dmat4x2v' (temp 4X2 matrix of double)
+0:311 move second child to first child (temp 4X3 matrix of double)
+0:311 'dmat4x3v' (temp 4X3 matrix of double)
+0:311 component-wise multiply (global 4X3 matrix of double)
+0:311 'dmat4x3v' (temp 4X3 matrix of double)
+0:311 'dmat4x3v' (temp 4X3 matrix of double)
+0:313 matrix mult second child into first child (temp 2X2 matrix of double)
+0:313 'dmat2v' (temp 2X2 matrix of double)
+0:313 transpose (global 2X2 matrix of double)
+0:313 'dmat2v' (temp 2X2 matrix of double)
+0:314 matrix mult second child into first child (temp 3X3 matrix of double)
+0:314 'dmat3v' (temp 3X3 matrix of double)
+0:314 transpose (global 3X3 matrix of double)
+0:314 'dmat3v' (temp 3X3 matrix of double)
+0:315 matrix mult second child into first child (temp 4X4 matrix of double)
+0:315 'dmat4v' (temp 4X4 matrix of double)
+0:315 transpose (global 4X4 matrix of double)
+0:315 'dmat4v' (temp 4X4 matrix of double)
+0:316 move second child to first child (temp 2X3 matrix of double)
+0:316 'dmat2x3v' (temp 2X3 matrix of double)
+0:316 transpose (global 2X3 matrix of double)
+0:316 'dmat3x2v' (temp 3X2 matrix of double)
+0:317 move second child to first child (temp 3X2 matrix of double)
+0:317 'dmat3x2v' (temp 3X2 matrix of double)
+0:317 transpose (global 3X2 matrix of double)
+0:317 'dmat2x3v' (temp 2X3 matrix of double)
+0:318 move second child to first child (temp 2X4 matrix of double)
+0:318 'dmat2x4v' (temp 2X4 matrix of double)
+0:318 transpose (global 2X4 matrix of double)
+0:318 'dmat4x2v' (temp 4X2 matrix of double)
+0:319 move second child to first child (temp 4X2 matrix of double)
+0:319 'dmat4x2v' (temp 4X2 matrix of double)
+0:319 transpose (global 4X2 matrix of double)
+0:319 'dmat2x4v' (temp 2X4 matrix of double)
+0:320 move second child to first child (temp 3X4 matrix of double)
+0:320 'dmat3x4v' (temp 3X4 matrix of double)
+0:320 transpose (global 3X4 matrix of double)
+0:320 'dmat4x3v' (temp 4X3 matrix of double)
+0:321 move second child to first child (temp 4X3 matrix of double)
+0:321 'dmat4x3v' (temp 4X3 matrix of double)
+0:321 transpose (global 4X3 matrix of double)
+0:321 'dmat3x4v' (temp 3X4 matrix of double)
+0:323 add second child into first child (temp double)
+0:323 'doublev' (temp double)
+0:323 determinant (global double)
+0:323 'dmat2v' (temp 2X2 matrix of double)
+0:324 add second child into first child (temp double)
+0:324 'doublev' (temp double)
+0:324 determinant (global double)
+0:324 'dmat3v' (temp 3X3 matrix of double)
+0:325 add second child into first child (temp double)
+0:325 'doublev' (temp double)
+0:325 determinant (global double)
+0:325 'dmat4v' (temp 4X4 matrix of double)
+0:327 matrix mult second child into first child (temp 2X2 matrix of double)
+0:327 'dmat2v' (temp 2X2 matrix of double)
+0:327 inverse (global 2X2 matrix of double)
+0:327 'dmat2v' (temp 2X2 matrix of double)
+0:328 matrix mult second child into first child (temp 3X3 matrix of double)
+0:328 'dmat3v' (temp 3X3 matrix of double)
+0:328 inverse (global 3X3 matrix of double)
+0:328 'dmat3v' (temp 3X3 matrix of double)
+0:329 matrix mult second child into first child (temp 4X4 matrix of double)
+0:329 'dmat4v' (temp 4X4 matrix of double)
+0:329 inverse (global 4X4 matrix of double)
+0:329 'dmat4v' (temp 4X4 matrix of double)
+0:? Linker Objects
+0:? 'bn' (in 3-element array of block{in int a})
+0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
+0:? 'color' (in 3-element array of 4-component vector of float)
+0:? 'color2' (in 3-element array of 4-component vector of float)
+0:? 'colorS' (in 3-element array of 4-component vector of float)
+0:? 'colorBad' (in 4-element array of 4-component vector of float)
+0:? 'colorbad2' (in 2-element array of 4-component vector of float)
+0:? 'cva' (layout(location=4 ) in 3-element array of 4-component vector of float)
+0:? 'cvb' (layout(location=5 ) in 3-element array of 4-component vector of float)
+0:? 'cmc' (layout(location=2 ) in 3-element array of 3X3 matrix of float)
+0:? 'patchIn' (patch in 3-element array of 4-component vector of float)
+0:? 'patchOut' (layout(stream=0 ) patch out 4-component vector of float)
+0:? 'scalar' (in float)
+0:? 'inbls' (in block{in int a})
+0:? 'inbla' (in 17-element array of block{in int a})
+0:? 'indexedOut' (layout(location=7 stream=0 ) out 4-component vector of float)
+0:? 'samp1D' (uniform sampler1D)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+
+
+Linked geometry stage:
+
+ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+invocations = 4
+max_vertices = 127
+input primitive = triangles
+output primitive = none
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:5 Sequence
+0:5 EmitStreamVertex (global void)
+0:5 Constant:
+0:5 1 (const int)
+0:6 EndStreamPrimitive (global void)
+0:6 Constant:
+0:6 0 (const int)
+0:7 EmitVertex (global void)
+0:8 EndPrimitive (global void)
+0:9 Sequence
+0:9 move second child to first child (temp int)
+0:9 'id' (temp int)
+0:9 'gl_InvocationID' (in int InvocationID)
+0:23 Function Definition: foo( (global void)
+0:23 Function Parameters:
+0:25 Sequence
+0:25 Constant:
+0:25 1 (const int)
+0:26 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:26 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
+0:26 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
+0:26 Constant:
+0:26 1 (const int)
+0:26 Constant:
+0:26 0 (const int)
+0:34 Function Definition: foo2( (global void)
+0:34 Function Parameters:
+0:36 Sequence
+0:36 Constant:
+0:36 1 (const int)
+0:37 Constant:
+0:37 3 (const int)
+0:46 Function Definition: foo3( (global void)
+0:46 Function Parameters:
+0:48 Sequence
+0:48 Constant:
+0:48 3 (const int)
+0:49 Constant:
+0:49 3 (const int)
+0:50 Constant:
+0:50 3 (const int)
+0:51 Constant:
+0:51 3 (const int)
+0:75 Function Definition: bits( (global void)
+0:75 Function Parameters:
+0:? Sequence
+0:78 move second child to first child (temp 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:78 addCarry (global 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:80 move second child to first child (temp uint)
+0:80 'u1' (temp uint)
+0:80 subBorrow (global uint)
+0:80 'u1' (temp uint)
+0:80 'u1' (temp uint)
+0:80 'u1' (temp uint)
+0:82 uMulExtended (global void)
+0:82 'u4' (temp 4-component vector of uint)
+0:82 'u4' (temp 4-component vector of uint)
+0:82 'u4' (temp 4-component vector of uint)
+0:82 'u4' (temp 4-component vector of uint)
+0:84 iMulExtended (global void)
+0:84 'i4' (temp 4-component vector of int)
+0:84 'i4' (temp 4-component vector of int)
+0:84 'i4' (temp 4-component vector of int)
+0:84 'i4' (temp 4-component vector of int)
+0:86 move second child to first child (temp int)
+0:86 'i1' (temp int)
+0:86 bitfieldExtract (global int)
+0:86 'i1' (temp int)
+0:86 Constant:
+0:86 4 (const int)
+0:86 Constant:
+0:86 5 (const int)
+0:88 move second child to first child (temp 3-component vector of uint)
+0:88 'u3' (temp 3-component vector of uint)
+0:88 bitfieldExtract (global 3-component vector of uint)
+0:88 'u3' (temp 3-component vector of uint)
+0:88 Constant:
+0:88 4 (const int)
+0:88 Constant:
+0:88 5 (const int)
+0:90 move second child to first child (temp 3-component vector of int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 bitfieldInsert (global 3-component vector of int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 Constant:
+0:90 4 (const int)
+0:90 Constant:
+0:90 5 (const int)
+0:91 move second child to first child (temp uint)
+0:91 'u1' (temp uint)
+0:91 bitfieldInsert (global uint)
+0:91 'u1' (temp uint)
+0:91 'u1' (temp uint)
+0:91 Constant:
+0:91 4 (const int)
+0:91 Constant:
+0:91 5 (const int)
+0:93 move second child to first child (temp 2-component vector of int)
+0:93 'i2' (temp 2-component vector of int)
+0:93 bitFieldReverse (global 2-component vector of int)
+0:93 'i2' (temp 2-component vector of int)
+0:94 move second child to first child (temp 4-component vector of uint)
+0:94 'u4' (temp 4-component vector of uint)
+0:94 bitFieldReverse (global 4-component vector of uint)
+0:94 'u4' (temp 4-component vector of uint)
+0:95 move second child to first child (temp int)
+0:95 'i1' (temp int)
+0:95 bitCount (global int)
+0:95 'i1' (temp int)
+0:96 move second child to first child (temp 3-component vector of int)
+0:96 'i3' (temp 3-component vector of int)
+0:96 bitCount (global 3-component vector of int)
+0:96 'u3' (temp 3-component vector of uint)
+0:97 move second child to first child (temp 2-component vector of int)
+0:97 'i2' (temp 2-component vector of int)
+0:97 findLSB (global 2-component vector of int)
+0:97 'i2' (temp 2-component vector of int)
+0:98 move second child to first child (temp 4-component vector of int)
+0:98 'i4' (temp 4-component vector of int)
+0:98 findLSB (global 4-component vector of int)
+0:98 'u4' (temp 4-component vector of uint)
+0:99 move second child to first child (temp int)
+0:99 'i1' (temp int)
+0:99 findMSB (global int)
+0:99 'i1' (temp int)
+0:100 move second child to first child (temp 2-component vector of int)
+0:100 'i2' (temp 2-component vector of int)
+0:100 findMSB (global 2-component vector of int)
+0:100 'u2' (temp 2-component vector of uint)
+0:108 Function Definition: qlod( (global void)
+0:108 Function Parameters:
+0:? Sequence
+0:115 'lod' (temp 2-component vector of float)
+0:116 'lod' (temp 2-component vector of float)
+0:119 Function Definition: doubles( (global void)
+0:119 Function Parameters:
+0:? Sequence
+0:131 move second child to first child (temp double)
+0:131 'doublev' (temp double)
+0:131 Constant:
+0:131 1.702939
+0:132 move second child to first child (temp 2-component vector of double)
+0:132 'dvec2v' (temp 2-component vector of double)
+0:132 Constant:
+0:132 1.643168
+0:132 1.643168
+0:133 move second child to first child (temp 3-component vector of double)
+0:133 'dvec3v' (temp 3-component vector of double)
+0:133 Constant:
+0:133 1.414214
+0:133 1.414214
+0:133 1.414214
+0:134 move second child to first child (temp 4-component vector of double)
+0:134 'dvec4v' (temp 4-component vector of double)
+0:134 Constant:
+0:134 1.449138
+0:134 1.449138
+0:134 1.449138
+0:134 1.449138
+0:136 add second child into first child (temp double)
+0:136 'doublev' (temp double)
+0:136 inverse sqrt (global double)
+0:136 'doublev' (temp double)
+0:137 add second child into first child (temp 2-component vector of double)
+0:137 'dvec2v' (temp 2-component vector of double)
+0:137 inverse sqrt (global 2-component vector of double)
+0:137 'dvec2v' (temp 2-component vector of double)
+0:138 add second child into first child (temp 3-component vector of double)
+0:138 'dvec3v' (temp 3-component vector of double)
+0:138 inverse sqrt (global 3-component vector of double)
+0:138 'dvec3v' (temp 3-component vector of double)
+0:139 add second child into first child (temp 4-component vector of double)
+0:139 'dvec4v' (temp 4-component vector of double)
+0:139 inverse sqrt (global 4-component vector of double)
+0:139 'dvec4v' (temp 4-component vector of double)
+0:141 add second child into first child (temp double)
+0:141 'doublev' (temp double)
+0:141 Absolute value (global double)
+0:141 'doublev' (temp double)
+0:142 add second child into first child (temp 2-component vector of double)
+0:142 'dvec2v' (temp 2-component vector of double)
+0:142 Absolute value (global 2-component vector of double)
+0:142 'dvec2v' (temp 2-component vector of double)
+0:143 add second child into first child (temp 3-component vector of double)
+0:143 'dvec3v' (temp 3-component vector of double)
+0:143 Absolute value (global 3-component vector of double)
+0:143 'dvec3v' (temp 3-component vector of double)
+0:144 add second child into first child (temp 4-component vector of double)
+0:144 'dvec4v' (temp 4-component vector of double)
+0:144 Absolute value (global 4-component vector of double)
+0:144 'dvec4v' (temp 4-component vector of double)
+0:146 add second child into first child (temp double)
+0:146 'doublev' (temp double)
+0:146 Sign (global double)
+0:146 'doublev' (temp double)
+0:147 add second child into first child (temp 2-component vector of double)
+0:147 'dvec2v' (temp 2-component vector of double)
+0:147 Sign (global 2-component vector of double)
+0:147 'dvec2v' (temp 2-component vector of double)
+0:148 add second child into first child (temp 3-component vector of double)
+0:148 'dvec3v' (temp 3-component vector of double)
+0:148 Sign (global 3-component vector of double)
+0:148 'dvec3v' (temp 3-component vector of double)
+0:149 add second child into first child (temp 4-component vector of double)
+0:149 'dvec4v' (temp 4-component vector of double)
+0:149 Sign (global 4-component vector of double)
+0:149 'dvec4v' (temp 4-component vector of double)
+0:151 add second child into first child (temp double)
+0:151 'doublev' (temp double)
+0:151 Floor (global double)
+0:151 'doublev' (temp double)
+0:152 add second child into first child (temp 2-component vector of double)
+0:152 'dvec2v' (temp 2-component vector of double)
+0:152 Floor (global 2-component vector of double)
+0:152 'dvec2v' (temp 2-component vector of double)
+0:153 add second child into first child (temp 3-component vector of double)
+0:153 'dvec3v' (temp 3-component vector of double)
+0:153 Floor (global 3-component vector of double)
+0:153 'dvec3v' (temp 3-component vector of double)
+0:154 add second child into first child (temp 4-component vector of double)
+0:154 'dvec4v' (temp 4-component vector of double)
+0:154 Floor (global 4-component vector of double)
+0:154 'dvec4v' (temp 4-component vector of double)
+0:156 add second child into first child (temp double)
+0:156 'doublev' (temp double)
+0:156 trunc (global double)
+0:156 'doublev' (temp double)
+0:157 add second child into first child (temp 2-component vector of double)
+0:157 'dvec2v' (temp 2-component vector of double)
+0:157 trunc (global 2-component vector of double)
+0:157 'dvec2v' (temp 2-component vector of double)
+0:158 add second child into first child (temp 3-component vector of double)
+0:158 'dvec3v' (temp 3-component vector of double)
+0:158 trunc (global 3-component vector of double)
+0:158 'dvec3v' (temp 3-component vector of double)
+0:159 add second child into first child (temp 4-component vector of double)
+0:159 'dvec4v' (temp 4-component vector of double)
+0:159 trunc (global 4-component vector of double)
+0:159 'dvec4v' (temp 4-component vector of double)
+0:161 add second child into first child (temp double)
+0:161 'doublev' (temp double)
+0:161 round (global double)
+0:161 'doublev' (temp double)
+0:162 add second child into first child (temp 2-component vector of double)
+0:162 'dvec2v' (temp 2-component vector of double)
+0:162 round (global 2-component vector of double)
+0:162 'dvec2v' (temp 2-component vector of double)
+0:163 add second child into first child (temp 3-component vector of double)
+0:163 'dvec3v' (temp 3-component vector of double)
+0:163 round (global 3-component vector of double)
+0:163 'dvec3v' (temp 3-component vector of double)
+0:164 add second child into first child (temp 4-component vector of double)
+0:164 'dvec4v' (temp 4-component vector of double)
+0:164 round (global 4-component vector of double)
+0:164 'dvec4v' (temp 4-component vector of double)
+0:166 add second child into first child (temp double)
+0:166 'doublev' (temp double)
+0:166 roundEven (global double)
+0:166 'doublev' (temp double)
+0:167 add second child into first child (temp 2-component vector of double)
+0:167 'dvec2v' (temp 2-component vector of double)
+0:167 roundEven (global 2-component vector of double)
+0:167 'dvec2v' (temp 2-component vector of double)
+0:168 add second child into first child (temp 3-component vector of double)
+0:168 'dvec3v' (temp 3-component vector of double)
+0:168 roundEven (global 3-component vector of double)
+0:168 'dvec3v' (temp 3-component vector of double)
+0:169 add second child into first child (temp 4-component vector of double)
+0:169 'dvec4v' (temp 4-component vector of double)
+0:169 roundEven (global 4-component vector of double)
+0:169 'dvec4v' (temp 4-component vector of double)
+0:171 add second child into first child (temp double)
+0:171 'doublev' (temp double)
+0:171 Ceiling (global double)
+0:171 'doublev' (temp double)
+0:172 add second child into first child (temp 2-component vector of double)
+0:172 'dvec2v' (temp 2-component vector of double)
+0:172 Ceiling (global 2-component vector of double)
+0:172 'dvec2v' (temp 2-component vector of double)
+0:173 add second child into first child (temp 3-component vector of double)
+0:173 'dvec3v' (temp 3-component vector of double)
+0:173 Ceiling (global 3-component vector of double)
+0:173 'dvec3v' (temp 3-component vector of double)
+0:174 add second child into first child (temp 4-component vector of double)
+0:174 'dvec4v' (temp 4-component vector of double)
+0:174 Ceiling (global 4-component vector of double)
+0:174 'dvec4v' (temp 4-component vector of double)
+0:176 add second child into first child (temp double)
+0:176 'doublev' (temp double)
+0:176 Fraction (global double)
+0:176 'doublev' (temp double)
+0:177 add second child into first child (temp 2-component vector of double)
+0:177 'dvec2v' (temp 2-component vector of double)
+0:177 Fraction (global 2-component vector of double)
+0:177 'dvec2v' (temp 2-component vector of double)
+0:178 add second child into first child (temp 3-component vector of double)
+0:178 'dvec3v' (temp 3-component vector of double)
+0:178 Fraction (global 3-component vector of double)
+0:178 'dvec3v' (temp 3-component vector of double)
+0:179 add second child into first child (temp 4-component vector of double)
+0:179 'dvec4v' (temp 4-component vector of double)
+0:179 Fraction (global 4-component vector of double)
+0:179 'dvec4v' (temp 4-component vector of double)
+0:181 add second child into first child (temp double)
+0:181 'doublev' (temp double)
+0:181 mod (global double)
+0:181 'doublev' (temp double)
+0:181 'doublev' (temp double)
+0:182 add second child into first child (temp 2-component vector of double)
+0:182 'dvec2v' (temp 2-component vector of double)
+0:182 mod (global 2-component vector of double)
+0:182 'dvec2v' (temp 2-component vector of double)
+0:182 'doublev' (temp double)
+0:183 add second child into first child (temp 3-component vector of double)
+0:183 'dvec3v' (temp 3-component vector of double)
+0:183 mod (global 3-component vector of double)
+0:183 'dvec3v' (temp 3-component vector of double)
+0:183 'doublev' (temp double)
+0:184 add second child into first child (temp 4-component vector of double)
+0:184 'dvec4v' (temp 4-component vector of double)
+0:184 mod (global 4-component vector of double)
+0:184 'dvec4v' (temp 4-component vector of double)
+0:184 'doublev' (temp double)
+0:185 add second child into first child (temp 2-component vector of double)
+0:185 'dvec2v' (temp 2-component vector of double)
+0:185 mod (global 2-component vector of double)
+0:185 'dvec2v' (temp 2-component vector of double)
+0:185 'dvec2v' (temp 2-component vector of double)
+0:186 add second child into first child (temp 3-component vector of double)
+0:186 'dvec3v' (temp 3-component vector of double)
+0:186 mod (global 3-component vector of double)
+0:186 'dvec3v' (temp 3-component vector of double)
+0:186 'dvec3v' (temp 3-component vector of double)
+0:187 add second child into first child (temp 4-component vector of double)
+0:187 'dvec4v' (temp 4-component vector of double)
+0:187 mod (global 4-component vector of double)
+0:187 'dvec4v' (temp 4-component vector of double)
+0:187 'dvec4v' (temp 4-component vector of double)
+0:189 add second child into first child (temp double)
+0:189 'doublev' (temp double)
+0:189 modf (global double)
+0:189 'doublev' (temp double)
+0:189 'doublev' (temp double)
+0:190 add second child into first child (temp 2-component vector of double)
+0:190 'dvec2v' (temp 2-component vector of double)
+0:190 modf (global 2-component vector of double)
+0:190 'dvec2v' (temp 2-component vector of double)
+0:190 'dvec2v' (temp 2-component vector of double)
+0:191 add second child into first child (temp 3-component vector of double)
+0:191 'dvec3v' (temp 3-component vector of double)
+0:191 modf (global 3-component vector of double)
+0:191 'dvec3v' (temp 3-component vector of double)
+0:191 'dvec3v' (temp 3-component vector of double)
+0:192 add second child into first child (temp 4-component vector of double)
+0:192 'dvec4v' (temp 4-component vector of double)
+0:192 modf (global 4-component vector of double)
+0:192 'dvec4v' (temp 4-component vector of double)
+0:192 'dvec4v' (temp 4-component vector of double)
+0:194 add second child into first child (temp double)
+0:194 'doublev' (temp double)
+0:194 min (global double)
+0:194 'doublev' (temp double)
+0:194 'doublev' (temp double)
+0:195 add second child into first child (temp 2-component vector of double)
+0:195 'dvec2v' (temp 2-component vector of double)
+0:195 min (global 2-component vector of double)
+0:195 'dvec2v' (temp 2-component vector of double)
+0:195 'doublev' (temp double)
+0:196 add second child into first child (temp 3-component vector of double)
+0:196 'dvec3v' (temp 3-component vector of double)
+0:196 min (global 3-component vector of double)
+0:196 'dvec3v' (temp 3-component vector of double)
+0:196 'doublev' (temp double)
+0:197 add second child into first child (temp 4-component vector of double)
+0:197 'dvec4v' (temp 4-component vector of double)
+0:197 min (global 4-component vector of double)
+0:197 'dvec4v' (temp 4-component vector of double)
+0:197 'doublev' (temp double)
+0:198 add second child into first child (temp 2-component vector of double)
+0:198 'dvec2v' (temp 2-component vector of double)
+0:198 min (global 2-component vector of double)
+0:198 'dvec2v' (temp 2-component vector of double)
+0:198 'dvec2v' (temp 2-component vector of double)
+0:199 add second child into first child (temp 3-component vector of double)
+0:199 'dvec3v' (temp 3-component vector of double)
+0:199 min (global 3-component vector of double)
+0:199 'dvec3v' (temp 3-component vector of double)
+0:199 'dvec3v' (temp 3-component vector of double)
+0:200 add second child into first child (temp 4-component vector of double)
+0:200 'dvec4v' (temp 4-component vector of double)
+0:200 min (global 4-component vector of double)
+0:200 'dvec4v' (temp 4-component vector of double)
+0:200 'dvec4v' (temp 4-component vector of double)
+0:202 add second child into first child (temp double)
+0:202 'doublev' (temp double)
+0:202 max (global double)
+0:202 'doublev' (temp double)
+0:202 'doublev' (temp double)
+0:203 add second child into first child (temp 2-component vector of double)
+0:203 'dvec2v' (temp 2-component vector of double)
+0:203 max (global 2-component vector of double)
+0:203 'dvec2v' (temp 2-component vector of double)
+0:203 'doublev' (temp double)
+0:204 add second child into first child (temp 3-component vector of double)
+0:204 'dvec3v' (temp 3-component vector of double)
+0:204 max (global 3-component vector of double)
+0:204 'dvec3v' (temp 3-component vector of double)
+0:204 'doublev' (temp double)
+0:205 add second child into first child (temp 4-component vector of double)
+0:205 'dvec4v' (temp 4-component vector of double)
+0:205 max (global 4-component vector of double)
+0:205 'dvec4v' (temp 4-component vector of double)
+0:205 'doublev' (temp double)
+0:206 add second child into first child (temp 2-component vector of double)
+0:206 'dvec2v' (temp 2-component vector of double)
+0:206 max (global 2-component vector of double)
+0:206 'dvec2v' (temp 2-component vector of double)
+0:206 'dvec2v' (temp 2-component vector of double)
+0:207 add second child into first child (temp 3-component vector of double)
+0:207 'dvec3v' (temp 3-component vector of double)
+0:207 max (global 3-component vector of double)
+0:207 'dvec3v' (temp 3-component vector of double)
+0:207 'dvec3v' (temp 3-component vector of double)
+0:208 add second child into first child (temp 4-component vector of double)
+0:208 'dvec4v' (temp 4-component vector of double)
+0:208 max (global 4-component vector of double)
+0:208 'dvec4v' (temp 4-component vector of double)
+0:208 'dvec4v' (temp 4-component vector of double)
+0:210 add second child into first child (temp double)
+0:210 'doublev' (temp double)
+0:210 clamp (global double)
+0:210 'doublev' (temp double)
+0:210 'doublev' (temp double)
+0:210 'doublev' (temp double)
+0:211 add second child into first child (temp 2-component vector of double)
+0:211 'dvec2v' (temp 2-component vector of double)
+0:211 clamp (global 2-component vector of double)
+0:211 'dvec2v' (temp 2-component vector of double)
+0:211 'doublev' (temp double)
+0:211 'doublev' (temp double)
+0:212 add second child into first child (temp 3-component vector of double)
+0:212 'dvec3v' (temp 3-component vector of double)
+0:212 clamp (global 3-component vector of double)
+0:212 'dvec3v' (temp 3-component vector of double)
+0:212 'doublev' (temp double)
+0:212 'doublev' (temp double)
+0:213 add second child into first child (temp 4-component vector of double)
+0:213 'dvec4v' (temp 4-component vector of double)
+0:213 clamp (global 4-component vector of double)
+0:213 'dvec4v' (temp 4-component vector of double)
+0:213 'doublev' (temp double)
+0:213 'doublev' (temp double)
+0:214 add second child into first child (temp 2-component vector of double)
+0:214 'dvec2v' (temp 2-component vector of double)
+0:214 clamp (global 2-component vector of double)
+0:214 'dvec2v' (temp 2-component vector of double)
+0:214 'dvec2v' (temp 2-component vector of double)
+0:214 'dvec2v' (temp 2-component vector of double)
+0:215 add second child into first child (temp 3-component vector of double)
+0:215 'dvec3v' (temp 3-component vector of double)
+0:215 clamp (global 3-component vector of double)
+0:215 'dvec3v' (temp 3-component vector of double)
+0:215 'dvec3v' (temp 3-component vector of double)
+0:215 'dvec3v' (temp 3-component vector of double)
+0:216 add second child into first child (temp 4-component vector of double)
+0:216 'dvec4v' (temp 4-component vector of double)
+0:216 clamp (global 4-component vector of double)
+0:216 'dvec4v' (temp 4-component vector of double)
+0:216 'dvec4v' (temp 4-component vector of double)
+0:216 'dvec4v' (temp 4-component vector of double)
+0:218 add second child into first child (temp double)
+0:218 'doublev' (temp double)
+0:218 mix (global double)
+0:218 'doublev' (temp double)
+0:218 'doublev' (temp double)
+0:218 'doublev' (temp double)
+0:219 add second child into first child (temp 2-component vector of double)
+0:219 'dvec2v' (temp 2-component vector of double)
+0:219 mix (global 2-component vector of double)
+0:219 'dvec2v' (temp 2-component vector of double)
+0:219 'dvec2v' (temp 2-component vector of double)
+0:219 'doublev' (temp double)
+0:220 add second child into first child (temp 3-component vector of double)
+0:220 'dvec3v' (temp 3-component vector of double)
+0:220 mix (global 3-component vector of double)
+0:220 'dvec3v' (temp 3-component vector of double)
+0:220 'dvec3v' (temp 3-component vector of double)
+0:220 'doublev' (temp double)
+0:221 add second child into first child (temp 4-component vector of double)
+0:221 'dvec4v' (temp 4-component vector of double)
+0:221 mix (global 4-component vector of double)
+0:221 'dvec4v' (temp 4-component vector of double)
+0:221 'dvec4v' (temp 4-component vector of double)
+0:221 'doublev' (temp double)
+0:222 add second child into first child (temp 2-component vector of double)
+0:222 'dvec2v' (temp 2-component vector of double)
+0:222 mix (global 2-component vector of double)
+0:222 'dvec2v' (temp 2-component vector of double)
+0:222 'dvec2v' (temp 2-component vector of double)
+0:222 'dvec2v' (temp 2-component vector of double)
+0:223 add second child into first child (temp 3-component vector of double)
+0:223 'dvec3v' (temp 3-component vector of double)
+0:223 mix (global 3-component vector of double)
+0:223 'dvec3v' (temp 3-component vector of double)
+0:223 'dvec3v' (temp 3-component vector of double)
+0:223 'dvec3v' (temp 3-component vector of double)
+0:224 add second child into first child (temp 4-component vector of double)
+0:224 'dvec4v' (temp 4-component vector of double)
+0:224 mix (global 4-component vector of double)
+0:224 'dvec4v' (temp 4-component vector of double)
+0:224 'dvec4v' (temp 4-component vector of double)
+0:224 'dvec4v' (temp 4-component vector of double)
+0:225 add second child into first child (temp double)
+0:225 'doublev' (temp double)
+0:225 mix (global double)
+0:225 'doublev' (temp double)
+0:225 'doublev' (temp double)
+0:225 'boolv' (temp bool)
+0:226 add second child into first child (temp 2-component vector of double)
+0:226 'dvec2v' (temp 2-component vector of double)
+0:226 mix (global 2-component vector of double)
+0:226 'dvec2v' (temp 2-component vector of double)
+0:226 'dvec2v' (temp 2-component vector of double)
+0:226 'bvec2v' (temp 2-component vector of bool)
+0:227 add second child into first child (temp 3-component vector of double)
+0:227 'dvec3v' (temp 3-component vector of double)
+0:227 mix (global 3-component vector of double)
+0:227 'dvec3v' (temp 3-component vector of double)
+0:227 'dvec3v' (temp 3-component vector of double)
+0:227 'bvec3v' (temp 3-component vector of bool)
+0:228 add second child into first child (temp 4-component vector of double)
+0:228 'dvec4v' (temp 4-component vector of double)
+0:228 mix (global 4-component vector of double)
+0:228 'dvec4v' (temp 4-component vector of double)
+0:228 'dvec4v' (temp 4-component vector of double)
+0:228 'bvec4v' (temp 4-component vector of bool)
+0:230 add second child into first child (temp double)
+0:230 'doublev' (temp double)
+0:230 step (global double)
+0:230 'doublev' (temp double)
+0:230 'doublev' (temp double)
+0:231 add second child into first child (temp 2-component vector of double)
+0:231 'dvec2v' (temp 2-component vector of double)
+0:231 step (global 2-component vector of double)
+0:231 'dvec2v' (temp 2-component vector of double)
+0:231 'dvec2v' (temp 2-component vector of double)
+0:232 add second child into first child (temp 3-component vector of double)
+0:232 'dvec3v' (temp 3-component vector of double)
+0:232 step (global 3-component vector of double)
+0:232 'dvec3v' (temp 3-component vector of double)
+0:232 'dvec3v' (temp 3-component vector of double)
+0:233 add second child into first child (temp 4-component vector of double)
+0:233 'dvec4v' (temp 4-component vector of double)
+0:233 step (global 4-component vector of double)
+0:233 'dvec4v' (temp 4-component vector of double)
+0:233 'dvec4v' (temp 4-component vector of double)
+0:234 add second child into first child (temp 2-component vector of double)
+0:234 'dvec2v' (temp 2-component vector of double)
+0:234 step (global 2-component vector of double)
+0:234 'doublev' (temp double)
+0:234 'dvec2v' (temp 2-component vector of double)
+0:235 add second child into first child (temp 3-component vector of double)
+0:235 'dvec3v' (temp 3-component vector of double)
+0:235 step (global 3-component vector of double)
+0:235 'doublev' (temp double)
+0:235 'dvec3v' (temp 3-component vector of double)
+0:236 add second child into first child (temp 4-component vector of double)
+0:236 'dvec4v' (temp 4-component vector of double)
+0:236 step (global 4-component vector of double)
+0:236 'doublev' (temp double)
+0:236 'dvec4v' (temp 4-component vector of double)
+0:238 add second child into first child (temp double)
+0:238 'doublev' (temp double)
+0:238 smoothstep (global double)
+0:238 'doublev' (temp double)
+0:238 'doublev' (temp double)
+0:238 'doublev' (temp double)
+0:239 add second child into first child (temp 2-component vector of double)
+0:239 'dvec2v' (temp 2-component vector of double)
+0:239 smoothstep (global 2-component vector of double)
+0:239 'dvec2v' (temp 2-component vector of double)
+0:239 'dvec2v' (temp 2-component vector of double)
+0:239 'dvec2v' (temp 2-component vector of double)
+0:240 add second child into first child (temp 3-component vector of double)
+0:240 'dvec3v' (temp 3-component vector of double)
+0:240 smoothstep (global 3-component vector of double)
+0:240 'dvec3v' (temp 3-component vector of double)
+0:240 'dvec3v' (temp 3-component vector of double)
+0:240 'dvec3v' (temp 3-component vector of double)
+0:241 add second child into first child (temp 4-component vector of double)
+0:241 'dvec4v' (temp 4-component vector of double)
+0:241 smoothstep (global 4-component vector of double)
+0:241 'dvec4v' (temp 4-component vector of double)
+0:241 'dvec4v' (temp 4-component vector of double)
+0:241 'dvec4v' (temp 4-component vector of double)
+0:242 add second child into first child (temp 2-component vector of double)
+0:242 'dvec2v' (temp 2-component vector of double)
+0:242 smoothstep (global 2-component vector of double)
+0:242 'doublev' (temp double)
+0:242 'doublev' (temp double)
+0:242 'dvec2v' (temp 2-component vector of double)
+0:243 add second child into first child (temp 3-component vector of double)
+0:243 'dvec3v' (temp 3-component vector of double)
+0:243 smoothstep (global 3-component vector of double)
+0:243 'doublev' (temp double)
+0:243 'doublev' (temp double)
+0:243 'dvec3v' (temp 3-component vector of double)
+0:244 add second child into first child (temp 4-component vector of double)
+0:244 'dvec4v' (temp 4-component vector of double)
+0:244 smoothstep (global 4-component vector of double)
+0:244 'doublev' (temp double)
+0:244 'doublev' (temp double)
+0:244 'dvec4v' (temp 4-component vector of double)
+0:246 move second child to first child (temp bool)
+0:246 'boolv' (temp bool)
+0:246 isnan (global bool)
+0:246 'doublev' (temp double)
+0:247 move second child to first child (temp 2-component vector of bool)
+0:247 'bvec2v' (temp 2-component vector of bool)
+0:247 isnan (global 2-component vector of bool)
+0:247 'dvec2v' (temp 2-component vector of double)
+0:248 move second child to first child (temp 3-component vector of bool)
+0:248 'bvec3v' (temp 3-component vector of bool)
+0:248 isnan (global 3-component vector of bool)
+0:248 'dvec3v' (temp 3-component vector of double)
+0:249 move second child to first child (temp 4-component vector of bool)
+0:249 'bvec4v' (temp 4-component vector of bool)
+0:249 isnan (global 4-component vector of bool)
+0:249 'dvec4v' (temp 4-component vector of double)
+0:251 move second child to first child (temp bool)
+0:251 'boolv' (temp bool)
+0:251 Test condition and select (temp bool)
+0:251 Condition
+0:251 'boolv' (temp bool)
+0:251 true case
+0:251 isinf (global bool)
+0:251 'doublev' (temp double)
+0:251 false case
+0:251 Constant:
+0:251 false (const bool)
+0:252 move second child to first child (temp 2-component vector of bool)
+0:252 'bvec2v' (temp 2-component vector of bool)
+0:252 Test condition and select (temp 2-component vector of bool)
+0:252 Condition
+0:252 'boolv' (temp bool)
+0:252 true case
+0:252 isinf (global 2-component vector of bool)
+0:252 'dvec2v' (temp 2-component vector of double)
+0:252 false case
+0:252 Constant:
+0:252 false (const bool)
+0:252 false (const bool)
+0:253 move second child to first child (temp 3-component vector of bool)
+0:253 'bvec3v' (temp 3-component vector of bool)
+0:253 Test condition and select (temp 3-component vector of bool)
+0:253 Condition
+0:253 'boolv' (temp bool)
+0:253 true case
+0:253 isinf (global 3-component vector of bool)
+0:253 'dvec3v' (temp 3-component vector of double)
+0:253 false case
+0:253 Constant:
+0:253 false (const bool)
+0:253 false (const bool)
+0:253 false (const bool)
+0:254 move second child to first child (temp 4-component vector of bool)
+0:254 'bvec4v' (temp 4-component vector of bool)
+0:254 Test condition and select (temp 4-component vector of bool)
+0:254 Condition
+0:254 'boolv' (temp bool)
+0:254 true case
+0:254 isinf (global 4-component vector of bool)
+0:254 'dvec4v' (temp 4-component vector of double)
+0:254 false case
+0:254 Constant:
+0:254 false (const bool)
+0:254 false (const bool)
+0:254 false (const bool)
+0:254 false (const bool)
+0:256 add second child into first child (temp double)
+0:256 'doublev' (temp double)
+0:256 length (global double)
+0:256 'doublev' (temp double)
+0:257 add second child into first child (temp double)
+0:257 'doublev' (temp double)
+0:257 length (global double)
+0:257 'dvec2v' (temp 2-component vector of double)
+0:258 add second child into first child (temp double)
+0:258 'doublev' (temp double)
+0:258 length (global double)
+0:258 'dvec3v' (temp 3-component vector of double)
+0:259 add second child into first child (temp double)
+0:259 'doublev' (temp double)
+0:259 length (global double)
+0:259 'dvec4v' (temp 4-component vector of double)
+0:261 add second child into first child (temp double)
+0:261 'doublev' (temp double)
+0:261 distance (global double)
+0:261 'doublev' (temp double)
+0:261 'doublev' (temp double)
+0:262 add second child into first child (temp double)
+0:262 'doublev' (temp double)
+0:262 distance (global double)
+0:262 'dvec2v' (temp 2-component vector of double)
+0:262 'dvec2v' (temp 2-component vector of double)
+0:263 add second child into first child (temp double)
+0:263 'doublev' (temp double)
+0:263 distance (global double)
+0:263 'dvec3v' (temp 3-component vector of double)
+0:263 'dvec3v' (temp 3-component vector of double)
+0:264 add second child into first child (temp double)
+0:264 'doublev' (temp double)
+0:264 distance (global double)
+0:264 'dvec4v' (temp 4-component vector of double)
+0:264 'dvec4v' (temp 4-component vector of double)
+0:266 add second child into first child (temp double)
+0:266 'doublev' (temp double)
+0:266 dot-product (global double)
+0:266 'doublev' (temp double)
+0:266 'doublev' (temp double)
+0:267 add second child into first child (temp double)
+0:267 'doublev' (temp double)
+0:267 dot-product (global double)
+0:267 'dvec2v' (temp 2-component vector of double)
+0:267 'dvec2v' (temp 2-component vector of double)
+0:268 add second child into first child (temp double)
+0:268 'doublev' (temp double)
+0:268 dot-product (global double)
+0:268 'dvec3v' (temp 3-component vector of double)
+0:268 'dvec3v' (temp 3-component vector of double)
+0:269 add second child into first child (temp double)
+0:269 'doublev' (temp double)
+0:269 dot-product (global double)
+0:269 'dvec4v' (temp 4-component vector of double)
+0:269 'dvec4v' (temp 4-component vector of double)
+0:271 add second child into first child (temp 3-component vector of double)
+0:271 'dvec3v' (temp 3-component vector of double)
+0:271 cross-product (global 3-component vector of double)
+0:271 'dvec3v' (temp 3-component vector of double)
+0:271 'dvec3v' (temp 3-component vector of double)
+0:273 add second child into first child (temp double)
+0:273 'doublev' (temp double)
+0:273 normalize (global double)
+0:273 'doublev' (temp double)
+0:274 add second child into first child (temp 2-component vector of double)
+0:274 'dvec2v' (temp 2-component vector of double)
+0:274 normalize (global 2-component vector of double)
+0:274 'dvec2v' (temp 2-component vector of double)
+0:275 add second child into first child (temp 3-component vector of double)
+0:275 'dvec3v' (temp 3-component vector of double)
+0:275 normalize (global 3-component vector of double)
+0:275 'dvec3v' (temp 3-component vector of double)
+0:276 add second child into first child (temp 4-component vector of double)
+0:276 'dvec4v' (temp 4-component vector of double)
+0:276 normalize (global 4-component vector of double)
+0:276 'dvec4v' (temp 4-component vector of double)
+0:278 add second child into first child (temp double)
+0:278 'doublev' (temp double)
+0:278 face-forward (global double)
+0:278 'doublev' (temp double)
+0:278 'doublev' (temp double)
+0:278 'doublev' (temp double)
+0:279 add second child into first child (temp 2-component vector of double)
+0:279 'dvec2v' (temp 2-component vector of double)
+0:279 face-forward (global 2-component vector of double)
+0:279 'dvec2v' (temp 2-component vector of double)
+0:279 'dvec2v' (temp 2-component vector of double)
+0:279 'dvec2v' (temp 2-component vector of double)
+0:280 add second child into first child (temp 3-component vector of double)
+0:280 'dvec3v' (temp 3-component vector of double)
+0:280 face-forward (global 3-component vector of double)
+0:280 'dvec3v' (temp 3-component vector of double)
+0:280 'dvec3v' (temp 3-component vector of double)
+0:280 'dvec3v' (temp 3-component vector of double)
+0:281 add second child into first child (temp 4-component vector of double)
+0:281 'dvec4v' (temp 4-component vector of double)
+0:281 face-forward (global 4-component vector of double)
+0:281 'dvec4v' (temp 4-component vector of double)
+0:281 'dvec4v' (temp 4-component vector of double)
+0:281 'dvec4v' (temp 4-component vector of double)
+0:283 add second child into first child (temp double)
+0:283 'doublev' (temp double)
+0:283 reflect (global double)
+0:283 'doublev' (temp double)
+0:283 'doublev' (temp double)
+0:284 add second child into first child (temp 2-component vector of double)
+0:284 'dvec2v' (temp 2-component vector of double)
+0:284 reflect (global 2-component vector of double)
+0:284 'dvec2v' (temp 2-component vector of double)
+0:284 'dvec2v' (temp 2-component vector of double)
+0:285 add second child into first child (temp 3-component vector of double)
+0:285 'dvec3v' (temp 3-component vector of double)
+0:285 reflect (global 3-component vector of double)
+0:285 'dvec3v' (temp 3-component vector of double)
+0:285 'dvec3v' (temp 3-component vector of double)
+0:286 add second child into first child (temp 4-component vector of double)
+0:286 'dvec4v' (temp 4-component vector of double)
+0:286 reflect (global 4-component vector of double)
+0:286 'dvec4v' (temp 4-component vector of double)
+0:286 'dvec4v' (temp 4-component vector of double)
+0:288 add second child into first child (temp double)
+0:288 'doublev' (temp double)
+0:288 refract (global double)
+0:288 'doublev' (temp double)
+0:288 'doublev' (temp double)
+0:288 'doublev' (temp double)
+0:289 add second child into first child (temp 2-component vector of double)
+0:289 'dvec2v' (temp 2-component vector of double)
+0:289 refract (global 2-component vector of double)
+0:289 'dvec2v' (temp 2-component vector of double)
+0:289 'dvec2v' (temp 2-component vector of double)
+0:289 'doublev' (temp double)
+0:290 add second child into first child (temp 3-component vector of double)
+0:290 'dvec3v' (temp 3-component vector of double)
+0:290 refract (global 3-component vector of double)
+0:290 'dvec3v' (temp 3-component vector of double)
+0:290 'dvec3v' (temp 3-component vector of double)
+0:290 'doublev' (temp double)
+0:291 add second child into first child (temp 4-component vector of double)
+0:291 'dvec4v' (temp 4-component vector of double)
+0:291 refract (global 4-component vector of double)
+0:291 'dvec4v' (temp 4-component vector of double)
+0:291 'dvec4v' (temp 4-component vector of double)
+0:291 'doublev' (temp double)
+0:293 Sequence
+0:293 move second child to first child (temp 2X2 matrix of double)
+0:293 'dmat2v' (temp 2X2 matrix of double)
+0:293 outer product (global 2X2 matrix of double)
+0:293 'dvec2v' (temp 2-component vector of double)
+0:293 'dvec2v' (temp 2-component vector of double)
+0:294 Sequence
+0:294 move second child to first child (temp 3X3 matrix of double)
+0:294 'dmat3v' (temp 3X3 matrix of double)
+0:294 outer product (global 3X3 matrix of double)
+0:294 'dvec3v' (temp 3-component vector of double)
+0:294 'dvec3v' (temp 3-component vector of double)
+0:295 Sequence
+0:295 move second child to first child (temp 4X4 matrix of double)
+0:295 'dmat4v' (temp 4X4 matrix of double)
+0:295 outer product (global 4X4 matrix of double)
+0:295 'dvec4v' (temp 4-component vector of double)
+0:295 'dvec4v' (temp 4-component vector of double)
+0:296 Sequence
+0:296 move second child to first child (temp 2X3 matrix of double)
+0:296 'dmat2x3v' (temp 2X3 matrix of double)
+0:296 outer product (global 2X3 matrix of double)
+0:296 'dvec3v' (temp 3-component vector of double)
+0:296 'dvec2v' (temp 2-component vector of double)
+0:297 Sequence
+0:297 move second child to first child (temp 3X2 matrix of double)
+0:297 'dmat3x2v' (temp 3X2 matrix of double)
+0:297 outer product (global 3X2 matrix of double)
+0:297 'dvec2v' (temp 2-component vector of double)
+0:297 'dvec3v' (temp 3-component vector of double)
+0:298 Sequence
+0:298 move second child to first child (temp 2X4 matrix of double)
+0:298 'dmat2x4v' (temp 2X4 matrix of double)
+0:298 outer product (global 2X4 matrix of double)
+0:298 'dvec4v' (temp 4-component vector of double)
+0:298 'dvec2v' (temp 2-component vector of double)
+0:299 Sequence
+0:299 move second child to first child (temp 4X2 matrix of double)
+0:299 'dmat4x2v' (temp 4X2 matrix of double)
+0:299 outer product (global 4X2 matrix of double)
+0:299 'dvec2v' (temp 2-component vector of double)
+0:299 'dvec4v' (temp 4-component vector of double)
+0:300 Sequence
+0:300 move second child to first child (temp 3X4 matrix of double)
+0:300 'dmat3x4v' (temp 3X4 matrix of double)
+0:300 outer product (global 3X4 matrix of double)
+0:300 'dvec4v' (temp 4-component vector of double)
+0:300 'dvec3v' (temp 3-component vector of double)
+0:301 Sequence
+0:301 move second child to first child (temp 4X3 matrix of double)
+0:301 'dmat4x3v' (temp 4X3 matrix of double)
+0:301 outer product (global 4X3 matrix of double)
+0:301 'dvec3v' (temp 3-component vector of double)
+0:301 'dvec4v' (temp 4-component vector of double)
+0:303 matrix mult second child into first child (temp 2X2 matrix of double)
+0:303 'dmat2v' (temp 2X2 matrix of double)
+0:303 component-wise multiply (global 2X2 matrix of double)
+0:303 'dmat2v' (temp 2X2 matrix of double)
+0:303 'dmat2v' (temp 2X2 matrix of double)
+0:304 matrix mult second child into first child (temp 3X3 matrix of double)
+0:304 'dmat3v' (temp 3X3 matrix of double)
+0:304 component-wise multiply (global 3X3 matrix of double)
+0:304 'dmat3v' (temp 3X3 matrix of double)
+0:304 'dmat3v' (temp 3X3 matrix of double)
+0:305 matrix mult second child into first child (temp 4X4 matrix of double)
+0:305 'dmat4v' (temp 4X4 matrix of double)
+0:305 component-wise multiply (global 4X4 matrix of double)
+0:305 'dmat4v' (temp 4X4 matrix of double)
+0:305 'dmat4v' (temp 4X4 matrix of double)
+0:306 move second child to first child (temp 2X3 matrix of double)
+0:306 'dmat2x3v' (temp 2X3 matrix of double)
+0:306 component-wise multiply (global 2X3 matrix of double)
+0:306 'dmat2x3v' (temp 2X3 matrix of double)
+0:306 'dmat2x3v' (temp 2X3 matrix of double)
+0:307 move second child to first child (temp 2X4 matrix of double)
+0:307 'dmat2x4v' (temp 2X4 matrix of double)
+0:307 component-wise multiply (global 2X4 matrix of double)
+0:307 'dmat2x4v' (temp 2X4 matrix of double)
+0:307 'dmat2x4v' (temp 2X4 matrix of double)
+0:308 move second child to first child (temp 3X2 matrix of double)
+0:308 'dmat3x2v' (temp 3X2 matrix of double)
+0:308 component-wise multiply (global 3X2 matrix of double)
+0:308 'dmat3x2v' (temp 3X2 matrix of double)
+0:308 'dmat3x2v' (temp 3X2 matrix of double)
+0:309 move second child to first child (temp 3X4 matrix of double)
+0:309 'dmat3x4v' (temp 3X4 matrix of double)
+0:309 component-wise multiply (global 3X4 matrix of double)
+0:309 'dmat3x4v' (temp 3X4 matrix of double)
+0:309 'dmat3x4v' (temp 3X4 matrix of double)
+0:310 move second child to first child (temp 4X2 matrix of double)
+0:310 'dmat4x2v' (temp 4X2 matrix of double)
+0:310 component-wise multiply (global 4X2 matrix of double)
+0:310 'dmat4x2v' (temp 4X2 matrix of double)
+0:310 'dmat4x2v' (temp 4X2 matrix of double)
+0:311 move second child to first child (temp 4X3 matrix of double)
+0:311 'dmat4x3v' (temp 4X3 matrix of double)
+0:311 component-wise multiply (global 4X3 matrix of double)
+0:311 'dmat4x3v' (temp 4X3 matrix of double)
+0:311 'dmat4x3v' (temp 4X3 matrix of double)
+0:313 matrix mult second child into first child (temp 2X2 matrix of double)
+0:313 'dmat2v' (temp 2X2 matrix of double)
+0:313 transpose (global 2X2 matrix of double)
+0:313 'dmat2v' (temp 2X2 matrix of double)
+0:314 matrix mult second child into first child (temp 3X3 matrix of double)
+0:314 'dmat3v' (temp 3X3 matrix of double)
+0:314 transpose (global 3X3 matrix of double)
+0:314 'dmat3v' (temp 3X3 matrix of double)
+0:315 matrix mult second child into first child (temp 4X4 matrix of double)
+0:315 'dmat4v' (temp 4X4 matrix of double)
+0:315 transpose (global 4X4 matrix of double)
+0:315 'dmat4v' (temp 4X4 matrix of double)
+0:316 move second child to first child (temp 2X3 matrix of double)
+0:316 'dmat2x3v' (temp 2X3 matrix of double)
+0:316 transpose (global 2X3 matrix of double)
+0:316 'dmat3x2v' (temp 3X2 matrix of double)
+0:317 move second child to first child (temp 3X2 matrix of double)
+0:317 'dmat3x2v' (temp 3X2 matrix of double)
+0:317 transpose (global 3X2 matrix of double)
+0:317 'dmat2x3v' (temp 2X3 matrix of double)
+0:318 move second child to first child (temp 2X4 matrix of double)
+0:318 'dmat2x4v' (temp 2X4 matrix of double)
+0:318 transpose (global 2X4 matrix of double)
+0:318 'dmat4x2v' (temp 4X2 matrix of double)
+0:319 move second child to first child (temp 4X2 matrix of double)
+0:319 'dmat4x2v' (temp 4X2 matrix of double)
+0:319 transpose (global 4X2 matrix of double)
+0:319 'dmat2x4v' (temp 2X4 matrix of double)
+0:320 move second child to first child (temp 3X4 matrix of double)
+0:320 'dmat3x4v' (temp 3X4 matrix of double)
+0:320 transpose (global 3X4 matrix of double)
+0:320 'dmat4x3v' (temp 4X3 matrix of double)
+0:321 move second child to first child (temp 4X3 matrix of double)
+0:321 'dmat4x3v' (temp 4X3 matrix of double)
+0:321 transpose (global 4X3 matrix of double)
+0:321 'dmat3x4v' (temp 3X4 matrix of double)
+0:323 add second child into first child (temp double)
+0:323 'doublev' (temp double)
+0:323 determinant (global double)
+0:323 'dmat2v' (temp 2X2 matrix of double)
+0:324 add second child into first child (temp double)
+0:324 'doublev' (temp double)
+0:324 determinant (global double)
+0:324 'dmat3v' (temp 3X3 matrix of double)
+0:325 add second child into first child (temp double)
+0:325 'doublev' (temp double)
+0:325 determinant (global double)
+0:325 'dmat4v' (temp 4X4 matrix of double)
+0:327 matrix mult second child into first child (temp 2X2 matrix of double)
+0:327 'dmat2v' (temp 2X2 matrix of double)
+0:327 inverse (global 2X2 matrix of double)
+0:327 'dmat2v' (temp 2X2 matrix of double)
+0:328 matrix mult second child into first child (temp 3X3 matrix of double)
+0:328 'dmat3v' (temp 3X3 matrix of double)
+0:328 inverse (global 3X3 matrix of double)
+0:328 'dmat3v' (temp 3X3 matrix of double)
+0:329 matrix mult second child into first child (temp 4X4 matrix of double)
+0:329 'dmat4v' (temp 4X4 matrix of double)
+0:329 inverse (global 4X4 matrix of double)
+0:329 'dmat4v' (temp 4X4 matrix of double)
+0:? Linker Objects
+0:? 'bn' (in 3-element array of block{in int a})
+0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
+0:? 'color' (in 3-element array of 4-component vector of float)
+0:? 'color2' (in 3-element array of 4-component vector of float)
+0:? 'colorS' (in 3-element array of 4-component vector of float)
+0:? 'colorBad' (in 4-element array of 4-component vector of float)
+0:? 'colorbad2' (in 2-element array of 4-component vector of float)
+0:? 'cva' (layout(location=4 ) in 3-element array of 4-component vector of float)
+0:? 'cvb' (layout(location=5 ) in 3-element array of 4-component vector of float)
+0:? 'cmc' (layout(location=2 ) in 3-element array of 3X3 matrix of float)
+0:? 'patchIn' (patch in 3-element array of 4-component vector of float)
+0:? 'patchOut' (layout(stream=0 ) patch out 4-component vector of float)
+0:? 'scalar' (in float)
+0:? 'inbls' (in block{in int a})
+0:? 'inbla' (in 17-element array of block{in int a})
+0:? 'indexedOut' (layout(location=7 stream=0 ) out 4-component vector of float)
+0:? 'samp1D' (uniform sampler1D)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/400.tesc.out b/chromium/third_party/glslang/src/Test/baseResults/400.tesc.out
new file mode 100644
index 00000000000..58a8a32732d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/400.tesc.out
@@ -0,0 +1,414 @@
+400.tesc
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:6: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:7: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:8: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:10: 'patch' : can only use on output in tessellation-control shader
+ERROR: 0:39: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:41: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:46: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:51: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:54: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:61: '' : tessellation control barrier() cannot be placed after a return from main()
+ERROR: 0:64: 'vertices' : can only apply to 'out'
+ERROR: 0:65: 'vertices' : cannot change previously set layout value
+ERROR: 0:69: '[' : array index out of range '4'
+ERROR: 0:71: '' : tessellation control barrier() must be in main()
+ERROR: 0:74: 'in' : type must be an array: ina
+ERROR: 0:76: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:83: 'location' : overlapping use of location 4
+ERROR: 0:87: 'location' : overlapping use of location 4
+ERROR: 0:104: '' : precise qualifier must appear first
+ERROR: 0:105: '' : precise qualifier must appear first
+ERROR: 0:105: '' : precise qualifier must appear first
+ERROR: 21 compilation errors. No code generated.
+
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+vertices = 4
+ERROR: node is still EOpNull!
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:15 Sequence
+0:15 Barrier (global void)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'a' (temp int)
+0:17 Constant:
+0:17 5392 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'p' (temp 4-component vector of float)
+0:23 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:23 Constant:
+0:23 1 (const int)
+0:23 Constant:
+0:23 0 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'ps' (temp float)
+0:24 gl_PointSize: direct index for structure (in float PointSize)
+0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:24 Constant:
+0:24 1 (const int)
+0:24 Constant:
+0:24 1 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp float)
+0:25 'cd' (temp float)
+0:25 direct index (temp float ClipDistance)
+0:25 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:25 Constant:
+0:25 1 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'pvi' (temp int)
+0:27 'gl_PatchVerticesIn' (in int PatchVertices)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'pid' (temp int)
+0:28 'gl_PrimitiveID' (in int PrimitiveID)
+0:29 Sequence
+0:29 move second child to first child (temp int)
+0:29 'iid' (temp int)
+0:29 'gl_InvocationID' (in int InvocationID)
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:31 'gl_InvocationID' (in int InvocationID)
+0:31 Constant:
+0:31 0 (const int)
+0:31 'p' (temp 4-component vector of float)
+0:32 move second child to first child (temp float)
+0:32 gl_PointSize: direct index for structure (out float PointSize)
+0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 'gl_InvocationID' (in int InvocationID)
+0:32 Constant:
+0:32 1 (const int)
+0:32 'ps' (temp float)
+0:33 move second child to first child (temp float)
+0:33 direct index (temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
+0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 'gl_InvocationID' (in int InvocationID)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:33 'cd' (temp float)
+0:35 move second child to first child (temp float)
+0:35 direct index (patch temp float TessLevelOuter)
+0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
+0:35 Constant:
+0:35 3 (const int)
+0:35 Constant:
+0:35 3.200000
+0:36 move second child to first child (temp float)
+0:36 direct index (patch temp float TessLevelInner)
+0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
+0:36 Constant:
+0:36 1 (const int)
+0:36 Constant:
+0:36 1.300000
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Greater Than (temp bool)
+0:38 'a' (temp int)
+0:38 Constant:
+0:38 10 (const int)
+0:38 true case
+0:39 Barrier (global void)
+0:38 false case
+0:41 Barrier (global void)
+0:43 Barrier (global void)
+0:47 Loop with condition not tested first
+0:47 Loop Condition
+0:47 Compare Greater Than (temp bool)
+0:47 'a' (temp int)
+0:47 Constant:
+0:47 10 (const int)
+0:47 Loop Body
+0:46 Sequence
+0:46 Barrier (global void)
+0:49 switch
+0:49 condition
+0:49 'a' (temp int)
+0:49 body
+0:49 Sequence
+0:50 default:
+0:? Sequence
+0:51 Barrier (global void)
+0:52 Branch: Break
+0:54 Test condition and select (temp int)
+0:54 Condition
+0:54 Compare Less Than (temp bool)
+0:54 'a' (temp int)
+0:54 Constant:
+0:54 12 (const int)
+0:54 true case
+0:54 'a' (temp int)
+0:54 false case
+0:54 Comma (temp int)
+0:54 Barrier (global void)
+0:54 'a' (temp int)
+0:56 Sequence
+0:56 Barrier (global void)
+0:59 Branch: Return
+0:61 Barrier (global void)
+0:67 Function Definition: foo( (global void)
+0:67 Function Parameters:
+0:69 Sequence
+0:69 gl_PointSize: direct index for structure (out float PointSize)
+0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:69 Constant:
+0:69 4 (const int)
+0:69 Constant:
+0:69 1 (const int)
+0:71 Barrier (global void)
+0:91 Function Definition: foop( (global void)
+0:91 Function Parameters:
+0:? Sequence
+0:95 multiply second child into first child (temp 3-component vector of float)
+0:95 'pv3' (noContraction temp 3-component vector of float)
+0:95 'pv3' (noContraction temp 3-component vector of float)
+0:96 move second child to first child (temp 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:96 fma (global 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:97 move second child to first child (temp double)
+0:97 'd' (noContraction temp double)
+0:97 fma (global double)
+0:97 'd' (noContraction temp double)
+0:97 'd' (noContraction temp double)
+0:97 'd' (noContraction temp double)
+0:? Linker Objects
+0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 4-element array of int)
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'pv3' (noContraction temp 3-component vector of float)
+0:? 'pinbi' (patch out block{out int a})
+0:? 'badOrder' (invariant noContraction out 4-element array of 4-component vector of float)
+
+
+Linked tessellation control stage:
+
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+vertices = 4
+ERROR: node is still EOpNull!
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:15 Sequence
+0:15 Barrier (global void)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'a' (temp int)
+0:17 Constant:
+0:17 5392 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'p' (temp 4-component vector of float)
+0:23 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:23 Constant:
+0:23 1 (const int)
+0:23 Constant:
+0:23 0 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'ps' (temp float)
+0:24 gl_PointSize: direct index for structure (in float PointSize)
+0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:24 Constant:
+0:24 1 (const int)
+0:24 Constant:
+0:24 1 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp float)
+0:25 'cd' (temp float)
+0:25 direct index (temp float ClipDistance)
+0:25 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance)
+0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:25 Constant:
+0:25 1 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'pvi' (temp int)
+0:27 'gl_PatchVerticesIn' (in int PatchVertices)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'pid' (temp int)
+0:28 'gl_PrimitiveID' (in int PrimitiveID)
+0:29 Sequence
+0:29 move second child to first child (temp int)
+0:29 'iid' (temp int)
+0:29 'gl_InvocationID' (in int InvocationID)
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:31 'gl_InvocationID' (in int InvocationID)
+0:31 Constant:
+0:31 0 (const int)
+0:31 'p' (temp 4-component vector of float)
+0:32 move second child to first child (temp float)
+0:32 gl_PointSize: direct index for structure (out float PointSize)
+0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:32 'gl_InvocationID' (in int InvocationID)
+0:32 Constant:
+0:32 1 (const int)
+0:32 'ps' (temp float)
+0:33 move second child to first child (temp float)
+0:33 direct index (temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (out 2-element array of float ClipDistance)
+0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:33 'gl_InvocationID' (in int InvocationID)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:33 'cd' (temp float)
+0:35 move second child to first child (temp float)
+0:35 direct index (patch temp float TessLevelOuter)
+0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
+0:35 Constant:
+0:35 3 (const int)
+0:35 Constant:
+0:35 3.200000
+0:36 move second child to first child (temp float)
+0:36 direct index (patch temp float TessLevelInner)
+0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
+0:36 Constant:
+0:36 1 (const int)
+0:36 Constant:
+0:36 1.300000
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Greater Than (temp bool)
+0:38 'a' (temp int)
+0:38 Constant:
+0:38 10 (const int)
+0:38 true case
+0:39 Barrier (global void)
+0:38 false case
+0:41 Barrier (global void)
+0:43 Barrier (global void)
+0:47 Loop with condition not tested first
+0:47 Loop Condition
+0:47 Compare Greater Than (temp bool)
+0:47 'a' (temp int)
+0:47 Constant:
+0:47 10 (const int)
+0:47 Loop Body
+0:46 Sequence
+0:46 Barrier (global void)
+0:49 switch
+0:49 condition
+0:49 'a' (temp int)
+0:49 body
+0:49 Sequence
+0:50 default:
+0:? Sequence
+0:51 Barrier (global void)
+0:52 Branch: Break
+0:54 Test condition and select (temp int)
+0:54 Condition
+0:54 Compare Less Than (temp bool)
+0:54 'a' (temp int)
+0:54 Constant:
+0:54 12 (const int)
+0:54 true case
+0:54 'a' (temp int)
+0:54 false case
+0:54 Comma (temp int)
+0:54 Barrier (global void)
+0:54 'a' (temp int)
+0:56 Sequence
+0:56 Barrier (global void)
+0:59 Branch: Return
+0:61 Barrier (global void)
+0:67 Function Definition: foo( (global void)
+0:67 Function Parameters:
+0:69 Sequence
+0:69 gl_PointSize: direct index for structure (out float PointSize)
+0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:69 Constant:
+0:69 4 (const int)
+0:69 Constant:
+0:69 1 (const int)
+0:71 Barrier (global void)
+0:91 Function Definition: foop( (global void)
+0:91 Function Parameters:
+0:? Sequence
+0:95 multiply second child into first child (temp 3-component vector of float)
+0:95 'pv3' (noContraction temp 3-component vector of float)
+0:95 'pv3' (noContraction temp 3-component vector of float)
+0:96 move second child to first child (temp 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:96 fma (global 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:96 'pv3' (noContraction temp 3-component vector of float)
+0:97 move second child to first child (temp double)
+0:97 'd' (noContraction temp double)
+0:97 fma (global double)
+0:97 'd' (noContraction temp double)
+0:97 'd' (noContraction temp double)
+0:97 'd' (noContraction temp double)
+0:? Linker Objects
+0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 4-element array of int)
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'pv3' (noContraction temp 3-component vector of float)
+0:? 'pinbi' (patch out block{out int a})
+0:? 'badOrder' (invariant noContraction out 4-element array of 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/400.tese.out b/chromium/third_party/glslang/src/Test/baseResults/400.tese.out
new file mode 100644
index 00000000000..324dbaa304d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/400.tese.out
@@ -0,0 +1,281 @@
+400.tese
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:3: 'vertices' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:5: 'triangles' : cannot change previously set input primitive
+ERROR: 0:6: 'isolines' : cannot change previously set input primitive
+ERROR: 0:8: 'ccw' : cannot change previously set vertex order
+ERROR: 0:12: 'equal_spacing' : cannot change previously set vertex spacing
+ERROR: 0:13: 'fractional_even_spacing' : cannot change previously set vertex spacing
+ERROR: 0:18: 'patch' : can only use on input in tessellation-evaluation shader
+ERROR: 0:22: 'barrier' : no matching overloaded function found
+ERROR: 0:47: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:48: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:49: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:50: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
+ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized
+ERROR: 0:59: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
+ERROR: 0:64: 'quads' : cannot apply to 'out'
+ERROR: 0:64: 'cw' : can only apply to 'in'
+ERROR: 0:65: 'triangles' : cannot apply to 'out'
+ERROR: 0:66: 'isolines' : cannot apply to 'out'
+ERROR: 0:67: 'cw' : can only apply to 'in'
+ERROR: 0:68: 'fractional_odd_spacing' : can only apply to 'in'
+ERROR: 0:69: 'equal_spacing' : can only apply to 'in'
+ERROR: 0:70: 'fractional_even_spacing' : can only apply to 'in'
+ERROR: 0:71: 'point_mode' : can only apply to 'in'
+ERROR: 0:73: 'in' : type must be an array: ina
+ERROR: 0:75: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:78: 'in' : type must be an array: bla
+ERROR: 0:86: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:96: 'location' : overlapping use of location 24
+ERROR: 0:99: 'location' : overlapping use of location 24
+ERROR: 0:101: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved
+ERROR: 30 compilation errors. No code generated.
+
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+input primitive = quads
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+using point mode
+ERROR: node is still EOpNull!
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:22 Sequence
+0:22 Constant:
+0:22 0.000000
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'a' (temp int)
+0:24 Constant:
+0:24 1512 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 'p' (temp 4-component vector of float)
+0:32 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 0 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp float)
+0:33 'ps' (temp float)
+0:33 gl_PointSize: direct index for structure (in float PointSize)
+0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp float)
+0:34 'cd' (temp float)
+0:34 direct index (temp float ClipDistance)
+0:34 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp int)
+0:36 'pvi' (temp int)
+0:36 'gl_PatchVerticesIn' (in int PatchVertices)
+0:37 Sequence
+0:37 move second child to first child (temp int)
+0:37 'pid' (temp int)
+0:37 'gl_PrimitiveID' (in int PrimitiveID)
+0:38 Sequence
+0:38 move second child to first child (temp 3-component vector of float)
+0:38 'tc' (temp 3-component vector of float)
+0:38 'gl_TessCoord' (in 3-component vector of float TessCoord)
+0:39 Sequence
+0:39 move second child to first child (temp float)
+0:39 'tlo' (temp float)
+0:39 direct index (patch temp float TessLevelOuter)
+0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
+0:39 Constant:
+0:39 3 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp float)
+0:40 'tli' (temp float)
+0:40 direct index (patch temp float TessLevelInner)
+0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
+0:40 Constant:
+0:40 1 (const int)
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:42 Constant:
+0:42 0 (const uint)
+0:42 'p' (temp 4-component vector of float)
+0:43 move second child to first child (temp float)
+0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:43 Constant:
+0:43 1 (const uint)
+0:43 'ps' (temp float)
+0:44 move second child to first child (temp float)
+0:44 direct index (temp float ClipDistance)
+0:44 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
+0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:44 Constant:
+0:44 2 (const uint)
+0:44 Constant:
+0:44 2 (const int)
+0:44 'cd' (temp float)
+0:? Linker Objects
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'badp1' (smooth patch in 4-component vector of float)
+0:? 'badp2' (flat patch in 4-component vector of float)
+0:? 'badp3' (noperspective patch in 4-component vector of float)
+0:? 'badp4' (patch sample in 3-component vector of float)
+0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'bla' (in block{in int f})
+0:? 'blb' (in 32-element array of block{in int f})
+0:? 'blc' (in 32-element array of block{in int f})
+0:? 'bld' (in 32-element array of block{in int f})
+0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float)
+0:? 'pinbi' (patch in block{in int a})
+
+
+Linked tessellation evaluation stage:
+
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+input primitive = quads
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+using point mode
+ERROR: node is still EOpNull!
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:22 Sequence
+0:22 Constant:
+0:22 0.000000
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'a' (temp int)
+0:24 Constant:
+0:24 1512 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 'p' (temp 4-component vector of float)
+0:32 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 0 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp float)
+0:33 'ps' (temp float)
+0:33 gl_PointSize: direct index for structure (in float PointSize)
+0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp float)
+0:34 'cd' (temp float)
+0:34 direct index (temp float ClipDistance)
+0:34 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance)
+0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp int)
+0:36 'pvi' (temp int)
+0:36 'gl_PatchVerticesIn' (in int PatchVertices)
+0:37 Sequence
+0:37 move second child to first child (temp int)
+0:37 'pid' (temp int)
+0:37 'gl_PrimitiveID' (in int PrimitiveID)
+0:38 Sequence
+0:38 move second child to first child (temp 3-component vector of float)
+0:38 'tc' (temp 3-component vector of float)
+0:38 'gl_TessCoord' (in 3-component vector of float TessCoord)
+0:39 Sequence
+0:39 move second child to first child (temp float)
+0:39 'tlo' (temp float)
+0:39 direct index (patch temp float TessLevelOuter)
+0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
+0:39 Constant:
+0:39 3 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp float)
+0:40 'tli' (temp float)
+0:40 direct index (patch temp float TessLevelInner)
+0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
+0:40 Constant:
+0:40 1 (const int)
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:42 Constant:
+0:42 0 (const uint)
+0:42 'p' (temp 4-component vector of float)
+0:43 move second child to first child (temp float)
+0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:43 Constant:
+0:43 1 (const uint)
+0:43 'ps' (temp float)
+0:44 move second child to first child (temp float)
+0:44 direct index (temp float ClipDistance)
+0:44 gl_ClipDistance: direct index for structure (out 3-element array of float ClipDistance)
+0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:44 Constant:
+0:44 2 (const uint)
+0:44 Constant:
+0:44 2 (const int)
+0:44 'cd' (temp float)
+0:? Linker Objects
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:? 'badp1' (smooth patch in 4-component vector of float)
+0:? 'badp2' (flat patch in 4-component vector of float)
+0:? 'badp3' (noperspective patch in 4-component vector of float)
+0:? 'badp4' (patch sample in 3-component vector of float)
+0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'bla' (in block{in int f})
+0:? 'blb' (in 32-element array of block{in int f})
+0:? 'blc' (in 32-element array of block{in int f})
+0:? 'bld' (in 32-element array of block{in int f})
+0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float)
+0:? 'pinbi' (patch in block{in int a})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/400.vert.out b/chromium/third_party/glslang/src/Test/baseResults/400.vert.out
new file mode 100755
index 00000000000..946f21d5856
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/400.vert.out
@@ -0,0 +1,34 @@
+400.vert
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:3: 'vertex-shader `double` type input' : not supported for this version or the enabled extensions
+ERROR: 0:4: 'vertex-shader `double` type input' : not supported for this version or the enabled extensions
+ERROR: 0:5: 'vertex-shader `double` type input' : not supported for this version or the enabled extensions
+ERROR: 3 compilation errors. No code generated.
+
+
+Shader version: 400
+ERROR: node is still EOpNull!
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:? Linker Objects
+0:? 'd' (in double)
+0:? 'd3' (in 3-component vector of double)
+0:? 'dm4' (in 4X4 matrix of double)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 400
+ERROR: node is still EOpNull!
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:? Linker Objects
+0:? 'd' (in double)
+0:? 'd3' (in 3-component vector of double)
+0:? 'dm4' (in 4X4 matrix of double)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/410.geom.out b/chromium/third_party/glslang/src/Test/baseResults/410.geom.out
new file mode 100644
index 00000000000..6f7252c9807
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/410.geom.out
@@ -0,0 +1,112 @@
+410.geom
+Warning, version 410 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:8: 'myIn' : cannot redeclare a built-in block with a user name
+ERROR: 0:12: 'gl_myIn' : no declaration found for redeclaration
+ERROR: 0:20: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
+ERROR: 0:32: 'gl_Position' : no such field in structure
+ERROR: 0:32: '=' : cannot convert from 'temp block{in float PointSize gl_PointSize}' to 'temp 4-component vector of float'
+ERROR: 0:33: 'gl_Position' : member of nameless block was not redeclared
+ERROR: 0:33: 'assign' : cannot convert from 'const 4-component vector of float' to 'layout(stream=0 ) gl_Position void Position'
+WARNING: 0:38: 'return' : type conversion on return values was not explicitly allowed until version 420
+ERROR: 7 compilation errors. No code generated.
+
+
+Shader version: 410
+invocations = -1
+max_vertices = -1
+input primitive = none
+output primitive = none
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
+0:5 Constant:
+0:5 7 (const int)
+0:28 Function Definition: foo( (global void)
+0:28 Function Parameters:
+0:30 Sequence
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'p' (temp float)
+0:30 gl_PointSize: direct index for structure (in float PointSize)
+0:30 direct index (temp block{in float PointSize gl_PointSize})
+0:30 'gl_in' (in implicitly-sized array of block{in float PointSize gl_PointSize})
+0:30 Constant:
+0:30 1 (const int)
+0:30 Constant:
+0:30 0 (const int)
+0:31 move second child to first child (temp float)
+0:31 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
+0:31 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
+0:31 Constant:
+0:31 1 (const uint)
+0:31 'p' (temp float)
+0:33 gl_Position: direct index for structure (layout(stream=0 ) gl_Position void Position)
+0:33 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
+0:33 Constant:
+0:33 0 (const uint)
+0:36 Function Definition: foo5( (global float)
+0:36 Function Parameters:
+0:38 Sequence
+0:38 Branch: Return with expression
+0:38 Constant:
+0:38 4.000000
+0:? Linker Objects
+0:? 'gl_in' (in implicitly-sized array of block{in float PointSize gl_PointSize})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
+
+
+Linked geometry stage:
+
+ERROR: Linking geometry stage: At least one shader must specify an input layout primitive
+ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
+ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
+
+Shader version: 410
+invocations = 1
+max_vertices = -1
+input primitive = none
+output primitive = none
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
+0:5 Constant:
+0:5 7 (const int)
+0:28 Function Definition: foo( (global void)
+0:28 Function Parameters:
+0:30 Sequence
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'p' (temp float)
+0:30 gl_PointSize: direct index for structure (in float PointSize)
+0:30 direct index (temp block{in float PointSize gl_PointSize})
+0:30 'gl_in' (in 2-element array of block{in float PointSize gl_PointSize})
+0:30 Constant:
+0:30 1 (const int)
+0:30 Constant:
+0:30 0 (const int)
+0:31 move second child to first child (temp float)
+0:31 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
+0:31 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
+0:31 Constant:
+0:31 1 (const uint)
+0:31 'p' (temp float)
+0:33 gl_Position: direct index for structure (layout(stream=0 ) gl_Position void Position)
+0:33 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
+0:33 Constant:
+0:33 0 (const uint)
+0:36 Function Definition: foo5( (global float)
+0:36 Function Parameters:
+0:38 Sequence
+0:38 Branch: Return with expression
+0:38 Constant:
+0:38 4.000000
+0:? Linker Objects
+0:? 'gl_in' (in 2-element array of block{in float PointSize gl_PointSize})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/410.tesc.out b/chromium/third_party/glslang/src/Test/baseResults/410.tesc.out
new file mode 100644
index 00000000000..3305c407fd8
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/410.tesc.out
@@ -0,0 +1,31 @@
+410.tesc
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:4: 'length' : array must first be sized by a redeclaration or layout qualifier
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 400
+vertices = -1
+ERROR: node is still EOpNull!
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:? Linker Objects
+0:? 'gl_out' (out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 1-element array of int)
+0:? 'patchOut' (patch out 4-component vector of float)
+
+
+Linked tessellation control stage:
+
+ERROR: Linking tessellation control stage: At least one shader must specify an output layout(vertices=...)
+
+Shader version: 400
+vertices = -1
+ERROR: node is still EOpNull!
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:? Linker Objects
+0:? 'gl_out' (out 1-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 1-element array of int)
+0:? 'patchOut' (patch out 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/410.vert.out b/chromium/third_party/glslang/src/Test/baseResults/410.vert.out
new file mode 100755
index 00000000000..eb4f43a2e65
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/410.vert.out
@@ -0,0 +1,29 @@
+410.vert
+Warning, version 410 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 410
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:? Linker Objects
+0:? 'd' (in double)
+0:? 'd3' (in 3-component vector of double)
+0:? 'dm4' (in 4X4 matrix of double)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 410
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:? Linker Objects
+0:? 'd' (in double)
+0:? 'd3' (in 3-component vector of double)
+0:? 'dm4' (in 4X4 matrix of double)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/420.comp.out b/chromium/third_party/glslang/src/Test/baseResults/420.comp.out
new file mode 100755
index 00000000000..a2311d5a80c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/420.comp.out
@@ -0,0 +1,122 @@
+420.comp
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:3: 'gl_WorkGroupSize' : not supported for this version or the enabled extensions
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 420
+Requested GL_ARB_compute_shader
+local_size = (2, 4, 6)
+ERROR: node is still EOpNull!
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child (temp 3-component vector of float)
+0:13 'sfoo' (shared 3-component vector of float)
+0:13 Constant:
+0:13 2.000000
+0:13 4.000000
+0:13 6.000000
+0:14 add second child into first child (temp 3-component vector of float)
+0:14 'sfoo' (shared 3-component vector of float)
+0:14 Convert uint to float (temp 3-component vector of float)
+0:14 add (temp 3-component vector of uint)
+0:14 add (temp 3-component vector of uint)
+0:14 add (temp 3-component vector of uint)
+0:14 add (temp 3-component vector of uint)
+0:14 Constant:
+0:14 2 (const uint)
+0:14 4 (const uint)
+0:14 6 (const uint)
+0:14 'gl_NumWorkGroups' (in 3-component vector of uint NumWorkGroups)
+0:14 'gl_WorkGroupID' (in 3-component vector of uint WorkGroupID)
+0:14 'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID)
+0:14 'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID)
+0:15 vector scale second child into first child (temp 3-component vector of float)
+0:15 'sfoo' (shared 3-component vector of float)
+0:15 Convert uint to float (temp float)
+0:15 'gl_LocalInvocationIndex' (in uint LocalInvocationIndex)
+0:16 add second child into first child (temp 3-component vector of float)
+0:16 'sfoo' (shared 3-component vector of float)
+0:16 Constant:
+0:16 66559.000000
+0:16 66559.000000
+0:16 65599.000000
+0:17 vector scale second child into first child (temp 3-component vector of float)
+0:17 'sfoo' (shared 3-component vector of float)
+0:17 Constant:
+0:17 1057.000000
+0:23 Barrier (global void)
+0:24 MemoryBarrier (global void)
+0:25 MemoryBarrierAtomicCounter (global void)
+0:26 MemoryBarrierBuffer (global void)
+0:27 MemoryBarrierImage (global void)
+0:28 MemoryBarrierShared (global void)
+0:29 GroupMemoryBarrier (global void)
+0:? Linker Objects
+0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
+0:? 2 (const uint)
+0:? 4 (const uint)
+0:? 6 (const uint)
+0:? 'sfoo' (shared 3-component vector of float)
+
+
+Linked compute stage:
+
+
+Shader version: 420
+Requested GL_ARB_compute_shader
+local_size = (2, 4, 6)
+ERROR: node is still EOpNull!
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child (temp 3-component vector of float)
+0:13 'sfoo' (shared 3-component vector of float)
+0:13 Constant:
+0:13 2.000000
+0:13 4.000000
+0:13 6.000000
+0:14 add second child into first child (temp 3-component vector of float)
+0:14 'sfoo' (shared 3-component vector of float)
+0:14 Convert uint to float (temp 3-component vector of float)
+0:14 add (temp 3-component vector of uint)
+0:14 add (temp 3-component vector of uint)
+0:14 add (temp 3-component vector of uint)
+0:14 add (temp 3-component vector of uint)
+0:14 Constant:
+0:14 2 (const uint)
+0:14 4 (const uint)
+0:14 6 (const uint)
+0:14 'gl_NumWorkGroups' (in 3-component vector of uint NumWorkGroups)
+0:14 'gl_WorkGroupID' (in 3-component vector of uint WorkGroupID)
+0:14 'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID)
+0:14 'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID)
+0:15 vector scale second child into first child (temp 3-component vector of float)
+0:15 'sfoo' (shared 3-component vector of float)
+0:15 Convert uint to float (temp float)
+0:15 'gl_LocalInvocationIndex' (in uint LocalInvocationIndex)
+0:16 add second child into first child (temp 3-component vector of float)
+0:16 'sfoo' (shared 3-component vector of float)
+0:16 Constant:
+0:16 66559.000000
+0:16 66559.000000
+0:16 65599.000000
+0:17 vector scale second child into first child (temp 3-component vector of float)
+0:17 'sfoo' (shared 3-component vector of float)
+0:17 Constant:
+0:17 1057.000000
+0:23 Barrier (global void)
+0:24 MemoryBarrier (global void)
+0:25 MemoryBarrierAtomicCounter (global void)
+0:26 MemoryBarrierBuffer (global void)
+0:27 MemoryBarrierImage (global void)
+0:28 MemoryBarrierShared (global void)
+0:29 GroupMemoryBarrier (global void)
+0:? Linker Objects
+0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
+0:? 2 (const uint)
+0:? 4 (const uint)
+0:? 6 (const uint)
+0:? 'sfoo' (shared 3-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/420.frag.out b/chromium/third_party/glslang/src/Test/baseResults/420.frag.out
new file mode 100644
index 00000000000..0697b52b7eb
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/420.frag.out
@@ -0,0 +1,42 @@
+420.frag
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:4: 'redeclaration' : all redeclarations must use the same depth layout on gl_FragDepth
+ERROR: 0:11: 'layout qualifier' : can only apply depth layout to gl_FragDepth
+ERROR: 0:12: 'gl_FragDepth' : cannot redeclare after use
+ERROR: 3 compilation errors. No code generated.
+
+
+Shader version: 420
+using depth_any
+ERROR: node is still EOpNull!
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:8 Constant:
+0:8 0.300000
+0:? Linker Objects
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'depth' (smooth in float)
+
+
+Linked fragment stage:
+
+
+Shader version: 420
+using depth_any
+ERROR: node is still EOpNull!
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:8 Constant:
+0:8 0.300000
+0:? Linker Objects
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'depth' (smooth in float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/420.geom.out b/chromium/third_party/glslang/src/Test/baseResults/420.geom.out
new file mode 100644
index 00000000000..416df13923d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/420.geom.out
@@ -0,0 +1,258 @@
+420.geom
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:9: 'length' : array must first be sized by a redeclaration or layout qualifier
+ERROR: 0:11: '[' : array must be sized by a redeclaration or layout qualifier before being indexed with a variable
+ERROR: 0:42: 'assign' : l-value required (can't modify a const)
+ERROR: 0:43: 'assign' : l-value required "v4" (can't modify a uniform)
+ERROR: 0:48: 'gl_PointSize' : cannot change arrayness of redeclared block member
+ERROR: 0:49: 'gl_ClipDistance' : cannot change arrayness of redeclared block member
+ERROR: 6 compilation errors. No code generated.
+
+
+Shader version: 420
+invocations = -1
+max_vertices = -1
+input primitive = triangles
+output primitive = none
+ERROR: node is still EOpNull!
+0:7 Function Definition: foo( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Constant:
+0:9 1 (const int)
+0:10 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:10 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:10 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:10 Constant:
+0:10 1 (const int)
+0:10 Constant:
+0:10 0 (const int)
+0:11 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:11 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:11 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:11 'i' (global int)
+0:11 Constant:
+0:11 0 (const int)
+0:18 Function Definition: foo3( (global void)
+0:18 Function Parameters:
+0:20 Sequence
+0:20 Constant:
+0:20 3 (const int)
+0:21 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:21 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:21 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:21 'i' (global int)
+0:21 Constant:
+0:21 0 (const int)
+0:22 Constant:
+0:22 3 (const int)
+0:29 Function Definition: foo4( (global void)
+0:29 Function Parameters:
+0:? Sequence
+0:40 Sequence
+0:40 move second child to first child (temp 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:40 textureGatherOffset (global 4-component vector of float)
+0:40 's2D' (uniform sampler2D)
+0:40 direct index (temp 2-component vector of float)
+0:40 'coord' (in 3-element array of 2-component vector of float)
+0:40 Constant:
+0:40 0 (const int)
+0:40 vector swizzle (temp 2-component vector of int)
+0:40 indirect index (temp 2-component vector of int)
+0:40 Constant:
+0:40 0 (const int)
+0:40 1 (const int)
+0:40 1 (const int)
+0:40 -2 (const int)
+0:40 0 (const int)
+0:40 3 (const int)
+0:40 -3 (const int)
+0:40 0 (const int)
+0:40 2 (const int)
+0:40 1 (const int)
+0:40 'i' (global int)
+0:40 Sequence
+0:40 Constant:
+0:40 0 (const int)
+0:40 Constant:
+0:40 1 (const int)
+0:42 move second child to first child (temp 2-component vector of int)
+0:42 vector swizzle (temp 2-component vector of int)
+0:42 indirect index (temp 2-component vector of int)
+0:42 Constant:
+0:42 0 (const int)
+0:42 1 (const int)
+0:42 1 (const int)
+0:42 -2 (const int)
+0:42 0 (const int)
+0:42 3 (const int)
+0:42 -3 (const int)
+0:42 0 (const int)
+0:42 2 (const int)
+0:42 1 (const int)
+0:42 'i' (global int)
+0:42 Sequence
+0:42 Constant:
+0:42 0 (const int)
+0:42 Constant:
+0:42 1 (const int)
+0:42 Constant:
+0:42 3 (const int)
+0:42 3 (const int)
+0:43 move second child to first child (temp float)
+0:43 direct index (temp float)
+0:43 'v4' (uniform 4-component vector of float)
+0:43 Constant:
+0:43 0 (const int)
+0:43 Constant:
+0:43 3.200000
+0:44 vector swizzle (temp 2-component vector of float)
+0:44 'v4' (uniform 4-component vector of float)
+0:44 Sequence
+0:44 Constant:
+0:44 0 (const int)
+0:44 Constant:
+0:44 1 (const int)
+0:52 Function Definition: foo5( (global float)
+0:52 Function Parameters:
+0:54 Sequence
+0:54 Branch: Return with expression
+0:54 Convert int to float (temp float)
+0:54 'i' (global int)
+0:? Linker Objects
+0:? 'i' (global int)
+0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'color3' (in 3-element array of 4-component vector of float)
+0:? 's2D' (uniform sampler2D)
+0:? 'coord' (in 3-element array of 2-component vector of float)
+0:? 'v4' (uniform 4-component vector of float)
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})
+
+
+Linked geometry stage:
+
+ERROR: Linking geometry stage: Missing entry point: Each stage requires one "void main()" entry point
+ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
+ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
+
+Shader version: 420
+invocations = 1
+max_vertices = -1
+input primitive = triangles
+output primitive = none
+ERROR: node is still EOpNull!
+0:7 Function Definition: foo( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Constant:
+0:9 1 (const int)
+0:10 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:10 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:10 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:10 Constant:
+0:10 1 (const int)
+0:10 Constant:
+0:10 0 (const int)
+0:11 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:11 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:11 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:11 'i' (global int)
+0:11 Constant:
+0:11 0 (const int)
+0:18 Function Definition: foo3( (global void)
+0:18 Function Parameters:
+0:20 Sequence
+0:20 Constant:
+0:20 3 (const int)
+0:21 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:21 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:21 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:21 'i' (global int)
+0:21 Constant:
+0:21 0 (const int)
+0:22 Constant:
+0:22 3 (const int)
+0:29 Function Definition: foo4( (global void)
+0:29 Function Parameters:
+0:? Sequence
+0:40 Sequence
+0:40 move second child to first child (temp 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:40 textureGatherOffset (global 4-component vector of float)
+0:40 's2D' (uniform sampler2D)
+0:40 direct index (temp 2-component vector of float)
+0:40 'coord' (in 3-element array of 2-component vector of float)
+0:40 Constant:
+0:40 0 (const int)
+0:40 vector swizzle (temp 2-component vector of int)
+0:40 indirect index (temp 2-component vector of int)
+0:40 Constant:
+0:40 0 (const int)
+0:40 1 (const int)
+0:40 1 (const int)
+0:40 -2 (const int)
+0:40 0 (const int)
+0:40 3 (const int)
+0:40 -3 (const int)
+0:40 0 (const int)
+0:40 2 (const int)
+0:40 1 (const int)
+0:40 'i' (global int)
+0:40 Sequence
+0:40 Constant:
+0:40 0 (const int)
+0:40 Constant:
+0:40 1 (const int)
+0:42 move second child to first child (temp 2-component vector of int)
+0:42 vector swizzle (temp 2-component vector of int)
+0:42 indirect index (temp 2-component vector of int)
+0:42 Constant:
+0:42 0 (const int)
+0:42 1 (const int)
+0:42 1 (const int)
+0:42 -2 (const int)
+0:42 0 (const int)
+0:42 3 (const int)
+0:42 -3 (const int)
+0:42 0 (const int)
+0:42 2 (const int)
+0:42 1 (const int)
+0:42 'i' (global int)
+0:42 Sequence
+0:42 Constant:
+0:42 0 (const int)
+0:42 Constant:
+0:42 1 (const int)
+0:42 Constant:
+0:42 3 (const int)
+0:42 3 (const int)
+0:43 move second child to first child (temp float)
+0:43 direct index (temp float)
+0:43 'v4' (uniform 4-component vector of float)
+0:43 Constant:
+0:43 0 (const int)
+0:43 Constant:
+0:43 3.200000
+0:44 vector swizzle (temp 2-component vector of float)
+0:44 'v4' (uniform 4-component vector of float)
+0:44 Sequence
+0:44 Constant:
+0:44 0 (const int)
+0:44 Constant:
+0:44 1 (const int)
+0:52 Function Definition: foo5( (global float)
+0:52 Function Parameters:
+0:54 Sequence
+0:54 Branch: Return with expression
+0:54 Convert int to float (temp float)
+0:54 'i' (global int)
+0:? Linker Objects
+0:? 'i' (global int)
+0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'color3' (in 3-element array of 4-component vector of float)
+0:? 's2D' (uniform sampler2D)
+0:? 'coord' (in 3-element array of 2-component vector of float)
+0:? 'v4' (uniform 4-component vector of float)
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 1-element array of float ClipDistance gl_ClipDistance})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/420.tesc.out b/chromium/third_party/glslang/src/Test/baseResults/420.tesc.out
new file mode 100644
index 00000000000..594e1302833
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/420.tesc.out
@@ -0,0 +1,230 @@
+420.tesc
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size of gl_out
+ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a
+ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb
+ERROR: 0:26: 'gl_PointSize' : no such field in structure
+ERROR: 0:26: 'assign' : cannot convert from 'temp float' to 'temp block{out 4-component vector of float Position gl_Position}'
+ERROR: 0:29: 'out' : type must be an array: outf
+ERROR: 0:43: 'vertices' : must be greater than 0
+ERROR: 7 compilation errors. No code generated.
+
+
+Shader version: 420
+Requested GL_ARB_separate_shader_objects
+vertices = 4
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'p' (temp 4-component vector of float)
+0:17 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:17 Constant:
+0:17 1 (const int)
+0:17 Constant:
+0:17 0 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'ps' (temp float)
+0:18 gl_PointSize: direct index for structure (in float PointSize)
+0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:18 Constant:
+0:18 1 (const int)
+0:18 Constant:
+0:18 1 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'cd' (temp float)
+0:19 direct index (temp float ClipDistance)
+0:19 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:19 Constant:
+0:19 1 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'pvi' (temp int)
+0:21 'gl_PatchVerticesIn' (in int PatchVertices)
+0:22 Sequence
+0:22 move second child to first child (temp int)
+0:22 'pid' (temp int)
+0:22 'gl_PrimitiveID' (in int PrimitiveID)
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'iid' (temp int)
+0:23 'gl_InvocationID' (in int InvocationID)
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:25 'gl_InvocationID' (in int InvocationID)
+0:25 Constant:
+0:25 0 (const int)
+0:25 'p' (temp 4-component vector of float)
+0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:26 'gl_InvocationID' (in int InvocationID)
+0:34 Function Definition: foo( (global void)
+0:34 Function Parameters:
+0:36 Sequence
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 logical-or (temp bool)
+0:36 Compare Not Equal (temp bool)
+0:36 Constant:
+0:36 -0.625000
+0:36 -0.500000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.125000
+0:36 0.000000
+0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
+0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:36 Constant:
+0:36 0 (const int)
+0:37 Compare Not Equal (temp bool)
+0:37 Constant:
+0:37 0.375000
+0:37 0.500000
+0:37 0.625000
+0:37 0.750000
+0:37 0.625000
+0:37 0.750000
+0:37 0.875000
+0:37 -0.625000
+0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
+0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+0:37 Constant:
+0:37 0 (const int)
+0:36 true case is null
+0:? Linker Objects
+0:? 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:? 'a' (out 3-element array of int)
+0:? 'outb' (out 5-element array of int)
+0:? 'outc' (out 4-element array of int)
+0:? 'outf' (out float)
+0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+
+
+Linked tessellation control stage:
+
+
+Shader version: 420
+Requested GL_ARB_separate_shader_objects
+vertices = 4
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'p' (temp 4-component vector of float)
+0:17 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:17 Constant:
+0:17 1 (const int)
+0:17 Constant:
+0:17 0 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'ps' (temp float)
+0:18 gl_PointSize: direct index for structure (in float PointSize)
+0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:18 Constant:
+0:18 1 (const int)
+0:18 Constant:
+0:18 1 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'cd' (temp float)
+0:19 direct index (temp float ClipDistance)
+0:19 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance)
+0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
+0:19 Constant:
+0:19 1 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'pvi' (temp int)
+0:21 'gl_PatchVerticesIn' (in int PatchVertices)
+0:22 Sequence
+0:22 move second child to first child (temp int)
+0:22 'pid' (temp int)
+0:22 'gl_PrimitiveID' (in int PrimitiveID)
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'iid' (temp int)
+0:23 'gl_InvocationID' (in int InvocationID)
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:25 'gl_InvocationID' (in int InvocationID)
+0:25 Constant:
+0:25 0 (const int)
+0:25 'p' (temp 4-component vector of float)
+0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:26 'gl_InvocationID' (in int InvocationID)
+0:34 Function Definition: foo( (global void)
+0:34 Function Parameters:
+0:36 Sequence
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 logical-or (temp bool)
+0:36 Compare Not Equal (temp bool)
+0:36 Constant:
+0:36 -0.625000
+0:36 -0.500000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.125000
+0:36 0.000000
+0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
+0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:36 Constant:
+0:36 0 (const int)
+0:37 Compare Not Equal (temp bool)
+0:37 Constant:
+0:37 0.375000
+0:37 0.500000
+0:37 0.625000
+0:37 0.750000
+0:37 0.625000
+0:37 0.750000
+0:37 0.875000
+0:37 -0.625000
+0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
+0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+0:37 Constant:
+0:37 0 (const int)
+0:36 true case is null
+0:? Linker Objects
+0:? 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:? 'a' (out 3-element array of int)
+0:? 'outb' (out 5-element array of int)
+0:? 'outc' (out 4-element array of int)
+0:? 'outf' (out float)
+0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/420.tese.out b/chromium/third_party/glslang/src/Test/baseResults/420.tese.out
new file mode 100644
index 00000000000..fb9bc2013bc
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/420.tese.out
@@ -0,0 +1,313 @@
+420.tese
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:7: '=' : cannot convert from 'const 3-element array of float' to 'global 2-element array of float'
+ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): temp 2-component vector of float
+ERROR: 0:9: 'initializer list' : wrong number of matrix columns: temp 3X3 matrix of float
+ERROR: 0:10: 'initializer list' : wrong number of matrix columns: temp 2X2 matrix of float
+ERROR: 0:25: 'initializer list' : wrong number of structure members
+ERROR: 0:27: '=' : cannot convert from 'const bool' to 'global int'
+ERROR: 0:28: 'constructor' : cannot convert parameter 2 from 'const float' to 'temp 4-component vector of float'
+ERROR: 0:29: 'constructor' : cannot convert parameter 2 from 'const 2X2 matrix of float' to 'const 4-component vector of float'
+ERROR: 0:29: 'const 2-element array of 4-component vector of float' : cannot construct with these arguments
+ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 2-element array of 4-component vector of float'
+ERROR: 0:30: 'initializer list' : wrong number of matrix columns: temp 4X2 matrix of float
+ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'temp structure{global float s, global float t}'
+ERROR: 0:58: 'initializer list' : wrong number of structure members
+ERROR: 13 compilation errors. No code generated.
+
+
+Shader version: 420
+input primitive = none
+vertex spacing = none
+triangle order = none
+ERROR: node is still EOpNull!
+0:4 Sequence
+0:4 move second child to first child (temp 2X2 matrix of float)
+0:4 'b' (global 2X2 matrix of float)
+0:4 Constant:
+0:4 1.000000
+0:4 0.000000
+0:4 0.000000
+0:4 1.000000
+0:15 Sequence
+0:15 move second child to first child (temp structure{global float a, global int b})
+0:15 'e' (global structure{global float a, global int b})
+0:15 Constant:
+0:15 1.200000
+0:15 2 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp structure{global float a, global int b})
+0:20 'e2' (global structure{global float a, global int b})
+0:20 Constant:
+0:20 1.000000
+0:20 3 (const int)
+0:42 Sequence
+0:42 move second child to first child (temp 5-element array of float)
+0:42 'b5' (global 5-element array of float)
+0:42 Constant:
+0:42 3.400000
+0:42 4.200000
+0:42 5.000000
+0:42 5.200000
+0:42 1.100000
+0:67 Sequence
+0:67 move second child to first child (temp 3-component vector of float)
+0:67 'av3' (global 3-component vector of float)
+0:67 Construct vec3 (global 3-component vector of float)
+0:67 'vc1' (global float)
+0:67 'vc2' (global float)
+0:67 'vc3' (global float)
+0:68 Sequence
+0:68 move second child to first child (temp 3-component vector of float)
+0:68 'bv3' (global 3-component vector of float)
+0:68 Construct vec3 (temp 3-component vector of float)
+0:68 'vc1' (global float)
+0:68 'vc2' (global float)
+0:68 'vc3' (global float)
+0:70 Function Definition: main( (global void)
+0:70 Function Parameters:
+0:72 Sequence
+0:72 MemoryBarrier (global void)
+0:74 Test condition and select (temp void)
+0:74 Condition
+0:74 Compare Equal (temp bool)
+0:74 Constant:
+0:74 1 (const uint)
+0:74 2 (const uint)
+0:74 3.000000
+0:74 4.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 4.000000
+0:74 0.000000
+0:74 5.000000
+0:74 6.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 6.000000
+0:74 0.000000
+0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:74 true case is null
+0:76 Test condition and select (temp void)
+0:76 Condition
+0:76 Constant:
+0:76 true (const bool)
+0:76 true case is null
+0:? Linker Objects
+0:? 'a' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'b' (global 2X2 matrix of float)
+0:? 'c' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'a2' (global 2-element array of float)
+0:? 'b2' (global 2-component vector of float)
+0:? 'c2' (global 3X3 matrix of float)
+0:? 'd' (global 2X2 matrix of float)
+0:? 'e' (global structure{global float a, global int b})
+0:? 'e2' (global structure{global float a, global int b})
+0:? 'e3' (global structure{global float a, global int b})
+0:? 'a3' (global int)
+0:? 'b3' (global 2-element array of 4-component vector of float)
+0:? 'b4' (global 2-element array of 4-component vector of float)
+0:? 'c3' (global 4X2 matrix of float)
+0:? 'd2' (global implicitly-sized array of structure{global float s, global float t})
+0:? 'b5' (global 5-element array of float)
+0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'vc1' (global float)
+0:? 'vc2' (global float)
+0:? 'vc3' (global float)
+0:? 'av3' (global 3-component vector of float)
+0:? 'bv3' (global 3-component vector of float)
+
+
+Linked tessellation evaluation stage:
+
+ERROR: Linking tessellation evaluation stage: At least one shader must specify an input layout primitive
+
+Shader version: 420
+input primitive = none
+vertex spacing = equal_spacing
+triangle order = ccw
+ERROR: node is still EOpNull!
+0:4 Sequence
+0:4 move second child to first child (temp 2X2 matrix of float)
+0:4 'b' (global 2X2 matrix of float)
+0:4 Constant:
+0:4 1.000000
+0:4 0.000000
+0:4 0.000000
+0:4 1.000000
+0:15 Sequence
+0:15 move second child to first child (temp structure{global float a, global int b})
+0:15 'e' (global structure{global float a, global int b})
+0:15 Constant:
+0:15 1.200000
+0:15 2 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp structure{global float a, global int b})
+0:20 'e2' (global structure{global float a, global int b})
+0:20 Constant:
+0:20 1.000000
+0:20 3 (const int)
+0:42 Sequence
+0:42 move second child to first child (temp 5-element array of float)
+0:42 'b5' (global 5-element array of float)
+0:42 Constant:
+0:42 3.400000
+0:42 4.200000
+0:42 5.000000
+0:42 5.200000
+0:42 1.100000
+0:67 Sequence
+0:67 move second child to first child (temp 3-component vector of float)
+0:67 'av3' (global 3-component vector of float)
+0:67 Construct vec3 (global 3-component vector of float)
+0:67 'vc1' (global float)
+0:67 'vc2' (global float)
+0:67 'vc3' (global float)
+0:68 Sequence
+0:68 move second child to first child (temp 3-component vector of float)
+0:68 'bv3' (global 3-component vector of float)
+0:68 Construct vec3 (temp 3-component vector of float)
+0:68 'vc1' (global float)
+0:68 'vc2' (global float)
+0:68 'vc3' (global float)
+0:70 Function Definition: main( (global void)
+0:70 Function Parameters:
+0:72 Sequence
+0:72 MemoryBarrier (global void)
+0:74 Test condition and select (temp void)
+0:74 Condition
+0:74 Compare Equal (temp bool)
+0:74 Constant:
+0:74 1 (const uint)
+0:74 2 (const uint)
+0:74 3.000000
+0:74 4.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 4.000000
+0:74 0.000000
+0:74 5.000000
+0:74 6.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 6.000000
+0:74 0.000000
+0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:74 true case is null
+0:76 Test condition and select (temp void)
+0:76 Condition
+0:76 Constant:
+0:76 true (const bool)
+0:76 true case is null
+0:? Linker Objects
+0:? 'a' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'b' (global 2X2 matrix of float)
+0:? 'c' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'a2' (global 2-element array of float)
+0:? 'b2' (global 2-component vector of float)
+0:? 'c2' (global 3X3 matrix of float)
+0:? 'd' (global 2X2 matrix of float)
+0:? 'e' (global structure{global float a, global int b})
+0:? 'e2' (global structure{global float a, global int b})
+0:? 'e3' (global structure{global float a, global int b})
+0:? 'a3' (global int)
+0:? 'b3' (global 2-element array of 4-component vector of float)
+0:? 'b4' (global 2-element array of 4-component vector of float)
+0:? 'c3' (global 4X2 matrix of float)
+0:? 'd2' (global 1-element array of structure{global float s, global float t})
+0:? 'b5' (global 5-element array of float)
+0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'vc1' (global float)
+0:? 'vc2' (global float)
+0:? 'vc3' (global float)
+0:? 'av3' (global 3-component vector of float)
+0:? 'bv3' (global 3-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/420.vert.out b/chromium/third_party/glslang/src/Test/baseResults/420.vert.out
new file mode 100644
index 00000000000..0f5110cbd87
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/420.vert.out
@@ -0,0 +1,556 @@
+420.vert
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:2: '#version' : must occur first in shader
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+ERROR: 0:3: 'varying' : no longer supported in core profile; removed in version 420
+ERROR: 0:7: '' : vertex input cannot be further qualified
+ERROR: 0:11: '' : can only have one interpolation qualifier (flat, smooth, noperspective)
+ERROR: 0:12: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
+ERROR: 0:13: 'uniform' : too many storage qualifiers
+ERROR: 0:18: '=' : global const initializers must be constant 'const int'
+ERROR: 0:20: 'const' : no qualifiers allowed for function return
+ERROR: 0:27: '' : array size must be a constant integer expression
+ERROR: 0:38: 'j' : undeclared identifier
+ERROR: 0:38: '=' : cannot convert from 'temp float' to 'temp int'
+ERROR: 0:39: 'k' : undeclared identifier
+ERROR: 0:39: '=' : cannot convert from 'temp float' to 'temp int'
+ERROR: 0:40: 'j' : undeclared identifier
+ERROR: 0:40: '=' : cannot convert from 'temp float' to 'temp int'
+ERROR: 0:44: 'jj' : undeclared identifier
+ERROR: 0:44: '=' : cannot convert from 'temp float' to 'temp int'
+ERROR: 0:54: 'y' : vector field selection out of range
+ERROR: 0:62: 'xxxxx' : illegal vector field selection
+ERROR: 0:63: 'xxy' : vector field selection out of range
+ERROR: 0:66: 'binding' : cannot declare a default, include a type or full declaration
+ERROR: 0:69: 'location/component/index' : cannot declare a default, use a full declaration
+ERROR: 0:70: 'input block' : not supported in this stage: vertex
+ERROR: 0:70: 'binding' : requires uniform or buffer storage qualifier
+ERROR: 0:71: 'binding' : binding is too large
+ERROR: 0:74: 'binding' : sampler binding not less than gl_MaxCombinedTextureImageUnits
+ERROR: 0:76: 'binding' : sampler binding not less than gl_MaxCombinedTextureImageUnits (using array)
+ERROR: 0:85: 'patch' : not supported in this stage: vertex
+ERROR: 0:85: '' : vertex input cannot be further qualified
+ERROR: 0:86: 'patch' : not supported in this stage: vertex
+ERROR: 0:100: '=' : global const initializers must be constant 'const int'
+ERROR: 0:101: '' : array size must be a constant integer expression
+ERROR: 0:107: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:114: 'imageAtomicMin' : only supported on image with format r32i or r32ui
+ERROR: 0:115: 'imageAtomicMax' : no matching overloaded function found
+ERROR: 0:119: 'writeonly' : argument cannot drop memory qualifier when passed to formal parameter
+ERROR: 0:122: '' : memory qualifiers cannot be used on this type
+ERROR: 0:123: '' : memory qualifiers cannot be used on this type
+ERROR: 0:135: 'volatile' : argument cannot drop memory qualifier when passed to formal parameter
+ERROR: 0:139: 'rg8i' : does not apply to unsigned integer images
+ERROR: 0:140: 'rgba32i' : does not apply to floating point images
+ERROR: 0:141: 'rgba32f' : does not apply to unsigned integer images
+ERROR: 0:142: 'r8_snorm' : does not apply to signed integer images
+ERROR: 0:143: 'rgba32ui' : does not apply to signed integer images
+ERROR: 0:144: 'r8ui' : does not apply to signed integer images
+ERROR: 0:147: 'offset on block member' : not supported for this version or the enabled extensions
+ERROR: 0:157: 'textureQueryLevels' : no matching overloaded function found
+ERROR: 0:157: 'assign' : cannot convert from 'const float' to 'temp int'
+ERROR: 0:158: 'textureQueryLevels' : no matching overloaded function found
+ERROR: 0:158: 'assign' : cannot convert from 'const float' to 'temp int'
+ERROR: 50 compilation errors. No code generated.
+
+
+Shader version: 420
+ERROR: node is still EOpNull!
+0:20 Function Definition: foo( (const int)
+0:20 Function Parameters:
+0:? Sequence
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'b' (const (read only) int)
+0:23 'anonconst' (global int)
+0:25 Sequence
+0:25 move second child to first child (temp int)
+0:25 'd' (const (read only) int)
+0:25 'b' (const (read only) int)
+0:29 Branch: Return with expression
+0:29 'b' (const (read only) int)
+0:32 Function Definition: main( (global void)
+0:32 Function Parameters:
+0:? Sequence
+0:35 Test condition and select (temp void)
+0:35 Condition
+0:35 Compare Equal (temp bool)
+0:35 'i' (temp int)
+0:35 Constant:
+0:35 3 (const int)
+0:35 true case
+0:36 Sequence
+0:36 move second child to first child (temp int)
+0:36 'j' (temp int)
+0:36 'i' (temp int)
+0:42 Loop with condition tested first
+0:42 Loop Condition
+0:42 Constant:
+0:42 true (const bool)
+0:42 No loop body
+0:50 Function Definition: bar(vf4; (global void)
+0:50 Function Parameters:
+0:50 'v' (volatile in 4-component vector of float)
+0:? Sequence
+0:53 's' (temp int)
+0:54 's' (temp int)
+0:55 Test condition and select (temp void)
+0:55 Condition
+0:55 Compare Equal (temp bool)
+0:55 direct index (temp float)
+0:55 direct index (temp 4-component vector of float)
+0:55 'bad' (in 10-element array of 4-component vector of float)
+0:55 Constant:
+0:55 0 (const int)
+0:55 Constant:
+0:55 0 (const int)
+0:55 Constant:
+0:55 4.200000
+0:55 true case is null
+0:57 Test condition and select (temp void)
+0:57 Condition
+0:57 Constant:
+0:57 true (const bool)
+0:57 true case
+0:58 move second child to first child (temp 4-component vector of float)
+0:58 'badorder3' (flat out 4-component vector of float)
+0:58 direct index (temp 4-component vector of float)
+0:58 'bad' (in 10-element array of 4-component vector of float)
+0:58 Constant:
+0:58 0 (const int)
+0:61 Sequence
+0:61 move second child to first child (temp 3-component vector of float)
+0:61 'smeared' (temp 3-component vector of float)
+0:61 Construct vec3 (temp 3-component vector of float)
+0:61 'f' (temp float)
+0:62 'f' (temp float)
+0:63 'f' (temp float)
+0:88 Function Definition: bar23444( (global void)
+0:88 Function Parameters:
+0:? Sequence
+0:91 Sequence
+0:91 move second child to first child (temp float)
+0:91 'a1' (temp float)
+0:91 direct index (temp float)
+0:91 direct index (temp 3-component vector of float)
+0:91 'm43' (temp 4X3 matrix of float)
+0:91 Constant:
+0:91 3 (const int)
+0:91 Constant:
+0:91 1 (const int)
+0:93 Sequence
+0:93 move second child to first child (temp int)
+0:93 'a2' (temp int)
+0:93 Constant:
+0:93 4 (const int)
+0:94 add second child into first child (temp int)
+0:94 'a2' (temp int)
+0:94 Constant:
+0:94 3 (const int)
+0:95 add second child into first child (temp int)
+0:95 'a2' (temp int)
+0:95 Constant:
+0:95 3 (const int)
+0:96 Sequence
+0:96 move second child to first child (temp float)
+0:96 'b' (const (read only) float)
+0:96 component-wise multiply (temp float)
+0:96 Constant:
+0:96 2.000000
+0:96 'a1' (temp float)
+0:97 Sequence
+0:97 move second child to first child (temp int)
+0:97 'a' (temp int)
+0:97 Constant:
+0:97 -1 (const int)
+0:109 Function Definition: qux( (global void)
+0:109 Function Parameters:
+0:111 Sequence
+0:111 Sequence
+0:111 move second child to first child (temp int)
+0:111 'i' (temp int)
+0:111 aoeu: direct index for structure (layout(column_major shared ) uniform int)
+0:111 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
+0:111 Constant:
+0:111 0 (const uint)
+0:112 imageAtomicCompSwap (global int)
+0:112 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:112 Construct ivec2 (temp 2-component vector of int)
+0:112 'i' (temp int)
+0:112 'i' (temp int)
+0:112 'i' (temp int)
+0:112 'i' (temp int)
+0:113 imageAtomicAdd (global uint)
+0:113 'uimg2D' (layout(r32ui ) uniform uimage2D)
+0:113 Construct ivec2 (temp 2-component vector of int)
+0:113 'i' (temp int)
+0:113 'i' (temp int)
+0:113 Convert int to uint (temp uint)
+0:113 'i' (temp int)
+0:114 imageAtomicMin (global int)
+0:114 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
+0:114 Construct ivec2 (temp 2-component vector of int)
+0:114 'i' (temp int)
+0:114 'i' (temp int)
+0:114 'i' (temp int)
+0:115 Constant:
+0:115 0.000000
+0:116 Sequence
+0:116 move second child to first child (temp 4-component vector of int)
+0:116 'pos' (temp 4-component vector of int)
+0:116 imageLoad (global 4-component vector of int)
+0:116 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:116 Construct ivec2 (temp 2-component vector of int)
+0:116 'i' (temp int)
+0:116 'i' (temp int)
+0:117 Sequence
+0:117 move second child to first child (temp 4-component vector of float)
+0:117 'col' (temp 4-component vector of float)
+0:117 imageLoad (global 4-component vector of float)
+0:117 'img2DMS' (uniform image2DMS)
+0:117 Construct ivec2 (temp 2-component vector of int)
+0:117 'i' (temp int)
+0:117 'i' (temp int)
+0:117 'i' (temp int)
+0:118 imageStore (global void)
+0:118 'img2DMSWO' (writeonly uniform image2DMS)
+0:118 Construct ivec2 (temp 2-component vector of int)
+0:118 'i' (temp int)
+0:118 'i' (temp int)
+0:118 'i' (temp int)
+0:118 Constant:
+0:118 0.000000
+0:118 0.000000
+0:118 0.000000
+0:118 0.000000
+0:119 imageLoad (global 4-component vector of float)
+0:119 'img2DMSWO' (writeonly uniform image2DMS)
+0:119 Construct ivec2 (temp 2-component vector of int)
+0:119 'i' (temp int)
+0:119 'i' (temp int)
+0:119 'i' (temp int)
+0:125 Function Definition: passr(iI21; (global void)
+0:125 Function Parameters:
+0:125 'image' (coherent readonly in iimage2D)
+0:132 Function Definition: passrc( (global void)
+0:132 Function Parameters:
+0:134 Sequence
+0:134 Function Call: passr(iI21; (global void)
+0:134 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
+0:135 Function Call: passr(iI21; (global void)
+0:135 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
+0:136 Function Call: passr(iI21; (global void)
+0:136 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:153 Function Definition: qlod( (global void)
+0:153 Function Parameters:
+0:? Sequence
+0:157 'levels' (temp int)
+0:158 'levels' (temp int)
+0:? Linker Objects
+0:? 'v2' (smooth out 2-component vector of float)
+0:? 'bad' (in 10-element array of 4-component vector of float)
+0:? 'badorder' (in 4-component vector of float)
+0:? 'badorder2' (invariant smooth out 4-component vector of float)
+0:? 'badorder4' (centroid in 4-component vector of float)
+0:? 'badorder3' (flat out 4-component vector of float)
+0:? 'rep' (smooth flat out 4-component vector of float)
+0:? 'rep2' (centroid smooth sample out 4-component vector of float)
+0:? 'rep3' (in 4-component vector of float)
+0:? 'anonconst' (global int)
+0:? 'aconst' (const int)
+0:? 5 (const int)
+0:? 'a' (const int)
+0:? 5 (const int)
+0:? 'b' (temp int)
+0:? 'cx' (const float)
+0:? 4.200000
+0:? 'dx' (const float)
+0:? 4.200000
+0:? 'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
+0:? 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
+0:? 'anon@1' (layout(binding=1 ) in block{in int aoeua})
+0:? 'anon@2' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform int aooeu})
+0:? 'sampb1' (layout(binding=4 ) uniform sampler2D)
+0:? 'sampb2' (layout(binding=5 ) uniform 10-element array of sampler2D)
+0:? 'sampb3' (layout(binding=80 ) uniform sampler2D)
+0:? 'sampb4' (layout(binding=31 ) uniform sampler2D)
+0:? 'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D)
+0:? 'anon@3' (out block{out 4-element array of float ClipDistance gl_ClipDistance, })
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (smooth patch out 4-component vector of float)
+0:? 'comma0' (temp int)
+0:? 'comma1' (global 1-element array of int)
+0:? 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:? 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
+0:? 'img2Drgba' (layout(rgba32f ) uniform image2D)
+0:? 'uimg2D' (layout(r32ui ) uniform uimage2D)
+0:? 'img2DMS' (uniform image2DMS)
+0:? 'img2DMSWO' (writeonly uniform image2DMS)
+0:? 'vol' (volatile temp float)
+0:? 'vol2' (readonly temp int)
+0:? 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
+0:? 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
+0:? 'i1bad' (layout(rg8i ) uniform uimage2D)
+0:? 'i2bad' (layout(rgba32i ) uniform image2D)
+0:? 'i3bad' (layout(rgba32f ) uniform uimage2D)
+0:? 'i4bad' (layout(r8_snorm ) uniform iimage2D)
+0:? 'i5bad' (layout(rgba32ui ) uniform iimage2D)
+0:? 'i6bad' (layout(r8ui ) uniform iimage2D)
+0:? 'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})
+0:? 'samp1D' (uniform sampler1D)
+0:? 'samp1Ds' (uniform sampler1DShadow)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 420
+ERROR: node is still EOpNull!
+0:20 Function Definition: foo( (const int)
+0:20 Function Parameters:
+0:? Sequence
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'b' (const (read only) int)
+0:23 'anonconst' (global int)
+0:25 Sequence
+0:25 move second child to first child (temp int)
+0:25 'd' (const (read only) int)
+0:25 'b' (const (read only) int)
+0:29 Branch: Return with expression
+0:29 'b' (const (read only) int)
+0:32 Function Definition: main( (global void)
+0:32 Function Parameters:
+0:? Sequence
+0:35 Test condition and select (temp void)
+0:35 Condition
+0:35 Compare Equal (temp bool)
+0:35 'i' (temp int)
+0:35 Constant:
+0:35 3 (const int)
+0:35 true case
+0:36 Sequence
+0:36 move second child to first child (temp int)
+0:36 'j' (temp int)
+0:36 'i' (temp int)
+0:42 Loop with condition tested first
+0:42 Loop Condition
+0:42 Constant:
+0:42 true (const bool)
+0:42 No loop body
+0:50 Function Definition: bar(vf4; (global void)
+0:50 Function Parameters:
+0:50 'v' (volatile in 4-component vector of float)
+0:? Sequence
+0:53 's' (temp int)
+0:54 's' (temp int)
+0:55 Test condition and select (temp void)
+0:55 Condition
+0:55 Compare Equal (temp bool)
+0:55 direct index (temp float)
+0:55 direct index (temp 4-component vector of float)
+0:55 'bad' (in 10-element array of 4-component vector of float)
+0:55 Constant:
+0:55 0 (const int)
+0:55 Constant:
+0:55 0 (const int)
+0:55 Constant:
+0:55 4.200000
+0:55 true case is null
+0:57 Test condition and select (temp void)
+0:57 Condition
+0:57 Constant:
+0:57 true (const bool)
+0:57 true case
+0:58 move second child to first child (temp 4-component vector of float)
+0:58 'badorder3' (flat out 4-component vector of float)
+0:58 direct index (temp 4-component vector of float)
+0:58 'bad' (in 10-element array of 4-component vector of float)
+0:58 Constant:
+0:58 0 (const int)
+0:61 Sequence
+0:61 move second child to first child (temp 3-component vector of float)
+0:61 'smeared' (temp 3-component vector of float)
+0:61 Construct vec3 (temp 3-component vector of float)
+0:61 'f' (temp float)
+0:62 'f' (temp float)
+0:63 'f' (temp float)
+0:88 Function Definition: bar23444( (global void)
+0:88 Function Parameters:
+0:? Sequence
+0:91 Sequence
+0:91 move second child to first child (temp float)
+0:91 'a1' (temp float)
+0:91 direct index (temp float)
+0:91 direct index (temp 3-component vector of float)
+0:91 'm43' (temp 4X3 matrix of float)
+0:91 Constant:
+0:91 3 (const int)
+0:91 Constant:
+0:91 1 (const int)
+0:93 Sequence
+0:93 move second child to first child (temp int)
+0:93 'a2' (temp int)
+0:93 Constant:
+0:93 4 (const int)
+0:94 add second child into first child (temp int)
+0:94 'a2' (temp int)
+0:94 Constant:
+0:94 3 (const int)
+0:95 add second child into first child (temp int)
+0:95 'a2' (temp int)
+0:95 Constant:
+0:95 3 (const int)
+0:96 Sequence
+0:96 move second child to first child (temp float)
+0:96 'b' (const (read only) float)
+0:96 component-wise multiply (temp float)
+0:96 Constant:
+0:96 2.000000
+0:96 'a1' (temp float)
+0:97 Sequence
+0:97 move second child to first child (temp int)
+0:97 'a' (temp int)
+0:97 Constant:
+0:97 -1 (const int)
+0:109 Function Definition: qux( (global void)
+0:109 Function Parameters:
+0:111 Sequence
+0:111 Sequence
+0:111 move second child to first child (temp int)
+0:111 'i' (temp int)
+0:111 aoeu: direct index for structure (layout(column_major shared ) uniform int)
+0:111 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
+0:111 Constant:
+0:111 0 (const uint)
+0:112 imageAtomicCompSwap (global int)
+0:112 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:112 Construct ivec2 (temp 2-component vector of int)
+0:112 'i' (temp int)
+0:112 'i' (temp int)
+0:112 'i' (temp int)
+0:112 'i' (temp int)
+0:113 imageAtomicAdd (global uint)
+0:113 'uimg2D' (layout(r32ui ) uniform uimage2D)
+0:113 Construct ivec2 (temp 2-component vector of int)
+0:113 'i' (temp int)
+0:113 'i' (temp int)
+0:113 Convert int to uint (temp uint)
+0:113 'i' (temp int)
+0:114 imageAtomicMin (global int)
+0:114 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
+0:114 Construct ivec2 (temp 2-component vector of int)
+0:114 'i' (temp int)
+0:114 'i' (temp int)
+0:114 'i' (temp int)
+0:115 Constant:
+0:115 0.000000
+0:116 Sequence
+0:116 move second child to first child (temp 4-component vector of int)
+0:116 'pos' (temp 4-component vector of int)
+0:116 imageLoad (global 4-component vector of int)
+0:116 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:116 Construct ivec2 (temp 2-component vector of int)
+0:116 'i' (temp int)
+0:116 'i' (temp int)
+0:117 Sequence
+0:117 move second child to first child (temp 4-component vector of float)
+0:117 'col' (temp 4-component vector of float)
+0:117 imageLoad (global 4-component vector of float)
+0:117 'img2DMS' (uniform image2DMS)
+0:117 Construct ivec2 (temp 2-component vector of int)
+0:117 'i' (temp int)
+0:117 'i' (temp int)
+0:117 'i' (temp int)
+0:118 imageStore (global void)
+0:118 'img2DMSWO' (writeonly uniform image2DMS)
+0:118 Construct ivec2 (temp 2-component vector of int)
+0:118 'i' (temp int)
+0:118 'i' (temp int)
+0:118 'i' (temp int)
+0:118 Constant:
+0:118 0.000000
+0:118 0.000000
+0:118 0.000000
+0:118 0.000000
+0:119 imageLoad (global 4-component vector of float)
+0:119 'img2DMSWO' (writeonly uniform image2DMS)
+0:119 Construct ivec2 (temp 2-component vector of int)
+0:119 'i' (temp int)
+0:119 'i' (temp int)
+0:119 'i' (temp int)
+0:125 Function Definition: passr(iI21; (global void)
+0:125 Function Parameters:
+0:125 'image' (coherent readonly in iimage2D)
+0:132 Function Definition: passrc( (global void)
+0:132 Function Parameters:
+0:134 Sequence
+0:134 Function Call: passr(iI21; (global void)
+0:134 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
+0:135 Function Call: passr(iI21; (global void)
+0:135 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
+0:136 Function Call: passr(iI21; (global void)
+0:136 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:153 Function Definition: qlod( (global void)
+0:153 Function Parameters:
+0:? Sequence
+0:157 'levels' (temp int)
+0:158 'levels' (temp int)
+0:? Linker Objects
+0:? 'v2' (smooth out 2-component vector of float)
+0:? 'bad' (in 10-element array of 4-component vector of float)
+0:? 'badorder' (in 4-component vector of float)
+0:? 'badorder2' (invariant smooth out 4-component vector of float)
+0:? 'badorder4' (centroid in 4-component vector of float)
+0:? 'badorder3' (flat out 4-component vector of float)
+0:? 'rep' (smooth flat out 4-component vector of float)
+0:? 'rep2' (centroid smooth sample out 4-component vector of float)
+0:? 'rep3' (in 4-component vector of float)
+0:? 'anonconst' (global int)
+0:? 'aconst' (const int)
+0:? 5 (const int)
+0:? 'a' (const int)
+0:? 5 (const int)
+0:? 'b' (temp int)
+0:? 'cx' (const float)
+0:? 4.200000
+0:? 'dx' (const float)
+0:? 4.200000
+0:? 'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
+0:? 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
+0:? 'anon@1' (layout(binding=1 ) in block{in int aoeua})
+0:? 'anon@2' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform int aooeu})
+0:? 'sampb1' (layout(binding=4 ) uniform sampler2D)
+0:? 'sampb2' (layout(binding=5 ) uniform 10-element array of sampler2D)
+0:? 'sampb3' (layout(binding=80 ) uniform sampler2D)
+0:? 'sampb4' (layout(binding=31 ) uniform sampler2D)
+0:? 'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D)
+0:? 'anon@3' (out block{out 4-element array of float ClipDistance gl_ClipDistance, })
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (smooth patch out 4-component vector of float)
+0:? 'comma0' (temp int)
+0:? 'comma1' (global 1-element array of int)
+0:? 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:? 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
+0:? 'img2Drgba' (layout(rgba32f ) uniform image2D)
+0:? 'uimg2D' (layout(r32ui ) uniform uimage2D)
+0:? 'img2DMS' (uniform image2DMS)
+0:? 'img2DMSWO' (writeonly uniform image2DMS)
+0:? 'vol' (volatile temp float)
+0:? 'vol2' (readonly temp int)
+0:? 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
+0:? 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
+0:? 'i1bad' (layout(rg8i ) uniform uimage2D)
+0:? 'i2bad' (layout(rgba32i ) uniform image2D)
+0:? 'i3bad' (layout(rgba32f ) uniform uimage2D)
+0:? 'i4bad' (layout(r8_snorm ) uniform iimage2D)
+0:? 'i5bad' (layout(rgba32ui ) uniform iimage2D)
+0:? 'i6bad' (layout(r8ui ) uniform iimage2D)
+0:? 'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})
+0:? 'samp1D' (uniform sampler1D)
+0:? 'samp1Ds' (uniform sampler1DShadow)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/420_size_gl_in.geom.out b/chromium/third_party/glslang/src/Test/baseResults/420_size_gl_in.geom.out
new file mode 100644
index 00000000000..21d1944fd05
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/420_size_gl_in.geom.out
@@ -0,0 +1,77 @@
+420_size_gl_in.geom
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:19: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 420
+invocations = -1
+max_vertices = -1
+input primitive = triangles
+output primitive = none
+ERROR: node is still EOpNull!
+0:11 Function Definition: foo( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 Constant:
+0:13 3 (const int)
+0:14 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:14 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:14 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:14 Constant:
+0:14 1 (const int)
+0:14 Constant:
+0:14 0 (const int)
+0:15 Constant:
+0:15 3 (const int)
+0:16 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:16 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:16 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:16 'i' (global int)
+0:16 Constant:
+0:16 0 (const int)
+0:? Linker Objects
+0:? 'i' (global int)
+0:? 'colorun' (in 3-element array of 4-component vector of float)
+0:? 'color3' (in 3-element array of 4-component vector of float)
+0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+
+
+Linked geometry stage:
+
+ERROR: Linking geometry stage: Missing entry point: Each stage requires one "void main()" entry point
+ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
+ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
+
+Shader version: 420
+invocations = 1
+max_vertices = -1
+input primitive = triangles
+output primitive = none
+ERROR: node is still EOpNull!
+0:11 Function Definition: foo( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 Constant:
+0:13 3 (const int)
+0:14 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:14 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:14 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:14 Constant:
+0:14 1 (const int)
+0:14 Constant:
+0:14 0 (const int)
+0:15 Constant:
+0:15 3 (const int)
+0:16 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:16 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:16 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:16 'i' (global int)
+0:16 Constant:
+0:16 0 (const int)
+0:? Linker Objects
+0:? 'i' (global int)
+0:? 'colorun' (in 3-element array of 4-component vector of float)
+0:? 'color3' (in 3-element array of 4-component vector of float)
+0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/430.comp.out b/chromium/third_party/glslang/src/Test/baseResults/430.comp.out
new file mode 100644
index 00000000000..aecf42fcf6d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/430.comp.out
@@ -0,0 +1,281 @@
+430.comp
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:4: 'local_size' : cannot change previously set size
+ERROR: 0:5: 'local_size' : too large; see gl_MaxComputeWorkGroupSize
+ERROR: 0:43: 'in' : global storage input qualifier cannot be used in a compute shader
+ERROR: 0:43: 'location qualifier on input' : not supported in this stage: compute
+ERROR: 0:44: 'in' : global storage input qualifier cannot be used in a compute shader
+ERROR: 0:45: 'out' : global storage output qualifier cannot be used in a compute shader
+ERROR: 0:48: 'shared' : cannot apply layout qualifiers to a shared variable
+ERROR: 0:48: 'location' : can only apply to uniform, buffer, in, or out storage qualifiers
+ERROR: 0:49: 'shared' : cannot initialize this type of qualifier
+ERROR: 0:51: 'local_size' : can only apply to 'in'
+ERROR: 0:51: 'local_size' : can only apply to 'in'
+ERROR: 0:51: 'local_size' : can only apply to 'in'
+ERROR: 0:65: 'assign' : l-value required "ro" (can't modify a readonly buffer)
+ERROR: 0:77: '=' : cannot convert from 'temp double' to 'temp int'
+ERROR: 0:81: 'input block' : not supported in this stage: compute
+ERROR: 0:85: 'output block' : not supported in this stage: compute
+ERROR: 16 compilation errors. No code generated.
+
+
+Shader version: 430
+local_size = (2, 1, 4096)
+ERROR: node is still EOpNull!
+0:27 Function Definition: main( (global void)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Barrier (global void)
+0:30 MemoryBarrier (global void)
+0:31 MemoryBarrierAtomicCounter (global void)
+0:32 MemoryBarrierBuffer (global void)
+0:33 MemoryBarrierShared (global void)
+0:34 MemoryBarrierImage (global void)
+0:35 GroupMemoryBarrier (global void)
+0:36 move second child to first child (temp int)
+0:36 value: direct index for structure (layout(column_major shared ) buffer int)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:36 Constant:
+0:36 0 (const uint)
+0:36 Convert float to int (temp int)
+0:36 indirect index (layout(column_major shared ) temp float)
+0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:36 Constant:
+0:36 1 (const uint)
+0:36 'gl_LocalInvocationIndex' (in uint LocalInvocationIndex)
+0:39 Test condition and select (temp void)
+0:39 Condition
+0:39 Compare Greater Than (temp bool)
+0:39 'a' (temp int)
+0:39 Constant:
+0:39 10 (const int)
+0:39 true case
+0:40 Barrier (global void)
+0:63 Function Definition: foo( (global void)
+0:63 Function Parameters:
+0:65 Sequence
+0:65 move second child to first child (temp float)
+0:65 direct index (layout(column_major shared ) temp float)
+0:65 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
+0:65 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:65 Constant:
+0:65 1 (const int)
+0:65 Constant:
+0:65 2 (const int)
+0:65 Constant:
+0:65 4.700000
+0:66 array length (temp int)
+0:66 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
+0:66 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:66 Constant:
+0:66 1 (const int)
+0:67 Barrier (global void)
+0:72 Function Definition: fooaoeu( (global void)
+0:72 Function Parameters:
+0:73 Sequence
+0:73 Sequence
+0:73 move second child to first child (temp 2-component vector of int)
+0:73 'storePos' (temp 2-component vector of int)
+0:73 Convert uint to int (temp 2-component vector of int)
+0:73 vector swizzle (temp 2-component vector of uint)
+0:73 'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID)
+0:73 Sequence
+0:73 Constant:
+0:73 0 (const int)
+0:73 Constant:
+0:73 1 (const int)
+0:74 Sequence
+0:74 move second child to first child (temp double)
+0:74 'localCoef' (temp double)
+0:74 Convert float to double (temp double)
+0:74 length (global float)
+0:74 divide (temp 2-component vector of float)
+0:74 Convert int to float (temp 2-component vector of float)
+0:74 subtract (temp 2-component vector of int)
+0:74 Convert uint to int (temp 2-component vector of int)
+0:74 vector swizzle (temp 2-component vector of uint)
+0:74 'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID)
+0:74 Sequence
+0:74 Constant:
+0:74 0 (const int)
+0:74 Constant:
+0:74 1 (const int)
+0:74 Constant:
+0:74 8 (const int)
+0:74 Constant:
+0:74 8.000000
+0:75 Sequence
+0:75 move second child to first child (temp 4-component vector of double)
+0:75 'aa' (temp 4-component vector of double)
+0:75 Constant:
+0:75 0.400000
+0:75 0.200000
+0:75 0.300000
+0:75 0.400000
+0:76 Sequence
+0:76 move second child to first child (temp double)
+0:76 'globalCoef' (temp double)
+0:76 Constant:
+0:76 1.000000
+0:78 Sequence
+0:78 move second child to first child (temp double)
+0:78 'di' (temp double)
+0:78 Convert int to double (temp double)
+0:78 'i' (temp int)
+0:? Linker Objects
+0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
+0:? 2 (const uint)
+0:? 1 (const uint)
+0:? 4096 (const uint)
+0:? 'total' (const int)
+0:? 66592 (const int)
+0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of float values, layout(column_major shared ) buffer int value})
+0:? 'v3' (layout(location=2 ) in 3-component vector of float)
+0:? 'f' (in float)
+0:? 'fo' (out float)
+0:? 's' (shared 4-component vector of float)
+0:? 'sl' (layout(location=2 ) shared 4-component vector of float)
+0:? 'fs' (shared float)
+0:? 'arrX' (global 2-element array of int)
+0:? 'arrY' (global 1-element array of int)
+0:? 'arrZ' (global 4096-element array of int)
+0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:? 'roll' (uniform double)
+0:? 'destTex' (writeonly uniform image2D)
+0:? 'inbi' (in block{in int a})
+0:? 'outbi' (out block{out int a})
+
+
+Linked compute stage:
+
+
+Shader version: 430
+local_size = (2, 1, 4096)
+ERROR: node is still EOpNull!
+0:27 Function Definition: main( (global void)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Barrier (global void)
+0:30 MemoryBarrier (global void)
+0:31 MemoryBarrierAtomicCounter (global void)
+0:32 MemoryBarrierBuffer (global void)
+0:33 MemoryBarrierShared (global void)
+0:34 MemoryBarrierImage (global void)
+0:35 GroupMemoryBarrier (global void)
+0:36 move second child to first child (temp int)
+0:36 value: direct index for structure (layout(column_major shared ) buffer int)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:36 Constant:
+0:36 0 (const uint)
+0:36 Convert float to int (temp int)
+0:36 indirect index (layout(column_major shared ) temp float)
+0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:36 Constant:
+0:36 1 (const uint)
+0:36 'gl_LocalInvocationIndex' (in uint LocalInvocationIndex)
+0:39 Test condition and select (temp void)
+0:39 Condition
+0:39 Compare Greater Than (temp bool)
+0:39 'a' (temp int)
+0:39 Constant:
+0:39 10 (const int)
+0:39 true case
+0:40 Barrier (global void)
+0:63 Function Definition: foo( (global void)
+0:63 Function Parameters:
+0:65 Sequence
+0:65 move second child to first child (temp float)
+0:65 direct index (layout(column_major shared ) temp float)
+0:65 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
+0:65 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:65 Constant:
+0:65 1 (const int)
+0:65 Constant:
+0:65 2 (const int)
+0:65 Constant:
+0:65 4.700000
+0:66 array length (temp int)
+0:66 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
+0:66 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:66 Constant:
+0:66 1 (const int)
+0:67 Barrier (global void)
+0:72 Function Definition: fooaoeu( (global void)
+0:72 Function Parameters:
+0:73 Sequence
+0:73 Sequence
+0:73 move second child to first child (temp 2-component vector of int)
+0:73 'storePos' (temp 2-component vector of int)
+0:73 Convert uint to int (temp 2-component vector of int)
+0:73 vector swizzle (temp 2-component vector of uint)
+0:73 'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID)
+0:73 Sequence
+0:73 Constant:
+0:73 0 (const int)
+0:73 Constant:
+0:73 1 (const int)
+0:74 Sequence
+0:74 move second child to first child (temp double)
+0:74 'localCoef' (temp double)
+0:74 Convert float to double (temp double)
+0:74 length (global float)
+0:74 divide (temp 2-component vector of float)
+0:74 Convert int to float (temp 2-component vector of float)
+0:74 subtract (temp 2-component vector of int)
+0:74 Convert uint to int (temp 2-component vector of int)
+0:74 vector swizzle (temp 2-component vector of uint)
+0:74 'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID)
+0:74 Sequence
+0:74 Constant:
+0:74 0 (const int)
+0:74 Constant:
+0:74 1 (const int)
+0:74 Constant:
+0:74 8 (const int)
+0:74 Constant:
+0:74 8.000000
+0:75 Sequence
+0:75 move second child to first child (temp 4-component vector of double)
+0:75 'aa' (temp 4-component vector of double)
+0:75 Constant:
+0:75 0.400000
+0:75 0.200000
+0:75 0.300000
+0:75 0.400000
+0:76 Sequence
+0:76 move second child to first child (temp double)
+0:76 'globalCoef' (temp double)
+0:76 Constant:
+0:76 1.000000
+0:78 Sequence
+0:78 move second child to first child (temp double)
+0:78 'di' (temp double)
+0:78 Convert int to double (temp double)
+0:78 'i' (temp int)
+0:? Linker Objects
+0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
+0:? 2 (const uint)
+0:? 1 (const uint)
+0:? 4096 (const uint)
+0:? 'total' (const int)
+0:? 66592 (const int)
+0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of float values, layout(column_major shared ) buffer int value})
+0:? 'v3' (layout(location=2 ) in 3-component vector of float)
+0:? 'f' (in float)
+0:? 'fo' (out float)
+0:? 's' (shared 4-component vector of float)
+0:? 'sl' (layout(location=2 ) shared 4-component vector of float)
+0:? 'fs' (shared float)
+0:? 'arrX' (global 2-element array of int)
+0:? 'arrY' (global 1-element array of int)
+0:? 'arrZ' (global 4096-element array of int)
+0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:? 'roll' (uniform double)
+0:? 'destTex' (writeonly uniform image2D)
+0:? 'inbi' (in block{in int a})
+0:? 'outbi' (out block{out int a})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/430.vert.out b/chromium/third_party/glslang/src/Test/baseResults/430.vert.out
new file mode 100644
index 00000000000..8cfd20c03cb
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/430.vert.out
@@ -0,0 +1,469 @@
+430.vert
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:3: 'location' : can only apply to uniform, buffer, in, or out storage qualifiers
+ERROR: 0:7: 'input block' : not supported in this stage: vertex
+ERROR: 0:7: 'location qualifier on in/out block' : not supported for this version or the enabled extensions
+ERROR: 0:8: 'location qualifier on in/out block' : not supported for this version or the enabled extensions
+ERROR: 0:23: 'invariant' : can only apply to an output
+ERROR: 0:21: 'g' : cannot use storage or interpolation qualifiers on structure members
+ERROR: 0:22: 'h' : cannot use storage or interpolation qualifiers on structure members
+ERROR: 0:23: 'i' : cannot use invariant qualifier on structure members
+ERROR: 0:24: 'j' : cannot use memory qualifiers on structure members
+ERROR: 0:25: 'm3' : cannot use layout qualifiers on structure members
+ERROR: 0:28: '' : cannot use invariant qualifier on a function parameter
+ERROR: 0:30: '' : cannot use layout qualifiers on a function parameter
+ERROR: 0:31: '' : cannot use auxiliary or interpolation qualifiers on a function parameter
+ERROR: 0:42: 'location' : overlapping use of location 53
+ERROR: 0:47: 'gl_ClipDistance array size' : must be less than gl_MaxClipDistances (8)
+ERROR: 0:51: 'start' : undeclared identifier
+ERROR: 0:51: '' : constant expression required
+ERROR: 0:51: 'layout-id value' : scalar integer expression required
+ERROR: 0:53: 'input block' : not supported in this stage: vertex
+ERROR: 0:54: 'location on block member' : not supported for this version or the enabled extensions
+ERROR: 0:57: 'input block' : not supported in this stage: vertex
+ERROR: 0:58: 'location on block member' : not supported for this version or the enabled extensions
+ERROR: 0:59: 'location on block member' : not supported for this version or the enabled extensions
+ERROR: 0:62: 'uniform buffer-member align' : not supported for this version or the enabled extensions
+ERROR: 0:64: 'uniform buffer-member align' : not supported for this version or the enabled extensions
+ERROR: 0:65: 'uniform buffer-member align' : not supported for this version or the enabled extensions
+ERROR: 0:65: 'offset on block member' : not supported for this version or the enabled extensions
+ERROR: 0:66: 'offset on block member' : not supported for this version or the enabled extensions
+ERROR: 0:64: 'offset/align' : can only be used with std140 or std430 layout packing
+ERROR: 0:65: 'align' : can only be used with std140 or std430 layout packing
+ERROR: 0:71: 'offset on block member' : not supported for this version or the enabled extensions
+ERROR: 0:74: 'gl_MaxTransformFeedbackBuffers' : required extension not requested: GL_ARB_enhanced_layouts
+ERROR: 0:75: 'gl_MaxTransformFeedbackInterleavedComponents' : required extension not requested: GL_ARB_enhanced_layouts
+ERROR: 0:78: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:81: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:81: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:83: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:83: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:83: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:84: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:84: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:86: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:86: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:86: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:92: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:93: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:93: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:93: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:117: 'input block' : not supported in this stage: vertex
+ERROR: 0:123: 'input block' : not supported in this stage: vertex
+ERROR: 0:146: 'shared' : not supported in this stage: vertex
+ERROR: 0:150: 'barrier' : no matching overloaded function found
+ERROR: 0:154: 'memoryBarrierShared' : no matching overloaded function found
+ERROR: 0:156: 'groupMemoryBarrier' : no matching overloaded function found
+ERROR: 0:159: 'buffer' : buffers can be declared only as blocks
+ERROR: 0:168: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions
+ERROR: 0:169: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions
+ERROR: 0:170: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions
+ERROR: 0:171: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions
+ERROR: 0:221: 'textureQueryLevels' : no matching overloaded function found
+ERROR: 0:221: 'assign' : cannot convert from 'const float' to 'temp int'
+ERROR: 0:222: 'textureQueryLevels' : no matching overloaded function found
+ERROR: 0:222: 'assign' : cannot convert from 'const float' to 'temp int'
+ERROR: 63 compilation errors. No code generated.
+
+
+Shader version: 430
+Requested GL_ARB_enhanced_layouts
+Requested GL_ARB_shader_texture_image_samples
+in xfb mode
+ERROR: node is still EOpNull!
+0:14 Function Definition: foo( (global void)
+0:14 Function Parameters:
+0:16 Sequence
+0:16 move second child to first child (temp float)
+0:16 direct index (temp float ClipDistance)
+0:16 gl_ClipDistance: direct index for structure (out 17-element array of float ClipDistance)
+0:16 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })
+0:16 Constant:
+0:16 2 (const uint)
+0:16 Constant:
+0:16 2 (const int)
+0:16 Constant:
+0:16 3.700000
+0:31 Function Definition: foo3(vf4;vf3;vf2;vf3; (global void)
+0:31 Function Parameters:
+0:31 'v4' (in 4-component vector of float)
+0:31 'v3' (volatile in 3-component vector of float)
+0:31 'v2' (in 2-component vector of float)
+0:31 'cv3' (in 3-component vector of float)
+0:148 Function Definition: fooBarrier( (global void)
+0:148 Function Parameters:
+0:150 Sequence
+0:150 Constant:
+0:150 0.000000
+0:151 MemoryBarrier (global void)
+0:152 MemoryBarrierAtomicCounter (global void)
+0:153 MemoryBarrierBuffer (global void)
+0:154 Constant:
+0:154 0.000000
+0:155 MemoryBarrierImage (global void)
+0:156 Constant:
+0:156 0.000000
+0:166 Function Definition: fooq( (global void)
+0:166 Function Parameters:
+0:168 Sequence
+0:168 Sequence
+0:168 move second child to first child (temp int)
+0:168 's' (temp int)
+0:168 textureSamples (global int)
+0:168 's2dms' (uniform sampler2DMS)
+0:169 add second child into first child (temp int)
+0:169 's' (temp int)
+0:169 textureSamples (global int)
+0:169 'us2dmsa' (uniform usampler2DMSArray)
+0:170 add second child into first child (temp int)
+0:170 's' (temp int)
+0:170 imageQuerySamples (global int)
+0:170 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:171 add second child into first child (temp int)
+0:171 's' (temp int)
+0:171 imageQuerySamples (global int)
+0:171 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:176 Function Definition: fooq2( (global void)
+0:176 Function Parameters:
+0:178 Sequence
+0:178 Sequence
+0:178 move second child to first child (temp int)
+0:178 's' (temp int)
+0:178 textureSamples (global int)
+0:178 's2dms' (uniform sampler2DMS)
+0:179 add second child into first child (temp int)
+0:179 's' (temp int)
+0:179 textureSamples (global int)
+0:179 'us2dmsa' (uniform usampler2DMSArray)
+0:180 add second child into first child (temp int)
+0:180 's' (temp int)
+0:180 imageQuerySamples (global int)
+0:180 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:181 add second child into first child (temp int)
+0:181 's' (temp int)
+0:181 imageQuerySamples (global int)
+0:181 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:202 Function Definition: qlod( (global void)
+0:202 Function Parameters:
+0:? Sequence
+0:206 move second child to first child (temp int)
+0:206 'levels' (temp int)
+0:206 textureQueryLevels (global int)
+0:206 'samp1D' (uniform sampler1D)
+0:207 move second child to first child (temp int)
+0:207 'levels' (temp int)
+0:207 textureQueryLevels (global int)
+0:207 'usamp2D' (uniform usampler2D)
+0:208 move second child to first child (temp int)
+0:208 'levels' (temp int)
+0:208 textureQueryLevels (global int)
+0:208 'isamp3D' (uniform isampler3D)
+0:209 move second child to first child (temp int)
+0:209 'levels' (temp int)
+0:209 textureQueryLevels (global int)
+0:209 'isampCube' (uniform isamplerCube)
+0:210 move second child to first child (temp int)
+0:210 'levels' (temp int)
+0:210 textureQueryLevels (global int)
+0:210 'isamp1DA' (uniform isampler1DArray)
+0:211 move second child to first child (temp int)
+0:211 'levels' (temp int)
+0:211 textureQueryLevels (global int)
+0:211 'samp2DA' (uniform sampler2DArray)
+0:212 move second child to first child (temp int)
+0:212 'levels' (temp int)
+0:212 textureQueryLevels (global int)
+0:212 'usampCubeA' (uniform usamplerCubeArray)
+0:214 move second child to first child (temp int)
+0:214 'levels' (temp int)
+0:214 textureQueryLevels (global int)
+0:214 'samp1Ds' (uniform sampler1DShadow)
+0:215 move second child to first child (temp int)
+0:215 'levels' (temp int)
+0:215 textureQueryLevels (global int)
+0:215 'samp2Ds' (uniform sampler2DShadow)
+0:216 move second child to first child (temp int)
+0:216 'levels' (temp int)
+0:216 textureQueryLevels (global int)
+0:216 'sampCubes' (uniform samplerCubeShadow)
+0:217 move second child to first child (temp int)
+0:217 'levels' (temp int)
+0:217 textureQueryLevels (global int)
+0:217 'samp1DAs' (uniform sampler1DArrayShadow)
+0:218 move second child to first child (temp int)
+0:218 'levels' (temp int)
+0:218 textureQueryLevels (global int)
+0:218 'samp2DAs' (uniform sampler2DArrayShadow)
+0:219 move second child to first child (temp int)
+0:219 'levels' (temp int)
+0:219 textureQueryLevels (global int)
+0:219 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:221 'levels' (temp int)
+0:222 'levels' (temp int)
+0:? Linker Objects
+0:? 'v4' (layout(location=3 ) temp 4-component vector of float)
+0:? 'uv4' (layout(location=4 ) uniform 4-component vector of float)
+0:? 'b1' (layout(location=2 ) in block{in 4-component vector of float v})
+0:? 'b2' (layout(location=2 ) out block{out 4-component vector of float v})
+0:? 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })
+0:? 'cs' (layout(location=10 ) smooth out 2-element array of structure{global 7-element array of 3X2 matrix of float m, global float f})
+0:? 'cf' (layout(location=54 ) smooth out float)
+0:? 'cg' (layout(location=53 ) smooth out float)
+0:? 'alias1' (layout(location=10 ) in 4-component vector of float)
+0:? 'alias2' (layout(location=10 ) in 4-component vector of float)
+0:? 'v6e' (layout(location=0 ) in 4-component vector of float)
+0:? 'ininst2e' (in block{layout(location=25 ) in float f2})
+0:? 'in4e' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
+0:? 'inst4e' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
+0:? 'inst9e' (layout(column_major shared align=32 ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f, layout(column_major shared offset=20 ) uniform float g})
+0:? 'spinste' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b})
+0:? 'aconste' (global 4-element array of int)
+0:? 'bconste' (global 64-element array of int)
+0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})
+0:? 'bge' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bhe' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float)
+0:? 'bbinst4e' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2})
+0:? 'bbinst5e' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2})
+0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
+0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g})
+0:? 'spinst' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b})
+0:? 'aconst' (global 4-element array of int)
+0:? 'bconst' (global 64-element array of int)
+0:? 'start2' (const int)
+0:? 5 (const int)
+0:? 'v6' (layout(location=19 ) in 4-component vector of float)
+0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2})
+0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
+0:? 'bbinst2g' (out block{layout(xfb_buffer=3 xfb_offset=64 ) out 4-component vector of float bbv})
+0:? 'bg' (layout(xfb_buffer=1 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bh' (layout(xfb_buffer=1 xfb_offset=32 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=1 xfb_offset=16 ) out 4-component vector of float bbv1})
+0:? 'bbinst5' (out block{layout(xfb_buffer=1 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=1 xfb_offset=64 xfb_stride=80 ) out 4-component vector of float bbv2})
+0:? 'sharedv' (shared 4-component vector of float)
+0:? 'v' (buffer 4-component vector of float)
+0:? 's2dms' (uniform sampler2DMS)
+0:? 'us2dmsa' (uniform usampler2DMSArray)
+0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:? 'samp1D' (uniform sampler1D)
+0:? 'usamp2D' (uniform usampler2D)
+0:? 'isamp3D' (uniform isampler3D)
+0:? 'isampCube' (uniform isamplerCube)
+0:? 'isamp1DA' (uniform isampler1DArray)
+0:? 'samp2DA' (uniform sampler2DArray)
+0:? 'usampCubeA' (uniform usamplerCubeArray)
+0:? 'samp1Ds' (uniform sampler1DShadow)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+0:? 'sampCubes' (uniform samplerCubeShadow)
+0:? 'samp1DAs' (uniform sampler1DArrayShadow)
+0:? 'samp2DAs' (uniform sampler2DArrayShadow)
+0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:? 'sampBuf' (uniform samplerBuffer)
+0:? 'sampRect' (uniform sampler2DRect)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: Missing entry point: Each stage requires one "void main()" entry point
+ERROR: Linking vertex stage: xfb_stride is too small to hold all buffer entries:
+ERROR: xfb_buffer 3, xfb_stride 64, minimum stride needed: 80
+
+Shader version: 430
+Requested GL_ARB_enhanced_layouts
+Requested GL_ARB_shader_texture_image_samples
+in xfb mode
+ERROR: node is still EOpNull!
+0:14 Function Definition: foo( (global void)
+0:14 Function Parameters:
+0:16 Sequence
+0:16 move second child to first child (temp float)
+0:16 direct index (temp float ClipDistance)
+0:16 gl_ClipDistance: direct index for structure (out 17-element array of float ClipDistance)
+0:16 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })
+0:16 Constant:
+0:16 2 (const uint)
+0:16 Constant:
+0:16 2 (const int)
+0:16 Constant:
+0:16 3.700000
+0:31 Function Definition: foo3(vf4;vf3;vf2;vf3; (global void)
+0:31 Function Parameters:
+0:31 'v4' (in 4-component vector of float)
+0:31 'v3' (volatile in 3-component vector of float)
+0:31 'v2' (in 2-component vector of float)
+0:31 'cv3' (in 3-component vector of float)
+0:148 Function Definition: fooBarrier( (global void)
+0:148 Function Parameters:
+0:150 Sequence
+0:150 Constant:
+0:150 0.000000
+0:151 MemoryBarrier (global void)
+0:152 MemoryBarrierAtomicCounter (global void)
+0:153 MemoryBarrierBuffer (global void)
+0:154 Constant:
+0:154 0.000000
+0:155 MemoryBarrierImage (global void)
+0:156 Constant:
+0:156 0.000000
+0:166 Function Definition: fooq( (global void)
+0:166 Function Parameters:
+0:168 Sequence
+0:168 Sequence
+0:168 move second child to first child (temp int)
+0:168 's' (temp int)
+0:168 textureSamples (global int)
+0:168 's2dms' (uniform sampler2DMS)
+0:169 add second child into first child (temp int)
+0:169 's' (temp int)
+0:169 textureSamples (global int)
+0:169 'us2dmsa' (uniform usampler2DMSArray)
+0:170 add second child into first child (temp int)
+0:170 's' (temp int)
+0:170 imageQuerySamples (global int)
+0:170 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:171 add second child into first child (temp int)
+0:171 's' (temp int)
+0:171 imageQuerySamples (global int)
+0:171 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:176 Function Definition: fooq2( (global void)
+0:176 Function Parameters:
+0:178 Sequence
+0:178 Sequence
+0:178 move second child to first child (temp int)
+0:178 's' (temp int)
+0:178 textureSamples (global int)
+0:178 's2dms' (uniform sampler2DMS)
+0:179 add second child into first child (temp int)
+0:179 's' (temp int)
+0:179 textureSamples (global int)
+0:179 'us2dmsa' (uniform usampler2DMSArray)
+0:180 add second child into first child (temp int)
+0:180 's' (temp int)
+0:180 imageQuerySamples (global int)
+0:180 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:181 add second child into first child (temp int)
+0:181 's' (temp int)
+0:181 imageQuerySamples (global int)
+0:181 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:202 Function Definition: qlod( (global void)
+0:202 Function Parameters:
+0:? Sequence
+0:206 move second child to first child (temp int)
+0:206 'levels' (temp int)
+0:206 textureQueryLevels (global int)
+0:206 'samp1D' (uniform sampler1D)
+0:207 move second child to first child (temp int)
+0:207 'levels' (temp int)
+0:207 textureQueryLevels (global int)
+0:207 'usamp2D' (uniform usampler2D)
+0:208 move second child to first child (temp int)
+0:208 'levels' (temp int)
+0:208 textureQueryLevels (global int)
+0:208 'isamp3D' (uniform isampler3D)
+0:209 move second child to first child (temp int)
+0:209 'levels' (temp int)
+0:209 textureQueryLevels (global int)
+0:209 'isampCube' (uniform isamplerCube)
+0:210 move second child to first child (temp int)
+0:210 'levels' (temp int)
+0:210 textureQueryLevels (global int)
+0:210 'isamp1DA' (uniform isampler1DArray)
+0:211 move second child to first child (temp int)
+0:211 'levels' (temp int)
+0:211 textureQueryLevels (global int)
+0:211 'samp2DA' (uniform sampler2DArray)
+0:212 move second child to first child (temp int)
+0:212 'levels' (temp int)
+0:212 textureQueryLevels (global int)
+0:212 'usampCubeA' (uniform usamplerCubeArray)
+0:214 move second child to first child (temp int)
+0:214 'levels' (temp int)
+0:214 textureQueryLevels (global int)
+0:214 'samp1Ds' (uniform sampler1DShadow)
+0:215 move second child to first child (temp int)
+0:215 'levels' (temp int)
+0:215 textureQueryLevels (global int)
+0:215 'samp2Ds' (uniform sampler2DShadow)
+0:216 move second child to first child (temp int)
+0:216 'levels' (temp int)
+0:216 textureQueryLevels (global int)
+0:216 'sampCubes' (uniform samplerCubeShadow)
+0:217 move second child to first child (temp int)
+0:217 'levels' (temp int)
+0:217 textureQueryLevels (global int)
+0:217 'samp1DAs' (uniform sampler1DArrayShadow)
+0:218 move second child to first child (temp int)
+0:218 'levels' (temp int)
+0:218 textureQueryLevels (global int)
+0:218 'samp2DAs' (uniform sampler2DArrayShadow)
+0:219 move second child to first child (temp int)
+0:219 'levels' (temp int)
+0:219 textureQueryLevels (global int)
+0:219 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:221 'levels' (temp int)
+0:222 'levels' (temp int)
+0:? Linker Objects
+0:? 'v4' (layout(location=3 ) temp 4-component vector of float)
+0:? 'uv4' (layout(location=4 ) uniform 4-component vector of float)
+0:? 'b1' (layout(location=2 ) in block{in 4-component vector of float v})
+0:? 'b2' (layout(location=2 ) out block{out 4-component vector of float v})
+0:? 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })
+0:? 'cs' (layout(location=10 ) smooth out 2-element array of structure{global 7-element array of 3X2 matrix of float m, global float f})
+0:? 'cf' (layout(location=54 ) smooth out float)
+0:? 'cg' (layout(location=53 ) smooth out float)
+0:? 'alias1' (layout(location=10 ) in 4-component vector of float)
+0:? 'alias2' (layout(location=10 ) in 4-component vector of float)
+0:? 'v6e' (layout(location=0 ) in 4-component vector of float)
+0:? 'ininst2e' (in block{layout(location=25 ) in float f2})
+0:? 'in4e' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
+0:? 'inst4e' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
+0:? 'inst9e' (layout(column_major shared align=32 ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f, layout(column_major shared offset=20 ) uniform float g})
+0:? 'spinste' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b})
+0:? 'aconste' (global 4-element array of int)
+0:? 'bconste' (global 64-element array of int)
+0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})
+0:? 'bge' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bhe' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float)
+0:? 'bbinst4e' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2})
+0:? 'bbinst5e' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2})
+0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
+0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g})
+0:? 'spinst' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b})
+0:? 'aconst' (global 4-element array of int)
+0:? 'bconst' (global 64-element array of int)
+0:? 'start2' (const int)
+0:? 5 (const int)
+0:? 'v6' (layout(location=19 ) in 4-component vector of float)
+0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2})
+0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
+0:? 'bbinst2g' (out block{layout(xfb_buffer=3 xfb_offset=64 ) out 4-component vector of float bbv})
+0:? 'bg' (layout(xfb_buffer=1 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bh' (layout(xfb_buffer=1 xfb_offset=32 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=1 xfb_offset=16 ) out 4-component vector of float bbv1})
+0:? 'bbinst5' (out block{layout(xfb_buffer=1 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=1 xfb_offset=64 xfb_stride=80 ) out 4-component vector of float bbv2})
+0:? 'sharedv' (shared 4-component vector of float)
+0:? 'v' (buffer 4-component vector of float)
+0:? 's2dms' (uniform sampler2DMS)
+0:? 'us2dmsa' (uniform usampler2DMSArray)
+0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:? 'samp1D' (uniform sampler1D)
+0:? 'usamp2D' (uniform usampler2D)
+0:? 'isamp3D' (uniform isampler3D)
+0:? 'isampCube' (uniform isamplerCube)
+0:? 'isamp1DA' (uniform isampler1DArray)
+0:? 'samp2DA' (uniform sampler2DArray)
+0:? 'usampCubeA' (uniform usamplerCubeArray)
+0:? 'samp1Ds' (uniform sampler1DShadow)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+0:? 'sampCubes' (uniform samplerCubeShadow)
+0:? 'samp1DAs' (uniform sampler1DArrayShadow)
+0:? 'samp2DAs' (uniform sampler2DArrayShadow)
+0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:? 'sampBuf' (uniform samplerBuffer)
+0:? 'sampRect' (uniform sampler2DRect)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/430AofA.frag.out b/chromium/third_party/glslang/src/Test/baseResults/430AofA.frag.out
new file mode 100644
index 00000000000..68285f7378b
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/430AofA.frag.out
@@ -0,0 +1,803 @@
+430AofA.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:6: '[]' : only outermost dimension of an array of arrays can be implicitly sized
+ERROR: 0:14: 'constructor' : constructing non-array constituent from array argument
+ERROR: 0:15: 'constructior' : array constructor argument not correct type to construct array element
+ERROR: 0:28: '[' : array index out of range '4'
+ERROR: 0:56: 'constructor' : cannot convert parameter 2 from 'const 3-element array of 4-component vector of float' to 'temp 2-element array of 4-component vector of float'
+ERROR: 0:60: 'constructor' : cannot convert parameter 2 from 'const 2-element array of 4-component vector of float' to 'temp 3-element array of 4-component vector of float'
+ERROR: 0:64: '=' : cannot convert from 'const 3-element array of 2-element array of 4-component vector of float' to 'temp 4-element array of 2-element array of 4-component vector of float'
+ERROR: 0:70: 'assign' : cannot convert from 'global 4-element array of 7-element array of float' to 'global 5-element array of 7-element array of float'
+ERROR: 0:71: 'assign' : cannot convert from 'global 4-element array of 7-element array of float' to 'global implicitly-sized array of 7-element array of float'
+ERROR: 0:73: 'foo' : no matching overloaded function found
+ERROR: 0:78: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'global 4-element array of 7-element array of float' and a right operand of type 'global 5-element array of 7-element array of float' (or there is no acceptable conversion)
+ERROR: 0:84: '[' : array index out of range '5'
+ERROR: 0:91: 'length' : array must be declared with a size before using this method
+ERROR: 0:93: 'length' : array must be declared with a size before using this method
+ERROR: 0:98: 'length' : does not operate on this type: temp float
+ERROR: 0:98: '' : function call, method, or subroutine call expected
+ERROR: 0:98: '' : no matching overloaded function found
+ERROR: 0:101: 'resize2' : redeclaration of array with a different array dimensions or sizes
+ERROR: 0:104: 'resize3' : redeclaration of array with a different array dimensions or sizes
+ERROR: 0:107: 'resize4' : redeclaration of array with a different element type
+ERROR: 20 compilation errors. No code generated.
+
+
+Shader version: 430
+ERROR: node is still EOpNull!
+0:10 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:10 Function Parameters:
+0:10 'a' (in 5-element array of 7-element array of float)
+0:? Sequence
+0:13 move second child to first child (temp 7-element array of float)
+0:13 'r' (temp 7-element array of float)
+0:13 direct index (temp 7-element array of float)
+0:13 'a' (in 5-element array of 7-element array of float)
+0:13 Constant:
+0:13 2 (const int)
+0:14 Constant:
+0:14 0.000000
+0:15 Constant:
+0:15 0.000000
+0:16 Branch: Return with expression
+0:16 Construct float (temp 4-element array of 7-element array of float)
+0:16 direct index (temp 7-element array of float)
+0:16 'a' (in 5-element array of 7-element array of float)
+0:16 Constant:
+0:16 0 (const int)
+0:16 direct index (temp 7-element array of float)
+0:16 'a' (in 5-element array of 7-element array of float)
+0:16 Constant:
+0:16 1 (const int)
+0:16 'r' (temp 7-element array of float)
+0:16 direct index (temp 7-element array of float)
+0:16 'a' (in 5-element array of 7-element array of float)
+0:16 Constant:
+0:16 3 (const int)
+0:17 Branch: Return with expression
+0:17 Construct float (temp 4-element array of 7-element array of float)
+0:17 direct index (temp 7-element array of float)
+0:17 'a' (in 5-element array of 7-element array of float)
+0:17 Constant:
+0:17 0 (const int)
+0:17 direct index (temp 7-element array of float)
+0:17 'a' (in 5-element array of 7-element array of float)
+0:17 Constant:
+0:17 1 (const int)
+0:17 'r' (temp 7-element array of float)
+0:17 direct index (temp 7-element array of float)
+0:17 'a' (in 5-element array of 7-element array of float)
+0:17 Constant:
+0:17 3 (const int)
+0:18 Branch: Return with expression
+0:18 Construct float (temp 4-element array of 7-element array of float)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 0 (const int)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 1 (const int)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 2 (const int)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 3 (const int)
+0:21 Function Definition: bar(f1[5][7]; (global void)
+0:21 Function Parameters:
+0:21 '' (in 5-element array of 7-element array of float)
+0:23 Function Definition: main( (global void)
+0:23 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:28 move second child to first child (temp float)
+0:28 direct index (temp float)
+0:28 direct index (temp 2-element array of float)
+0:28 direct index (temp 4-element array of 2-element array of float)
+0:28 'gu' (temp 3-element array of 4-element array of 2-element array of float)
+0:28 Constant:
+0:28 2 (const int)
+0:28 Constant:
+0:28 4 (const int)
+0:28 Constant:
+0:28 1 (const int)
+0:28 Constant:
+0:28 4.000000
+0:30 Sequence
+0:30 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:30 'ca4' (temp 3-element array of 2-element array of 4-component vector of float)
+0:32 Constant:
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:33 Sequence
+0:33 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:33 'caim' (temp 3-element array of 2-element array of 4-component vector of float)
+0:35 Constant:
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:36 Sequence
+0:36 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:36 'caim2' (temp 3-element array of 2-element array of 4-component vector of float)
+0:38 Constant:
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:39 Sequence
+0:39 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:39 'caim3' (temp 3-element array of 2-element array of 4-component vector of float)
+0:41 Constant:
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:43 Sequence
+0:43 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:43 'a4' (temp 3-element array of 2-element array of 4-component vector of float)
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:46 Sequence
+0:46 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:46 'aim' (temp 3-element array of 2-element array of 4-component vector of float)
+0:46 Constant:
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:49 Sequence
+0:49 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:49 'aim2' (temp 3-element array of 2-element array of 4-component vector of float)
+0:49 Constant:
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:52 Sequence
+0:52 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:52 'aim3' (temp 3-element array of 2-element array of 4-component vector of float)
+0:52 Constant:
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:69 move second child to first child (temp 4-element array of 7-element array of float)
+0:69 'g4' (global 4-element array of 7-element array of float)
+0:69 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:69 'g5' (global 5-element array of 7-element array of float)
+0:70 'g5' (global 5-element array of 7-element array of float)
+0:71 'gu' (global implicitly-sized array of 7-element array of float)
+0:73 Constant:
+0:73 0.000000
+0:74 Function Call: bar(f1[5][7]; (global void)
+0:74 'g5' (global 5-element array of 7-element array of float)
+0:76 Test condition and select (temp void)
+0:76 Condition
+0:76 Compare Equal (temp bool)
+0:76 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:76 'g5' (global 5-element array of 7-element array of float)
+0:76 'g4' (global 4-element array of 7-element array of float)
+0:76 true case is null
+0:78 Test condition and select (temp void)
+0:78 Condition
+0:78 Constant:
+0:78 false (const bool)
+0:78 true case is null
+0:82 move second child to first child (temp float)
+0:82 direct index (temp float)
+0:82 direct index (temp 7-element array of float)
+0:82 'u' (temp 5-element array of 7-element array of float)
+0:82 Constant:
+0:82 2 (const int)
+0:82 Constant:
+0:82 2 (const int)
+0:82 Constant:
+0:82 3.000000
+0:84 move second child to first child (temp float)
+0:84 direct index (temp float)
+0:84 direct index (temp 7-element array of float)
+0:84 'u' (temp 5-element array of 7-element array of float)
+0:84 Constant:
+0:84 5 (const int)
+0:84 Constant:
+0:84 2 (const int)
+0:84 Constant:
+0:84 5.000000
+0:85 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:85 'u' (temp 5-element array of 7-element array of float)
+0:88 Function Definition: foo3( (global void)
+0:88 Function Parameters:
+0:? Sequence
+0:91 Constant:
+0:91 1 (const int)
+0:92 move second child to first child (temp float)
+0:92 direct index (temp float)
+0:92 direct index (temp 7-element array of float)
+0:92 direct index (temp 5-element array of 7-element array of float)
+0:92 'resize1' (temp 3-element array of 5-element array of 7-element array of float)
+0:92 Constant:
+0:92 1 (const int)
+0:92 Constant:
+0:92 4 (const int)
+0:92 Constant:
+0:92 5 (const int)
+0:92 Constant:
+0:92 2.000000
+0:93 Constant:
+0:93 1 (const int)
+0:95 Constant:
+0:95 3 (const int)
+0:96 Constant:
+0:96 5 (const int)
+0:97 Constant:
+0:97 7 (const int)
+0:98 Constant:
+0:98 0.000000
+0:? Linker Objects
+0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of float)
+0:? 'gu' (global implicitly-sized array of 7-element array of float)
+0:? 'gimp' (global implicitly-sized array of implicitly-sized array of float)
+0:? 'g4' (global 4-element array of 7-element array of float)
+0:? 'g5' (global 5-element array of 7-element array of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 430
+ERROR: node is still EOpNull!
+0:10 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:10 Function Parameters:
+0:10 'a' (in 5-element array of 7-element array of float)
+0:? Sequence
+0:13 move second child to first child (temp 7-element array of float)
+0:13 'r' (temp 7-element array of float)
+0:13 direct index (temp 7-element array of float)
+0:13 'a' (in 5-element array of 7-element array of float)
+0:13 Constant:
+0:13 2 (const int)
+0:14 Constant:
+0:14 0.000000
+0:15 Constant:
+0:15 0.000000
+0:16 Branch: Return with expression
+0:16 Construct float (temp 4-element array of 7-element array of float)
+0:16 direct index (temp 7-element array of float)
+0:16 'a' (in 5-element array of 7-element array of float)
+0:16 Constant:
+0:16 0 (const int)
+0:16 direct index (temp 7-element array of float)
+0:16 'a' (in 5-element array of 7-element array of float)
+0:16 Constant:
+0:16 1 (const int)
+0:16 'r' (temp 7-element array of float)
+0:16 direct index (temp 7-element array of float)
+0:16 'a' (in 5-element array of 7-element array of float)
+0:16 Constant:
+0:16 3 (const int)
+0:17 Branch: Return with expression
+0:17 Construct float (temp 4-element array of 7-element array of float)
+0:17 direct index (temp 7-element array of float)
+0:17 'a' (in 5-element array of 7-element array of float)
+0:17 Constant:
+0:17 0 (const int)
+0:17 direct index (temp 7-element array of float)
+0:17 'a' (in 5-element array of 7-element array of float)
+0:17 Constant:
+0:17 1 (const int)
+0:17 'r' (temp 7-element array of float)
+0:17 direct index (temp 7-element array of float)
+0:17 'a' (in 5-element array of 7-element array of float)
+0:17 Constant:
+0:17 3 (const int)
+0:18 Branch: Return with expression
+0:18 Construct float (temp 4-element array of 7-element array of float)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 0 (const int)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 1 (const int)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 2 (const int)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 3 (const int)
+0:21 Function Definition: bar(f1[5][7]; (global void)
+0:21 Function Parameters:
+0:21 '' (in 5-element array of 7-element array of float)
+0:23 Function Definition: main( (global void)
+0:23 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:28 move second child to first child (temp float)
+0:28 direct index (temp float)
+0:28 direct index (temp 2-element array of float)
+0:28 direct index (temp 4-element array of 2-element array of float)
+0:28 'gu' (temp 3-element array of 4-element array of 2-element array of float)
+0:28 Constant:
+0:28 2 (const int)
+0:28 Constant:
+0:28 4 (const int)
+0:28 Constant:
+0:28 1 (const int)
+0:28 Constant:
+0:28 4.000000
+0:30 Sequence
+0:30 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:30 'ca4' (temp 3-element array of 2-element array of 4-component vector of float)
+0:32 Constant:
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:33 Sequence
+0:33 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:33 'caim' (temp 3-element array of 2-element array of 4-component vector of float)
+0:35 Constant:
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:36 Sequence
+0:36 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:36 'caim2' (temp 3-element array of 2-element array of 4-component vector of float)
+0:38 Constant:
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:39 Sequence
+0:39 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:39 'caim3' (temp 3-element array of 2-element array of 4-component vector of float)
+0:41 Constant:
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:43 Sequence
+0:43 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:43 'a4' (temp 3-element array of 2-element array of 4-component vector of float)
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:46 Sequence
+0:46 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:46 'aim' (temp 3-element array of 2-element array of 4-component vector of float)
+0:46 Constant:
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:49 Sequence
+0:49 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:49 'aim2' (temp 3-element array of 2-element array of 4-component vector of float)
+0:49 Constant:
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:52 Sequence
+0:52 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:52 'aim3' (temp 3-element array of 2-element array of 4-component vector of float)
+0:52 Constant:
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:69 move second child to first child (temp 4-element array of 7-element array of float)
+0:69 'g4' (global 4-element array of 7-element array of float)
+0:69 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:69 'g5' (global 5-element array of 7-element array of float)
+0:70 'g5' (global 5-element array of 7-element array of float)
+0:71 'gu' (global 1-element array of 7-element array of float)
+0:73 Constant:
+0:73 0.000000
+0:74 Function Call: bar(f1[5][7]; (global void)
+0:74 'g5' (global 5-element array of 7-element array of float)
+0:76 Test condition and select (temp void)
+0:76 Condition
+0:76 Compare Equal (temp bool)
+0:76 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:76 'g5' (global 5-element array of 7-element array of float)
+0:76 'g4' (global 4-element array of 7-element array of float)
+0:76 true case is null
+0:78 Test condition and select (temp void)
+0:78 Condition
+0:78 Constant:
+0:78 false (const bool)
+0:78 true case is null
+0:82 move second child to first child (temp float)
+0:82 direct index (temp float)
+0:82 direct index (temp 7-element array of float)
+0:82 'u' (temp 5-element array of 7-element array of float)
+0:82 Constant:
+0:82 2 (const int)
+0:82 Constant:
+0:82 2 (const int)
+0:82 Constant:
+0:82 3.000000
+0:84 move second child to first child (temp float)
+0:84 direct index (temp float)
+0:84 direct index (temp 7-element array of float)
+0:84 'u' (temp 5-element array of 7-element array of float)
+0:84 Constant:
+0:84 5 (const int)
+0:84 Constant:
+0:84 2 (const int)
+0:84 Constant:
+0:84 5.000000
+0:85 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:85 'u' (temp 5-element array of 7-element array of float)
+0:88 Function Definition: foo3( (global void)
+0:88 Function Parameters:
+0:? Sequence
+0:91 Constant:
+0:91 1 (const int)
+0:92 move second child to first child (temp float)
+0:92 direct index (temp float)
+0:92 direct index (temp 7-element array of float)
+0:92 direct index (temp 5-element array of 7-element array of float)
+0:92 'resize1' (temp 3-element array of 5-element array of 7-element array of float)
+0:92 Constant:
+0:92 1 (const int)
+0:92 Constant:
+0:92 4 (const int)
+0:92 Constant:
+0:92 5 (const int)
+0:92 Constant:
+0:92 2.000000
+0:93 Constant:
+0:93 1 (const int)
+0:95 Constant:
+0:95 3 (const int)
+0:96 Constant:
+0:96 5 (const int)
+0:97 Constant:
+0:97 7 (const int)
+0:98 Constant:
+0:98 0.000000
+0:? Linker Objects
+0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of float)
+0:? 'gu' (global 1-element array of 7-element array of float)
+0:? 'gimp' (global 1-element array of implicitly-sized array of float)
+0:? 'g4' (global 4-element array of 7-element array of float)
+0:? 'g5' (global 5-element array of 7-element array of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/430scope.vert.out b/chromium/third_party/glslang/src/Test/baseResults/430scope.vert.out
new file mode 100644
index 00000000000..74601392af0
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/430scope.vert.out
@@ -0,0 +1,243 @@
+430scope.vert
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:5: 'a' : redefinition
+ERROR: 0:17: 'b' : function name is redeclaration of existing name
+ERROR: 0:20: 'c' : redefinition
+ERROR: 0:22: 'f' : redefinition
+ERROR: 0:43: 'sin' : can't use function syntax on variable
+ERROR: 0:57: 'z' : undeclared identifier
+ERROR: 0:57: 'z' : redefinition
+ERROR: 0:73: 'degrees' : can't use function syntax on variable
+ERROR: 8 compilation errors. No code generated.
+
+
+Shader version: 430
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global int)
+0:3 Function Parameters:
+0:3 'a' (in int)
+0:3 'b' (in int)
+0:3 'c' (in int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'a' (temp float)
+0:8 add (temp float)
+0:8 Convert int to float (temp float)
+0:8 'a' (in int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in int)
+0:25 Function Definition: cos(f1; (global float)
+0:25 Function Parameters:
+0:25 'x' (in float)
+0:27 Sequence
+0:27 Branch: Return with expression
+0:27 Constant:
+0:27 1.000000
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 true (const bool)
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp int)
+0:42 'sin' (temp float)
+0:43 Constant:
+0:43 0.000000
+0:44 Function Call: f(i1;i1;i1; (global int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp float)
+0:47 'f' (temp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)
+0:49 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:49 Constant:
+0:49 0 (const uint)
+0:49 Construct vec4 (temp 4-component vector of float)
+0:49 'f' (temp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp int)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp int)
+0:52 'f' (temp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp int)
+0:51 'f' (temp int)
+0:54 Sequence
+0:54 move second child to first child (temp int)
+0:54 'x' (temp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 'x' (temp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp float)
+0:56 'y' (temp float)
+0:56 'x' (temp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp int)
+0:60 'x' (temp int)
+0:60 'x' (temp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp int x})
+0:68 'S' (temp structure{temp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp int)
+0:69 'S' (temp structure{temp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 0.000000
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'tan' (global float)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 430
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global int)
+0:3 Function Parameters:
+0:3 'a' (in int)
+0:3 'b' (in int)
+0:3 'c' (in int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'a' (temp float)
+0:8 add (temp float)
+0:8 Convert int to float (temp float)
+0:8 'a' (in int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in int)
+0:25 Function Definition: cos(f1; (global float)
+0:25 Function Parameters:
+0:25 'x' (in float)
+0:27 Sequence
+0:27 Branch: Return with expression
+0:27 Constant:
+0:27 1.000000
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 true (const bool)
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp int)
+0:42 'sin' (temp float)
+0:43 Constant:
+0:43 0.000000
+0:44 Function Call: f(i1;i1;i1; (global int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp float)
+0:47 'f' (temp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)
+0:49 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:49 Constant:
+0:49 0 (const uint)
+0:49 Construct vec4 (temp 4-component vector of float)
+0:49 'f' (temp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp int)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp int)
+0:52 'f' (temp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp int)
+0:51 'f' (temp int)
+0:54 Sequence
+0:54 move second child to first child (temp int)
+0:54 'x' (temp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 'x' (temp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp float)
+0:56 'y' (temp float)
+0:56 'x' (temp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp int)
+0:60 'x' (temp int)
+0:60 'x' (temp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp int x})
+0:68 'S' (temp structure{temp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp int)
+0:69 'S' (temp structure{temp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 0.000000
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'tan' (global float)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/440.frag.out b/chromium/third_party/glslang/src/Test/baseResults/440.frag.out
new file mode 100644
index 00000000000..cafd85a5757
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/440.frag.out
@@ -0,0 +1,194 @@
+440.frag
+Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:11: 'location' : overlapping use of location 4
+ERROR: 0:13: 'component' : type overflows the available 4 components
+ERROR: 0:22: 'location' : fragment outputs sharing the same location must be the same basic type 30
+ERROR: 0:24: 'qualifier' : cannot use auxiliary, memory, interpolation, or precision qualifier in a default qualifier declaration (declaration with no type)
+ERROR: 0:25: 'qualifier' : cannot use auxiliary, memory, interpolation, or precision qualifier in a default qualifier declaration (declaration with no type)
+ERROR: 0:26: 'qualifier' : cannot use auxiliary, memory, interpolation, or precision qualifier in a default qualifier declaration (declaration with no type)
+ERROR: 0:29: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
+ERROR: 0:30: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
+ERROR: 0:30: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:31: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
+ERROR: 0:31: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:33: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
+ERROR: 0:34: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
+ERROR: 0:34: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:35: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
+ERROR: 0:35: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:37: 'offset' : only applies to block members, not blocks
+ERROR: 0:38: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:38: 'offset' : only applies to block members, not blocks
+ERROR: 0:39: 'output block' : not supported in this stage: fragment
+ERROR: 0:39: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:39: 'offset' : only applies to block members, not blocks
+ERROR: 0:42: 'offset/align' : can only be used with std140 or std430 layout packing
+ERROR: 0:43: 'offset/align' : can only be used with std140 or std430 layout packing
+ERROR: 0:43: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:44: 'output block' : not supported in this stage: fragment
+ERROR: 0:44: 'offset/align' : can only be used with std140 or std430 layout packing
+ERROR: 0:44: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:46: 'offset' : cannot specify on a variable declaration
+ERROR: 0:47: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:48: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:50: 'align' : cannot specify on a variable declaration
+ERROR: 0:51: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:52: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:54: 'layout' : matrix or packing qualifiers can only be used on a uniform or buffer
+ERROR: 0:55: 'layout' : cannot specify packing on a variable declaration
+ERROR: 0:57: 'align' : must be a power of 2
+ERROR: 0:58: 'align' : can only be used with std140 or std430 layout packing
+ERROR: 0:63: 'align' : can only be used with std140 or std430 layout packing
+ERROR: 0:62: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:63: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:84: 'align' : must be a power of 2
+ERROR: 0:83: 'offset' : cannot lie in previous members
+ERROR: 0:85: 'offset' : must be a multiple of the member's alignment
+ERROR: 0:103: 'align' : must be a power of 2
+ERROR: 0:105: 'align' : must be a power of 2
+ERROR: 0:102: 'offset' : cannot lie in previous members
+ERROR: 0:104: 'offset' : must be a multiple of the member's alignment
+ERROR: 48 compilation errors. No code generated.
+
+
+Shader version: 440
+ERROR: node is still EOpNull!
+0:144 Function Definition: interp( (global void)
+0:144 Function Parameters:
+0:146 Sequence
+0:146 interpolateAtCentroid (global 2-component vector of float)
+0:146 vector swizzle (temp 2-component vector of float)
+0:146 direct index (smooth sample temp 3-component vector of float)
+0:146 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:146 Constant:
+0:146 2 (const int)
+0:146 Sequence
+0:146 Constant:
+0:146 0 (const int)
+0:146 Constant:
+0:146 1 (const int)
+0:147 interpolateAtSample (global float)
+0:147 direct index (temp float)
+0:147 direct index (smooth sample temp 3-component vector of float)
+0:147 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:147 Constant:
+0:147 2 (const int)
+0:147 Constant:
+0:147 0 (const int)
+0:147 Constant:
+0:147 2 (const int)
+0:150 Function Definition: layer( (global int)
+0:150 Function Parameters:
+0:152 Sequence
+0:152 Branch: Return with expression
+0:152 'gl_Layer' (flat in int Layer)
+0:? Linker Objects
+0:? 'a' (layout(location=4 component=2 ) smooth in 2-component vector of float)
+0:? 'b' (layout(location=4 component=1 ) smooth in float)
+0:? 'h' (layout(location=4 component=2 ) smooth in 2-component vector of float)
+0:? 'c' (layout(location=3 component=2 ) smooth in 3-component vector of float)
+0:? 'e' (layout(location=20 component=0 ) smooth in 6-element array of 3-component vector of float)
+0:? 'f' (layout(location=20 component=3 ) smooth in 6-element array of float)
+0:? 'be' (layout(location=30 component=3 ) out int)
+0:? 'bf' (layout(location=30 component=0 ) out 3-component vector of float)
+0:? 'inst1' (layout(column_major shared offset=12 ) uniform block{layout(column_major shared ) uniform int a})
+0:? 'inst2' (layout(offset=12 ) in block{in int a})
+0:? 'inst3' (layout(offset=12 ) out block{out int a})
+0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
+0:? 'inst8' (layout(column_major shared align=16 ) uniform block{layout(column_major shared ) uniform int a})
+0:? 'inst5' (layout(align=16 ) in block{in int a})
+0:? 'inst6' (layout(align=16 ) out block{out int a})
+0:? 'v1' (layout(offset=12 ) uniform 4-component vector of float)
+0:? 'v2' (layout(offset=12 ) smooth in 4-component vector of float)
+0:? 'v3' (layout(offset=12 ) out 4-component vector of float)
+0:? 'v4' (layout(align=16 ) uniform 4-component vector of float)
+0:? 'v5' (layout(align=16 ) smooth in 4-component vector of float)
+0:? 'v6' (layout(align=16 ) out 4-component vector of float)
+0:? 'v7' (layout(std140 ) uniform 4-component vector of float)
+0:? 'inst7' (layout(column_major shared ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f})
+0:? 'inst10' (in block{layout(offset=12 ) in float f, layout(align=4 ) in float g})
+0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 align=32 ) uniform float e, layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g, layout(column_major std430 align=32 ) uniform float h})
+0:? 'inst11' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 ) uniform float g})
+0:? 'specExampleErrors' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float c, layout(column_major std140 offset=56 ) uniform double g, layout(column_major std140 offset=72 ) uniform double h})
+0:? 'specExample' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float d, layout(column_major std140 offset=64 align=16 ) uniform float e, layout(column_major std140 offset=72 align=2 ) uniform double f, layout(column_major std140 offset=80 ) uniform float h, layout(column_major std140 offset=128 align=64 ) uniform 3-component vector of double i, layout(column_major std140 offset=168 align=8 ) uniform float j})
+0:? 'specExampleErrors430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float c, layout(column_major std430 offset=56 ) buffer double g, layout(column_major std430 offset=72 ) buffer double h, layout(column_major std430 offset=80 ) buffer double i})
+0:? 'specExample430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float d, layout(column_major std430 offset=64 align=16 ) buffer float e, layout(column_major std430 offset=72 align=2 ) buffer double f, layout(column_major std430 offset=80 ) buffer float h, layout(column_major std430 offset=128 align=64 ) buffer 3-component vector of double i, layout(column_major std430 offset=168 align=8 ) buffer float j})
+0:? 'specExample4300' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=384 align=128 ) buffer float e, layout(column_major std430 offset=512 align=128 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
+0:? 'specExample4301' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=512 align=128 ) buffer float e, layout(column_major std430 offset=520 align=8 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
+0:? 'aconst' (global 4-element array of int)
+0:? 'bconst' (global 64-element array of int)
+0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point
+
+Shader version: 440
+ERROR: node is still EOpNull!
+0:144 Function Definition: interp( (global void)
+0:144 Function Parameters:
+0:146 Sequence
+0:146 interpolateAtCentroid (global 2-component vector of float)
+0:146 vector swizzle (temp 2-component vector of float)
+0:146 direct index (smooth sample temp 3-component vector of float)
+0:146 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:146 Constant:
+0:146 2 (const int)
+0:146 Sequence
+0:146 Constant:
+0:146 0 (const int)
+0:146 Constant:
+0:146 1 (const int)
+0:147 interpolateAtSample (global float)
+0:147 direct index (temp float)
+0:147 direct index (smooth sample temp 3-component vector of float)
+0:147 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:147 Constant:
+0:147 2 (const int)
+0:147 Constant:
+0:147 0 (const int)
+0:147 Constant:
+0:147 2 (const int)
+0:150 Function Definition: layer( (global int)
+0:150 Function Parameters:
+0:152 Sequence
+0:152 Branch: Return with expression
+0:152 'gl_Layer' (flat in int Layer)
+0:? Linker Objects
+0:? 'a' (layout(location=4 component=2 ) smooth in 2-component vector of float)
+0:? 'b' (layout(location=4 component=1 ) smooth in float)
+0:? 'h' (layout(location=4 component=2 ) smooth in 2-component vector of float)
+0:? 'c' (layout(location=3 component=2 ) smooth in 3-component vector of float)
+0:? 'e' (layout(location=20 component=0 ) smooth in 6-element array of 3-component vector of float)
+0:? 'f' (layout(location=20 component=3 ) smooth in 6-element array of float)
+0:? 'be' (layout(location=30 component=3 ) out int)
+0:? 'bf' (layout(location=30 component=0 ) out 3-component vector of float)
+0:? 'inst1' (layout(column_major shared offset=12 ) uniform block{layout(column_major shared ) uniform int a})
+0:? 'inst2' (layout(offset=12 ) in block{in int a})
+0:? 'inst3' (layout(offset=12 ) out block{out int a})
+0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
+0:? 'inst8' (layout(column_major shared align=16 ) uniform block{layout(column_major shared ) uniform int a})
+0:? 'inst5' (layout(align=16 ) in block{in int a})
+0:? 'inst6' (layout(align=16 ) out block{out int a})
+0:? 'v1' (layout(offset=12 ) uniform 4-component vector of float)
+0:? 'v2' (layout(offset=12 ) smooth in 4-component vector of float)
+0:? 'v3' (layout(offset=12 ) out 4-component vector of float)
+0:? 'v4' (layout(align=16 ) uniform 4-component vector of float)
+0:? 'v5' (layout(align=16 ) smooth in 4-component vector of float)
+0:? 'v6' (layout(align=16 ) out 4-component vector of float)
+0:? 'v7' (layout(std140 ) uniform 4-component vector of float)
+0:? 'inst7' (layout(column_major shared ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f})
+0:? 'inst10' (in block{layout(offset=12 ) in float f, layout(align=4 ) in float g})
+0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 align=32 ) uniform float e, layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g, layout(column_major std430 align=32 ) uniform float h})
+0:? 'inst11' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 ) uniform float g})
+0:? 'specExampleErrors' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float c, layout(column_major std140 offset=56 ) uniform double g, layout(column_major std140 offset=72 ) uniform double h})
+0:? 'specExample' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float d, layout(column_major std140 offset=64 align=16 ) uniform float e, layout(column_major std140 offset=72 align=2 ) uniform double f, layout(column_major std140 offset=80 ) uniform float h, layout(column_major std140 offset=128 align=64 ) uniform 3-component vector of double i, layout(column_major std140 offset=168 align=8 ) uniform float j})
+0:? 'specExampleErrors430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float c, layout(column_major std430 offset=56 ) buffer double g, layout(column_major std430 offset=72 ) buffer double h, layout(column_major std430 offset=80 ) buffer double i})
+0:? 'specExample430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float d, layout(column_major std430 offset=64 align=16 ) buffer float e, layout(column_major std430 offset=72 align=2 ) buffer double f, layout(column_major std430 offset=80 ) buffer float h, layout(column_major std430 offset=128 align=64 ) buffer 3-component vector of double i, layout(column_major std430 offset=168 align=8 ) buffer float j})
+0:? 'specExample4300' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=384 align=128 ) buffer float e, layout(column_major std430 offset=512 align=128 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
+0:? 'specExample4301' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=512 align=128 ) buffer float e, layout(column_major std430 offset=520 align=8 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
+0:? 'aconst' (global 4-element array of int)
+0:? 'bconst' (global 64-element array of int)
+0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/440.vert.out b/chromium/third_party/glslang/src/Test/baseResults/440.vert.out
new file mode 100644
index 00000000000..9ad3c1bdde0
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/440.vert.out
@@ -0,0 +1,241 @@
+440.vert
+Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:8: 'component' : type overflows the available 4 components
+ERROR: 0:15: 'component' : component is too large
+ERROR: 0:23: 'location' : overlapping use of location 4
+ERROR: 0:26: 'location' : overlapping use of location 2
+ERROR: 0:31: 'location' : overlapping use of location 15
+ERROR: 0:32: 'location' : overlapping use of location 10
+ERROR: 0:37: 'location' : overlapping use of location 20
+ERROR: 0:39: 'component' : type overflows the available 4 components
+ERROR: 0:40: 'component' : type overflows the available 4 components
+ERROR: 0:42: 'component' : cannot apply to a matrix, structure, or block
+ERROR: 0:43: 'component' : cannot apply to a matrix, structure, or block
+ERROR: 0:44: 'component' : cannot apply to a matrix, structure, or block
+ERROR: 0:46: 'component' : must specify 'location' to use 'component'
+ERROR: 0:52: 'location' : overlapping use of location 40
+ERROR: 0:54: 'component' : type overflows the available 4 components
+ERROR: 0:55: 'component' : type overflows the available 4 components
+ERROR: 0:57: 'component' : cannot apply to a matrix, structure, or block
+ERROR: 0:58: 'component' : cannot apply to a matrix, structure, or block
+ERROR: 0:61: 'location/component/index' : cannot declare a default, use a full declaration
+ERROR: 0:81: 'xfb layout qualifier' : can only be used on an output
+ERROR: 0:87: 'xfb_offset' : cannot declare a default, use a full declaration
+ERROR: 0:97: 'xfb_buffer' : member cannot contradict block (or what block inherited from global)
+ERROR: 0:102: 'xfb_buffer' : member cannot contradict block (or what block inherited from global)
+ERROR: 0:102: 'xfb_offset' : overlapping offsets at offset 32 in buffer 3
+ERROR: 0:103: 'xfb_offset' : overlapping offsets at offset 0 in buffer 2
+ERROR: 0:105: 'xfb_offset' : overlapping offsets at offset 24 in buffer 2
+ERROR: 0:108: 'xfb_stride' : all stride settings must match for xfb buffer 15
+ERROR: 0:112: 'xfb_offset' : overlapping offsets at offset 4 in buffer 1
+ERROR: 0:114: 'xfb_stride' : all stride settings must match for xfb buffer 3
+ERROR: 0:115: 'xfb_stride' : all stride settings must match for xfb buffer 3
+ERROR: 0:119: 'xfb_stride' : all stride settings must match for xfb buffer 3
+ERROR: 0:117: 'xfb_stride' : all stride settings must match for xfb buffer 3
+ERROR: 0:138: 'xfb_offset' : overlapping offsets at offset 64 in buffer 0
+ERROR: 0:143: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
+ERROR: 0:144: 'xfb_offset' : must be a multiple of size of first component
+ERROR: 0:145: 'xfb_offset' : type contains double; xfb_offset must be a multiple of 8
+ERROR: 0:147: 'xfb_offset' : must be a multiple of size of first component
+ERROR: 0:148: 'xfb_offset' : type contains double; xfb_offset must be a multiple of 8
+ERROR: 0:152: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
+ERROR: 0:155: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
+ERROR: 0:155: 'xfb_stride' : 1/4 stride is too large: gl_MaxTransformFeedbackInterleavedComponents is 64
+ERROR: 0:157: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
+ERROR: 0:165: 'gl_BaseVertexARB' : required extension not requested: GL_ARB_shader_draw_parameters
+ERROR: 0:165: 'gl_BaseInstanceARB' : required extension not requested: GL_ARB_shader_draw_parameters
+ERROR: 0:165: 'gl_DrawIDARB' : required extension not requested: GL_ARB_shader_draw_parameters
+ERROR: 0:173: 'assign' : l-value required "gl_BaseVertexARB" (can't modify shader input)
+ERROR: 0:174: 'assign' : l-value required "gl_BaseInstanceARB" (can't modify shader input)
+ERROR: 0:175: 'assign' : l-value required "gl_DrawIDARB" (can't modify shader input)
+ERROR: 0:176: 'glBaseInstanceARB' : undeclared identifier
+ERROR: 49 compilation errors. No code generated.
+
+
+Shader version: 440
+Requested GL_ARB_shader_draw_parameters
+in xfb mode
+ERROR: node is still EOpNull!
+0:163 Function Definition: drawParamsBad( (global int)
+0:163 Function Parameters:
+0:165 Sequence
+0:165 Branch: Return with expression
+0:165 add (temp int)
+0:165 add (temp int)
+0:165 'gl_BaseVertexARB' (in int BaseVertex)
+0:165 'gl_BaseInstanceARB' (in int BaseInstance)
+0:165 'gl_DrawIDARB' (in int DrawId)
+0:170 Function Definition: drawParams( (global int)
+0:170 Function Parameters:
+0:172 Sequence
+0:172 Branch: Return with expression
+0:172 add (temp int)
+0:172 add (temp int)
+0:172 'gl_BaseVertexARB' (in int BaseVertex)
+0:172 'gl_BaseInstanceARB' (in int BaseInstance)
+0:172 'gl_DrawIDARB' (in int DrawId)
+0:173 move second child to first child (temp int)
+0:173 'gl_BaseVertexARB' (in int BaseVertex)
+0:173 Constant:
+0:173 3 (const int)
+0:174 move second child to first child (temp int)
+0:174 'gl_BaseInstanceARB' (in int BaseInstance)
+0:174 Constant:
+0:174 3 (const int)
+0:175 move second child to first child (temp int)
+0:175 'gl_DrawIDARB' (in int DrawId)
+0:175 Constant:
+0:175 3 (const int)
+0:176 'glBaseInstanceARB' (temp float)
+0:? Linker Objects
+0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float)
+0:? 'b' (layout(location=2 component=1 ) in float)
+0:? 'c' (layout(location=3 component=2 ) in 3-component vector of float)
+0:? 'd' (layout(location=0 component=3 ) in 4-element array of float)
+0:? 'e' (layout(location=4 component=0 ) in 5-element array of 3-component vector of float)
+0:? 'f' (layout(location=4 component=3 ) in 5-element array of float)
+0:? 'g' (layout(location=9 ) in 6-element array of float)
+0:? 'h' (layout(location=4 component=2 ) in 2-component vector of float)
+0:? 'i' (layout(location=3 component=2 ) smooth out 2-component vector of float)
+0:? 'j' (layout(location=3 component=0 ) smooth out 2-component vector of float)
+0:? 'k' (layout(location=4 component=2 ) smooth out 2-component vector of float)
+0:? 'm' (layout(location=4 component=2 ) smooth out 2-component vector of float)
+0:? 'n' (layout(location=2 component=2 ) smooth out 2-component vector of float)
+0:? 'p' (layout(location=2 component=0 ) smooth out 3-component vector of float)
+0:? 'q' (layout(location=10 component=3 ) smooth out 6-element array of float)
+0:? 'r' (layout(location=10 component=0 ) smooth out 6-element array of 3-component vector of float)
+0:? 's' (layout(location=15 component=3 ) smooth out float)
+0:? 't' (layout(location=10 component=1 ) smooth out float)
+0:? 'u' (layout(location=20 component=2 ) smooth out float)
+0:? 'v' (layout(location=20 component=0 ) smooth out float)
+0:? 'w' (layout(location=20 component=3 ) smooth out float)
+0:? 'x' (layout(location=20 component=1 ) smooth out 2-component vector of float)
+0:? 'y' (layout(location=30 component=3 ) smooth out 2-component vector of float)
+0:? 'z' (layout(location=31 component=1 ) smooth out 4-component vector of float)
+0:? 'ba' (layout(location=32 component=1 ) smooth out 4X4 matrix of float)
+0:? 'Ss' (layout(location=33 component=1 ) smooth out structure{global int a})
+0:? 'bb' (layout(location=34 component=1 ) out block{out int a})
+0:? 'bc' (layout(location=4095 component=1 ) smooth out float)
+0:? 'bd' (out block{layout(location=40 component=2 ) out float u, layout(location=40 component=0 ) out float v, layout(location=40 component=3 ) out float w, layout(location=40 component=1 ) out 2-component vector of float x, layout(location=41 component=3 ) out 2-component vector of float y, layout(location=42 component=1 ) out 4-component vector of float z, layout(location=42 component=1 ) out 4X4 matrix of float ba, layout(location=43 component=1 ) out structure{global int a} Ss})
+0:? 'be' (layout(location=50 component=3 ) smooth out int)
+0:? 'bf' (layout(location=50 component=0 ) smooth out 3-component vector of float)
+0:? 'bbinst1' (out block{out 4-component vector of float bbv})
+0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})
+0:? 'bbinst3' (out block{layout(xfb_buffer=3 xfb_offset=16 ) out 4-component vector of float bbv})
+0:? 'ubbinst3' (layout(column_major shared ) uniform block{layout(column_major shared xfb_offset=16 ) uniform 4-component vector of float bbv})
+0:? 'bg' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bh' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float)
+0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2})
+0:? 'bbinst5' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2, out 4-component vector of float bbv3})
+0:? 'bbinst6' (out block{layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) out 4-component vector of float bbv2, layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv3, out 4-component vector of float bbv5, layout(xfb_buffer=2 xfb_offset=24 ) out float bbf6})
+0:? 'bj' (layout(xfb_buffer=1 xfb_offset=4 ) smooth out float)
+0:? 'bk' (layout(xfb_buffer=1 xfb_offset=0 ) smooth out 2-component vector of int)
+0:? 'bl' (layout(xfb_stride=48 ) smooth out float)
+0:? 'bbinst7' (layout(xfb_stride=48 ) out block{layout(xfb_stride=64 ) out 4-component vector of float bbv1, layout(xfb_stride=32 ) out 4-component vector of float bbv2})
+0:? 'bbinst8' (layout(xfb_stride=92 ) out block{layout(xfb_buffer=0 xfb_offset=0 ) out bool b, layout(xfb_buffer=0 xfb_offset=8 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout(xfb_buffer=0 xfb_offset=48 ) out int i, layout(xfb_buffer=0 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=0 xfb_offset=88 ) out float f, layout(xfb_buffer=0 xfb_offset=92 ) out float g})
+0:? 'bbinst9' (out block{layout(xfb_buffer=4 xfb_offset=1 ) out bool b, layout(xfb_buffer=4 xfb_offset=12 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout(xfb_buffer=4 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=4 xfb_offset=90 ) out int i, layout(xfb_buffer=4 xfb_offset=98 ) out double d, layout(xfb_buffer=4 xfb_offset=108 ) out structure{global int a} s})
+0:? 'bm' (layout(xfb_buffer=5 xfb_offset=0 ) smooth out float)
+0:? 'bbinst10' (out block{layout(xfb_buffer=7 xfb_offset=0 ) out 4X4 matrix of double m1, layout(xfb_buffer=7 xfb_offset=128 ) out 4X4 matrix of double m2, layout(xfb_buffer=7 xfb_offset=256 ) out float f})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: Missing entry point: Each stage requires one "void main()" entry point
+ERROR: Linking vertex stage: xfb_stride is too small to hold all buffer entries:
+ERROR: xfb_buffer 0, xfb_stride 92, minimum stride needed: 96
+ERROR: Linking vertex stage: xfb_stride must be multiple of 8 for buffer holding a double:
+ERROR: xfb_buffer 0, xfb_stride 92
+ERROR: Linking vertex stage: xfb_stride must be multiple of 4:
+ERROR: xfb_buffer 5, xfb_stride 6
+ERROR: Linking vertex stage: xfb_stride is too large:
+ERROR: xfb_buffer 7, components (1/4 stride) needed are 66, gl_MaxTransformFeedbackInterleavedComponents is 64
+
+Shader version: 440
+Requested GL_ARB_shader_draw_parameters
+in xfb mode
+ERROR: node is still EOpNull!
+0:163 Function Definition: drawParamsBad( (global int)
+0:163 Function Parameters:
+0:165 Sequence
+0:165 Branch: Return with expression
+0:165 add (temp int)
+0:165 add (temp int)
+0:165 'gl_BaseVertexARB' (in int BaseVertex)
+0:165 'gl_BaseInstanceARB' (in int BaseInstance)
+0:165 'gl_DrawIDARB' (in int DrawId)
+0:170 Function Definition: drawParams( (global int)
+0:170 Function Parameters:
+0:172 Sequence
+0:172 Branch: Return with expression
+0:172 add (temp int)
+0:172 add (temp int)
+0:172 'gl_BaseVertexARB' (in int BaseVertex)
+0:172 'gl_BaseInstanceARB' (in int BaseInstance)
+0:172 'gl_DrawIDARB' (in int DrawId)
+0:173 move second child to first child (temp int)
+0:173 'gl_BaseVertexARB' (in int BaseVertex)
+0:173 Constant:
+0:173 3 (const int)
+0:174 move second child to first child (temp int)
+0:174 'gl_BaseInstanceARB' (in int BaseInstance)
+0:174 Constant:
+0:174 3 (const int)
+0:175 move second child to first child (temp int)
+0:175 'gl_DrawIDARB' (in int DrawId)
+0:175 Constant:
+0:175 3 (const int)
+0:176 'glBaseInstanceARB' (temp float)
+0:? Linker Objects
+0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float)
+0:? 'b' (layout(location=2 component=1 ) in float)
+0:? 'c' (layout(location=3 component=2 ) in 3-component vector of float)
+0:? 'd' (layout(location=0 component=3 ) in 4-element array of float)
+0:? 'e' (layout(location=4 component=0 ) in 5-element array of 3-component vector of float)
+0:? 'f' (layout(location=4 component=3 ) in 5-element array of float)
+0:? 'g' (layout(location=9 ) in 6-element array of float)
+0:? 'h' (layout(location=4 component=2 ) in 2-component vector of float)
+0:? 'i' (layout(location=3 component=2 ) smooth out 2-component vector of float)
+0:? 'j' (layout(location=3 component=0 ) smooth out 2-component vector of float)
+0:? 'k' (layout(location=4 component=2 ) smooth out 2-component vector of float)
+0:? 'm' (layout(location=4 component=2 ) smooth out 2-component vector of float)
+0:? 'n' (layout(location=2 component=2 ) smooth out 2-component vector of float)
+0:? 'p' (layout(location=2 component=0 ) smooth out 3-component vector of float)
+0:? 'q' (layout(location=10 component=3 ) smooth out 6-element array of float)
+0:? 'r' (layout(location=10 component=0 ) smooth out 6-element array of 3-component vector of float)
+0:? 's' (layout(location=15 component=3 ) smooth out float)
+0:? 't' (layout(location=10 component=1 ) smooth out float)
+0:? 'u' (layout(location=20 component=2 ) smooth out float)
+0:? 'v' (layout(location=20 component=0 ) smooth out float)
+0:? 'w' (layout(location=20 component=3 ) smooth out float)
+0:? 'x' (layout(location=20 component=1 ) smooth out 2-component vector of float)
+0:? 'y' (layout(location=30 component=3 ) smooth out 2-component vector of float)
+0:? 'z' (layout(location=31 component=1 ) smooth out 4-component vector of float)
+0:? 'ba' (layout(location=32 component=1 ) smooth out 4X4 matrix of float)
+0:? 'Ss' (layout(location=33 component=1 ) smooth out structure{global int a})
+0:? 'bb' (layout(location=34 component=1 ) out block{out int a})
+0:? 'bc' (layout(location=4095 component=1 ) smooth out float)
+0:? 'bd' (out block{layout(location=40 component=2 ) out float u, layout(location=40 component=0 ) out float v, layout(location=40 component=3 ) out float w, layout(location=40 component=1 ) out 2-component vector of float x, layout(location=41 component=3 ) out 2-component vector of float y, layout(location=42 component=1 ) out 4-component vector of float z, layout(location=42 component=1 ) out 4X4 matrix of float ba, layout(location=43 component=1 ) out structure{global int a} Ss})
+0:? 'be' (layout(location=50 component=3 ) smooth out int)
+0:? 'bf' (layout(location=50 component=0 ) smooth out 3-component vector of float)
+0:? 'bbinst1' (out block{out 4-component vector of float bbv})
+0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})
+0:? 'bbinst3' (out block{layout(xfb_buffer=3 xfb_offset=16 ) out 4-component vector of float bbv})
+0:? 'ubbinst3' (layout(column_major shared ) uniform block{layout(column_major shared xfb_offset=16 ) uniform 4-component vector of float bbv})
+0:? 'bg' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bh' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float)
+0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2})
+0:? 'bbinst5' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2, out 4-component vector of float bbv3})
+0:? 'bbinst6' (out block{layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) out 4-component vector of float bbv2, layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv3, out 4-component vector of float bbv5, layout(xfb_buffer=2 xfb_offset=24 ) out float bbf6})
+0:? 'bj' (layout(xfb_buffer=1 xfb_offset=4 ) smooth out float)
+0:? 'bk' (layout(xfb_buffer=1 xfb_offset=0 ) smooth out 2-component vector of int)
+0:? 'bl' (layout(xfb_stride=48 ) smooth out float)
+0:? 'bbinst7' (layout(xfb_stride=48 ) out block{layout(xfb_stride=64 ) out 4-component vector of float bbv1, layout(xfb_stride=32 ) out 4-component vector of float bbv2})
+0:? 'bbinst8' (layout(xfb_stride=92 ) out block{layout(xfb_buffer=0 xfb_offset=0 ) out bool b, layout(xfb_buffer=0 xfb_offset=8 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout(xfb_buffer=0 xfb_offset=48 ) out int i, layout(xfb_buffer=0 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=0 xfb_offset=88 ) out float f, layout(xfb_buffer=0 xfb_offset=92 ) out float g})
+0:? 'bbinst9' (out block{layout(xfb_buffer=4 xfb_offset=1 ) out bool b, layout(xfb_buffer=4 xfb_offset=12 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout(xfb_buffer=4 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=4 xfb_offset=90 ) out int i, layout(xfb_buffer=4 xfb_offset=98 ) out double d, layout(xfb_buffer=4 xfb_offset=108 ) out structure{global int a} s})
+0:? 'bm' (layout(xfb_buffer=5 xfb_offset=0 ) smooth out float)
+0:? 'bbinst10' (out block{layout(xfb_buffer=7 xfb_offset=0 ) out 4X4 matrix of double m1, layout(xfb_buffer=7 xfb_offset=128 ) out 4X4 matrix of double m2, layout(xfb_buffer=7 xfb_offset=256 ) out float f})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/450.comp.out b/chromium/third_party/glslang/src/Test/baseResults/450.comp.out
new file mode 100644
index 00000000000..d5d1ecabdd8
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/450.comp.out
@@ -0,0 +1,18 @@
+450.comp
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 450
+local_size = (1, 1, 1)
+0:? Sequence
+0:? Linker Objects
+
+
+Linked compute stage:
+
+ERROR: Linking compute stage: Missing entry point: Each stage requires one "void main()" entry point
+
+Shader version: 450
+local_size = (1, 1, 1)
+0:? Sequence
+0:? Linker Objects
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/450.frag.out b/chromium/third_party/glslang/src/Test/baseResults/450.frag.out
new file mode 100644
index 00000000000..23682e8a17a
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/450.frag.out
@@ -0,0 +1,327 @@
+450.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 450
+0:? Sequence
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:10 Sequence
+0:10 Sequence
+0:10 move second child to first child (temp 2-component vector of float)
+0:10 'v2' (temp 2-component vector of float)
+0:10 dPdxFine (global 2-component vector of float)
+0:10 'in2' (smooth in 2-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp 3-component vector of float)
+0:11 'v3' (temp 3-component vector of float)
+0:11 dPdyCoarse (global 3-component vector of float)
+0:11 'in3' (smooth in 3-component vector of float)
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'v4' (temp 4-component vector of float)
+0:12 fwidth (global 4-component vector of float)
+0:12 'in4' (smooth in 4-component vector of float)
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'v4' (temp 4-component vector of float)
+0:13 dPdyFine (global 4-component vector of float)
+0:13 'in4' (smooth in 4-component vector of float)
+0:14 move second child to first child (temp 3-component vector of float)
+0:14 'v3' (temp 3-component vector of float)
+0:14 dPdyFine (global 3-component vector of float)
+0:14 'in3' (smooth in 3-component vector of float)
+0:15 Sequence
+0:15 move second child to first child (temp float)
+0:15 'f' (temp float)
+0:15 add (temp float)
+0:15 add (temp float)
+0:15 dPdx (global float)
+0:15 'in1' (smooth in float)
+0:15 dPdxFine (global float)
+0:15 'in1' (smooth in float)
+0:15 dPdxCoarse (global float)
+0:15 'in1' (smooth in float)
+0:16 move second child to first child (temp 4-component vector of float)
+0:16 'v4' (temp 4-component vector of float)
+0:16 add (temp 4-component vector of float)
+0:16 fwidthCoarse (global 4-component vector of float)
+0:16 'in4' (smooth in 4-component vector of float)
+0:16 fwidthFine (global 4-component vector of float)
+0:16 'in4' (smooth in 4-component vector of float)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'cull' (temp float)
+0:18 direct index (smooth temp float CullDistance)
+0:18 'gl_CullDistance' (smooth in 6-element array of float CullDistance)
+0:18 Constant:
+0:18 2 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'consts' (temp float)
+0:19 Constant:
+0:19 20.000000
+0:21 Test condition and select (temp void)
+0:21 Condition
+0:21 'gl_HelperInvocation' (in bool HelperInvocation)
+0:21 true case
+0:22 Pre-Increment (temp 4-component vector of float)
+0:22 'v4' (temp 4-component vector of float)
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'sum' (temp int)
+0:24 Constant:
+0:24 32 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp 2-component vector of bool)
+0:32 'b2' (temp 2-component vector of bool)
+0:32 mix (global 2-component vector of bool)
+0:32 Construct bvec2 (temp 2-component vector of bool)
+0:32 'b1' (temp bool)
+0:32 Construct bvec2 (temp 2-component vector of bool)
+0:32 'b3' (temp bool)
+0:32 Construct bvec2 (temp 2-component vector of bool)
+0:32 'b' (temp bool)
+0:33 Sequence
+0:33 move second child to first child (temp uint)
+0:33 'um' (temp uint)
+0:33 mix (global uint)
+0:33 'uin' (temp uint)
+0:33 'uin' (temp uint)
+0:33 'b' (temp bool)
+0:34 Sequence
+0:34 move second child to first child (temp 3-component vector of int)
+0:34 'im3' (temp 3-component vector of int)
+0:34 mix (global 3-component vector of int)
+0:34 Construct ivec3 (temp 3-component vector of int)
+0:34 Convert uint to int (temp int)
+0:34 'uin' (temp uint)
+0:34 Construct ivec3 (temp 3-component vector of int)
+0:34 Convert uint to int (temp int)
+0:34 'uin' (temp uint)
+0:34 Construct bvec3 (temp 3-component vector of bool)
+0:34 'b' (temp bool)
+0:42 Function Definition: foo( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 Sequence
+0:44 move second child to first child (temp int)
+0:44 's' (temp int)
+0:44 textureSamples (global int)
+0:44 's2dms' (uniform sampler2DMS)
+0:45 add second child into first child (temp int)
+0:45 's' (temp int)
+0:45 textureSamples (global int)
+0:45 'us2dmsa' (uniform usampler2DMSArray)
+0:46 add second child into first child (temp int)
+0:46 's' (temp int)
+0:46 imageQuerySamples (global int)
+0:46 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:47 add second child into first child (temp int)
+0:47 's' (temp int)
+0:47 imageQuerySamples (global int)
+0:47 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:48 Sequence
+0:48 move second child to first child (temp float)
+0:48 'f' (temp float)
+0:48 imageAtomicExchange (global float)
+0:48 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:48 Convert float to int (temp 3-component vector of int)
+0:48 'in3' (smooth in 3-component vector of float)
+0:48 Constant:
+0:48 2 (const int)
+0:48 Constant:
+0:48 4.500000
+0:53 Function Definition: cull(i1; (global float)
+0:53 Function Parameters:
+0:53 'i' (in int)
+0:55 Sequence
+0:55 Branch: Return with expression
+0:55 Test condition and select (temp float)
+0:55 Condition
+0:55 Compare Greater Than or Equal (temp bool)
+0:55 'i' (in int)
+0:55 Constant:
+0:55 6 (const int)
+0:55 true case
+0:55 direct index (smooth temp float CullDistance)
+0:55 'gl_CullDistance' (smooth in 6-element array of float CullDistance)
+0:55 Constant:
+0:55 5 (const int)
+0:55 false case
+0:55 indirect index (smooth temp float CullDistance)
+0:55 'gl_CullDistance' (smooth in 6-element array of float CullDistance)
+0:55 'i' (in int)
+0:? Linker Objects
+0:? 'in1' (smooth in float)
+0:? 'in2' (smooth in 2-component vector of float)
+0:? 'in3' (smooth in 3-component vector of float)
+0:? 'in4' (smooth in 4-component vector of float)
+0:? 'gl_CullDistance' (smooth in 6-element array of float CullDistance)
+0:? 's2dms' (uniform sampler2DMS)
+0:? 'us2dmsa' (uniform usampler2DMSArray)
+0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+0:? Sequence
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:10 Sequence
+0:10 Sequence
+0:10 move second child to first child (temp 2-component vector of float)
+0:10 'v2' (temp 2-component vector of float)
+0:10 dPdxFine (global 2-component vector of float)
+0:10 'in2' (smooth in 2-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp 3-component vector of float)
+0:11 'v3' (temp 3-component vector of float)
+0:11 dPdyCoarse (global 3-component vector of float)
+0:11 'in3' (smooth in 3-component vector of float)
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'v4' (temp 4-component vector of float)
+0:12 fwidth (global 4-component vector of float)
+0:12 'in4' (smooth in 4-component vector of float)
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'v4' (temp 4-component vector of float)
+0:13 dPdyFine (global 4-component vector of float)
+0:13 'in4' (smooth in 4-component vector of float)
+0:14 move second child to first child (temp 3-component vector of float)
+0:14 'v3' (temp 3-component vector of float)
+0:14 dPdyFine (global 3-component vector of float)
+0:14 'in3' (smooth in 3-component vector of float)
+0:15 Sequence
+0:15 move second child to first child (temp float)
+0:15 'f' (temp float)
+0:15 add (temp float)
+0:15 add (temp float)
+0:15 dPdx (global float)
+0:15 'in1' (smooth in float)
+0:15 dPdxFine (global float)
+0:15 'in1' (smooth in float)
+0:15 dPdxCoarse (global float)
+0:15 'in1' (smooth in float)
+0:16 move second child to first child (temp 4-component vector of float)
+0:16 'v4' (temp 4-component vector of float)
+0:16 add (temp 4-component vector of float)
+0:16 fwidthCoarse (global 4-component vector of float)
+0:16 'in4' (smooth in 4-component vector of float)
+0:16 fwidthFine (global 4-component vector of float)
+0:16 'in4' (smooth in 4-component vector of float)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'cull' (temp float)
+0:18 direct index (smooth temp float CullDistance)
+0:18 'gl_CullDistance' (smooth in 6-element array of float CullDistance)
+0:18 Constant:
+0:18 2 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'consts' (temp float)
+0:19 Constant:
+0:19 20.000000
+0:21 Test condition and select (temp void)
+0:21 Condition
+0:21 'gl_HelperInvocation' (in bool HelperInvocation)
+0:21 true case
+0:22 Pre-Increment (temp 4-component vector of float)
+0:22 'v4' (temp 4-component vector of float)
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'sum' (temp int)
+0:24 Constant:
+0:24 32 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp 2-component vector of bool)
+0:32 'b2' (temp 2-component vector of bool)
+0:32 mix (global 2-component vector of bool)
+0:32 Construct bvec2 (temp 2-component vector of bool)
+0:32 'b1' (temp bool)
+0:32 Construct bvec2 (temp 2-component vector of bool)
+0:32 'b3' (temp bool)
+0:32 Construct bvec2 (temp 2-component vector of bool)
+0:32 'b' (temp bool)
+0:33 Sequence
+0:33 move second child to first child (temp uint)
+0:33 'um' (temp uint)
+0:33 mix (global uint)
+0:33 'uin' (temp uint)
+0:33 'uin' (temp uint)
+0:33 'b' (temp bool)
+0:34 Sequence
+0:34 move second child to first child (temp 3-component vector of int)
+0:34 'im3' (temp 3-component vector of int)
+0:34 mix (global 3-component vector of int)
+0:34 Construct ivec3 (temp 3-component vector of int)
+0:34 Convert uint to int (temp int)
+0:34 'uin' (temp uint)
+0:34 Construct ivec3 (temp 3-component vector of int)
+0:34 Convert uint to int (temp int)
+0:34 'uin' (temp uint)
+0:34 Construct bvec3 (temp 3-component vector of bool)
+0:34 'b' (temp bool)
+0:42 Function Definition: foo( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 Sequence
+0:44 move second child to first child (temp int)
+0:44 's' (temp int)
+0:44 textureSamples (global int)
+0:44 's2dms' (uniform sampler2DMS)
+0:45 add second child into first child (temp int)
+0:45 's' (temp int)
+0:45 textureSamples (global int)
+0:45 'us2dmsa' (uniform usampler2DMSArray)
+0:46 add second child into first child (temp int)
+0:46 's' (temp int)
+0:46 imageQuerySamples (global int)
+0:46 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:47 add second child into first child (temp int)
+0:47 's' (temp int)
+0:47 imageQuerySamples (global int)
+0:47 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:48 Sequence
+0:48 move second child to first child (temp float)
+0:48 'f' (temp float)
+0:48 imageAtomicExchange (global float)
+0:48 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:48 Convert float to int (temp 3-component vector of int)
+0:48 'in3' (smooth in 3-component vector of float)
+0:48 Constant:
+0:48 2 (const int)
+0:48 Constant:
+0:48 4.500000
+0:53 Function Definition: cull(i1; (global float)
+0:53 Function Parameters:
+0:53 'i' (in int)
+0:55 Sequence
+0:55 Branch: Return with expression
+0:55 Test condition and select (temp float)
+0:55 Condition
+0:55 Compare Greater Than or Equal (temp bool)
+0:55 'i' (in int)
+0:55 Constant:
+0:55 6 (const int)
+0:55 true case
+0:55 direct index (smooth temp float CullDistance)
+0:55 'gl_CullDistance' (smooth in 6-element array of float CullDistance)
+0:55 Constant:
+0:55 5 (const int)
+0:55 false case
+0:55 indirect index (smooth temp float CullDistance)
+0:55 'gl_CullDistance' (smooth in 6-element array of float CullDistance)
+0:55 'i' (in int)
+0:? Linker Objects
+0:? 'in1' (smooth in float)
+0:? 'in2' (smooth in 2-component vector of float)
+0:? 'in3' (smooth in 3-component vector of float)
+0:? 'in4' (smooth in 4-component vector of float)
+0:? 'gl_CullDistance' (smooth in 6-element array of float CullDistance)
+0:? 's2dms' (uniform sampler2DMS)
+0:? 'us2dmsa' (uniform usampler2DMSArray)
+0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/450.geom.out b/chromium/third_party/glslang/src/Test/baseResults/450.geom.out
new file mode 100644
index 00000000000..fef3486aeb6
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/450.geom.out
@@ -0,0 +1,72 @@
+450.geom
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 450
+invocations = -1
+max_vertices = -1
+input primitive = none
+output primitive = none
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child (temp float)
+0:13 direct index (layout(stream=0 ) temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (layout(stream=0 ) out 3-element array of float CullDistance)
+0:13 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 3 (const uint)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance)
+0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance})
+0:13 'gl_in' (in implicitly-sized array of block{in 3-element array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 1 (const int)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:? Linker Objects
+0:? 'gl_in' (in implicitly-sized array of block{in 3-element array of float CullDistance gl_CullDistance})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance})
+
+
+Linked geometry stage:
+
+ERROR: Linking geometry stage: At least one shader must specify an input layout primitive
+ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
+ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
+
+Shader version: 450
+invocations = 1
+max_vertices = -1
+input primitive = none
+output primitive = none
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child (temp float)
+0:13 direct index (layout(stream=0 ) temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (layout(stream=0 ) out 3-element array of float CullDistance)
+0:13 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 3 (const uint)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance)
+0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance})
+0:13 'gl_in' (in 2-element array of block{in 3-element array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 1 (const int)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:? Linker Objects
+0:? 'gl_in' (in 2-element array of block{in 3-element array of float CullDistance gl_CullDistance})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/450.tesc.out b/chromium/third_party/glslang/src/Test/baseResults/450.tesc.out
new file mode 100644
index 00000000000..aeef6cb3ad1
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/450.tesc.out
@@ -0,0 +1,68 @@
+450.tesc
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 450
+vertices = -1
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child (temp float)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)
+0:13 indirect index (temp block{out 3-element array of float CullDistance gl_CullDistance})
+0:13 'gl_out' (out 4-element array of block{out 3-element array of float CullDistance gl_CullDistance})
+0:13 'gl_InvocationID' (in int InvocationID)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance)
+0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance})
+0:13 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 1 (const int)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:? Linker Objects
+0:? 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance})
+0:? 'gl_out' (out 4-element array of block{out 3-element array of float CullDistance gl_CullDistance})
+
+
+Linked tessellation control stage:
+
+ERROR: Linking tessellation control stage: At least one shader must specify an output layout(vertices=...)
+
+Shader version: 450
+vertices = -1
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child (temp float)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)
+0:13 indirect index (temp block{out 3-element array of float CullDistance gl_CullDistance})
+0:13 'gl_out' (out 4-element array of block{out 3-element array of float CullDistance gl_CullDistance})
+0:13 'gl_InvocationID' (in int InvocationID)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance)
+0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance})
+0:13 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 1 (const int)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:? Linker Objects
+0:? 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance})
+0:? 'gl_out' (out 4-element array of block{out 3-element array of float CullDistance gl_CullDistance})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/450.tese.out b/chromium/third_party/glslang/src/Test/baseResults/450.tese.out
new file mode 100644
index 00000000000..f988f1086de
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/450.tese.out
@@ -0,0 +1,68 @@
+450.tese
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 450
+input primitive = none
+vertex spacing = none
+triangle order = none
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child (temp float)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)
+0:13 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 3 (const uint)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance)
+0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance})
+0:13 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 1 (const int)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:? Linker Objects
+0:? 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance})
+0:? 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
+
+
+Linked tessellation evaluation stage:
+
+ERROR: Linking tessellation evaluation stage: At least one shader must specify an input layout primitive
+
+Shader version: 450
+input primitive = none
+vertex spacing = equal_spacing
+triangle order = ccw
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child (temp float)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)
+0:13 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 3 (const uint)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance)
+0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance})
+0:13 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 1 (const int)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:? Linker Objects
+0:? 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance})
+0:? 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/450.vert.out b/chromium/third_party/glslang/src/Test/baseResults/450.vert.out
new file mode 100644
index 00000000000..86338c76129
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/450.vert.out
@@ -0,0 +1,69 @@
+450.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:12: 'out' : cannot be bool
+ERROR: 0:13: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: outo
+ERROR: 2 compilation errors. No code generated.
+
+
+Shader version: 450
+ERROR: node is still EOpNull!
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 move second child to first child (temp float)
+0:9 direct index (temp float CullDistance)
+0:9 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)
+0:9 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
+0:9 Constant:
+0:9 10 (const uint)
+0:9 Constant:
+0:9 2 (const int)
+0:9 Constant:
+0:9 4.500000
+0:? Linker Objects
+0:? 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
+0:? 'outb' (smooth out bool)
+0:? 'outo' (smooth out sampler2D)
+0:? 'outa' (smooth out 4-element array of float)
+0:? 'outaa' (smooth out 4-element array of 2-element array of float)
+0:? 'outs' (smooth out structure{global float f})
+0:? 'outasa' (smooth out 4-element array of structure{global float f})
+0:? 'outsa' (smooth out 4-element array of structure{global float f})
+0:? 'outSA' (smooth out structure{global 4-element array of float f})
+0:? 'outSS' (smooth out structure{global float f, global structure{global float f} s})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 450
+ERROR: node is still EOpNull!
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 move second child to first child (temp float)
+0:9 direct index (temp float CullDistance)
+0:9 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)
+0:9 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
+0:9 Constant:
+0:9 10 (const uint)
+0:9 Constant:
+0:9 2 (const int)
+0:9 Constant:
+0:9 4.500000
+0:? Linker Objects
+0:? 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
+0:? 'outb' (smooth out bool)
+0:? 'outo' (smooth out sampler2D)
+0:? 'outa' (smooth out 4-element array of float)
+0:? 'outaa' (smooth out 4-element array of 2-element array of float)
+0:? 'outs' (smooth out structure{global float f})
+0:? 'outasa' (smooth out 4-element array of structure{global float f})
+0:? 'outsa' (smooth out 4-element array of structure{global float f})
+0:? 'outSA' (smooth out structure{global 4-element array of float f})
+0:? 'outSS' (smooth out structure{global float f, global structure{global float f} s})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/Operations.frag.out b/chromium/third_party/glslang/src/Test/baseResults/Operations.frag.out
new file mode 100644
index 00000000000..bc12fe0daee
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/Operations.frag.out
@@ -0,0 +1,1151 @@
+Operations.frag
+ERROR: 0:76: 'intBitsToFloat' : no matching overloaded function found
+ERROR: 0:77: 'uintBitsToFloat' : no matching overloaded function found
+ERROR: 0:78: 'fma' : no matching overloaded function found
+ERROR: 0:79: 'frexp' : no matching overloaded function found
+ERROR: 0:80: 'ldexp' : no matching overloaded function found
+ERROR: 0:81: 'unpackUnorm2x16' : no matching overloaded function found
+ERROR: 0:82: 'unpackUnorm4x8' : no matching overloaded function found
+ERROR: 0:83: 'unpackSnorm4x8' : no matching overloaded function found
+ERROR: 0:107: 'floatsBitsToInt' : no matching overloaded function found
+ERROR: 0:108: 'packUnorm2x16' : no matching overloaded function found
+ERROR: 0:109: 'packUnorm4x8' : no matching overloaded function found
+ERROR: 0:110: 'packSnorm4x8' : no matching overloaded function found
+ERROR: 0:113: 'assign' : cannot convert from 'global float' to 'temp uint'
+ERROR: 0:114: 'assign' : cannot convert from 'global float' to 'temp uint'
+ERROR: 0:118: 'floatsBitToInt' : no matching overloaded function found
+ERROR: 0:118: 'assign' : cannot convert from 'const float' to 'temp uint'
+ERROR: 0:119: 'packUnorm2x16' : no matching overloaded function found
+ERROR: 0:119: 'assign' : cannot convert from 'const float' to 'temp uint'
+ERROR: 0:120: 'packUnorm4x8' : no matching overloaded function found
+ERROR: 0:120: 'assign' : cannot convert from 'const float' to 'temp uint'
+ERROR: 0:121: '&' : wrong operand types: no operation '&' exists that takes a left-hand operand of type 'uniform uint' and a right operand of type 'temp int' (or there is no acceptable conversion)
+ERROR: 0:121: 'assign' : cannot convert from 'uniform uint' to 'temp int'
+ERROR: 0:122: '^' : wrong operand types: no operation '^' exists that takes a left-hand operand of type 'uniform uint' and a right operand of type 'temp int' (or there is no acceptable conversion)
+ERROR: 0:122: 'assign' : cannot convert from 'uniform uint' to 'temp int'
+ERROR: 0:123: '|' : wrong operand types: no operation '|' exists that takes a left-hand operand of type 'temp int' and a right operand of type 'uniform uint' (or there is no acceptable conversion)
+ERROR: 25 compilation errors. No code generated.
+
+
+Shader version: 130
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:? Sequence
+0:27 move second child to first child (temp 4-component vector of float)
+0:27 'v' (temp 4-component vector of float)
+0:27 radians (global 4-component vector of float)
+0:27 'uv4' (uniform 4-component vector of float)
+0:28 add second child into first child (temp 4-component vector of float)
+0:28 'v' (temp 4-component vector of float)
+0:28 degrees (global 4-component vector of float)
+0:28 'v' (temp 4-component vector of float)
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'v' (temp 4-component vector of float)
+0:29 Comma (temp 4-component vector of float)
+0:29 move second child to first child (temp int)
+0:29 'i' (temp int)
+0:29 component-wise multiply (temp int)
+0:29 'ui' (uniform int)
+0:29 'ui' (uniform int)
+0:29 sine (global 4-component vector of float)
+0:29 'v' (temp 4-component vector of float)
+0:30 add second child into first child (temp 4-component vector of float)
+0:30 'v' (temp 4-component vector of float)
+0:30 cosine (global 4-component vector of float)
+0:30 'v' (temp 4-component vector of float)
+0:31 add second child into first child (temp 4-component vector of float)
+0:31 'v' (temp 4-component vector of float)
+0:31 tangent (global 4-component vector of float)
+0:31 'v' (temp 4-component vector of float)
+0:32 add second child into first child (temp 4-component vector of float)
+0:32 'v' (temp 4-component vector of float)
+0:32 arc sine (global 4-component vector of float)
+0:32 'v' (temp 4-component vector of float)
+0:33 add second child into first child (temp 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:33 arc cosine (global 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:35 add second child into first child (temp 4-component vector of float)
+0:35 'v' (temp 4-component vector of float)
+0:35 arc tangent (global 4-component vector of float)
+0:35 'v' (temp 4-component vector of float)
+0:36 add second child into first child (temp 4-component vector of float)
+0:36 'v' (temp 4-component vector of float)
+0:36 hyp. sine (global 4-component vector of float)
+0:36 'v' (temp 4-component vector of float)
+0:37 add second child into first child (temp 4-component vector of float)
+0:37 'v' (temp 4-component vector of float)
+0:37 hyp. cosine (global 4-component vector of float)
+0:37 'v' (temp 4-component vector of float)
+0:38 add second child into first child (temp 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:38 hyp. tangent (global 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:39 add second child into first child (temp 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:39 arc hyp. sine (global 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:40 add second child into first child (temp 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:40 arc hyp. cosine (global 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:41 add second child into first child (temp 4-component vector of float)
+0:41 'v' (temp 4-component vector of float)
+0:41 arc hyp. tangent (global 4-component vector of float)
+0:41 'v' (temp 4-component vector of float)
+0:43 add second child into first child (temp 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:43 pow (global 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:44 add second child into first child (temp 4-component vector of float)
+0:44 'v' (temp 4-component vector of float)
+0:44 exp (global 4-component vector of float)
+0:44 'v' (temp 4-component vector of float)
+0:45 add second child into first child (temp 4-component vector of float)
+0:45 'v' (temp 4-component vector of float)
+0:45 log (global 4-component vector of float)
+0:45 'v' (temp 4-component vector of float)
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'v' (temp 4-component vector of float)
+0:46 exp2 (global 4-component vector of float)
+0:46 'v' (temp 4-component vector of float)
+0:47 add second child into first child (temp 4-component vector of float)
+0:47 'v' (temp 4-component vector of float)
+0:47 log2 (global 4-component vector of float)
+0:47 'v' (temp 4-component vector of float)
+0:48 add second child into first child (temp 4-component vector of float)
+0:48 'v' (temp 4-component vector of float)
+0:48 sqrt (global 4-component vector of float)
+0:48 'v' (temp 4-component vector of float)
+0:49 add second child into first child (temp 4-component vector of float)
+0:49 'v' (temp 4-component vector of float)
+0:49 inverse sqrt (global 4-component vector of float)
+0:49 'v' (temp 4-component vector of float)
+0:50 add second child into first child (temp 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:50 Absolute value (global 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'v' (temp 4-component vector of float)
+0:51 Sign (global 4-component vector of float)
+0:51 'v' (temp 4-component vector of float)
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'v' (temp 4-component vector of float)
+0:52 Floor (global 4-component vector of float)
+0:52 'v' (temp 4-component vector of float)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'v' (temp 4-component vector of float)
+0:55 trunc (global 4-component vector of float)
+0:55 'v' (temp 4-component vector of float)
+0:56 add second child into first child (temp 4-component vector of float)
+0:56 'v' (temp 4-component vector of float)
+0:56 round (global 4-component vector of float)
+0:56 'v' (temp 4-component vector of float)
+0:57 add second child into first child (temp 4-component vector of float)
+0:57 'v' (temp 4-component vector of float)
+0:57 roundEven (global 4-component vector of float)
+0:57 'v' (temp 4-component vector of float)
+0:60 add second child into first child (temp 4-component vector of float)
+0:60 'v' (temp 4-component vector of float)
+0:60 Ceiling (global 4-component vector of float)
+0:60 'v' (temp 4-component vector of float)
+0:61 add second child into first child (temp 4-component vector of float)
+0:61 'v' (temp 4-component vector of float)
+0:61 Fraction (global 4-component vector of float)
+0:61 'v' (temp 4-component vector of float)
+0:62 add second child into first child (temp 4-component vector of float)
+0:62 'v' (temp 4-component vector of float)
+0:62 mod (global 4-component vector of float)
+0:62 'v' (temp 4-component vector of float)
+0:62 'v' (temp 4-component vector of float)
+0:63 add second child into first child (temp 4-component vector of float)
+0:63 'v' (temp 4-component vector of float)
+0:63 mod (global 4-component vector of float)
+0:63 'v' (temp 4-component vector of float)
+0:63 direct index (temp float)
+0:63 'v' (temp 4-component vector of float)
+0:63 Constant:
+0:63 0 (const int)
+0:66 add second child into first child (temp 4-component vector of float)
+0:66 'v' (temp 4-component vector of float)
+0:66 modf (global 4-component vector of float)
+0:66 'v' (temp 4-component vector of float)
+0:66 'v' (temp 4-component vector of float)
+0:69 add second child into first child (temp 4-component vector of float)
+0:69 'v' (temp 4-component vector of float)
+0:69 min (global 4-component vector of float)
+0:69 'v' (temp 4-component vector of float)
+0:69 'uv4' (uniform 4-component vector of float)
+0:70 add second child into first child (temp 4-component vector of float)
+0:70 'v' (temp 4-component vector of float)
+0:70 max (global 4-component vector of float)
+0:70 'v' (temp 4-component vector of float)
+0:70 'uv4' (uniform 4-component vector of float)
+0:71 add second child into first child (temp 4-component vector of float)
+0:71 'v' (temp 4-component vector of float)
+0:71 clamp (global 4-component vector of float)
+0:71 'v' (temp 4-component vector of float)
+0:71 'uv4' (uniform 4-component vector of float)
+0:71 'uv4' (uniform 4-component vector of float)
+0:72 add second child into first child (temp 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:72 mix (global 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:75 add second child into first child (temp 4-component vector of float)
+0:75 'v' (temp 4-component vector of float)
+0:75 mix (global 4-component vector of float)
+0:75 'v' (temp 4-component vector of float)
+0:75 'v' (temp 4-component vector of float)
+0:75 'bv4' (temp 4-component vector of bool)
+0:76 add second child into first child (temp 4-component vector of float)
+0:76 'v' (temp 4-component vector of float)
+0:76 Constant:
+0:76 0.000000
+0:77 add second child into first child (temp 4-component vector of float)
+0:77 'v' (temp 4-component vector of float)
+0:77 Constant:
+0:77 0.000000
+0:78 add second child into first child (temp 4-component vector of float)
+0:78 'v' (temp 4-component vector of float)
+0:78 Constant:
+0:78 0.000000
+0:79 add second child into first child (temp 4-component vector of float)
+0:79 'v' (temp 4-component vector of float)
+0:79 Constant:
+0:79 0.000000
+0:80 add second child into first child (temp 4-component vector of float)
+0:80 'v' (temp 4-component vector of float)
+0:80 Constant:
+0:80 0.000000
+0:81 add second child into first child (temp 4-component vector of float)
+0:81 'v' (temp 4-component vector of float)
+0:81 Constant:
+0:81 0.000000
+0:82 add second child into first child (temp 4-component vector of float)
+0:82 'v' (temp 4-component vector of float)
+0:82 Constant:
+0:82 0.000000
+0:83 add second child into first child (temp 4-component vector of float)
+0:83 'v' (temp 4-component vector of float)
+0:83 Constant:
+0:83 0.000000
+0:86 add second child into first child (temp 4-component vector of float)
+0:86 'v' (temp 4-component vector of float)
+0:86 step (global 4-component vector of float)
+0:86 'v' (temp 4-component vector of float)
+0:86 'v' (temp 4-component vector of float)
+0:87 add second child into first child (temp 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:87 smoothstep (global 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:88 add second child into first child (temp 4-component vector of float)
+0:88 'v' (temp 4-component vector of float)
+0:88 step (global 4-component vector of float)
+0:88 'uf' (uniform float)
+0:88 'v' (temp 4-component vector of float)
+0:89 add second child into first child (temp 4-component vector of float)
+0:89 'v' (temp 4-component vector of float)
+0:89 smoothstep (global 4-component vector of float)
+0:89 'uf' (uniform float)
+0:89 'uf' (uniform float)
+0:89 'v' (temp 4-component vector of float)
+0:90 add second child into first child (temp 4-component vector of float)
+0:90 'v' (temp 4-component vector of float)
+0:90 normalize (global 4-component vector of float)
+0:90 'v' (temp 4-component vector of float)
+0:91 add second child into first child (temp 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:91 face-forward (global 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:92 add second child into first child (temp 4-component vector of float)
+0:92 'v' (temp 4-component vector of float)
+0:92 reflect (global 4-component vector of float)
+0:92 'v' (temp 4-component vector of float)
+0:92 'v' (temp 4-component vector of float)
+0:93 add second child into first child (temp 4-component vector of float)
+0:93 'v' (temp 4-component vector of float)
+0:93 refract (global 4-component vector of float)
+0:93 'v' (temp 4-component vector of float)
+0:93 'v' (temp 4-component vector of float)
+0:93 'uf' (uniform float)
+0:94 add second child into first child (temp 4-component vector of float)
+0:94 'v' (temp 4-component vector of float)
+0:94 dPdx (global 4-component vector of float)
+0:94 'v' (temp 4-component vector of float)
+0:95 add second child into first child (temp 4-component vector of float)
+0:95 'v' (temp 4-component vector of float)
+0:95 dPdy (global 4-component vector of float)
+0:95 'v' (temp 4-component vector of float)
+0:96 add second child into first child (temp 4-component vector of float)
+0:96 'v' (temp 4-component vector of float)
+0:96 fwidth (global 4-component vector of float)
+0:96 'v' (temp 4-component vector of float)
+0:101 add second child into first child (temp int)
+0:101 'i' (temp int)
+0:101 Absolute value (global int)
+0:101 'ui' (uniform int)
+0:102 add second child into first child (temp int)
+0:102 'i' (temp int)
+0:102 Sign (global int)
+0:102 'i' (temp int)
+0:103 add second child into first child (temp int)
+0:103 'i' (temp int)
+0:103 min (global int)
+0:103 'i' (temp int)
+0:103 'ui' (uniform int)
+0:104 add second child into first child (temp int)
+0:104 'i' (temp int)
+0:104 max (global int)
+0:104 'i' (temp int)
+0:104 'ui' (uniform int)
+0:105 add second child into first child (temp int)
+0:105 'i' (temp int)
+0:105 clamp (global int)
+0:105 'i' (temp int)
+0:105 'ui' (uniform int)
+0:105 'ui' (uniform int)
+0:107 Constant:
+0:107 0.000000
+0:108 Constant:
+0:108 0.000000
+0:109 Constant:
+0:109 0.000000
+0:110 Constant:
+0:110 0.000000
+0:113 'u' (temp uint)
+0:114 'u' (temp uint)
+0:115 add second child into first child (temp uint)
+0:115 'u' (temp uint)
+0:115 min (global uint)
+0:115 'u' (temp uint)
+0:115 'uui' (uniform uint)
+0:116 add second child into first child (temp uint)
+0:116 'u' (temp uint)
+0:116 max (global uint)
+0:116 'u' (temp uint)
+0:116 'uui' (uniform uint)
+0:117 add second child into first child (temp uint)
+0:117 'u' (temp uint)
+0:117 clamp (global uint)
+0:117 'u' (temp uint)
+0:117 'uui' (uniform uint)
+0:117 'uui' (uniform uint)
+0:118 'u' (temp uint)
+0:119 'u' (temp uint)
+0:120 'u' (temp uint)
+0:121 'i' (temp int)
+0:122 'i' (temp int)
+0:123 add second child into first child (temp int)
+0:123 'i' (temp int)
+0:123 'i' (temp int)
+0:127 move second child to first child (temp bool)
+0:127 'b' (temp bool)
+0:127 isnan (global bool)
+0:127 'uf' (uniform float)
+0:128 move second child to first child (temp bool)
+0:128 'b' (temp bool)
+0:128 isinf (global bool)
+0:128 direct index (temp float)
+0:128 'v' (temp 4-component vector of float)
+0:128 Constant:
+0:128 1 (const int)
+0:130 move second child to first child (temp bool)
+0:130 'b' (temp bool)
+0:130 any (global bool)
+0:130 Compare Less Than (global 4-component vector of bool)
+0:130 'v' (temp 4-component vector of float)
+0:130 'uv4' (uniform 4-component vector of float)
+0:131 move second child to first child (temp bool)
+0:131 'b' (temp bool)
+0:131 logical-and (temp bool)
+0:131 'b' (temp bool)
+0:131 any (global bool)
+0:131 Compare Less Than or Equal (global 4-component vector of bool)
+0:131 'v' (temp 4-component vector of float)
+0:131 'uv4' (uniform 4-component vector of float)
+0:132 move second child to first child (temp bool)
+0:132 'b' (temp bool)
+0:132 logical-and (temp bool)
+0:132 'b' (temp bool)
+0:132 any (global bool)
+0:132 Compare Greater Than (global 4-component vector of bool)
+0:132 'v' (temp 4-component vector of float)
+0:132 'uv4' (uniform 4-component vector of float)
+0:133 move second child to first child (temp bool)
+0:133 'b' (temp bool)
+0:133 logical-and (temp bool)
+0:133 'b' (temp bool)
+0:133 any (global bool)
+0:133 Compare Greater Than or Equal (global 4-component vector of bool)
+0:133 'v' (temp 4-component vector of float)
+0:133 'uv4' (uniform 4-component vector of float)
+0:134 move second child to first child (temp bool)
+0:134 'b' (temp bool)
+0:134 logical-and (temp bool)
+0:134 'b' (temp bool)
+0:134 any (global bool)
+0:134 Equal (global 4-component vector of bool)
+0:134 'ub41' (uniform 4-component vector of bool)
+0:134 'ub42' (uniform 4-component vector of bool)
+0:135 move second child to first child (temp bool)
+0:135 'b' (temp bool)
+0:135 logical-and (temp bool)
+0:135 'b' (temp bool)
+0:135 any (global bool)
+0:135 NotEqual (global 4-component vector of bool)
+0:135 'ub41' (uniform 4-component vector of bool)
+0:135 'ub42' (uniform 4-component vector of bool)
+0:136 move second child to first child (temp bool)
+0:136 'b' (temp bool)
+0:136 logical-and (temp bool)
+0:136 'b' (temp bool)
+0:136 any (global bool)
+0:136 'ub41' (uniform 4-component vector of bool)
+0:137 move second child to first child (temp bool)
+0:137 'b' (temp bool)
+0:137 logical-and (temp bool)
+0:137 'b' (temp bool)
+0:137 all (global bool)
+0:137 'ub41' (uniform 4-component vector of bool)
+0:138 move second child to first child (temp bool)
+0:138 'b' (temp bool)
+0:138 logical-and (temp bool)
+0:138 'b' (temp bool)
+0:138 any (global bool)
+0:138 Negate conditional (global 4-component vector of bool)
+0:138 'ub41' (uniform 4-component vector of bool)
+0:140 move second child to first child (temp int)
+0:140 'i' (temp int)
+0:140 divide (temp int)
+0:140 subtract (temp int)
+0:140 component-wise multiply (temp int)
+0:140 add (temp int)
+0:140 'i' (temp int)
+0:140 'ui' (uniform int)
+0:140 'i' (temp int)
+0:140 'ui' (uniform int)
+0:140 'i' (temp int)
+0:141 move second child to first child (temp int)
+0:141 'i' (temp int)
+0:141 mod (temp int)
+0:141 'i' (temp int)
+0:141 'ui' (uniform int)
+0:142 Test condition and select (temp void)
+0:142 Condition
+0:142 logical-or (temp bool)
+0:142 Compare Equal (temp bool)
+0:142 'i' (temp int)
+0:142 'ui' (uniform int)
+0:142 logical-xor (temp bool)
+0:142 logical-and (temp bool)
+0:142 Compare Not Equal (temp bool)
+0:142 'i' (temp int)
+0:142 'ui' (uniform int)
+0:142 Compare Equal (temp bool)
+0:142 'i' (temp int)
+0:142 'ui' (uniform int)
+0:142 Compare Not Equal (temp bool)
+0:142 'i' (temp int)
+0:142 Constant:
+0:142 2 (const int)
+0:142 true case
+0:143 Pre-Increment (temp int)
+0:143 'i' (temp int)
+0:145 move second child to first child (temp float)
+0:145 'f' (temp float)
+0:145 divide (temp float)
+0:145 subtract (temp float)
+0:145 component-wise multiply (temp float)
+0:145 add (temp float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:147 add second child into first child (temp float)
+0:147 'f' (temp float)
+0:147 length (global float)
+0:147 'v' (temp 4-component vector of float)
+0:148 add second child into first child (temp float)
+0:148 'f' (temp float)
+0:148 distance (global float)
+0:148 'v' (temp 4-component vector of float)
+0:148 'v' (temp 4-component vector of float)
+0:149 add second child into first child (temp float)
+0:149 'f' (temp float)
+0:149 dot-product (global float)
+0:149 'v' (temp 4-component vector of float)
+0:149 'v' (temp 4-component vector of float)
+0:150 add second child into first child (temp float)
+0:150 'f' (temp float)
+0:150 dot-product (global float)
+0:150 'f' (temp float)
+0:150 'uf' (uniform float)
+0:151 add second child into first child (temp float)
+0:151 'f' (temp float)
+0:151 direct index (temp float)
+0:151 cross-product (global 3-component vector of float)
+0:151 vector swizzle (temp 3-component vector of float)
+0:151 'v' (temp 4-component vector of float)
+0:151 Sequence
+0:151 Constant:
+0:151 0 (const int)
+0:151 Constant:
+0:151 1 (const int)
+0:151 Constant:
+0:151 2 (const int)
+0:151 vector swizzle (temp 3-component vector of float)
+0:151 'v' (temp 4-component vector of float)
+0:151 Sequence
+0:151 Constant:
+0:151 0 (const int)
+0:151 Constant:
+0:151 1 (const int)
+0:151 Constant:
+0:151 2 (const int)
+0:151 Constant:
+0:151 0 (const int)
+0:153 Test condition and select (temp void)
+0:153 Condition
+0:153 logical-or (temp bool)
+0:153 Compare Equal (temp bool)
+0:153 'f' (temp float)
+0:153 'uf' (uniform float)
+0:153 logical-and (temp bool)
+0:153 Compare Not Equal (temp bool)
+0:153 'f' (temp float)
+0:153 'uf' (uniform float)
+0:153 Compare Not Equal (temp bool)
+0:153 'f' (temp float)
+0:153 Constant:
+0:153 2.000000
+0:153 true case
+0:154 Pre-Increment (temp float)
+0:154 'f' (temp float)
+0:156 and second child into first child (temp int)
+0:156 'i' (temp int)
+0:156 'ui' (uniform int)
+0:157 or second child into first child (temp int)
+0:157 'i' (temp int)
+0:157 Constant:
+0:157 66 (const int)
+0:158 exclusive or second child into first child (temp int)
+0:158 'i' (temp int)
+0:158 'ui' (uniform int)
+0:159 mod second child into first child (temp int)
+0:159 'i' (temp int)
+0:159 Constant:
+0:159 17 (const int)
+0:160 right shift second child into first child (temp int)
+0:160 'i' (temp int)
+0:160 Constant:
+0:160 2 (const int)
+0:161 left shift second child into first child (temp int)
+0:161 'i' (temp int)
+0:161 'ui' (uniform int)
+0:162 move second child to first child (temp int)
+0:162 'i' (temp int)
+0:162 Bitwise not (temp int)
+0:162 'i' (temp int)
+0:163 move second child to first child (temp bool)
+0:163 'b' (temp bool)
+0:163 Negate conditional (temp bool)
+0:163 'b' (temp bool)
+0:165 move second child to first child (temp 4-component vector of float)
+0:165 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:165 Test condition and select (temp 4-component vector of float)
+0:165 Condition
+0:165 'b' (temp bool)
+0:165 true case
+0:165 add (temp 4-component vector of float)
+0:165 add (temp 4-component vector of float)
+0:165 Construct vec4 (temp 4-component vector of float)
+0:165 Convert int to float (temp float)
+0:165 'i' (temp int)
+0:165 Construct vec4 (temp 4-component vector of float)
+0:165 'f' (temp float)
+0:165 'v' (temp 4-component vector of float)
+0:165 false case
+0:165 'v' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'uiv4' (uniform 4-component vector of int)
+0:? 'uv4' (uniform 4-component vector of float)
+0:? 'ub' (uniform bool)
+0:? 'ub41' (uniform 4-component vector of bool)
+0:? 'ub42' (uniform 4-component vector of bool)
+0:? 'uf' (uniform float)
+0:? 'ui' (uniform int)
+0:? 'uuv4' (uniform 4-component vector of uint)
+0:? 'uui' (uniform uint)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:? Sequence
+0:27 move second child to first child (temp 4-component vector of float)
+0:27 'v' (temp 4-component vector of float)
+0:27 radians (global 4-component vector of float)
+0:27 'uv4' (uniform 4-component vector of float)
+0:28 add second child into first child (temp 4-component vector of float)
+0:28 'v' (temp 4-component vector of float)
+0:28 degrees (global 4-component vector of float)
+0:28 'v' (temp 4-component vector of float)
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'v' (temp 4-component vector of float)
+0:29 Comma (temp 4-component vector of float)
+0:29 move second child to first child (temp int)
+0:29 'i' (temp int)
+0:29 component-wise multiply (temp int)
+0:29 'ui' (uniform int)
+0:29 'ui' (uniform int)
+0:29 sine (global 4-component vector of float)
+0:29 'v' (temp 4-component vector of float)
+0:30 add second child into first child (temp 4-component vector of float)
+0:30 'v' (temp 4-component vector of float)
+0:30 cosine (global 4-component vector of float)
+0:30 'v' (temp 4-component vector of float)
+0:31 add second child into first child (temp 4-component vector of float)
+0:31 'v' (temp 4-component vector of float)
+0:31 tangent (global 4-component vector of float)
+0:31 'v' (temp 4-component vector of float)
+0:32 add second child into first child (temp 4-component vector of float)
+0:32 'v' (temp 4-component vector of float)
+0:32 arc sine (global 4-component vector of float)
+0:32 'v' (temp 4-component vector of float)
+0:33 add second child into first child (temp 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:33 arc cosine (global 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:35 add second child into first child (temp 4-component vector of float)
+0:35 'v' (temp 4-component vector of float)
+0:35 arc tangent (global 4-component vector of float)
+0:35 'v' (temp 4-component vector of float)
+0:36 add second child into first child (temp 4-component vector of float)
+0:36 'v' (temp 4-component vector of float)
+0:36 hyp. sine (global 4-component vector of float)
+0:36 'v' (temp 4-component vector of float)
+0:37 add second child into first child (temp 4-component vector of float)
+0:37 'v' (temp 4-component vector of float)
+0:37 hyp. cosine (global 4-component vector of float)
+0:37 'v' (temp 4-component vector of float)
+0:38 add second child into first child (temp 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:38 hyp. tangent (global 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:39 add second child into first child (temp 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:39 arc hyp. sine (global 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:40 add second child into first child (temp 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:40 arc hyp. cosine (global 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:41 add second child into first child (temp 4-component vector of float)
+0:41 'v' (temp 4-component vector of float)
+0:41 arc hyp. tangent (global 4-component vector of float)
+0:41 'v' (temp 4-component vector of float)
+0:43 add second child into first child (temp 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:43 pow (global 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:44 add second child into first child (temp 4-component vector of float)
+0:44 'v' (temp 4-component vector of float)
+0:44 exp (global 4-component vector of float)
+0:44 'v' (temp 4-component vector of float)
+0:45 add second child into first child (temp 4-component vector of float)
+0:45 'v' (temp 4-component vector of float)
+0:45 log (global 4-component vector of float)
+0:45 'v' (temp 4-component vector of float)
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'v' (temp 4-component vector of float)
+0:46 exp2 (global 4-component vector of float)
+0:46 'v' (temp 4-component vector of float)
+0:47 add second child into first child (temp 4-component vector of float)
+0:47 'v' (temp 4-component vector of float)
+0:47 log2 (global 4-component vector of float)
+0:47 'v' (temp 4-component vector of float)
+0:48 add second child into first child (temp 4-component vector of float)
+0:48 'v' (temp 4-component vector of float)
+0:48 sqrt (global 4-component vector of float)
+0:48 'v' (temp 4-component vector of float)
+0:49 add second child into first child (temp 4-component vector of float)
+0:49 'v' (temp 4-component vector of float)
+0:49 inverse sqrt (global 4-component vector of float)
+0:49 'v' (temp 4-component vector of float)
+0:50 add second child into first child (temp 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:50 Absolute value (global 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'v' (temp 4-component vector of float)
+0:51 Sign (global 4-component vector of float)
+0:51 'v' (temp 4-component vector of float)
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'v' (temp 4-component vector of float)
+0:52 Floor (global 4-component vector of float)
+0:52 'v' (temp 4-component vector of float)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'v' (temp 4-component vector of float)
+0:55 trunc (global 4-component vector of float)
+0:55 'v' (temp 4-component vector of float)
+0:56 add second child into first child (temp 4-component vector of float)
+0:56 'v' (temp 4-component vector of float)
+0:56 round (global 4-component vector of float)
+0:56 'v' (temp 4-component vector of float)
+0:57 add second child into first child (temp 4-component vector of float)
+0:57 'v' (temp 4-component vector of float)
+0:57 roundEven (global 4-component vector of float)
+0:57 'v' (temp 4-component vector of float)
+0:60 add second child into first child (temp 4-component vector of float)
+0:60 'v' (temp 4-component vector of float)
+0:60 Ceiling (global 4-component vector of float)
+0:60 'v' (temp 4-component vector of float)
+0:61 add second child into first child (temp 4-component vector of float)
+0:61 'v' (temp 4-component vector of float)
+0:61 Fraction (global 4-component vector of float)
+0:61 'v' (temp 4-component vector of float)
+0:62 add second child into first child (temp 4-component vector of float)
+0:62 'v' (temp 4-component vector of float)
+0:62 mod (global 4-component vector of float)
+0:62 'v' (temp 4-component vector of float)
+0:62 'v' (temp 4-component vector of float)
+0:63 add second child into first child (temp 4-component vector of float)
+0:63 'v' (temp 4-component vector of float)
+0:63 mod (global 4-component vector of float)
+0:63 'v' (temp 4-component vector of float)
+0:63 direct index (temp float)
+0:63 'v' (temp 4-component vector of float)
+0:63 Constant:
+0:63 0 (const int)
+0:66 add second child into first child (temp 4-component vector of float)
+0:66 'v' (temp 4-component vector of float)
+0:66 modf (global 4-component vector of float)
+0:66 'v' (temp 4-component vector of float)
+0:66 'v' (temp 4-component vector of float)
+0:69 add second child into first child (temp 4-component vector of float)
+0:69 'v' (temp 4-component vector of float)
+0:69 min (global 4-component vector of float)
+0:69 'v' (temp 4-component vector of float)
+0:69 'uv4' (uniform 4-component vector of float)
+0:70 add second child into first child (temp 4-component vector of float)
+0:70 'v' (temp 4-component vector of float)
+0:70 max (global 4-component vector of float)
+0:70 'v' (temp 4-component vector of float)
+0:70 'uv4' (uniform 4-component vector of float)
+0:71 add second child into first child (temp 4-component vector of float)
+0:71 'v' (temp 4-component vector of float)
+0:71 clamp (global 4-component vector of float)
+0:71 'v' (temp 4-component vector of float)
+0:71 'uv4' (uniform 4-component vector of float)
+0:71 'uv4' (uniform 4-component vector of float)
+0:72 add second child into first child (temp 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:72 mix (global 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:75 add second child into first child (temp 4-component vector of float)
+0:75 'v' (temp 4-component vector of float)
+0:75 mix (global 4-component vector of float)
+0:75 'v' (temp 4-component vector of float)
+0:75 'v' (temp 4-component vector of float)
+0:75 'bv4' (temp 4-component vector of bool)
+0:76 add second child into first child (temp 4-component vector of float)
+0:76 'v' (temp 4-component vector of float)
+0:76 Constant:
+0:76 0.000000
+0:77 add second child into first child (temp 4-component vector of float)
+0:77 'v' (temp 4-component vector of float)
+0:77 Constant:
+0:77 0.000000
+0:78 add second child into first child (temp 4-component vector of float)
+0:78 'v' (temp 4-component vector of float)
+0:78 Constant:
+0:78 0.000000
+0:79 add second child into first child (temp 4-component vector of float)
+0:79 'v' (temp 4-component vector of float)
+0:79 Constant:
+0:79 0.000000
+0:80 add second child into first child (temp 4-component vector of float)
+0:80 'v' (temp 4-component vector of float)
+0:80 Constant:
+0:80 0.000000
+0:81 add second child into first child (temp 4-component vector of float)
+0:81 'v' (temp 4-component vector of float)
+0:81 Constant:
+0:81 0.000000
+0:82 add second child into first child (temp 4-component vector of float)
+0:82 'v' (temp 4-component vector of float)
+0:82 Constant:
+0:82 0.000000
+0:83 add second child into first child (temp 4-component vector of float)
+0:83 'v' (temp 4-component vector of float)
+0:83 Constant:
+0:83 0.000000
+0:86 add second child into first child (temp 4-component vector of float)
+0:86 'v' (temp 4-component vector of float)
+0:86 step (global 4-component vector of float)
+0:86 'v' (temp 4-component vector of float)
+0:86 'v' (temp 4-component vector of float)
+0:87 add second child into first child (temp 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:87 smoothstep (global 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:88 add second child into first child (temp 4-component vector of float)
+0:88 'v' (temp 4-component vector of float)
+0:88 step (global 4-component vector of float)
+0:88 'uf' (uniform float)
+0:88 'v' (temp 4-component vector of float)
+0:89 add second child into first child (temp 4-component vector of float)
+0:89 'v' (temp 4-component vector of float)
+0:89 smoothstep (global 4-component vector of float)
+0:89 'uf' (uniform float)
+0:89 'uf' (uniform float)
+0:89 'v' (temp 4-component vector of float)
+0:90 add second child into first child (temp 4-component vector of float)
+0:90 'v' (temp 4-component vector of float)
+0:90 normalize (global 4-component vector of float)
+0:90 'v' (temp 4-component vector of float)
+0:91 add second child into first child (temp 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:91 face-forward (global 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:92 add second child into first child (temp 4-component vector of float)
+0:92 'v' (temp 4-component vector of float)
+0:92 reflect (global 4-component vector of float)
+0:92 'v' (temp 4-component vector of float)
+0:92 'v' (temp 4-component vector of float)
+0:93 add second child into first child (temp 4-component vector of float)
+0:93 'v' (temp 4-component vector of float)
+0:93 refract (global 4-component vector of float)
+0:93 'v' (temp 4-component vector of float)
+0:93 'v' (temp 4-component vector of float)
+0:93 'uf' (uniform float)
+0:94 add second child into first child (temp 4-component vector of float)
+0:94 'v' (temp 4-component vector of float)
+0:94 dPdx (global 4-component vector of float)
+0:94 'v' (temp 4-component vector of float)
+0:95 add second child into first child (temp 4-component vector of float)
+0:95 'v' (temp 4-component vector of float)
+0:95 dPdy (global 4-component vector of float)
+0:95 'v' (temp 4-component vector of float)
+0:96 add second child into first child (temp 4-component vector of float)
+0:96 'v' (temp 4-component vector of float)
+0:96 fwidth (global 4-component vector of float)
+0:96 'v' (temp 4-component vector of float)
+0:101 add second child into first child (temp int)
+0:101 'i' (temp int)
+0:101 Absolute value (global int)
+0:101 'ui' (uniform int)
+0:102 add second child into first child (temp int)
+0:102 'i' (temp int)
+0:102 Sign (global int)
+0:102 'i' (temp int)
+0:103 add second child into first child (temp int)
+0:103 'i' (temp int)
+0:103 min (global int)
+0:103 'i' (temp int)
+0:103 'ui' (uniform int)
+0:104 add second child into first child (temp int)
+0:104 'i' (temp int)
+0:104 max (global int)
+0:104 'i' (temp int)
+0:104 'ui' (uniform int)
+0:105 add second child into first child (temp int)
+0:105 'i' (temp int)
+0:105 clamp (global int)
+0:105 'i' (temp int)
+0:105 'ui' (uniform int)
+0:105 'ui' (uniform int)
+0:107 Constant:
+0:107 0.000000
+0:108 Constant:
+0:108 0.000000
+0:109 Constant:
+0:109 0.000000
+0:110 Constant:
+0:110 0.000000
+0:113 'u' (temp uint)
+0:114 'u' (temp uint)
+0:115 add second child into first child (temp uint)
+0:115 'u' (temp uint)
+0:115 min (global uint)
+0:115 'u' (temp uint)
+0:115 'uui' (uniform uint)
+0:116 add second child into first child (temp uint)
+0:116 'u' (temp uint)
+0:116 max (global uint)
+0:116 'u' (temp uint)
+0:116 'uui' (uniform uint)
+0:117 add second child into first child (temp uint)
+0:117 'u' (temp uint)
+0:117 clamp (global uint)
+0:117 'u' (temp uint)
+0:117 'uui' (uniform uint)
+0:117 'uui' (uniform uint)
+0:118 'u' (temp uint)
+0:119 'u' (temp uint)
+0:120 'u' (temp uint)
+0:121 'i' (temp int)
+0:122 'i' (temp int)
+0:123 add second child into first child (temp int)
+0:123 'i' (temp int)
+0:123 'i' (temp int)
+0:127 move second child to first child (temp bool)
+0:127 'b' (temp bool)
+0:127 isnan (global bool)
+0:127 'uf' (uniform float)
+0:128 move second child to first child (temp bool)
+0:128 'b' (temp bool)
+0:128 isinf (global bool)
+0:128 direct index (temp float)
+0:128 'v' (temp 4-component vector of float)
+0:128 Constant:
+0:128 1 (const int)
+0:130 move second child to first child (temp bool)
+0:130 'b' (temp bool)
+0:130 any (global bool)
+0:130 Compare Less Than (global 4-component vector of bool)
+0:130 'v' (temp 4-component vector of float)
+0:130 'uv4' (uniform 4-component vector of float)
+0:131 move second child to first child (temp bool)
+0:131 'b' (temp bool)
+0:131 logical-and (temp bool)
+0:131 'b' (temp bool)
+0:131 any (global bool)
+0:131 Compare Less Than or Equal (global 4-component vector of bool)
+0:131 'v' (temp 4-component vector of float)
+0:131 'uv4' (uniform 4-component vector of float)
+0:132 move second child to first child (temp bool)
+0:132 'b' (temp bool)
+0:132 logical-and (temp bool)
+0:132 'b' (temp bool)
+0:132 any (global bool)
+0:132 Compare Greater Than (global 4-component vector of bool)
+0:132 'v' (temp 4-component vector of float)
+0:132 'uv4' (uniform 4-component vector of float)
+0:133 move second child to first child (temp bool)
+0:133 'b' (temp bool)
+0:133 logical-and (temp bool)
+0:133 'b' (temp bool)
+0:133 any (global bool)
+0:133 Compare Greater Than or Equal (global 4-component vector of bool)
+0:133 'v' (temp 4-component vector of float)
+0:133 'uv4' (uniform 4-component vector of float)
+0:134 move second child to first child (temp bool)
+0:134 'b' (temp bool)
+0:134 logical-and (temp bool)
+0:134 'b' (temp bool)
+0:134 any (global bool)
+0:134 Equal (global 4-component vector of bool)
+0:134 'ub41' (uniform 4-component vector of bool)
+0:134 'ub42' (uniform 4-component vector of bool)
+0:135 move second child to first child (temp bool)
+0:135 'b' (temp bool)
+0:135 logical-and (temp bool)
+0:135 'b' (temp bool)
+0:135 any (global bool)
+0:135 NotEqual (global 4-component vector of bool)
+0:135 'ub41' (uniform 4-component vector of bool)
+0:135 'ub42' (uniform 4-component vector of bool)
+0:136 move second child to first child (temp bool)
+0:136 'b' (temp bool)
+0:136 logical-and (temp bool)
+0:136 'b' (temp bool)
+0:136 any (global bool)
+0:136 'ub41' (uniform 4-component vector of bool)
+0:137 move second child to first child (temp bool)
+0:137 'b' (temp bool)
+0:137 logical-and (temp bool)
+0:137 'b' (temp bool)
+0:137 all (global bool)
+0:137 'ub41' (uniform 4-component vector of bool)
+0:138 move second child to first child (temp bool)
+0:138 'b' (temp bool)
+0:138 logical-and (temp bool)
+0:138 'b' (temp bool)
+0:138 any (global bool)
+0:138 Negate conditional (global 4-component vector of bool)
+0:138 'ub41' (uniform 4-component vector of bool)
+0:140 move second child to first child (temp int)
+0:140 'i' (temp int)
+0:140 divide (temp int)
+0:140 subtract (temp int)
+0:140 component-wise multiply (temp int)
+0:140 add (temp int)
+0:140 'i' (temp int)
+0:140 'ui' (uniform int)
+0:140 'i' (temp int)
+0:140 'ui' (uniform int)
+0:140 'i' (temp int)
+0:141 move second child to first child (temp int)
+0:141 'i' (temp int)
+0:141 mod (temp int)
+0:141 'i' (temp int)
+0:141 'ui' (uniform int)
+0:142 Test condition and select (temp void)
+0:142 Condition
+0:142 logical-or (temp bool)
+0:142 Compare Equal (temp bool)
+0:142 'i' (temp int)
+0:142 'ui' (uniform int)
+0:142 logical-xor (temp bool)
+0:142 logical-and (temp bool)
+0:142 Compare Not Equal (temp bool)
+0:142 'i' (temp int)
+0:142 'ui' (uniform int)
+0:142 Compare Equal (temp bool)
+0:142 'i' (temp int)
+0:142 'ui' (uniform int)
+0:142 Compare Not Equal (temp bool)
+0:142 'i' (temp int)
+0:142 Constant:
+0:142 2 (const int)
+0:142 true case
+0:143 Pre-Increment (temp int)
+0:143 'i' (temp int)
+0:145 move second child to first child (temp float)
+0:145 'f' (temp float)
+0:145 divide (temp float)
+0:145 subtract (temp float)
+0:145 component-wise multiply (temp float)
+0:145 add (temp float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:147 add second child into first child (temp float)
+0:147 'f' (temp float)
+0:147 length (global float)
+0:147 'v' (temp 4-component vector of float)
+0:148 add second child into first child (temp float)
+0:148 'f' (temp float)
+0:148 distance (global float)
+0:148 'v' (temp 4-component vector of float)
+0:148 'v' (temp 4-component vector of float)
+0:149 add second child into first child (temp float)
+0:149 'f' (temp float)
+0:149 dot-product (global float)
+0:149 'v' (temp 4-component vector of float)
+0:149 'v' (temp 4-component vector of float)
+0:150 add second child into first child (temp float)
+0:150 'f' (temp float)
+0:150 dot-product (global float)
+0:150 'f' (temp float)
+0:150 'uf' (uniform float)
+0:151 add second child into first child (temp float)
+0:151 'f' (temp float)
+0:151 direct index (temp float)
+0:151 cross-product (global 3-component vector of float)
+0:151 vector swizzle (temp 3-component vector of float)
+0:151 'v' (temp 4-component vector of float)
+0:151 Sequence
+0:151 Constant:
+0:151 0 (const int)
+0:151 Constant:
+0:151 1 (const int)
+0:151 Constant:
+0:151 2 (const int)
+0:151 vector swizzle (temp 3-component vector of float)
+0:151 'v' (temp 4-component vector of float)
+0:151 Sequence
+0:151 Constant:
+0:151 0 (const int)
+0:151 Constant:
+0:151 1 (const int)
+0:151 Constant:
+0:151 2 (const int)
+0:151 Constant:
+0:151 0 (const int)
+0:153 Test condition and select (temp void)
+0:153 Condition
+0:153 logical-or (temp bool)
+0:153 Compare Equal (temp bool)
+0:153 'f' (temp float)
+0:153 'uf' (uniform float)
+0:153 logical-and (temp bool)
+0:153 Compare Not Equal (temp bool)
+0:153 'f' (temp float)
+0:153 'uf' (uniform float)
+0:153 Compare Not Equal (temp bool)
+0:153 'f' (temp float)
+0:153 Constant:
+0:153 2.000000
+0:153 true case
+0:154 Pre-Increment (temp float)
+0:154 'f' (temp float)
+0:156 and second child into first child (temp int)
+0:156 'i' (temp int)
+0:156 'ui' (uniform int)
+0:157 or second child into first child (temp int)
+0:157 'i' (temp int)
+0:157 Constant:
+0:157 66 (const int)
+0:158 exclusive or second child into first child (temp int)
+0:158 'i' (temp int)
+0:158 'ui' (uniform int)
+0:159 mod second child into first child (temp int)
+0:159 'i' (temp int)
+0:159 Constant:
+0:159 17 (const int)
+0:160 right shift second child into first child (temp int)
+0:160 'i' (temp int)
+0:160 Constant:
+0:160 2 (const int)
+0:161 left shift second child into first child (temp int)
+0:161 'i' (temp int)
+0:161 'ui' (uniform int)
+0:162 move second child to first child (temp int)
+0:162 'i' (temp int)
+0:162 Bitwise not (temp int)
+0:162 'i' (temp int)
+0:163 move second child to first child (temp bool)
+0:163 'b' (temp bool)
+0:163 Negate conditional (temp bool)
+0:163 'b' (temp bool)
+0:165 move second child to first child (temp 4-component vector of float)
+0:165 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:165 Test condition and select (temp 4-component vector of float)
+0:165 Condition
+0:165 'b' (temp bool)
+0:165 true case
+0:165 add (temp 4-component vector of float)
+0:165 add (temp 4-component vector of float)
+0:165 Construct vec4 (temp 4-component vector of float)
+0:165 Convert int to float (temp float)
+0:165 'i' (temp int)
+0:165 Construct vec4 (temp 4-component vector of float)
+0:165 'f' (temp float)
+0:165 'v' (temp 4-component vector of float)
+0:165 false case
+0:165 'v' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'uiv4' (uniform 4-component vector of int)
+0:? 'uv4' (uniform 4-component vector of float)
+0:? 'ub' (uniform bool)
+0:? 'ub41' (uniform 4-component vector of bool)
+0:? 'ub42' (uniform 4-component vector of bool)
+0:? 'uf' (uniform float)
+0:? 'ui' (uniform int)
+0:? 'uuv4' (uniform 4-component vector of uint)
+0:? 'uui' (uniform uint)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/aggOps.frag.out b/chromium/third_party/glslang/src/Test/baseResults/aggOps.frag.out
new file mode 100644
index 00000000000..7a60fbc6d03
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/aggOps.frag.out
@@ -0,0 +1,298 @@
+aggOps.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:6: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:23 Function Definition: main( (global void)
+0:23 Function Parameters:
+0:? Sequence
+0:27 move second child to first child (temp 3-element array of structure{global int i, global float f})
+0:27 'a' (temp 3-element array of structure{global int i, global float f})
+0:27 Construct structure (temp 3-element array of structure{global int i, global float f})
+0:27 Construct structure (temp structure{global int i, global float f})
+0:27 Convert float to int (temp int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 0 (const int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 1 (const int)
+0:27 Construct structure (temp structure{global int i, global float f})
+0:27 Convert float to int (temp int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 2 (const int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 3 (const int)
+0:27 Constant:
+0:27 14 (const int)
+0:27 14.000000
+0:28 move second child to first child (temp 3-element array of structure{global int i, global float f})
+0:28 'b' (temp 3-element array of structure{global int i, global float f})
+0:28 Construct structure (temp 3-element array of structure{global int i, global float f})
+0:28 Constant:
+0:28 17 (const int)
+0:28 17.000000
+0:28 Construct structure (temp structure{global int i, global float f})
+0:28 Convert float to int (temp int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 0 (const int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 1 (const int)
+0:28 Construct structure (temp structure{global int i, global float f})
+0:28 Convert float to int (temp int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 2 (const int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 3 (const int)
+0:30 Test condition and select (temp void)
+0:30 Condition
+0:30 Compare Equal (temp bool)
+0:30 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:30 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:30 true case
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 'v' (temp 4-component vector of float)
+0:31 texture (global 4-component vector of float)
+0:31 'sampler' (uniform sampler2D)
+0:31 'coord' (smooth in 2-component vector of float)
+0:30 false case
+0:33 move second child to first child (temp 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:33 texture (global 4-component vector of float)
+0:33 'sampler' (uniform sampler2D)
+0:33 vector-scale (temp 2-component vector of float)
+0:33 Constant:
+0:33 2.000000
+0:33 'coord' (smooth in 2-component vector of float)
+0:35 Test condition and select (temp void)
+0:35 Condition
+0:35 Compare Equal (temp bool)
+0:35 'u' (smooth in 4-component vector of float)
+0:35 'v' (temp 4-component vector of float)
+0:35 true case
+0:36 vector scale second child into first child (temp 4-component vector of float)
+0:36 'v' (temp 4-component vector of float)
+0:36 Constant:
+0:36 3.000000
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Not Equal (temp bool)
+0:38 'u' (smooth in 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:38 true case
+0:39 vector scale second child into first child (temp 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:39 Constant:
+0:39 4.000000
+0:41 Test condition and select (temp void)
+0:41 Condition
+0:41 Compare Equal (temp bool)
+0:41 'coord' (smooth in 2-component vector of float)
+0:41 vector swizzle (temp 2-component vector of float)
+0:41 'v' (temp 4-component vector of float)
+0:41 Sequence
+0:41 Constant:
+0:41 1 (const int)
+0:41 Constant:
+0:41 3 (const int)
+0:41 true case
+0:42 vector scale second child into first child (temp 4-component vector of float)
+0:42 'v' (temp 4-component vector of float)
+0:42 Constant:
+0:42 5.000000
+0:44 Test condition and select (temp void)
+0:44 Condition
+0:44 Compare Equal (temp bool)
+0:44 'a' (temp 3-element array of structure{global int i, global float f})
+0:44 'b' (temp 3-element array of structure{global int i, global float f})
+0:44 true case
+0:45 vector scale second child into first child (temp 4-component vector of float)
+0:45 'v' (temp 4-component vector of float)
+0:45 Constant:
+0:45 6.000000
+0:47 Test condition and select (temp void)
+0:47 Condition
+0:47 Compare Not Equal (temp bool)
+0:47 'a' (temp 3-element array of structure{global int i, global float f})
+0:47 'b' (temp 3-element array of structure{global int i, global float f})
+0:47 true case
+0:48 vector scale second child into first child (temp 4-component vector of float)
+0:48 'v' (temp 4-component vector of float)
+0:48 Constant:
+0:48 7.000000
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:50 'v' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'u' (smooth in 4-component vector of float)
+0:? 'w' (smooth in 4-component vector of float)
+0:? 'foo1' (uniform structure{global int i, global float f})
+0:? 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:23 Function Definition: main( (global void)
+0:23 Function Parameters:
+0:? Sequence
+0:27 move second child to first child (temp 3-element array of structure{global int i, global float f})
+0:27 'a' (temp 3-element array of structure{global int i, global float f})
+0:27 Construct structure (temp 3-element array of structure{global int i, global float f})
+0:27 Construct structure (temp structure{global int i, global float f})
+0:27 Convert float to int (temp int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 0 (const int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 1 (const int)
+0:27 Construct structure (temp structure{global int i, global float f})
+0:27 Convert float to int (temp int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 2 (const int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 3 (const int)
+0:27 Constant:
+0:27 14 (const int)
+0:27 14.000000
+0:28 move second child to first child (temp 3-element array of structure{global int i, global float f})
+0:28 'b' (temp 3-element array of structure{global int i, global float f})
+0:28 Construct structure (temp 3-element array of structure{global int i, global float f})
+0:28 Constant:
+0:28 17 (const int)
+0:28 17.000000
+0:28 Construct structure (temp structure{global int i, global float f})
+0:28 Convert float to int (temp int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 0 (const int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 1 (const int)
+0:28 Construct structure (temp structure{global int i, global float f})
+0:28 Convert float to int (temp int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 2 (const int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 3 (const int)
+0:30 Test condition and select (temp void)
+0:30 Condition
+0:30 Compare Equal (temp bool)
+0:30 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:30 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:30 true case
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 'v' (temp 4-component vector of float)
+0:31 texture (global 4-component vector of float)
+0:31 'sampler' (uniform sampler2D)
+0:31 'coord' (smooth in 2-component vector of float)
+0:30 false case
+0:33 move second child to first child (temp 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:33 texture (global 4-component vector of float)
+0:33 'sampler' (uniform sampler2D)
+0:33 vector-scale (temp 2-component vector of float)
+0:33 Constant:
+0:33 2.000000
+0:33 'coord' (smooth in 2-component vector of float)
+0:35 Test condition and select (temp void)
+0:35 Condition
+0:35 Compare Equal (temp bool)
+0:35 'u' (smooth in 4-component vector of float)
+0:35 'v' (temp 4-component vector of float)
+0:35 true case
+0:36 vector scale second child into first child (temp 4-component vector of float)
+0:36 'v' (temp 4-component vector of float)
+0:36 Constant:
+0:36 3.000000
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Not Equal (temp bool)
+0:38 'u' (smooth in 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:38 true case
+0:39 vector scale second child into first child (temp 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:39 Constant:
+0:39 4.000000
+0:41 Test condition and select (temp void)
+0:41 Condition
+0:41 Compare Equal (temp bool)
+0:41 'coord' (smooth in 2-component vector of float)
+0:41 vector swizzle (temp 2-component vector of float)
+0:41 'v' (temp 4-component vector of float)
+0:41 Sequence
+0:41 Constant:
+0:41 1 (const int)
+0:41 Constant:
+0:41 3 (const int)
+0:41 true case
+0:42 vector scale second child into first child (temp 4-component vector of float)
+0:42 'v' (temp 4-component vector of float)
+0:42 Constant:
+0:42 5.000000
+0:44 Test condition and select (temp void)
+0:44 Condition
+0:44 Compare Equal (temp bool)
+0:44 'a' (temp 3-element array of structure{global int i, global float f})
+0:44 'b' (temp 3-element array of structure{global int i, global float f})
+0:44 true case
+0:45 vector scale second child into first child (temp 4-component vector of float)
+0:45 'v' (temp 4-component vector of float)
+0:45 Constant:
+0:45 6.000000
+0:47 Test condition and select (temp void)
+0:47 Condition
+0:47 Compare Not Equal (temp bool)
+0:47 'a' (temp 3-element array of structure{global int i, global float f})
+0:47 'b' (temp 3-element array of structure{global int i, global float f})
+0:47 true case
+0:48 vector scale second child into first child (temp 4-component vector of float)
+0:48 'v' (temp 4-component vector of float)
+0:48 Constant:
+0:48 7.000000
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:50 'v' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'u' (smooth in 4-component vector of float)
+0:? 'w' (smooth in 4-component vector of float)
+0:? 'foo1' (uniform structure{global int i, global float f})
+0:? 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/always-discard.frag.out b/chromium/third_party/glslang/src/Test/baseResults/always-discard.frag.out
new file mode 100644
index 00000000000..e1eeae3e6cf
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/always-discard.frag.out
@@ -0,0 +1,239 @@
+always-discard.frag
+Shader version: 110
+0:? Sequence
+0:4 Function Definition: main( (global void)
+0:4 Function Parameters:
+0:6 Sequence
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'white' (temp 4-component vector of float)
+0:6 Constant:
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'black' (temp 4-component vector of float)
+0:7 Constant:
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'color' (temp 4-component vector of float)
+0:8 'white' (temp 4-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'x' (temp float)
+0:11 subtract (temp float)
+0:11 component-wise multiply (temp float)
+0:11 direct index (temp float)
+0:11 'tex_coord' (smooth in 2-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 2.000000
+0:11 Constant:
+0:11 1.000000
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'y' (temp float)
+0:12 subtract (temp float)
+0:12 component-wise multiply (temp float)
+0:12 direct index (temp float)
+0:12 'tex_coord' (smooth in 2-component vector of float)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 2.000000
+0:12 Constant:
+0:12 1.000000
+0:14 Sequence
+0:14 move second child to first child (temp float)
+0:14 'radius' (temp float)
+0:14 sqrt (global float)
+0:14 add (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'x' (temp float)
+0:14 'x' (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'y' (temp float)
+0:14 'y' (temp float)
+0:15 Test condition and select (temp void)
+0:15 Condition
+0:15 Compare Greater Than (temp bool)
+0:15 'radius' (temp float)
+0:15 Constant:
+0:15 1.000000
+0:15 true case
+0:16 Sequence
+0:16 Test condition and select (temp void)
+0:16 Condition
+0:16 Compare Greater Than (temp bool)
+0:16 'radius' (temp float)
+0:16 Constant:
+0:16 1.100000
+0:16 true case
+0:17 Sequence
+0:17 Pre-Increment (temp 4-component vector of float)
+0:17 'color' (temp 4-component vector of float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:20 'color' (temp 4-component vector of float)
+0:22 Test condition and select (temp void)
+0:22 Condition
+0:22 Compare Greater Than (temp bool)
+0:22 'radius' (temp float)
+0:22 Constant:
+0:22 1.200000
+0:22 true case
+0:23 Sequence
+0:23 Pre-Increment (temp 4-component vector of float)
+0:23 'color' (temp 4-component vector of float)
+0:28 Branch: Kill
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Greater Than or Equal (temp bool)
+0:31 'radius' (temp float)
+0:31 Constant:
+0:31 0.750000
+0:31 true case
+0:32 subtract second child into first child (temp 4-component vector of float)
+0:32 'color' (temp 4-component vector of float)
+0:32 Absolute value (global float)
+0:32 divide (temp float)
+0:32 pow (global float)
+0:32 'radius' (temp float)
+0:32 Constant:
+0:32 16.000000
+0:32 Constant:
+0:32 2.000000
+0:34 move second child to first child (temp 4-component vector of float)
+0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:34 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex_coord' (smooth in 2-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:4 Function Definition: main( (global void)
+0:4 Function Parameters:
+0:6 Sequence
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'white' (temp 4-component vector of float)
+0:6 Constant:
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'black' (temp 4-component vector of float)
+0:7 Constant:
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'color' (temp 4-component vector of float)
+0:8 'white' (temp 4-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'x' (temp float)
+0:11 subtract (temp float)
+0:11 component-wise multiply (temp float)
+0:11 direct index (temp float)
+0:11 'tex_coord' (smooth in 2-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 2.000000
+0:11 Constant:
+0:11 1.000000
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'y' (temp float)
+0:12 subtract (temp float)
+0:12 component-wise multiply (temp float)
+0:12 direct index (temp float)
+0:12 'tex_coord' (smooth in 2-component vector of float)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 2.000000
+0:12 Constant:
+0:12 1.000000
+0:14 Sequence
+0:14 move second child to first child (temp float)
+0:14 'radius' (temp float)
+0:14 sqrt (global float)
+0:14 add (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'x' (temp float)
+0:14 'x' (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'y' (temp float)
+0:14 'y' (temp float)
+0:15 Test condition and select (temp void)
+0:15 Condition
+0:15 Compare Greater Than (temp bool)
+0:15 'radius' (temp float)
+0:15 Constant:
+0:15 1.000000
+0:15 true case
+0:16 Sequence
+0:16 Test condition and select (temp void)
+0:16 Condition
+0:16 Compare Greater Than (temp bool)
+0:16 'radius' (temp float)
+0:16 Constant:
+0:16 1.100000
+0:16 true case
+0:17 Sequence
+0:17 Pre-Increment (temp 4-component vector of float)
+0:17 'color' (temp 4-component vector of float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:20 'color' (temp 4-component vector of float)
+0:22 Test condition and select (temp void)
+0:22 Condition
+0:22 Compare Greater Than (temp bool)
+0:22 'radius' (temp float)
+0:22 Constant:
+0:22 1.200000
+0:22 true case
+0:23 Sequence
+0:23 Pre-Increment (temp 4-component vector of float)
+0:23 'color' (temp 4-component vector of float)
+0:28 Branch: Kill
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Greater Than or Equal (temp bool)
+0:31 'radius' (temp float)
+0:31 Constant:
+0:31 0.750000
+0:31 true case
+0:32 subtract second child into first child (temp 4-component vector of float)
+0:32 'color' (temp 4-component vector of float)
+0:32 Absolute value (global float)
+0:32 divide (temp float)
+0:32 pow (global float)
+0:32 'radius' (temp float)
+0:32 Constant:
+0:32 16.000000
+0:32 Constant:
+0:32 2.000000
+0:34 move second child to first child (temp 4-component vector of float)
+0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:34 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex_coord' (smooth in 2-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/always-discard2.frag.out b/chromium/third_party/glslang/src/Test/baseResults/always-discard2.frag.out
new file mode 100644
index 00000000000..72f21d2f00e
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/always-discard2.frag.out
@@ -0,0 +1,121 @@
+always-discard2.frag
+Shader version: 110
+0:? Sequence
+0:4 Function Definition: main( (global void)
+0:4 Function Parameters:
+0:6 Sequence
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'white' (temp 4-component vector of float)
+0:6 Constant:
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'black' (temp 4-component vector of float)
+0:7 Constant:
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'color' (temp 4-component vector of float)
+0:8 'white' (temp 4-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'x' (temp float)
+0:11 subtract (temp float)
+0:11 component-wise multiply (temp float)
+0:11 direct index (temp float)
+0:11 'tex_coord' (smooth in 2-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 2.000000
+0:11 Constant:
+0:11 1.000000
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'y' (temp float)
+0:12 subtract (temp float)
+0:12 component-wise multiply (temp float)
+0:12 direct index (temp float)
+0:12 'tex_coord' (smooth in 2-component vector of float)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 2.000000
+0:12 Constant:
+0:12 1.000000
+0:14 Branch: Kill
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:17 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex_coord' (smooth in 2-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:4 Function Definition: main( (global void)
+0:4 Function Parameters:
+0:6 Sequence
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'white' (temp 4-component vector of float)
+0:6 Constant:
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'black' (temp 4-component vector of float)
+0:7 Constant:
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'color' (temp 4-component vector of float)
+0:8 'white' (temp 4-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'x' (temp float)
+0:11 subtract (temp float)
+0:11 component-wise multiply (temp float)
+0:11 direct index (temp float)
+0:11 'tex_coord' (smooth in 2-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 2.000000
+0:11 Constant:
+0:11 1.000000
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'y' (temp float)
+0:12 subtract (temp float)
+0:12 component-wise multiply (temp float)
+0:12 direct index (temp float)
+0:12 'tex_coord' (smooth in 2-component vector of float)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 2.000000
+0:12 Constant:
+0:12 1.000000
+0:14 Branch: Kill
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:17 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex_coord' (smooth in 2-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/array.frag.out b/chromium/third_party/glslang/src/Test/baseResults/array.frag.out
new file mode 100644
index 00000000000..8b3cf807a48
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/array.frag.out
@@ -0,0 +1,530 @@
+array.frag
+ERROR: 0:21: '[' : array index out of range '2'
+ERROR: 0:27: '[' : array must be redeclared with a size before being indexed with a variable
+ERROR: 0:30: 'assign' : cannot convert from 'global 4-element array of float' to 'global 5-element array of float'
+ERROR: 0:31: 'assign' : cannot convert from 'global 4-element array of float' to 'global implicitly-sized array of float'
+ERROR: 0:33: 'foo' : no matching overloaded function found
+ERROR: 0:42: '[' : array index out of range '5'
+ERROR: 0:45: '[' : array index out of range '1000'
+ERROR: 0:46: '[' : index out of range '-1'
+ERROR: 0:52: '[' : array index out of range '2'
+ERROR: 0:54: 'const' : non-matching or non-convertible constant type for const initializer
+ERROR: 0:56: '=' : cannot convert from 'const 2-element array of int' to 'temp 3-element array of int'
+ERROR: 0:57: '[]' : scalar integer expression required
+ERROR: 0:57: '[' : index out of range '-858993459'
+ERROR: 0:58: '[]' : scalar integer expression required
+ERROR: 0:61: '' : array size required
+ERROR: 0:62: '' : array size required
+ERROR: 0:63: '' : array size required
+ERROR: 0:66: '=' : cannot convert from 'temp 3-component vector of float' to 'global float'
+ERROR: 0:76: 'bar' : no matching overloaded function found
+ERROR: 0:79: '' : array size required
+ERROR: 0:84: 'return' : type does not match, or is not convertible to, the function's return type
+ERROR: 0:93: 'length' : array must be declared with a size before using this method
+ERROR: 0:101: '[' : array index out of range '5'
+ERROR: 0:104: 'constructor' : array constructor must have at least one argument
+ERROR: 0:104: '=' : cannot convert from 'const float' to 'global implicitly-sized array of int'
+ERROR: 0:106: 'constructor' : array argument must be sized
+ERROR: 26 compilation errors. No code generated.
+
+
+Shader version: 130
+ERROR: node is still EOpNull!
+0:9 Function Definition: foo(f1[5]; (global 4-element array of float)
+0:9 Function Parameters:
+0:9 'a' (in 5-element array of float)
+0:11 Sequence
+0:11 Branch: Return with expression
+0:11 Construct float (temp 4-element array of float)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 1 (const int)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 2 (const int)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 3 (const int)
+0:14 Function Definition: bar(f1[5]; (global void)
+0:14 Function Parameters:
+0:14 '' (in 5-element array of float)
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:21 move second child to first child (temp float)
+0:21 direct index (temp float)
+0:21 'gu' (temp 2-element array of float)
+0:21 Constant:
+0:21 2 (const int)
+0:21 Constant:
+0:21 4.000000
+0:24 move second child to first child (temp float)
+0:24 direct index (temp float)
+0:24 'gu' (global implicitly-sized array of float)
+0:24 Constant:
+0:24 2 (const int)
+0:24 Constant:
+0:24 4.000000
+0:26 move second child to first child (temp float)
+0:26 direct index (temp float)
+0:26 'gu' (global implicitly-sized array of float)
+0:26 Constant:
+0:26 3 (const int)
+0:26 Constant:
+0:26 3.000000
+0:27 move second child to first child (temp float)
+0:27 indirect index (temp float)
+0:27 'gu' (global implicitly-sized array of float)
+0:27 'a' (uniform int)
+0:27 Constant:
+0:27 5.000000
+0:29 move second child to first child (temp 4-element array of float)
+0:29 'g4' (global 4-element array of float)
+0:29 Function Call: foo(f1[5]; (global 4-element array of float)
+0:29 'g5' (global 5-element array of float)
+0:30 'g5' (global 5-element array of float)
+0:31 'gu' (global implicitly-sized array of float)
+0:33 Constant:
+0:33 0.000000
+0:34 Function Call: bar(f1[5]; (global void)
+0:34 'g5' (global 5-element array of float)
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 Compare Equal (temp bool)
+0:36 Constant:
+0:36 1.000000
+0:36 2.000000
+0:36 3.000000
+0:36 4.000000
+0:36 'g4' (global 4-element array of float)
+0:36 true case
+0:37 move second child to first child (temp float)
+0:37 direct index (temp float)
+0:37 'gu' (global implicitly-sized array of float)
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 2.000000
+0:40 move second child to first child (temp float)
+0:40 direct index (temp float)
+0:40 'u' (temp 5-element array of float)
+0:40 Constant:
+0:40 2 (const int)
+0:40 Constant:
+0:40 3.000000
+0:42 move second child to first child (temp float)
+0:42 direct index (temp float)
+0:42 'u' (temp 5-element array of float)
+0:42 Constant:
+0:42 5 (const int)
+0:42 Constant:
+0:42 5.000000
+0:43 Function Call: foo(f1[5]; (global 4-element array of float)
+0:43 'u' (temp 5-element array of float)
+0:45 move second child to first child (temp 4-component vector of float)
+0:45 direct index (temp 4-component vector of float FragData)
+0:45 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:45 Constant:
+0:45 1000 (const int)
+0:45 Constant:
+0:45 1.000000
+0:45 1.000000
+0:45 1.000000
+0:45 1.000000
+0:46 move second child to first child (temp 4-component vector of float)
+0:46 direct index (temp 4-component vector of float FragData)
+0:46 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:46 Constant:
+0:46 -1 (const int)
+0:46 Constant:
+0:46 1.000000
+0:46 1.000000
+0:46 1.000000
+0:46 1.000000
+0:47 move second child to first child (temp 4-component vector of float)
+0:47 direct index (temp 4-component vector of float FragData)
+0:47 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:47 Constant:
+0:47 3 (const int)
+0:47 Constant:
+0:47 1.000000
+0:47 1.000000
+0:47 1.000000
+0:47 1.000000
+0:50 Sequence
+0:50 move second child to first child (temp int)
+0:50 'sum' (temp int)
+0:50 Constant:
+0:50 3 (const int)
+0:51 add second child into first child (temp int)
+0:51 'sum' (temp int)
+0:51 Constant:
+0:51 2 (const int)
+0:52 add second child into first child (temp int)
+0:52 'sum' (temp int)
+0:52 Constant:
+0:52 2 (const int)
+0:55 Sequence
+0:55 move second child to first child (temp 2-element array of int)
+0:55 'ica' (temp 2-element array of int)
+0:55 Constant:
+0:55 3 (const int)
+0:55 2 (const int)
+0:57 move second child to first child (temp int)
+0:57 direct index (temp int)
+0:57 'ica' (temp 2-element array of int)
+0:57 Constant:
+0:57 3.100000
+0:57 Constant:
+0:57 3 (const int)
+0:58 move second child to first child (temp int)
+0:58 indirect index (temp int)
+0:58 'ica' (temp 2-element array of int)
+0:58 direct index (temp float)
+0:58 'u' (temp 5-element array of float)
+0:58 Constant:
+0:58 1 (const int)
+0:58 Constant:
+0:58 4 (const int)
+0:68 Function Definition: foo( (global void)
+0:68 Function Parameters:
+0:? Sequence
+0:71 move second child to first child (temp int)
+0:71 direct index (temp int)
+0:71 'uns' (temp implicitly-sized array of int)
+0:71 Constant:
+0:71 3 (const int)
+0:71 Constant:
+0:71 40 (const int)
+0:72 move second child to first child (temp int)
+0:72 direct index (temp int)
+0:72 'uns' (temp implicitly-sized array of int)
+0:72 Constant:
+0:72 1 (const int)
+0:72 Constant:
+0:72 30 (const int)
+0:73 move second child to first child (temp 3-component vector of float)
+0:73 direct index (temp 3-component vector of float)
+0:73 'guns' (global implicitly-sized array of 3-component vector of float)
+0:73 Constant:
+0:73 2 (const int)
+0:73 Constant:
+0:73 2.400000
+0:73 2.400000
+0:73 2.400000
+0:76 Constant:
+0:76 0.000000
+0:79 Function Definition: foo2( (global implicitly-sized array of float)
+0:79 Function Parameters:
+0:? Sequence
+0:82 Branch: Return with expression
+0:82 'f' (temp implicitly-sized array of float)
+0:84 Branch: Return with expression
+0:84 'g' (temp 9-element array of float)
+0:89 Function Definition: foo3( (global void)
+0:89 Function Parameters:
+0:? Sequence
+0:92 move second child to first child (temp float)
+0:92 direct index (temp float)
+0:92 'resize1' (temp 3-element array of float)
+0:92 Constant:
+0:92 2 (const int)
+0:92 Constant:
+0:92 4.000000
+0:93 Constant:
+0:93 1 (const int)
+0:95 Constant:
+0:95 3 (const int)
+0:98 move second child to first child (temp float)
+0:98 direct index (temp float)
+0:98 'resize2' (temp 5-element array of float)
+0:98 Constant:
+0:98 5 (const int)
+0:98 Constant:
+0:98 4.000000
+0:100 Constant:
+0:100 5 (const int)
+0:101 move second child to first child (temp float)
+0:101 direct index (temp float)
+0:101 'resize2' (temp 5-element array of float)
+0:101 Constant:
+0:101 5 (const int)
+0:101 Constant:
+0:101 4.000000
+0:106 Sequence
+0:106 move second child to first child (temp float)
+0:106 'b' (global float)
+0:106 Constant:
+0:106 0.000000
+0:? Linker Objects
+0:? 'gu' (global implicitly-sized array of float)
+0:? 'g4' (global 4-element array of float)
+0:? 'g5' (global 5-element array of float)
+0:? 'a' (uniform int)
+0:? 'guns' (global implicitly-sized array of 3-component vector of float)
+0:? 'f' (global float)
+0:? 'gUnusedUnsized' (global implicitly-sized array of float)
+0:? 'i' (global implicitly-sized array of int)
+0:? 'emptyA' (global implicitly-sized array of float)
+0:? 'b' (global float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+ERROR: node is still EOpNull!
+0:9 Function Definition: foo(f1[5]; (global 4-element array of float)
+0:9 Function Parameters:
+0:9 'a' (in 5-element array of float)
+0:11 Sequence
+0:11 Branch: Return with expression
+0:11 Construct float (temp 4-element array of float)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 1 (const int)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 2 (const int)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 3 (const int)
+0:14 Function Definition: bar(f1[5]; (global void)
+0:14 Function Parameters:
+0:14 '' (in 5-element array of float)
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:21 move second child to first child (temp float)
+0:21 direct index (temp float)
+0:21 'gu' (temp 2-element array of float)
+0:21 Constant:
+0:21 2 (const int)
+0:21 Constant:
+0:21 4.000000
+0:24 move second child to first child (temp float)
+0:24 direct index (temp float)
+0:24 'gu' (global 4-element array of float)
+0:24 Constant:
+0:24 2 (const int)
+0:24 Constant:
+0:24 4.000000
+0:26 move second child to first child (temp float)
+0:26 direct index (temp float)
+0:26 'gu' (global 4-element array of float)
+0:26 Constant:
+0:26 3 (const int)
+0:26 Constant:
+0:26 3.000000
+0:27 move second child to first child (temp float)
+0:27 indirect index (temp float)
+0:27 'gu' (global 4-element array of float)
+0:27 'a' (uniform int)
+0:27 Constant:
+0:27 5.000000
+0:29 move second child to first child (temp 4-element array of float)
+0:29 'g4' (global 4-element array of float)
+0:29 Function Call: foo(f1[5]; (global 4-element array of float)
+0:29 'g5' (global 5-element array of float)
+0:30 'g5' (global 5-element array of float)
+0:31 'gu' (global 4-element array of float)
+0:33 Constant:
+0:33 0.000000
+0:34 Function Call: bar(f1[5]; (global void)
+0:34 'g5' (global 5-element array of float)
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 Compare Equal (temp bool)
+0:36 Constant:
+0:36 1.000000
+0:36 2.000000
+0:36 3.000000
+0:36 4.000000
+0:36 'g4' (global 4-element array of float)
+0:36 true case
+0:37 move second child to first child (temp float)
+0:37 direct index (temp float)
+0:37 'gu' (global 4-element array of float)
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 2.000000
+0:40 move second child to first child (temp float)
+0:40 direct index (temp float)
+0:40 'u' (temp 5-element array of float)
+0:40 Constant:
+0:40 2 (const int)
+0:40 Constant:
+0:40 3.000000
+0:42 move second child to first child (temp float)
+0:42 direct index (temp float)
+0:42 'u' (temp 5-element array of float)
+0:42 Constant:
+0:42 5 (const int)
+0:42 Constant:
+0:42 5.000000
+0:43 Function Call: foo(f1[5]; (global 4-element array of float)
+0:43 'u' (temp 5-element array of float)
+0:45 move second child to first child (temp 4-component vector of float)
+0:45 direct index (temp 4-component vector of float FragData)
+0:45 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:45 Constant:
+0:45 1000 (const int)
+0:45 Constant:
+0:45 1.000000
+0:45 1.000000
+0:45 1.000000
+0:45 1.000000
+0:46 move second child to first child (temp 4-component vector of float)
+0:46 direct index (temp 4-component vector of float FragData)
+0:46 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:46 Constant:
+0:46 -1 (const int)
+0:46 Constant:
+0:46 1.000000
+0:46 1.000000
+0:46 1.000000
+0:46 1.000000
+0:47 move second child to first child (temp 4-component vector of float)
+0:47 direct index (temp 4-component vector of float FragData)
+0:47 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:47 Constant:
+0:47 3 (const int)
+0:47 Constant:
+0:47 1.000000
+0:47 1.000000
+0:47 1.000000
+0:47 1.000000
+0:50 Sequence
+0:50 move second child to first child (temp int)
+0:50 'sum' (temp int)
+0:50 Constant:
+0:50 3 (const int)
+0:51 add second child into first child (temp int)
+0:51 'sum' (temp int)
+0:51 Constant:
+0:51 2 (const int)
+0:52 add second child into first child (temp int)
+0:52 'sum' (temp int)
+0:52 Constant:
+0:52 2 (const int)
+0:55 Sequence
+0:55 move second child to first child (temp 2-element array of int)
+0:55 'ica' (temp 2-element array of int)
+0:55 Constant:
+0:55 3 (const int)
+0:55 2 (const int)
+0:57 move second child to first child (temp int)
+0:57 direct index (temp int)
+0:57 'ica' (temp 2-element array of int)
+0:57 Constant:
+0:57 3.100000
+0:57 Constant:
+0:57 3 (const int)
+0:58 move second child to first child (temp int)
+0:58 indirect index (temp int)
+0:58 'ica' (temp 2-element array of int)
+0:58 direct index (temp float)
+0:58 'u' (temp 5-element array of float)
+0:58 Constant:
+0:58 1 (const int)
+0:58 Constant:
+0:58 4 (const int)
+0:68 Function Definition: foo( (global void)
+0:68 Function Parameters:
+0:? Sequence
+0:71 move second child to first child (temp int)
+0:71 direct index (temp int)
+0:71 'uns' (temp 4-element array of int)
+0:71 Constant:
+0:71 3 (const int)
+0:71 Constant:
+0:71 40 (const int)
+0:72 move second child to first child (temp int)
+0:72 direct index (temp int)
+0:72 'uns' (temp 4-element array of int)
+0:72 Constant:
+0:72 1 (const int)
+0:72 Constant:
+0:72 30 (const int)
+0:73 move second child to first child (temp 3-component vector of float)
+0:73 direct index (temp 3-component vector of float)
+0:73 'guns' (global 8-element array of 3-component vector of float)
+0:73 Constant:
+0:73 2 (const int)
+0:73 Constant:
+0:73 2.400000
+0:73 2.400000
+0:73 2.400000
+0:76 Constant:
+0:76 0.000000
+0:79 Function Definition: foo2( (global implicitly-sized array of float)
+0:79 Function Parameters:
+0:? Sequence
+0:82 Branch: Return with expression
+0:82 'f' (temp 1-element array of float)
+0:84 Branch: Return with expression
+0:84 'g' (temp 9-element array of float)
+0:89 Function Definition: foo3( (global void)
+0:89 Function Parameters:
+0:? Sequence
+0:92 move second child to first child (temp float)
+0:92 direct index (temp float)
+0:92 'resize1' (temp 3-element array of float)
+0:92 Constant:
+0:92 2 (const int)
+0:92 Constant:
+0:92 4.000000
+0:93 Constant:
+0:93 1 (const int)
+0:95 Constant:
+0:95 3 (const int)
+0:98 move second child to first child (temp float)
+0:98 direct index (temp float)
+0:98 'resize2' (temp 5-element array of float)
+0:98 Constant:
+0:98 5 (const int)
+0:98 Constant:
+0:98 4.000000
+0:100 Constant:
+0:100 5 (const int)
+0:101 move second child to first child (temp float)
+0:101 direct index (temp float)
+0:101 'resize2' (temp 5-element array of float)
+0:101 Constant:
+0:101 5 (const int)
+0:101 Constant:
+0:101 4.000000
+0:106 Sequence
+0:106 move second child to first child (temp float)
+0:106 'b' (global float)
+0:106 Constant:
+0:106 0.000000
+0:? Linker Objects
+0:? 'gu' (global 4-element array of float)
+0:? 'g4' (global 4-element array of float)
+0:? 'g5' (global 5-element array of float)
+0:? 'a' (uniform int)
+0:? 'guns' (global 8-element array of 3-component vector of float)
+0:? 'f' (global float)
+0:? 'gUnusedUnsized' (global 1-element array of float)
+0:? 'i' (global 1-element array of int)
+0:? 'emptyA' (global 1-element array of float)
+0:? 'b' (global float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/array100.frag.out b/chromium/third_party/glslang/src/Test/baseResults/array100.frag.out
new file mode 100644
index 00000000000..b44f6a02cbc
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/array100.frag.out
@@ -0,0 +1,296 @@
+array100.frag
+ERROR: 0:3: 'float' : type requires declaration of default precision qualifier
+ERROR: 0:3: '' : array size required
+ERROR: 0:9: 'arrayed type' : not supported for this version or the enabled extensions
+ERROR: 0:9: 'arrayed type' : not supported for this version or the enabled extensions
+ERROR: 0:9: 'array in function return type' : not supported for this version or the enabled extensions
+ERROR: 0:11: 'arrayed constructor' : not supported for this version or the enabled extensions
+ERROR: 0:21: '[' : array index out of range '2'
+ERROR: 0:24: 'array assignment' : not supported for this version or the enabled extensions
+ERROR: 0:25: 'array assignment' : not supported for this version or the enabled extensions
+ERROR: 0:25: 'assign' : cannot convert from 'global 4-element array of mediump float' to 'global 5-element array of mediump float'
+ERROR: 0:26: 'array assignment' : not supported for this version or the enabled extensions
+ERROR: 0:26: 'assign' : cannot convert from 'global 4-element array of mediump float' to 'global implicitly-sized array of mediump float'
+ERROR: 0:28: 'foo' : no matching overloaded function found
+ERROR: 0:31: 'arrayed constructor' : not supported for this version or the enabled extensions
+ERROR: 0:31: 'array comparison' : not supported for this version or the enabled extensions
+ERROR: 0:35: '[' : array index out of range '5'
+ERROR: 0:38: '[' : array index out of range '1000'
+ERROR: 0:39: '[' : index out of range '-1'
+ERROR: 0:53: 'array in function return type' : not supported for this version or the enabled extensions
+ERROR: 0:66: 'array assignment' : not supported for this version or the enabled extensions
+ERROR: 0:68: 'array assignment' : not supported for this version or the enabled extensions
+ERROR: 0:69: 'array initializer' : not supported for this version or the enabled extensions
+ERROR: 22 compilation errors. No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:9 Function Definition: foo(f1[5]; (global 4-element array of mediump float)
+0:9 Function Parameters:
+0:9 'a' (in 5-element array of mediump float)
+0:11 Sequence
+0:11 Branch: Return with expression
+0:11 Construct float (temp 4-element array of float)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 1 (const int)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 2 (const int)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 3 (const int)
+0:14 Function Definition: bar(f1[5]; (global void)
+0:14 Function Parameters:
+0:14 '' (in 5-element array of mediump float)
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:21 move second child to first child (temp mediump float)
+0:21 direct index (temp mediump float)
+0:21 'gu' (temp 2-element array of mediump float)
+0:21 Constant:
+0:21 2 (const int)
+0:21 Constant:
+0:21 4.000000
+0:24 move second child to first child (temp 4-element array of mediump float)
+0:24 'g4' (global 4-element array of mediump float)
+0:24 Function Call: foo(f1[5]; (global 4-element array of mediump float)
+0:24 'g5' (global 5-element array of mediump float)
+0:25 'g5' (global 5-element array of mediump float)
+0:26 'gu' (global implicitly-sized array of mediump float)
+0:28 Constant:
+0:28 0.000000
+0:29 Function Call: bar(f1[5]; (global void)
+0:29 'g5' (global 5-element array of mediump float)
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Equal (temp bool)
+0:31 Constant:
+0:31 1.000000
+0:31 2.000000
+0:31 3.000000
+0:31 4.000000
+0:31 'g4' (global 4-element array of mediump float)
+0:31 true case
+0:32 move second child to first child (temp mediump float)
+0:32 direct index (temp mediump float)
+0:32 'gu' (global implicitly-sized array of mediump float)
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 2.000000
+0:35 move second child to first child (temp mediump float)
+0:35 direct index (temp mediump float)
+0:35 'u' (temp 5-element array of mediump float)
+0:35 Constant:
+0:35 5 (const int)
+0:35 Constant:
+0:35 5.000000
+0:36 Function Call: foo(f1[5]; (global 4-element array of mediump float)
+0:36 'u' (temp 5-element array of mediump float)
+0:38 move second child to first child (temp mediump 4-component vector of float)
+0:38 direct index (temp mediump 4-component vector of float FragData)
+0:38 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
+0:38 Constant:
+0:38 1000 (const int)
+0:38 Constant:
+0:38 1.000000
+0:38 1.000000
+0:38 1.000000
+0:38 1.000000
+0:39 move second child to first child (temp mediump 4-component vector of float)
+0:39 direct index (temp mediump 4-component vector of float FragData)
+0:39 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
+0:39 Constant:
+0:39 -1 (const int)
+0:39 Constant:
+0:39 1.000000
+0:39 1.000000
+0:39 1.000000
+0:39 1.000000
+0:40 move second child to first child (temp mediump 4-component vector of float)
+0:40 direct index (temp mediump 4-component vector of float FragData)
+0:40 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
+0:40 Constant:
+0:40 3 (const int)
+0:40 Constant:
+0:40 1.000000
+0:40 1.000000
+0:40 1.000000
+0:40 1.000000
+0:53 Function Definition: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:53 Function Parameters:
+0:? Sequence
+0:56 Branch: Return with expression
+0:56 's' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:59 Function Definition: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
+0:59 Function Parameters:
+0:59 's' (in structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:63 Function Definition: bar11( (global void)
+0:63 Function Parameters:
+0:? Sequence
+0:66 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:66 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:66 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:67 Function Call: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
+0:67 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:68 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:68 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:68 Function Call: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:69 Sequence
+0:69 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:69 'initSb' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:69 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:? Linker Objects
+0:? 'gu' (global implicitly-sized array of mediump float)
+0:? 'g4' (global 4-element array of mediump float)
+0:? 'g5' (global 5-element array of mediump float)
+0:? 'a' (uniform mediump int)
+
+
+Linked fragment stage:
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:9 Function Definition: foo(f1[5]; (global 4-element array of mediump float)
+0:9 Function Parameters:
+0:9 'a' (in 5-element array of mediump float)
+0:11 Sequence
+0:11 Branch: Return with expression
+0:11 Construct float (temp 4-element array of float)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 1 (const int)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 2 (const int)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 3 (const int)
+0:14 Function Definition: bar(f1[5]; (global void)
+0:14 Function Parameters:
+0:14 '' (in 5-element array of mediump float)
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:21 move second child to first child (temp mediump float)
+0:21 direct index (temp mediump float)
+0:21 'gu' (temp 2-element array of mediump float)
+0:21 Constant:
+0:21 2 (const int)
+0:21 Constant:
+0:21 4.000000
+0:24 move second child to first child (temp 4-element array of mediump float)
+0:24 'g4' (global 4-element array of mediump float)
+0:24 Function Call: foo(f1[5]; (global 4-element array of mediump float)
+0:24 'g5' (global 5-element array of mediump float)
+0:25 'g5' (global 5-element array of mediump float)
+0:26 'gu' (global 1-element array of mediump float)
+0:28 Constant:
+0:28 0.000000
+0:29 Function Call: bar(f1[5]; (global void)
+0:29 'g5' (global 5-element array of mediump float)
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Equal (temp bool)
+0:31 Constant:
+0:31 1.000000
+0:31 2.000000
+0:31 3.000000
+0:31 4.000000
+0:31 'g4' (global 4-element array of mediump float)
+0:31 true case
+0:32 move second child to first child (temp mediump float)
+0:32 direct index (temp mediump float)
+0:32 'gu' (global 1-element array of mediump float)
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 2.000000
+0:35 move second child to first child (temp mediump float)
+0:35 direct index (temp mediump float)
+0:35 'u' (temp 5-element array of mediump float)
+0:35 Constant:
+0:35 5 (const int)
+0:35 Constant:
+0:35 5.000000
+0:36 Function Call: foo(f1[5]; (global 4-element array of mediump float)
+0:36 'u' (temp 5-element array of mediump float)
+0:38 move second child to first child (temp mediump 4-component vector of float)
+0:38 direct index (temp mediump 4-component vector of float FragData)
+0:38 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
+0:38 Constant:
+0:38 1000 (const int)
+0:38 Constant:
+0:38 1.000000
+0:38 1.000000
+0:38 1.000000
+0:38 1.000000
+0:39 move second child to first child (temp mediump 4-component vector of float)
+0:39 direct index (temp mediump 4-component vector of float FragData)
+0:39 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
+0:39 Constant:
+0:39 -1 (const int)
+0:39 Constant:
+0:39 1.000000
+0:39 1.000000
+0:39 1.000000
+0:39 1.000000
+0:40 move second child to first child (temp mediump 4-component vector of float)
+0:40 direct index (temp mediump 4-component vector of float FragData)
+0:40 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
+0:40 Constant:
+0:40 3 (const int)
+0:40 Constant:
+0:40 1.000000
+0:40 1.000000
+0:40 1.000000
+0:40 1.000000
+0:53 Function Definition: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:53 Function Parameters:
+0:? Sequence
+0:56 Branch: Return with expression
+0:56 's' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:59 Function Definition: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
+0:59 Function Parameters:
+0:59 's' (in structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:63 Function Definition: bar11( (global void)
+0:63 Function Parameters:
+0:? Sequence
+0:66 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:66 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:66 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:67 Function Call: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
+0:67 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:68 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:68 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:68 Function Call: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:69 Sequence
+0:69 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:69 'initSb' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:69 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:? Linker Objects
+0:? 'gu' (global 1-element array of mediump float)
+0:? 'g4' (global 4-element array of mediump float)
+0:? 'g5' (global 5-element array of mediump float)
+0:? 'a' (uniform mediump int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/atomic_uint.frag.out b/chromium/third_party/glslang/src/Test/baseResults/atomic_uint.frag.out
new file mode 100644
index 00000000000..4d05756ca07
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/atomic_uint.frag.out
@@ -0,0 +1,145 @@
+atomic_uint.frag
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:10: 'atomic_uint' : samplers and atomic_uints cannot be output parameters
+ERROR: 0:12: 'return' : type does not match, or is not convertible to, the function's return type
+ERROR: 0:18: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter
+ERROR: 0:18: 'atomic_uint' : layout(binding=X) is required
+ERROR: 0:23: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:28: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout(binding=0 offset=0 ) uniform atomic_uint' and a right operand of type 'layout(binding=0 offset=0 ) uniform atomic_uint' (or there is no acceptable conversion)
+ERROR: 0:29: '-' : wrong operand type no operation '-' exists that takes an operand of type layout(binding=0 offset=0 ) uniform atomic_uint (or there is no acceptable conversion)
+ERROR: 0:31: '[]' : scalar integer expression required
+ERROR: 0:34: 'assign' : l-value required "counter" (can't modify a uniform)
+ERROR: 0:34: 'assign' : cannot convert from 'const int' to 'layout(binding=0 offset=0 ) uniform atomic_uint'
+ERROR: 0:37: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acin
+ERROR: 0:37: 'atomic_uint' : layout(binding=X) is required
+ERROR: 0:38: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acg
+ERROR: 0:38: 'atomic_uint' : layout(binding=X) is required
+ERROR: 0:40: 'atomic_uint' : layout(binding=X) is required
+ERROR: 0:46: 'atomic_uint' : layout(binding=X) is required
+ERROR: 0:47: 'offset' : atomic counters sharing the same offset: 12
+ERROR: 0:48: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 18 compilation errors. No code generated.
+
+
+Shader version: 420
+ERROR: node is still EOpNull!
+0:5 Function Definition: func(au1; (global uint)
+0:5 Function Parameters:
+0:5 'c' (in atomic_uint)
+0:7 Sequence
+0:7 Branch: Return with expression
+0:7 AtomicCounterIncrement (global uint)
+0:7 'c' (in atomic_uint)
+0:10 Function Definition: func2(au1; (global uint)
+0:10 Function Parameters:
+0:10 'c' (out atomic_uint)
+0:12 Sequence
+0:12 Branch: Return with expression
+0:12 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:13 Branch: Return with expression
+0:13 AtomicCounter (global uint)
+0:13 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:? Sequence
+0:19 Sequence
+0:19 move second child to first child (temp uint)
+0:19 'val' (temp uint)
+0:19 AtomicCounter (global uint)
+0:19 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:20 AtomicCounterDecrement (global uint)
+0:20 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:26 Function Definition: opac( (global void)
+0:26 Function Parameters:
+0:28 Sequence
+0:28 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:29 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:31 indirect index (temp int)
+0:31 'a' (temp 3-element array of int)
+0:31 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:32 direct index (layout(binding=1 offset=3 ) temp atomic_uint)
+0:32 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
+0:32 Constant:
+0:32 2 (const int)
+0:33 indirect index (layout(binding=1 offset=3 ) temp atomic_uint)
+0:33 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
+0:33 'i' (uniform int)
+0:34 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:? Linker Objects
+0:? 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:? 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
+0:? 'i' (uniform int)
+0:? 'acin' (smooth in atomic_uint)
+0:? 'acg' (global atomic_uint)
+0:? 'aNoBind' (uniform atomic_uint)
+0:? 'aOffset' (layout(binding=0 offset=32 ) uniform atomic_uint)
+0:? 'bar3' (layout(binding=0 offset=4 ) uniform atomic_uint)
+0:? 'ac' (layout(binding=0 offset=8 ) uniform 3-element array of atomic_uint)
+0:? 'ad' (layout(binding=0 offset=20 ) uniform atomic_uint)
+0:? 'bar4' (layout(offset=8 ) uniform atomic_uint)
+0:? 'overlap' (layout(binding=0 offset=12 ) uniform atomic_uint)
+0:? 'bigBind' (layout(binding=20 ) uniform atomic_uint)
+
+
+Linked fragment stage:
+
+
+Shader version: 420
+ERROR: node is still EOpNull!
+0:5 Function Definition: func(au1; (global uint)
+0:5 Function Parameters:
+0:5 'c' (in atomic_uint)
+0:7 Sequence
+0:7 Branch: Return with expression
+0:7 AtomicCounterIncrement (global uint)
+0:7 'c' (in atomic_uint)
+0:10 Function Definition: func2(au1; (global uint)
+0:10 Function Parameters:
+0:10 'c' (out atomic_uint)
+0:12 Sequence
+0:12 Branch: Return with expression
+0:12 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:13 Branch: Return with expression
+0:13 AtomicCounter (global uint)
+0:13 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:? Sequence
+0:19 Sequence
+0:19 move second child to first child (temp uint)
+0:19 'val' (temp uint)
+0:19 AtomicCounter (global uint)
+0:19 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:20 AtomicCounterDecrement (global uint)
+0:20 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:26 Function Definition: opac( (global void)
+0:26 Function Parameters:
+0:28 Sequence
+0:28 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:29 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:31 indirect index (temp int)
+0:31 'a' (temp 3-element array of int)
+0:31 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:32 direct index (layout(binding=1 offset=3 ) temp atomic_uint)
+0:32 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
+0:32 Constant:
+0:32 2 (const int)
+0:33 indirect index (layout(binding=1 offset=3 ) temp atomic_uint)
+0:33 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
+0:33 'i' (uniform int)
+0:34 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:? Linker Objects
+0:? 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:? 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
+0:? 'i' (uniform int)
+0:? 'acin' (smooth in atomic_uint)
+0:? 'acg' (global atomic_uint)
+0:? 'aNoBind' (uniform atomic_uint)
+0:? 'aOffset' (layout(binding=0 offset=32 ) uniform atomic_uint)
+0:? 'bar3' (layout(binding=0 offset=4 ) uniform atomic_uint)
+0:? 'ac' (layout(binding=0 offset=8 ) uniform 3-element array of atomic_uint)
+0:? 'ad' (layout(binding=0 offset=20 ) uniform atomic_uint)
+0:? 'bar4' (layout(offset=8 ) uniform atomic_uint)
+0:? 'overlap' (layout(binding=0 offset=12 ) uniform atomic_uint)
+0:? 'bigBind' (layout(binding=20 ) uniform atomic_uint)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/badChars.frag.out b/chromium/third_party/glslang/src/Test/baseResults/badChars.frag.out
new file mode 100644
index 00000000000..37af2875507
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/badChars.frag.out
@@ -0,0 +1,26 @@
+badChars.frag
+ERROR: 0:1: 'preprocessor evaluation' : bad expression
+ERROR: 0:1: '#if' : unexpected tokens following directive
+ERROR: 0:3: '#error' : A <bad token> B
+ERROR: 0:4: 'preprocessor evaluation' : bad expression
+ERROR: 0:4: '#if' : unexpected tokens following directive
+ERROR: 0:6: 'ÿ' : unexpected token
+ERROR: 0:7: '' : syntax error
+ERROR: 7 compilation errors. No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:? Linker Objects
+0:? 'a' (global mediump int)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:? Linker Objects
+0:? 'a' (global mediump int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/comment.frag.out b/chromium/third_party/glslang/src/Test/baseResults/comment.frag.out
new file mode 100644
index 00000000000..1c876bb597e
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/comment.frag.out
@@ -0,0 +1,23 @@
+comment.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+WARNING: 0:10: 'line continuation' : used at end of comment; the following line is still part of the comment
+WARNING: 0:12: 'line continuation' : used at end of comment; the following line is still part of the comment
+
+Shader version: 430
+0:? Sequence
+0:17 Function Definition: main( (global void)
+0:17 Function Parameters:
+0:? Linker Objects
+0:? 'v' (smooth in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 430
+0:? Sequence
+0:17 Function Definition: main( (global void)
+0:17 Function Parameters:
+0:? Linker Objects
+0:? 'v' (smooth in 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/conditionalDiscard.frag.out b/chromium/third_party/glslang/src/Test/baseResults/conditionalDiscard.frag.out
new file mode 100644
index 00000000000..169787f46c7
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/conditionalDiscard.frag.out
@@ -0,0 +1,63 @@
+conditionalDiscard.frag
+Shader version: 110
+0:? Sequence
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'v' (temp 4-component vector of float)
+0:8 texture (global 4-component vector of float)
+0:8 'tex' (uniform sampler2D)
+0:8 'coord' (smooth in 2-component vector of float)
+0:10 Test condition and select (temp void)
+0:10 Condition
+0:10 Compare Equal (temp bool)
+0:10 'v' (temp 4-component vector of float)
+0:10 Constant:
+0:10 0.100000
+0:10 0.200000
+0:10 0.300000
+0:10 0.400000
+0:10 true case
+0:11 Branch: Kill
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:13 'v' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'v' (temp 4-component vector of float)
+0:8 texture (global 4-component vector of float)
+0:8 'tex' (uniform sampler2D)
+0:8 'coord' (smooth in 2-component vector of float)
+0:10 Test condition and select (temp void)
+0:10 Condition
+0:10 Compare Equal (temp bool)
+0:10 'v' (temp 4-component vector of float)
+0:10 Constant:
+0:10 0.100000
+0:10 0.200000
+0:10 0.300000
+0:10 0.400000
+0:10 true case
+0:11 Branch: Kill
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:13 'v' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/constErrors.frag.out b/chromium/third_party/glslang/src/Test/baseResults/constErrors.frag.out
new file mode 100644
index 00000000000..f04c7369ff6
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/constErrors.frag.out
@@ -0,0 +1,54 @@
+constErrors.frag
+ERROR: 0:14: 'non-constant initializer' : not supported for this version or the enabled extensions
+ERROR: 0:17: '' : array size must be a constant integer expression
+ERROR: 0:18: '' : array size must be a constant integer expression
+ERROR: 0:19: '' : array size must be a constant integer expression
+ERROR: 0:27: '=' : global const initializers must be constant 'const structure{global 3-component vector of float v3, global 2-component vector of int iv2}'
+ERROR: 0:33: '=' : global const initializers must be constant 'const structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m}'
+ERROR: 6 compilation errors. No code generated.
+
+
+Shader version: 330
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:? Sequence
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'a3' (const (read only) int)
+0:14 'uniformInt' (uniform int)
+0:? Linker Objects
+0:? 'inVar' (smooth in 4-component vector of float)
+0:? 'outVar' (out 4-component vector of float)
+0:? 'constInt' (const int)
+0:? 3 (const int)
+0:? 'uniformInt' (uniform int)
+0:? 's' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2})
+0:? 's2' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m})
+0:? 'f' (const float)
+0:? 3.000000
+
+
+Linked fragment stage:
+
+
+Shader version: 330
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:? Sequence
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'a3' (const (read only) int)
+0:14 'uniformInt' (uniform int)
+0:? Linker Objects
+0:? 'inVar' (smooth in 4-component vector of float)
+0:? 'outVar' (out 4-component vector of float)
+0:? 'constInt' (const int)
+0:? 3 (const int)
+0:? 'uniformInt' (uniform int)
+0:? 's' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2})
+0:? 's2' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m})
+0:? 'f' (const float)
+0:? 3.000000
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/constFold.frag.out b/chromium/third_party/glslang/src/Test/baseResults/constFold.frag.out
new file mode 100644
index 00000000000..f5c3e9c571c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/constFold.frag.out
@@ -0,0 +1,747 @@
+constFold.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:109: '[' : index out of range '-1'
+ERROR: 0:110: '[' : vector index out of range '4'
+ERROR: 0:111: '[' : index out of range '-2'
+ERROR: 0:112: '[' : index out of range '-1'
+ERROR: 0:113: '[' : vector index out of range '3'
+ERROR: 0:114: '[' : matrix index out of range '3'
+ERROR: 6 compilation errors. No code generated.
+
+
+Shader version: 430
+ERROR: node is still EOpNull!
+0:28 Function Definition: main( (global void)
+0:28 Function Parameters:
+0:30 Sequence
+0:30 Sequence
+0:30 move second child to first child (temp 4-component vector of float)
+0:30 'dx' (temp 4-component vector of float)
+0:30 dPdx (global 4-component vector of float)
+0:30 'inv' (smooth in 4-component vector of float)
+0:37 move second child to first child (temp 4-component vector of float)
+0:37 'FragColor' (out 4-component vector of float)
+0:37 Constant:
+0:37 2.000000
+0:37 6.000000
+0:37 3.000000
+0:37 171.887339
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 'FragColor' (out 4-component vector of float)
+0:42 Constant:
+0:42 3.000000
+0:42 2.000000
+0:42 0.001593
+0:42 -0.999999
+0:43 move second child to first child (temp 2-component vector of float)
+0:43 'out2' (out 2-component vector of float)
+0:43 Constant:
+0:43 5.600000
+0:43 5.800000
+0:44 move second child to first child (temp 4-component vector of float)
+0:44 'out3' (out 4-component vector of float)
+0:44 Constant:
+0:44 20.085537
+0:44 2.302585
+0:44 16.000000
+0:44 8.000000
+0:45 move second child to first child (temp 4-component vector of float)
+0:45 'out4' (out 4-component vector of float)
+0:45 Constant:
+0:45 10.000000
+0:45 0.100000
+0:45 4.700000
+0:45 10.900000
+0:46 move second child to first child (temp 4-component vector of int)
+0:46 'out5' (out 4-component vector of int)
+0:46 Constant:
+0:46 8 (const int)
+0:46 17 (const int)
+0:46 -1 (const int)
+0:46 1 (const int)
+0:47 move second child to first child (temp 3-component vector of float)
+0:47 'out6' (out 3-component vector of float)
+0:47 Constant:
+0:47 -1.000000
+0:47 1.000000
+0:47 0.000000
+0:48 move second child to first child (temp 4-component vector of float)
+0:48 'out7' (out 4-component vector of float)
+0:48 Constant:
+0:48 4.000000
+0:48 -4.000000
+0:48 5.000000
+0:48 -5.000000
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 'out8' (out 4-component vector of float)
+0:49 Constant:
+0:49 4.000000
+0:49 5.000000
+0:49 4.000000
+0:49 -6.000000
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'out9' (out 4-component vector of float)
+0:50 Constant:
+0:50 8.000000
+0:50 -4.000000
+0:50 0.345000
+0:50 0.400000
+0:51 move second child to first child (temp 4-component vector of float)
+0:51 'out10' (out 4-component vector of float)
+0:51 Constant:
+0:51 1.000000
+0:51 1.000000
+0:51 0.000000
+0:51 0.000000
+0:52 move second child to first child (temp 4-component vector of float)
+0:52 'out11' (out 4-component vector of float)
+0:52 Constant:
+0:52 0.000000
+0:52 0.000000
+0:52 1.000000
+0:52 0.000000
+0:53 move second child to first child (temp 4-component vector of float)
+0:53 'out11' (out 4-component vector of float)
+0:53 Constant:
+0:53 1.029639
+0:53 0.799690
+0:53 0.674741
+0:53 1.570696
+0:54 move second child to first child (temp 4-component vector of float)
+0:54 'out11' (out 4-component vector of float)
+0:54 Constant:
+0:54 0.000000
+0:54 0.523599
+0:54 1.570796
+0:54 1.047198
+0:58 move second child to first child (temp 4-component vector of float)
+0:58 'out11' (out 4-component vector of float)
+0:58 Constant:
+0:58 1.373401
+0:58 0.000000
+0:58 0.896055
+0:58 -0.380506
+0:62 move second child to first child (temp 2-component vector of int)
+0:62 'out12' (out 2-component vector of int)
+0:62 Constant:
+0:62 15 (const int)
+0:62 16 (const int)
+0:63 move second child to first child (temp 2-component vector of int)
+0:63 'out12' (out 2-component vector of int)
+0:63 Constant:
+0:63 17 (const int)
+0:63 17 (const int)
+0:64 move second child to first child (temp 2-component vector of float)
+0:64 'out2' (out 2-component vector of float)
+0:64 Constant:
+0:64 871.421253
+0:64 4913.000000
+0:65 move second child to first child (temp 3-component vector of uint)
+0:65 'out13' (out 3-component vector of uint)
+0:65 Constant:
+0:65 10 (const uint)
+0:65 20 (const uint)
+0:65 30 (const uint)
+0:66 move second child to first child (temp 2-component vector of float)
+0:66 'out2' (out 2-component vector of float)
+0:66 Constant:
+0:66 3.000000
+0:66 6.000000
+0:67 move second child to first child (temp 2-component vector of float)
+0:67 'out2' (out 2-component vector of float)
+0:67 Constant:
+0:67 3.500000
+0:67 4.500000
+0:68 move second child to first child (temp 2-component vector of float)
+0:68 'out2' (out 2-component vector of float)
+0:68 Constant:
+0:68 0.000000
+0:68 1.000000
+0:69 move second child to first child (temp 4-component vector of float)
+0:69 'out11' (out 4-component vector of float)
+0:69 Constant:
+0:69 0.000000
+0:69 0.028000
+0:69 0.500000
+0:69 1.000000
+0:78 Function Definition: foo( (global void)
+0:78 Function Parameters:
+0:? Sequence
+0:81 move second child to first child (temp float)
+0:81 direct index (temp float)
+0:81 'a' (temp 3-element array of float)
+0:81 Constant:
+0:81 0 (const int)
+0:81 Constant:
+0:81 7.000000
+0:82 Constant:
+0:82 2 (const int)
+0:83 Constant:
+0:83 2147483647 (const int)
+0:84 Constant:
+0:84 inf
+0:88 Constant:
+0:88 2 (const uint)
+0:88 3 (const uint)
+0:89 Constant:
+0:89 0 (const uint)
+0:90 Constant:
+0:90 6 (const uint)
+0:90 7 (const uint)
+0:103 Function Definition: foo2( (global void)
+0:103 Function Parameters:
+0:105 Sequence
+0:105 direct index (temp float)
+0:105 'a1' (global 1-element array of float)
+0:105 Constant:
+0:105 0 (const int)
+0:106 direct index (temp float)
+0:106 'a2' (global 2-element array of float)
+0:106 Constant:
+0:106 0 (const int)
+0:107 direct index (temp float)
+0:107 'a3' (global 4-element array of float)
+0:107 Constant:
+0:107 0 (const int)
+0:108 direct index (temp float)
+0:108 'a4' (global 2-element array of float)
+0:108 Constant:
+0:108 0 (const int)
+0:109 Constant:
+0:109 1.000000
+0:110 Constant:
+0:110 5.000000
+0:111 Constant:
+0:111 2.000000
+0:112 Constant:
+0:112 3.000000
+0:113 Constant:
+0:113 0.000000
+0:114 Constant:
+0:114 0.000000
+0:116 move second child to first child (temp int)
+0:116 'p' (temp int)
+0:116 Constant:
+0:116 2147483647 (const int)
+0:117 move second child to first child (temp int)
+0:117 'p' (temp int)
+0:117 Constant:
+0:117 -2147483648 (const int)
+0:118 move second child to first child (temp int)
+0:118 'p' (temp int)
+0:118 Constant:
+0:118 -2147483647 (const int)
+0:119 Sequence
+0:119 move second child to first child (temp float)
+0:119 'f' (temp float)
+0:119 Constant:
+0:119 1.444000
+0:120 move second child to first child (temp float)
+0:120 'f' (temp float)
+0:120 direct index (temp float)
+0:120 Construct vec4 (temp 4-component vector of float)
+0:120 Test condition and select (temp float)
+0:120 Condition
+0:120 Compare Less Than (temp bool)
+0:120 direct index (temp float)
+0:120 'inv' (smooth in 4-component vector of float)
+0:120 Constant:
+0:120 0 (const int)
+0:120 Constant:
+0:120 2.400000
+0:120 true case
+0:120 Constant:
+0:120 -1.000000
+0:120 false case
+0:120 Constant:
+0:120 1.000000
+0:120 Constant:
+0:120 3 (const int)
+0:126 Function Definition: foo3( (global void)
+0:126 Function Parameters:
+0:128 Sequence
+0:128 Sequence
+0:128 move second child to first child (temp 3X2 matrix of float)
+0:128 'r32' (temp 3X2 matrix of float)
+0:128 Constant:
+0:128 43.000000
+0:128 64.000000
+0:128 51.000000
+0:128 76.000000
+0:128 59.000000
+0:128 88.000000
+0:138 Function Definition: foo4( (global void)
+0:138 Function Parameters:
+0:140 Sequence
+0:140 Sequence
+0:140 move second child to first child (temp int)
+0:140 'a' (temp int)
+0:140 Constant:
+0:140 9 (const int)
+0:? Linker Objects
+0:? 'a' (const int)
+0:? 1 (const int)
+0:? 'b' (const int)
+0:? 2 (const int)
+0:? 'c' (const int)
+0:? 3 (const int)
+0:? 'd' (const int)
+0:? 2 (const int)
+0:? 'e' (const float)
+0:? 2.000000
+0:? 'f' (const float)
+0:? 6.000000
+0:? 'g' (const float)
+0:? 3.000000
+0:? 'pytho' (const 2-component vector of float)
+0:? 3.000000
+0:? 4.000000
+0:? 'inv' (smooth in 4-component vector of float)
+0:? 'FragColor' (out 4-component vector of float)
+0:? 'out2' (out 2-component vector of float)
+0:? 'out3' (out 4-component vector of float)
+0:? 'out4' (out 4-component vector of float)
+0:? 'out5' (out 4-component vector of int)
+0:? 'out6' (out 3-component vector of float)
+0:? 'out7' (out 4-component vector of float)
+0:? 'out8' (out 4-component vector of float)
+0:? 'out9' (out 4-component vector of float)
+0:? 'out10' (out 4-component vector of float)
+0:? 'out11' (out 4-component vector of float)
+0:? 'out12' (out 2-component vector of int)
+0:? 'out13' (out 3-component vector of uint)
+0:? 's' (const structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m})
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3 (const int)
+0:? 3 (const int)
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+0:? 'm2' (const 2X2 matrix of float)
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 'm3' (const 3X3 matrix of float)
+0:? 2.000000
+0:? 3.000000
+0:? 0.000000
+0:? 4.000000
+0:? 5.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'mc' (const int)
+0:? 1 (const int)
+0:? 'a1' (global 1-element array of float)
+0:? 'a2' (global 2-element array of float)
+0:? 'a3' (global 4-element array of float)
+0:? 'v2' (const 2-component vector of float)
+0:? 1.000000
+0:? 2.000000
+0:? 'v3' (const 3-component vector of float)
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 'a4' (global 2-element array of float)
+0:? 'mm2' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 'mm32' (const 3X2 matrix of float)
+0:? 10.000000
+0:? 11.000000
+0:? 12.000000
+0:? 13.000000
+0:? 14.000000
+0:? 15.000000
+0:? 'a0' (const 3-element array of structure{global int i, global float f, global bool b})
+0:? 3 (const int)
+0:? 2.000000
+0:? true (const bool)
+0:? 1 (const int)
+0:? 5.000000
+0:? true (const bool)
+0:? 1 (const int)
+0:? 9.000000
+0:? false (const bool)
+
+
+Linked fragment stage:
+
+
+Shader version: 430
+ERROR: node is still EOpNull!
+0:28 Function Definition: main( (global void)
+0:28 Function Parameters:
+0:30 Sequence
+0:30 Sequence
+0:30 move second child to first child (temp 4-component vector of float)
+0:30 'dx' (temp 4-component vector of float)
+0:30 dPdx (global 4-component vector of float)
+0:30 'inv' (smooth in 4-component vector of float)
+0:37 move second child to first child (temp 4-component vector of float)
+0:37 'FragColor' (out 4-component vector of float)
+0:37 Constant:
+0:37 2.000000
+0:37 6.000000
+0:37 3.000000
+0:37 171.887339
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 'FragColor' (out 4-component vector of float)
+0:42 Constant:
+0:42 3.000000
+0:42 2.000000
+0:42 0.001593
+0:42 -0.999999
+0:43 move second child to first child (temp 2-component vector of float)
+0:43 'out2' (out 2-component vector of float)
+0:43 Constant:
+0:43 5.600000
+0:43 5.800000
+0:44 move second child to first child (temp 4-component vector of float)
+0:44 'out3' (out 4-component vector of float)
+0:44 Constant:
+0:44 20.085537
+0:44 2.302585
+0:44 16.000000
+0:44 8.000000
+0:45 move second child to first child (temp 4-component vector of float)
+0:45 'out4' (out 4-component vector of float)
+0:45 Constant:
+0:45 10.000000
+0:45 0.100000
+0:45 4.700000
+0:45 10.900000
+0:46 move second child to first child (temp 4-component vector of int)
+0:46 'out5' (out 4-component vector of int)
+0:46 Constant:
+0:46 8 (const int)
+0:46 17 (const int)
+0:46 -1 (const int)
+0:46 1 (const int)
+0:47 move second child to first child (temp 3-component vector of float)
+0:47 'out6' (out 3-component vector of float)
+0:47 Constant:
+0:47 -1.000000
+0:47 1.000000
+0:47 0.000000
+0:48 move second child to first child (temp 4-component vector of float)
+0:48 'out7' (out 4-component vector of float)
+0:48 Constant:
+0:48 4.000000
+0:48 -4.000000
+0:48 5.000000
+0:48 -5.000000
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 'out8' (out 4-component vector of float)
+0:49 Constant:
+0:49 4.000000
+0:49 5.000000
+0:49 4.000000
+0:49 -6.000000
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'out9' (out 4-component vector of float)
+0:50 Constant:
+0:50 8.000000
+0:50 -4.000000
+0:50 0.345000
+0:50 0.400000
+0:51 move second child to first child (temp 4-component vector of float)
+0:51 'out10' (out 4-component vector of float)
+0:51 Constant:
+0:51 1.000000
+0:51 1.000000
+0:51 0.000000
+0:51 0.000000
+0:52 move second child to first child (temp 4-component vector of float)
+0:52 'out11' (out 4-component vector of float)
+0:52 Constant:
+0:52 0.000000
+0:52 0.000000
+0:52 1.000000
+0:52 0.000000
+0:53 move second child to first child (temp 4-component vector of float)
+0:53 'out11' (out 4-component vector of float)
+0:53 Constant:
+0:53 1.029639
+0:53 0.799690
+0:53 0.674741
+0:53 1.570696
+0:54 move second child to first child (temp 4-component vector of float)
+0:54 'out11' (out 4-component vector of float)
+0:54 Constant:
+0:54 0.000000
+0:54 0.523599
+0:54 1.570796
+0:54 1.047198
+0:58 move second child to first child (temp 4-component vector of float)
+0:58 'out11' (out 4-component vector of float)
+0:58 Constant:
+0:58 1.373401
+0:58 0.000000
+0:58 0.896055
+0:58 -0.380506
+0:62 move second child to first child (temp 2-component vector of int)
+0:62 'out12' (out 2-component vector of int)
+0:62 Constant:
+0:62 15 (const int)
+0:62 16 (const int)
+0:63 move second child to first child (temp 2-component vector of int)
+0:63 'out12' (out 2-component vector of int)
+0:63 Constant:
+0:63 17 (const int)
+0:63 17 (const int)
+0:64 move second child to first child (temp 2-component vector of float)
+0:64 'out2' (out 2-component vector of float)
+0:64 Constant:
+0:64 871.421253
+0:64 4913.000000
+0:65 move second child to first child (temp 3-component vector of uint)
+0:65 'out13' (out 3-component vector of uint)
+0:65 Constant:
+0:65 10 (const uint)
+0:65 20 (const uint)
+0:65 30 (const uint)
+0:66 move second child to first child (temp 2-component vector of float)
+0:66 'out2' (out 2-component vector of float)
+0:66 Constant:
+0:66 3.000000
+0:66 6.000000
+0:67 move second child to first child (temp 2-component vector of float)
+0:67 'out2' (out 2-component vector of float)
+0:67 Constant:
+0:67 3.500000
+0:67 4.500000
+0:68 move second child to first child (temp 2-component vector of float)
+0:68 'out2' (out 2-component vector of float)
+0:68 Constant:
+0:68 0.000000
+0:68 1.000000
+0:69 move second child to first child (temp 4-component vector of float)
+0:69 'out11' (out 4-component vector of float)
+0:69 Constant:
+0:69 0.000000
+0:69 0.028000
+0:69 0.500000
+0:69 1.000000
+0:78 Function Definition: foo( (global void)
+0:78 Function Parameters:
+0:? Sequence
+0:81 move second child to first child (temp float)
+0:81 direct index (temp float)
+0:81 'a' (temp 3-element array of float)
+0:81 Constant:
+0:81 0 (const int)
+0:81 Constant:
+0:81 7.000000
+0:82 Constant:
+0:82 2 (const int)
+0:83 Constant:
+0:83 2147483647 (const int)
+0:84 Constant:
+0:84 inf
+0:88 Constant:
+0:88 2 (const uint)
+0:88 3 (const uint)
+0:89 Constant:
+0:89 0 (const uint)
+0:90 Constant:
+0:90 6 (const uint)
+0:90 7 (const uint)
+0:103 Function Definition: foo2( (global void)
+0:103 Function Parameters:
+0:105 Sequence
+0:105 direct index (temp float)
+0:105 'a1' (global 1-element array of float)
+0:105 Constant:
+0:105 0 (const int)
+0:106 direct index (temp float)
+0:106 'a2' (global 2-element array of float)
+0:106 Constant:
+0:106 0 (const int)
+0:107 direct index (temp float)
+0:107 'a3' (global 4-element array of float)
+0:107 Constant:
+0:107 0 (const int)
+0:108 direct index (temp float)
+0:108 'a4' (global 2-element array of float)
+0:108 Constant:
+0:108 0 (const int)
+0:109 Constant:
+0:109 1.000000
+0:110 Constant:
+0:110 5.000000
+0:111 Constant:
+0:111 2.000000
+0:112 Constant:
+0:112 3.000000
+0:113 Constant:
+0:113 0.000000
+0:114 Constant:
+0:114 0.000000
+0:116 move second child to first child (temp int)
+0:116 'p' (temp int)
+0:116 Constant:
+0:116 2147483647 (const int)
+0:117 move second child to first child (temp int)
+0:117 'p' (temp int)
+0:117 Constant:
+0:117 -2147483648 (const int)
+0:118 move second child to first child (temp int)
+0:118 'p' (temp int)
+0:118 Constant:
+0:118 -2147483647 (const int)
+0:119 Sequence
+0:119 move second child to first child (temp float)
+0:119 'f' (temp float)
+0:119 Constant:
+0:119 1.444000
+0:120 move second child to first child (temp float)
+0:120 'f' (temp float)
+0:120 direct index (temp float)
+0:120 Construct vec4 (temp 4-component vector of float)
+0:120 Test condition and select (temp float)
+0:120 Condition
+0:120 Compare Less Than (temp bool)
+0:120 direct index (temp float)
+0:120 'inv' (smooth in 4-component vector of float)
+0:120 Constant:
+0:120 0 (const int)
+0:120 Constant:
+0:120 2.400000
+0:120 true case
+0:120 Constant:
+0:120 -1.000000
+0:120 false case
+0:120 Constant:
+0:120 1.000000
+0:120 Constant:
+0:120 3 (const int)
+0:126 Function Definition: foo3( (global void)
+0:126 Function Parameters:
+0:128 Sequence
+0:128 Sequence
+0:128 move second child to first child (temp 3X2 matrix of float)
+0:128 'r32' (temp 3X2 matrix of float)
+0:128 Constant:
+0:128 43.000000
+0:128 64.000000
+0:128 51.000000
+0:128 76.000000
+0:128 59.000000
+0:128 88.000000
+0:138 Function Definition: foo4( (global void)
+0:138 Function Parameters:
+0:140 Sequence
+0:140 Sequence
+0:140 move second child to first child (temp int)
+0:140 'a' (temp int)
+0:140 Constant:
+0:140 9 (const int)
+0:? Linker Objects
+0:? 'a' (const int)
+0:? 1 (const int)
+0:? 'b' (const int)
+0:? 2 (const int)
+0:? 'c' (const int)
+0:? 3 (const int)
+0:? 'd' (const int)
+0:? 2 (const int)
+0:? 'e' (const float)
+0:? 2.000000
+0:? 'f' (const float)
+0:? 6.000000
+0:? 'g' (const float)
+0:? 3.000000
+0:? 'pytho' (const 2-component vector of float)
+0:? 3.000000
+0:? 4.000000
+0:? 'inv' (smooth in 4-component vector of float)
+0:? 'FragColor' (out 4-component vector of float)
+0:? 'out2' (out 2-component vector of float)
+0:? 'out3' (out 4-component vector of float)
+0:? 'out4' (out 4-component vector of float)
+0:? 'out5' (out 4-component vector of int)
+0:? 'out6' (out 3-component vector of float)
+0:? 'out7' (out 4-component vector of float)
+0:? 'out8' (out 4-component vector of float)
+0:? 'out9' (out 4-component vector of float)
+0:? 'out10' (out 4-component vector of float)
+0:? 'out11' (out 4-component vector of float)
+0:? 'out12' (out 2-component vector of int)
+0:? 'out13' (out 3-component vector of uint)
+0:? 's' (const structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m})
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3 (const int)
+0:? 3 (const int)
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+0:? 'm2' (const 2X2 matrix of float)
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 'm3' (const 3X3 matrix of float)
+0:? 2.000000
+0:? 3.000000
+0:? 0.000000
+0:? 4.000000
+0:? 5.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'mc' (const int)
+0:? 1 (const int)
+0:? 'a1' (global 1-element array of float)
+0:? 'a2' (global 2-element array of float)
+0:? 'a3' (global 4-element array of float)
+0:? 'v2' (const 2-component vector of float)
+0:? 1.000000
+0:? 2.000000
+0:? 'v3' (const 3-component vector of float)
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 'a4' (global 2-element array of float)
+0:? 'mm2' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 'mm32' (const 3X2 matrix of float)
+0:? 10.000000
+0:? 11.000000
+0:? 12.000000
+0:? 13.000000
+0:? 14.000000
+0:? 15.000000
+0:? 'a0' (const 3-element array of structure{global int i, global float f, global bool b})
+0:? 3 (const int)
+0:? 2.000000
+0:? true (const bool)
+0:? 1 (const int)
+0:? 5.000000
+0:? true (const bool)
+0:? 1 (const int)
+0:? 9.000000
+0:? false (const bool)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/conversion.frag.out b/chromium/third_party/glslang/src/Test/baseResults/conversion.frag.out
new file mode 100644
index 00000000000..3abf82ceffc
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/conversion.frag.out
@@ -0,0 +1,955 @@
+conversion.frag
+Shader version: 130
+0:? Sequence
+0:33 Function Definition: main( (global void)
+0:33 Function Parameters:
+0:35 Sequence
+0:35 Sequence
+0:35 move second child to first child (temp bool)
+0:35 'b' (temp bool)
+0:35 logical-xor (temp bool)
+0:35 Convert int to bool (temp bool)
+0:35 'u_i' (uniform int)
+0:35 Convert float to bool (temp bool)
+0:35 'u_f' (uniform float)
+0:36 Sequence
+0:36 move second child to first child (temp 2-component vector of bool)
+0:36 'b2' (temp 2-component vector of bool)
+0:36 Construct bvec2 (temp 2-component vector of bool)
+0:36 Convert int to bool (temp bool)
+0:36 'u_i' (uniform int)
+0:36 Convert float to bool (temp bool)
+0:36 'u_f' (uniform float)
+0:37 Sequence
+0:37 move second child to first child (temp 3-component vector of bool)
+0:37 'b3' (temp 3-component vector of bool)
+0:37 Construct bvec3 (temp 3-component vector of bool)
+0:37 Convert int to bool (temp bool)
+0:37 'u_i' (uniform int)
+0:37 Convert float to bool (temp bool)
+0:37 'u_f' (uniform float)
+0:37 Convert int to bool (temp bool)
+0:37 'i_i' (flat in int)
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of bool)
+0:38 'b4' (temp 4-component vector of bool)
+0:38 Construct bvec4 (temp 4-component vector of bool)
+0:38 Convert int to bool (temp bool)
+0:38 'u_i' (uniform int)
+0:38 Convert float to bool (temp bool)
+0:38 'u_f' (uniform float)
+0:38 Convert int to bool (temp bool)
+0:38 'i_i' (flat in int)
+0:38 Convert float to bool (temp bool)
+0:38 'i_f' (smooth in float)
+0:40 Sequence
+0:40 move second child to first child (temp int)
+0:40 'i' (temp int)
+0:40 add (temp int)
+0:40 Convert float to int (temp int)
+0:40 'u_f' (uniform float)
+0:40 Convert bool to int (temp int)
+0:40 'b' (temp bool)
+0:41 Sequence
+0:41 move second child to first child (temp 2-component vector of int)
+0:41 'i2' (temp 2-component vector of int)
+0:41 add (temp 2-component vector of int)
+0:41 Convert float to int (temp 2-component vector of int)
+0:41 'u_f2' (uniform 2-component vector of float)
+0:41 Convert bool to int (temp 2-component vector of int)
+0:41 'b2' (temp 2-component vector of bool)
+0:42 Sequence
+0:42 move second child to first child (temp 3-component vector of int)
+0:42 'i3' (temp 3-component vector of int)
+0:42 add (temp 3-component vector of int)
+0:42 Convert float to int (temp 3-component vector of int)
+0:42 'u_f3' (uniform 3-component vector of float)
+0:42 Convert bool to int (temp 3-component vector of int)
+0:42 'b3' (temp 3-component vector of bool)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of int)
+0:43 'i4' (temp 4-component vector of int)
+0:43 add (temp 4-component vector of int)
+0:43 Convert float to int (temp 4-component vector of int)
+0:43 'u_f4' (uniform 4-component vector of float)
+0:43 Convert bool to int (temp 4-component vector of int)
+0:43 'b4' (temp 4-component vector of bool)
+0:45 Sequence
+0:45 move second child to first child (temp float)
+0:45 'f' (temp float)
+0:45 Convert int to float (temp float)
+0:45 'i' (temp int)
+0:46 Sequence
+0:46 move second child to first child (temp 2-component vector of float)
+0:46 'f2' (temp 2-component vector of float)
+0:46 Convert int to float (temp 2-component vector of float)
+0:46 'i2' (temp 2-component vector of int)
+0:47 Sequence
+0:47 move second child to first child (temp 3-component vector of float)
+0:47 'f3' (temp 3-component vector of float)
+0:47 Convert int to float (temp 3-component vector of float)
+0:47 'i3' (temp 3-component vector of int)
+0:48 Sequence
+0:48 move second child to first child (temp 4-component vector of float)
+0:48 'f4' (temp 4-component vector of float)
+0:48 Convert int to float (temp 4-component vector of float)
+0:48 'i4' (temp 4-component vector of int)
+0:50 add second child into first child (temp float)
+0:50 'f' (temp float)
+0:50 add (temp float)
+0:50 Convert int to float (temp float)
+0:50 'i' (temp int)
+0:50 Convert bool to float (temp float)
+0:50 'b' (temp bool)
+0:51 subtract second child into first child (temp 2-component vector of float)
+0:51 'f2' (temp 2-component vector of float)
+0:51 add (temp 2-component vector of float)
+0:51 Convert int to float (temp 2-component vector of float)
+0:51 'i2' (temp 2-component vector of int)
+0:51 Convert bool to float (temp 2-component vector of float)
+0:51 'b2' (temp 2-component vector of bool)
+0:52 divide second child into first child (temp 3-component vector of float)
+0:52 'f3' (temp 3-component vector of float)
+0:52 add (temp 3-component vector of float)
+0:52 Convert int to float (temp 3-component vector of float)
+0:52 'i3' (temp 3-component vector of int)
+0:52 Convert bool to float (temp 3-component vector of float)
+0:52 'b3' (temp 3-component vector of bool)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'f4' (temp 4-component vector of float)
+0:53 add (temp 4-component vector of float)
+0:53 Convert int to float (temp 4-component vector of float)
+0:53 'i4' (temp 4-component vector of int)
+0:53 Convert bool to float (temp 4-component vector of float)
+0:53 'b4' (temp 4-component vector of bool)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'f4' (temp 4-component vector of float)
+0:55 Convert bool to float (temp 4-component vector of float)
+0:55 Convert int to bool (temp 4-component vector of bool)
+0:55 'i_i4' (flat in 4-component vector of int)
+0:56 add second child into first child (temp 4-component vector of float)
+0:56 'f4' (temp 4-component vector of float)
+0:56 Convert bool to float (temp 4-component vector of float)
+0:56 Convert float to bool (temp 4-component vector of bool)
+0:56 'u_f4' (uniform 4-component vector of float)
+0:58 add second child into first child (temp float)
+0:58 'f' (temp float)
+0:58 subtract (temp float)
+0:58 'f' (temp float)
+0:58 Convert int to float (temp float)
+0:58 'i' (temp int)
+0:59 add second child into first child (temp 2-component vector of float)
+0:59 'f2' (temp 2-component vector of float)
+0:59 add (temp 2-component vector of float)
+0:59 Construct vec2 (temp 2-component vector of float)
+0:59 'f' (temp float)
+0:59 Convert int to float (temp float)
+0:59 'i' (temp int)
+0:59 Convert int to float (temp 2-component vector of float)
+0:59 'i2' (temp 2-component vector of int)
+0:60 add second child into first child (temp 3-component vector of float)
+0:60 'f3' (temp 3-component vector of float)
+0:60 add (temp 3-component vector of float)
+0:60 Convert int to float (temp 3-component vector of float)
+0:60 'i3' (temp 3-component vector of int)
+0:60 Construct vec3 (temp 3-component vector of float)
+0:60 'f' (temp float)
+0:60 Convert int to float (temp float)
+0:60 'i' (temp int)
+0:60 'f' (temp float)
+0:61 add second child into first child (temp 4-component vector of float)
+0:61 'f4' (temp 4-component vector of float)
+0:61 add (temp 4-component vector of float)
+0:61 Construct vec4 (temp 4-component vector of float)
+0:61 Convert bool to float (temp float)
+0:61 'b' (temp bool)
+0:61 Convert int to float (temp float)
+0:61 'i' (temp int)
+0:61 'f' (temp float)
+0:61 Convert int to float (temp float)
+0:61 'i' (temp int)
+0:61 Convert int to float (temp 4-component vector of float)
+0:61 'i4' (temp 4-component vector of int)
+0:63 add second child into first child (temp 2-component vector of float)
+0:63 'f2' (temp 2-component vector of float)
+0:63 vector-scale (temp 2-component vector of float)
+0:63 Construct vec2 (temp 2-component vector of float)
+0:63 'f' (temp float)
+0:63 Convert int to float (temp float)
+0:63 'i' (temp int)
+0:63 Convert int to float (temp float)
+0:63 'i' (temp int)
+0:64 add second child into first child (temp 3-component vector of float)
+0:64 'f3' (temp 3-component vector of float)
+0:64 add (temp 3-component vector of float)
+0:64 Construct vec3 (temp 3-component vector of float)
+0:64 'f' (temp float)
+0:64 Convert int to float (temp float)
+0:64 'i' (temp int)
+0:64 'f' (temp float)
+0:64 Convert int to float (temp float)
+0:64 'i' (temp int)
+0:65 add second child into first child (temp 4-component vector of float)
+0:65 'f4' (temp 4-component vector of float)
+0:65 subtract (temp 4-component vector of float)
+0:65 Convert int to float (temp float)
+0:65 'i' (temp int)
+0:65 Construct vec4 (temp 4-component vector of float)
+0:65 Convert bool to float (temp float)
+0:65 'b' (temp bool)
+0:65 Convert int to float (temp float)
+0:65 'i' (temp int)
+0:65 'f' (temp float)
+0:65 Convert int to float (temp float)
+0:65 'i' (temp int)
+0:67 add second child into first child (temp 2-component vector of int)
+0:67 'i2' (temp 2-component vector of int)
+0:67 Construct ivec2 (temp 2-component vector of int)
+0:67 Convert float to int (temp int)
+0:67 'f' (temp float)
+0:67 'i' (temp int)
+0:68 add second child into first child (temp 3-component vector of int)
+0:68 'i3' (temp 3-component vector of int)
+0:68 Construct ivec3 (temp 3-component vector of int)
+0:68 Convert float to int (temp int)
+0:68 'f' (temp float)
+0:68 'i' (temp int)
+0:68 Convert float to int (temp int)
+0:68 'f' (temp float)
+0:69 add second child into first child (temp 4-component vector of int)
+0:69 'i4' (temp 4-component vector of int)
+0:69 Construct ivec4 (temp 4-component vector of int)
+0:69 Convert bool to int (temp int)
+0:69 'b' (temp bool)
+0:69 'i' (temp int)
+0:69 Convert float to int (temp int)
+0:69 'f' (temp float)
+0:69 'i' (temp int)
+0:71 Test condition and select (temp void)
+0:71 Condition
+0:72 logical-or (temp bool)
+0:71 logical-or (temp bool)
+0:71 logical-or (temp bool)
+0:71 Compare Less Than (temp bool)
+0:71 'f' (temp float)
+0:71 Convert int to float (temp float)
+0:71 'i' (temp int)
+0:71 Compare Less Than (temp bool)
+0:71 Convert int to float (temp float)
+0:71 'i' (temp int)
+0:71 'f' (temp float)
+0:72 Compare Equal (temp bool)
+0:72 'f2' (temp 2-component vector of float)
+0:72 Convert int to float (temp 2-component vector of float)
+0:72 'i2' (temp 2-component vector of int)
+0:73 Compare Not Equal (temp bool)
+0:73 Convert int to float (temp 3-component vector of float)
+0:73 'i3' (temp 3-component vector of int)
+0:73 'f3' (temp 3-component vector of float)
+0:71 true case
+0:74 move second child to first child (temp float)
+0:74 'f' (temp float)
+0:74 add (temp float)
+0:74 Test condition and select (temp float)
+0:74 Condition
+0:74 'b' (temp bool)
+0:74 true case
+0:74 Convert int to float (temp float)
+0:74 'i' (temp int)
+0:74 false case
+0:74 direct index (temp float)
+0:74 'f2' (temp 2-component vector of float)
+0:74 Constant:
+0:74 0 (const int)
+0:74 Test condition and select (temp float)
+0:74 Condition
+0:74 direct index (temp bool)
+0:74 'b2' (temp 2-component vector of bool)
+0:74 Constant:
+0:74 0 (const int)
+0:74 true case
+0:74 direct index (temp float)
+0:74 'f3' (temp 3-component vector of float)
+0:74 Constant:
+0:74 0 (const int)
+0:74 false case
+0:74 Convert int to float (temp float)
+0:74 direct index (temp int)
+0:74 'i2' (temp 2-component vector of int)
+0:74 Constant:
+0:74 1 (const int)
+0:76 move second child to first child (temp 4-component vector of float)
+0:76 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:86 Test condition and select (temp 4-component vector of float)
+0:86 Condition
+0:85 logical-or (temp bool)
+0:84 logical-or (temp bool)
+0:83 logical-or (temp bool)
+0:82 logical-or (temp bool)
+0:81 logical-or (temp bool)
+0:80 logical-or (temp bool)
+0:79 logical-or (temp bool)
+0:78 logical-or (temp bool)
+0:77 logical-or (temp bool)
+0:77 'b' (temp bool)
+0:78 direct index (temp bool)
+0:78 'b2' (temp 2-component vector of bool)
+0:78 Constant:
+0:78 0 (const int)
+0:79 direct index (temp bool)
+0:79 'b2' (temp 2-component vector of bool)
+0:79 Constant:
+0:79 1 (const int)
+0:80 direct index (temp bool)
+0:80 'b3' (temp 3-component vector of bool)
+0:80 Constant:
+0:80 0 (const int)
+0:81 direct index (temp bool)
+0:81 'b3' (temp 3-component vector of bool)
+0:81 Constant:
+0:81 1 (const int)
+0:82 direct index (temp bool)
+0:82 'b3' (temp 3-component vector of bool)
+0:82 Constant:
+0:82 2 (const int)
+0:83 direct index (temp bool)
+0:83 'b4' (temp 4-component vector of bool)
+0:83 Constant:
+0:83 0 (const int)
+0:84 direct index (temp bool)
+0:84 'b4' (temp 4-component vector of bool)
+0:84 Constant:
+0:84 1 (const int)
+0:85 direct index (temp bool)
+0:85 'b4' (temp 4-component vector of bool)
+0:85 Constant:
+0:85 2 (const int)
+0:86 direct index (temp bool)
+0:86 'b4' (temp 4-component vector of bool)
+0:86 Constant:
+0:86 3 (const int)
+0:86 true case
+0:105 Construct vec4 (temp 4-component vector of float)
+0:105 add (temp float)
+0:104 add (temp float)
+0:103 add (temp float)
+0:102 add (temp float)
+0:101 add (temp float)
+0:100 add (temp float)
+0:99 add (temp float)
+0:98 add (temp float)
+0:97 add (temp float)
+0:96 add (temp float)
+0:95 Convert int to float (temp float)
+0:95 add (temp int)
+0:94 add (temp int)
+0:93 add (temp int)
+0:92 add (temp int)
+0:91 add (temp int)
+0:90 add (temp int)
+0:89 add (temp int)
+0:88 add (temp int)
+0:87 add (temp int)
+0:87 'i' (temp int)
+0:88 direct index (temp int)
+0:88 'i2' (temp 2-component vector of int)
+0:88 Constant:
+0:88 0 (const int)
+0:89 direct index (temp int)
+0:89 'i2' (temp 2-component vector of int)
+0:89 Constant:
+0:89 1 (const int)
+0:90 direct index (temp int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 Constant:
+0:90 0 (const int)
+0:91 direct index (temp int)
+0:91 'i3' (temp 3-component vector of int)
+0:91 Constant:
+0:91 1 (const int)
+0:92 direct index (temp int)
+0:92 'i3' (temp 3-component vector of int)
+0:92 Constant:
+0:92 2 (const int)
+0:93 direct index (temp int)
+0:93 'i4' (temp 4-component vector of int)
+0:93 Constant:
+0:93 0 (const int)
+0:94 direct index (temp int)
+0:94 'i4' (temp 4-component vector of int)
+0:94 Constant:
+0:94 1 (const int)
+0:95 direct index (temp int)
+0:95 'i4' (temp 4-component vector of int)
+0:95 Constant:
+0:95 2 (const int)
+0:96 direct index (temp int)
+0:96 'i4' (temp 4-component vector of int)
+0:96 Constant:
+0:96 3 (const int)
+0:97 'f' (temp float)
+0:98 direct index (temp float)
+0:98 'f2' (temp 2-component vector of float)
+0:98 Constant:
+0:98 0 (const int)
+0:99 direct index (temp float)
+0:99 'f2' (temp 2-component vector of float)
+0:99 Constant:
+0:99 1 (const int)
+0:100 direct index (temp float)
+0:100 'f3' (temp 3-component vector of float)
+0:100 Constant:
+0:100 0 (const int)
+0:101 direct index (temp float)
+0:101 'f3' (temp 3-component vector of float)
+0:101 Constant:
+0:101 1 (const int)
+0:102 direct index (temp float)
+0:102 'f3' (temp 3-component vector of float)
+0:102 Constant:
+0:102 2 (const int)
+0:103 direct index (temp float)
+0:103 'f4' (temp 4-component vector of float)
+0:103 Constant:
+0:103 0 (const int)
+0:104 direct index (temp float)
+0:104 'f4' (temp 4-component vector of float)
+0:104 Constant:
+0:104 1 (const int)
+0:105 direct index (temp float)
+0:105 'f4' (temp 4-component vector of float)
+0:105 Constant:
+0:105 2 (const int)
+0:106 direct index (temp float)
+0:106 'f4' (temp 4-component vector of float)
+0:106 Constant:
+0:106 3 (const int)
+0:86 false case
+0:106 Constant:
+0:106 1.000000
+0:106 1.000000
+0:106 1.000000
+0:106 1.000000
+0:109 Sequence
+0:109 move second child to first child (temp 4-component vector of int)
+0:109 'cv2' (temp 4-component vector of int)
+0:109 Constant:
+0:109 1 (const int)
+0:109 1 (const int)
+0:109 1 (const int)
+0:109 1 (const int)
+0:110 Sequence
+0:110 move second child to first child (temp 4-component vector of bool)
+0:110 'cv5' (temp 4-component vector of bool)
+0:110 Convert int to bool (temp 4-component vector of bool)
+0:110 'cv2' (temp 4-component vector of int)
+0:111 add second child into first child (temp 4-component vector of float)
+0:111 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:111 Construct float (temp float)
+0:111 Convert bool to float (temp 4-component vector of float)
+0:111 'cv5' (temp 4-component vector of bool)
+0:? Linker Objects
+0:? 'u_b' (uniform bool)
+0:? 'u_b2' (uniform 2-component vector of bool)
+0:? 'u_b3' (uniform 3-component vector of bool)
+0:? 'u_b4' (uniform 4-component vector of bool)
+0:? 'u_i' (uniform int)
+0:? 'u_i2' (uniform 2-component vector of int)
+0:? 'u_i3' (uniform 3-component vector of int)
+0:? 'u_i4' (uniform 4-component vector of int)
+0:? 'u_f' (uniform float)
+0:? 'u_f2' (uniform 2-component vector of float)
+0:? 'u_f3' (uniform 3-component vector of float)
+0:? 'u_f4' (uniform 4-component vector of float)
+0:? 'i_b' (uniform bool)
+0:? 'i_b2' (uniform 2-component vector of bool)
+0:? 'i_b3' (uniform 3-component vector of bool)
+0:? 'i_b4' (uniform 4-component vector of bool)
+0:? 'i_i' (flat in int)
+0:? 'i_i2' (flat in 2-component vector of int)
+0:? 'i_i3' (flat in 3-component vector of int)
+0:? 'i_i4' (flat in 4-component vector of int)
+0:? 'i_f' (smooth in float)
+0:? 'i_f2' (smooth in 2-component vector of float)
+0:? 'i_f3' (smooth in 3-component vector of float)
+0:? 'i_f4' (smooth in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:33 Function Definition: main( (global void)
+0:33 Function Parameters:
+0:35 Sequence
+0:35 Sequence
+0:35 move second child to first child (temp bool)
+0:35 'b' (temp bool)
+0:35 logical-xor (temp bool)
+0:35 Convert int to bool (temp bool)
+0:35 'u_i' (uniform int)
+0:35 Convert float to bool (temp bool)
+0:35 'u_f' (uniform float)
+0:36 Sequence
+0:36 move second child to first child (temp 2-component vector of bool)
+0:36 'b2' (temp 2-component vector of bool)
+0:36 Construct bvec2 (temp 2-component vector of bool)
+0:36 Convert int to bool (temp bool)
+0:36 'u_i' (uniform int)
+0:36 Convert float to bool (temp bool)
+0:36 'u_f' (uniform float)
+0:37 Sequence
+0:37 move second child to first child (temp 3-component vector of bool)
+0:37 'b3' (temp 3-component vector of bool)
+0:37 Construct bvec3 (temp 3-component vector of bool)
+0:37 Convert int to bool (temp bool)
+0:37 'u_i' (uniform int)
+0:37 Convert float to bool (temp bool)
+0:37 'u_f' (uniform float)
+0:37 Convert int to bool (temp bool)
+0:37 'i_i' (flat in int)
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of bool)
+0:38 'b4' (temp 4-component vector of bool)
+0:38 Construct bvec4 (temp 4-component vector of bool)
+0:38 Convert int to bool (temp bool)
+0:38 'u_i' (uniform int)
+0:38 Convert float to bool (temp bool)
+0:38 'u_f' (uniform float)
+0:38 Convert int to bool (temp bool)
+0:38 'i_i' (flat in int)
+0:38 Convert float to bool (temp bool)
+0:38 'i_f' (smooth in float)
+0:40 Sequence
+0:40 move second child to first child (temp int)
+0:40 'i' (temp int)
+0:40 add (temp int)
+0:40 Convert float to int (temp int)
+0:40 'u_f' (uniform float)
+0:40 Convert bool to int (temp int)
+0:40 'b' (temp bool)
+0:41 Sequence
+0:41 move second child to first child (temp 2-component vector of int)
+0:41 'i2' (temp 2-component vector of int)
+0:41 add (temp 2-component vector of int)
+0:41 Convert float to int (temp 2-component vector of int)
+0:41 'u_f2' (uniform 2-component vector of float)
+0:41 Convert bool to int (temp 2-component vector of int)
+0:41 'b2' (temp 2-component vector of bool)
+0:42 Sequence
+0:42 move second child to first child (temp 3-component vector of int)
+0:42 'i3' (temp 3-component vector of int)
+0:42 add (temp 3-component vector of int)
+0:42 Convert float to int (temp 3-component vector of int)
+0:42 'u_f3' (uniform 3-component vector of float)
+0:42 Convert bool to int (temp 3-component vector of int)
+0:42 'b3' (temp 3-component vector of bool)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of int)
+0:43 'i4' (temp 4-component vector of int)
+0:43 add (temp 4-component vector of int)
+0:43 Convert float to int (temp 4-component vector of int)
+0:43 'u_f4' (uniform 4-component vector of float)
+0:43 Convert bool to int (temp 4-component vector of int)
+0:43 'b4' (temp 4-component vector of bool)
+0:45 Sequence
+0:45 move second child to first child (temp float)
+0:45 'f' (temp float)
+0:45 Convert int to float (temp float)
+0:45 'i' (temp int)
+0:46 Sequence
+0:46 move second child to first child (temp 2-component vector of float)
+0:46 'f2' (temp 2-component vector of float)
+0:46 Convert int to float (temp 2-component vector of float)
+0:46 'i2' (temp 2-component vector of int)
+0:47 Sequence
+0:47 move second child to first child (temp 3-component vector of float)
+0:47 'f3' (temp 3-component vector of float)
+0:47 Convert int to float (temp 3-component vector of float)
+0:47 'i3' (temp 3-component vector of int)
+0:48 Sequence
+0:48 move second child to first child (temp 4-component vector of float)
+0:48 'f4' (temp 4-component vector of float)
+0:48 Convert int to float (temp 4-component vector of float)
+0:48 'i4' (temp 4-component vector of int)
+0:50 add second child into first child (temp float)
+0:50 'f' (temp float)
+0:50 add (temp float)
+0:50 Convert int to float (temp float)
+0:50 'i' (temp int)
+0:50 Convert bool to float (temp float)
+0:50 'b' (temp bool)
+0:51 subtract second child into first child (temp 2-component vector of float)
+0:51 'f2' (temp 2-component vector of float)
+0:51 add (temp 2-component vector of float)
+0:51 Convert int to float (temp 2-component vector of float)
+0:51 'i2' (temp 2-component vector of int)
+0:51 Convert bool to float (temp 2-component vector of float)
+0:51 'b2' (temp 2-component vector of bool)
+0:52 divide second child into first child (temp 3-component vector of float)
+0:52 'f3' (temp 3-component vector of float)
+0:52 add (temp 3-component vector of float)
+0:52 Convert int to float (temp 3-component vector of float)
+0:52 'i3' (temp 3-component vector of int)
+0:52 Convert bool to float (temp 3-component vector of float)
+0:52 'b3' (temp 3-component vector of bool)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'f4' (temp 4-component vector of float)
+0:53 add (temp 4-component vector of float)
+0:53 Convert int to float (temp 4-component vector of float)
+0:53 'i4' (temp 4-component vector of int)
+0:53 Convert bool to float (temp 4-component vector of float)
+0:53 'b4' (temp 4-component vector of bool)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'f4' (temp 4-component vector of float)
+0:55 Convert bool to float (temp 4-component vector of float)
+0:55 Convert int to bool (temp 4-component vector of bool)
+0:55 'i_i4' (flat in 4-component vector of int)
+0:56 add second child into first child (temp 4-component vector of float)
+0:56 'f4' (temp 4-component vector of float)
+0:56 Convert bool to float (temp 4-component vector of float)
+0:56 Convert float to bool (temp 4-component vector of bool)
+0:56 'u_f4' (uniform 4-component vector of float)
+0:58 add second child into first child (temp float)
+0:58 'f' (temp float)
+0:58 subtract (temp float)
+0:58 'f' (temp float)
+0:58 Convert int to float (temp float)
+0:58 'i' (temp int)
+0:59 add second child into first child (temp 2-component vector of float)
+0:59 'f2' (temp 2-component vector of float)
+0:59 add (temp 2-component vector of float)
+0:59 Construct vec2 (temp 2-component vector of float)
+0:59 'f' (temp float)
+0:59 Convert int to float (temp float)
+0:59 'i' (temp int)
+0:59 Convert int to float (temp 2-component vector of float)
+0:59 'i2' (temp 2-component vector of int)
+0:60 add second child into first child (temp 3-component vector of float)
+0:60 'f3' (temp 3-component vector of float)
+0:60 add (temp 3-component vector of float)
+0:60 Convert int to float (temp 3-component vector of float)
+0:60 'i3' (temp 3-component vector of int)
+0:60 Construct vec3 (temp 3-component vector of float)
+0:60 'f' (temp float)
+0:60 Convert int to float (temp float)
+0:60 'i' (temp int)
+0:60 'f' (temp float)
+0:61 add second child into first child (temp 4-component vector of float)
+0:61 'f4' (temp 4-component vector of float)
+0:61 add (temp 4-component vector of float)
+0:61 Construct vec4 (temp 4-component vector of float)
+0:61 Convert bool to float (temp float)
+0:61 'b' (temp bool)
+0:61 Convert int to float (temp float)
+0:61 'i' (temp int)
+0:61 'f' (temp float)
+0:61 Convert int to float (temp float)
+0:61 'i' (temp int)
+0:61 Convert int to float (temp 4-component vector of float)
+0:61 'i4' (temp 4-component vector of int)
+0:63 add second child into first child (temp 2-component vector of float)
+0:63 'f2' (temp 2-component vector of float)
+0:63 vector-scale (temp 2-component vector of float)
+0:63 Construct vec2 (temp 2-component vector of float)
+0:63 'f' (temp float)
+0:63 Convert int to float (temp float)
+0:63 'i' (temp int)
+0:63 Convert int to float (temp float)
+0:63 'i' (temp int)
+0:64 add second child into first child (temp 3-component vector of float)
+0:64 'f3' (temp 3-component vector of float)
+0:64 add (temp 3-component vector of float)
+0:64 Construct vec3 (temp 3-component vector of float)
+0:64 'f' (temp float)
+0:64 Convert int to float (temp float)
+0:64 'i' (temp int)
+0:64 'f' (temp float)
+0:64 Convert int to float (temp float)
+0:64 'i' (temp int)
+0:65 add second child into first child (temp 4-component vector of float)
+0:65 'f4' (temp 4-component vector of float)
+0:65 subtract (temp 4-component vector of float)
+0:65 Convert int to float (temp float)
+0:65 'i' (temp int)
+0:65 Construct vec4 (temp 4-component vector of float)
+0:65 Convert bool to float (temp float)
+0:65 'b' (temp bool)
+0:65 Convert int to float (temp float)
+0:65 'i' (temp int)
+0:65 'f' (temp float)
+0:65 Convert int to float (temp float)
+0:65 'i' (temp int)
+0:67 add second child into first child (temp 2-component vector of int)
+0:67 'i2' (temp 2-component vector of int)
+0:67 Construct ivec2 (temp 2-component vector of int)
+0:67 Convert float to int (temp int)
+0:67 'f' (temp float)
+0:67 'i' (temp int)
+0:68 add second child into first child (temp 3-component vector of int)
+0:68 'i3' (temp 3-component vector of int)
+0:68 Construct ivec3 (temp 3-component vector of int)
+0:68 Convert float to int (temp int)
+0:68 'f' (temp float)
+0:68 'i' (temp int)
+0:68 Convert float to int (temp int)
+0:68 'f' (temp float)
+0:69 add second child into first child (temp 4-component vector of int)
+0:69 'i4' (temp 4-component vector of int)
+0:69 Construct ivec4 (temp 4-component vector of int)
+0:69 Convert bool to int (temp int)
+0:69 'b' (temp bool)
+0:69 'i' (temp int)
+0:69 Convert float to int (temp int)
+0:69 'f' (temp float)
+0:69 'i' (temp int)
+0:71 Test condition and select (temp void)
+0:71 Condition
+0:72 logical-or (temp bool)
+0:71 logical-or (temp bool)
+0:71 logical-or (temp bool)
+0:71 Compare Less Than (temp bool)
+0:71 'f' (temp float)
+0:71 Convert int to float (temp float)
+0:71 'i' (temp int)
+0:71 Compare Less Than (temp bool)
+0:71 Convert int to float (temp float)
+0:71 'i' (temp int)
+0:71 'f' (temp float)
+0:72 Compare Equal (temp bool)
+0:72 'f2' (temp 2-component vector of float)
+0:72 Convert int to float (temp 2-component vector of float)
+0:72 'i2' (temp 2-component vector of int)
+0:73 Compare Not Equal (temp bool)
+0:73 Convert int to float (temp 3-component vector of float)
+0:73 'i3' (temp 3-component vector of int)
+0:73 'f3' (temp 3-component vector of float)
+0:71 true case
+0:74 move second child to first child (temp float)
+0:74 'f' (temp float)
+0:74 add (temp float)
+0:74 Test condition and select (temp float)
+0:74 Condition
+0:74 'b' (temp bool)
+0:74 true case
+0:74 Convert int to float (temp float)
+0:74 'i' (temp int)
+0:74 false case
+0:74 direct index (temp float)
+0:74 'f2' (temp 2-component vector of float)
+0:74 Constant:
+0:74 0 (const int)
+0:74 Test condition and select (temp float)
+0:74 Condition
+0:74 direct index (temp bool)
+0:74 'b2' (temp 2-component vector of bool)
+0:74 Constant:
+0:74 0 (const int)
+0:74 true case
+0:74 direct index (temp float)
+0:74 'f3' (temp 3-component vector of float)
+0:74 Constant:
+0:74 0 (const int)
+0:74 false case
+0:74 Convert int to float (temp float)
+0:74 direct index (temp int)
+0:74 'i2' (temp 2-component vector of int)
+0:74 Constant:
+0:74 1 (const int)
+0:76 move second child to first child (temp 4-component vector of float)
+0:76 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:86 Test condition and select (temp 4-component vector of float)
+0:86 Condition
+0:85 logical-or (temp bool)
+0:84 logical-or (temp bool)
+0:83 logical-or (temp bool)
+0:82 logical-or (temp bool)
+0:81 logical-or (temp bool)
+0:80 logical-or (temp bool)
+0:79 logical-or (temp bool)
+0:78 logical-or (temp bool)
+0:77 logical-or (temp bool)
+0:77 'b' (temp bool)
+0:78 direct index (temp bool)
+0:78 'b2' (temp 2-component vector of bool)
+0:78 Constant:
+0:78 0 (const int)
+0:79 direct index (temp bool)
+0:79 'b2' (temp 2-component vector of bool)
+0:79 Constant:
+0:79 1 (const int)
+0:80 direct index (temp bool)
+0:80 'b3' (temp 3-component vector of bool)
+0:80 Constant:
+0:80 0 (const int)
+0:81 direct index (temp bool)
+0:81 'b3' (temp 3-component vector of bool)
+0:81 Constant:
+0:81 1 (const int)
+0:82 direct index (temp bool)
+0:82 'b3' (temp 3-component vector of bool)
+0:82 Constant:
+0:82 2 (const int)
+0:83 direct index (temp bool)
+0:83 'b4' (temp 4-component vector of bool)
+0:83 Constant:
+0:83 0 (const int)
+0:84 direct index (temp bool)
+0:84 'b4' (temp 4-component vector of bool)
+0:84 Constant:
+0:84 1 (const int)
+0:85 direct index (temp bool)
+0:85 'b4' (temp 4-component vector of bool)
+0:85 Constant:
+0:85 2 (const int)
+0:86 direct index (temp bool)
+0:86 'b4' (temp 4-component vector of bool)
+0:86 Constant:
+0:86 3 (const int)
+0:86 true case
+0:105 Construct vec4 (temp 4-component vector of float)
+0:105 add (temp float)
+0:104 add (temp float)
+0:103 add (temp float)
+0:102 add (temp float)
+0:101 add (temp float)
+0:100 add (temp float)
+0:99 add (temp float)
+0:98 add (temp float)
+0:97 add (temp float)
+0:96 add (temp float)
+0:95 Convert int to float (temp float)
+0:95 add (temp int)
+0:94 add (temp int)
+0:93 add (temp int)
+0:92 add (temp int)
+0:91 add (temp int)
+0:90 add (temp int)
+0:89 add (temp int)
+0:88 add (temp int)
+0:87 add (temp int)
+0:87 'i' (temp int)
+0:88 direct index (temp int)
+0:88 'i2' (temp 2-component vector of int)
+0:88 Constant:
+0:88 0 (const int)
+0:89 direct index (temp int)
+0:89 'i2' (temp 2-component vector of int)
+0:89 Constant:
+0:89 1 (const int)
+0:90 direct index (temp int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 Constant:
+0:90 0 (const int)
+0:91 direct index (temp int)
+0:91 'i3' (temp 3-component vector of int)
+0:91 Constant:
+0:91 1 (const int)
+0:92 direct index (temp int)
+0:92 'i3' (temp 3-component vector of int)
+0:92 Constant:
+0:92 2 (const int)
+0:93 direct index (temp int)
+0:93 'i4' (temp 4-component vector of int)
+0:93 Constant:
+0:93 0 (const int)
+0:94 direct index (temp int)
+0:94 'i4' (temp 4-component vector of int)
+0:94 Constant:
+0:94 1 (const int)
+0:95 direct index (temp int)
+0:95 'i4' (temp 4-component vector of int)
+0:95 Constant:
+0:95 2 (const int)
+0:96 direct index (temp int)
+0:96 'i4' (temp 4-component vector of int)
+0:96 Constant:
+0:96 3 (const int)
+0:97 'f' (temp float)
+0:98 direct index (temp float)
+0:98 'f2' (temp 2-component vector of float)
+0:98 Constant:
+0:98 0 (const int)
+0:99 direct index (temp float)
+0:99 'f2' (temp 2-component vector of float)
+0:99 Constant:
+0:99 1 (const int)
+0:100 direct index (temp float)
+0:100 'f3' (temp 3-component vector of float)
+0:100 Constant:
+0:100 0 (const int)
+0:101 direct index (temp float)
+0:101 'f3' (temp 3-component vector of float)
+0:101 Constant:
+0:101 1 (const int)
+0:102 direct index (temp float)
+0:102 'f3' (temp 3-component vector of float)
+0:102 Constant:
+0:102 2 (const int)
+0:103 direct index (temp float)
+0:103 'f4' (temp 4-component vector of float)
+0:103 Constant:
+0:103 0 (const int)
+0:104 direct index (temp float)
+0:104 'f4' (temp 4-component vector of float)
+0:104 Constant:
+0:104 1 (const int)
+0:105 direct index (temp float)
+0:105 'f4' (temp 4-component vector of float)
+0:105 Constant:
+0:105 2 (const int)
+0:106 direct index (temp float)
+0:106 'f4' (temp 4-component vector of float)
+0:106 Constant:
+0:106 3 (const int)
+0:86 false case
+0:106 Constant:
+0:106 1.000000
+0:106 1.000000
+0:106 1.000000
+0:106 1.000000
+0:109 Sequence
+0:109 move second child to first child (temp 4-component vector of int)
+0:109 'cv2' (temp 4-component vector of int)
+0:109 Constant:
+0:109 1 (const int)
+0:109 1 (const int)
+0:109 1 (const int)
+0:109 1 (const int)
+0:110 Sequence
+0:110 move second child to first child (temp 4-component vector of bool)
+0:110 'cv5' (temp 4-component vector of bool)
+0:110 Convert int to bool (temp 4-component vector of bool)
+0:110 'cv2' (temp 4-component vector of int)
+0:111 add second child into first child (temp 4-component vector of float)
+0:111 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:111 Construct float (temp float)
+0:111 Convert bool to float (temp 4-component vector of float)
+0:111 'cv5' (temp 4-component vector of bool)
+0:? Linker Objects
+0:? 'u_b' (uniform bool)
+0:? 'u_b2' (uniform 2-component vector of bool)
+0:? 'u_b3' (uniform 3-component vector of bool)
+0:? 'u_b4' (uniform 4-component vector of bool)
+0:? 'u_i' (uniform int)
+0:? 'u_i2' (uniform 2-component vector of int)
+0:? 'u_i3' (uniform 3-component vector of int)
+0:? 'u_i4' (uniform 4-component vector of int)
+0:? 'u_f' (uniform float)
+0:? 'u_f2' (uniform 2-component vector of float)
+0:? 'u_f3' (uniform 3-component vector of float)
+0:? 'u_f4' (uniform 4-component vector of float)
+0:? 'i_b' (uniform bool)
+0:? 'i_b2' (uniform 2-component vector of bool)
+0:? 'i_b3' (uniform 3-component vector of bool)
+0:? 'i_b4' (uniform 4-component vector of bool)
+0:? 'i_i' (flat in int)
+0:? 'i_i2' (flat in 2-component vector of int)
+0:? 'i_i3' (flat in 3-component vector of int)
+0:? 'i_i4' (flat in 4-component vector of int)
+0:? 'i_f' (smooth in float)
+0:? 'i_f2' (smooth in 2-component vector of float)
+0:? 'i_f3' (smooth in 3-component vector of float)
+0:? 'i_f4' (smooth in 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/cppComplexExpr.vert.out b/chromium/third_party/glslang/src/Test/baseResults/cppComplexExpr.vert.out
new file mode 100644
index 00000000000..aa73a069d38
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/cppComplexExpr.vert.out
@@ -0,0 +1,200 @@
+cppComplexExpr.vert
+ERROR: 0:46: 'xyxwx' : illegal vector field selection
+ERROR: 0:46: 'xyxwx' : illegal vector field selection
+ERROR: 0:66: '#define' : Macro redefined; different substitutions: BIG
+ERROR: 0:81: 'preprocessor evaluation' : bad expression
+ERROR: 0:81: '#if' : unexpected tokens following directive
+ERROR: 0:82: '#error' : good macro
+ERROR: 0:87: 'macro expansion' : End of line in macro substitution: foobar
+ERROR: 0:88: 'preprocessor evaluation' : can't evaluate expression
+ERROR: 0:88: 'preprocessor evaluation' : bad expression
+ERROR: 0:88: '#if' : unexpected tokens following directive
+ERROR: 0:92: 'macro expansion' : End of line in macro substitution: foobar
+ERROR: 0:93: 'preprocessor evaluation' : can't evaluate expression
+ERROR: 0:93: 'preprocessor evaluation' : bad expression
+ERROR: 0:93: '#if' : unexpected tokens following directive
+ERROR: 0:99: 'macro expansion' : End of line in macro substitution: foobar
+ERROR: 0:100: 'preprocessor evaluation' : can't evaluate expression
+ERROR: 0:100: 'preprocessor evaluation' : bad expression
+ERROR: 0:100: '#if' : unexpected tokens following directive
+ERROR: 0:101: 'macro expansion' : End of line in macro substitution: foobar
+ERROR: 0:102: 'preprocessor evaluation' : can't evaluate expression
+ERROR: 0:102: 'preprocessor evaluation' : bad expression
+ERROR: 0:102: '#if' : unexpected tokens following directive
+ERROR: 0:108: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
+ERROR: 0:111: '#error' : good 0
+ERROR: 0:115: '#error' : good 1
+ERROR: 0:120: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
+ERROR: 0:123: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
+ERROR: 0:129: '#error' : good 1
+ERROR: 0:133: '#error' : good 3
+ERROR: 0:139: '#error' : good 4
+ERROR: 0:144: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
+ERROR: 0:153: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
+ERROR: 0:156: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF2
+ERROR: 0:159: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF2
+ERROR: 0:3000: '#error' : line of this error should be 3000
+ERROR: 0:3002: '#define' : predefined names can't be (un)defined: __LINE__
+ERROR: 0:3003: '#define' : predefined names can't be (un)defined: __FILE__
+ERROR: 0:3004: '#define' : predefined names can't be (un)defined: __VERSION__
+ERROR: 0:3005: '#define' : names beginning with "GL_" can't be (un)defined: GL_SOME_EXTENSION
+ERROR: 0:3006: '#undef' : predefined names can't be (un)defined: __LINE__
+ERROR: 0:3007: '#undef' : predefined names can't be (un)defined: __FILE__
+ERROR: 0:3008: '#undef' : predefined names can't be (un)defined: __VERSION__
+ERROR: 0:3009: '#undef' : names beginning with "GL_" can't be (un)defined: GL_SOME_EXTENSION
+ERROR: 0:4000: 'preprocessor evaluation' : division by 0
+ERROR: 0:0: 'preprocessor evaluation' : division by 0
+ERROR: 0:3: 'preprocessor evaluation' : bad expression
+ERROR: 0:3: 'preprocessor evaluation' : division by 0
+ERROR: 0:10001: '' : missing #endif
+ERROR: 48 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:4 Sequence
+0:4 move second child to first child (temp highp float)
+0:4 'sum' (global highp float)
+0:4 Constant:
+0:4 0.000000
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:10 Sequence
+0:10 add second child into first child (temp highp float)
+0:10 'sum' (global highp float)
+0:10 Constant:
+0:10 1.000000
+0:15 add second child into first child (temp highp float)
+0:15 'sum' (global highp float)
+0:15 Constant:
+0:15 20.000000
+0:30 add second child into first child (temp highp float)
+0:30 'sum' (global highp float)
+0:30 Constant:
+0:30 300.000000
+0:39 move second child to first child (temp highp 4-component vector of float)
+0:39 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:39 Construct vec4 (temp highp 4-component vector of float)
+0:39 'sum' (global highp float)
+0:44 Function Definition: foo( (global highp float)
+0:44 Function Parameters:
+0:46 Sequence
+0:46 Branch: Return with expression
+0:46 add (temp highp float)
+0:46 add (temp highp float)
+0:46 direct index (temp highp float)
+0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 3.000000
+0:46 add (temp highp float)
+0:46 direct index (temp highp float)
+0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 3.000000
+0:47 Branch: Return with expression
+0:47 add (temp highp float)
+0:47 add (temp highp float)
+0:47 direct index (temp highp float)
+0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:47 Constant:
+0:47 1 (const int)
+0:47 Constant:
+0:47 3.000000
+0:47 add (temp highp float)
+0:47 direct index (temp highp float)
+0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:47 Constant:
+0:47 1 (const int)
+0:47 Constant:
+0:47 3.000000
+0:97 Sequence
+0:97 move second child to first child (temp highp float)
+0:97 'c' (global highp float)
+0:98 Constant:
+0:98 3.300000
+0:? Linker Objects
+0:? 'sum' (global highp float)
+0:? 'c' (global highp float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:4 Sequence
+0:4 move second child to first child (temp highp float)
+0:4 'sum' (global highp float)
+0:4 Constant:
+0:4 0.000000
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:10 Sequence
+0:10 add second child into first child (temp highp float)
+0:10 'sum' (global highp float)
+0:10 Constant:
+0:10 1.000000
+0:15 add second child into first child (temp highp float)
+0:15 'sum' (global highp float)
+0:15 Constant:
+0:15 20.000000
+0:30 add second child into first child (temp highp float)
+0:30 'sum' (global highp float)
+0:30 Constant:
+0:30 300.000000
+0:39 move second child to first child (temp highp 4-component vector of float)
+0:39 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:39 Construct vec4 (temp highp 4-component vector of float)
+0:39 'sum' (global highp float)
+0:44 Function Definition: foo( (global highp float)
+0:44 Function Parameters:
+0:46 Sequence
+0:46 Branch: Return with expression
+0:46 add (temp highp float)
+0:46 add (temp highp float)
+0:46 direct index (temp highp float)
+0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 3.000000
+0:46 add (temp highp float)
+0:46 direct index (temp highp float)
+0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 3.000000
+0:47 Branch: Return with expression
+0:47 add (temp highp float)
+0:47 add (temp highp float)
+0:47 direct index (temp highp float)
+0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:47 Constant:
+0:47 1 (const int)
+0:47 Constant:
+0:47 3.000000
+0:47 add (temp highp float)
+0:47 direct index (temp highp float)
+0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:47 Constant:
+0:47 1 (const int)
+0:47 Constant:
+0:47 3.000000
+0:97 Sequence
+0:97 move second child to first child (temp highp float)
+0:97 'c' (global highp float)
+0:98 Constant:
+0:98 3.300000
+0:? Linker Objects
+0:? 'sum' (global highp float)
+0:? 'c' (global highp float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/cppIndent.vert.out b/chromium/third_party/glslang/src/Test/baseResults/cppIndent.vert.out
new file mode 100644
index 00000000000..318ca815d4d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/cppIndent.vert.out
@@ -0,0 +1,84 @@
+cppIndent.vert
+ERROR: 0:61: 'macro expansion' : Too few args in Macro FUNC
+ERROR: 0:61: '' : syntax error
+ERROR: 2 compilation errors. No code generated.
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp float)
+0:5 'sum' (global float)
+0:5 Constant:
+0:5 0.000000
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:12 Sequence
+0:12 add second child into first child (temp float)
+0:12 'sum' (global float)
+0:12 Constant:
+0:12 1.000000
+0:22 add second child into first child (temp float)
+0:22 'sum' (global float)
+0:22 Constant:
+0:22 300.000000
+0:37 add second child into first child (temp float)
+0:37 'sum' (global float)
+0:37 Constant:
+0:37 600000.000000
+0:47 add second child into first child (temp float)
+0:47 'sum' (global float)
+0:47 Constant:
+0:47 80000000.000000
+0:52 add second child into first child (temp float)
+0:52 'sum' (global float)
+0:52 Constant:
+0:52 900000000.000000
+0:56 move second child to first child (temp 4-component vector of float)
+0:56 'gl_Position' (gl_Position 4-component vector of float Position)
+0:56 Construct vec4 (temp 4-component vector of float)
+0:56 'sum' (global float)
+0:? Linker Objects
+0:? 'sum' (global float)
+
+
+Linked vertex stage:
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp float)
+0:5 'sum' (global float)
+0:5 Constant:
+0:5 0.000000
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:12 Sequence
+0:12 add second child into first child (temp float)
+0:12 'sum' (global float)
+0:12 Constant:
+0:12 1.000000
+0:22 add second child into first child (temp float)
+0:22 'sum' (global float)
+0:22 Constant:
+0:22 300.000000
+0:37 add second child into first child (temp float)
+0:37 'sum' (global float)
+0:37 Constant:
+0:37 600000.000000
+0:47 add second child into first child (temp float)
+0:47 'sum' (global float)
+0:47 Constant:
+0:47 80000000.000000
+0:52 add second child into first child (temp float)
+0:52 'sum' (global float)
+0:52 Constant:
+0:52 900000000.000000
+0:56 move second child to first child (temp 4-component vector of float)
+0:56 'gl_Position' (gl_Position 4-component vector of float Position)
+0:56 Construct vec4 (temp 4-component vector of float)
+0:56 'sum' (global float)
+0:? Linker Objects
+0:? 'sum' (global float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/cppNest.vert.out b/chromium/third_party/glslang/src/Test/baseResults/cppNest.vert.out
new file mode 100644
index 00000000000..4f95f5a2acf
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/cppNest.vert.out
@@ -0,0 +1,154 @@
+cppNest.vert
+ERROR: 0:144: '#elif' : #elif after #else
+ERROR: 0:152: '#else' : #else after #else
+ERROR: 0:161: '#elif' : #elif after #else
+ERROR: 0:169: '#else' : #else after #else
+ERROR: 0:177: 'macro expansion' : End of input in macro FUNC
+ERROR: 0:178: '' : syntax error
+ERROR: 6 compilation errors. No code generated.
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp float)
+0:5 'sum' (global float)
+0:5 Constant:
+0:5 0.000000
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:12 Sequence
+0:12 add second child into first child (temp float)
+0:12 'sum' (global float)
+0:12 Constant:
+0:12 1.000000
+0:21 add second child into first child (temp float)
+0:21 'sum' (global float)
+0:21 Constant:
+0:21 300.000000
+0:61 add second child into first child (temp float)
+0:61 'sum' (global float)
+0:61 Constant:
+0:61 600000.000000
+0:65 add second child into first child (temp float)
+0:65 'sum' (global float)
+0:65 Constant:
+0:65 80000000.000000
+0:69 add second child into first child (temp float)
+0:69 'sum' (global float)
+0:69 Constant:
+0:69 900000000.000000
+0:76 add second child into first child (temp float)
+0:76 'sum' (global float)
+0:76 Constant:
+0:76 7000000.000000
+0:86 move second child to first child (temp 4-component vector of float)
+0:86 'gl_Position' (gl_Position 4-component vector of float Position)
+0:86 Construct vec4 (temp 4-component vector of float)
+0:86 'sum' (global float)
+0:103 Sequence
+0:103 move second child to first child (temp int)
+0:103 'selected4' (global int)
+0:103 Constant:
+0:103 4 (const int)
+0:115 Sequence
+0:115 move second child to first child (temp int)
+0:115 'selected2' (global int)
+0:115 Constant:
+0:115 2 (const int)
+0:133 Sequence
+0:133 move second child to first child (temp int)
+0:133 'selected3' (global int)
+0:133 Constant:
+0:133 3 (const int)
+0:175 Function Definition: foo985( (global void)
+0:175 Function Parameters:
+0:175 Sequence
+0:175 add (temp int)
+0:175 Constant:
+0:175 2 (const int)
+0:175 Comma (temp int)
+0:175 Constant:
+0:175 3 (const int)
+0:175 Constant:
+0:175 4 (const int)
+0:? Linker Objects
+0:? 'sum' (global float)
+0:? 'selected4' (global int)
+0:? 'selected2' (global int)
+0:? 'selected3' (global int)
+
+
+Linked vertex stage:
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp float)
+0:5 'sum' (global float)
+0:5 Constant:
+0:5 0.000000
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:12 Sequence
+0:12 add second child into first child (temp float)
+0:12 'sum' (global float)
+0:12 Constant:
+0:12 1.000000
+0:21 add second child into first child (temp float)
+0:21 'sum' (global float)
+0:21 Constant:
+0:21 300.000000
+0:61 add second child into first child (temp float)
+0:61 'sum' (global float)
+0:61 Constant:
+0:61 600000.000000
+0:65 add second child into first child (temp float)
+0:65 'sum' (global float)
+0:65 Constant:
+0:65 80000000.000000
+0:69 add second child into first child (temp float)
+0:69 'sum' (global float)
+0:69 Constant:
+0:69 900000000.000000
+0:76 add second child into first child (temp float)
+0:76 'sum' (global float)
+0:76 Constant:
+0:76 7000000.000000
+0:86 move second child to first child (temp 4-component vector of float)
+0:86 'gl_Position' (gl_Position 4-component vector of float Position)
+0:86 Construct vec4 (temp 4-component vector of float)
+0:86 'sum' (global float)
+0:103 Sequence
+0:103 move second child to first child (temp int)
+0:103 'selected4' (global int)
+0:103 Constant:
+0:103 4 (const int)
+0:115 Sequence
+0:115 move second child to first child (temp int)
+0:115 'selected2' (global int)
+0:115 Constant:
+0:115 2 (const int)
+0:133 Sequence
+0:133 move second child to first child (temp int)
+0:133 'selected3' (global int)
+0:133 Constant:
+0:133 3 (const int)
+0:175 Function Definition: foo985( (global void)
+0:175 Function Parameters:
+0:175 Sequence
+0:175 add (temp int)
+0:175 Constant:
+0:175 2 (const int)
+0:175 Comma (temp int)
+0:175 Constant:
+0:175 3 (const int)
+0:175 Constant:
+0:175 4 (const int)
+0:? Linker Objects
+0:? 'sum' (global float)
+0:? 'selected4' (global int)
+0:? 'selected2' (global int)
+0:? 'selected3' (global int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/cppSimple.vert.out b/chromium/third_party/glslang/src/Test/baseResults/cppSimple.vert.out
new file mode 100644
index 00000000000..366770d13d7
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/cppSimple.vert.out
@@ -0,0 +1,317 @@
+cppSimple.vert
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:77: '#error' : good1
+ERROR: 0:81: '#error' : good2
+ERROR: 0:85: '#error' : good3
+ERROR: 0:89: '#error' : good4
+ERROR: 0:93: '#error' : good5
+ERROR: 0:97: '#error' : good6
+ERROR: 0:100: 'preprocessor evaluation' : expected ')'
+ERROR: 0:101: '#error' : bad1
+ERROR: 0:104: '#if' : unexpected tokens following directive
+ERROR: 0:105: '#error' : bad2
+ERROR: 0:108: 'preprocessor evaluation' : expected ')'
+ERROR: 0:109: '#error' : bad3
+ERROR: 0:112: '#if' : unexpected tokens following directive
+ERROR: 0:113: '#error' : bad4
+ERROR: 0:116: 'preprocessor evaluation' : expected ')'
+ERROR: 0:117: '#error' : bad5
+ERROR: 0:120: '#if' : unexpected tokens following directive
+ERROR: 0:121: '#error' : bad6
+ERROR: 0:122: '#endif' : unexpected tokens following directive
+ERROR: 0:135: '""' : string literals not supported
+ERROR: 0:136: '""' : string literals not supported
+ERROR: 0:136: 'length' : no matching overloaded function found
+ERROR: 0:136: '=' : cannot convert from 'const float' to 'global int'
+ERROR: 0:138: ''' : character literals not supported
+ERROR: 0:138: ''' : character literals not supported
+ERROR: 0:141: '#define' : names beginning with "GL_" can't be (un)defined: GL_
+ERROR: 0:142: '#define' : names beginning with "GL_" can't be (un)defined: GL_Macro
+WARNING: 0:143: '#define' : names containing consecutive underscores are reserved: __M
+WARNING: 0:144: '#define' : names containing consecutive underscores are reserved: M__
+WARNING: 0:145: '#define' : names containing consecutive underscores are reserved: ABC__DE
+ERROR: 0:148: '#else' : unexpected tokens following directive
+ERROR: 0:149: '#elif' : #elif after #else
+ERROR: 0:155: '#else' : unexpected tokens following directive
+ERROR: 0:158: '#else' : #else after #else
+ERROR: 0:160: '#endif' : unexpected tokens following directive
+ERROR: 0:164: '#define' : duplicate macro parameter
+ERROR: 0:173: '#define' : Macro redefined; different number of arguments: m4
+ERROR: 0:178: '#define' : Macro redefined; different number of arguments: m5
+ERROR: 0:182: '#define' : Macro redefined; different number of arguments: m6
+ERROR: 0:185: '#define' : Macro redefined; different substitutions: m7
+ERROR: 0:192: '#define' : Macro redefined; different substitutions: m8
+ERROR: 0:196: '#define' : Macro redefined; different argument names: m9
+WARNING: 0:204: '#undef' : names containing consecutive underscores are reserved: __VERSION__
+ERROR: 0:205: '#undef' : names beginning with "GL_" can't be (un)defined: GL_ARB_texture_rectangle
+ERROR: 0:210: '#' : invalid directive
+ERROR: 0:211: '#' : invalid directive
+ERROR: 0:212: '#' : invalid directive
+ERROR: 0:213: '#' : invalid directive
+ERROR: 0:214: '#' : invalid directive
+ERROR: 0:215: '#' : invalid directive
+ERROR: 0:224: '#pragma' : optimize pragma syntax is incorrect
+ERROR: 0:225: '#pragma' : optimize pragma syntax is incorrect
+ERROR: 0:226: '#pragma' : debug pragma syntax is incorrect
+ERROR: 0:227: '#pragma' : debug pragma syntax is incorrect
+ERROR: 0:229: '#pragma' : optimize pragma syntax is incorrect
+ERROR: 0:230: '#pragma' : debug pragma syntax is incorrect
+ERROR: 0:233: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:235: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:236: '#error' : good continuation
+ERROR: 0:238: '#' : invalid directive: flizbit
+ERROR: 0:242: '#' : invalid directive: directive
+ERROR: 0:12000: '#error' : line should be 12000
+ERROR: 7:13000: '#error' : line should be 13000 , string 7
+ERROR: 7:14013: '#error' : line should be 14013 , string 7
+ERROR: 12:14013: '#error' : line should be 14013 , string 12
+ERROR: 12:14025: '#error' : line should be 14025 , string 12
+ERROR: 12:1233: '#line' : unexpected tokens following directive
+ERROR: 12:1236: '#line' : unexpected tokens following directive
+ERROR: 12:20000: '#error' : line should be 20000
+ERROR: 12:20010: '#error' : line should be 20010
+ERROR: 12:20020: '#error' : line should be 20020
+ERROR: 12:20045: '#define' : Macro redefined; different substitutions: SPACE_IN_MIDDLE
+ERROR: 12:20051: '#error' : good evaluation 1
+ERROR: 12:20055: '#error' : good evaluation 2
+ERROR: 12:9000: 'preprocessor evaluation' : expected ')'
+ERROR: 12:9002: '#if' : unexpected tokens following directive
+ERROR: 12:9014: 'macro expansion' : expected '(' following FOOOM
+ERROR: 12:9014: 'FOOOM' : undeclared identifier
+ERROR: 12:9014: '=' : cannot convert from 'temp float' to 'global int'
+ERROR: 12:9015: 'macro expansion' : expected '(' following FOOOM
+ERROR: 12:9016: 'preprocessor evaluation' : can't evaluate expression
+ERROR: 12:9016: 'preprocessor evaluation' : bad expression
+ERROR: 12:9500: 'preprocessor evaluation' : bad expression
+ERROR: 12:9500: '#if' : unexpected tokens following directive
+ERROR: 12:9502: 'preprocessor evaluation' : bad expression
+ERROR: 12:9502: '#if' : unexpected tokens following directive
+ERROR: 12:9504: 'preprocessor evaluation' : bad expression
+ERROR: 12:9504: '#if' : unexpected tokens following directive
+ERROR: 12:9506: '#error' : \ 377
+ERROR: 12:9507: '#error' : \ 376
+ERROR: 12:9508: '#error' : \ 377
+ERROR: 12:10002: '' : missing #endif
+ERROR: 88 compilation errors. No code generated.
+
+
+Shader version: 400
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp float)
+0:5 'sum' (global float)
+0:5 Constant:
+0:5 0.000000
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:12 Sequence
+0:12 add second child into first child (temp float)
+0:12 'sum' (global float)
+0:12 Constant:
+0:12 1.000000
+0:22 add second child into first child (temp float)
+0:22 'sum' (global float)
+0:22 Constant:
+0:22 300.000000
+0:37 add second child into first child (temp float)
+0:37 'sum' (global float)
+0:37 Constant:
+0:37 600000.000000
+0:48 add second child into first child (temp float)
+0:48 'sum' (global float)
+0:48 Constant:
+0:48 7000000.000000
+0:53 add second child into first child (temp float)
+0:53 'sum' (global float)
+0:53 Constant:
+0:53 80000000.000000
+0:58 add second child into first child (temp float)
+0:58 'sum' (global float)
+0:58 Constant:
+0:58 900000000.000000
+0:65 add second child into first child (temp float)
+0:65 'sum' (global float)
+0:65 Constant:
+0:65 0.050000
+0:69 move second child to first child (temp 4-component vector of float)
+0:69 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:69 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:69 Constant:
+0:69 0 (const uint)
+0:69 Construct vec4 (temp 4-component vector of float)
+0:69 'sum' (global float)
+0:124 Sequence
+0:124 move second child to first child (temp int)
+0:124 'linenumber' (global int)
+0:124 Constant:
+0:124 124 (const int)
+0:125 Sequence
+0:125 move second child to first child (temp int)
+0:125 'filenumber' (global int)
+0:125 Constant:
+0:125 0 (const int)
+0:126 Sequence
+0:126 move second child to first child (temp int)
+0:126 'version' (global int)
+0:126 Constant:
+0:126 400 (const int)
+0:130 Sequence
+0:130 move second child to first child (temp float)
+0:130 'twoPi' (global float)
+0:130 Constant:
+0:130 6.280000
+0:199 Sequence
+0:199 move second child to first child (temp int)
+0:199 'n' (global int)
+0:199 Constant:
+0:199 15 (const int)
+0:202 Sequence
+0:202 move second child to first child (temp double)
+0:202 'f' (global double)
+0:202 Constant:
+0:202 0.000800
+12:20031 Function Definition: foo234( (global void)
+12:20031 Function Parameters:
+12:20033 Sequence
+12:20033 move second child to first child (temp 4-component vector of float)
+12:20033 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+12:20033 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+12:20033 Constant:
+12:20033 0 (const uint)
+12:20033 Constant:
+12:20033 6.000000
+12:20033 6.000000
+12:20033 6.000000
+12:20033 6.000000
+12:9011 Sequence
+12:9011 move second child to first child (temp int)
+12:9011 'R1' (global int)
+12:9011 'RECURSE' (global int)
+0:? Linker Objects
+0:? 'sum' (global float)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'linenumber' (global int)
+0:? 'filenumber' (global int)
+0:? 'version' (global int)
+0:? 'twoPi' (global float)
+0:? 'a' (global int)
+0:? 'n' (global int)
+0:? 'f' (global double)
+0:? 'RECURSE' (global int)
+0:? 'R1' (global int)
+0:? 'aoeua' (global int)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 400
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp float)
+0:5 'sum' (global float)
+0:5 Constant:
+0:5 0.000000
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:12 Sequence
+0:12 add second child into first child (temp float)
+0:12 'sum' (global float)
+0:12 Constant:
+0:12 1.000000
+0:22 add second child into first child (temp float)
+0:22 'sum' (global float)
+0:22 Constant:
+0:22 300.000000
+0:37 add second child into first child (temp float)
+0:37 'sum' (global float)
+0:37 Constant:
+0:37 600000.000000
+0:48 add second child into first child (temp float)
+0:48 'sum' (global float)
+0:48 Constant:
+0:48 7000000.000000
+0:53 add second child into first child (temp float)
+0:53 'sum' (global float)
+0:53 Constant:
+0:53 80000000.000000
+0:58 add second child into first child (temp float)
+0:58 'sum' (global float)
+0:58 Constant:
+0:58 900000000.000000
+0:65 add second child into first child (temp float)
+0:65 'sum' (global float)
+0:65 Constant:
+0:65 0.050000
+0:69 move second child to first child (temp 4-component vector of float)
+0:69 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:69 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:69 Constant:
+0:69 0 (const uint)
+0:69 Construct vec4 (temp 4-component vector of float)
+0:69 'sum' (global float)
+0:124 Sequence
+0:124 move second child to first child (temp int)
+0:124 'linenumber' (global int)
+0:124 Constant:
+0:124 124 (const int)
+0:125 Sequence
+0:125 move second child to first child (temp int)
+0:125 'filenumber' (global int)
+0:125 Constant:
+0:125 0 (const int)
+0:126 Sequence
+0:126 move second child to first child (temp int)
+0:126 'version' (global int)
+0:126 Constant:
+0:126 400 (const int)
+0:130 Sequence
+0:130 move second child to first child (temp float)
+0:130 'twoPi' (global float)
+0:130 Constant:
+0:130 6.280000
+0:199 Sequence
+0:199 move second child to first child (temp int)
+0:199 'n' (global int)
+0:199 Constant:
+0:199 15 (const int)
+0:202 Sequence
+0:202 move second child to first child (temp double)
+0:202 'f' (global double)
+0:202 Constant:
+0:202 0.000800
+12:20031 Function Definition: foo234( (global void)
+12:20031 Function Parameters:
+12:20033 Sequence
+12:20033 move second child to first child (temp 4-component vector of float)
+12:20033 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+12:20033 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+12:20033 Constant:
+12:20033 0 (const uint)
+12:20033 Constant:
+12:20033 6.000000
+12:20033 6.000000
+12:20033 6.000000
+12:20033 6.000000
+12:9011 Sequence
+12:9011 move second child to first child (temp int)
+12:9011 'R1' (global int)
+12:9011 'RECURSE' (global int)
+0:? Linker Objects
+0:? 'sum' (global float)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'linenumber' (global int)
+0:? 'filenumber' (global int)
+0:? 'version' (global int)
+0:? 'twoPi' (global float)
+0:? 'a' (global int)
+0:? 'n' (global int)
+0:? 'f' (global double)
+0:? 'RECURSE' (global int)
+0:? 'R1' (global int)
+0:? 'aoeua' (global int)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/dataOut.frag.out b/chromium/third_party/glslang/src/Test/baseResults/dataOut.frag.out
new file mode 100644
index 00000000000..030bae7d9eb
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/dataOut.frag.out
@@ -0,0 +1,35 @@
+dataOut.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:5 Function Definition: main( (global void)
+0:5 Function Parameters:
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 direct index (temp 4-component vector of float FragData)
+0:7 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:7 Constant:
+0:7 1 (const int)
+0:7 'Color' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'Color' (smooth in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:5 Function Definition: main( (global void)
+0:5 Function Parameters:
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 direct index (temp 4-component vector of float FragData)
+0:7 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:7 Constant:
+0:7 1 (const int)
+0:7 'Color' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'Color' (smooth in 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/dataOutIndirect.frag.out b/chromium/third_party/glslang/src/Test/baseResults/dataOutIndirect.frag.out
new file mode 100644
index 00000000000..31b4f07a5fe
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/dataOutIndirect.frag.out
@@ -0,0 +1,35 @@
+dataOutIndirect.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 indirect index (temp 4-component vector of float FragData)
+0:9 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:9 'i' (uniform int)
+0:9 'Color' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'Color' (smooth in 4-component vector of float)
+0:? 'i' (uniform int)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 indirect index (temp 4-component vector of float FragData)
+0:9 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:9 'i' (uniform int)
+0:9 'Color' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'Color' (smooth in 4-component vector of float)
+0:? 'i' (uniform int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/dce.frag.out b/chromium/third_party/glslang/src/Test/baseResults/dce.frag.out
new file mode 100644
index 00000000000..a19fe4e8b1a
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/dce.frag.out
@@ -0,0 +1,276 @@
+dce.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 400
+0:? Sequence
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'c' (global int)
+0:5 Constant:
+0:5 0 (const int)
+0:7 Function Definition: bar( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Test condition and select (temp void)
+0:9 Condition
+0:9 Constant:
+0:9 false (const bool)
+0:9 true case
+0:10 Pre-Increment (temp int)
+0:10 'c' (global int)
+0:9 false case
+0:12 Pre-Increment (temp int)
+0:12 'c' (global int)
+0:14 Test condition and select (temp int)
+0:14 Condition
+0:14 Constant:
+0:14 false (const bool)
+0:14 true case
+0:14 Pre-Increment (temp int)
+0:14 'c' (global int)
+0:14 false case
+0:14 Pre-Increment (temp int)
+0:14 'c' (global int)
+0:16 switch
+0:16 condition
+0:16 'c' (global int)
+0:16 body
+0:16 Sequence
+0:17 case: with expression
+0:17 Constant:
+0:17 1 (const int)
+0:? Sequence
+0:18 Pre-Increment (temp int)
+0:18 'c' (global int)
+0:19 Branch: Break
+0:20 Pre-Increment (temp int)
+0:20 'c' (global int)
+0:21 case: with expression
+0:21 Constant:
+0:21 2 (const int)
+0:? Sequence
+0:22 Branch: Break
+0:23 Pre-Increment (temp int)
+0:23 'c' (global int)
+0:24 default:
+0:? Sequence
+0:25 Branch: Break
+0:28 Sequence
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'i' (temp int)
+0:28 Constant:
+0:28 0 (const int)
+0:28 Loop with condition tested first
+0:28 Loop Condition
+0:28 Compare Less Than (temp bool)
+0:28 'i' (temp int)
+0:28 Constant:
+0:28 0 (const int)
+0:28 Loop Body
+0:29 Pre-Increment (temp int)
+0:29 'c' (global int)
+0:28 Loop Terminal Expression
+0:28 Pre-Increment (temp int)
+0:28 'i' (temp int)
+0:31 Sequence
+0:31 Sequence
+0:31 move second child to first child (temp int)
+0:31 'i' (temp int)
+0:31 Constant:
+0:31 0 (const int)
+0:31 Loop with condition tested first
+0:31 Loop Condition
+0:31 Compare Less Than (temp bool)
+0:31 'i' (temp int)
+0:31 Constant:
+0:31 10 (const int)
+0:31 Loop Body
+0:32 Sequence
+0:32 Test condition and select (temp void)
+0:32 Condition
+0:32 Compare Less Than (temp bool)
+0:32 'c' (global int)
+0:32 Constant:
+0:32 3 (const int)
+0:32 true case
+0:33 Sequence
+0:33 Branch: Break
+0:34 Pre-Increment (temp int)
+0:34 'c' (global int)
+0:32 false case
+0:36 Sequence
+0:36 Branch: Continue
+0:37 Pre-Increment (temp int)
+0:37 'c' (global int)
+0:31 Loop Terminal Expression
+0:31 Pre-Increment (temp int)
+0:31 'i' (temp int)
+0:41 Branch: Return
+0:43 Pre-Increment (temp int)
+0:43 'c' (global int)
+0:46 Function Definition: foo( (global int)
+0:46 Function Parameters:
+0:48 Sequence
+0:48 Test condition and select (temp void)
+0:48 Condition
+0:48 Compare Greater Than (temp bool)
+0:48 'c' (global int)
+0:48 Constant:
+0:48 4 (const int)
+0:48 true case
+0:49 Sequence
+0:49 Branch: Return with expression
+0:49 Constant:
+0:49 4 (const int)
+0:50 Pre-Increment (temp int)
+0:50 'c' (global int)
+0:53 Branch: Return with expression
+0:53 Constant:
+0:53 5 (const int)
+0:55 Pre-Increment (temp int)
+0:55 'c' (global int)
+0:? Linker Objects
+0:? 'flag' (const bool)
+0:? false (const bool)
+0:? 'c' (global int)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point
+
+Shader version: 400
+0:? Sequence
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'c' (global int)
+0:5 Constant:
+0:5 0 (const int)
+0:7 Function Definition: bar( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Test condition and select (temp void)
+0:9 Condition
+0:9 Constant:
+0:9 false (const bool)
+0:9 true case
+0:10 Pre-Increment (temp int)
+0:10 'c' (global int)
+0:9 false case
+0:12 Pre-Increment (temp int)
+0:12 'c' (global int)
+0:14 Test condition and select (temp int)
+0:14 Condition
+0:14 Constant:
+0:14 false (const bool)
+0:14 true case
+0:14 Pre-Increment (temp int)
+0:14 'c' (global int)
+0:14 false case
+0:14 Pre-Increment (temp int)
+0:14 'c' (global int)
+0:16 switch
+0:16 condition
+0:16 'c' (global int)
+0:16 body
+0:16 Sequence
+0:17 case: with expression
+0:17 Constant:
+0:17 1 (const int)
+0:? Sequence
+0:18 Pre-Increment (temp int)
+0:18 'c' (global int)
+0:19 Branch: Break
+0:20 Pre-Increment (temp int)
+0:20 'c' (global int)
+0:21 case: with expression
+0:21 Constant:
+0:21 2 (const int)
+0:? Sequence
+0:22 Branch: Break
+0:23 Pre-Increment (temp int)
+0:23 'c' (global int)
+0:24 default:
+0:? Sequence
+0:25 Branch: Break
+0:28 Sequence
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'i' (temp int)
+0:28 Constant:
+0:28 0 (const int)
+0:28 Loop with condition tested first
+0:28 Loop Condition
+0:28 Compare Less Than (temp bool)
+0:28 'i' (temp int)
+0:28 Constant:
+0:28 0 (const int)
+0:28 Loop Body
+0:29 Pre-Increment (temp int)
+0:29 'c' (global int)
+0:28 Loop Terminal Expression
+0:28 Pre-Increment (temp int)
+0:28 'i' (temp int)
+0:31 Sequence
+0:31 Sequence
+0:31 move second child to first child (temp int)
+0:31 'i' (temp int)
+0:31 Constant:
+0:31 0 (const int)
+0:31 Loop with condition tested first
+0:31 Loop Condition
+0:31 Compare Less Than (temp bool)
+0:31 'i' (temp int)
+0:31 Constant:
+0:31 10 (const int)
+0:31 Loop Body
+0:32 Sequence
+0:32 Test condition and select (temp void)
+0:32 Condition
+0:32 Compare Less Than (temp bool)
+0:32 'c' (global int)
+0:32 Constant:
+0:32 3 (const int)
+0:32 true case
+0:33 Sequence
+0:33 Branch: Break
+0:34 Pre-Increment (temp int)
+0:34 'c' (global int)
+0:32 false case
+0:36 Sequence
+0:36 Branch: Continue
+0:37 Pre-Increment (temp int)
+0:37 'c' (global int)
+0:31 Loop Terminal Expression
+0:31 Pre-Increment (temp int)
+0:31 'i' (temp int)
+0:41 Branch: Return
+0:43 Pre-Increment (temp int)
+0:43 'c' (global int)
+0:46 Function Definition: foo( (global int)
+0:46 Function Parameters:
+0:48 Sequence
+0:48 Test condition and select (temp void)
+0:48 Condition
+0:48 Compare Greater Than (temp bool)
+0:48 'c' (global int)
+0:48 Constant:
+0:48 4 (const int)
+0:48 true case
+0:49 Sequence
+0:49 Branch: Return with expression
+0:49 Constant:
+0:49 4 (const int)
+0:50 Pre-Increment (temp int)
+0:50 'c' (global int)
+0:53 Branch: Return with expression
+0:53 Constant:
+0:53 5 (const int)
+0:55 Pre-Increment (temp int)
+0:55 'c' (global int)
+0:? Linker Objects
+0:? 'flag' (const bool)
+0:? false (const bool)
+0:? 'c' (global int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/decls.frag.out b/chromium/third_party/glslang/src/Test/baseResults/decls.frag.out
new file mode 100644
index 00000000000..a7e2137d4e0
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/decls.frag.out
@@ -0,0 +1,515 @@
+decls.frag
+ERROR: 0:19: 'vi4' : illegal use of type 'void'
+ERROR: 0:20: 'vj' : illegal use of type 'void'
+ERROR: 0:20: 'vk5' : illegal use of type 'void'
+ERROR: 0:21: 'vm2' : illegal use of type 'void'
+ERROR: 0:21: 'vm3' : illegal use of type 'void'
+ERROR: 0:22: 'vn8' : illegal use of type 'void'
+ERROR: 0:22: 'vp' : illegal use of type 'void'
+ERROR: 0:25: 'cij' : variables with qualifier 'const' must be initialized
+ERROR: 0:27: 'cip' : variables with qualifier 'const' must be initialized
+ERROR: 0:34: 'gl_vi4' : identifiers starting with "gl_" are reserved
+ERROR: 0:35: 'gl_vj' : identifiers starting with "gl_" are reserved
+ERROR: 0:35: 'gl_vk5' : identifiers starting with "gl_" are reserved
+ERROR: 0:36: 'gl_vm2' : identifiers starting with "gl_" are reserved
+ERROR: 0:36: 'gl_vm3' : identifiers starting with "gl_" are reserved
+ERROR: 0:37: 'gl_vn8' : identifiers starting with "gl_" are reserved
+ERROR: 0:37: 'gl_vp' : identifiers starting with "gl_" are reserved
+ERROR: 0:42: '' : boolean expression expected
+ERROR: 0:43: 'gl_cond' : identifiers starting with "gl_" are reserved
+WARNING: 0:46: 'foob__vi4' : identifiers containing consecutive underscores ("__") are reserved
+WARNING: 0:47: 'foob__vj' : identifiers containing consecutive underscores ("__") are reserved
+WARNING: 0:47: 'foob__vk5' : identifiers containing consecutive underscores ("__") are reserved
+WARNING: 0:48: '__foobvm2' : identifiers containing consecutive underscores ("__") are reserved
+WARNING: 0:48: '__foobvm3' : identifiers containing consecutive underscores ("__") are reserved
+WARNING: 0:49: 'foob__vn8' : identifiers containing consecutive underscores ("__") are reserved
+WARNING: 0:49: 'foob__vp' : identifiers containing consecutive underscores ("__") are reserved
+ERROR: 18 compilation errors. No code generated.
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'd1' (global int)
+0:5 Constant:
+0:5 1 (const int)
+0:6 Sequence
+0:6 move second child to first child (temp int)
+0:6 'e2' (global int)
+0:6 Constant:
+0:6 2 (const int)
+0:7 Sequence
+0:7 move second child to first child (temp int)
+0:7 'h3' (global int)
+0:7 Constant:
+0:7 3 (const int)
+0:14 Sequence
+0:14 move second child to first child (temp 4-element array of int)
+0:14 'ii4' (global 4-element array of int)
+0:14 Constant:
+0:14 1 (const int)
+0:14 2 (const int)
+0:14 3 (const int)
+0:14 4 (const int)
+0:15 Sequence
+0:15 move second child to first child (temp 5-element array of int)
+0:15 'ik5' (global 5-element array of int)
+0:15 Constant:
+0:15 5 (const int)
+0:15 6 (const int)
+0:15 7 (const int)
+0:15 8 (const int)
+0:15 9 (const int)
+0:16 Sequence
+0:16 move second child to first child (temp 2-element array of int)
+0:16 'im2' (global 2-element array of int)
+0:16 Constant:
+0:16 10 (const int)
+0:16 11 (const int)
+0:16 move second child to first child (temp 3-element array of int)
+0:16 'im3' (global 3-element array of int)
+0:16 Constant:
+0:16 12 (const int)
+0:16 13 (const int)
+0:16 14 (const int)
+0:17 Sequence
+0:17 move second child to first child (temp 4-element array of int)
+0:17 'in8' (global 4-element array of int)
+0:17 Constant:
+0:17 21 (const int)
+0:17 22 (const int)
+0:17 23 (const int)
+0:17 24 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp 4-element array of int)
+0:34 'gl_vi4' (global 4-element array of int)
+0:34 Constant:
+0:34 1 (const int)
+0:34 2 (const int)
+0:34 3 (const int)
+0:34 4 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp 5-element array of int)
+0:35 'gl_vk5' (global 5-element array of int)
+0:35 Constant:
+0:35 5 (const int)
+0:35 6 (const int)
+0:35 7 (const int)
+0:35 8 (const int)
+0:35 9 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp 2-element array of int)
+0:36 'gl_vm2' (global 2-element array of int)
+0:36 Constant:
+0:36 10 (const int)
+0:36 11 (const int)
+0:36 move second child to first child (temp 3-element array of int)
+0:36 'gl_vm3' (global 3-element array of int)
+0:36 Constant:
+0:36 12 (const int)
+0:36 13 (const int)
+0:36 14 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp 4-element array of int)
+0:37 'gl_vn8' (global 4-element array of int)
+0:37 Constant:
+0:37 21 (const int)
+0:37 22 (const int)
+0:37 23 (const int)
+0:37 24 (const int)
+0:39 Function Definition: main( (global void)
+0:39 Function Parameters:
+0:41 Sequence
+0:41 Loop with condition tested first
+0:41 Loop Condition
+0:41 move second child to first child (temp bool)
+0:41 'cond' (temp bool)
+0:41 Compare Less Than (temp bool)
+0:41 'b' (global int)
+0:41 'c' (global int)
+0:41 No loop body
+0:42 Loop with condition tested first
+0:42 Loop Condition
+0:42 move second child to first child (temp int)
+0:42 'icond' (temp int)
+0:42 'b' (global int)
+0:42 No loop body
+0:43 Loop with condition tested first
+0:43 Loop Condition
+0:43 move second child to first child (temp bool)
+0:43 'gl_cond' (temp bool)
+0:43 Compare Less Than (temp bool)
+0:43 'b' (global int)
+0:43 'c' (global int)
+0:43 No loop body
+0:46 Sequence
+0:46 move second child to first child (temp 4-element array of int)
+0:46 'foob__vi4' (global 4-element array of int)
+0:46 Constant:
+0:46 1 (const int)
+0:46 2 (const int)
+0:46 3 (const int)
+0:46 4 (const int)
+0:47 Sequence
+0:47 move second child to first child (temp 5-element array of int)
+0:47 'foob__vk5' (global 5-element array of int)
+0:47 Constant:
+0:47 5 (const int)
+0:47 6 (const int)
+0:47 7 (const int)
+0:47 8 (const int)
+0:47 9 (const int)
+0:48 Sequence
+0:48 move second child to first child (temp 2-element array of int)
+0:48 '__foobvm2' (global 2-element array of int)
+0:48 Constant:
+0:48 10 (const int)
+0:48 11 (const int)
+0:48 move second child to first child (temp 3-element array of int)
+0:48 '__foobvm3' (global 3-element array of int)
+0:48 Constant:
+0:48 12 (const int)
+0:48 13 (const int)
+0:48 14 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp 4-element array of int)
+0:49 'foob__vn8' (global 4-element array of int)
+0:49 Constant:
+0:49 21 (const int)
+0:49 22 (const int)
+0:49 23 (const int)
+0:49 24 (const int)
+0:? Linker Objects
+0:? 'a' (global int)
+0:? 'b' (global int)
+0:? 'c' (global int)
+0:? 'd1' (global int)
+0:? 'e2' (global int)
+0:? 'f' (global int)
+0:? 'g' (global int)
+0:? 'h3' (global int)
+0:? 'i4' (global 4-element array of int)
+0:? 'j' (global int)
+0:? 'k5' (global 5-element array of int)
+0:? 'm6' (global 6-element array of int)
+0:? 'm7' (global 7-element array of int)
+0:? 'n8' (global 8-element array of int)
+0:? 'p' (global int)
+0:? 'ii4' (global 4-element array of int)
+0:? 'ij' (global int)
+0:? 'ik5' (global 5-element array of int)
+0:? 'im2' (global 2-element array of int)
+0:? 'im3' (global 3-element array of int)
+0:? 'in8' (global 4-element array of int)
+0:? 'ip' (global int)
+0:? 'cii4' (const 4-element array of int)
+0:? 1 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:? 4 (const int)
+0:? 'cij' (temp int)
+0:? 'cik5' (const 5-element array of int)
+0:? 5 (const int)
+0:? 6 (const int)
+0:? 7 (const int)
+0:? 8 (const int)
+0:? 9 (const int)
+0:? 'cim2' (const 2-element array of int)
+0:? 10 (const int)
+0:? 11 (const int)
+0:? 'cim3' (const 3-element array of int)
+0:? 12 (const int)
+0:? 13 (const int)
+0:? 14 (const int)
+0:? 'cin8' (const 4-element array of int)
+0:? 21 (const int)
+0:? 22 (const int)
+0:? 23 (const int)
+0:? 24 (const int)
+0:? 'cip' (temp int)
+0:? 'uii4' (uniform 4-element array of int)
+0:? 1 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:? 4 (const int)
+0:? 'uij' (uniform int)
+0:? 'uik5' (uniform 5-element array of int)
+0:? 5 (const int)
+0:? 6 (const int)
+0:? 7 (const int)
+0:? 8 (const int)
+0:? 9 (const int)
+0:? 'uim2' (uniform 2-element array of int)
+0:? 10 (const int)
+0:? 11 (const int)
+0:? 'uim3' (uniform 3-element array of int)
+0:? 12 (const int)
+0:? 13 (const int)
+0:? 14 (const int)
+0:? 'uin8' (uniform 4-element array of int)
+0:? 21 (const int)
+0:? 22 (const int)
+0:? 23 (const int)
+0:? 24 (const int)
+0:? 'uip' (uniform int)
+0:? 'gl_vi4' (global 4-element array of int)
+0:? 'gl_vj' (global int)
+0:? 'gl_vk5' (global 5-element array of int)
+0:? 'gl_vm2' (global 2-element array of int)
+0:? 'gl_vm3' (global 3-element array of int)
+0:? 'gl_vn8' (global 4-element array of int)
+0:? 'gl_vp' (global int)
+0:? 'foob__vi4' (global 4-element array of int)
+0:? 'foob__vj' (global int)
+0:? 'foob__vk5' (global 5-element array of int)
+0:? '__foobvm2' (global 2-element array of int)
+0:? '__foobvm3' (global 3-element array of int)
+0:? 'foob__vn8' (global 4-element array of int)
+0:? 'foob__vp' (global int)
+
+
+Linked fragment stage:
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'd1' (global int)
+0:5 Constant:
+0:5 1 (const int)
+0:6 Sequence
+0:6 move second child to first child (temp int)
+0:6 'e2' (global int)
+0:6 Constant:
+0:6 2 (const int)
+0:7 Sequence
+0:7 move second child to first child (temp int)
+0:7 'h3' (global int)
+0:7 Constant:
+0:7 3 (const int)
+0:14 Sequence
+0:14 move second child to first child (temp 4-element array of int)
+0:14 'ii4' (global 4-element array of int)
+0:14 Constant:
+0:14 1 (const int)
+0:14 2 (const int)
+0:14 3 (const int)
+0:14 4 (const int)
+0:15 Sequence
+0:15 move second child to first child (temp 5-element array of int)
+0:15 'ik5' (global 5-element array of int)
+0:15 Constant:
+0:15 5 (const int)
+0:15 6 (const int)
+0:15 7 (const int)
+0:15 8 (const int)
+0:15 9 (const int)
+0:16 Sequence
+0:16 move second child to first child (temp 2-element array of int)
+0:16 'im2' (global 2-element array of int)
+0:16 Constant:
+0:16 10 (const int)
+0:16 11 (const int)
+0:16 move second child to first child (temp 3-element array of int)
+0:16 'im3' (global 3-element array of int)
+0:16 Constant:
+0:16 12 (const int)
+0:16 13 (const int)
+0:16 14 (const int)
+0:17 Sequence
+0:17 move second child to first child (temp 4-element array of int)
+0:17 'in8' (global 4-element array of int)
+0:17 Constant:
+0:17 21 (const int)
+0:17 22 (const int)
+0:17 23 (const int)
+0:17 24 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp 4-element array of int)
+0:34 'gl_vi4' (global 4-element array of int)
+0:34 Constant:
+0:34 1 (const int)
+0:34 2 (const int)
+0:34 3 (const int)
+0:34 4 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp 5-element array of int)
+0:35 'gl_vk5' (global 5-element array of int)
+0:35 Constant:
+0:35 5 (const int)
+0:35 6 (const int)
+0:35 7 (const int)
+0:35 8 (const int)
+0:35 9 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp 2-element array of int)
+0:36 'gl_vm2' (global 2-element array of int)
+0:36 Constant:
+0:36 10 (const int)
+0:36 11 (const int)
+0:36 move second child to first child (temp 3-element array of int)
+0:36 'gl_vm3' (global 3-element array of int)
+0:36 Constant:
+0:36 12 (const int)
+0:36 13 (const int)
+0:36 14 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp 4-element array of int)
+0:37 'gl_vn8' (global 4-element array of int)
+0:37 Constant:
+0:37 21 (const int)
+0:37 22 (const int)
+0:37 23 (const int)
+0:37 24 (const int)
+0:39 Function Definition: main( (global void)
+0:39 Function Parameters:
+0:41 Sequence
+0:41 Loop with condition tested first
+0:41 Loop Condition
+0:41 move second child to first child (temp bool)
+0:41 'cond' (temp bool)
+0:41 Compare Less Than (temp bool)
+0:41 'b' (global int)
+0:41 'c' (global int)
+0:41 No loop body
+0:42 Loop with condition tested first
+0:42 Loop Condition
+0:42 move second child to first child (temp int)
+0:42 'icond' (temp int)
+0:42 'b' (global int)
+0:42 No loop body
+0:43 Loop with condition tested first
+0:43 Loop Condition
+0:43 move second child to first child (temp bool)
+0:43 'gl_cond' (temp bool)
+0:43 Compare Less Than (temp bool)
+0:43 'b' (global int)
+0:43 'c' (global int)
+0:43 No loop body
+0:46 Sequence
+0:46 move second child to first child (temp 4-element array of int)
+0:46 'foob__vi4' (global 4-element array of int)
+0:46 Constant:
+0:46 1 (const int)
+0:46 2 (const int)
+0:46 3 (const int)
+0:46 4 (const int)
+0:47 Sequence
+0:47 move second child to first child (temp 5-element array of int)
+0:47 'foob__vk5' (global 5-element array of int)
+0:47 Constant:
+0:47 5 (const int)
+0:47 6 (const int)
+0:47 7 (const int)
+0:47 8 (const int)
+0:47 9 (const int)
+0:48 Sequence
+0:48 move second child to first child (temp 2-element array of int)
+0:48 '__foobvm2' (global 2-element array of int)
+0:48 Constant:
+0:48 10 (const int)
+0:48 11 (const int)
+0:48 move second child to first child (temp 3-element array of int)
+0:48 '__foobvm3' (global 3-element array of int)
+0:48 Constant:
+0:48 12 (const int)
+0:48 13 (const int)
+0:48 14 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp 4-element array of int)
+0:49 'foob__vn8' (global 4-element array of int)
+0:49 Constant:
+0:49 21 (const int)
+0:49 22 (const int)
+0:49 23 (const int)
+0:49 24 (const int)
+0:? Linker Objects
+0:? 'a' (global int)
+0:? 'b' (global int)
+0:? 'c' (global int)
+0:? 'd1' (global int)
+0:? 'e2' (global int)
+0:? 'f' (global int)
+0:? 'g' (global int)
+0:? 'h3' (global int)
+0:? 'i4' (global 4-element array of int)
+0:? 'j' (global int)
+0:? 'k5' (global 5-element array of int)
+0:? 'm6' (global 6-element array of int)
+0:? 'm7' (global 7-element array of int)
+0:? 'n8' (global 8-element array of int)
+0:? 'p' (global int)
+0:? 'ii4' (global 4-element array of int)
+0:? 'ij' (global int)
+0:? 'ik5' (global 5-element array of int)
+0:? 'im2' (global 2-element array of int)
+0:? 'im3' (global 3-element array of int)
+0:? 'in8' (global 4-element array of int)
+0:? 'ip' (global int)
+0:? 'cii4' (const 4-element array of int)
+0:? 1 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:? 4 (const int)
+0:? 'cij' (temp int)
+0:? 'cik5' (const 5-element array of int)
+0:? 5 (const int)
+0:? 6 (const int)
+0:? 7 (const int)
+0:? 8 (const int)
+0:? 9 (const int)
+0:? 'cim2' (const 2-element array of int)
+0:? 10 (const int)
+0:? 11 (const int)
+0:? 'cim3' (const 3-element array of int)
+0:? 12 (const int)
+0:? 13 (const int)
+0:? 14 (const int)
+0:? 'cin8' (const 4-element array of int)
+0:? 21 (const int)
+0:? 22 (const int)
+0:? 23 (const int)
+0:? 24 (const int)
+0:? 'cip' (temp int)
+0:? 'uii4' (uniform 4-element array of int)
+0:? 1 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:? 4 (const int)
+0:? 'uij' (uniform int)
+0:? 'uik5' (uniform 5-element array of int)
+0:? 5 (const int)
+0:? 6 (const int)
+0:? 7 (const int)
+0:? 8 (const int)
+0:? 9 (const int)
+0:? 'uim2' (uniform 2-element array of int)
+0:? 10 (const int)
+0:? 11 (const int)
+0:? 'uim3' (uniform 3-element array of int)
+0:? 12 (const int)
+0:? 13 (const int)
+0:? 14 (const int)
+0:? 'uin8' (uniform 4-element array of int)
+0:? 21 (const int)
+0:? 22 (const int)
+0:? 23 (const int)
+0:? 24 (const int)
+0:? 'uip' (uniform int)
+0:? 'gl_vi4' (global 4-element array of int)
+0:? 'gl_vj' (global int)
+0:? 'gl_vk5' (global 5-element array of int)
+0:? 'gl_vm2' (global 2-element array of int)
+0:? 'gl_vm3' (global 3-element array of int)
+0:? 'gl_vn8' (global 4-element array of int)
+0:? 'gl_vp' (global int)
+0:? 'foob__vi4' (global 4-element array of int)
+0:? 'foob__vj' (global int)
+0:? 'foob__vk5' (global 5-element array of int)
+0:? '__foobvm2' (global 2-element array of int)
+0:? '__foobvm3' (global 3-element array of int)
+0:? 'foob__vn8' (global 4-element array of int)
+0:? 'foob__vp' (global int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/deepRvalue.frag.out b/chromium/third_party/glslang/src/Test/baseResults/deepRvalue.frag.out
new file mode 100644
index 00000000000..9441ace9750
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/deepRvalue.frag.out
@@ -0,0 +1,285 @@
+deepRvalue.frag
+Shader version: 120
+0:? Sequence
+0:5 Sequence
+0:5 move second child to first child (temp 4-component vector of float)
+0:5 'v1' (global 4-component vector of float)
+0:5 Constant:
+0:5 2.000000
+0:5 3.000000
+0:5 5.000000
+0:5 7.000000
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'v2' (global 4-component vector of float)
+0:6 Constant:
+0:6 11.000000
+0:6 13.000000
+0:6 17.000000
+0:6 19.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'v3' (global 4-component vector of float)
+0:7 Constant:
+0:7 23.000000
+0:7 29.000000
+0:7 31.000000
+0:7 37.000000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'v4' (global 4-component vector of float)
+0:8 Constant:
+0:8 41.000000
+0:8 43.000000
+0:8 47.000000
+0:8 53.000000
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:18 Sequence
+0:18 Sequence
+0:18 move second child to first child (temp 4X4 matrix of float)
+0:18 'm' (temp 4X4 matrix of float)
+0:18 Construct mat4 (temp 4X4 matrix of float)
+0:18 'v1' (global 4-component vector of float)
+0:18 'v2' (global 4-component vector of float)
+0:18 'v3' (global 4-component vector of float)
+0:18 'v4' (global 4-component vector of float)
+0:20 Sequence
+0:20 move second child to first child (temp 4X4 matrix of float)
+0:20 'mm' (temp 4X4 matrix of float)
+0:20 component-wise multiply (global 4X4 matrix of float)
+0:20 'm' (temp 4X4 matrix of float)
+0:20 'm' (temp 4X4 matrix of float)
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'f' (temp float)
+0:21 direct index (temp float)
+0:21 direct index (temp 4-component vector of float)
+0:21 'mm' (temp 4X4 matrix of float)
+0:21 Constant:
+0:21 1 (const int)
+0:21 Constant:
+0:21 3 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'g' (temp float)
+0:24 direct index (temp float)
+0:24 direct index (temp 4-component vector of float)
+0:24 component-wise multiply (global 4X4 matrix of float)
+0:24 'm' (temp 4X4 matrix of float)
+0:24 'm' (temp 4X4 matrix of float)
+0:24 Constant:
+0:24 2 (const int)
+0:24 Constant:
+0:24 1 (const int)
+0:26 Sequence
+0:26 move second child to first child (temp float)
+0:26 'h' (temp float)
+0:26 Constant:
+0:26 5.000000
+0:28 Sequence
+0:28 move second child to first child (temp float)
+0:28 'i' (temp float)
+0:28 direct index (temp float)
+0:28 texture (global 4-component vector of float)
+0:28 'sampler' (uniform sampler2D)
+0:28 Constant:
+0:28 0.500000
+0:28 0.500000
+0:28 Constant:
+0:28 1 (const int)
+0:30 add second child into first child (temp float)
+0:30 'i' (temp float)
+0:30 direct index (temp float)
+0:30 Test condition and select (temp 4-component vector of float)
+0:30 Condition
+0:30 Compare Greater Than (temp bool)
+0:30 'i' (temp float)
+0:30 Constant:
+0:30 0.100000
+0:30 true case
+0:30 'v1' (global 4-component vector of float)
+0:30 false case
+0:30 'v2' (global 4-component vector of float)
+0:30 Constant:
+0:30 3 (const int)
+0:33 add second child into first child (temp float)
+0:33 'i' (temp float)
+0:33 direct index (temp float)
+0:33 direct index (temp 2-component vector of float)
+0:33 b: direct index for structure (global 3-element array of 2-component vector of float)
+0:33 move second child to first child (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c})
+0:33 't' (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c})
+0:33 Constant:
+0:33 1 (const int)
+0:33 2.000000
+0:33 3.000000
+0:33 4.000000
+0:33 5.000000
+0:33 6.000000
+0:33 7.000000
+0:33 true (const bool)
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:35 move second child to first child (temp 4-component vector of float)
+0:35 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:35 Construct vec4 (temp 4-component vector of float)
+0:35 'f' (temp float)
+0:35 'g' (temp float)
+0:35 'h' (temp float)
+0:35 'i' (temp float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'v1' (global 4-component vector of float)
+0:? 'v2' (global 4-component vector of float)
+0:? 'v3' (global 4-component vector of float)
+0:? 'v4' (global 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 120
+0:? Sequence
+0:5 Sequence
+0:5 move second child to first child (temp 4-component vector of float)
+0:5 'v1' (global 4-component vector of float)
+0:5 Constant:
+0:5 2.000000
+0:5 3.000000
+0:5 5.000000
+0:5 7.000000
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'v2' (global 4-component vector of float)
+0:6 Constant:
+0:6 11.000000
+0:6 13.000000
+0:6 17.000000
+0:6 19.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'v3' (global 4-component vector of float)
+0:7 Constant:
+0:7 23.000000
+0:7 29.000000
+0:7 31.000000
+0:7 37.000000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'v4' (global 4-component vector of float)
+0:8 Constant:
+0:8 41.000000
+0:8 43.000000
+0:8 47.000000
+0:8 53.000000
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:18 Sequence
+0:18 Sequence
+0:18 move second child to first child (temp 4X4 matrix of float)
+0:18 'm' (temp 4X4 matrix of float)
+0:18 Construct mat4 (temp 4X4 matrix of float)
+0:18 'v1' (global 4-component vector of float)
+0:18 'v2' (global 4-component vector of float)
+0:18 'v3' (global 4-component vector of float)
+0:18 'v4' (global 4-component vector of float)
+0:20 Sequence
+0:20 move second child to first child (temp 4X4 matrix of float)
+0:20 'mm' (temp 4X4 matrix of float)
+0:20 component-wise multiply (global 4X4 matrix of float)
+0:20 'm' (temp 4X4 matrix of float)
+0:20 'm' (temp 4X4 matrix of float)
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'f' (temp float)
+0:21 direct index (temp float)
+0:21 direct index (temp 4-component vector of float)
+0:21 'mm' (temp 4X4 matrix of float)
+0:21 Constant:
+0:21 1 (const int)
+0:21 Constant:
+0:21 3 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'g' (temp float)
+0:24 direct index (temp float)
+0:24 direct index (temp 4-component vector of float)
+0:24 component-wise multiply (global 4X4 matrix of float)
+0:24 'm' (temp 4X4 matrix of float)
+0:24 'm' (temp 4X4 matrix of float)
+0:24 Constant:
+0:24 2 (const int)
+0:24 Constant:
+0:24 1 (const int)
+0:26 Sequence
+0:26 move second child to first child (temp float)
+0:26 'h' (temp float)
+0:26 Constant:
+0:26 5.000000
+0:28 Sequence
+0:28 move second child to first child (temp float)
+0:28 'i' (temp float)
+0:28 direct index (temp float)
+0:28 texture (global 4-component vector of float)
+0:28 'sampler' (uniform sampler2D)
+0:28 Constant:
+0:28 0.500000
+0:28 0.500000
+0:28 Constant:
+0:28 1 (const int)
+0:30 add second child into first child (temp float)
+0:30 'i' (temp float)
+0:30 direct index (temp float)
+0:30 Test condition and select (temp 4-component vector of float)
+0:30 Condition
+0:30 Compare Greater Than (temp bool)
+0:30 'i' (temp float)
+0:30 Constant:
+0:30 0.100000
+0:30 true case
+0:30 'v1' (global 4-component vector of float)
+0:30 false case
+0:30 'v2' (global 4-component vector of float)
+0:30 Constant:
+0:30 3 (const int)
+0:33 add second child into first child (temp float)
+0:33 'i' (temp float)
+0:33 direct index (temp float)
+0:33 direct index (temp 2-component vector of float)
+0:33 b: direct index for structure (global 3-element array of 2-component vector of float)
+0:33 move second child to first child (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c})
+0:33 't' (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c})
+0:33 Constant:
+0:33 1 (const int)
+0:33 2.000000
+0:33 3.000000
+0:33 4.000000
+0:33 5.000000
+0:33 6.000000
+0:33 7.000000
+0:33 true (const bool)
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:35 move second child to first child (temp 4-component vector of float)
+0:35 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:35 Construct vec4 (temp 4-component vector of float)
+0:35 'f' (temp float)
+0:35 'g' (temp float)
+0:35 'h' (temp float)
+0:35 'i' (temp float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'v1' (global 4-component vector of float)
+0:? 'v2' (global 4-component vector of float)
+0:? 'v3' (global 4-component vector of float)
+0:? 'v4' (global 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/depthOut.frag.out b/chromium/third_party/glslang/src/Test/baseResults/depthOut.frag.out
new file mode 100644
index 00000000000..0177b39e328
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/depthOut.frag.out
@@ -0,0 +1,38 @@
+depthOut.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:8 'Depth' (smooth in float)
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:9 'Color' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'Color' (smooth in 4-component vector of float)
+0:? 'Depth' (smooth in float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:8 'Depth' (smooth in float)
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:9 'Color' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'Color' (smooth in 4-component vector of float)
+0:? 'Depth' (smooth in float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/discard-dce.frag.out b/chromium/third_party/glslang/src/Test/baseResults/discard-dce.frag.out
new file mode 100644
index 00000000000..9b194c7bd2d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/discard-dce.frag.out
@@ -0,0 +1,239 @@
+discard-dce.frag
+Shader version: 110
+0:? Sequence
+0:4 Function Definition: main( (global void)
+0:4 Function Parameters:
+0:6 Sequence
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'white' (temp 4-component vector of float)
+0:6 Constant:
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'black' (temp 4-component vector of float)
+0:7 Constant:
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'color' (temp 4-component vector of float)
+0:8 'white' (temp 4-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'x' (temp float)
+0:11 subtract (temp float)
+0:11 component-wise multiply (temp float)
+0:11 direct index (temp float)
+0:11 'tex_coord' (smooth in 2-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 2.000000
+0:11 Constant:
+0:11 1.000000
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'y' (temp float)
+0:12 subtract (temp float)
+0:12 component-wise multiply (temp float)
+0:12 direct index (temp float)
+0:12 'tex_coord' (smooth in 2-component vector of float)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 2.000000
+0:12 Constant:
+0:12 1.000000
+0:14 Sequence
+0:14 move second child to first child (temp float)
+0:14 'radius' (temp float)
+0:14 sqrt (global float)
+0:14 add (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'x' (temp float)
+0:14 'x' (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'y' (temp float)
+0:14 'y' (temp float)
+0:15 Test condition and select (temp void)
+0:15 Condition
+0:15 Compare Greater Than (temp bool)
+0:15 'radius' (temp float)
+0:15 Constant:
+0:15 1.000000
+0:15 true case
+0:16 Sequence
+0:16 Test condition and select (temp void)
+0:16 Condition
+0:16 Compare Greater Than (temp bool)
+0:16 'radius' (temp float)
+0:16 Constant:
+0:16 1.100000
+0:16 true case
+0:17 Sequence
+0:17 Pre-Increment (temp 4-component vector of float)
+0:17 'color' (temp 4-component vector of float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:20 'color' (temp 4-component vector of float)
+0:22 Test condition and select (temp void)
+0:22 Condition
+0:22 Compare Greater Than (temp bool)
+0:22 'radius' (temp float)
+0:22 Constant:
+0:22 1.200000
+0:22 true case
+0:23 Sequence
+0:23 Pre-Increment (temp 4-component vector of float)
+0:23 'color' (temp 4-component vector of float)
+0:26 Branch: Kill
+0:30 Test condition and select (temp void)
+0:30 Condition
+0:30 Compare Greater Than or Equal (temp bool)
+0:30 'radius' (temp float)
+0:30 Constant:
+0:30 0.750000
+0:30 true case
+0:31 subtract second child into first child (temp 4-component vector of float)
+0:31 'color' (temp 4-component vector of float)
+0:31 Absolute value (global float)
+0:31 divide (temp float)
+0:31 pow (global float)
+0:31 'radius' (temp float)
+0:31 Constant:
+0:31 16.000000
+0:31 Constant:
+0:31 2.000000
+0:33 move second child to first child (temp 4-component vector of float)
+0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:33 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex_coord' (smooth in 2-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:4 Function Definition: main( (global void)
+0:4 Function Parameters:
+0:6 Sequence
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'white' (temp 4-component vector of float)
+0:6 Constant:
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'black' (temp 4-component vector of float)
+0:7 Constant:
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'color' (temp 4-component vector of float)
+0:8 'white' (temp 4-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'x' (temp float)
+0:11 subtract (temp float)
+0:11 component-wise multiply (temp float)
+0:11 direct index (temp float)
+0:11 'tex_coord' (smooth in 2-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 2.000000
+0:11 Constant:
+0:11 1.000000
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'y' (temp float)
+0:12 subtract (temp float)
+0:12 component-wise multiply (temp float)
+0:12 direct index (temp float)
+0:12 'tex_coord' (smooth in 2-component vector of float)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 2.000000
+0:12 Constant:
+0:12 1.000000
+0:14 Sequence
+0:14 move second child to first child (temp float)
+0:14 'radius' (temp float)
+0:14 sqrt (global float)
+0:14 add (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'x' (temp float)
+0:14 'x' (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'y' (temp float)
+0:14 'y' (temp float)
+0:15 Test condition and select (temp void)
+0:15 Condition
+0:15 Compare Greater Than (temp bool)
+0:15 'radius' (temp float)
+0:15 Constant:
+0:15 1.000000
+0:15 true case
+0:16 Sequence
+0:16 Test condition and select (temp void)
+0:16 Condition
+0:16 Compare Greater Than (temp bool)
+0:16 'radius' (temp float)
+0:16 Constant:
+0:16 1.100000
+0:16 true case
+0:17 Sequence
+0:17 Pre-Increment (temp 4-component vector of float)
+0:17 'color' (temp 4-component vector of float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:20 'color' (temp 4-component vector of float)
+0:22 Test condition and select (temp void)
+0:22 Condition
+0:22 Compare Greater Than (temp bool)
+0:22 'radius' (temp float)
+0:22 Constant:
+0:22 1.200000
+0:22 true case
+0:23 Sequence
+0:23 Pre-Increment (temp 4-component vector of float)
+0:23 'color' (temp 4-component vector of float)
+0:26 Branch: Kill
+0:30 Test condition and select (temp void)
+0:30 Condition
+0:30 Compare Greater Than or Equal (temp bool)
+0:30 'radius' (temp float)
+0:30 Constant:
+0:30 0.750000
+0:30 true case
+0:31 subtract second child into first child (temp 4-component vector of float)
+0:31 'color' (temp 4-component vector of float)
+0:31 Absolute value (global float)
+0:31 divide (temp float)
+0:31 pow (global float)
+0:31 'radius' (temp float)
+0:31 Constant:
+0:31 16.000000
+0:31 Constant:
+0:31 2.000000
+0:33 move second child to first child (temp 4-component vector of float)
+0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:33 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex_coord' (smooth in 2-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/doWhileLoop.frag.out b/chromium/third_party/glslang/src/Test/baseResults/doWhileLoop.frag.out
new file mode 100644
index 00000000000..4cfbea97dc8
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/doWhileLoop.frag.out
@@ -0,0 +1,65 @@
+doWhileLoop.frag
+Shader version: 110
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'color' (temp 4-component vector of float)
+0:9 'BaseColor' (smooth in 4-component vector of float)
+0:13 Loop with condition not tested first
+0:13 Loop Condition
+0:13 Compare Less Than (temp bool)
+0:13 direct index (temp float)
+0:13 'color' (temp 4-component vector of float)
+0:13 Constant:
+0:13 0 (const int)
+0:13 'd' (uniform float)
+0:13 Loop Body
+0:12 Sequence
+0:12 add second child into first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'bigColor' (uniform 4-component vector of float)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:15 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'color' (temp 4-component vector of float)
+0:9 'BaseColor' (smooth in 4-component vector of float)
+0:13 Loop with condition not tested first
+0:13 Loop Condition
+0:13 Compare Less Than (temp bool)
+0:13 direct index (temp float)
+0:13 'color' (temp 4-component vector of float)
+0:13 Constant:
+0:13 0 (const int)
+0:13 'd' (uniform float)
+0:13 Loop Body
+0:12 Sequence
+0:12 add second child into first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'bigColor' (uniform 4-component vector of float)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:15 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/earlyReturnDiscard.frag.out b/chromium/third_party/glslang/src/Test/baseResults/earlyReturnDiscard.frag.out
new file mode 100644
index 00000000000..160b7566971
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/earlyReturnDiscard.frag.out
@@ -0,0 +1,257 @@
+earlyReturnDiscard.frag
+Shader version: 110
+0:? Sequence
+0:19 Function Definition: main( (global void)
+0:19 Function Parameters:
+0:21 Sequence
+0:21 Sequence
+0:21 move second child to first child (temp 4-component vector of float)
+0:21 'color' (temp 4-component vector of float)
+0:21 'BaseColor' (smooth in 4-component vector of float)
+0:24 move second child to first child (temp 4-component vector of float)
+0:24 'color2' (temp 4-component vector of float)
+0:24 'otherColor' (uniform 4-component vector of float)
+0:26 Test condition and select (temp void)
+0:26 Condition
+0:26 Compare Greater Than (temp bool)
+0:26 'c' (smooth in float)
+0:26 'd' (uniform float)
+0:26 true case
+0:27 add second child into first child (temp 4-component vector of float)
+0:27 'color' (temp 4-component vector of float)
+0:27 'bigColor' (uniform 4-component vector of float)
+0:26 false case
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'color' (temp 4-component vector of float)
+0:29 'smallColor' (uniform 4-component vector of float)
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Less Than (temp bool)
+0:31 direct index (temp float)
+0:31 'color' (temp 4-component vector of float)
+0:31 Constant:
+0:31 2 (const int)
+0:31 'minimum' (uniform float)
+0:31 true case
+0:32 Branch: Return
+0:34 Post-Increment (temp float)
+0:34 direct index (temp float)
+0:34 'color' (temp 4-component vector of float)
+0:34 Constant:
+0:34 2 (const int)
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 Compare Greater Than (temp bool)
+0:36 direct index (temp float)
+0:36 'color' (temp 4-component vector of float)
+0:36 Constant:
+0:36 2 (const int)
+0:36 'threshhold' (uniform float)
+0:36 true case
+0:37 Branch: Kill
+0:39 Post-Increment (temp 4-component vector of float)
+0:39 'color' (temp 4-component vector of float)
+0:42 Test condition and select (temp void)
+0:42 Condition
+0:42 Compare Greater Than (temp bool)
+0:42 direct index (temp float)
+0:42 'color' (temp 4-component vector of float)
+0:42 Constant:
+0:42 3 (const int)
+0:42 'threshhold2' (uniform float)
+0:42 true case
+0:43 Sequence
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:43 Compare Greater Than (temp bool)
+0:43 direct index (temp float)
+0:43 'color' (temp 4-component vector of float)
+0:43 Constant:
+0:43 2 (const int)
+0:43 'threshhold2' (uniform float)
+0:43 true case
+0:44 Branch: Return
+0:43 false case
+0:45 Test condition and select (temp void)
+0:45 Condition
+0:45 'b' (uniform bool)
+0:45 true case
+0:46 Post-Increment (temp float)
+0:46 direct index (temp float)
+0:46 'color' (temp 4-component vector of float)
+0:46 Constant:
+0:46 2 (const int)
+0:45 false case
+0:48 Sequence
+0:48 Test condition and select (temp void)
+0:48 Condition
+0:48 Compare Less Than (temp bool)
+0:48 direct index (temp float)
+0:48 'color' (temp 4-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:48 'minimum' (uniform float)
+0:48 true case
+0:49 Sequence
+0:49 Branch: Kill
+0:48 false case
+0:51 Sequence
+0:51 Post-Increment (temp 4-component vector of float)
+0:51 'color' (temp 4-component vector of float)
+0:42 false case
+0:55 Sequence
+0:55 Test condition and select (temp void)
+0:55 Condition
+0:55 'b' (uniform bool)
+0:55 true case
+0:56 Branch: Kill
+0:55 false case
+0:58 Branch: Return
+0:101 move second child to first child (temp 4-component vector of float)
+0:101 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:101 component-wise multiply (temp 4-component vector of float)
+0:101 'color' (temp 4-component vector of float)
+0:101 'color2' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'd' (uniform float)
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'smallColor' (uniform 4-component vector of float)
+0:? 'otherColor' (uniform 4-component vector of float)
+0:? 'c' (smooth in float)
+0:? 'threshhold' (uniform float)
+0:? 'threshhold2' (uniform float)
+0:? 'threshhold3' (uniform float)
+0:? 'minimum' (uniform float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'b' (uniform bool)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:19 Function Definition: main( (global void)
+0:19 Function Parameters:
+0:21 Sequence
+0:21 Sequence
+0:21 move second child to first child (temp 4-component vector of float)
+0:21 'color' (temp 4-component vector of float)
+0:21 'BaseColor' (smooth in 4-component vector of float)
+0:24 move second child to first child (temp 4-component vector of float)
+0:24 'color2' (temp 4-component vector of float)
+0:24 'otherColor' (uniform 4-component vector of float)
+0:26 Test condition and select (temp void)
+0:26 Condition
+0:26 Compare Greater Than (temp bool)
+0:26 'c' (smooth in float)
+0:26 'd' (uniform float)
+0:26 true case
+0:27 add second child into first child (temp 4-component vector of float)
+0:27 'color' (temp 4-component vector of float)
+0:27 'bigColor' (uniform 4-component vector of float)
+0:26 false case
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'color' (temp 4-component vector of float)
+0:29 'smallColor' (uniform 4-component vector of float)
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Less Than (temp bool)
+0:31 direct index (temp float)
+0:31 'color' (temp 4-component vector of float)
+0:31 Constant:
+0:31 2 (const int)
+0:31 'minimum' (uniform float)
+0:31 true case
+0:32 Branch: Return
+0:34 Post-Increment (temp float)
+0:34 direct index (temp float)
+0:34 'color' (temp 4-component vector of float)
+0:34 Constant:
+0:34 2 (const int)
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 Compare Greater Than (temp bool)
+0:36 direct index (temp float)
+0:36 'color' (temp 4-component vector of float)
+0:36 Constant:
+0:36 2 (const int)
+0:36 'threshhold' (uniform float)
+0:36 true case
+0:37 Branch: Kill
+0:39 Post-Increment (temp 4-component vector of float)
+0:39 'color' (temp 4-component vector of float)
+0:42 Test condition and select (temp void)
+0:42 Condition
+0:42 Compare Greater Than (temp bool)
+0:42 direct index (temp float)
+0:42 'color' (temp 4-component vector of float)
+0:42 Constant:
+0:42 3 (const int)
+0:42 'threshhold2' (uniform float)
+0:42 true case
+0:43 Sequence
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:43 Compare Greater Than (temp bool)
+0:43 direct index (temp float)
+0:43 'color' (temp 4-component vector of float)
+0:43 Constant:
+0:43 2 (const int)
+0:43 'threshhold2' (uniform float)
+0:43 true case
+0:44 Branch: Return
+0:43 false case
+0:45 Test condition and select (temp void)
+0:45 Condition
+0:45 'b' (uniform bool)
+0:45 true case
+0:46 Post-Increment (temp float)
+0:46 direct index (temp float)
+0:46 'color' (temp 4-component vector of float)
+0:46 Constant:
+0:46 2 (const int)
+0:45 false case
+0:48 Sequence
+0:48 Test condition and select (temp void)
+0:48 Condition
+0:48 Compare Less Than (temp bool)
+0:48 direct index (temp float)
+0:48 'color' (temp 4-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:48 'minimum' (uniform float)
+0:48 true case
+0:49 Sequence
+0:49 Branch: Kill
+0:48 false case
+0:51 Sequence
+0:51 Post-Increment (temp 4-component vector of float)
+0:51 'color' (temp 4-component vector of float)
+0:42 false case
+0:55 Sequence
+0:55 Test condition and select (temp void)
+0:55 Condition
+0:55 'b' (uniform bool)
+0:55 true case
+0:56 Branch: Kill
+0:55 false case
+0:58 Branch: Return
+0:101 move second child to first child (temp 4-component vector of float)
+0:101 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:101 component-wise multiply (temp 4-component vector of float)
+0:101 'color' (temp 4-component vector of float)
+0:101 'color2' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'd' (uniform float)
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'smallColor' (uniform 4-component vector of float)
+0:? 'otherColor' (uniform 4-component vector of float)
+0:? 'c' (smooth in float)
+0:? 'threshhold' (uniform float)
+0:? 'threshhold2' (uniform float)
+0:? 'threshhold3' (uniform float)
+0:? 'minimum' (uniform float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'b' (uniform bool)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/empty.frag.out b/chromium/third_party/glslang/src/Test/baseResults/empty.frag.out
new file mode 100644
index 00000000000..be186bb9f8a
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/empty.frag.out
@@ -0,0 +1,17 @@
+empty.frag
+Shader version: 100
+0:? Sequence
+0:? Linker Objects
+
+empty2.frag
+Shader version: 100
+0:? Sequence
+0:? Linker Objects
+
+empty3.frag
+Shader version: 110
+0:? Sequence
+0:? Linker Objects
+
+ERROR: Cannot mix ES profile with non-ES profile shaders
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/errors.frag.out b/chromium/third_party/glslang/src/Test/baseResults/errors.frag.out
new file mode 100644
index 00000000000..f1e06d2cc7c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/errors.frag.out
@@ -0,0 +1,32 @@
+errors.frag
+ERROR: 0:1: 'main' : function cannot take any parameter(s)
+ERROR: 0:1: 'int' : main function cannot return a value
+ERROR: 2 compilation errors. No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:1 Function Definition: main(i1; (global mediump int)
+0:1 Function Parameters:
+0:1 'foo' (in mediump int)
+0:3 Sequence
+0:3 Branch: Return with expression
+0:3 Constant:
+0:3 1 (const int)
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:1 Function Definition: main(i1; (global mediump int)
+0:1 Function Parameters:
+0:1 'foo' (in mediump int)
+0:3 Sequence
+0:3 Branch: Return with expression
+0:3 Constant:
+0:3 1 (const int)
+0:? Linker Objects
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/es-link1.frag.out b/chromium/third_party/glslang/src/Test/baseResults/es-link1.frag.out
new file mode 100644
index 00000000000..41ce9a0fdfe
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/es-link1.frag.out
@@ -0,0 +1,27 @@
+es-link1.frag
+Shader version: 100
+0:? Sequence
+0:5 Function Definition: main( (global void)
+0:5 Function Parameters:
+0:7 Sequence
+0:7 move second child to first child (temp mediump 4-component vector of float)
+0:7 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)
+0:7 Function Call: calculateColor( (global mediump 4-component vector of float)
+0:? Linker Objects
+
+es-link2.frag
+Shader version: 100
+0:? Sequence
+0:5 Function Definition: calculateColor( (global mediump 4-component vector of float)
+0:5 Function Parameters:
+0:7 Sequence
+0:7 Branch: Return with expression
+0:7 vector-scale (temp mediump 4-component vector of float)
+0:7 'varyingColor' (smooth in mediump 4-component vector of float)
+0:7 Constant:
+0:7 0.500000
+0:? Linker Objects
+0:? 'varyingColor' (smooth in mediump 4-component vector of float)
+
+ERROR: Cannot attach multiple ES shaders of the same type to a single program
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/flowControl.frag.out b/chromium/third_party/glslang/src/Test/baseResults/flowControl.frag.out
new file mode 100644
index 00000000000..324da066c14
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/flowControl.frag.out
@@ -0,0 +1,81 @@
+flowControl.frag
+Shader version: 120
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'BaseColor' (smooth in 4-component vector of float)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'color2' (temp 4-component vector of float)
+0:15 'otherColor' (uniform 4-component vector of float)
+0:17 Test condition and select (temp void)
+0:17 Condition
+0:17 Compare Greater Than (temp bool)
+0:17 'c' (smooth in float)
+0:17 'd' (uniform float)
+0:17 true case
+0:18 add second child into first child (temp 4-component vector of float)
+0:18 'color' (temp 4-component vector of float)
+0:18 'bigColor' (uniform 4-component vector of float)
+0:17 false case
+0:20 add second child into first child (temp 4-component vector of float)
+0:20 'color' (temp 4-component vector of float)
+0:20 'smallColor' (uniform 4-component vector of float)
+0:22 move second child to first child (temp 4-component vector of float)
+0:22 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:22 component-wise multiply (temp 4-component vector of float)
+0:22 'color' (temp 4-component vector of float)
+0:22 'color2' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'd' (uniform float)
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'smallColor' (uniform 4-component vector of float)
+0:? 'otherColor' (uniform 4-component vector of float)
+0:? 'c' (smooth in float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 120
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'BaseColor' (smooth in 4-component vector of float)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'color2' (temp 4-component vector of float)
+0:15 'otherColor' (uniform 4-component vector of float)
+0:17 Test condition and select (temp void)
+0:17 Condition
+0:17 Compare Greater Than (temp bool)
+0:17 'c' (smooth in float)
+0:17 'd' (uniform float)
+0:17 true case
+0:18 add second child into first child (temp 4-component vector of float)
+0:18 'color' (temp 4-component vector of float)
+0:18 'bigColor' (uniform 4-component vector of float)
+0:17 false case
+0:20 add second child into first child (temp 4-component vector of float)
+0:20 'color' (temp 4-component vector of float)
+0:20 'smallColor' (uniform 4-component vector of float)
+0:22 move second child to first child (temp 4-component vector of float)
+0:22 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:22 component-wise multiply (temp 4-component vector of float)
+0:22 'color' (temp 4-component vector of float)
+0:22 'color2' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'd' (uniform float)
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'smallColor' (uniform 4-component vector of float)
+0:? 'otherColor' (uniform 4-component vector of float)
+0:? 'c' (smooth in float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/forLoop.frag.out b/chromium/third_party/glslang/src/Test/baseResults/forLoop.frag.out
new file mode 100644
index 00000000000..babd30e45d6
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/forLoop.frag.out
@@ -0,0 +1,361 @@
+forLoop.frag
+Shader version: 130
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'BaseColor' (smooth in 4-component vector of float)
+0:14 Sequence
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'i' (temp int)
+0:14 Constant:
+0:14 0 (const int)
+0:14 Loop with condition tested first
+0:14 Loop Condition
+0:14 Compare Less Than (temp bool)
+0:14 'i' (temp int)
+0:14 'Count' (uniform int)
+0:14 Loop Body
+0:15 Sequence
+0:15 add second child into first child (temp 4-component vector of float)
+0:15 'color' (temp 4-component vector of float)
+0:15 'bigColor' (uniform 4-component vector of float)
+0:14 Loop Terminal Expression
+0:14 Pre-Increment (temp int)
+0:14 'i' (temp int)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:18 'color' (temp 4-component vector of float)
+0:20 Sequence
+0:20 move second child to first child (temp float)
+0:20 'sum' (temp float)
+0:20 Constant:
+0:20 0.000000
+0:21 Sequence
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'i' (temp int)
+0:21 Constant:
+0:21 0 (const int)
+0:21 Loop with condition tested first
+0:21 Loop Condition
+0:21 Compare Less Than (temp bool)
+0:21 'i' (temp int)
+0:21 Constant:
+0:21 4 (const int)
+0:21 Loop Body
+0:22 add second child into first child (temp float)
+0:22 'sum' (temp float)
+0:22 Convert uint to float (temp float)
+0:22 indirect index (temp uint)
+0:22 'v4' (uniform 4-component vector of uint)
+0:22 'i' (temp int)
+0:21 Loop Terminal Expression
+0:21 Pre-Increment (temp int)
+0:21 'i' (temp int)
+0:26 Sequence
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'i' (temp int)
+0:26 Constant:
+0:26 0 (const int)
+0:26 Loop with condition tested first
+0:26 Loop Condition
+0:26 Compare Less Than (temp bool)
+0:26 'i' (temp int)
+0:26 Constant:
+0:26 4 (const int)
+0:26 Loop Body
+0:27 move second child to first child (temp float)
+0:27 indirect index (temp float)
+0:27 'tv4' (temp 4-component vector of float)
+0:27 'i' (temp int)
+0:27 Convert uint to float (temp float)
+0:27 component-wise multiply (temp uint)
+0:27 indirect index (temp uint)
+0:27 'v4' (uniform 4-component vector of uint)
+0:27 'i' (temp int)
+0:27 Constant:
+0:27 4 (const uint)
+0:26 Loop Terminal Expression
+0:26 Pre-Increment (temp int)
+0:26 'i' (temp int)
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:29 add (temp 4-component vector of float)
+0:29 Construct vec4 (temp 4-component vector of float)
+0:29 'sum' (temp float)
+0:29 'tv4' (temp 4-component vector of float)
+0:32 move second child to first child (temp 3-component vector of float)
+0:32 vector swizzle (temp 3-component vector of float)
+0:32 'r' (temp 4-component vector of float)
+0:32 Sequence
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 2 (const int)
+0:32 vector swizzle (temp 3-component vector of float)
+0:32 'BaseColor' (smooth in 4-component vector of float)
+0:32 Sequence
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 2 (const int)
+0:34 Sequence
+0:34 Sequence
+0:34 move second child to first child (temp int)
+0:34 'i' (temp int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 Loop with condition tested first
+0:34 Loop Condition
+0:34 Compare Less Than (temp bool)
+0:34 'i' (temp int)
+0:34 'Count' (uniform int)
+0:34 Loop Body
+0:35 move second child to first child (temp float)
+0:35 direct index (temp float)
+0:35 'r' (temp 4-component vector of float)
+0:35 Constant:
+0:35 3 (const int)
+0:35 'f' (smooth in float)
+0:34 Loop Terminal Expression
+0:34 Pre-Increment (temp int)
+0:34 'i' (temp int)
+0:37 add second child into first child (temp 3-component vector of float)
+0:37 vector swizzle (temp 3-component vector of float)
+0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:37 Sequence
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:37 Constant:
+0:37 2 (const int)
+0:37 vector swizzle (temp 3-component vector of float)
+0:37 'r' (temp 4-component vector of float)
+0:37 Sequence
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:37 Constant:
+0:37 2 (const int)
+0:39 Sequence
+0:39 Sequence
+0:39 move second child to first child (temp int)
+0:39 'i' (temp int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 Loop with condition tested first
+0:39 Loop Condition
+0:39 Compare Less Than (temp bool)
+0:39 'i' (temp int)
+0:39 Constant:
+0:39 16 (const int)
+0:39 Loop Body
+0:40 vector scale second child into first child (temp 4-component vector of float)
+0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:40 'f' (smooth in float)
+0:39 Loop Terminal Expression
+0:39 add second child into first child (temp int)
+0:39 'i' (temp int)
+0:39 Constant:
+0:39 4 (const int)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'f' (smooth in float)
+0:? 'Count' (uniform int)
+0:? 'v4' (uniform 4-component vector of uint)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'BaseColor' (smooth in 4-component vector of float)
+0:14 Sequence
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'i' (temp int)
+0:14 Constant:
+0:14 0 (const int)
+0:14 Loop with condition tested first
+0:14 Loop Condition
+0:14 Compare Less Than (temp bool)
+0:14 'i' (temp int)
+0:14 'Count' (uniform int)
+0:14 Loop Body
+0:15 Sequence
+0:15 add second child into first child (temp 4-component vector of float)
+0:15 'color' (temp 4-component vector of float)
+0:15 'bigColor' (uniform 4-component vector of float)
+0:14 Loop Terminal Expression
+0:14 Pre-Increment (temp int)
+0:14 'i' (temp int)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:18 'color' (temp 4-component vector of float)
+0:20 Sequence
+0:20 move second child to first child (temp float)
+0:20 'sum' (temp float)
+0:20 Constant:
+0:20 0.000000
+0:21 Sequence
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'i' (temp int)
+0:21 Constant:
+0:21 0 (const int)
+0:21 Loop with condition tested first
+0:21 Loop Condition
+0:21 Compare Less Than (temp bool)
+0:21 'i' (temp int)
+0:21 Constant:
+0:21 4 (const int)
+0:21 Loop Body
+0:22 add second child into first child (temp float)
+0:22 'sum' (temp float)
+0:22 Convert uint to float (temp float)
+0:22 indirect index (temp uint)
+0:22 'v4' (uniform 4-component vector of uint)
+0:22 'i' (temp int)
+0:21 Loop Terminal Expression
+0:21 Pre-Increment (temp int)
+0:21 'i' (temp int)
+0:26 Sequence
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'i' (temp int)
+0:26 Constant:
+0:26 0 (const int)
+0:26 Loop with condition tested first
+0:26 Loop Condition
+0:26 Compare Less Than (temp bool)
+0:26 'i' (temp int)
+0:26 Constant:
+0:26 4 (const int)
+0:26 Loop Body
+0:27 move second child to first child (temp float)
+0:27 indirect index (temp float)
+0:27 'tv4' (temp 4-component vector of float)
+0:27 'i' (temp int)
+0:27 Convert uint to float (temp float)
+0:27 component-wise multiply (temp uint)
+0:27 indirect index (temp uint)
+0:27 'v4' (uniform 4-component vector of uint)
+0:27 'i' (temp int)
+0:27 Constant:
+0:27 4 (const uint)
+0:26 Loop Terminal Expression
+0:26 Pre-Increment (temp int)
+0:26 'i' (temp int)
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:29 add (temp 4-component vector of float)
+0:29 Construct vec4 (temp 4-component vector of float)
+0:29 'sum' (temp float)
+0:29 'tv4' (temp 4-component vector of float)
+0:32 move second child to first child (temp 3-component vector of float)
+0:32 vector swizzle (temp 3-component vector of float)
+0:32 'r' (temp 4-component vector of float)
+0:32 Sequence
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 2 (const int)
+0:32 vector swizzle (temp 3-component vector of float)
+0:32 'BaseColor' (smooth in 4-component vector of float)
+0:32 Sequence
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 2 (const int)
+0:34 Sequence
+0:34 Sequence
+0:34 move second child to first child (temp int)
+0:34 'i' (temp int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 Loop with condition tested first
+0:34 Loop Condition
+0:34 Compare Less Than (temp bool)
+0:34 'i' (temp int)
+0:34 'Count' (uniform int)
+0:34 Loop Body
+0:35 move second child to first child (temp float)
+0:35 direct index (temp float)
+0:35 'r' (temp 4-component vector of float)
+0:35 Constant:
+0:35 3 (const int)
+0:35 'f' (smooth in float)
+0:34 Loop Terminal Expression
+0:34 Pre-Increment (temp int)
+0:34 'i' (temp int)
+0:37 add second child into first child (temp 3-component vector of float)
+0:37 vector swizzle (temp 3-component vector of float)
+0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:37 Sequence
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:37 Constant:
+0:37 2 (const int)
+0:37 vector swizzle (temp 3-component vector of float)
+0:37 'r' (temp 4-component vector of float)
+0:37 Sequence
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:37 Constant:
+0:37 2 (const int)
+0:39 Sequence
+0:39 Sequence
+0:39 move second child to first child (temp int)
+0:39 'i' (temp int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 Loop with condition tested first
+0:39 Loop Condition
+0:39 Compare Less Than (temp bool)
+0:39 'i' (temp int)
+0:39 Constant:
+0:39 16 (const int)
+0:39 Loop Body
+0:40 vector scale second child into first child (temp 4-component vector of float)
+0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:40 'f' (smooth in float)
+0:39 Loop Terminal Expression
+0:39 add second child into first child (temp int)
+0:39 'i' (temp int)
+0:39 Constant:
+0:39 4 (const int)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'f' (smooth in float)
+0:? 'Count' (uniform int)
+0:? 'v4' (uniform 4-component vector of uint)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/forwardRef.frag.out b/chromium/third_party/glslang/src/Test/baseResults/forwardRef.frag.out
new file mode 100644
index 00000000000..357cc2bd458
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/forwardRef.frag.out
@@ -0,0 +1,125 @@
+forwardRef.frag
+Shader version: 110
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 Sequence
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'color' (temp 4-component vector of float)
+0:13 Construct vec4 (temp 4-component vector of float)
+0:13 Function Call: foo(vf4; (global float)
+0:13 'BaseColor' (smooth in 4-component vector of float)
+0:15 Function Call: bar( (global void)
+0:16 Sequence
+0:16 move second child to first child (temp float)
+0:16 'f' (temp float)
+0:16 Function Call: unreachableReturn( (global float)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:18 vector-scale (temp 4-component vector of float)
+0:18 'color' (temp 4-component vector of float)
+0:18 'f' (temp float)
+0:21 Function Definition: bar( (global void)
+0:21 Function Parameters:
+0:25 Function Definition: unreachableReturn( (global float)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 Function Call: bar( (global void)
+0:28 Test condition and select (temp void)
+0:28 Condition
+0:28 Compare Less Than (temp bool)
+0:28 'd' (uniform float)
+0:28 Constant:
+0:28 4.200000
+0:28 true case
+0:29 Branch: Return with expression
+0:29 Constant:
+0:29 1.200000
+0:28 false case
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 4.500000
+0:34 Function Definition: foo(vf4; (global float)
+0:34 Function Parameters:
+0:34 'bar' (in 4-component vector of float)
+0:36 Sequence
+0:36 Branch: Return with expression
+0:36 add (temp float)
+0:36 direct index (temp float)
+0:36 'bar' (in 4-component vector of float)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp float)
+0:36 'bar' (in 4-component vector of float)
+0:36 Constant:
+0:36 1 (const int)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 Sequence
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'color' (temp 4-component vector of float)
+0:13 Construct vec4 (temp 4-component vector of float)
+0:13 Function Call: foo(vf4; (global float)
+0:13 'BaseColor' (smooth in 4-component vector of float)
+0:15 Function Call: bar( (global void)
+0:16 Sequence
+0:16 move second child to first child (temp float)
+0:16 'f' (temp float)
+0:16 Function Call: unreachableReturn( (global float)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:18 vector-scale (temp 4-component vector of float)
+0:18 'color' (temp 4-component vector of float)
+0:18 'f' (temp float)
+0:21 Function Definition: bar( (global void)
+0:21 Function Parameters:
+0:25 Function Definition: unreachableReturn( (global float)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 Function Call: bar( (global void)
+0:28 Test condition and select (temp void)
+0:28 Condition
+0:28 Compare Less Than (temp bool)
+0:28 'd' (uniform float)
+0:28 Constant:
+0:28 4.200000
+0:28 true case
+0:29 Branch: Return with expression
+0:29 Constant:
+0:29 1.200000
+0:28 false case
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 4.500000
+0:34 Function Definition: foo(vf4; (global float)
+0:34 Function Parameters:
+0:34 'bar' (in 4-component vector of float)
+0:36 Sequence
+0:36 Branch: Return with expression
+0:36 add (temp float)
+0:36 direct index (temp float)
+0:36 'bar' (in 4-component vector of float)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp float)
+0:36 'bar' (in 4-component vector of float)
+0:36 Constant:
+0:36 1 (const int)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/functionCall.frag.out b/chromium/third_party/glslang/src/Test/baseResults/functionCall.frag.out
new file mode 100644
index 00000000000..610f2bb1e65
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/functionCall.frag.out
@@ -0,0 +1,183 @@
+functionCall.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:7 Sequence
+0:7 move second child to first child (temp float)
+0:7 'h' (global float)
+0:7 Constant:
+0:7 0.000000
+0:9 Function Definition: foo(vf4; (global float)
+0:9 Function Parameters:
+0:9 'bar' (in 4-component vector of float)
+0:11 Sequence
+0:11 Branch: Return with expression
+0:11 add (temp float)
+0:11 direct index (temp float)
+0:11 'bar' (in 4-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 direct index (temp float)
+0:11 'bar' (in 4-component vector of float)
+0:11 Constant:
+0:11 1 (const int)
+0:14 Function Definition: bar( (global void)
+0:14 Function Parameters:
+0:18 Function Definition: unreachableReturn( (global float)
+0:18 Function Parameters:
+0:20 Sequence
+0:20 Test condition and select (temp void)
+0:20 Condition
+0:20 Compare Less Than (temp bool)
+0:20 'd' (uniform float)
+0:20 Constant:
+0:20 4.200000
+0:20 true case
+0:21 Branch: Return with expression
+0:21 Constant:
+0:21 1.200000
+0:20 false case
+0:23 Branch: Return with expression
+0:23 Constant:
+0:23 4.500000
+0:27 Function Definition: missingReturn( (global float)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Test condition and select (temp void)
+0:29 Condition
+0:29 Compare Less Than (temp bool)
+0:29 'd' (uniform float)
+0:29 Constant:
+0:29 4.500000
+0:29 true case
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'h' (global float)
+0:30 'd' (uniform float)
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 3.900000
+0:35 Function Definition: main( (global void)
+0:35 Function Parameters:
+0:37 Sequence
+0:37 Sequence
+0:37 move second child to first child (temp 4-component vector of float)
+0:37 'color' (temp 4-component vector of float)
+0:37 Construct vec4 (temp 4-component vector of float)
+0:37 Function Call: foo(vf4; (global float)
+0:37 'BaseColor' (smooth in 4-component vector of float)
+0:39 Function Call: bar( (global void)
+0:40 Sequence
+0:40 move second child to first child (temp float)
+0:40 'f' (temp float)
+0:40 Function Call: unreachableReturn( (global float)
+0:41 Sequence
+0:41 move second child to first child (temp float)
+0:41 'g' (temp float)
+0:41 Function Call: missingReturn( (global float)
+0:43 move second child to first child (temp 4-component vector of float)
+0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:43 vector-scale (temp 4-component vector of float)
+0:43 vector-scale (temp 4-component vector of float)
+0:43 'color' (temp 4-component vector of float)
+0:43 'f' (temp float)
+0:43 'h' (global float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'h' (global float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:7 Sequence
+0:7 move second child to first child (temp float)
+0:7 'h' (global float)
+0:7 Constant:
+0:7 0.000000
+0:9 Function Definition: foo(vf4; (global float)
+0:9 Function Parameters:
+0:9 'bar' (in 4-component vector of float)
+0:11 Sequence
+0:11 Branch: Return with expression
+0:11 add (temp float)
+0:11 direct index (temp float)
+0:11 'bar' (in 4-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 direct index (temp float)
+0:11 'bar' (in 4-component vector of float)
+0:11 Constant:
+0:11 1 (const int)
+0:14 Function Definition: bar( (global void)
+0:14 Function Parameters:
+0:18 Function Definition: unreachableReturn( (global float)
+0:18 Function Parameters:
+0:20 Sequence
+0:20 Test condition and select (temp void)
+0:20 Condition
+0:20 Compare Less Than (temp bool)
+0:20 'd' (uniform float)
+0:20 Constant:
+0:20 4.200000
+0:20 true case
+0:21 Branch: Return with expression
+0:21 Constant:
+0:21 1.200000
+0:20 false case
+0:23 Branch: Return with expression
+0:23 Constant:
+0:23 4.500000
+0:27 Function Definition: missingReturn( (global float)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Test condition and select (temp void)
+0:29 Condition
+0:29 Compare Less Than (temp bool)
+0:29 'd' (uniform float)
+0:29 Constant:
+0:29 4.500000
+0:29 true case
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'h' (global float)
+0:30 'd' (uniform float)
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 3.900000
+0:35 Function Definition: main( (global void)
+0:35 Function Parameters:
+0:37 Sequence
+0:37 Sequence
+0:37 move second child to first child (temp 4-component vector of float)
+0:37 'color' (temp 4-component vector of float)
+0:37 Construct vec4 (temp 4-component vector of float)
+0:37 Function Call: foo(vf4; (global float)
+0:37 'BaseColor' (smooth in 4-component vector of float)
+0:39 Function Call: bar( (global void)
+0:40 Sequence
+0:40 move second child to first child (temp float)
+0:40 'f' (temp float)
+0:40 Function Call: unreachableReturn( (global float)
+0:41 Sequence
+0:41 move second child to first child (temp float)
+0:41 'g' (temp float)
+0:41 Function Call: missingReturn( (global float)
+0:43 move second child to first child (temp 4-component vector of float)
+0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:43 vector-scale (temp 4-component vector of float)
+0:43 vector-scale (temp 4-component vector of float)
+0:43 'color' (temp 4-component vector of float)
+0:43 'f' (temp float)
+0:43 'h' (global float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'h' (global float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/functionSemantics.frag.out b/chromium/third_party/glslang/src/Test/baseResults/functionSemantics.frag.out
new file mode 100644
index 00000000000..a9dfb91c53c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/functionSemantics.frag.out
@@ -0,0 +1,401 @@
+functionSemantics.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 400
+0:? Sequence
+0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; (global int)
+0:5 Function Parameters:
+0:5 'a' (in int)
+0:5 'b' (const (read only) int)
+0:5 'c' (in int)
+0:5 'd' (const (read only) int)
+0:5 'e' (out int)
+0:5 'f' (inout int)
+0:7 Sequence
+0:7 Sequence
+0:7 move second child to first child (temp int)
+0:7 'sum' (temp int)
+0:7 add (temp int)
+0:7 add (temp int)
+0:7 add (temp int)
+0:7 add (temp int)
+0:7 'a' (in int)
+0:7 'b' (const (read only) int)
+0:7 'c' (in int)
+0:7 'd' (const (read only) int)
+0:7 'f' (inout int)
+0:10 multiply second child into first child (temp int)
+0:10 'a' (in int)
+0:10 Constant:
+0:10 64 (const int)
+0:12 multiply second child into first child (temp int)
+0:12 'c' (in int)
+0:12 Constant:
+0:12 64 (const int)
+0:14 move second child to first child (temp int)
+0:14 'e' (out int)
+0:14 Constant:
+0:14 1024 (const int)
+0:15 multiply second child into first child (temp int)
+0:15 'f' (inout int)
+0:15 Constant:
+0:15 64 (const int)
+0:17 add second child into first child (temp int)
+0:17 'sum' (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 'a' (in int)
+0:17 component-wise multiply (temp int)
+0:17 Constant:
+0:17 64 (const int)
+0:17 'b' (const (read only) int)
+0:17 'c' (in int)
+0:17 component-wise multiply (temp int)
+0:17 Constant:
+0:17 64 (const int)
+0:17 'd' (const (read only) int)
+0:17 'e' (out int)
+0:17 'f' (inout int)
+0:20 Branch: Return with expression
+0:20 'sum' (temp int)
+0:23 Function Definition: foo2(f1;vf3;i1; (global int)
+0:23 Function Parameters:
+0:23 'a' (in float)
+0:23 'b' (in 3-component vector of float)
+0:23 'r' (out int)
+0:25 Sequence
+0:25 move second child to first child (temp int)
+0:25 'r' (out int)
+0:25 Convert float to int (temp int)
+0:25 component-wise multiply (temp float)
+0:25 Constant:
+0:25 3.000000
+0:25 'a' (in float)
+0:26 Branch: Return with expression
+0:26 Convert float to int (temp int)
+0:26 component-wise multiply (temp float)
+0:26 Constant:
+0:26 5.000000
+0:26 direct index (temp float)
+0:26 'b' (in 3-component vector of float)
+0:26 Constant:
+0:26 1 (const int)
+0:29 Function Definition: foo3( (global int)
+0:29 Function Parameters:
+0:31 Sequence
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Greater Than (temp bool)
+0:31 'u' (uniform float)
+0:31 Constant:
+0:31 3.200000
+0:31 true case
+0:32 Sequence
+0:32 Branch: Kill
+0:33 Branch: Return with expression
+0:33 Constant:
+0:33 1000000 (const int)
+0:36 Branch: Return with expression
+0:36 Constant:
+0:36 2000000 (const int)
+0:39 Function Definition: main( (global void)
+0:39 Function Parameters:
+0:? Sequence
+0:42 Sequence
+0:42 move second child to first child (temp int)
+0:42 't' (temp int)
+0:42 Constant:
+0:42 2 (const int)
+0:46 move second child to first child (temp int)
+0:46 direct index (temp int)
+0:46 t: direct index for structure (temp 4-component vector of int)
+0:46 'f' (temp structure{temp 4-component vector of int t})
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 1 (const int)
+0:46 Constant:
+0:46 32 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp int)
+0:49 'color' (temp int)
+0:49 Function Call: foo(i1;i1;i1;i1;i1;i1; (global int)
+0:49 Constant:
+0:49 1 (const int)
+0:49 Constant:
+0:49 2 (const int)
+0:49 add (temp int)
+0:49 't' (temp int)
+0:49 't' (temp int)
+0:49 Constant:
+0:49 8 (const int)
+0:49 'e' (temp int)
+0:49 direct index (temp int)
+0:49 t: direct index for structure (temp 4-component vector of int)
+0:49 'f' (temp structure{temp 4-component vector of int t})
+0:49 Constant:
+0:49 0 (const int)
+0:49 Constant:
+0:49 1 (const int)
+0:51 add second child into first child (temp int)
+0:51 'color' (temp int)
+0:51 component-wise multiply (temp int)
+0:51 Constant:
+0:51 128 (const int)
+0:51 add (temp int)
+0:51 'e' (temp int)
+0:51 direct index (temp int)
+0:51 t: direct index for structure (temp 4-component vector of int)
+0:51 'f' (temp structure{temp 4-component vector of int t})
+0:51 Constant:
+0:51 0 (const int)
+0:51 Constant:
+0:51 1 (const int)
+0:57 move second child to first child (temp float)
+0:57 'ret' (temp float)
+0:57 Convert int to float (temp float)
+0:57 Comma (global int)
+0:57 move second child to first child (temp int)
+0:57 'tempReturn' (global int)
+0:57 Function Call: foo2(f1;vf3;i1; (global int)
+0:57 Constant:
+0:57 4.000000
+0:57 Constant:
+0:57 1.000000
+0:57 2.000000
+0:57 3.000000
+0:57 'tempArg' (temp int)
+0:57 move second child to first child (temp float)
+0:57 'arg' (temp float)
+0:57 Convert int to float (temp float)
+0:57 'tempArg' (temp int)
+0:57 'tempReturn' (global int)
+0:58 add second child into first child (temp int)
+0:58 'color' (temp int)
+0:58 Convert float to int (temp int)
+0:58 add (temp float)
+0:58 'ret' (temp float)
+0:58 'arg' (temp float)
+0:60 add second child into first child (temp int)
+0:60 'color' (temp int)
+0:60 Function Call: foo3( (global int)
+0:62 move second child to first child (temp 4-component vector of float)
+0:62 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:62 Construct vec4 (temp 4-component vector of float)
+0:62 Convert int to float (temp float)
+0:62 'color' (temp int)
+0:66 Function Definition: aggCall( (global void)
+0:66 Function Parameters:
+0:? Sequence
+0:69 Function Call: m(vf2; (global 3-component vector of float)
+0:69 Convert int to float (temp 2-component vector of float)
+0:69 Construct ivec2 (temp 2-component vector of int)
+0:69 Convert float to int (temp int)
+0:69 'F' (temp float)
+0:? Linker Objects
+0:? 'u' (uniform float)
+
+
+Linked fragment stage:
+
+
+Shader version: 400
+0:? Sequence
+0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; (global int)
+0:5 Function Parameters:
+0:5 'a' (in int)
+0:5 'b' (const (read only) int)
+0:5 'c' (in int)
+0:5 'd' (const (read only) int)
+0:5 'e' (out int)
+0:5 'f' (inout int)
+0:7 Sequence
+0:7 Sequence
+0:7 move second child to first child (temp int)
+0:7 'sum' (temp int)
+0:7 add (temp int)
+0:7 add (temp int)
+0:7 add (temp int)
+0:7 add (temp int)
+0:7 'a' (in int)
+0:7 'b' (const (read only) int)
+0:7 'c' (in int)
+0:7 'd' (const (read only) int)
+0:7 'f' (inout int)
+0:10 multiply second child into first child (temp int)
+0:10 'a' (in int)
+0:10 Constant:
+0:10 64 (const int)
+0:12 multiply second child into first child (temp int)
+0:12 'c' (in int)
+0:12 Constant:
+0:12 64 (const int)
+0:14 move second child to first child (temp int)
+0:14 'e' (out int)
+0:14 Constant:
+0:14 1024 (const int)
+0:15 multiply second child into first child (temp int)
+0:15 'f' (inout int)
+0:15 Constant:
+0:15 64 (const int)
+0:17 add second child into first child (temp int)
+0:17 'sum' (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 'a' (in int)
+0:17 component-wise multiply (temp int)
+0:17 Constant:
+0:17 64 (const int)
+0:17 'b' (const (read only) int)
+0:17 'c' (in int)
+0:17 component-wise multiply (temp int)
+0:17 Constant:
+0:17 64 (const int)
+0:17 'd' (const (read only) int)
+0:17 'e' (out int)
+0:17 'f' (inout int)
+0:20 Branch: Return with expression
+0:20 'sum' (temp int)
+0:23 Function Definition: foo2(f1;vf3;i1; (global int)
+0:23 Function Parameters:
+0:23 'a' (in float)
+0:23 'b' (in 3-component vector of float)
+0:23 'r' (out int)
+0:25 Sequence
+0:25 move second child to first child (temp int)
+0:25 'r' (out int)
+0:25 Convert float to int (temp int)
+0:25 component-wise multiply (temp float)
+0:25 Constant:
+0:25 3.000000
+0:25 'a' (in float)
+0:26 Branch: Return with expression
+0:26 Convert float to int (temp int)
+0:26 component-wise multiply (temp float)
+0:26 Constant:
+0:26 5.000000
+0:26 direct index (temp float)
+0:26 'b' (in 3-component vector of float)
+0:26 Constant:
+0:26 1 (const int)
+0:29 Function Definition: foo3( (global int)
+0:29 Function Parameters:
+0:31 Sequence
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Greater Than (temp bool)
+0:31 'u' (uniform float)
+0:31 Constant:
+0:31 3.200000
+0:31 true case
+0:32 Sequence
+0:32 Branch: Kill
+0:33 Branch: Return with expression
+0:33 Constant:
+0:33 1000000 (const int)
+0:36 Branch: Return with expression
+0:36 Constant:
+0:36 2000000 (const int)
+0:39 Function Definition: main( (global void)
+0:39 Function Parameters:
+0:? Sequence
+0:42 Sequence
+0:42 move second child to first child (temp int)
+0:42 't' (temp int)
+0:42 Constant:
+0:42 2 (const int)
+0:46 move second child to first child (temp int)
+0:46 direct index (temp int)
+0:46 t: direct index for structure (temp 4-component vector of int)
+0:46 'f' (temp structure{temp 4-component vector of int t})
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 1 (const int)
+0:46 Constant:
+0:46 32 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp int)
+0:49 'color' (temp int)
+0:49 Function Call: foo(i1;i1;i1;i1;i1;i1; (global int)
+0:49 Constant:
+0:49 1 (const int)
+0:49 Constant:
+0:49 2 (const int)
+0:49 add (temp int)
+0:49 't' (temp int)
+0:49 't' (temp int)
+0:49 Constant:
+0:49 8 (const int)
+0:49 'e' (temp int)
+0:49 direct index (temp int)
+0:49 t: direct index for structure (temp 4-component vector of int)
+0:49 'f' (temp structure{temp 4-component vector of int t})
+0:49 Constant:
+0:49 0 (const int)
+0:49 Constant:
+0:49 1 (const int)
+0:51 add second child into first child (temp int)
+0:51 'color' (temp int)
+0:51 component-wise multiply (temp int)
+0:51 Constant:
+0:51 128 (const int)
+0:51 add (temp int)
+0:51 'e' (temp int)
+0:51 direct index (temp int)
+0:51 t: direct index for structure (temp 4-component vector of int)
+0:51 'f' (temp structure{temp 4-component vector of int t})
+0:51 Constant:
+0:51 0 (const int)
+0:51 Constant:
+0:51 1 (const int)
+0:57 move second child to first child (temp float)
+0:57 'ret' (temp float)
+0:57 Convert int to float (temp float)
+0:57 Comma (global int)
+0:57 move second child to first child (temp int)
+0:57 'tempReturn' (global int)
+0:57 Function Call: foo2(f1;vf3;i1; (global int)
+0:57 Constant:
+0:57 4.000000
+0:57 Constant:
+0:57 1.000000
+0:57 2.000000
+0:57 3.000000
+0:57 'tempArg' (temp int)
+0:57 move second child to first child (temp float)
+0:57 'arg' (temp float)
+0:57 Convert int to float (temp float)
+0:57 'tempArg' (temp int)
+0:57 'tempReturn' (global int)
+0:58 add second child into first child (temp int)
+0:58 'color' (temp int)
+0:58 Convert float to int (temp int)
+0:58 add (temp float)
+0:58 'ret' (temp float)
+0:58 'arg' (temp float)
+0:60 add second child into first child (temp int)
+0:60 'color' (temp int)
+0:60 Function Call: foo3( (global int)
+0:62 move second child to first child (temp 4-component vector of float)
+0:62 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:62 Construct vec4 (temp 4-component vector of float)
+0:62 Convert int to float (temp float)
+0:62 'color' (temp int)
+0:66 Function Definition: aggCall( (global void)
+0:66 Function Parameters:
+0:? Sequence
+0:69 Function Call: m(vf2; (global 3-component vector of float)
+0:69 Convert int to float (temp 2-component vector of float)
+0:69 Construct ivec2 (temp 2-component vector of int)
+0:69 Convert float to int (temp int)
+0:69 'F' (temp float)
+0:? Linker Objects
+0:? 'u' (uniform float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.assoc.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.assoc.frag.out
new file mode 100755
index 00000000000..a027a62c617
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.assoc.frag.out
@@ -0,0 +1,113 @@
+hlsl.assoc.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:12 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float)
+0:8 Function Parameters:
+0:8 'a1' (temp 4-component vector of float)
+0:8 'a2' (temp 4-component vector of float)
+0:8 'a3' (temp 4-component vector of float)
+0:8 'a4' (temp 4-component vector of float)
+0:8 'a5' (temp 4-component vector of float)
+0:? Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'a1' (temp 4-component vector of float)
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'a2' (temp 4-component vector of float)
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'a3' (temp 4-component vector of float)
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'a4' (temp 4-component vector of float)
+0:9 'a5' (temp 4-component vector of float)
+0:10 Branch: Return with expression
+0:10 add (temp 4-component vector of float)
+0:10 add (temp 4-component vector of float)
+0:10 add (temp 4-component vector of float)
+0:10 'a1' (temp 4-component vector of float)
+0:10 'a2' (temp 4-component vector of float)
+0:10 add (temp 4-component vector of float)
+0:10 'a3' (temp 4-component vector of float)
+0:10 'a4' (temp 4-component vector of float)
+0:10 'a5' (temp 4-component vector of float)
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:12 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float)
+0:8 Function Parameters:
+0:8 'a1' (temp 4-component vector of float)
+0:8 'a2' (temp 4-component vector of float)
+0:8 'a3' (temp 4-component vector of float)
+0:8 'a4' (temp 4-component vector of float)
+0:8 'a5' (temp 4-component vector of float)
+0:? Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'a1' (temp 4-component vector of float)
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'a2' (temp 4-component vector of float)
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'a3' (temp 4-component vector of float)
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'a4' (temp 4-component vector of float)
+0:9 'a5' (temp 4-component vector of float)
+0:10 Branch: Return with expression
+0:10 add (temp 4-component vector of float)
+0:10 add (temp 4-component vector of float)
+0:10 add (temp 4-component vector of float)
+0:10 'a1' (temp 4-component vector of float)
+0:10 'a2' (temp 4-component vector of float)
+0:10 add (temp 4-component vector of float)
+0:10 'a3' (temp 4-component vector of float)
+0:10 'a4' (temp 4-component vector of float)
+0:10 'a5' (temp 4-component vector of float)
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 25
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 9 "a1"
+ Name 10 "a2"
+ Name 11 "a3"
+ Name 12 "a4"
+ Name 13 "a5"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 9(a1): 8(ptr) Variable Function
+ 10(a2): 8(ptr) Variable Function
+ 11(a3): 8(ptr) Variable Function
+ 12(a4): 8(ptr) Variable Function
+ 13(a5): 8(ptr) Variable Function
+ 14: 7(fvec4) Load 13(a5)
+ Store 12(a4) 14
+ Store 11(a3) 14
+ Store 10(a2) 14
+ Store 9(a1) 14
+ 15: 7(fvec4) Load 9(a1)
+ 16: 7(fvec4) Load 10(a2)
+ 17: 7(fvec4) FAdd 15 16
+ 18: 7(fvec4) Load 11(a3)
+ 19: 7(fvec4) Load 12(a4)
+ 20: 7(fvec4) FAdd 18 19
+ 21: 7(fvec4) FAdd 17 20
+ 22: 7(fvec4) Load 13(a5)
+ 23: 7(fvec4) FAdd 21 22
+ ReturnValue 23
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.attribute.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.attribute.frag.out
new file mode 100755
index 00000000000..6ee4a24659c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.attribute.frag.out
@@ -0,0 +1,57 @@
+hlsl.attribute.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:14 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:11 Test condition and select (temp void)
+0:11 Condition
+0:11 Constant:
+0:11 0 (const int)
+0:11 true case is null
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:14 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:11 Test condition and select (temp void)
+0:11 Condition
+0:11 Constant:
+0:11 0 (const int)
+0:11 true case is null
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 10
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: 6(int) Constant 0
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ SelectionMerge 9 None
+ BranchConditional 7 8 9
+ 8: Label
+ Branch 9
+ 9: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.cast.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.cast.frag.out
new file mode 100755
index 00000000000..1e689788774
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.cast.frag.out
@@ -0,0 +1,86 @@
+hlsl.cast.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:5 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:3 Branch: Return with expression
+0:3 add (temp 4-component vector of float)
+0:3 add (temp 4-component vector of float)
+0:3 Construct vec4 (temp 4-component vector of float)
+0:3 'input' (temp 4-component vector of float)
+0:3 Convert int to float (temp 4-component vector of float)
+0:3 Convert float to int (temp 4-component vector of int)
+0:3 'input' (temp 4-component vector of float)
+0:3 Constant:
+0:3 1.198000
+0:3 1.198000
+0:3 1.198000
+0:3 1.198000
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:5 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:3 Branch: Return with expression
+0:3 add (temp 4-component vector of float)
+0:3 add (temp 4-component vector of float)
+0:3 Construct vec4 (temp 4-component vector of float)
+0:3 'input' (temp 4-component vector of float)
+0:3 Convert int to float (temp 4-component vector of float)
+0:3 Convert float to int (temp 4-component vector of int)
+0:3 'input' (temp 4-component vector of float)
+0:3 Constant:
+0:3 1.198000
+0:3 1.198000
+0:3 1.198000
+0:3 1.198000
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 26
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 9 "input"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 17: TypeInt 32 1
+ 18: TypeVector 17(int) 4
+ 22: 6(float) Constant 1067014160
+ 23: 7(fvec4) ConstantComposite 22 22 22 22
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 9(input): 8(ptr) Variable Function
+ 10: 7(fvec4) Load 9(input)
+ 11: 6(float) CompositeExtract 10 0
+ 12: 6(float) CompositeExtract 10 1
+ 13: 6(float) CompositeExtract 10 2
+ 14: 6(float) CompositeExtract 10 3
+ 15: 7(fvec4) CompositeConstruct 11 12 13 14
+ 16: 7(fvec4) Load 9(input)
+ 19: 18(ivec4) ConvertFToS 16
+ 20: 7(fvec4) ConvertSToF 19
+ 21: 7(fvec4) FAdd 15 20
+ 24: 7(fvec4) FAdd 21 23
+ ReturnValue 24
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.doLoop.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.doLoop.frag.out
new file mode 100755
index 00000000000..eed2d9136f5
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.doLoop.frag.out
@@ -0,0 +1,116 @@
+hlsl.doLoop.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:7 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:3 Loop with condition not tested first
+0:3 Loop Condition
+0:3 Constant:
+0:3 false (const bool)
+0:3 No loop body
+0:4 Loop with condition not tested first
+0:4 Loop Condition
+0:4 Constant:
+0:4 false (const bool)
+0:4 No loop body
+0:5 Loop with condition not tested first
+0:5 Loop Condition
+0:5 Compare Equal (temp bool)
+0:5 'input' (temp 4-component vector of float)
+0:5 'input' (temp 4-component vector of float)
+0:5 Loop Body
+0:5 Branch: Return with expression
+0:5 'input' (temp 4-component vector of float)
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:7 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:3 Loop with condition not tested first
+0:3 Loop Condition
+0:3 Constant:
+0:3 false (const bool)
+0:3 No loop body
+0:4 Loop with condition not tested first
+0:4 Loop Condition
+0:4 Constant:
+0:4 false (const bool)
+0:4 No loop body
+0:5 Loop with condition not tested first
+0:5 Loop Condition
+0:5 Compare Equal (temp bool)
+0:5 'input' (temp 4-component vector of float)
+0:5 'input' (temp 4-component vector of float)
+0:5 Loop Body
+0:5 Branch: Return with expression
+0:5 'input' (temp 4-component vector of float)
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 31
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 23 "input"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 10: TypeBool
+ 11: 10(bool) ConstantFalse
+ 20: TypeFloat 32
+ 21: TypeVector 20(float) 4
+ 22: TypePointer Function 21(fvec4)
+ 28: TypeVector 10(bool) 4
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 23(input): 22(ptr) Variable Function
+ Branch 6
+ 6: Label
+ LoopMerge 8 9 None
+ Branch 7
+ 7: Label
+ Branch 9
+ 9: Label
+ BranchConditional 11 6 8
+ 8: Label
+ Branch 12
+ 12: Label
+ LoopMerge 14 15 None
+ Branch 13
+ 13: Label
+ Branch 15
+ 15: Label
+ BranchConditional 11 12 14
+ 14: Label
+ Branch 16
+ 16: Label
+ LoopMerge 18 19 None
+ Branch 17
+ 17: Label
+ 24: 21(fvec4) Load 23(input)
+ ReturnValue 24
+ 19: Label
+ 26: 21(fvec4) Load 23(input)
+ 27: 21(fvec4) Load 23(input)
+ 29: 28(bvec4) FOrdEqual 26 27
+ 30: 10(bool) All 29
+ BranchConditional 30 16 18
+ 18: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.float1.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.float1.frag.out
new file mode 100755
index 00000000000..4cf0a0d1ff9
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.float1.frag.out
@@ -0,0 +1,100 @@
+hlsl.float1.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:1 move second child to first child (temp 1-component vector of float)
+0:1 'f1' (temp 1-component vector of float)
+0:1 Constant:
+0:1 1.000000
+0:2 move second child to first child (temp float)
+0:2 'scalar' (temp float)
+0:2 Constant:
+0:2 2.000000
+0:8 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float)
+0:5 Function Parameters:
+0:5 'inFloat1' (temp 1-component vector of float)
+0:5 'inScalar' (temp float)
+0:? Sequence
+0:6 Branch: Return with expression
+0:6 add (temp 1-component vector of float)
+0:6 vector-scale (temp 1-component vector of float)
+0:6 'f1' (temp 1-component vector of float)
+0:6 'scalar' (temp float)
+0:6 vector-scale (temp 1-component vector of float)
+0:6 'inFloat1' (temp 1-component vector of float)
+0:6 'inScalar' (temp float)
+0:? Linker Objects
+0:? 'f1' (temp 1-component vector of float)
+0:? 'scalar' (temp float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:1 move second child to first child (temp 1-component vector of float)
+0:1 'f1' (temp 1-component vector of float)
+0:1 Constant:
+0:1 1.000000
+0:2 move second child to first child (temp float)
+0:2 'scalar' (temp float)
+0:2 Constant:
+0:2 2.000000
+0:8 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float)
+0:5 Function Parameters:
+0:5 'inFloat1' (temp 1-component vector of float)
+0:5 'inScalar' (temp float)
+0:? Sequence
+0:6 Branch: Return with expression
+0:6 add (temp 1-component vector of float)
+0:6 vector-scale (temp 1-component vector of float)
+0:6 'f1' (temp 1-component vector of float)
+0:6 'scalar' (temp float)
+0:6 vector-scale (temp 1-component vector of float)
+0:6 'inFloat1' (temp 1-component vector of float)
+0:6 'inScalar' (temp float)
+0:? Linker Objects
+0:? 'f1' (temp 1-component vector of float)
+0:? 'scalar' (temp float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 24
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 11 "ShaderFunction(vf1;f1;"
+ Name 9 "inFloat1"
+ Name 10 "inScalar"
+ Name 13 "f1"
+ Name 15 "scalar"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 8: TypeFunction 6(float) 7(ptr) 7(ptr)
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ FunctionEnd
+11(ShaderFunction(vf1;f1;): 6(float) Function None 8
+ 9(inFloat1): 7(ptr) FunctionParameter
+ 10(inScalar): 7(ptr) FunctionParameter
+ 12: Label
+ 13(f1): 7(ptr) Variable Function
+ 15(scalar): 7(ptr) Variable Function
+ 14: 6(float) Load 13(f1)
+ 16: 6(float) Load 15(scalar)
+ 17: 6(float) IMul 14 16
+ 18: 6(float) Load 9(inFloat1)
+ 19: 6(float) Load 10(inScalar)
+ 20: 6(float) IMul 18 19
+ 21: 6(float) FAdd 17 20
+ ReturnValue 21
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.float4.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.float4.frag.out
new file mode 100755
index 00000000000..2ea803f1a8d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.float4.frag.out
@@ -0,0 +1,99 @@
+hlsl.float4.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:1 move second child to first child (temp 4-component vector of float)
+0:1 'AmbientColor' (temp 4-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 0.500000
+0:? 0.000000
+0:? 1.000000
+0:12 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float)
+0:9 Function Parameters:
+0:9 'input' (temp 4-component vector of float)
+0:? Sequence
+0:10 Branch: Return with expression
+0:10 component-wise multiply (temp 4-component vector of float)
+0:10 'input' (temp 4-component vector of float)
+0:10 'AmbientColor' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'AmbientColor' (temp 4-component vector of float)
+0:? 'ff1' (temp bool Face)
+0:? 'ff2' (temp 4-component vector of float)
+0:? 'ff3' (temp 4-component vector of float)
+0:? 'ff4' (temp 4-component vector of float FragCoord)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:1 move second child to first child (temp 4-component vector of float)
+0:1 'AmbientColor' (temp 4-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 0.500000
+0:? 0.000000
+0:? 1.000000
+0:12 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float)
+0:9 Function Parameters:
+0:9 'input' (temp 4-component vector of float)
+0:? Sequence
+0:10 Branch: Return with expression
+0:10 component-wise multiply (temp 4-component vector of float)
+0:10 'input' (temp 4-component vector of float)
+0:10 'AmbientColor' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'AmbientColor' (temp 4-component vector of float)
+0:? 'ff1' (temp bool Face)
+0:? 'ff2' (temp 4-component vector of float)
+0:? 'ff3' (temp 4-component vector of float)
+0:? 'ff4' (temp 4-component vector of float FragCoord)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 25
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 11 "ShaderFunction(vf4;"
+ Name 10 "input"
+ Name 14 "AmbientColor"
+ Name 21 "ff1"
+ Name 22 "ff2"
+ Name 23 "ff3"
+ Name 24 "ff4"
+ Decorate 21(ff1) BuiltIn FrontFacing
+ Decorate 24(ff4) BuiltIn FragCoord
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 9: TypeFunction 7(fvec4) 8(ptr)
+ 19: TypeBool
+ 20: TypePointer Function 19(bool)
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ FunctionEnd
+11(ShaderFunction(vf4;): 7(fvec4) Function None 9
+ 10(input): 8(ptr) FunctionParameter
+ 12: Label
+14(AmbientColor): 8(ptr) Variable Function
+ 21(ff1): 20(ptr) Variable Function
+ 22(ff2): 8(ptr) Variable Function
+ 23(ff3): 8(ptr) Variable Function
+ 24(ff4): 8(ptr) Variable Function
+ 13: 7(fvec4) Load 10(input)
+ 15: 7(fvec4) Load 14(AmbientColor)
+ 16: 7(fvec4) FMul 13 15
+ ReturnValue 16
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.forLoop.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.forLoop.frag.out
new file mode 100755
index 00000000000..2e654e19188
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.forLoop.frag.out
@@ -0,0 +1,220 @@
+hlsl.forLoop.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:9 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:? Sequence
+0:3 Loop with condition tested first
+0:3 No loop condition
+0:3 No loop body
+0:4 Sequence
+0:4 Pre-Increment (temp 4-component vector of float)
+0:4 'input' (temp 4-component vector of float)
+0:4 Loop with condition tested first
+0:4 No loop condition
+0:4 No loop body
+0:? Sequence
+0:5 Loop with condition tested first
+0:5 Loop Condition
+0:5 Compare Not Equal (temp bool)
+0:5 'input' (temp 4-component vector of float)
+0:5 'input' (temp 4-component vector of float)
+0:5 No loop body
+0:? Sequence
+0:6 Loop with condition tested first
+0:6 Loop Condition
+0:6 Compare Not Equal (temp bool)
+0:6 'input' (temp 4-component vector of float)
+0:6 'input' (temp 4-component vector of float)
+0:6 Loop Body
+0:? Sequence
+0:6 Branch: Return with expression
+0:6 Negate value (temp 4-component vector of float)
+0:6 'input' (temp 4-component vector of float)
+0:7 Sequence
+0:7 Pre-Decrement (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:7 Loop with condition tested first
+0:7 Loop Condition
+0:7 Compare Not Equal (temp bool)
+0:7 'input' (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:7 Loop Body
+0:? Sequence
+0:7 Branch: Return with expression
+0:7 Negate value (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:7 Loop Terminal Expression
+0:7 add second child into first child (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:7 Constant:
+0:7 2.000000
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:9 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:? Sequence
+0:3 Loop with condition tested first
+0:3 No loop condition
+0:3 No loop body
+0:4 Sequence
+0:4 Pre-Increment (temp 4-component vector of float)
+0:4 'input' (temp 4-component vector of float)
+0:4 Loop with condition tested first
+0:4 No loop condition
+0:4 No loop body
+0:? Sequence
+0:5 Loop with condition tested first
+0:5 Loop Condition
+0:5 Compare Not Equal (temp bool)
+0:5 'input' (temp 4-component vector of float)
+0:5 'input' (temp 4-component vector of float)
+0:5 No loop body
+0:? Sequence
+0:6 Loop with condition tested first
+0:6 Loop Condition
+0:6 Compare Not Equal (temp bool)
+0:6 'input' (temp 4-component vector of float)
+0:6 'input' (temp 4-component vector of float)
+0:6 Loop Body
+0:? Sequence
+0:6 Branch: Return with expression
+0:6 Negate value (temp 4-component vector of float)
+0:6 'input' (temp 4-component vector of float)
+0:7 Sequence
+0:7 Pre-Decrement (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:7 Loop with condition tested first
+0:7 Loop Condition
+0:7 Compare Not Equal (temp bool)
+0:7 'input' (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:7 Loop Body
+0:? Sequence
+0:7 Branch: Return with expression
+0:7 Negate value (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:7 Loop Terminal Expression
+0:7 add second child into first child (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:7 Constant:
+0:7 2.000000
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 64
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 13 "input"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 10: TypeFloat 32
+ 11: TypeVector 10(float) 4
+ 12: TypePointer Function 11(fvec4)
+ 15: 10(float) Constant 1065353216
+ 29: TypeBool
+ 30: TypeVector 29(bool) 4
+ 60: 10(float) Constant 1073741824
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 13(input): 12(ptr) Variable Function
+ Branch 6
+ 6: Label
+ LoopMerge 8 9 None
+ Branch 7
+ 7: Label
+ Branch 9
+ 9: Label
+ Branch 6
+ 8: Label
+ 14: 11(fvec4) Load 13(input)
+ 16: 11(fvec4) CompositeConstruct 15 15 15 15
+ 17: 11(fvec4) FAdd 14 16
+ Store 13(input) 17
+ Branch 18
+ 18: Label
+ LoopMerge 20 21 None
+ Branch 19
+ 19: Label
+ Branch 21
+ 21: Label
+ Branch 18
+ 20: Label
+ Branch 22
+ 22: Label
+ LoopMerge 24 25 None
+ Branch 26
+ 26: Label
+ 27: 11(fvec4) Load 13(input)
+ 28: 11(fvec4) Load 13(input)
+ 31: 30(bvec4) FOrdNotEqual 27 28
+ 32: 29(bool) Any 31
+ BranchConditional 32 23 24
+ 23: Label
+ Branch 25
+ 25: Label
+ Branch 22
+ 24: Label
+ Branch 33
+ 33: Label
+ LoopMerge 35 36 None
+ Branch 37
+ 37: Label
+ 38: 11(fvec4) Load 13(input)
+ 39: 11(fvec4) Load 13(input)
+ 40: 30(bvec4) FOrdNotEqual 38 39
+ 41: 29(bool) Any 40
+ BranchConditional 41 34 35
+ 34: Label
+ 42: 11(fvec4) Load 13(input)
+ 43: 11(fvec4) FNegate 42
+ ReturnValue 43
+ 36: Label
+ Branch 33
+ 35: Label
+ 45: 11(fvec4) Load 13(input)
+ 46: 11(fvec4) CompositeConstruct 15 15 15 15
+ 47: 11(fvec4) FSub 45 46
+ Store 13(input) 47
+ Branch 48
+ 48: Label
+ LoopMerge 50 51 None
+ Branch 52
+ 52: Label
+ 53: 11(fvec4) Load 13(input)
+ 54: 11(fvec4) Load 13(input)
+ 55: 30(bvec4) FOrdNotEqual 53 54
+ 56: 29(bool) Any 55
+ BranchConditional 56 49 50
+ 49: Label
+ 57: 11(fvec4) Load 13(input)
+ 58: 11(fvec4) FNegate 57
+ ReturnValue 58
+ 51: Label
+ 61: 11(fvec4) Load 13(input)
+ 62: 11(fvec4) CompositeConstruct 60 60 60 60
+ 63: 11(fvec4) FAdd 61 62
+ Store 13(input) 63
+ Branch 48
+ 50: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.frag.out
new file mode 100644
index 00000000000..cfed9051fba
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.frag.out
@@ -0,0 +1,160 @@
+hlsl.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:1 move second child to first child (temp 4-component vector of float)
+0:1 'AmbientColor' (temp 4-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 0.500000
+0:? 0.000000
+0:? 1.000000
+0:2 move second child to first child (temp float)
+0:2 'AmbientIntensity' (temp float)
+0:2 Constant:
+0:2 0.100000
+0:13 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:5 Function Parameters:
+0:5 'input' (temp 4-component vector of float)
+0:? Sequence
+0:6 Branch: Return with expression
+0:6 add (temp 4-component vector of float)
+0:6 vector-scale (temp 4-component vector of float)
+0:6 'input' (temp 4-component vector of float)
+0:6 'AmbientIntensity' (temp float)
+0:6 'AmbientColor' (temp 4-component vector of float)
+0:7 Branch: Return with expression
+0:7 add (temp 4-component vector of float)
+0:7 component-wise multiply (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:7 component-wise multiply (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:8 Branch: Return with expression
+0:8 add (temp 4-component vector of float)
+0:8 add (temp 4-component vector of float)
+0:8 'input' (temp 4-component vector of float)
+0:8 component-wise multiply (temp 4-component vector of float)
+0:8 'input' (temp 4-component vector of float)
+0:8 'input' (temp 4-component vector of float)
+0:8 'input' (temp 4-component vector of float)
+0:9 Branch: Return with expression
+0:9 component-wise multiply (temp 4-component vector of float)
+0:9 Pre-Increment (temp 4-component vector of float)
+0:9 'input' (temp 4-component vector of float)
+0:9 Negate value (temp 4-component vector of float)
+0:9 Negate value (temp 4-component vector of float)
+0:9 Pre-Decrement (temp 4-component vector of float)
+0:9 'input' (temp 4-component vector of float)
+0:10 Branch: Return with expression
+0:10 add (temp 4-component vector of float)
+0:10 Post-Increment (temp 4-component vector of float)
+0:10 'input' (temp 4-component vector of float)
+0:10 Pre-Increment (temp 4-component vector of float)
+0:10 'input' (temp 4-component vector of float)
+0:11 Branch: Return with expression
+0:11 sine (global 4-component vector of float)
+0:11 'input' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'AmbientColor' (temp 4-component vector of float)
+0:? 'AmbientIntensity' (temp float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:1 move second child to first child (temp 4-component vector of float)
+0:1 'AmbientColor' (temp 4-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 0.500000
+0:? 0.000000
+0:? 1.000000
+0:2 move second child to first child (temp float)
+0:2 'AmbientIntensity' (temp float)
+0:2 Constant:
+0:2 0.100000
+0:13 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:5 Function Parameters:
+0:5 'input' (temp 4-component vector of float)
+0:? Sequence
+0:6 Branch: Return with expression
+0:6 add (temp 4-component vector of float)
+0:6 vector-scale (temp 4-component vector of float)
+0:6 'input' (temp 4-component vector of float)
+0:6 'AmbientIntensity' (temp float)
+0:6 'AmbientColor' (temp 4-component vector of float)
+0:7 Branch: Return with expression
+0:7 add (temp 4-component vector of float)
+0:7 component-wise multiply (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:7 component-wise multiply (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:7 'input' (temp 4-component vector of float)
+0:8 Branch: Return with expression
+0:8 add (temp 4-component vector of float)
+0:8 add (temp 4-component vector of float)
+0:8 'input' (temp 4-component vector of float)
+0:8 component-wise multiply (temp 4-component vector of float)
+0:8 'input' (temp 4-component vector of float)
+0:8 'input' (temp 4-component vector of float)
+0:8 'input' (temp 4-component vector of float)
+0:9 Branch: Return with expression
+0:9 component-wise multiply (temp 4-component vector of float)
+0:9 Pre-Increment (temp 4-component vector of float)
+0:9 'input' (temp 4-component vector of float)
+0:9 Negate value (temp 4-component vector of float)
+0:9 Negate value (temp 4-component vector of float)
+0:9 Pre-Decrement (temp 4-component vector of float)
+0:9 'input' (temp 4-component vector of float)
+0:10 Branch: Return with expression
+0:10 add (temp 4-component vector of float)
+0:10 Post-Increment (temp 4-component vector of float)
+0:10 'input' (temp 4-component vector of float)
+0:10 Pre-Increment (temp 4-component vector of float)
+0:10 'input' (temp 4-component vector of float)
+0:11 Branch: Return with expression
+0:11 sine (global 4-component vector of float)
+0:11 'input' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'AmbientColor' (temp 4-component vector of float)
+0:? 'AmbientIntensity' (temp float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 57
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 9 "input"
+ Name 12 "AmbientIntensity"
+ Name 15 "AmbientColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 11: TypePointer Function 6(float)
+ 36: 6(float) Constant 1065353216
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 9(input): 8(ptr) Variable Function
+12(AmbientIntensity): 11(ptr) Variable Function
+15(AmbientColor): 8(ptr) Variable Function
+ 10: 7(fvec4) Load 9(input)
+ 13: 6(float) Load 12(AmbientIntensity)
+ 14: 7(fvec4) VectorTimesScalar 10 13
+ 16: 7(fvec4) Load 15(AmbientColor)
+ 17: 7(fvec4) FAdd 14 16
+ ReturnValue 17
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.if.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.if.frag.out
new file mode 100755
index 00000000000..8908279bac7
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.if.frag.out
@@ -0,0 +1,223 @@
+hlsl.if.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:29 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:3 Test condition and select (temp void)
+0:3 Condition
+0:3 Compare Equal (temp bool)
+0:3 'input' (temp 4-component vector of float)
+0:3 'input' (temp 4-component vector of float)
+0:3 true case
+0:4 Branch: Return with expression
+0:4 'input' (temp 4-component vector of float)
+0:6 Test condition and select (temp void)
+0:6 Condition
+0:6 Compare Equal (temp bool)
+0:6 'input' (temp 4-component vector of float)
+0:6 'input' (temp 4-component vector of float)
+0:6 true case
+0:7 Branch: Return with expression
+0:7 'input' (temp 4-component vector of float)
+0:6 false case
+0:9 Branch: Return with expression
+0:9 Negate value (temp 4-component vector of float)
+0:9 'input' (temp 4-component vector of float)
+0:11 Test condition and select (temp void)
+0:11 Condition
+0:11 Compare Equal (temp bool)
+0:11 'input' (temp 4-component vector of float)
+0:11 'input' (temp 4-component vector of float)
+0:11 true case is null
+0:14 Test condition and select (temp void)
+0:14 Condition
+0:14 Compare Equal (temp bool)
+0:14 'input' (temp 4-component vector of float)
+0:14 'input' (temp 4-component vector of float)
+0:14 true case is null
+0:19 Test condition and select (temp void)
+0:19 Condition
+0:19 Compare Equal (temp bool)
+0:19 'input' (temp 4-component vector of float)
+0:19 'input' (temp 4-component vector of float)
+0:19 true case
+0:? Sequence
+0:20 Branch: Return with expression
+0:20 'input' (temp 4-component vector of float)
+0:23 Test condition and select (temp void)
+0:23 Condition
+0:23 Compare Equal (temp bool)
+0:23 'input' (temp 4-component vector of float)
+0:23 'input' (temp 4-component vector of float)
+0:23 true case
+0:? Sequence
+0:24 Branch: Return with expression
+0:24 'input' (temp 4-component vector of float)
+0:23 false case
+0:? Sequence
+0:26 Branch: Return with expression
+0:26 Negate value (temp 4-component vector of float)
+0:26 'input' (temp 4-component vector of float)
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:29 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:3 Test condition and select (temp void)
+0:3 Condition
+0:3 Compare Equal (temp bool)
+0:3 'input' (temp 4-component vector of float)
+0:3 'input' (temp 4-component vector of float)
+0:3 true case
+0:4 Branch: Return with expression
+0:4 'input' (temp 4-component vector of float)
+0:6 Test condition and select (temp void)
+0:6 Condition
+0:6 Compare Equal (temp bool)
+0:6 'input' (temp 4-component vector of float)
+0:6 'input' (temp 4-component vector of float)
+0:6 true case
+0:7 Branch: Return with expression
+0:7 'input' (temp 4-component vector of float)
+0:6 false case
+0:9 Branch: Return with expression
+0:9 Negate value (temp 4-component vector of float)
+0:9 'input' (temp 4-component vector of float)
+0:11 Test condition and select (temp void)
+0:11 Condition
+0:11 Compare Equal (temp bool)
+0:11 'input' (temp 4-component vector of float)
+0:11 'input' (temp 4-component vector of float)
+0:11 true case is null
+0:14 Test condition and select (temp void)
+0:14 Condition
+0:14 Compare Equal (temp bool)
+0:14 'input' (temp 4-component vector of float)
+0:14 'input' (temp 4-component vector of float)
+0:14 true case is null
+0:19 Test condition and select (temp void)
+0:19 Condition
+0:19 Compare Equal (temp bool)
+0:19 'input' (temp 4-component vector of float)
+0:19 'input' (temp 4-component vector of float)
+0:19 true case
+0:? Sequence
+0:20 Branch: Return with expression
+0:20 'input' (temp 4-component vector of float)
+0:23 Test condition and select (temp void)
+0:23 Condition
+0:23 Compare Equal (temp bool)
+0:23 'input' (temp 4-component vector of float)
+0:23 'input' (temp 4-component vector of float)
+0:23 true case
+0:? Sequence
+0:24 Branch: Return with expression
+0:24 'input' (temp 4-component vector of float)
+0:23 false case
+0:? Sequence
+0:26 Branch: Return with expression
+0:26 Negate value (temp 4-component vector of float)
+0:26 'input' (temp 4-component vector of float)
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 64
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 9 "input"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 12: TypeBool
+ 13: TypeVector 12(bool) 4
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 9(input): 8(ptr) Variable Function
+ 10: 7(fvec4) Load 9(input)
+ 11: 7(fvec4) Load 9(input)
+ 14: 13(bvec4) FOrdEqual 10 11
+ 15: 12(bool) All 14
+ SelectionMerge 17 None
+ BranchConditional 15 16 17
+ 16: Label
+ 18: 7(fvec4) Load 9(input)
+ ReturnValue 18
+ 17: Label
+ 20: 7(fvec4) Load 9(input)
+ 21: 7(fvec4) Load 9(input)
+ 22: 13(bvec4) FOrdEqual 20 21
+ 23: 12(bool) All 22
+ SelectionMerge 25 None
+ BranchConditional 23 24 28
+ 24: Label
+ 26: 7(fvec4) Load 9(input)
+ ReturnValue 26
+ 28: Label
+ 29: 7(fvec4) Load 9(input)
+ 30: 7(fvec4) FNegate 29
+ ReturnValue 30
+ 25: Label
+ 32: 7(fvec4) Load 9(input)
+ 33: 7(fvec4) Load 9(input)
+ 34: 13(bvec4) FOrdEqual 32 33
+ 35: 12(bool) All 34
+ SelectionMerge 37 None
+ BranchConditional 35 36 37
+ 36: Label
+ Branch 37
+ 37: Label
+ 38: 7(fvec4) Load 9(input)
+ 39: 7(fvec4) Load 9(input)
+ 40: 13(bvec4) FOrdEqual 38 39
+ 41: 12(bool) All 40
+ SelectionMerge 43 None
+ BranchConditional 41 42 43
+ 42: Label
+ Branch 43
+ 43: Label
+ 44: 7(fvec4) Load 9(input)
+ 45: 7(fvec4) Load 9(input)
+ 46: 13(bvec4) FOrdEqual 44 45
+ 47: 12(bool) All 46
+ SelectionMerge 49 None
+ BranchConditional 47 48 49
+ 48: Label
+ 50: 7(fvec4) Load 9(input)
+ ReturnValue 50
+ 49: Label
+ 52: 7(fvec4) Load 9(input)
+ 53: 7(fvec4) Load 9(input)
+ 54: 13(bvec4) FOrdEqual 52 53
+ 55: 12(bool) All 54
+ SelectionMerge 57 None
+ BranchConditional 55 56 60
+ 56: Label
+ 58: 7(fvec4) Load 9(input)
+ ReturnValue 58
+ 60: Label
+ 61: 7(fvec4) Load 9(input)
+ 62: 7(fvec4) FNegate 61
+ ReturnValue 62
+ 57: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.frag.out
new file mode 100644
index 00000000000..e27b11a3d58
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.frag.out
@@ -0,0 +1,3290 @@
+hlsl.intrinsics.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:66 Function Definition: PixelShaderFunction(f1;f1;f1; (temp float)
+0:2 Function Parameters:
+0:2 'inF0' (temp float)
+0:2 'inF1' (temp float)
+0:2 'inF2' (temp float)
+0:? Sequence
+0:3 all (global bool)
+0:3 'inF0' (temp float)
+0:4 Absolute value (global float)
+0:4 'inF0' (temp float)
+0:5 arc cosine (global float)
+0:5 'inF0' (temp float)
+0:6 any (global bool)
+0:6 'inF0' (temp float)
+0:7 arc sine (global float)
+0:7 'inF0' (temp float)
+0:8 arc tangent (global float)
+0:8 'inF0' (temp float)
+0:9 arc tangent (global float)
+0:9 'inF0' (temp float)
+0:9 'inF1' (temp float)
+0:10 Ceiling (global float)
+0:10 'inF0' (temp float)
+0:11 clamp (global float)
+0:11 'inF0' (temp float)
+0:11 'inF1' (temp float)
+0:11 'inF2' (temp float)
+0:12 Test condition and select (temp void)
+0:12 Condition
+0:12 Compare Less Than (temp bool)
+0:12 'inF0' (temp float)
+0:12 Constant:
+0:12 0.000000
+0:12 true case
+0:12 Branch: Kill
+0:13 cosine (global float)
+0:13 'inF0' (temp float)
+0:14 hyp. cosine (global float)
+0:14 'inF0' (temp float)
+0:15 bitCount (global uint)
+0:15 Constant:
+0:15 7 (const uint)
+0:16 dPdx (global float)
+0:16 'inF0' (temp float)
+0:17 dPdxCoarse (global float)
+0:17 'inF0' (temp float)
+0:18 dPdxFine (global float)
+0:18 'inF0' (temp float)
+0:19 dPdy (global float)
+0:19 'inF0' (temp float)
+0:20 dPdyCoarse (global float)
+0:20 'inF0' (temp float)
+0:21 dPdyFine (global float)
+0:21 'inF0' (temp float)
+0:22 degrees (global float)
+0:22 'inF0' (temp float)
+0:26 exp (global float)
+0:26 'inF0' (temp float)
+0:27 exp2 (global float)
+0:27 'inF0' (temp float)
+0:28 findMSB (global int)
+0:28 Constant:
+0:28 7 (const int)
+0:29 findLSB (global int)
+0:29 Constant:
+0:29 7 (const int)
+0:30 Floor (global float)
+0:30 'inF0' (temp float)
+0:32 mod (global float)
+0:32 'inF0' (temp float)
+0:32 'inF1' (temp float)
+0:33 Fraction (global float)
+0:33 'inF0' (temp float)
+0:34 frexp (global float)
+0:34 'inF0' (temp float)
+0:34 'inF1' (temp float)
+0:35 fwidth (global float)
+0:35 'inF0' (temp float)
+0:36 isinf (global bool)
+0:36 'inF0' (temp float)
+0:37 isnan (global bool)
+0:37 'inF0' (temp float)
+0:38 ldexp (global float)
+0:38 'inF0' (temp float)
+0:38 'inF1' (temp float)
+0:39 log (global float)
+0:39 'inF0' (temp float)
+0:40 component-wise multiply (temp float)
+0:40 log2 (temp float)
+0:40 'inF0' (temp float)
+0:40 Constant:
+0:40 0.301030
+0:41 log2 (global float)
+0:41 'inF0' (temp float)
+0:42 max (global float)
+0:42 'inF0' (temp float)
+0:42 'inF1' (temp float)
+0:43 min (global float)
+0:43 'inF0' (temp float)
+0:43 'inF1' (temp float)
+0:44 pow (global float)
+0:44 'inF0' (temp float)
+0:44 'inF1' (temp float)
+0:45 radians (global float)
+0:45 'inF0' (temp float)
+0:46 divide (temp float)
+0:46 Constant:
+0:46 1.000000
+0:46 'inF0' (temp float)
+0:47 bitFieldReverse (global uint)
+0:47 Constant:
+0:47 2 (const uint)
+0:48 roundEven (global float)
+0:48 'inF0' (temp float)
+0:49 inverse sqrt (global float)
+0:49 'inF0' (temp float)
+0:50 clamp (global float)
+0:50 'inF0' (temp float)
+0:50 Constant:
+0:50 0.000000
+0:50 Constant:
+0:50 1.000000
+0:51 Sign (global float)
+0:51 'inF0' (temp float)
+0:52 sine (global float)
+0:52 'inF0' (temp float)
+0:53 Sequence
+0:53 move second child to first child (temp float)
+0:53 'inF1' (temp float)
+0:53 sine (temp float)
+0:53 'inF0' (temp float)
+0:53 move second child to first child (temp float)
+0:53 'inF2' (temp float)
+0:53 cosine (temp float)
+0:53 'inF0' (temp float)
+0:54 hyp. sine (global float)
+0:54 'inF0' (temp float)
+0:55 smoothstep (global float)
+0:55 'inF0' (temp float)
+0:55 'inF1' (temp float)
+0:55 'inF2' (temp float)
+0:56 sqrt (global float)
+0:56 'inF0' (temp float)
+0:57 step (global float)
+0:57 'inF0' (temp float)
+0:57 'inF1' (temp float)
+0:58 tangent (global float)
+0:58 'inF0' (temp float)
+0:59 hyp. tangent (global float)
+0:59 'inF0' (temp float)
+0:61 trunc (global float)
+0:61 'inF0' (temp float)
+0:63 Branch: Return with expression
+0:63 Constant:
+0:63 0.000000
+0:72 Function Definition: PixelShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
+0:67 Function Parameters:
+0:67 'inF0' (temp 1-component vector of float)
+0:67 'inF1' (temp 1-component vector of float)
+0:67 'inF2' (temp 1-component vector of float)
+0:? Sequence
+0:69 Branch: Return with expression
+0:69 Constant:
+0:69 0.000000
+0:145 Function Definition: PixelShaderFunction(vf2;vf2;vf2; (temp 2-component vector of float)
+0:73 Function Parameters:
+0:73 'inF0' (temp 2-component vector of float)
+0:73 'inF1' (temp 2-component vector of float)
+0:73 'inF2' (temp 2-component vector of float)
+0:? Sequence
+0:74 all (global bool)
+0:74 'inF0' (temp 2-component vector of float)
+0:75 Absolute value (global 2-component vector of float)
+0:75 'inF0' (temp 2-component vector of float)
+0:76 arc cosine (global 2-component vector of float)
+0:76 'inF0' (temp 2-component vector of float)
+0:77 any (global bool)
+0:77 'inF0' (temp 2-component vector of float)
+0:78 arc sine (global 2-component vector of float)
+0:78 'inF0' (temp 2-component vector of float)
+0:79 arc tangent (global 2-component vector of float)
+0:79 'inF0' (temp 2-component vector of float)
+0:80 arc tangent (global 2-component vector of float)
+0:80 'inF0' (temp 2-component vector of float)
+0:80 'inF1' (temp 2-component vector of float)
+0:81 Ceiling (global 2-component vector of float)
+0:81 'inF0' (temp 2-component vector of float)
+0:82 clamp (global 2-component vector of float)
+0:82 'inF0' (temp 2-component vector of float)
+0:82 'inF1' (temp 2-component vector of float)
+0:82 'inF2' (temp 2-component vector of float)
+0:83 Test condition and select (temp void)
+0:83 Condition
+0:83 any (temp bool)
+0:83 Compare Less Than (temp 2-component vector of bool)
+0:83 'inF0' (temp 2-component vector of float)
+0:83 Constant:
+0:83 0.000000
+0:83 0.000000
+0:83 true case
+0:83 Branch: Kill
+0:84 cosine (global 2-component vector of float)
+0:84 'inF0' (temp 2-component vector of float)
+0:85 hyp. cosine (global 2-component vector of float)
+0:85 'inF0' (temp 2-component vector of float)
+0:? bitCount (global 2-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:87 dPdx (global 2-component vector of float)
+0:87 'inF0' (temp 2-component vector of float)
+0:88 dPdxCoarse (global 2-component vector of float)
+0:88 'inF0' (temp 2-component vector of float)
+0:89 dPdxFine (global 2-component vector of float)
+0:89 'inF0' (temp 2-component vector of float)
+0:90 dPdy (global 2-component vector of float)
+0:90 'inF0' (temp 2-component vector of float)
+0:91 dPdyCoarse (global 2-component vector of float)
+0:91 'inF0' (temp 2-component vector of float)
+0:92 dPdyFine (global 2-component vector of float)
+0:92 'inF0' (temp 2-component vector of float)
+0:93 degrees (global 2-component vector of float)
+0:93 'inF0' (temp 2-component vector of float)
+0:94 distance (global float)
+0:94 'inF0' (temp 2-component vector of float)
+0:94 'inF1' (temp 2-component vector of float)
+0:95 dot-product (global float)
+0:95 'inF0' (temp 2-component vector of float)
+0:95 'inF1' (temp 2-component vector of float)
+0:99 exp (global 2-component vector of float)
+0:99 'inF0' (temp 2-component vector of float)
+0:100 exp2 (global 2-component vector of float)
+0:100 'inF0' (temp 2-component vector of float)
+0:101 face-forward (global 2-component vector of float)
+0:101 'inF0' (temp 2-component vector of float)
+0:101 'inF1' (temp 2-component vector of float)
+0:101 'inF2' (temp 2-component vector of float)
+0:102 findMSB (global int)
+0:102 Constant:
+0:102 7 (const int)
+0:103 findLSB (global int)
+0:103 Constant:
+0:103 7 (const int)
+0:104 Floor (global 2-component vector of float)
+0:104 'inF0' (temp 2-component vector of float)
+0:106 mod (global 2-component vector of float)
+0:106 'inF0' (temp 2-component vector of float)
+0:106 'inF1' (temp 2-component vector of float)
+0:107 Fraction (global 2-component vector of float)
+0:107 'inF0' (temp 2-component vector of float)
+0:108 frexp (global 2-component vector of float)
+0:108 'inF0' (temp 2-component vector of float)
+0:108 'inF1' (temp 2-component vector of float)
+0:109 fwidth (global 2-component vector of float)
+0:109 'inF0' (temp 2-component vector of float)
+0:110 isinf (global 2-component vector of bool)
+0:110 'inF0' (temp 2-component vector of float)
+0:111 isnan (global 2-component vector of bool)
+0:111 'inF0' (temp 2-component vector of float)
+0:112 ldexp (global 2-component vector of float)
+0:112 'inF0' (temp 2-component vector of float)
+0:112 'inF1' (temp 2-component vector of float)
+0:113 length (global float)
+0:113 'inF0' (temp 2-component vector of float)
+0:114 log (global 2-component vector of float)
+0:114 'inF0' (temp 2-component vector of float)
+0:115 vector-scale (temp 2-component vector of float)
+0:115 log2 (temp 2-component vector of float)
+0:115 'inF0' (temp 2-component vector of float)
+0:115 Constant:
+0:115 0.301030
+0:116 log2 (global 2-component vector of float)
+0:116 'inF0' (temp 2-component vector of float)
+0:117 max (global 2-component vector of float)
+0:117 'inF0' (temp 2-component vector of float)
+0:117 'inF1' (temp 2-component vector of float)
+0:118 min (global 2-component vector of float)
+0:118 'inF0' (temp 2-component vector of float)
+0:118 'inF1' (temp 2-component vector of float)
+0:119 normalize (global 2-component vector of float)
+0:119 'inF0' (temp 2-component vector of float)
+0:120 pow (global 2-component vector of float)
+0:120 'inF0' (temp 2-component vector of float)
+0:120 'inF1' (temp 2-component vector of float)
+0:121 radians (global 2-component vector of float)
+0:121 'inF0' (temp 2-component vector of float)
+0:122 divide (temp 2-component vector of float)
+0:122 Constant:
+0:122 1.000000
+0:122 'inF0' (temp 2-component vector of float)
+0:123 reflect (global 2-component vector of float)
+0:123 'inF0' (temp 2-component vector of float)
+0:123 'inF1' (temp 2-component vector of float)
+0:124 refract (global 2-component vector of float)
+0:124 'inF0' (temp 2-component vector of float)
+0:124 'inF1' (temp 2-component vector of float)
+0:124 Constant:
+0:124 2.000000
+0:? bitFieldReverse (global 2-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:126 roundEven (global 2-component vector of float)
+0:126 'inF0' (temp 2-component vector of float)
+0:127 inverse sqrt (global 2-component vector of float)
+0:127 'inF0' (temp 2-component vector of float)
+0:128 clamp (global 2-component vector of float)
+0:128 'inF0' (temp 2-component vector of float)
+0:128 Constant:
+0:128 0.000000
+0:128 Constant:
+0:128 1.000000
+0:129 Sign (global 2-component vector of float)
+0:129 'inF0' (temp 2-component vector of float)
+0:130 sine (global 2-component vector of float)
+0:130 'inF0' (temp 2-component vector of float)
+0:131 Sequence
+0:131 move second child to first child (temp 2-component vector of float)
+0:131 'inF1' (temp 2-component vector of float)
+0:131 sine (temp 2-component vector of float)
+0:131 'inF0' (temp 2-component vector of float)
+0:131 move second child to first child (temp 2-component vector of float)
+0:131 'inF2' (temp 2-component vector of float)
+0:131 cosine (temp 2-component vector of float)
+0:131 'inF0' (temp 2-component vector of float)
+0:132 hyp. sine (global 2-component vector of float)
+0:132 'inF0' (temp 2-component vector of float)
+0:133 smoothstep (global 2-component vector of float)
+0:133 'inF0' (temp 2-component vector of float)
+0:133 'inF1' (temp 2-component vector of float)
+0:133 'inF2' (temp 2-component vector of float)
+0:134 sqrt (global 2-component vector of float)
+0:134 'inF0' (temp 2-component vector of float)
+0:135 step (global 2-component vector of float)
+0:135 'inF0' (temp 2-component vector of float)
+0:135 'inF1' (temp 2-component vector of float)
+0:136 tangent (global 2-component vector of float)
+0:136 'inF0' (temp 2-component vector of float)
+0:137 hyp. tangent (global 2-component vector of float)
+0:137 'inF0' (temp 2-component vector of float)
+0:139 trunc (global 2-component vector of float)
+0:139 'inF0' (temp 2-component vector of float)
+0:142 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:219 Function Definition: PixelShaderFunction(vf3;vf3;vf3; (temp 3-component vector of float)
+0:146 Function Parameters:
+0:146 'inF0' (temp 3-component vector of float)
+0:146 'inF1' (temp 3-component vector of float)
+0:146 'inF2' (temp 3-component vector of float)
+0:? Sequence
+0:147 all (global bool)
+0:147 'inF0' (temp 3-component vector of float)
+0:148 Absolute value (global 3-component vector of float)
+0:148 'inF0' (temp 3-component vector of float)
+0:149 arc cosine (global 3-component vector of float)
+0:149 'inF0' (temp 3-component vector of float)
+0:150 any (global bool)
+0:150 'inF0' (temp 3-component vector of float)
+0:151 arc sine (global 3-component vector of float)
+0:151 'inF0' (temp 3-component vector of float)
+0:152 arc tangent (global 3-component vector of float)
+0:152 'inF0' (temp 3-component vector of float)
+0:153 arc tangent (global 3-component vector of float)
+0:153 'inF0' (temp 3-component vector of float)
+0:153 'inF1' (temp 3-component vector of float)
+0:154 Ceiling (global 3-component vector of float)
+0:154 'inF0' (temp 3-component vector of float)
+0:155 clamp (global 3-component vector of float)
+0:155 'inF0' (temp 3-component vector of float)
+0:155 'inF1' (temp 3-component vector of float)
+0:155 'inF2' (temp 3-component vector of float)
+0:156 Test condition and select (temp void)
+0:156 Condition
+0:156 any (temp bool)
+0:156 Compare Less Than (temp 3-component vector of bool)
+0:156 'inF0' (temp 3-component vector of float)
+0:156 Constant:
+0:156 0.000000
+0:156 0.000000
+0:156 0.000000
+0:156 true case
+0:156 Branch: Kill
+0:157 cosine (global 3-component vector of float)
+0:157 'inF0' (temp 3-component vector of float)
+0:158 hyp. cosine (global 3-component vector of float)
+0:158 'inF0' (temp 3-component vector of float)
+0:? bitCount (global 3-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:? 5 (const uint)
+0:160 cross-product (global 3-component vector of float)
+0:160 'inF0' (temp 3-component vector of float)
+0:160 'inF1' (temp 3-component vector of float)
+0:161 dPdx (global 3-component vector of float)
+0:161 'inF0' (temp 3-component vector of float)
+0:162 dPdxCoarse (global 3-component vector of float)
+0:162 'inF0' (temp 3-component vector of float)
+0:163 dPdxFine (global 3-component vector of float)
+0:163 'inF0' (temp 3-component vector of float)
+0:164 dPdy (global 3-component vector of float)
+0:164 'inF0' (temp 3-component vector of float)
+0:165 dPdyCoarse (global 3-component vector of float)
+0:165 'inF0' (temp 3-component vector of float)
+0:166 dPdyFine (global 3-component vector of float)
+0:166 'inF0' (temp 3-component vector of float)
+0:167 degrees (global 3-component vector of float)
+0:167 'inF0' (temp 3-component vector of float)
+0:168 distance (global float)
+0:168 'inF0' (temp 3-component vector of float)
+0:168 'inF1' (temp 3-component vector of float)
+0:169 dot-product (global float)
+0:169 'inF0' (temp 3-component vector of float)
+0:169 'inF1' (temp 3-component vector of float)
+0:173 exp (global 3-component vector of float)
+0:173 'inF0' (temp 3-component vector of float)
+0:174 exp2 (global 3-component vector of float)
+0:174 'inF0' (temp 3-component vector of float)
+0:175 face-forward (global 3-component vector of float)
+0:175 'inF0' (temp 3-component vector of float)
+0:175 'inF1' (temp 3-component vector of float)
+0:175 'inF2' (temp 3-component vector of float)
+0:176 findMSB (global int)
+0:176 Constant:
+0:176 7 (const int)
+0:177 findLSB (global int)
+0:177 Constant:
+0:177 7 (const int)
+0:178 Floor (global 3-component vector of float)
+0:178 'inF0' (temp 3-component vector of float)
+0:180 mod (global 3-component vector of float)
+0:180 'inF0' (temp 3-component vector of float)
+0:180 'inF1' (temp 3-component vector of float)
+0:181 Fraction (global 3-component vector of float)
+0:181 'inF0' (temp 3-component vector of float)
+0:182 frexp (global 3-component vector of float)
+0:182 'inF0' (temp 3-component vector of float)
+0:182 'inF1' (temp 3-component vector of float)
+0:183 fwidth (global 3-component vector of float)
+0:183 'inF0' (temp 3-component vector of float)
+0:184 isinf (global 3-component vector of bool)
+0:184 'inF0' (temp 3-component vector of float)
+0:185 isnan (global 3-component vector of bool)
+0:185 'inF0' (temp 3-component vector of float)
+0:186 ldexp (global 3-component vector of float)
+0:186 'inF0' (temp 3-component vector of float)
+0:186 'inF1' (temp 3-component vector of float)
+0:187 length (global float)
+0:187 'inF0' (temp 3-component vector of float)
+0:188 log (global 3-component vector of float)
+0:188 'inF0' (temp 3-component vector of float)
+0:189 vector-scale (temp 3-component vector of float)
+0:189 log2 (temp 3-component vector of float)
+0:189 'inF0' (temp 3-component vector of float)
+0:189 Constant:
+0:189 0.301030
+0:190 log2 (global 3-component vector of float)
+0:190 'inF0' (temp 3-component vector of float)
+0:191 max (global 3-component vector of float)
+0:191 'inF0' (temp 3-component vector of float)
+0:191 'inF1' (temp 3-component vector of float)
+0:192 min (global 3-component vector of float)
+0:192 'inF0' (temp 3-component vector of float)
+0:192 'inF1' (temp 3-component vector of float)
+0:193 normalize (global 3-component vector of float)
+0:193 'inF0' (temp 3-component vector of float)
+0:194 pow (global 3-component vector of float)
+0:194 'inF0' (temp 3-component vector of float)
+0:194 'inF1' (temp 3-component vector of float)
+0:195 radians (global 3-component vector of float)
+0:195 'inF0' (temp 3-component vector of float)
+0:196 divide (temp 3-component vector of float)
+0:196 Constant:
+0:196 1.000000
+0:196 'inF0' (temp 3-component vector of float)
+0:197 reflect (global 3-component vector of float)
+0:197 'inF0' (temp 3-component vector of float)
+0:197 'inF1' (temp 3-component vector of float)
+0:198 refract (global 3-component vector of float)
+0:198 'inF0' (temp 3-component vector of float)
+0:198 'inF1' (temp 3-component vector of float)
+0:198 Constant:
+0:198 2.000000
+0:? bitFieldReverse (global 3-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:200 roundEven (global 3-component vector of float)
+0:200 'inF0' (temp 3-component vector of float)
+0:201 inverse sqrt (global 3-component vector of float)
+0:201 'inF0' (temp 3-component vector of float)
+0:202 clamp (global 3-component vector of float)
+0:202 'inF0' (temp 3-component vector of float)
+0:202 Constant:
+0:202 0.000000
+0:202 Constant:
+0:202 1.000000
+0:203 Sign (global 3-component vector of float)
+0:203 'inF0' (temp 3-component vector of float)
+0:204 sine (global 3-component vector of float)
+0:204 'inF0' (temp 3-component vector of float)
+0:205 Sequence
+0:205 move second child to first child (temp 3-component vector of float)
+0:205 'inF1' (temp 3-component vector of float)
+0:205 sine (temp 3-component vector of float)
+0:205 'inF0' (temp 3-component vector of float)
+0:205 move second child to first child (temp 3-component vector of float)
+0:205 'inF2' (temp 3-component vector of float)
+0:205 cosine (temp 3-component vector of float)
+0:205 'inF0' (temp 3-component vector of float)
+0:206 hyp. sine (global 3-component vector of float)
+0:206 'inF0' (temp 3-component vector of float)
+0:207 smoothstep (global 3-component vector of float)
+0:207 'inF0' (temp 3-component vector of float)
+0:207 'inF1' (temp 3-component vector of float)
+0:207 'inF2' (temp 3-component vector of float)
+0:208 sqrt (global 3-component vector of float)
+0:208 'inF0' (temp 3-component vector of float)
+0:209 step (global 3-component vector of float)
+0:209 'inF0' (temp 3-component vector of float)
+0:209 'inF1' (temp 3-component vector of float)
+0:210 tangent (global 3-component vector of float)
+0:210 'inF0' (temp 3-component vector of float)
+0:211 hyp. tangent (global 3-component vector of float)
+0:211 'inF0' (temp 3-component vector of float)
+0:213 trunc (global 3-component vector of float)
+0:213 'inF0' (temp 3-component vector of float)
+0:216 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:349 Function Definition: PixelShaderFunction(vf4;vf4;vf4; (temp 4-component vector of float)
+0:220 Function Parameters:
+0:220 'inF0' (temp 4-component vector of float)
+0:220 'inF1' (temp 4-component vector of float)
+0:220 'inF2' (temp 4-component vector of float)
+0:? Sequence
+0:221 all (global bool)
+0:221 'inF0' (temp 4-component vector of float)
+0:222 Absolute value (global 4-component vector of float)
+0:222 'inF0' (temp 4-component vector of float)
+0:223 arc cosine (global 4-component vector of float)
+0:223 'inF0' (temp 4-component vector of float)
+0:224 any (global bool)
+0:224 'inF0' (temp 4-component vector of float)
+0:225 arc sine (global 4-component vector of float)
+0:225 'inF0' (temp 4-component vector of float)
+0:226 arc tangent (global 4-component vector of float)
+0:226 'inF0' (temp 4-component vector of float)
+0:227 arc tangent (global 4-component vector of float)
+0:227 'inF0' (temp 4-component vector of float)
+0:227 'inF1' (temp 4-component vector of float)
+0:228 Ceiling (global 4-component vector of float)
+0:228 'inF0' (temp 4-component vector of float)
+0:229 clamp (global 4-component vector of float)
+0:229 'inF0' (temp 4-component vector of float)
+0:229 'inF1' (temp 4-component vector of float)
+0:229 'inF2' (temp 4-component vector of float)
+0:230 Test condition and select (temp void)
+0:230 Condition
+0:230 any (temp bool)
+0:230 Compare Less Than (temp 4-component vector of bool)
+0:230 'inF0' (temp 4-component vector of float)
+0:230 Constant:
+0:230 0.000000
+0:230 0.000000
+0:230 0.000000
+0:230 0.000000
+0:230 true case
+0:230 Branch: Kill
+0:231 cosine (global 4-component vector of float)
+0:231 'inF0' (temp 4-component vector of float)
+0:232 hyp. cosine (global 4-component vector of float)
+0:232 'inF0' (temp 4-component vector of float)
+0:? bitCount (global 4-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:? 5 (const uint)
+0:? 2 (const uint)
+0:234 dPdx (global 4-component vector of float)
+0:234 'inF0' (temp 4-component vector of float)
+0:235 dPdxCoarse (global 4-component vector of float)
+0:235 'inF0' (temp 4-component vector of float)
+0:236 dPdxFine (global 4-component vector of float)
+0:236 'inF0' (temp 4-component vector of float)
+0:237 dPdy (global 4-component vector of float)
+0:237 'inF0' (temp 4-component vector of float)
+0:238 dPdyCoarse (global 4-component vector of float)
+0:238 'inF0' (temp 4-component vector of float)
+0:239 dPdyFine (global 4-component vector of float)
+0:239 'inF0' (temp 4-component vector of float)
+0:240 degrees (global 4-component vector of float)
+0:240 'inF0' (temp 4-component vector of float)
+0:241 distance (global float)
+0:241 'inF0' (temp 4-component vector of float)
+0:241 'inF1' (temp 4-component vector of float)
+0:242 dot-product (global float)
+0:242 'inF0' (temp 4-component vector of float)
+0:242 'inF1' (temp 4-component vector of float)
+0:243 Construct vec4 (temp float)
+0:243 Constant:
+0:243 1.000000
+0:243 component-wise multiply (temp float)
+0:243 direct index (temp float)
+0:243 'inF0' (temp 4-component vector of float)
+0:243 Constant:
+0:243 1 (const int)
+0:243 direct index (temp float)
+0:243 'inF1' (temp 4-component vector of float)
+0:243 Constant:
+0:243 1 (const int)
+0:243 direct index (temp float)
+0:243 'inF0' (temp 4-component vector of float)
+0:243 Constant:
+0:243 2 (const int)
+0:243 direct index (temp float)
+0:243 'inF1' (temp 4-component vector of float)
+0:243 Constant:
+0:243 3 (const int)
+0:247 exp (global 4-component vector of float)
+0:247 'inF0' (temp 4-component vector of float)
+0:248 exp2 (global 4-component vector of float)
+0:248 'inF0' (temp 4-component vector of float)
+0:249 face-forward (global 4-component vector of float)
+0:249 'inF0' (temp 4-component vector of float)
+0:249 'inF1' (temp 4-component vector of float)
+0:249 'inF2' (temp 4-component vector of float)
+0:250 findMSB (global int)
+0:250 Constant:
+0:250 7 (const int)
+0:251 findLSB (global int)
+0:251 Constant:
+0:251 7 (const int)
+0:252 Floor (global 4-component vector of float)
+0:252 'inF0' (temp 4-component vector of float)
+0:254 mod (global 4-component vector of float)
+0:254 'inF0' (temp 4-component vector of float)
+0:254 'inF1' (temp 4-component vector of float)
+0:255 Fraction (global 4-component vector of float)
+0:255 'inF0' (temp 4-component vector of float)
+0:256 frexp (global 4-component vector of float)
+0:256 'inF0' (temp 4-component vector of float)
+0:256 'inF1' (temp 4-component vector of float)
+0:257 fwidth (global 4-component vector of float)
+0:257 'inF0' (temp 4-component vector of float)
+0:258 isinf (global 4-component vector of bool)
+0:258 'inF0' (temp 4-component vector of float)
+0:259 isnan (global 4-component vector of bool)
+0:259 'inF0' (temp 4-component vector of float)
+0:260 ldexp (global 4-component vector of float)
+0:260 'inF0' (temp 4-component vector of float)
+0:260 'inF1' (temp 4-component vector of float)
+0:261 length (global float)
+0:261 'inF0' (temp 4-component vector of float)
+0:262 log (global 4-component vector of float)
+0:262 'inF0' (temp 4-component vector of float)
+0:263 vector-scale (temp 4-component vector of float)
+0:263 log2 (temp 4-component vector of float)
+0:263 'inF0' (temp 4-component vector of float)
+0:263 Constant:
+0:263 0.301030
+0:264 log2 (global 4-component vector of float)
+0:264 'inF0' (temp 4-component vector of float)
+0:265 max (global 4-component vector of float)
+0:265 'inF0' (temp 4-component vector of float)
+0:265 'inF1' (temp 4-component vector of float)
+0:266 min (global 4-component vector of float)
+0:266 'inF0' (temp 4-component vector of float)
+0:266 'inF1' (temp 4-component vector of float)
+0:267 normalize (global 4-component vector of float)
+0:267 'inF0' (temp 4-component vector of float)
+0:268 pow (global 4-component vector of float)
+0:268 'inF0' (temp 4-component vector of float)
+0:268 'inF1' (temp 4-component vector of float)
+0:269 radians (global 4-component vector of float)
+0:269 'inF0' (temp 4-component vector of float)
+0:270 divide (temp 4-component vector of float)
+0:270 Constant:
+0:270 1.000000
+0:270 'inF0' (temp 4-component vector of float)
+0:271 reflect (global 4-component vector of float)
+0:271 'inF0' (temp 4-component vector of float)
+0:271 'inF1' (temp 4-component vector of float)
+0:272 refract (global 4-component vector of float)
+0:272 'inF0' (temp 4-component vector of float)
+0:272 'inF1' (temp 4-component vector of float)
+0:272 Constant:
+0:272 2.000000
+0:? bitFieldReverse (global 4-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:274 roundEven (global 4-component vector of float)
+0:274 'inF0' (temp 4-component vector of float)
+0:275 inverse sqrt (global 4-component vector of float)
+0:275 'inF0' (temp 4-component vector of float)
+0:276 clamp (global 4-component vector of float)
+0:276 'inF0' (temp 4-component vector of float)
+0:276 Constant:
+0:276 0.000000
+0:276 Constant:
+0:276 1.000000
+0:277 Sign (global 4-component vector of float)
+0:277 'inF0' (temp 4-component vector of float)
+0:278 sine (global 4-component vector of float)
+0:278 'inF0' (temp 4-component vector of float)
+0:279 Sequence
+0:279 move second child to first child (temp 4-component vector of float)
+0:279 'inF1' (temp 4-component vector of float)
+0:279 sine (temp 4-component vector of float)
+0:279 'inF0' (temp 4-component vector of float)
+0:279 move second child to first child (temp 4-component vector of float)
+0:279 'inF2' (temp 4-component vector of float)
+0:279 cosine (temp 4-component vector of float)
+0:279 'inF0' (temp 4-component vector of float)
+0:280 hyp. sine (global 4-component vector of float)
+0:280 'inF0' (temp 4-component vector of float)
+0:281 smoothstep (global 4-component vector of float)
+0:281 'inF0' (temp 4-component vector of float)
+0:281 'inF1' (temp 4-component vector of float)
+0:281 'inF2' (temp 4-component vector of float)
+0:282 sqrt (global 4-component vector of float)
+0:282 'inF0' (temp 4-component vector of float)
+0:283 step (global 4-component vector of float)
+0:283 'inF0' (temp 4-component vector of float)
+0:283 'inF1' (temp 4-component vector of float)
+0:284 tangent (global 4-component vector of float)
+0:284 'inF0' (temp 4-component vector of float)
+0:285 hyp. tangent (global 4-component vector of float)
+0:285 'inF0' (temp 4-component vector of float)
+0:287 trunc (global 4-component vector of float)
+0:287 'inF0' (temp 4-component vector of float)
+0:290 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:358 Function Definition: PixelShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:350 Function Parameters:
+0:350 'inF0' (temp 2X2 matrix of float)
+0:350 'inF1' (temp 2X2 matrix of float)
+0:350 'inF2' (temp 2X2 matrix of float)
+0:? Sequence
+0:352 all (global bool)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 Absolute value (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 arc cosine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 any (global bool)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 arc sine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 arc tangent (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 arc tangent (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 Ceiling (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 Test condition and select (temp void)
+0:352 Condition
+0:352 any (temp bool)
+0:352 Compare Less Than (temp 2X2 matrix of bool)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 Constant:
+0:352 0.000000
+0:352 0.000000
+0:352 0.000000
+0:352 0.000000
+0:352 true case
+0:352 Branch: Kill
+0:352 clamp (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 'inF2' (temp 2X2 matrix of float)
+0:352 cosine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 hyp. cosine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 dPdx (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 dPdxCoarse (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 dPdxFine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 dPdy (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 dPdyCoarse (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 dPdyFine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 degrees (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 determinant (global float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 exp (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 exp2 (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 findMSB (global int)
+0:352 Constant:
+0:352 7 (const int)
+0:352 findLSB (global int)
+0:352 Constant:
+0:352 7 (const int)
+0:352 Floor (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 mod (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 Fraction (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 frexp (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 fwidth (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 ldexp (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 log (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 matrix-scale (temp 2X2 matrix of float)
+0:352 log2 (temp 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 Constant:
+0:352 0.301030
+0:352 log2 (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 max (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 min (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 pow (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 radians (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 roundEven (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 inverse sqrt (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 clamp (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 Constant:
+0:352 0.000000
+0:352 Constant:
+0:352 1.000000
+0:352 Sign (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 sine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 Sequence
+0:352 move second child to first child (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 sine (temp 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 move second child to first child (temp 2X2 matrix of float)
+0:352 'inF2' (temp 2X2 matrix of float)
+0:352 cosine (temp 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 hyp. sine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 smoothstep (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 'inF2' (temp 2X2 matrix of float)
+0:352 sqrt (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 step (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 tangent (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 hyp. tangent (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 transpose (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 trunc (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:355 Branch: Return with expression
+0:? Constant:
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:367 Function Definition: PixelShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:359 Function Parameters:
+0:359 'inF0' (temp 3X3 matrix of float)
+0:359 'inF1' (temp 3X3 matrix of float)
+0:359 'inF2' (temp 3X3 matrix of float)
+0:? Sequence
+0:361 all (global bool)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 Absolute value (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 arc cosine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 any (global bool)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 arc sine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 arc tangent (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 arc tangent (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 Ceiling (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 Test condition and select (temp void)
+0:361 Condition
+0:361 any (temp bool)
+0:361 Compare Less Than (temp 3X3 matrix of bool)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 Constant:
+0:361 0.000000
+0:361 0.000000
+0:361 0.000000
+0:361 0.000000
+0:361 0.000000
+0:361 0.000000
+0:361 0.000000
+0:361 0.000000
+0:361 0.000000
+0:361 true case
+0:361 Branch: Kill
+0:361 clamp (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 'inF2' (temp 3X3 matrix of float)
+0:361 cosine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 hyp. cosine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 dPdx (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 dPdxCoarse (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 dPdxFine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 dPdy (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 dPdyCoarse (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 dPdyFine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 degrees (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 determinant (global float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 exp (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 exp2 (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 findMSB (global int)
+0:361 Constant:
+0:361 7 (const int)
+0:361 findLSB (global int)
+0:361 Constant:
+0:361 7 (const int)
+0:361 Floor (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 mod (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 Fraction (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 frexp (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 fwidth (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 ldexp (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 log (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 matrix-scale (temp 3X3 matrix of float)
+0:361 log2 (temp 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 Constant:
+0:361 0.301030
+0:361 log2 (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 max (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 min (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 pow (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 radians (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 roundEven (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 inverse sqrt (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 clamp (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 Constant:
+0:361 0.000000
+0:361 Constant:
+0:361 1.000000
+0:361 Sign (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 sine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 Sequence
+0:361 move second child to first child (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 sine (temp 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 move second child to first child (temp 3X3 matrix of float)
+0:361 'inF2' (temp 3X3 matrix of float)
+0:361 cosine (temp 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 hyp. sine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 smoothstep (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 'inF2' (temp 3X3 matrix of float)
+0:361 sqrt (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 step (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 tangent (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 hyp. tangent (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 transpose (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 trunc (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:364 Branch: Return with expression
+0:? Constant:
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:388 Function Definition: PixelShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:368 Function Parameters:
+0:368 'inF0' (temp 4X4 matrix of float)
+0:368 'inF1' (temp 4X4 matrix of float)
+0:368 'inF2' (temp 4X4 matrix of float)
+0:? Sequence
+0:370 all (global bool)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 Absolute value (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 arc cosine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 any (global bool)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 arc sine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 arc tangent (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 arc tangent (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 Ceiling (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 Test condition and select (temp void)
+0:370 Condition
+0:370 any (temp bool)
+0:370 Compare Less Than (temp 4X4 matrix of bool)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 Constant:
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 true case
+0:370 Branch: Kill
+0:370 clamp (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 'inF2' (temp 4X4 matrix of float)
+0:370 cosine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 hyp. cosine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 dPdx (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 dPdxCoarse (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 dPdxFine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 dPdy (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 dPdyCoarse (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 dPdyFine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 degrees (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 determinant (global float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 exp (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 exp2 (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 findMSB (global int)
+0:370 Constant:
+0:370 7 (const int)
+0:370 findLSB (global int)
+0:370 Constant:
+0:370 7 (const int)
+0:370 Floor (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 mod (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 Fraction (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 frexp (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 fwidth (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 ldexp (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 log (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 matrix-scale (temp 4X4 matrix of float)
+0:370 log2 (temp 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 Constant:
+0:370 0.301030
+0:370 log2 (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 max (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 min (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 pow (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 radians (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 roundEven (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 inverse sqrt (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 clamp (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 Constant:
+0:370 0.000000
+0:370 Constant:
+0:370 1.000000
+0:370 Sign (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 sine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 Sequence
+0:370 move second child to first child (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 sine (temp 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 move second child to first child (temp 4X4 matrix of float)
+0:370 'inF2' (temp 4X4 matrix of float)
+0:370 cosine (temp 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 hyp. sine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 smoothstep (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 'inF2' (temp 4X4 matrix of float)
+0:370 sqrt (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 step (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 tangent (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 hyp. tangent (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 transpose (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 trunc (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:373 Branch: Return with expression
+0:? Constant:
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:395 Function Definition: TestGenMul(f1;f1;vf2;vf2;mf22;mf22; (temp void)
+0:391 Function Parameters:
+0:391 'inF0' (temp float)
+0:391 'inF1' (temp float)
+0:391 'inFV0' (temp 2-component vector of float)
+0:391 'inFV1' (temp 2-component vector of float)
+0:391 'inFM0' (temp 2X2 matrix of float)
+0:391 'inFM1' (temp 2X2 matrix of float)
+0:? Sequence
+0:392 move second child to first child (temp float)
+0:392 'r0' (temp float)
+0:392 component-wise multiply (temp float)
+0:392 'inF0' (temp float)
+0:392 'inF1' (temp float)
+0:392 move second child to first child (temp 2-component vector of float)
+0:392 'r1' (temp 2-component vector of float)
+0:392 vector-scale (temp 2-component vector of float)
+0:392 'inFV0' (temp 2-component vector of float)
+0:392 'inF0' (temp float)
+0:392 move second child to first child (temp 2-component vector of float)
+0:392 'r2' (temp 2-component vector of float)
+0:392 vector-scale (temp 2-component vector of float)
+0:392 'inF0' (temp float)
+0:392 'inFV0' (temp 2-component vector of float)
+0:392 move second child to first child (temp float)
+0:392 'r3' (temp float)
+0:392 dot-product (global float)
+0:392 'inFV0' (temp 2-component vector of float)
+0:392 'inFV1' (temp 2-component vector of float)
+0:392 move second child to first child (temp 2-component vector of float)
+0:392 'r4' (temp 2-component vector of float)
+0:392 matrix-times-vector (temp 2-component vector of float)
+0:392 'inFM0' (temp 2X2 matrix of float)
+0:392 'inFV0' (temp 2-component vector of float)
+0:392 move second child to first child (temp 2-component vector of float)
+0:392 'r5' (temp 2-component vector of float)
+0:392 vector-times-matrix (temp 2-component vector of float)
+0:392 'inFV0' (temp 2-component vector of float)
+0:392 'inFM0' (temp 2X2 matrix of float)
+0:392 move second child to first child (temp 2X2 matrix of float)
+0:392 'r6' (temp 2X2 matrix of float)
+0:392 matrix-scale (temp 2X2 matrix of float)
+0:392 'inFM0' (temp 2X2 matrix of float)
+0:392 'inF0' (temp float)
+0:392 move second child to first child (temp 2X2 matrix of float)
+0:392 'r7' (temp 2X2 matrix of float)
+0:392 matrix-scale (temp 2X2 matrix of float)
+0:392 'inF0' (temp float)
+0:392 'inFM0' (temp 2X2 matrix of float)
+0:392 move second child to first child (temp 2X2 matrix of float)
+0:392 'r8' (temp 2X2 matrix of float)
+0:392 matrix-multiply (temp 2X2 matrix of float)
+0:392 'inFM0' (temp 2X2 matrix of float)
+0:392 'inFM1' (temp 2X2 matrix of float)
+0:402 Function Definition: TestGenMul(f1;f1;vf3;vf3;mf33;mf33; (temp void)
+0:398 Function Parameters:
+0:398 'inF0' (temp float)
+0:398 'inF1' (temp float)
+0:398 'inFV0' (temp 3-component vector of float)
+0:398 'inFV1' (temp 3-component vector of float)
+0:398 'inFM0' (temp 3X3 matrix of float)
+0:398 'inFM1' (temp 3X3 matrix of float)
+0:? Sequence
+0:399 move second child to first child (temp float)
+0:399 'r0' (temp float)
+0:399 component-wise multiply (temp float)
+0:399 'inF0' (temp float)
+0:399 'inF1' (temp float)
+0:399 move second child to first child (temp 3-component vector of float)
+0:399 'r1' (temp 3-component vector of float)
+0:399 vector-scale (temp 3-component vector of float)
+0:399 'inFV0' (temp 3-component vector of float)
+0:399 'inF0' (temp float)
+0:399 move second child to first child (temp 3-component vector of float)
+0:399 'r2' (temp 3-component vector of float)
+0:399 vector-scale (temp 3-component vector of float)
+0:399 'inF0' (temp float)
+0:399 'inFV0' (temp 3-component vector of float)
+0:399 move second child to first child (temp float)
+0:399 'r3' (temp float)
+0:399 dot-product (global float)
+0:399 'inFV0' (temp 3-component vector of float)
+0:399 'inFV1' (temp 3-component vector of float)
+0:399 move second child to first child (temp 3-component vector of float)
+0:399 'r4' (temp 3-component vector of float)
+0:399 matrix-times-vector (temp 3-component vector of float)
+0:399 'inFM0' (temp 3X3 matrix of float)
+0:399 'inFV0' (temp 3-component vector of float)
+0:399 move second child to first child (temp 3-component vector of float)
+0:399 'r5' (temp 3-component vector of float)
+0:399 vector-times-matrix (temp 3-component vector of float)
+0:399 'inFV0' (temp 3-component vector of float)
+0:399 'inFM0' (temp 3X3 matrix of float)
+0:399 move second child to first child (temp 3X3 matrix of float)
+0:399 'r6' (temp 3X3 matrix of float)
+0:399 matrix-scale (temp 3X3 matrix of float)
+0:399 'inFM0' (temp 3X3 matrix of float)
+0:399 'inF0' (temp float)
+0:399 move second child to first child (temp 3X3 matrix of float)
+0:399 'r7' (temp 3X3 matrix of float)
+0:399 matrix-scale (temp 3X3 matrix of float)
+0:399 'inF0' (temp float)
+0:399 'inFM0' (temp 3X3 matrix of float)
+0:399 move second child to first child (temp 3X3 matrix of float)
+0:399 'r8' (temp 3X3 matrix of float)
+0:399 matrix-multiply (temp 3X3 matrix of float)
+0:399 'inFM0' (temp 3X3 matrix of float)
+0:399 'inFM1' (temp 3X3 matrix of float)
+0:408 Function Definition: TestGenMul(f1;f1;vf4;vf4;mf44;mf44; (temp void)
+0:405 Function Parameters:
+0:405 'inF0' (temp float)
+0:405 'inF1' (temp float)
+0:405 'inFV0' (temp 4-component vector of float)
+0:405 'inFV1' (temp 4-component vector of float)
+0:405 'inFM0' (temp 4X4 matrix of float)
+0:405 'inFM1' (temp 4X4 matrix of float)
+0:? Sequence
+0:406 move second child to first child (temp float)
+0:406 'r0' (temp float)
+0:406 component-wise multiply (temp float)
+0:406 'inF0' (temp float)
+0:406 'inF1' (temp float)
+0:406 move second child to first child (temp 4-component vector of float)
+0:406 'r1' (temp 4-component vector of float)
+0:406 vector-scale (temp 4-component vector of float)
+0:406 'inFV0' (temp 4-component vector of float)
+0:406 'inF0' (temp float)
+0:406 move second child to first child (temp 4-component vector of float)
+0:406 'r2' (temp 4-component vector of float)
+0:406 vector-scale (temp 4-component vector of float)
+0:406 'inF0' (temp float)
+0:406 'inFV0' (temp 4-component vector of float)
+0:406 move second child to first child (temp float)
+0:406 'r3' (temp float)
+0:406 dot-product (global float)
+0:406 'inFV0' (temp 4-component vector of float)
+0:406 'inFV1' (temp 4-component vector of float)
+0:406 move second child to first child (temp 4-component vector of float)
+0:406 'r4' (temp 4-component vector of float)
+0:406 matrix-times-vector (temp 4-component vector of float)
+0:406 'inFM0' (temp 4X4 matrix of float)
+0:406 'inFV0' (temp 4-component vector of float)
+0:406 move second child to first child (temp 4-component vector of float)
+0:406 'r5' (temp 4-component vector of float)
+0:406 vector-times-matrix (temp 4-component vector of float)
+0:406 'inFV0' (temp 4-component vector of float)
+0:406 'inFM0' (temp 4X4 matrix of float)
+0:406 move second child to first child (temp 4X4 matrix of float)
+0:406 'r6' (temp 4X4 matrix of float)
+0:406 matrix-scale (temp 4X4 matrix of float)
+0:406 'inFM0' (temp 4X4 matrix of float)
+0:406 'inF0' (temp float)
+0:406 move second child to first child (temp 4X4 matrix of float)
+0:406 'r7' (temp 4X4 matrix of float)
+0:406 matrix-scale (temp 4X4 matrix of float)
+0:406 'inF0' (temp float)
+0:406 'inFM0' (temp 4X4 matrix of float)
+0:406 move second child to first child (temp 4X4 matrix of float)
+0:406 'r8' (temp 4X4 matrix of float)
+0:406 matrix-multiply (temp 4X4 matrix of float)
+0:406 'inFM0' (temp 4X4 matrix of float)
+0:406 'inFM1' (temp 4X4 matrix of float)
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:66 Function Definition: PixelShaderFunction(f1;f1;f1; (temp float)
+0:2 Function Parameters:
+0:2 'inF0' (temp float)
+0:2 'inF1' (temp float)
+0:2 'inF2' (temp float)
+0:? Sequence
+0:3 all (global bool)
+0:3 'inF0' (temp float)
+0:4 Absolute value (global float)
+0:4 'inF0' (temp float)
+0:5 arc cosine (global float)
+0:5 'inF0' (temp float)
+0:6 any (global bool)
+0:6 'inF0' (temp float)
+0:7 arc sine (global float)
+0:7 'inF0' (temp float)
+0:8 arc tangent (global float)
+0:8 'inF0' (temp float)
+0:9 arc tangent (global float)
+0:9 'inF0' (temp float)
+0:9 'inF1' (temp float)
+0:10 Ceiling (global float)
+0:10 'inF0' (temp float)
+0:11 clamp (global float)
+0:11 'inF0' (temp float)
+0:11 'inF1' (temp float)
+0:11 'inF2' (temp float)
+0:12 Test condition and select (temp void)
+0:12 Condition
+0:12 Compare Less Than (temp bool)
+0:12 'inF0' (temp float)
+0:12 Constant:
+0:12 0.000000
+0:12 true case
+0:12 Branch: Kill
+0:13 cosine (global float)
+0:13 'inF0' (temp float)
+0:14 hyp. cosine (global float)
+0:14 'inF0' (temp float)
+0:15 bitCount (global uint)
+0:15 Constant:
+0:15 7 (const uint)
+0:16 dPdx (global float)
+0:16 'inF0' (temp float)
+0:17 dPdxCoarse (global float)
+0:17 'inF0' (temp float)
+0:18 dPdxFine (global float)
+0:18 'inF0' (temp float)
+0:19 dPdy (global float)
+0:19 'inF0' (temp float)
+0:20 dPdyCoarse (global float)
+0:20 'inF0' (temp float)
+0:21 dPdyFine (global float)
+0:21 'inF0' (temp float)
+0:22 degrees (global float)
+0:22 'inF0' (temp float)
+0:26 exp (global float)
+0:26 'inF0' (temp float)
+0:27 exp2 (global float)
+0:27 'inF0' (temp float)
+0:28 findMSB (global int)
+0:28 Constant:
+0:28 7 (const int)
+0:29 findLSB (global int)
+0:29 Constant:
+0:29 7 (const int)
+0:30 Floor (global float)
+0:30 'inF0' (temp float)
+0:32 mod (global float)
+0:32 'inF0' (temp float)
+0:32 'inF1' (temp float)
+0:33 Fraction (global float)
+0:33 'inF0' (temp float)
+0:34 frexp (global float)
+0:34 'inF0' (temp float)
+0:34 'inF1' (temp float)
+0:35 fwidth (global float)
+0:35 'inF0' (temp float)
+0:36 isinf (global bool)
+0:36 'inF0' (temp float)
+0:37 isnan (global bool)
+0:37 'inF0' (temp float)
+0:38 ldexp (global float)
+0:38 'inF0' (temp float)
+0:38 'inF1' (temp float)
+0:39 log (global float)
+0:39 'inF0' (temp float)
+0:40 component-wise multiply (temp float)
+0:40 log2 (temp float)
+0:40 'inF0' (temp float)
+0:40 Constant:
+0:40 0.301030
+0:41 log2 (global float)
+0:41 'inF0' (temp float)
+0:42 max (global float)
+0:42 'inF0' (temp float)
+0:42 'inF1' (temp float)
+0:43 min (global float)
+0:43 'inF0' (temp float)
+0:43 'inF1' (temp float)
+0:44 pow (global float)
+0:44 'inF0' (temp float)
+0:44 'inF1' (temp float)
+0:45 radians (global float)
+0:45 'inF0' (temp float)
+0:46 divide (temp float)
+0:46 Constant:
+0:46 1.000000
+0:46 'inF0' (temp float)
+0:47 bitFieldReverse (global uint)
+0:47 Constant:
+0:47 2 (const uint)
+0:48 roundEven (global float)
+0:48 'inF0' (temp float)
+0:49 inverse sqrt (global float)
+0:49 'inF0' (temp float)
+0:50 clamp (global float)
+0:50 'inF0' (temp float)
+0:50 Constant:
+0:50 0.000000
+0:50 Constant:
+0:50 1.000000
+0:51 Sign (global float)
+0:51 'inF0' (temp float)
+0:52 sine (global float)
+0:52 'inF0' (temp float)
+0:53 Sequence
+0:53 move second child to first child (temp float)
+0:53 'inF1' (temp float)
+0:53 sine (temp float)
+0:53 'inF0' (temp float)
+0:53 move second child to first child (temp float)
+0:53 'inF2' (temp float)
+0:53 cosine (temp float)
+0:53 'inF0' (temp float)
+0:54 hyp. sine (global float)
+0:54 'inF0' (temp float)
+0:55 smoothstep (global float)
+0:55 'inF0' (temp float)
+0:55 'inF1' (temp float)
+0:55 'inF2' (temp float)
+0:56 sqrt (global float)
+0:56 'inF0' (temp float)
+0:57 step (global float)
+0:57 'inF0' (temp float)
+0:57 'inF1' (temp float)
+0:58 tangent (global float)
+0:58 'inF0' (temp float)
+0:59 hyp. tangent (global float)
+0:59 'inF0' (temp float)
+0:61 trunc (global float)
+0:61 'inF0' (temp float)
+0:63 Branch: Return with expression
+0:63 Constant:
+0:63 0.000000
+0:72 Function Definition: PixelShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
+0:67 Function Parameters:
+0:67 'inF0' (temp 1-component vector of float)
+0:67 'inF1' (temp 1-component vector of float)
+0:67 'inF2' (temp 1-component vector of float)
+0:? Sequence
+0:69 Branch: Return with expression
+0:69 Constant:
+0:69 0.000000
+0:145 Function Definition: PixelShaderFunction(vf2;vf2;vf2; (temp 2-component vector of float)
+0:73 Function Parameters:
+0:73 'inF0' (temp 2-component vector of float)
+0:73 'inF1' (temp 2-component vector of float)
+0:73 'inF2' (temp 2-component vector of float)
+0:? Sequence
+0:74 all (global bool)
+0:74 'inF0' (temp 2-component vector of float)
+0:75 Absolute value (global 2-component vector of float)
+0:75 'inF0' (temp 2-component vector of float)
+0:76 arc cosine (global 2-component vector of float)
+0:76 'inF0' (temp 2-component vector of float)
+0:77 any (global bool)
+0:77 'inF0' (temp 2-component vector of float)
+0:78 arc sine (global 2-component vector of float)
+0:78 'inF0' (temp 2-component vector of float)
+0:79 arc tangent (global 2-component vector of float)
+0:79 'inF0' (temp 2-component vector of float)
+0:80 arc tangent (global 2-component vector of float)
+0:80 'inF0' (temp 2-component vector of float)
+0:80 'inF1' (temp 2-component vector of float)
+0:81 Ceiling (global 2-component vector of float)
+0:81 'inF0' (temp 2-component vector of float)
+0:82 clamp (global 2-component vector of float)
+0:82 'inF0' (temp 2-component vector of float)
+0:82 'inF1' (temp 2-component vector of float)
+0:82 'inF2' (temp 2-component vector of float)
+0:83 Test condition and select (temp void)
+0:83 Condition
+0:83 any (temp bool)
+0:83 Compare Less Than (temp 2-component vector of bool)
+0:83 'inF0' (temp 2-component vector of float)
+0:83 Constant:
+0:83 0.000000
+0:83 0.000000
+0:83 true case
+0:83 Branch: Kill
+0:84 cosine (global 2-component vector of float)
+0:84 'inF0' (temp 2-component vector of float)
+0:85 hyp. cosine (global 2-component vector of float)
+0:85 'inF0' (temp 2-component vector of float)
+0:? bitCount (global 2-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:87 dPdx (global 2-component vector of float)
+0:87 'inF0' (temp 2-component vector of float)
+0:88 dPdxCoarse (global 2-component vector of float)
+0:88 'inF0' (temp 2-component vector of float)
+0:89 dPdxFine (global 2-component vector of float)
+0:89 'inF0' (temp 2-component vector of float)
+0:90 dPdy (global 2-component vector of float)
+0:90 'inF0' (temp 2-component vector of float)
+0:91 dPdyCoarse (global 2-component vector of float)
+0:91 'inF0' (temp 2-component vector of float)
+0:92 dPdyFine (global 2-component vector of float)
+0:92 'inF0' (temp 2-component vector of float)
+0:93 degrees (global 2-component vector of float)
+0:93 'inF0' (temp 2-component vector of float)
+0:94 distance (global float)
+0:94 'inF0' (temp 2-component vector of float)
+0:94 'inF1' (temp 2-component vector of float)
+0:95 dot-product (global float)
+0:95 'inF0' (temp 2-component vector of float)
+0:95 'inF1' (temp 2-component vector of float)
+0:99 exp (global 2-component vector of float)
+0:99 'inF0' (temp 2-component vector of float)
+0:100 exp2 (global 2-component vector of float)
+0:100 'inF0' (temp 2-component vector of float)
+0:101 face-forward (global 2-component vector of float)
+0:101 'inF0' (temp 2-component vector of float)
+0:101 'inF1' (temp 2-component vector of float)
+0:101 'inF2' (temp 2-component vector of float)
+0:102 findMSB (global int)
+0:102 Constant:
+0:102 7 (const int)
+0:103 findLSB (global int)
+0:103 Constant:
+0:103 7 (const int)
+0:104 Floor (global 2-component vector of float)
+0:104 'inF0' (temp 2-component vector of float)
+0:106 mod (global 2-component vector of float)
+0:106 'inF0' (temp 2-component vector of float)
+0:106 'inF1' (temp 2-component vector of float)
+0:107 Fraction (global 2-component vector of float)
+0:107 'inF0' (temp 2-component vector of float)
+0:108 frexp (global 2-component vector of float)
+0:108 'inF0' (temp 2-component vector of float)
+0:108 'inF1' (temp 2-component vector of float)
+0:109 fwidth (global 2-component vector of float)
+0:109 'inF0' (temp 2-component vector of float)
+0:110 isinf (global 2-component vector of bool)
+0:110 'inF0' (temp 2-component vector of float)
+0:111 isnan (global 2-component vector of bool)
+0:111 'inF0' (temp 2-component vector of float)
+0:112 ldexp (global 2-component vector of float)
+0:112 'inF0' (temp 2-component vector of float)
+0:112 'inF1' (temp 2-component vector of float)
+0:113 length (global float)
+0:113 'inF0' (temp 2-component vector of float)
+0:114 log (global 2-component vector of float)
+0:114 'inF0' (temp 2-component vector of float)
+0:115 vector-scale (temp 2-component vector of float)
+0:115 log2 (temp 2-component vector of float)
+0:115 'inF0' (temp 2-component vector of float)
+0:115 Constant:
+0:115 0.301030
+0:116 log2 (global 2-component vector of float)
+0:116 'inF0' (temp 2-component vector of float)
+0:117 max (global 2-component vector of float)
+0:117 'inF0' (temp 2-component vector of float)
+0:117 'inF1' (temp 2-component vector of float)
+0:118 min (global 2-component vector of float)
+0:118 'inF0' (temp 2-component vector of float)
+0:118 'inF1' (temp 2-component vector of float)
+0:119 normalize (global 2-component vector of float)
+0:119 'inF0' (temp 2-component vector of float)
+0:120 pow (global 2-component vector of float)
+0:120 'inF0' (temp 2-component vector of float)
+0:120 'inF1' (temp 2-component vector of float)
+0:121 radians (global 2-component vector of float)
+0:121 'inF0' (temp 2-component vector of float)
+0:122 divide (temp 2-component vector of float)
+0:122 Constant:
+0:122 1.000000
+0:122 'inF0' (temp 2-component vector of float)
+0:123 reflect (global 2-component vector of float)
+0:123 'inF0' (temp 2-component vector of float)
+0:123 'inF1' (temp 2-component vector of float)
+0:124 refract (global 2-component vector of float)
+0:124 'inF0' (temp 2-component vector of float)
+0:124 'inF1' (temp 2-component vector of float)
+0:124 Constant:
+0:124 2.000000
+0:? bitFieldReverse (global 2-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:126 roundEven (global 2-component vector of float)
+0:126 'inF0' (temp 2-component vector of float)
+0:127 inverse sqrt (global 2-component vector of float)
+0:127 'inF0' (temp 2-component vector of float)
+0:128 clamp (global 2-component vector of float)
+0:128 'inF0' (temp 2-component vector of float)
+0:128 Constant:
+0:128 0.000000
+0:128 Constant:
+0:128 1.000000
+0:129 Sign (global 2-component vector of float)
+0:129 'inF0' (temp 2-component vector of float)
+0:130 sine (global 2-component vector of float)
+0:130 'inF0' (temp 2-component vector of float)
+0:131 Sequence
+0:131 move second child to first child (temp 2-component vector of float)
+0:131 'inF1' (temp 2-component vector of float)
+0:131 sine (temp 2-component vector of float)
+0:131 'inF0' (temp 2-component vector of float)
+0:131 move second child to first child (temp 2-component vector of float)
+0:131 'inF2' (temp 2-component vector of float)
+0:131 cosine (temp 2-component vector of float)
+0:131 'inF0' (temp 2-component vector of float)
+0:132 hyp. sine (global 2-component vector of float)
+0:132 'inF0' (temp 2-component vector of float)
+0:133 smoothstep (global 2-component vector of float)
+0:133 'inF0' (temp 2-component vector of float)
+0:133 'inF1' (temp 2-component vector of float)
+0:133 'inF2' (temp 2-component vector of float)
+0:134 sqrt (global 2-component vector of float)
+0:134 'inF0' (temp 2-component vector of float)
+0:135 step (global 2-component vector of float)
+0:135 'inF0' (temp 2-component vector of float)
+0:135 'inF1' (temp 2-component vector of float)
+0:136 tangent (global 2-component vector of float)
+0:136 'inF0' (temp 2-component vector of float)
+0:137 hyp. tangent (global 2-component vector of float)
+0:137 'inF0' (temp 2-component vector of float)
+0:139 trunc (global 2-component vector of float)
+0:139 'inF0' (temp 2-component vector of float)
+0:142 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:219 Function Definition: PixelShaderFunction(vf3;vf3;vf3; (temp 3-component vector of float)
+0:146 Function Parameters:
+0:146 'inF0' (temp 3-component vector of float)
+0:146 'inF1' (temp 3-component vector of float)
+0:146 'inF2' (temp 3-component vector of float)
+0:? Sequence
+0:147 all (global bool)
+0:147 'inF0' (temp 3-component vector of float)
+0:148 Absolute value (global 3-component vector of float)
+0:148 'inF0' (temp 3-component vector of float)
+0:149 arc cosine (global 3-component vector of float)
+0:149 'inF0' (temp 3-component vector of float)
+0:150 any (global bool)
+0:150 'inF0' (temp 3-component vector of float)
+0:151 arc sine (global 3-component vector of float)
+0:151 'inF0' (temp 3-component vector of float)
+0:152 arc tangent (global 3-component vector of float)
+0:152 'inF0' (temp 3-component vector of float)
+0:153 arc tangent (global 3-component vector of float)
+0:153 'inF0' (temp 3-component vector of float)
+0:153 'inF1' (temp 3-component vector of float)
+0:154 Ceiling (global 3-component vector of float)
+0:154 'inF0' (temp 3-component vector of float)
+0:155 clamp (global 3-component vector of float)
+0:155 'inF0' (temp 3-component vector of float)
+0:155 'inF1' (temp 3-component vector of float)
+0:155 'inF2' (temp 3-component vector of float)
+0:156 Test condition and select (temp void)
+0:156 Condition
+0:156 any (temp bool)
+0:156 Compare Less Than (temp 3-component vector of bool)
+0:156 'inF0' (temp 3-component vector of float)
+0:156 Constant:
+0:156 0.000000
+0:156 0.000000
+0:156 0.000000
+0:156 true case
+0:156 Branch: Kill
+0:157 cosine (global 3-component vector of float)
+0:157 'inF0' (temp 3-component vector of float)
+0:158 hyp. cosine (global 3-component vector of float)
+0:158 'inF0' (temp 3-component vector of float)
+0:? bitCount (global 3-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:? 5 (const uint)
+0:160 cross-product (global 3-component vector of float)
+0:160 'inF0' (temp 3-component vector of float)
+0:160 'inF1' (temp 3-component vector of float)
+0:161 dPdx (global 3-component vector of float)
+0:161 'inF0' (temp 3-component vector of float)
+0:162 dPdxCoarse (global 3-component vector of float)
+0:162 'inF0' (temp 3-component vector of float)
+0:163 dPdxFine (global 3-component vector of float)
+0:163 'inF0' (temp 3-component vector of float)
+0:164 dPdy (global 3-component vector of float)
+0:164 'inF0' (temp 3-component vector of float)
+0:165 dPdyCoarse (global 3-component vector of float)
+0:165 'inF0' (temp 3-component vector of float)
+0:166 dPdyFine (global 3-component vector of float)
+0:166 'inF0' (temp 3-component vector of float)
+0:167 degrees (global 3-component vector of float)
+0:167 'inF0' (temp 3-component vector of float)
+0:168 distance (global float)
+0:168 'inF0' (temp 3-component vector of float)
+0:168 'inF1' (temp 3-component vector of float)
+0:169 dot-product (global float)
+0:169 'inF0' (temp 3-component vector of float)
+0:169 'inF1' (temp 3-component vector of float)
+0:173 exp (global 3-component vector of float)
+0:173 'inF0' (temp 3-component vector of float)
+0:174 exp2 (global 3-component vector of float)
+0:174 'inF0' (temp 3-component vector of float)
+0:175 face-forward (global 3-component vector of float)
+0:175 'inF0' (temp 3-component vector of float)
+0:175 'inF1' (temp 3-component vector of float)
+0:175 'inF2' (temp 3-component vector of float)
+0:176 findMSB (global int)
+0:176 Constant:
+0:176 7 (const int)
+0:177 findLSB (global int)
+0:177 Constant:
+0:177 7 (const int)
+0:178 Floor (global 3-component vector of float)
+0:178 'inF0' (temp 3-component vector of float)
+0:180 mod (global 3-component vector of float)
+0:180 'inF0' (temp 3-component vector of float)
+0:180 'inF1' (temp 3-component vector of float)
+0:181 Fraction (global 3-component vector of float)
+0:181 'inF0' (temp 3-component vector of float)
+0:182 frexp (global 3-component vector of float)
+0:182 'inF0' (temp 3-component vector of float)
+0:182 'inF1' (temp 3-component vector of float)
+0:183 fwidth (global 3-component vector of float)
+0:183 'inF0' (temp 3-component vector of float)
+0:184 isinf (global 3-component vector of bool)
+0:184 'inF0' (temp 3-component vector of float)
+0:185 isnan (global 3-component vector of bool)
+0:185 'inF0' (temp 3-component vector of float)
+0:186 ldexp (global 3-component vector of float)
+0:186 'inF0' (temp 3-component vector of float)
+0:186 'inF1' (temp 3-component vector of float)
+0:187 length (global float)
+0:187 'inF0' (temp 3-component vector of float)
+0:188 log (global 3-component vector of float)
+0:188 'inF0' (temp 3-component vector of float)
+0:189 vector-scale (temp 3-component vector of float)
+0:189 log2 (temp 3-component vector of float)
+0:189 'inF0' (temp 3-component vector of float)
+0:189 Constant:
+0:189 0.301030
+0:190 log2 (global 3-component vector of float)
+0:190 'inF0' (temp 3-component vector of float)
+0:191 max (global 3-component vector of float)
+0:191 'inF0' (temp 3-component vector of float)
+0:191 'inF1' (temp 3-component vector of float)
+0:192 min (global 3-component vector of float)
+0:192 'inF0' (temp 3-component vector of float)
+0:192 'inF1' (temp 3-component vector of float)
+0:193 normalize (global 3-component vector of float)
+0:193 'inF0' (temp 3-component vector of float)
+0:194 pow (global 3-component vector of float)
+0:194 'inF0' (temp 3-component vector of float)
+0:194 'inF1' (temp 3-component vector of float)
+0:195 radians (global 3-component vector of float)
+0:195 'inF0' (temp 3-component vector of float)
+0:196 divide (temp 3-component vector of float)
+0:196 Constant:
+0:196 1.000000
+0:196 'inF0' (temp 3-component vector of float)
+0:197 reflect (global 3-component vector of float)
+0:197 'inF0' (temp 3-component vector of float)
+0:197 'inF1' (temp 3-component vector of float)
+0:198 refract (global 3-component vector of float)
+0:198 'inF0' (temp 3-component vector of float)
+0:198 'inF1' (temp 3-component vector of float)
+0:198 Constant:
+0:198 2.000000
+0:? bitFieldReverse (global 3-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:200 roundEven (global 3-component vector of float)
+0:200 'inF0' (temp 3-component vector of float)
+0:201 inverse sqrt (global 3-component vector of float)
+0:201 'inF0' (temp 3-component vector of float)
+0:202 clamp (global 3-component vector of float)
+0:202 'inF0' (temp 3-component vector of float)
+0:202 Constant:
+0:202 0.000000
+0:202 Constant:
+0:202 1.000000
+0:203 Sign (global 3-component vector of float)
+0:203 'inF0' (temp 3-component vector of float)
+0:204 sine (global 3-component vector of float)
+0:204 'inF0' (temp 3-component vector of float)
+0:205 Sequence
+0:205 move second child to first child (temp 3-component vector of float)
+0:205 'inF1' (temp 3-component vector of float)
+0:205 sine (temp 3-component vector of float)
+0:205 'inF0' (temp 3-component vector of float)
+0:205 move second child to first child (temp 3-component vector of float)
+0:205 'inF2' (temp 3-component vector of float)
+0:205 cosine (temp 3-component vector of float)
+0:205 'inF0' (temp 3-component vector of float)
+0:206 hyp. sine (global 3-component vector of float)
+0:206 'inF0' (temp 3-component vector of float)
+0:207 smoothstep (global 3-component vector of float)
+0:207 'inF0' (temp 3-component vector of float)
+0:207 'inF1' (temp 3-component vector of float)
+0:207 'inF2' (temp 3-component vector of float)
+0:208 sqrt (global 3-component vector of float)
+0:208 'inF0' (temp 3-component vector of float)
+0:209 step (global 3-component vector of float)
+0:209 'inF0' (temp 3-component vector of float)
+0:209 'inF1' (temp 3-component vector of float)
+0:210 tangent (global 3-component vector of float)
+0:210 'inF0' (temp 3-component vector of float)
+0:211 hyp. tangent (global 3-component vector of float)
+0:211 'inF0' (temp 3-component vector of float)
+0:213 trunc (global 3-component vector of float)
+0:213 'inF0' (temp 3-component vector of float)
+0:216 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:349 Function Definition: PixelShaderFunction(vf4;vf4;vf4; (temp 4-component vector of float)
+0:220 Function Parameters:
+0:220 'inF0' (temp 4-component vector of float)
+0:220 'inF1' (temp 4-component vector of float)
+0:220 'inF2' (temp 4-component vector of float)
+0:? Sequence
+0:221 all (global bool)
+0:221 'inF0' (temp 4-component vector of float)
+0:222 Absolute value (global 4-component vector of float)
+0:222 'inF0' (temp 4-component vector of float)
+0:223 arc cosine (global 4-component vector of float)
+0:223 'inF0' (temp 4-component vector of float)
+0:224 any (global bool)
+0:224 'inF0' (temp 4-component vector of float)
+0:225 arc sine (global 4-component vector of float)
+0:225 'inF0' (temp 4-component vector of float)
+0:226 arc tangent (global 4-component vector of float)
+0:226 'inF0' (temp 4-component vector of float)
+0:227 arc tangent (global 4-component vector of float)
+0:227 'inF0' (temp 4-component vector of float)
+0:227 'inF1' (temp 4-component vector of float)
+0:228 Ceiling (global 4-component vector of float)
+0:228 'inF0' (temp 4-component vector of float)
+0:229 clamp (global 4-component vector of float)
+0:229 'inF0' (temp 4-component vector of float)
+0:229 'inF1' (temp 4-component vector of float)
+0:229 'inF2' (temp 4-component vector of float)
+0:230 Test condition and select (temp void)
+0:230 Condition
+0:230 any (temp bool)
+0:230 Compare Less Than (temp 4-component vector of bool)
+0:230 'inF0' (temp 4-component vector of float)
+0:230 Constant:
+0:230 0.000000
+0:230 0.000000
+0:230 0.000000
+0:230 0.000000
+0:230 true case
+0:230 Branch: Kill
+0:231 cosine (global 4-component vector of float)
+0:231 'inF0' (temp 4-component vector of float)
+0:232 hyp. cosine (global 4-component vector of float)
+0:232 'inF0' (temp 4-component vector of float)
+0:? bitCount (global 4-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:? 5 (const uint)
+0:? 2 (const uint)
+0:234 dPdx (global 4-component vector of float)
+0:234 'inF0' (temp 4-component vector of float)
+0:235 dPdxCoarse (global 4-component vector of float)
+0:235 'inF0' (temp 4-component vector of float)
+0:236 dPdxFine (global 4-component vector of float)
+0:236 'inF0' (temp 4-component vector of float)
+0:237 dPdy (global 4-component vector of float)
+0:237 'inF0' (temp 4-component vector of float)
+0:238 dPdyCoarse (global 4-component vector of float)
+0:238 'inF0' (temp 4-component vector of float)
+0:239 dPdyFine (global 4-component vector of float)
+0:239 'inF0' (temp 4-component vector of float)
+0:240 degrees (global 4-component vector of float)
+0:240 'inF0' (temp 4-component vector of float)
+0:241 distance (global float)
+0:241 'inF0' (temp 4-component vector of float)
+0:241 'inF1' (temp 4-component vector of float)
+0:242 dot-product (global float)
+0:242 'inF0' (temp 4-component vector of float)
+0:242 'inF1' (temp 4-component vector of float)
+0:243 Construct vec4 (temp float)
+0:243 Constant:
+0:243 1.000000
+0:243 component-wise multiply (temp float)
+0:243 direct index (temp float)
+0:243 'inF0' (temp 4-component vector of float)
+0:243 Constant:
+0:243 1 (const int)
+0:243 direct index (temp float)
+0:243 'inF1' (temp 4-component vector of float)
+0:243 Constant:
+0:243 1 (const int)
+0:243 direct index (temp float)
+0:243 'inF0' (temp 4-component vector of float)
+0:243 Constant:
+0:243 2 (const int)
+0:243 direct index (temp float)
+0:243 'inF1' (temp 4-component vector of float)
+0:243 Constant:
+0:243 3 (const int)
+0:247 exp (global 4-component vector of float)
+0:247 'inF0' (temp 4-component vector of float)
+0:248 exp2 (global 4-component vector of float)
+0:248 'inF0' (temp 4-component vector of float)
+0:249 face-forward (global 4-component vector of float)
+0:249 'inF0' (temp 4-component vector of float)
+0:249 'inF1' (temp 4-component vector of float)
+0:249 'inF2' (temp 4-component vector of float)
+0:250 findMSB (global int)
+0:250 Constant:
+0:250 7 (const int)
+0:251 findLSB (global int)
+0:251 Constant:
+0:251 7 (const int)
+0:252 Floor (global 4-component vector of float)
+0:252 'inF0' (temp 4-component vector of float)
+0:254 mod (global 4-component vector of float)
+0:254 'inF0' (temp 4-component vector of float)
+0:254 'inF1' (temp 4-component vector of float)
+0:255 Fraction (global 4-component vector of float)
+0:255 'inF0' (temp 4-component vector of float)
+0:256 frexp (global 4-component vector of float)
+0:256 'inF0' (temp 4-component vector of float)
+0:256 'inF1' (temp 4-component vector of float)
+0:257 fwidth (global 4-component vector of float)
+0:257 'inF0' (temp 4-component vector of float)
+0:258 isinf (global 4-component vector of bool)
+0:258 'inF0' (temp 4-component vector of float)
+0:259 isnan (global 4-component vector of bool)
+0:259 'inF0' (temp 4-component vector of float)
+0:260 ldexp (global 4-component vector of float)
+0:260 'inF0' (temp 4-component vector of float)
+0:260 'inF1' (temp 4-component vector of float)
+0:261 length (global float)
+0:261 'inF0' (temp 4-component vector of float)
+0:262 log (global 4-component vector of float)
+0:262 'inF0' (temp 4-component vector of float)
+0:263 vector-scale (temp 4-component vector of float)
+0:263 log2 (temp 4-component vector of float)
+0:263 'inF0' (temp 4-component vector of float)
+0:263 Constant:
+0:263 0.301030
+0:264 log2 (global 4-component vector of float)
+0:264 'inF0' (temp 4-component vector of float)
+0:265 max (global 4-component vector of float)
+0:265 'inF0' (temp 4-component vector of float)
+0:265 'inF1' (temp 4-component vector of float)
+0:266 min (global 4-component vector of float)
+0:266 'inF0' (temp 4-component vector of float)
+0:266 'inF1' (temp 4-component vector of float)
+0:267 normalize (global 4-component vector of float)
+0:267 'inF0' (temp 4-component vector of float)
+0:268 pow (global 4-component vector of float)
+0:268 'inF0' (temp 4-component vector of float)
+0:268 'inF1' (temp 4-component vector of float)
+0:269 radians (global 4-component vector of float)
+0:269 'inF0' (temp 4-component vector of float)
+0:270 divide (temp 4-component vector of float)
+0:270 Constant:
+0:270 1.000000
+0:270 'inF0' (temp 4-component vector of float)
+0:271 reflect (global 4-component vector of float)
+0:271 'inF0' (temp 4-component vector of float)
+0:271 'inF1' (temp 4-component vector of float)
+0:272 refract (global 4-component vector of float)
+0:272 'inF0' (temp 4-component vector of float)
+0:272 'inF1' (temp 4-component vector of float)
+0:272 Constant:
+0:272 2.000000
+0:? bitFieldReverse (global 4-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:274 roundEven (global 4-component vector of float)
+0:274 'inF0' (temp 4-component vector of float)
+0:275 inverse sqrt (global 4-component vector of float)
+0:275 'inF0' (temp 4-component vector of float)
+0:276 clamp (global 4-component vector of float)
+0:276 'inF0' (temp 4-component vector of float)
+0:276 Constant:
+0:276 0.000000
+0:276 Constant:
+0:276 1.000000
+0:277 Sign (global 4-component vector of float)
+0:277 'inF0' (temp 4-component vector of float)
+0:278 sine (global 4-component vector of float)
+0:278 'inF0' (temp 4-component vector of float)
+0:279 Sequence
+0:279 move second child to first child (temp 4-component vector of float)
+0:279 'inF1' (temp 4-component vector of float)
+0:279 sine (temp 4-component vector of float)
+0:279 'inF0' (temp 4-component vector of float)
+0:279 move second child to first child (temp 4-component vector of float)
+0:279 'inF2' (temp 4-component vector of float)
+0:279 cosine (temp 4-component vector of float)
+0:279 'inF0' (temp 4-component vector of float)
+0:280 hyp. sine (global 4-component vector of float)
+0:280 'inF0' (temp 4-component vector of float)
+0:281 smoothstep (global 4-component vector of float)
+0:281 'inF0' (temp 4-component vector of float)
+0:281 'inF1' (temp 4-component vector of float)
+0:281 'inF2' (temp 4-component vector of float)
+0:282 sqrt (global 4-component vector of float)
+0:282 'inF0' (temp 4-component vector of float)
+0:283 step (global 4-component vector of float)
+0:283 'inF0' (temp 4-component vector of float)
+0:283 'inF1' (temp 4-component vector of float)
+0:284 tangent (global 4-component vector of float)
+0:284 'inF0' (temp 4-component vector of float)
+0:285 hyp. tangent (global 4-component vector of float)
+0:285 'inF0' (temp 4-component vector of float)
+0:287 trunc (global 4-component vector of float)
+0:287 'inF0' (temp 4-component vector of float)
+0:290 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:358 Function Definition: PixelShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:350 Function Parameters:
+0:350 'inF0' (temp 2X2 matrix of float)
+0:350 'inF1' (temp 2X2 matrix of float)
+0:350 'inF2' (temp 2X2 matrix of float)
+0:? Sequence
+0:352 all (global bool)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 Absolute value (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 arc cosine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 any (global bool)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 arc sine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 arc tangent (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 arc tangent (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 Ceiling (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 Test condition and select (temp void)
+0:352 Condition
+0:352 any (temp bool)
+0:352 Compare Less Than (temp 2X2 matrix of bool)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 Constant:
+0:352 0.000000
+0:352 0.000000
+0:352 0.000000
+0:352 0.000000
+0:352 true case
+0:352 Branch: Kill
+0:352 clamp (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 'inF2' (temp 2X2 matrix of float)
+0:352 cosine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 hyp. cosine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 dPdx (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 dPdxCoarse (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 dPdxFine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 dPdy (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 dPdyCoarse (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 dPdyFine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 degrees (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 determinant (global float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 exp (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 exp2 (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 findMSB (global int)
+0:352 Constant:
+0:352 7 (const int)
+0:352 findLSB (global int)
+0:352 Constant:
+0:352 7 (const int)
+0:352 Floor (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 mod (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 Fraction (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 frexp (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 fwidth (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 ldexp (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 log (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 matrix-scale (temp 2X2 matrix of float)
+0:352 log2 (temp 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 Constant:
+0:352 0.301030
+0:352 log2 (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 max (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 min (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 pow (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 radians (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 roundEven (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 inverse sqrt (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 clamp (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 Constant:
+0:352 0.000000
+0:352 Constant:
+0:352 1.000000
+0:352 Sign (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 sine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 Sequence
+0:352 move second child to first child (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 sine (temp 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 move second child to first child (temp 2X2 matrix of float)
+0:352 'inF2' (temp 2X2 matrix of float)
+0:352 cosine (temp 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 hyp. sine (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 smoothstep (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 'inF2' (temp 2X2 matrix of float)
+0:352 sqrt (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 step (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 'inF1' (temp 2X2 matrix of float)
+0:352 tangent (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 hyp. tangent (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 transpose (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:352 trunc (global 2X2 matrix of float)
+0:352 'inF0' (temp 2X2 matrix of float)
+0:355 Branch: Return with expression
+0:? Constant:
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:367 Function Definition: PixelShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:359 Function Parameters:
+0:359 'inF0' (temp 3X3 matrix of float)
+0:359 'inF1' (temp 3X3 matrix of float)
+0:359 'inF2' (temp 3X3 matrix of float)
+0:? Sequence
+0:361 all (global bool)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 Absolute value (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 arc cosine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 any (global bool)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 arc sine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 arc tangent (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 arc tangent (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 Ceiling (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 Test condition and select (temp void)
+0:361 Condition
+0:361 any (temp bool)
+0:361 Compare Less Than (temp 3X3 matrix of bool)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 Constant:
+0:361 0.000000
+0:361 0.000000
+0:361 0.000000
+0:361 0.000000
+0:361 0.000000
+0:361 0.000000
+0:361 0.000000
+0:361 0.000000
+0:361 0.000000
+0:361 true case
+0:361 Branch: Kill
+0:361 clamp (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 'inF2' (temp 3X3 matrix of float)
+0:361 cosine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 hyp. cosine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 dPdx (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 dPdxCoarse (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 dPdxFine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 dPdy (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 dPdyCoarse (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 dPdyFine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 degrees (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 determinant (global float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 exp (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 exp2 (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 findMSB (global int)
+0:361 Constant:
+0:361 7 (const int)
+0:361 findLSB (global int)
+0:361 Constant:
+0:361 7 (const int)
+0:361 Floor (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 mod (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 Fraction (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 frexp (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 fwidth (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 ldexp (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 log (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 matrix-scale (temp 3X3 matrix of float)
+0:361 log2 (temp 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 Constant:
+0:361 0.301030
+0:361 log2 (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 max (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 min (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 pow (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 radians (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 roundEven (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 inverse sqrt (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 clamp (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 Constant:
+0:361 0.000000
+0:361 Constant:
+0:361 1.000000
+0:361 Sign (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 sine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 Sequence
+0:361 move second child to first child (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 sine (temp 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 move second child to first child (temp 3X3 matrix of float)
+0:361 'inF2' (temp 3X3 matrix of float)
+0:361 cosine (temp 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 hyp. sine (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 smoothstep (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 'inF2' (temp 3X3 matrix of float)
+0:361 sqrt (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 step (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 'inF1' (temp 3X3 matrix of float)
+0:361 tangent (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 hyp. tangent (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 transpose (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:361 trunc (global 3X3 matrix of float)
+0:361 'inF0' (temp 3X3 matrix of float)
+0:364 Branch: Return with expression
+0:? Constant:
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:388 Function Definition: PixelShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:368 Function Parameters:
+0:368 'inF0' (temp 4X4 matrix of float)
+0:368 'inF1' (temp 4X4 matrix of float)
+0:368 'inF2' (temp 4X4 matrix of float)
+0:? Sequence
+0:370 all (global bool)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 Absolute value (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 arc cosine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 any (global bool)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 arc sine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 arc tangent (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 arc tangent (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 Ceiling (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 Test condition and select (temp void)
+0:370 Condition
+0:370 any (temp bool)
+0:370 Compare Less Than (temp 4X4 matrix of bool)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 Constant:
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 0.000000
+0:370 true case
+0:370 Branch: Kill
+0:370 clamp (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 'inF2' (temp 4X4 matrix of float)
+0:370 cosine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 hyp. cosine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 dPdx (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 dPdxCoarse (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 dPdxFine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 dPdy (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 dPdyCoarse (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 dPdyFine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 degrees (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 determinant (global float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 exp (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 exp2 (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 findMSB (global int)
+0:370 Constant:
+0:370 7 (const int)
+0:370 findLSB (global int)
+0:370 Constant:
+0:370 7 (const int)
+0:370 Floor (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 mod (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 Fraction (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 frexp (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 fwidth (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 ldexp (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 log (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 matrix-scale (temp 4X4 matrix of float)
+0:370 log2 (temp 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 Constant:
+0:370 0.301030
+0:370 log2 (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 max (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 min (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 pow (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 radians (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 roundEven (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 inverse sqrt (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 clamp (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 Constant:
+0:370 0.000000
+0:370 Constant:
+0:370 1.000000
+0:370 Sign (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 sine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 Sequence
+0:370 move second child to first child (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 sine (temp 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 move second child to first child (temp 4X4 matrix of float)
+0:370 'inF2' (temp 4X4 matrix of float)
+0:370 cosine (temp 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 hyp. sine (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 smoothstep (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 'inF2' (temp 4X4 matrix of float)
+0:370 sqrt (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 step (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 'inF1' (temp 4X4 matrix of float)
+0:370 tangent (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 hyp. tangent (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 transpose (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:370 trunc (global 4X4 matrix of float)
+0:370 'inF0' (temp 4X4 matrix of float)
+0:373 Branch: Return with expression
+0:? Constant:
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:395 Function Definition: TestGenMul(f1;f1;vf2;vf2;mf22;mf22; (temp void)
+0:391 Function Parameters:
+0:391 'inF0' (temp float)
+0:391 'inF1' (temp float)
+0:391 'inFV0' (temp 2-component vector of float)
+0:391 'inFV1' (temp 2-component vector of float)
+0:391 'inFM0' (temp 2X2 matrix of float)
+0:391 'inFM1' (temp 2X2 matrix of float)
+0:? Sequence
+0:392 move second child to first child (temp float)
+0:392 'r0' (temp float)
+0:392 component-wise multiply (temp float)
+0:392 'inF0' (temp float)
+0:392 'inF1' (temp float)
+0:392 move second child to first child (temp 2-component vector of float)
+0:392 'r1' (temp 2-component vector of float)
+0:392 vector-scale (temp 2-component vector of float)
+0:392 'inFV0' (temp 2-component vector of float)
+0:392 'inF0' (temp float)
+0:392 move second child to first child (temp 2-component vector of float)
+0:392 'r2' (temp 2-component vector of float)
+0:392 vector-scale (temp 2-component vector of float)
+0:392 'inF0' (temp float)
+0:392 'inFV0' (temp 2-component vector of float)
+0:392 move second child to first child (temp float)
+0:392 'r3' (temp float)
+0:392 dot-product (global float)
+0:392 'inFV0' (temp 2-component vector of float)
+0:392 'inFV1' (temp 2-component vector of float)
+0:392 move second child to first child (temp 2-component vector of float)
+0:392 'r4' (temp 2-component vector of float)
+0:392 matrix-times-vector (temp 2-component vector of float)
+0:392 'inFM0' (temp 2X2 matrix of float)
+0:392 'inFV0' (temp 2-component vector of float)
+0:392 move second child to first child (temp 2-component vector of float)
+0:392 'r5' (temp 2-component vector of float)
+0:392 vector-times-matrix (temp 2-component vector of float)
+0:392 'inFV0' (temp 2-component vector of float)
+0:392 'inFM0' (temp 2X2 matrix of float)
+0:392 move second child to first child (temp 2X2 matrix of float)
+0:392 'r6' (temp 2X2 matrix of float)
+0:392 matrix-scale (temp 2X2 matrix of float)
+0:392 'inFM0' (temp 2X2 matrix of float)
+0:392 'inF0' (temp float)
+0:392 move second child to first child (temp 2X2 matrix of float)
+0:392 'r7' (temp 2X2 matrix of float)
+0:392 matrix-scale (temp 2X2 matrix of float)
+0:392 'inF0' (temp float)
+0:392 'inFM0' (temp 2X2 matrix of float)
+0:392 move second child to first child (temp 2X2 matrix of float)
+0:392 'r8' (temp 2X2 matrix of float)
+0:392 matrix-multiply (temp 2X2 matrix of float)
+0:392 'inFM0' (temp 2X2 matrix of float)
+0:392 'inFM1' (temp 2X2 matrix of float)
+0:402 Function Definition: TestGenMul(f1;f1;vf3;vf3;mf33;mf33; (temp void)
+0:398 Function Parameters:
+0:398 'inF0' (temp float)
+0:398 'inF1' (temp float)
+0:398 'inFV0' (temp 3-component vector of float)
+0:398 'inFV1' (temp 3-component vector of float)
+0:398 'inFM0' (temp 3X3 matrix of float)
+0:398 'inFM1' (temp 3X3 matrix of float)
+0:? Sequence
+0:399 move second child to first child (temp float)
+0:399 'r0' (temp float)
+0:399 component-wise multiply (temp float)
+0:399 'inF0' (temp float)
+0:399 'inF1' (temp float)
+0:399 move second child to first child (temp 3-component vector of float)
+0:399 'r1' (temp 3-component vector of float)
+0:399 vector-scale (temp 3-component vector of float)
+0:399 'inFV0' (temp 3-component vector of float)
+0:399 'inF0' (temp float)
+0:399 move second child to first child (temp 3-component vector of float)
+0:399 'r2' (temp 3-component vector of float)
+0:399 vector-scale (temp 3-component vector of float)
+0:399 'inF0' (temp float)
+0:399 'inFV0' (temp 3-component vector of float)
+0:399 move second child to first child (temp float)
+0:399 'r3' (temp float)
+0:399 dot-product (global float)
+0:399 'inFV0' (temp 3-component vector of float)
+0:399 'inFV1' (temp 3-component vector of float)
+0:399 move second child to first child (temp 3-component vector of float)
+0:399 'r4' (temp 3-component vector of float)
+0:399 matrix-times-vector (temp 3-component vector of float)
+0:399 'inFM0' (temp 3X3 matrix of float)
+0:399 'inFV0' (temp 3-component vector of float)
+0:399 move second child to first child (temp 3-component vector of float)
+0:399 'r5' (temp 3-component vector of float)
+0:399 vector-times-matrix (temp 3-component vector of float)
+0:399 'inFV0' (temp 3-component vector of float)
+0:399 'inFM0' (temp 3X3 matrix of float)
+0:399 move second child to first child (temp 3X3 matrix of float)
+0:399 'r6' (temp 3X3 matrix of float)
+0:399 matrix-scale (temp 3X3 matrix of float)
+0:399 'inFM0' (temp 3X3 matrix of float)
+0:399 'inF0' (temp float)
+0:399 move second child to first child (temp 3X3 matrix of float)
+0:399 'r7' (temp 3X3 matrix of float)
+0:399 matrix-scale (temp 3X3 matrix of float)
+0:399 'inF0' (temp float)
+0:399 'inFM0' (temp 3X3 matrix of float)
+0:399 move second child to first child (temp 3X3 matrix of float)
+0:399 'r8' (temp 3X3 matrix of float)
+0:399 matrix-multiply (temp 3X3 matrix of float)
+0:399 'inFM0' (temp 3X3 matrix of float)
+0:399 'inFM1' (temp 3X3 matrix of float)
+0:408 Function Definition: TestGenMul(f1;f1;vf4;vf4;mf44;mf44; (temp void)
+0:405 Function Parameters:
+0:405 'inF0' (temp float)
+0:405 'inF1' (temp float)
+0:405 'inFV0' (temp 4-component vector of float)
+0:405 'inFV1' (temp 4-component vector of float)
+0:405 'inFM0' (temp 4X4 matrix of float)
+0:405 'inFM1' (temp 4X4 matrix of float)
+0:? Sequence
+0:406 move second child to first child (temp float)
+0:406 'r0' (temp float)
+0:406 component-wise multiply (temp float)
+0:406 'inF0' (temp float)
+0:406 'inF1' (temp float)
+0:406 move second child to first child (temp 4-component vector of float)
+0:406 'r1' (temp 4-component vector of float)
+0:406 vector-scale (temp 4-component vector of float)
+0:406 'inFV0' (temp 4-component vector of float)
+0:406 'inF0' (temp float)
+0:406 move second child to first child (temp 4-component vector of float)
+0:406 'r2' (temp 4-component vector of float)
+0:406 vector-scale (temp 4-component vector of float)
+0:406 'inF0' (temp float)
+0:406 'inFV0' (temp 4-component vector of float)
+0:406 move second child to first child (temp float)
+0:406 'r3' (temp float)
+0:406 dot-product (global float)
+0:406 'inFV0' (temp 4-component vector of float)
+0:406 'inFV1' (temp 4-component vector of float)
+0:406 move second child to first child (temp 4-component vector of float)
+0:406 'r4' (temp 4-component vector of float)
+0:406 matrix-times-vector (temp 4-component vector of float)
+0:406 'inFM0' (temp 4X4 matrix of float)
+0:406 'inFV0' (temp 4-component vector of float)
+0:406 move second child to first child (temp 4-component vector of float)
+0:406 'r5' (temp 4-component vector of float)
+0:406 vector-times-matrix (temp 4-component vector of float)
+0:406 'inFV0' (temp 4-component vector of float)
+0:406 'inFM0' (temp 4X4 matrix of float)
+0:406 move second child to first child (temp 4X4 matrix of float)
+0:406 'r6' (temp 4X4 matrix of float)
+0:406 matrix-scale (temp 4X4 matrix of float)
+0:406 'inFM0' (temp 4X4 matrix of float)
+0:406 'inF0' (temp float)
+0:406 move second child to first child (temp 4X4 matrix of float)
+0:406 'r7' (temp 4X4 matrix of float)
+0:406 matrix-scale (temp 4X4 matrix of float)
+0:406 'inF0' (temp float)
+0:406 'inFM0' (temp 4X4 matrix of float)
+0:406 move second child to first child (temp 4X4 matrix of float)
+0:406 'r8' (temp 4X4 matrix of float)
+0:406 matrix-multiply (temp 4X4 matrix of float)
+0:406 'inFM0' (temp 4X4 matrix of float)
+0:406 'inFM1' (temp 4X4 matrix of float)
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 1209
+
+ Capability Shader
+ Capability DerivativeControl
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 19 "TestGenMul(f1;f1;vf2;vf2;mf22;mf22;"
+ Name 13 "inF0"
+ Name 14 "inF1"
+ Name 15 "inFV0"
+ Name 16 "inFV1"
+ Name 17 "inFM0"
+ Name 18 "inFM1"
+ Name 32 "TestGenMul(f1;f1;vf3;vf3;mf33;mf33;"
+ Name 26 "inF0"
+ Name 27 "inF1"
+ Name 28 "inFV0"
+ Name 29 "inFV1"
+ Name 30 "inFM0"
+ Name 31 "inFM1"
+ Name 45 "TestGenMul(f1;f1;vf4;vf4;mf44;mf44;"
+ Name 39 "inF0"
+ Name 40 "inF1"
+ Name 41 "inFV0"
+ Name 42 "inFV1"
+ Name 43 "inFM0"
+ Name 44 "inFM1"
+ Name 47 "inF0"
+ Name 62 "inF1"
+ Name 69 "inF2"
+ Name 115 "ResType"
+ Name 185 "inF0"
+ Name 199 "inF1"
+ Name 206 "inF2"
+ Name 264 "ResType"
+ Name 347 "inF0"
+ Name 361 "inF1"
+ Name 368 "inF2"
+ Name 429 "ResType"
+ Name 511 "inF0"
+ Name 525 "inF1"
+ Name 532 "inF2"
+ Name 598 "ResType"
+ Name 681 "inF0"
+ Name 695 "inF1"
+ Name 710 "inF2"
+ Name 753 "ResType"
+ Name 818 "inF0"
+ Name 832 "inF1"
+ Name 847 "inF2"
+ Name 893 "ResType"
+ Name 958 "inF0"
+ Name 972 "inF1"
+ Name 987 "inF2"
+ Name 1036 "ResType"
+ Name 1101 "r0"
+ Name 1105 "r1"
+ Name 1109 "r2"
+ Name 1113 "r3"
+ Name 1117 "r4"
+ Name 1121 "r5"
+ Name 1125 "r6"
+ Name 1129 "r7"
+ Name 1133 "r8"
+ Name 1137 "r0"
+ Name 1141 "r1"
+ Name 1145 "r2"
+ Name 1149 "r3"
+ Name 1153 "r4"
+ Name 1157 "r5"
+ Name 1161 "r6"
+ Name 1165 "r7"
+ Name 1169 "r8"
+ Name 1173 "r0"
+ Name 1177 "r1"
+ Name 1181 "r2"
+ Name 1185 "r3"
+ Name 1189 "r4"
+ Name 1193 "r5"
+ Name 1197 "r6"
+ Name 1201 "r7"
+ Name 1205 "r8"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 8: TypeVector 6(float) 2
+ 9: TypePointer Function 8(fvec2)
+ 10: TypeMatrix 8(fvec2) 2
+ 11: TypePointer Function 10
+ 12: TypeFunction 2 7(ptr) 7(ptr) 9(ptr) 9(ptr) 11(ptr) 11(ptr)
+ 21: TypeVector 6(float) 3
+ 22: TypePointer Function 21(fvec3)
+ 23: TypeMatrix 21(fvec3) 3
+ 24: TypePointer Function 23
+ 25: TypeFunction 2 7(ptr) 7(ptr) 22(ptr) 22(ptr) 24(ptr) 24(ptr)
+ 34: TypeVector 6(float) 4
+ 35: TypePointer Function 34(fvec4)
+ 36: TypeMatrix 34(fvec4) 4
+ 37: TypePointer Function 36
+ 38: TypeFunction 2 7(ptr) 7(ptr) 35(ptr) 35(ptr) 37(ptr) 37(ptr)
+ 49: TypeBool
+ 73: 6(float) Constant 0
+ 82: TypeInt 32 0
+ 83: 82(int) Constant 7
+ 103: TypeInt 32 1
+ 104: 103(int) Constant 7
+ 115(ResType): TypeStruct 6(float) 103(int)
+ 132: 6(float) Constant 1050288283
+ 147: 6(float) Constant 1065353216
+ 150: 82(int) Constant 2
+ 210: 8(fvec2) ConstantComposite 73 73
+ 211: TypeVector 49(bool) 2
+ 221: TypeVector 82(int) 2
+ 222: 82(int) Constant 3
+ 223: 221(ivec2) ConstantComposite 83 222
+ 263: TypeVector 103(int) 2
+ 264(ResType): TypeStruct 8(fvec2) 263(ivec2)
+ 307: 6(float) Constant 1073741824
+ 309: 82(int) Constant 1
+ 310: 221(ivec2) ConstantComposite 309 150
+ 345: 8(fvec2) ConstantComposite 147 307
+ 372: 21(fvec3) ConstantComposite 73 73 73
+ 373: TypeVector 49(bool) 3
+ 383: TypeVector 82(int) 3
+ 384: 82(int) Constant 5
+ 385: 383(ivec3) ConstantComposite 83 222 384
+ 428: TypeVector 103(int) 3
+ 429(ResType): TypeStruct 21(fvec3) 428(ivec3)
+ 473: 383(ivec3) ConstantComposite 309 150 222
+ 508: 6(float) Constant 1077936128
+ 509: 21(fvec3) ConstantComposite 147 307 508
+ 536: 34(fvec4) ConstantComposite 73 73 73 73
+ 537: TypeVector 49(bool) 4
+ 547: TypeVector 82(int) 4
+ 548: 547(ivec4) ConstantComposite 83 222 384 150
+ 597: TypeVector 103(int) 4
+ 598(ResType): TypeStruct 34(fvec4) 597(ivec4)
+ 642: 82(int) Constant 4
+ 643: 547(ivec4) ConstantComposite 309 150 222 642
+ 678: 6(float) Constant 1082130432
+ 679: 34(fvec4) ConstantComposite 147 307 508 678
+ 701: 10 ConstantComposite 210 210
+ 702: TypeMatrix 211(bvec2) 2
+ 753(ResType): TypeStruct 10 263(ivec2)
+ 815: 8(fvec2) ConstantComposite 307 307
+ 816: 10 ConstantComposite 815 815
+ 838: 23 ConstantComposite 372 372 372
+ 839: TypeMatrix 373(bvec3) 3
+ 893(ResType): TypeStruct 23 428(ivec3)
+ 955: 21(fvec3) ConstantComposite 508 508 508
+ 956: 23 ConstantComposite 955 955 955
+ 978: 36 ConstantComposite 536 536 536 536
+ 979: TypeMatrix 537(bvec4) 4
+ 1036(ResType): TypeStruct 36 597(ivec4)
+ 1098: 34(fvec4) ConstantComposite 678 678 678 678
+ 1099: 36 ConstantComposite 1098 1098 1098 1098
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 47(inF0): 7(ptr) Variable Function
+ 62(inF1): 7(ptr) Variable Function
+ 69(inF2): 7(ptr) Variable Function
+ 185(inF0): 9(ptr) Variable Function
+ 199(inF1): 9(ptr) Variable Function
+ 206(inF2): 9(ptr) Variable Function
+ 347(inF0): 22(ptr) Variable Function
+ 361(inF1): 22(ptr) Variable Function
+ 368(inF2): 22(ptr) Variable Function
+ 511(inF0): 35(ptr) Variable Function
+ 525(inF1): 35(ptr) Variable Function
+ 532(inF2): 35(ptr) Variable Function
+ 681(inF0): 11(ptr) Variable Function
+ 695(inF1): 11(ptr) Variable Function
+ 710(inF2): 11(ptr) Variable Function
+ 818(inF0): 24(ptr) Variable Function
+ 832(inF1): 24(ptr) Variable Function
+ 847(inF2): 24(ptr) Variable Function
+ 958(inF0): 37(ptr) Variable Function
+ 972(inF1): 37(ptr) Variable Function
+ 987(inF2): 37(ptr) Variable Function
+ 48: 6(float) Load 47(inF0)
+ 50: 49(bool) All 48
+ 51: 6(float) Load 47(inF0)
+ 52: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 51
+ 53: 6(float) Load 47(inF0)
+ 54: 6(float) ExtInst 1(GLSL.std.450) 17(Acos) 53
+ 55: 6(float) Load 47(inF0)
+ 56: 49(bool) Any 55
+ 57: 6(float) Load 47(inF0)
+ 58: 6(float) ExtInst 1(GLSL.std.450) 16(Asin) 57
+ 59: 6(float) Load 47(inF0)
+ 60: 6(float) ExtInst 1(GLSL.std.450) 18(Atan) 59
+ 61: 6(float) Load 47(inF0)
+ 63: 6(float) Load 62(inF1)
+ 64: 6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 61 63
+ 65: 6(float) Load 47(inF0)
+ 66: 6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 65
+ 67: 6(float) Load 47(inF0)
+ 68: 6(float) Load 62(inF1)
+ 70: 6(float) Load 69(inF2)
+ 71: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 67 68 70
+ 72: 6(float) Load 47(inF0)
+ 74: 49(bool) FOrdLessThan 72 73
+ SelectionMerge 76 None
+ BranchConditional 74 75 76
+ 75: Label
+ Kill
+ 76: Label
+ 78: 6(float) Load 47(inF0)
+ 79: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 78
+ 80: 6(float) Load 47(inF0)
+ 81: 6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 80
+ 84: 82(int) BitCount 83
+ 85: 6(float) Load 47(inF0)
+ 86: 6(float) DPdx 85
+ 87: 6(float) Load 47(inF0)
+ 88: 6(float) DPdxCoarse 87
+ 89: 6(float) Load 47(inF0)
+ 90: 6(float) DPdxFine 89
+ 91: 6(float) Load 47(inF0)
+ 92: 6(float) DPdy 91
+ 93: 6(float) Load 47(inF0)
+ 94: 6(float) DPdyCoarse 93
+ 95: 6(float) Load 47(inF0)
+ 96: 6(float) DPdyFine 95
+ 97: 6(float) Load 47(inF0)
+ 98: 6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 97
+ 99: 6(float) Load 47(inF0)
+ 100: 6(float) ExtInst 1(GLSL.std.450) 27(Exp) 99
+ 101: 6(float) Load 47(inF0)
+ 102: 6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 101
+ 105: 103(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 104
+ 106: 103(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 104
+ 107: 6(float) Load 47(inF0)
+ 108: 6(float) ExtInst 1(GLSL.std.450) 8(Floor) 107
+ 109: 6(float) Load 47(inF0)
+ 110: 6(float) Load 62(inF1)
+ 111: 6(float) FMod 109 110
+ 112: 6(float) Load 47(inF0)
+ 113: 6(float) ExtInst 1(GLSL.std.450) 10(Fract) 112
+ 114: 6(float) Load 47(inF0)
+ 116:115(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 114
+ 117: 103(int) CompositeExtract 116 1
+ Store 62(inF1) 117
+ 118: 6(float) CompositeExtract 116 0
+ 119: 6(float) Load 47(inF0)
+ 120: 6(float) Fwidth 119
+ 121: 6(float) Load 47(inF0)
+ 122: 49(bool) IsInf 121
+ 123: 6(float) Load 47(inF0)
+ 124: 49(bool) IsNan 123
+ 125: 6(float) Load 47(inF0)
+ 126: 6(float) Load 62(inF1)
+ 127: 6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 125 126
+ 128: 6(float) Load 47(inF0)
+ 129: 6(float) ExtInst 1(GLSL.std.450) 28(Log) 128
+ 130: 6(float) Load 47(inF0)
+ 131: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 130
+ 133: 6(float) FMul 131 132
+ 134: 6(float) Load 47(inF0)
+ 135: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 134
+ 136: 6(float) Load 47(inF0)
+ 137: 6(float) Load 62(inF1)
+ 138: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 136 137
+ 139: 6(float) Load 47(inF0)
+ 140: 6(float) Load 62(inF1)
+ 141: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 139 140
+ 142: 6(float) Load 47(inF0)
+ 143: 6(float) Load 62(inF1)
+ 144: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 142 143
+ 145: 6(float) Load 47(inF0)
+ 146: 6(float) ExtInst 1(GLSL.std.450) 11(Radians) 145
+ 148: 6(float) Load 47(inF0)
+ 149: 6(float) FDiv 147 148
+ 151: 82(int) BitReverse 150
+ 152: 6(float) Load 47(inF0)
+ 153: 6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 152
+ 154: 6(float) Load 47(inF0)
+ 155: 6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 154
+ 156: 6(float) Load 47(inF0)
+ 157: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 156 73 147
+ 158: 6(float) Load 47(inF0)
+ 159: 6(float) ExtInst 1(GLSL.std.450) 6(FSign) 158
+ 160: 6(float) Load 47(inF0)
+ 161: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 160
+ 162: 6(float) Load 47(inF0)
+ 163: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 162
+ Store 62(inF1) 163
+ 164: 6(float) Load 47(inF0)
+ 165: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 164
+ Store 69(inF2) 165
+ 166: 6(float) Load 47(inF0)
+ 167: 6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 166
+ 168: 6(float) Load 47(inF0)
+ 169: 6(float) Load 62(inF1)
+ 170: 6(float) Load 69(inF2)
+ 171: 6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 168 169 170
+ 172: 6(float) Load 47(inF0)
+ 173: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 172
+ 174: 6(float) Load 47(inF0)
+ 175: 6(float) Load 62(inF1)
+ 176: 6(float) ExtInst 1(GLSL.std.450) 48(Step) 174 175
+ 177: 6(float) Load 47(inF0)
+ 178: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 177
+ 179: 6(float) Load 47(inF0)
+ 180: 6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 179
+ 181: 6(float) Load 47(inF0)
+ 182: 6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 181
+ ReturnValue 73
+ FunctionEnd
+19(TestGenMul(f1;f1;vf2;vf2;mf22;mf22;): 2 Function None 12
+ 13(inF0): 7(ptr) FunctionParameter
+ 14(inF1): 7(ptr) FunctionParameter
+ 15(inFV0): 9(ptr) FunctionParameter
+ 16(inFV1): 9(ptr) FunctionParameter
+ 17(inFM0): 11(ptr) FunctionParameter
+ 18(inFM1): 11(ptr) FunctionParameter
+ 20: Label
+ 1101(r0): 7(ptr) Variable Function
+ 1105(r1): 9(ptr) Variable Function
+ 1109(r2): 9(ptr) Variable Function
+ 1113(r3): 7(ptr) Variable Function
+ 1117(r4): 9(ptr) Variable Function
+ 1121(r5): 9(ptr) Variable Function
+ 1125(r6): 11(ptr) Variable Function
+ 1129(r7): 11(ptr) Variable Function
+ 1133(r8): 11(ptr) Variable Function
+ 1102: 6(float) Load 13(inF0)
+ 1103: 6(float) Load 14(inF1)
+ 1104: 6(float) FMul 1102 1103
+ Store 1101(r0) 1104
+ 1106: 8(fvec2) Load 15(inFV0)
+ 1107: 6(float) Load 13(inF0)
+ 1108: 8(fvec2) VectorTimesScalar 1106 1107
+ Store 1105(r1) 1108
+ 1110: 6(float) Load 13(inF0)
+ 1111: 8(fvec2) Load 15(inFV0)
+ 1112: 8(fvec2) VectorTimesScalar 1111 1110
+ Store 1109(r2) 1112
+ 1114: 8(fvec2) Load 15(inFV0)
+ 1115: 8(fvec2) Load 16(inFV1)
+ 1116: 6(float) Dot 1114 1115
+ Store 1113(r3) 1116
+ 1118: 10 Load 17(inFM0)
+ 1119: 8(fvec2) Load 15(inFV0)
+ 1120: 8(fvec2) MatrixTimesVector 1118 1119
+ Store 1117(r4) 1120
+ 1122: 8(fvec2) Load 15(inFV0)
+ 1123: 10 Load 17(inFM0)
+ 1124: 8(fvec2) VectorTimesMatrix 1122 1123
+ Store 1121(r5) 1124
+ 1126: 10 Load 17(inFM0)
+ 1127: 6(float) Load 13(inF0)
+ 1128: 10 MatrixTimesScalar 1126 1127
+ Store 1125(r6) 1128
+ 1130: 6(float) Load 13(inF0)
+ 1131: 10 Load 17(inFM0)
+ 1132: 10 MatrixTimesScalar 1131 1130
+ Store 1129(r7) 1132
+ 1134: 10 Load 17(inFM0)
+ 1135: 10 Load 18(inFM1)
+ 1136: 10 MatrixTimesMatrix 1134 1135
+ Store 1133(r8) 1136
+ Return
+ FunctionEnd
+32(TestGenMul(f1;f1;vf3;vf3;mf33;mf33;): 2 Function None 25
+ 26(inF0): 7(ptr) FunctionParameter
+ 27(inF1): 7(ptr) FunctionParameter
+ 28(inFV0): 22(ptr) FunctionParameter
+ 29(inFV1): 22(ptr) FunctionParameter
+ 30(inFM0): 24(ptr) FunctionParameter
+ 31(inFM1): 24(ptr) FunctionParameter
+ 33: Label
+ 1137(r0): 7(ptr) Variable Function
+ 1141(r1): 22(ptr) Variable Function
+ 1145(r2): 22(ptr) Variable Function
+ 1149(r3): 7(ptr) Variable Function
+ 1153(r4): 22(ptr) Variable Function
+ 1157(r5): 22(ptr) Variable Function
+ 1161(r6): 24(ptr) Variable Function
+ 1165(r7): 24(ptr) Variable Function
+ 1169(r8): 24(ptr) Variable Function
+ 1138: 6(float) Load 26(inF0)
+ 1139: 6(float) Load 27(inF1)
+ 1140: 6(float) FMul 1138 1139
+ Store 1137(r0) 1140
+ 1142: 21(fvec3) Load 28(inFV0)
+ 1143: 6(float) Load 26(inF0)
+ 1144: 21(fvec3) VectorTimesScalar 1142 1143
+ Store 1141(r1) 1144
+ 1146: 6(float) Load 26(inF0)
+ 1147: 21(fvec3) Load 28(inFV0)
+ 1148: 21(fvec3) VectorTimesScalar 1147 1146
+ Store 1145(r2) 1148
+ 1150: 21(fvec3) Load 28(inFV0)
+ 1151: 21(fvec3) Load 29(inFV1)
+ 1152: 6(float) Dot 1150 1151
+ Store 1149(r3) 1152
+ 1154: 23 Load 30(inFM0)
+ 1155: 21(fvec3) Load 28(inFV0)
+ 1156: 21(fvec3) MatrixTimesVector 1154 1155
+ Store 1153(r4) 1156
+ 1158: 21(fvec3) Load 28(inFV0)
+ 1159: 23 Load 30(inFM0)
+ 1160: 21(fvec3) VectorTimesMatrix 1158 1159
+ Store 1157(r5) 1160
+ 1162: 23 Load 30(inFM0)
+ 1163: 6(float) Load 26(inF0)
+ 1164: 23 MatrixTimesScalar 1162 1163
+ Store 1161(r6) 1164
+ 1166: 6(float) Load 26(inF0)
+ 1167: 23 Load 30(inFM0)
+ 1168: 23 MatrixTimesScalar 1167 1166
+ Store 1165(r7) 1168
+ 1170: 23 Load 30(inFM0)
+ 1171: 23 Load 31(inFM1)
+ 1172: 23 MatrixTimesMatrix 1170 1171
+ Store 1169(r8) 1172
+ Return
+ FunctionEnd
+45(TestGenMul(f1;f1;vf4;vf4;mf44;mf44;): 2 Function None 38
+ 39(inF0): 7(ptr) FunctionParameter
+ 40(inF1): 7(ptr) FunctionParameter
+ 41(inFV0): 35(ptr) FunctionParameter
+ 42(inFV1): 35(ptr) FunctionParameter
+ 43(inFM0): 37(ptr) FunctionParameter
+ 44(inFM1): 37(ptr) FunctionParameter
+ 46: Label
+ 1173(r0): 7(ptr) Variable Function
+ 1177(r1): 35(ptr) Variable Function
+ 1181(r2): 35(ptr) Variable Function
+ 1185(r3): 7(ptr) Variable Function
+ 1189(r4): 35(ptr) Variable Function
+ 1193(r5): 35(ptr) Variable Function
+ 1197(r6): 37(ptr) Variable Function
+ 1201(r7): 37(ptr) Variable Function
+ 1205(r8): 37(ptr) Variable Function
+ 1174: 6(float) Load 39(inF0)
+ 1175: 6(float) Load 40(inF1)
+ 1176: 6(float) FMul 1174 1175
+ Store 1173(r0) 1176
+ 1178: 34(fvec4) Load 41(inFV0)
+ 1179: 6(float) Load 39(inF0)
+ 1180: 34(fvec4) VectorTimesScalar 1178 1179
+ Store 1177(r1) 1180
+ 1182: 6(float) Load 39(inF0)
+ 1183: 34(fvec4) Load 41(inFV0)
+ 1184: 34(fvec4) VectorTimesScalar 1183 1182
+ Store 1181(r2) 1184
+ 1186: 34(fvec4) Load 41(inFV0)
+ 1187: 34(fvec4) Load 42(inFV1)
+ 1188: 6(float) Dot 1186 1187
+ Store 1185(r3) 1188
+ 1190: 36 Load 43(inFM0)
+ 1191: 34(fvec4) Load 41(inFV0)
+ 1192: 34(fvec4) MatrixTimesVector 1190 1191
+ Store 1189(r4) 1192
+ 1194: 34(fvec4) Load 41(inFV0)
+ 1195: 36 Load 43(inFM0)
+ 1196: 34(fvec4) VectorTimesMatrix 1194 1195
+ Store 1193(r5) 1196
+ 1198: 36 Load 43(inFM0)
+ 1199: 6(float) Load 39(inF0)
+ 1200: 36 MatrixTimesScalar 1198 1199
+ Store 1197(r6) 1200
+ 1202: 6(float) Load 39(inF0)
+ 1203: 36 Load 43(inFM0)
+ 1204: 36 MatrixTimesScalar 1203 1202
+ Store 1201(r7) 1204
+ 1206: 36 Load 43(inFM0)
+ 1207: 36 Load 44(inFM1)
+ 1208: 36 MatrixTimesMatrix 1206 1207
+ Store 1205(r8) 1208
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.negative.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.negative.frag.out
new file mode 100644
index 00000000000..d1f9b429b4b
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.negative.frag.out
@@ -0,0 +1,702 @@
+hlsl.intrinsics.negative.frag
+ERROR: 0:5: 'asdouble' : no matching overloaded function found
+ERROR: 0:6: 'CheckAccessFullyMapped' : no matching overloaded function found
+ERROR: 0:7: 'countbits' : no matching overloaded function found
+ERROR: 0:8: 'cross' : no matching overloaded function found
+ERROR: 0:9: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:10: 'determinant' : no matching overloaded function found
+ERROR: 0:12: 'f16tof32' : no matching overloaded function found
+ERROR: 0:13: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:14: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:15: 'fma' : no matching overloaded function found
+ERROR: 0:23: 'length' : no matching overloaded function found
+ERROR: 0:24: 'msad4' : no matching overloaded function found
+ERROR: 0:25: 'normalize' : no matching overloaded function found
+ERROR: 0:26: 'reflect' : no matching overloaded function found
+ERROR: 0:27: 'refract' : no matching overloaded function found
+ERROR: 0:28: 'refract' : no matching overloaded function found
+ERROR: 0:29: 'reversebits' : no matching overloaded function found
+ERROR: 0:30: 'transpose' : no matching overloaded function found
+ERROR: 0:39: 'GetRenderTargetSamplePosition' : no matching overloaded function found
+ERROR: 0:46: 'asdouble' : no matching overloaded function found
+ERROR: 0:47: 'CheckAccessFullyMapped' : no matching overloaded function found
+ERROR: 0:48: 'countbits' : no matching overloaded function found
+ERROR: 0:49: 'cross' : no matching overloaded function found
+ERROR: 0:50: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:51: 'determinant' : no matching overloaded function found
+ERROR: 0:52: 'f16tof32' : no matching overloaded function found
+ERROR: 0:53: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:54: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:55: 'fma' : no matching overloaded function found
+ERROR: 0:56: 'reversebits' : no matching overloaded function found
+ERROR: 0:57: 'transpose' : no matching overloaded function found
+ERROR: 0:64: 'CheckAccessFullyMapped' : no matching overloaded function found
+ERROR: 0:65: 'countbits' : no matching overloaded function found
+ERROR: 0:66: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:67: 'determinant' : no matching overloaded function found
+ERROR: 0:68: 'f16tof32' : no matching overloaded function found
+ERROR: 0:69: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:70: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:71: 'fma' : no matching overloaded function found
+ERROR: 0:72: 'reversebits' : no matching overloaded function found
+ERROR: 0:73: 'transpose' : no matching overloaded function found
+ERROR: 0:81: 'CheckAccessFullyMapped' : no matching overloaded function found
+ERROR: 0:82: 'countbits' : no matching overloaded function found
+ERROR: 0:83: 'cross' : no matching overloaded function found
+ERROR: 0:84: 'determinant' : no matching overloaded function found
+ERROR: 0:85: 'f16tof32' : no matching overloaded function found
+ERROR: 0:86: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:87: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:88: 'fma' : no matching overloaded function found
+ERROR: 0:89: 'reversebits' : no matching overloaded function found
+ERROR: 0:90: 'transpose' : no matching overloaded function found
+ERROR: 0:118: 'countbits' : no matching overloaded function found
+ERROR: 0:118: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:118: 'cross' : no matching overloaded function found
+ERROR: 0:118: 'f16tof32' : no matching overloaded function found
+ERROR: 0:118: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:118: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:118: 'fma' : no matching overloaded function found
+ERROR: 0:118: 'reversebits' : no matching overloaded function found
+ERROR: 0:118: 'length' : no matching overloaded function found
+ERROR: 0:118: 'noise' : no matching overloaded function found
+ERROR: 0:118: 'normalize' : no matching overloaded function found
+ERROR: 0:118: 'reflect' : no matching overloaded function found
+ERROR: 0:118: 'refract' : no matching overloaded function found
+ERROR: 0:118: 'reversebits' : no matching overloaded function found
+ERROR: 0:126: 'countbits' : no matching overloaded function found
+ERROR: 0:126: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:126: 'cross' : no matching overloaded function found
+ERROR: 0:126: 'f16tof32' : no matching overloaded function found
+ERROR: 0:126: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:126: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:126: 'fma' : no matching overloaded function found
+ERROR: 0:126: 'reversebits' : no matching overloaded function found
+ERROR: 0:126: 'length' : no matching overloaded function found
+ERROR: 0:126: 'noise' : no matching overloaded function found
+ERROR: 0:126: 'normalize' : no matching overloaded function found
+ERROR: 0:126: 'reflect' : no matching overloaded function found
+ERROR: 0:126: 'refract' : no matching overloaded function found
+ERROR: 0:126: 'reversebits' : no matching overloaded function found
+ERROR: 0:134: 'countbits' : no matching overloaded function found
+ERROR: 0:134: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:134: 'cross' : no matching overloaded function found
+ERROR: 0:134: 'f16tof32' : no matching overloaded function found
+ERROR: 0:134: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:134: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:134: 'fma' : no matching overloaded function found
+ERROR: 0:134: 'reversebits' : no matching overloaded function found
+ERROR: 0:134: 'length' : no matching overloaded function found
+ERROR: 0:134: 'noise' : no matching overloaded function found
+ERROR: 0:134: 'normalize' : no matching overloaded function found
+ERROR: 0:134: 'reflect' : no matching overloaded function found
+ERROR: 0:134: 'refract' : no matching overloaded function found
+ERROR: 0:134: 'reversebits' : no matching overloaded function found
+ERROR: 93 compilation errors. No code generated.
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+ERROR: node is still EOpNull!
+0:35 Function Definition: PixelShaderFunction(f1;f1;f1;i1; (temp float)
+0:2 Function Parameters:
+0:2 'inF0' (temp float)
+0:2 'inF1' (temp float)
+0:2 'inF2' (temp float)
+0:2 'inI0' (temp int)
+0:? Sequence
+0:5 Constant:
+0:5 0.000000
+0:6 Constant:
+0:6 0.000000
+0:7 Constant:
+0:7 0.000000
+0:8 Constant:
+0:8 0.000000
+0:9 Constant:
+0:9 0.000000
+0:10 Constant:
+0:10 0.000000
+0:12 Constant:
+0:12 0.000000
+0:13 Constant:
+0:13 0.000000
+0:14 Constant:
+0:14 0.000000
+0:15 Constant:
+0:15 0.000000
+0:23 Constant:
+0:23 0.000000
+0:24 Constant:
+0:24 0.000000
+0:25 Constant:
+0:25 0.000000
+0:26 Constant:
+0:26 0.000000
+0:27 Constant:
+0:27 0.000000
+0:28 Constant:
+0:28 0.000000
+0:29 Constant:
+0:29 0.000000
+0:30 Constant:
+0:30 0.000000
+0:32 Branch: Return with expression
+0:32 Constant:
+0:32 0.000000
+0:44 Function Definition: PixelShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:36 Function Parameters:
+0:36 'inF0' (temp 1-component vector of float)
+0:36 'inF1' (temp 1-component vector of float)
+0:36 'inF2' (temp 1-component vector of float)
+0:36 'inI0' (temp 1-component vector of int)
+0:? Sequence
+0:39 Constant:
+0:39 0.000000
+0:41 Branch: Return with expression
+0:41 Constant:
+0:41 0.000000
+0:62 Function Definition: PixelShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:45 Function Parameters:
+0:45 'inF0' (temp 2-component vector of float)
+0:45 'inF1' (temp 2-component vector of float)
+0:45 'inF2' (temp 2-component vector of float)
+0:45 'inI0' (temp 2-component vector of int)
+0:? Sequence
+0:46 Constant:
+0:46 0.000000
+0:47 Constant:
+0:47 0.000000
+0:48 Constant:
+0:48 0.000000
+0:49 Constant:
+0:49 0.000000
+0:50 Constant:
+0:50 0.000000
+0:51 Constant:
+0:51 0.000000
+0:52 Constant:
+0:52 0.000000
+0:53 Constant:
+0:53 0.000000
+0:54 Constant:
+0:54 0.000000
+0:55 Constant:
+0:55 0.000000
+0:56 Constant:
+0:56 0.000000
+0:57 Constant:
+0:57 0.000000
+0:59 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:79 Function Definition: PixelShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:63 Function Parameters:
+0:63 'inF0' (temp 3-component vector of float)
+0:63 'inF1' (temp 3-component vector of float)
+0:63 'inF2' (temp 3-component vector of float)
+0:63 'inI0' (temp 3-component vector of int)
+0:? Sequence
+0:64 Constant:
+0:64 0.000000
+0:65 Constant:
+0:65 0.000000
+0:66 Constant:
+0:66 0.000000
+0:67 Constant:
+0:67 0.000000
+0:68 Constant:
+0:68 0.000000
+0:69 Constant:
+0:69 0.000000
+0:70 Constant:
+0:70 0.000000
+0:71 Constant:
+0:71 0.000000
+0:72 Constant:
+0:72 0.000000
+0:73 Constant:
+0:73 0.000000
+0:76 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:115 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
+0:80 Function Parameters:
+0:80 'inF0' (temp 4-component vector of float)
+0:80 'inF1' (temp 4-component vector of float)
+0:80 'inF2' (temp 4-component vector of float)
+0:80 'inI0' (temp 4-component vector of int)
+0:? Sequence
+0:81 Constant:
+0:81 0.000000
+0:82 Constant:
+0:82 0.000000
+0:83 Constant:
+0:83 0.000000
+0:84 Constant:
+0:84 0.000000
+0:85 Constant:
+0:85 0.000000
+0:86 Constant:
+0:86 0.000000
+0:87 Constant:
+0:87 0.000000
+0:88 Constant:
+0:88 0.000000
+0:89 Constant:
+0:89 0.000000
+0:90 Constant:
+0:90 0.000000
+0:92 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:123 Function Definition: PixelShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:116 Function Parameters:
+0:116 'inF0' (temp 2X2 matrix of float)
+0:116 'inF1' (temp 2X2 matrix of float)
+0:116 'inF2' (temp 2X2 matrix of float)
+0:? Sequence
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:120 Branch: Return with expression
+0:? Constant:
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:131 Function Definition: PixelShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:124 Function Parameters:
+0:124 'inF0' (temp 3X3 matrix of float)
+0:124 'inF1' (temp 3X3 matrix of float)
+0:124 'inF2' (temp 3X3 matrix of float)
+0:? Sequence
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:128 Branch: Return with expression
+0:? Constant:
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:138 Function Definition: PixelShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:132 Function Parameters:
+0:132 'inF0' (temp 4X4 matrix of float)
+0:132 'inF1' (temp 4X4 matrix of float)
+0:132 'inF2' (temp 4X4 matrix of float)
+0:? Sequence
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:136 Branch: Return with expression
+0:? Constant:
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+ERROR: node is still EOpNull!
+0:35 Function Definition: PixelShaderFunction(f1;f1;f1;i1; (temp float)
+0:2 Function Parameters:
+0:2 'inF0' (temp float)
+0:2 'inF1' (temp float)
+0:2 'inF2' (temp float)
+0:2 'inI0' (temp int)
+0:? Sequence
+0:5 Constant:
+0:5 0.000000
+0:6 Constant:
+0:6 0.000000
+0:7 Constant:
+0:7 0.000000
+0:8 Constant:
+0:8 0.000000
+0:9 Constant:
+0:9 0.000000
+0:10 Constant:
+0:10 0.000000
+0:12 Constant:
+0:12 0.000000
+0:13 Constant:
+0:13 0.000000
+0:14 Constant:
+0:14 0.000000
+0:15 Constant:
+0:15 0.000000
+0:23 Constant:
+0:23 0.000000
+0:24 Constant:
+0:24 0.000000
+0:25 Constant:
+0:25 0.000000
+0:26 Constant:
+0:26 0.000000
+0:27 Constant:
+0:27 0.000000
+0:28 Constant:
+0:28 0.000000
+0:29 Constant:
+0:29 0.000000
+0:30 Constant:
+0:30 0.000000
+0:32 Branch: Return with expression
+0:32 Constant:
+0:32 0.000000
+0:44 Function Definition: PixelShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:36 Function Parameters:
+0:36 'inF0' (temp 1-component vector of float)
+0:36 'inF1' (temp 1-component vector of float)
+0:36 'inF2' (temp 1-component vector of float)
+0:36 'inI0' (temp 1-component vector of int)
+0:? Sequence
+0:39 Constant:
+0:39 0.000000
+0:41 Branch: Return with expression
+0:41 Constant:
+0:41 0.000000
+0:62 Function Definition: PixelShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:45 Function Parameters:
+0:45 'inF0' (temp 2-component vector of float)
+0:45 'inF1' (temp 2-component vector of float)
+0:45 'inF2' (temp 2-component vector of float)
+0:45 'inI0' (temp 2-component vector of int)
+0:? Sequence
+0:46 Constant:
+0:46 0.000000
+0:47 Constant:
+0:47 0.000000
+0:48 Constant:
+0:48 0.000000
+0:49 Constant:
+0:49 0.000000
+0:50 Constant:
+0:50 0.000000
+0:51 Constant:
+0:51 0.000000
+0:52 Constant:
+0:52 0.000000
+0:53 Constant:
+0:53 0.000000
+0:54 Constant:
+0:54 0.000000
+0:55 Constant:
+0:55 0.000000
+0:56 Constant:
+0:56 0.000000
+0:57 Constant:
+0:57 0.000000
+0:59 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:79 Function Definition: PixelShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:63 Function Parameters:
+0:63 'inF0' (temp 3-component vector of float)
+0:63 'inF1' (temp 3-component vector of float)
+0:63 'inF2' (temp 3-component vector of float)
+0:63 'inI0' (temp 3-component vector of int)
+0:? Sequence
+0:64 Constant:
+0:64 0.000000
+0:65 Constant:
+0:65 0.000000
+0:66 Constant:
+0:66 0.000000
+0:67 Constant:
+0:67 0.000000
+0:68 Constant:
+0:68 0.000000
+0:69 Constant:
+0:69 0.000000
+0:70 Constant:
+0:70 0.000000
+0:71 Constant:
+0:71 0.000000
+0:72 Constant:
+0:72 0.000000
+0:73 Constant:
+0:73 0.000000
+0:76 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:115 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
+0:80 Function Parameters:
+0:80 'inF0' (temp 4-component vector of float)
+0:80 'inF1' (temp 4-component vector of float)
+0:80 'inF2' (temp 4-component vector of float)
+0:80 'inI0' (temp 4-component vector of int)
+0:? Sequence
+0:81 Constant:
+0:81 0.000000
+0:82 Constant:
+0:82 0.000000
+0:83 Constant:
+0:83 0.000000
+0:84 Constant:
+0:84 0.000000
+0:85 Constant:
+0:85 0.000000
+0:86 Constant:
+0:86 0.000000
+0:87 Constant:
+0:87 0.000000
+0:88 Constant:
+0:88 0.000000
+0:89 Constant:
+0:89 0.000000
+0:90 Constant:
+0:90 0.000000
+0:92 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:123 Function Definition: PixelShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:116 Function Parameters:
+0:116 'inF0' (temp 2X2 matrix of float)
+0:116 'inF1' (temp 2X2 matrix of float)
+0:116 'inF2' (temp 2X2 matrix of float)
+0:? Sequence
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:118 Constant:
+0:118 0.000000
+0:120 Branch: Return with expression
+0:? Constant:
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:131 Function Definition: PixelShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:124 Function Parameters:
+0:124 'inF0' (temp 3X3 matrix of float)
+0:124 'inF1' (temp 3X3 matrix of float)
+0:124 'inF2' (temp 3X3 matrix of float)
+0:? Sequence
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:128 Branch: Return with expression
+0:? Constant:
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:138 Function Definition: PixelShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:132 Function Parameters:
+0:132 'inF0' (temp 4X4 matrix of float)
+0:132 'inF1' (temp 4X4 matrix of float)
+0:132 'inF2' (temp 4X4 matrix of float)
+0:? Sequence
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:134 Constant:
+0:134 0.000000
+0:136 Branch: Return with expression
+0:? Constant:
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? Linker Objects
+
+SPIR-V is not generated for failed compile or link
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.negative.vert.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.negative.vert.out
new file mode 100644
index 00000000000..de711e9b03b
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.negative.vert.out
@@ -0,0 +1,1055 @@
+hlsl.intrinsics.negative.vert
+ERROR: 0:5: 'asdouble' : no matching overloaded function found
+ERROR: 0:6: 'CheckAccessFullyMapped' : no matching overloaded function found
+ERROR: 0:7: 'CheckAccessFullyMapped' : no matching overloaded function found
+ERROR: 0:8: 'clip' : no matching overloaded function found
+ERROR: 0:9: 'countbits' : no matching overloaded function found
+ERROR: 0:10: 'cross' : no matching overloaded function found
+ERROR: 0:11: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:14: 'ddx' : no matching overloaded function found
+ERROR: 0:15: 'ddx_coarse' : no matching overloaded function found
+ERROR: 0:16: 'ddx_fine' : no matching overloaded function found
+ERROR: 0:17: 'ddy' : no matching overloaded function found
+ERROR: 0:18: 'ddy_coarse' : no matching overloaded function found
+ERROR: 0:19: 'ddy_fine' : no matching overloaded function found
+ERROR: 0:20: 'determinant' : no matching overloaded function found
+ERROR: 0:21: 'EvaluateAttributeAtCentroid' : no matching overloaded function found
+ERROR: 0:22: 'EvaluateAttributeAtSample' : no matching overloaded function found
+ERROR: 0:23: 'EvaluateAttributeSnapped' : no matching overloaded function found
+ERROR: 0:24: 'f16tof32' : no matching overloaded function found
+ERROR: 0:25: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:26: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:27: 'fma' : no matching overloaded function found
+ERROR: 0:35: 'length' : no matching overloaded function found
+ERROR: 0:36: 'msad4' : no matching overloaded function found
+ERROR: 0:37: 'normalize' : no matching overloaded function found
+ERROR: 0:38: 'reflect' : no matching overloaded function found
+ERROR: 0:39: 'refract' : no matching overloaded function found
+ERROR: 0:40: 'refract' : no matching overloaded function found
+ERROR: 0:41: 'reversebits' : no matching overloaded function found
+ERROR: 0:42: 'transpose' : no matching overloaded function found
+ERROR: 0:53: 'GetRenderTargetSamplePosition' : no matching overloaded function found
+ERROR: 0:60: 'asdouble' : no matching overloaded function found
+ERROR: 0:61: 'CheckAccessFullyMapped' : no matching overloaded function found
+ERROR: 0:62: 'countbits' : no matching overloaded function found
+ERROR: 0:63: 'cross' : no matching overloaded function found
+ERROR: 0:64: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:65: 'ddx' : no matching overloaded function found
+ERROR: 0:66: 'ddx_coarse' : no matching overloaded function found
+ERROR: 0:67: 'ddx_fine' : no matching overloaded function found
+ERROR: 0:68: 'ddy' : no matching overloaded function found
+ERROR: 0:69: 'ddy_coarse' : no matching overloaded function found
+ERROR: 0:70: 'ddy_fine' : no matching overloaded function found
+ERROR: 0:71: 'determinant' : no matching overloaded function found
+ERROR: 0:72: 'EvaluateAttributeAtCentroid' : no matching overloaded function found
+ERROR: 0:73: 'EvaluateAttributeAtSample' : no matching overloaded function found
+ERROR: 0:74: 'EvaluateAttributeSnapped' : no matching overloaded function found
+ERROR: 0:75: 'f16tof32' : no matching overloaded function found
+ERROR: 0:76: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:77: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:78: 'fma' : no matching overloaded function found
+ERROR: 0:79: 'noise' : no matching overloaded function found
+ERROR: 0:80: 'reversebits' : no matching overloaded function found
+ERROR: 0:81: 'transpose' : no matching overloaded function found
+ERROR: 0:90: 'CheckAccessFullyMapped' : no matching overloaded function found
+ERROR: 0:91: 'countbits' : no matching overloaded function found
+ERROR: 0:92: 'ddx' : no matching overloaded function found
+ERROR: 0:93: 'ddx_coarse' : no matching overloaded function found
+ERROR: 0:94: 'ddx_fine' : no matching overloaded function found
+ERROR: 0:95: 'ddy' : no matching overloaded function found
+ERROR: 0:96: 'ddy_coarse' : no matching overloaded function found
+ERROR: 0:97: 'ddy_fine' : no matching overloaded function found
+ERROR: 0:98: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:99: 'determinant' : no matching overloaded function found
+ERROR: 0:100: 'EvaluateAttributeAtCentroid' : no matching overloaded function found
+ERROR: 0:101: 'EvaluateAttributeAtSample' : no matching overloaded function found
+ERROR: 0:102: 'EvaluateAttributeSnapped' : no matching overloaded function found
+ERROR: 0:103: 'f16tof32' : no matching overloaded function found
+ERROR: 0:104: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:105: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:106: 'fma' : no matching overloaded function found
+ERROR: 0:107: 'noise' : no matching overloaded function found
+ERROR: 0:108: 'reversebits' : no matching overloaded function found
+ERROR: 0:109: 'transpose' : no matching overloaded function found
+ERROR: 0:118: 'CheckAccessFullyMapped' : no matching overloaded function found
+ERROR: 0:119: 'countbits' : no matching overloaded function found
+ERROR: 0:120: 'cross' : no matching overloaded function found
+ERROR: 0:121: 'determinant' : no matching overloaded function found
+ERROR: 0:122: 'ddx' : no matching overloaded function found
+ERROR: 0:123: 'ddx_coarse' : no matching overloaded function found
+ERROR: 0:124: 'ddx_fine' : no matching overloaded function found
+ERROR: 0:125: 'ddy' : no matching overloaded function found
+ERROR: 0:126: 'ddy_coarse' : no matching overloaded function found
+ERROR: 0:127: 'ddy_fine' : no matching overloaded function found
+ERROR: 0:128: 'EvaluateAttributeAtCentroid' : no matching overloaded function found
+ERROR: 0:129: 'EvaluateAttributeAtSample' : no matching overloaded function found
+ERROR: 0:130: 'EvaluateAttributeSnapped' : no matching overloaded function found
+ERROR: 0:131: 'f16tof32' : no matching overloaded function found
+ERROR: 0:132: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:133: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:134: 'fma' : no matching overloaded function found
+ERROR: 0:135: 'noise' : no matching overloaded function found
+ERROR: 0:136: 'reversebits' : no matching overloaded function found
+ERROR: 0:137: 'transpose' : no matching overloaded function found
+ERROR: 0:177: 'countbits' : no matching overloaded function found
+ERROR: 0:177: 'cross' : no matching overloaded function found
+ERROR: 0:177: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:177: 'ddx' : no matching overloaded function found
+ERROR: 0:177: 'ddx_coarse' : no matching overloaded function found
+ERROR: 0:177: 'ddx_fine' : no matching overloaded function found
+ERROR: 0:177: 'ddy' : no matching overloaded function found
+ERROR: 0:177: 'ddy_coarse' : no matching overloaded function found
+ERROR: 0:177: 'ddy_fine' : no matching overloaded function found
+ERROR: 0:177: 'EvaluateAttributeAtCentroid' : no matching overloaded function found
+ERROR: 0:177: 'EvaluateAttributeAtSample' : no matching overloaded function found
+ERROR: 0:177: 'EvaluateAttributeSnapped' : no matching overloaded function found
+ERROR: 0:177: 'f16tof32' : no matching overloaded function found
+ERROR: 0:177: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:177: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:177: 'fma' : no matching overloaded function found
+ERROR: 0:177: 'noise' : no matching overloaded function found
+ERROR: 0:177: 'reversebits' : no matching overloaded function found
+ERROR: 0:177: 'length' : no matching overloaded function found
+ERROR: 0:177: 'noise' : no matching overloaded function found
+ERROR: 0:177: 'normalize' : no matching overloaded function found
+ERROR: 0:177: 'reflect' : no matching overloaded function found
+ERROR: 0:177: 'refract' : no matching overloaded function found
+ERROR: 0:177: 'reversebits' : no matching overloaded function found
+ERROR: 0:185: 'countbits' : no matching overloaded function found
+ERROR: 0:185: 'cross' : no matching overloaded function found
+ERROR: 0:185: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:185: 'ddx' : no matching overloaded function found
+ERROR: 0:185: 'ddx_coarse' : no matching overloaded function found
+ERROR: 0:185: 'ddx_fine' : no matching overloaded function found
+ERROR: 0:185: 'ddy' : no matching overloaded function found
+ERROR: 0:185: 'ddy_coarse' : no matching overloaded function found
+ERROR: 0:185: 'ddy_fine' : no matching overloaded function found
+ERROR: 0:185: 'EvaluateAttributeAtCentroid' : no matching overloaded function found
+ERROR: 0:185: 'EvaluateAttributeAtSample' : no matching overloaded function found
+ERROR: 0:185: 'EvaluateAttributeSnapped' : no matching overloaded function found
+ERROR: 0:185: 'f16tof32' : no matching overloaded function found
+ERROR: 0:185: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:185: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:185: 'fma' : no matching overloaded function found
+ERROR: 0:185: 'noise' : no matching overloaded function found
+ERROR: 0:185: 'reversebits' : no matching overloaded function found
+ERROR: 0:185: 'length' : no matching overloaded function found
+ERROR: 0:185: 'noise' : no matching overloaded function found
+ERROR: 0:185: 'normalize' : no matching overloaded function found
+ERROR: 0:185: 'reflect' : no matching overloaded function found
+ERROR: 0:185: 'refract' : no matching overloaded function found
+ERROR: 0:185: 'reversebits' : no matching overloaded function found
+ERROR: 0:193: 'countbits' : no matching overloaded function found
+ERROR: 0:193: 'cross' : no matching overloaded function found
+ERROR: 0:193: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:193: 'ddx' : no matching overloaded function found
+ERROR: 0:193: 'ddx_coarse' : no matching overloaded function found
+ERROR: 0:193: 'ddx_fine' : no matching overloaded function found
+ERROR: 0:193: 'ddy' : no matching overloaded function found
+ERROR: 0:193: 'ddy_coarse' : no matching overloaded function found
+ERROR: 0:193: 'ddy_fine' : no matching overloaded function found
+ERROR: 0:193: 'EvaluateAttributeAtCentroid' : no matching overloaded function found
+ERROR: 0:193: 'EvaluateAttributeAtSample' : no matching overloaded function found
+ERROR: 0:193: 'EvaluateAttributeSnapped' : no matching overloaded function found
+ERROR: 0:193: 'f16tof32' : no matching overloaded function found
+ERROR: 0:193: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:193: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:193: 'fma' : no matching overloaded function found
+ERROR: 0:193: 'noise' : no matching overloaded function found
+ERROR: 0:193: 'reversebits' : no matching overloaded function found
+ERROR: 0:193: 'length' : no matching overloaded function found
+ERROR: 0:193: 'noise' : no matching overloaded function found
+ERROR: 0:193: 'normalize' : no matching overloaded function found
+ERROR: 0:193: 'reflect' : no matching overloaded function found
+ERROR: 0:193: 'refract' : no matching overloaded function found
+ERROR: 0:193: 'reversebits' : no matching overloaded function found
+ERROR: 164 compilation errors. No code generated.
+
+
+Shader version: 450
+ERROR: node is still EOpNull!
+0:49 Function Definition: VertexShaderFunction(f1;f1;f1;i1; (temp float)
+0:2 Function Parameters:
+0:2 'inF0' (temp float)
+0:2 'inF1' (temp float)
+0:2 'inF2' (temp float)
+0:2 'inI0' (temp int)
+0:? Sequence
+0:5 Constant:
+0:5 0.000000
+0:6 Constant:
+0:6 0.000000
+0:7 Constant:
+0:7 0.000000
+0:8 Constant:
+0:8 0.000000
+0:9 Constant:
+0:9 0.000000
+0:10 Constant:
+0:10 0.000000
+0:11 Constant:
+0:11 0.000000
+0:14 Constant:
+0:14 0.000000
+0:15 Constant:
+0:15 0.000000
+0:16 Constant:
+0:16 0.000000
+0:17 Constant:
+0:17 0.000000
+0:18 Constant:
+0:18 0.000000
+0:19 Constant:
+0:19 0.000000
+0:20 Constant:
+0:20 0.000000
+0:21 Constant:
+0:21 0.000000
+0:22 Constant:
+0:22 0.000000
+0:23 Constant:
+0:23 0.000000
+0:24 Constant:
+0:24 0.000000
+0:25 Constant:
+0:25 0.000000
+0:26 Constant:
+0:26 0.000000
+0:27 Constant:
+0:27 0.000000
+0:35 Constant:
+0:35 0.000000
+0:36 Constant:
+0:36 0.000000
+0:37 Constant:
+0:37 0.000000
+0:38 Constant:
+0:38 0.000000
+0:39 Constant:
+0:39 0.000000
+0:40 Constant:
+0:40 0.000000
+0:41 Constant:
+0:41 0.000000
+0:42 Constant:
+0:42 0.000000
+0:46 Branch: Return with expression
+0:46 Constant:
+0:46 0.000000
+0:58 Function Definition: VertexShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:50 Function Parameters:
+0:50 'inF0' (temp 1-component vector of float)
+0:50 'inF1' (temp 1-component vector of float)
+0:50 'inF2' (temp 1-component vector of float)
+0:50 'inI0' (temp 1-component vector of int)
+0:? Sequence
+0:53 Constant:
+0:53 0.000000
+0:55 Branch: Return with expression
+0:55 Constant:
+0:55 0.000000
+0:88 Function Definition: VertexShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:59 Function Parameters:
+0:59 'inF0' (temp 2-component vector of float)
+0:59 'inF1' (temp 2-component vector of float)
+0:59 'inF2' (temp 2-component vector of float)
+0:59 'inI0' (temp 2-component vector of int)
+0:? Sequence
+0:60 Constant:
+0:60 0.000000
+0:61 Constant:
+0:61 0.000000
+0:62 Constant:
+0:62 0.000000
+0:63 Constant:
+0:63 0.000000
+0:64 Constant:
+0:64 0.000000
+0:65 Constant:
+0:65 0.000000
+0:66 Constant:
+0:66 0.000000
+0:67 Constant:
+0:67 0.000000
+0:68 Constant:
+0:68 0.000000
+0:69 Constant:
+0:69 0.000000
+0:70 Constant:
+0:70 0.000000
+0:71 Constant:
+0:71 0.000000
+0:72 Constant:
+0:72 0.000000
+0:73 Constant:
+0:73 0.000000
+0:74 Constant:
+0:74 0.000000
+0:75 Constant:
+0:75 0.000000
+0:76 Constant:
+0:76 0.000000
+0:77 Constant:
+0:77 0.000000
+0:78 Constant:
+0:78 0.000000
+0:79 Constant:
+0:79 0.000000
+0:80 Constant:
+0:80 0.000000
+0:81 Constant:
+0:81 0.000000
+0:85 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:116 Function Definition: VertexShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:89 Function Parameters:
+0:89 'inF0' (temp 3-component vector of float)
+0:89 'inF1' (temp 3-component vector of float)
+0:89 'inF2' (temp 3-component vector of float)
+0:89 'inI0' (temp 3-component vector of int)
+0:? Sequence
+0:90 Constant:
+0:90 0.000000
+0:91 Constant:
+0:91 0.000000
+0:92 Constant:
+0:92 0.000000
+0:93 Constant:
+0:93 0.000000
+0:94 Constant:
+0:94 0.000000
+0:95 Constant:
+0:95 0.000000
+0:96 Constant:
+0:96 0.000000
+0:97 Constant:
+0:97 0.000000
+0:98 Constant:
+0:98 0.000000
+0:99 Constant:
+0:99 0.000000
+0:100 Constant:
+0:100 0.000000
+0:101 Constant:
+0:101 0.000000
+0:102 Constant:
+0:102 0.000000
+0:103 Constant:
+0:103 0.000000
+0:104 Constant:
+0:104 0.000000
+0:105 Constant:
+0:105 0.000000
+0:106 Constant:
+0:106 0.000000
+0:107 Constant:
+0:107 0.000000
+0:108 Constant:
+0:108 0.000000
+0:109 Constant:
+0:109 0.000000
+0:113 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:174 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
+0:117 Function Parameters:
+0:117 'inF0' (temp 4-component vector of float)
+0:117 'inF1' (temp 4-component vector of float)
+0:117 'inF2' (temp 4-component vector of float)
+0:117 'inI0' (temp 4-component vector of int)
+0:? Sequence
+0:118 Constant:
+0:118 0.000000
+0:119 Constant:
+0:119 0.000000
+0:120 Constant:
+0:120 0.000000
+0:121 Constant:
+0:121 0.000000
+0:122 Constant:
+0:122 0.000000
+0:123 Constant:
+0:123 0.000000
+0:124 Constant:
+0:124 0.000000
+0:125 Constant:
+0:125 0.000000
+0:126 Constant:
+0:126 0.000000
+0:127 Constant:
+0:127 0.000000
+0:128 Constant:
+0:128 0.000000
+0:129 Constant:
+0:129 0.000000
+0:130 Constant:
+0:130 0.000000
+0:131 Constant:
+0:131 0.000000
+0:132 Constant:
+0:132 0.000000
+0:133 Constant:
+0:133 0.000000
+0:134 Constant:
+0:134 0.000000
+0:135 Constant:
+0:135 0.000000
+0:136 Constant:
+0:136 0.000000
+0:137 Constant:
+0:137 0.000000
+0:141 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:182 Function Definition: VertexShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:175 Function Parameters:
+0:175 'inF0' (temp 2X2 matrix of float)
+0:175 'inF1' (temp 2X2 matrix of float)
+0:175 'inF2' (temp 2X2 matrix of float)
+0:? Sequence
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:179 Branch: Return with expression
+0:? Constant:
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:190 Function Definition: VertexShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:183 Function Parameters:
+0:183 'inF0' (temp 3X3 matrix of float)
+0:183 'inF1' (temp 3X3 matrix of float)
+0:183 'inF2' (temp 3X3 matrix of float)
+0:? Sequence
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:187 Branch: Return with expression
+0:? Constant:
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:197 Function Definition: VertexShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:191 Function Parameters:
+0:191 'inF0' (temp 4X4 matrix of float)
+0:191 'inF1' (temp 4X4 matrix of float)
+0:191 'inF2' (temp 4X4 matrix of float)
+0:? Sequence
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:195 Branch: Return with expression
+0:? Constant:
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? Linker Objects
+
+
+Linked vertex stage:
+
+
+Shader version: 450
+ERROR: node is still EOpNull!
+0:49 Function Definition: VertexShaderFunction(f1;f1;f1;i1; (temp float)
+0:2 Function Parameters:
+0:2 'inF0' (temp float)
+0:2 'inF1' (temp float)
+0:2 'inF2' (temp float)
+0:2 'inI0' (temp int)
+0:? Sequence
+0:5 Constant:
+0:5 0.000000
+0:6 Constant:
+0:6 0.000000
+0:7 Constant:
+0:7 0.000000
+0:8 Constant:
+0:8 0.000000
+0:9 Constant:
+0:9 0.000000
+0:10 Constant:
+0:10 0.000000
+0:11 Constant:
+0:11 0.000000
+0:14 Constant:
+0:14 0.000000
+0:15 Constant:
+0:15 0.000000
+0:16 Constant:
+0:16 0.000000
+0:17 Constant:
+0:17 0.000000
+0:18 Constant:
+0:18 0.000000
+0:19 Constant:
+0:19 0.000000
+0:20 Constant:
+0:20 0.000000
+0:21 Constant:
+0:21 0.000000
+0:22 Constant:
+0:22 0.000000
+0:23 Constant:
+0:23 0.000000
+0:24 Constant:
+0:24 0.000000
+0:25 Constant:
+0:25 0.000000
+0:26 Constant:
+0:26 0.000000
+0:27 Constant:
+0:27 0.000000
+0:35 Constant:
+0:35 0.000000
+0:36 Constant:
+0:36 0.000000
+0:37 Constant:
+0:37 0.000000
+0:38 Constant:
+0:38 0.000000
+0:39 Constant:
+0:39 0.000000
+0:40 Constant:
+0:40 0.000000
+0:41 Constant:
+0:41 0.000000
+0:42 Constant:
+0:42 0.000000
+0:46 Branch: Return with expression
+0:46 Constant:
+0:46 0.000000
+0:58 Function Definition: VertexShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:50 Function Parameters:
+0:50 'inF0' (temp 1-component vector of float)
+0:50 'inF1' (temp 1-component vector of float)
+0:50 'inF2' (temp 1-component vector of float)
+0:50 'inI0' (temp 1-component vector of int)
+0:? Sequence
+0:53 Constant:
+0:53 0.000000
+0:55 Branch: Return with expression
+0:55 Constant:
+0:55 0.000000
+0:88 Function Definition: VertexShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:59 Function Parameters:
+0:59 'inF0' (temp 2-component vector of float)
+0:59 'inF1' (temp 2-component vector of float)
+0:59 'inF2' (temp 2-component vector of float)
+0:59 'inI0' (temp 2-component vector of int)
+0:? Sequence
+0:60 Constant:
+0:60 0.000000
+0:61 Constant:
+0:61 0.000000
+0:62 Constant:
+0:62 0.000000
+0:63 Constant:
+0:63 0.000000
+0:64 Constant:
+0:64 0.000000
+0:65 Constant:
+0:65 0.000000
+0:66 Constant:
+0:66 0.000000
+0:67 Constant:
+0:67 0.000000
+0:68 Constant:
+0:68 0.000000
+0:69 Constant:
+0:69 0.000000
+0:70 Constant:
+0:70 0.000000
+0:71 Constant:
+0:71 0.000000
+0:72 Constant:
+0:72 0.000000
+0:73 Constant:
+0:73 0.000000
+0:74 Constant:
+0:74 0.000000
+0:75 Constant:
+0:75 0.000000
+0:76 Constant:
+0:76 0.000000
+0:77 Constant:
+0:77 0.000000
+0:78 Constant:
+0:78 0.000000
+0:79 Constant:
+0:79 0.000000
+0:80 Constant:
+0:80 0.000000
+0:81 Constant:
+0:81 0.000000
+0:85 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:116 Function Definition: VertexShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:89 Function Parameters:
+0:89 'inF0' (temp 3-component vector of float)
+0:89 'inF1' (temp 3-component vector of float)
+0:89 'inF2' (temp 3-component vector of float)
+0:89 'inI0' (temp 3-component vector of int)
+0:? Sequence
+0:90 Constant:
+0:90 0.000000
+0:91 Constant:
+0:91 0.000000
+0:92 Constant:
+0:92 0.000000
+0:93 Constant:
+0:93 0.000000
+0:94 Constant:
+0:94 0.000000
+0:95 Constant:
+0:95 0.000000
+0:96 Constant:
+0:96 0.000000
+0:97 Constant:
+0:97 0.000000
+0:98 Constant:
+0:98 0.000000
+0:99 Constant:
+0:99 0.000000
+0:100 Constant:
+0:100 0.000000
+0:101 Constant:
+0:101 0.000000
+0:102 Constant:
+0:102 0.000000
+0:103 Constant:
+0:103 0.000000
+0:104 Constant:
+0:104 0.000000
+0:105 Constant:
+0:105 0.000000
+0:106 Constant:
+0:106 0.000000
+0:107 Constant:
+0:107 0.000000
+0:108 Constant:
+0:108 0.000000
+0:109 Constant:
+0:109 0.000000
+0:113 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:174 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
+0:117 Function Parameters:
+0:117 'inF0' (temp 4-component vector of float)
+0:117 'inF1' (temp 4-component vector of float)
+0:117 'inF2' (temp 4-component vector of float)
+0:117 'inI0' (temp 4-component vector of int)
+0:? Sequence
+0:118 Constant:
+0:118 0.000000
+0:119 Constant:
+0:119 0.000000
+0:120 Constant:
+0:120 0.000000
+0:121 Constant:
+0:121 0.000000
+0:122 Constant:
+0:122 0.000000
+0:123 Constant:
+0:123 0.000000
+0:124 Constant:
+0:124 0.000000
+0:125 Constant:
+0:125 0.000000
+0:126 Constant:
+0:126 0.000000
+0:127 Constant:
+0:127 0.000000
+0:128 Constant:
+0:128 0.000000
+0:129 Constant:
+0:129 0.000000
+0:130 Constant:
+0:130 0.000000
+0:131 Constant:
+0:131 0.000000
+0:132 Constant:
+0:132 0.000000
+0:133 Constant:
+0:133 0.000000
+0:134 Constant:
+0:134 0.000000
+0:135 Constant:
+0:135 0.000000
+0:136 Constant:
+0:136 0.000000
+0:137 Constant:
+0:137 0.000000
+0:141 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:182 Function Definition: VertexShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:175 Function Parameters:
+0:175 'inF0' (temp 2X2 matrix of float)
+0:175 'inF1' (temp 2X2 matrix of float)
+0:175 'inF2' (temp 2X2 matrix of float)
+0:? Sequence
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:177 Constant:
+0:177 0.000000
+0:179 Branch: Return with expression
+0:? Constant:
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:190 Function Definition: VertexShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:183 Function Parameters:
+0:183 'inF0' (temp 3X3 matrix of float)
+0:183 'inF1' (temp 3X3 matrix of float)
+0:183 'inF2' (temp 3X3 matrix of float)
+0:? Sequence
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:185 Constant:
+0:185 0.000000
+0:187 Branch: Return with expression
+0:? Constant:
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:197 Function Definition: VertexShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:191 Function Parameters:
+0:191 'inF0' (temp 4X4 matrix of float)
+0:191 'inF1' (temp 4X4 matrix of float)
+0:191 'inF2' (temp 4X4 matrix of float)
+0:? Sequence
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 0.000000
+0:195 Branch: Return with expression
+0:? Constant:
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? Linker Objects
+
+SPIR-V is not generated for failed compile or link
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.vert.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.vert.out
new file mode 100644
index 00000000000..6f92fc36598
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.intrinsics.vert.out
@@ -0,0 +1,2868 @@
+hlsl.intrinsics.vert
+Shader version: 450
+0:? Sequence
+0:59 Function Definition: VertexShaderFunction(f1;f1;f1; (temp float)
+0:2 Function Parameters:
+0:2 'inF0' (temp float)
+0:2 'inF1' (temp float)
+0:2 'inF2' (temp float)
+0:? Sequence
+0:3 all (global bool)
+0:3 'inF0' (temp float)
+0:4 Absolute value (global float)
+0:4 'inF0' (temp float)
+0:5 arc cosine (global float)
+0:5 'inF0' (temp float)
+0:6 any (global bool)
+0:6 'inF0' (temp float)
+0:7 arc sine (global float)
+0:7 'inF0' (temp float)
+0:8 arc tangent (global float)
+0:8 'inF0' (temp float)
+0:9 arc tangent (global float)
+0:9 'inF0' (temp float)
+0:9 'inF1' (temp float)
+0:10 Ceiling (global float)
+0:10 'inF0' (temp float)
+0:11 clamp (global float)
+0:11 'inF0' (temp float)
+0:11 'inF1' (temp float)
+0:11 'inF2' (temp float)
+0:12 cosine (global float)
+0:12 'inF0' (temp float)
+0:13 hyp. cosine (global float)
+0:13 'inF0' (temp float)
+0:14 bitCount (global uint)
+0:14 Constant:
+0:14 7 (const uint)
+0:15 degrees (global float)
+0:15 'inF0' (temp float)
+0:19 exp (global float)
+0:19 'inF0' (temp float)
+0:20 exp2 (global float)
+0:20 'inF0' (temp float)
+0:21 findMSB (global int)
+0:21 Constant:
+0:21 7 (const int)
+0:22 findLSB (global int)
+0:22 Constant:
+0:22 7 (const int)
+0:23 Floor (global float)
+0:23 'inF0' (temp float)
+0:25 mod (global float)
+0:25 'inF0' (temp float)
+0:25 'inF1' (temp float)
+0:26 Fraction (global float)
+0:26 'inF0' (temp float)
+0:27 frexp (global float)
+0:27 'inF0' (temp float)
+0:27 'inF1' (temp float)
+0:28 fwidth (global float)
+0:28 'inF0' (temp float)
+0:29 isinf (global bool)
+0:29 'inF0' (temp float)
+0:30 isnan (global bool)
+0:30 'inF0' (temp float)
+0:31 ldexp (global float)
+0:31 'inF0' (temp float)
+0:31 'inF1' (temp float)
+0:32 log (global float)
+0:32 'inF0' (temp float)
+0:33 component-wise multiply (temp float)
+0:33 log2 (temp float)
+0:33 'inF0' (temp float)
+0:33 Constant:
+0:33 0.301030
+0:34 log2 (global float)
+0:34 'inF0' (temp float)
+0:35 max (global float)
+0:35 'inF0' (temp float)
+0:35 'inF1' (temp float)
+0:36 min (global float)
+0:36 'inF0' (temp float)
+0:36 'inF1' (temp float)
+0:38 pow (global float)
+0:38 'inF0' (temp float)
+0:38 'inF1' (temp float)
+0:39 radians (global float)
+0:39 'inF0' (temp float)
+0:40 bitFieldReverse (global uint)
+0:40 Constant:
+0:40 2 (const uint)
+0:41 roundEven (global float)
+0:41 'inF0' (temp float)
+0:42 inverse sqrt (global float)
+0:42 'inF0' (temp float)
+0:43 clamp (global float)
+0:43 'inF0' (temp float)
+0:43 Constant:
+0:43 0.000000
+0:43 Constant:
+0:43 1.000000
+0:44 Sign (global float)
+0:44 'inF0' (temp float)
+0:45 sine (global float)
+0:45 'inF0' (temp float)
+0:46 Sequence
+0:46 move second child to first child (temp float)
+0:46 'inF1' (temp float)
+0:46 sine (temp float)
+0:46 'inF0' (temp float)
+0:46 move second child to first child (temp float)
+0:46 'inF2' (temp float)
+0:46 cosine (temp float)
+0:46 'inF0' (temp float)
+0:47 hyp. sine (global float)
+0:47 'inF0' (temp float)
+0:48 smoothstep (global float)
+0:48 'inF0' (temp float)
+0:48 'inF1' (temp float)
+0:48 'inF2' (temp float)
+0:49 sqrt (global float)
+0:49 'inF0' (temp float)
+0:50 step (global float)
+0:50 'inF0' (temp float)
+0:50 'inF1' (temp float)
+0:51 tangent (global float)
+0:51 'inF0' (temp float)
+0:52 hyp. tangent (global float)
+0:52 'inF0' (temp float)
+0:54 trunc (global float)
+0:54 'inF0' (temp float)
+0:56 Branch: Return with expression
+0:56 Constant:
+0:56 0.000000
+0:65 Function Definition: VertexShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
+0:60 Function Parameters:
+0:60 'inF0' (temp 1-component vector of float)
+0:60 'inF1' (temp 1-component vector of float)
+0:60 'inF2' (temp 1-component vector of float)
+0:? Sequence
+0:62 Branch: Return with expression
+0:62 Constant:
+0:62 0.000000
+0:131 Function Definition: VertexShaderFunction(vf2;vf2;vf2; (temp 2-component vector of float)
+0:66 Function Parameters:
+0:66 'inF0' (temp 2-component vector of float)
+0:66 'inF1' (temp 2-component vector of float)
+0:66 'inF2' (temp 2-component vector of float)
+0:? Sequence
+0:67 all (global bool)
+0:67 'inF0' (temp 2-component vector of float)
+0:68 Absolute value (global 2-component vector of float)
+0:68 'inF0' (temp 2-component vector of float)
+0:69 arc cosine (global 2-component vector of float)
+0:69 'inF0' (temp 2-component vector of float)
+0:70 any (global bool)
+0:70 'inF0' (temp 2-component vector of float)
+0:71 arc sine (global 2-component vector of float)
+0:71 'inF0' (temp 2-component vector of float)
+0:72 arc tangent (global 2-component vector of float)
+0:72 'inF0' (temp 2-component vector of float)
+0:73 arc tangent (global 2-component vector of float)
+0:73 'inF0' (temp 2-component vector of float)
+0:73 'inF1' (temp 2-component vector of float)
+0:74 Ceiling (global 2-component vector of float)
+0:74 'inF0' (temp 2-component vector of float)
+0:75 clamp (global 2-component vector of float)
+0:75 'inF0' (temp 2-component vector of float)
+0:75 'inF1' (temp 2-component vector of float)
+0:75 'inF2' (temp 2-component vector of float)
+0:76 cosine (global 2-component vector of float)
+0:76 'inF0' (temp 2-component vector of float)
+0:77 hyp. cosine (global 2-component vector of float)
+0:77 'inF0' (temp 2-component vector of float)
+0:? bitCount (global 2-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:79 degrees (global 2-component vector of float)
+0:79 'inF0' (temp 2-component vector of float)
+0:80 distance (global float)
+0:80 'inF0' (temp 2-component vector of float)
+0:80 'inF1' (temp 2-component vector of float)
+0:81 dot-product (global float)
+0:81 'inF0' (temp 2-component vector of float)
+0:81 'inF1' (temp 2-component vector of float)
+0:85 exp (global 2-component vector of float)
+0:85 'inF0' (temp 2-component vector of float)
+0:86 exp2 (global 2-component vector of float)
+0:86 'inF0' (temp 2-component vector of float)
+0:87 face-forward (global 2-component vector of float)
+0:87 'inF0' (temp 2-component vector of float)
+0:87 'inF1' (temp 2-component vector of float)
+0:87 'inF2' (temp 2-component vector of float)
+0:88 findMSB (global int)
+0:88 Constant:
+0:88 7 (const int)
+0:89 findLSB (global int)
+0:89 Constant:
+0:89 7 (const int)
+0:90 Floor (global 2-component vector of float)
+0:90 'inF0' (temp 2-component vector of float)
+0:92 mod (global 2-component vector of float)
+0:92 'inF0' (temp 2-component vector of float)
+0:92 'inF1' (temp 2-component vector of float)
+0:93 Fraction (global 2-component vector of float)
+0:93 'inF0' (temp 2-component vector of float)
+0:94 frexp (global 2-component vector of float)
+0:94 'inF0' (temp 2-component vector of float)
+0:94 'inF1' (temp 2-component vector of float)
+0:95 fwidth (global 2-component vector of float)
+0:95 'inF0' (temp 2-component vector of float)
+0:96 isinf (global 2-component vector of bool)
+0:96 'inF0' (temp 2-component vector of float)
+0:97 isnan (global 2-component vector of bool)
+0:97 'inF0' (temp 2-component vector of float)
+0:98 ldexp (global 2-component vector of float)
+0:98 'inF0' (temp 2-component vector of float)
+0:98 'inF1' (temp 2-component vector of float)
+0:99 length (global float)
+0:99 'inF0' (temp 2-component vector of float)
+0:100 log (global 2-component vector of float)
+0:100 'inF0' (temp 2-component vector of float)
+0:101 vector-scale (temp 2-component vector of float)
+0:101 log2 (temp 2-component vector of float)
+0:101 'inF0' (temp 2-component vector of float)
+0:101 Constant:
+0:101 0.301030
+0:102 log2 (global 2-component vector of float)
+0:102 'inF0' (temp 2-component vector of float)
+0:103 max (global 2-component vector of float)
+0:103 'inF0' (temp 2-component vector of float)
+0:103 'inF1' (temp 2-component vector of float)
+0:104 min (global 2-component vector of float)
+0:104 'inF0' (temp 2-component vector of float)
+0:104 'inF1' (temp 2-component vector of float)
+0:106 normalize (global 2-component vector of float)
+0:106 'inF0' (temp 2-component vector of float)
+0:107 pow (global 2-component vector of float)
+0:107 'inF0' (temp 2-component vector of float)
+0:107 'inF1' (temp 2-component vector of float)
+0:108 radians (global 2-component vector of float)
+0:108 'inF0' (temp 2-component vector of float)
+0:109 reflect (global 2-component vector of float)
+0:109 'inF0' (temp 2-component vector of float)
+0:109 'inF1' (temp 2-component vector of float)
+0:110 refract (global 2-component vector of float)
+0:110 'inF0' (temp 2-component vector of float)
+0:110 'inF1' (temp 2-component vector of float)
+0:110 Constant:
+0:110 2.000000
+0:? bitFieldReverse (global 2-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:112 roundEven (global 2-component vector of float)
+0:112 'inF0' (temp 2-component vector of float)
+0:113 inverse sqrt (global 2-component vector of float)
+0:113 'inF0' (temp 2-component vector of float)
+0:114 clamp (global 2-component vector of float)
+0:114 'inF0' (temp 2-component vector of float)
+0:114 Constant:
+0:114 0.000000
+0:114 Constant:
+0:114 1.000000
+0:115 Sign (global 2-component vector of float)
+0:115 'inF0' (temp 2-component vector of float)
+0:116 sine (global 2-component vector of float)
+0:116 'inF0' (temp 2-component vector of float)
+0:117 Sequence
+0:117 move second child to first child (temp 2-component vector of float)
+0:117 'inF1' (temp 2-component vector of float)
+0:117 sine (temp 2-component vector of float)
+0:117 'inF0' (temp 2-component vector of float)
+0:117 move second child to first child (temp 2-component vector of float)
+0:117 'inF2' (temp 2-component vector of float)
+0:117 cosine (temp 2-component vector of float)
+0:117 'inF0' (temp 2-component vector of float)
+0:118 hyp. sine (global 2-component vector of float)
+0:118 'inF0' (temp 2-component vector of float)
+0:119 smoothstep (global 2-component vector of float)
+0:119 'inF0' (temp 2-component vector of float)
+0:119 'inF1' (temp 2-component vector of float)
+0:119 'inF2' (temp 2-component vector of float)
+0:120 sqrt (global 2-component vector of float)
+0:120 'inF0' (temp 2-component vector of float)
+0:121 step (global 2-component vector of float)
+0:121 'inF0' (temp 2-component vector of float)
+0:121 'inF1' (temp 2-component vector of float)
+0:122 tangent (global 2-component vector of float)
+0:122 'inF0' (temp 2-component vector of float)
+0:123 hyp. tangent (global 2-component vector of float)
+0:123 'inF0' (temp 2-component vector of float)
+0:125 trunc (global 2-component vector of float)
+0:125 'inF0' (temp 2-component vector of float)
+0:128 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:198 Function Definition: VertexShaderFunction(vf3;vf3;vf3; (temp 3-component vector of float)
+0:132 Function Parameters:
+0:132 'inF0' (temp 3-component vector of float)
+0:132 'inF1' (temp 3-component vector of float)
+0:132 'inF2' (temp 3-component vector of float)
+0:? Sequence
+0:133 all (global bool)
+0:133 'inF0' (temp 3-component vector of float)
+0:134 Absolute value (global 3-component vector of float)
+0:134 'inF0' (temp 3-component vector of float)
+0:135 arc cosine (global 3-component vector of float)
+0:135 'inF0' (temp 3-component vector of float)
+0:136 any (global bool)
+0:136 'inF0' (temp 3-component vector of float)
+0:137 arc sine (global 3-component vector of float)
+0:137 'inF0' (temp 3-component vector of float)
+0:138 arc tangent (global 3-component vector of float)
+0:138 'inF0' (temp 3-component vector of float)
+0:139 arc tangent (global 3-component vector of float)
+0:139 'inF0' (temp 3-component vector of float)
+0:139 'inF1' (temp 3-component vector of float)
+0:140 Ceiling (global 3-component vector of float)
+0:140 'inF0' (temp 3-component vector of float)
+0:141 clamp (global 3-component vector of float)
+0:141 'inF0' (temp 3-component vector of float)
+0:141 'inF1' (temp 3-component vector of float)
+0:141 'inF2' (temp 3-component vector of float)
+0:142 cosine (global 3-component vector of float)
+0:142 'inF0' (temp 3-component vector of float)
+0:143 hyp. cosine (global 3-component vector of float)
+0:143 'inF0' (temp 3-component vector of float)
+0:? bitCount (global 3-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:? 5 (const uint)
+0:145 cross-product (global 3-component vector of float)
+0:145 'inF0' (temp 3-component vector of float)
+0:145 'inF1' (temp 3-component vector of float)
+0:146 degrees (global 3-component vector of float)
+0:146 'inF0' (temp 3-component vector of float)
+0:147 distance (global float)
+0:147 'inF0' (temp 3-component vector of float)
+0:147 'inF1' (temp 3-component vector of float)
+0:148 dot-product (global float)
+0:148 'inF0' (temp 3-component vector of float)
+0:148 'inF1' (temp 3-component vector of float)
+0:152 exp (global 3-component vector of float)
+0:152 'inF0' (temp 3-component vector of float)
+0:153 exp2 (global 3-component vector of float)
+0:153 'inF0' (temp 3-component vector of float)
+0:154 face-forward (global 3-component vector of float)
+0:154 'inF0' (temp 3-component vector of float)
+0:154 'inF1' (temp 3-component vector of float)
+0:154 'inF2' (temp 3-component vector of float)
+0:155 findMSB (global int)
+0:155 Constant:
+0:155 7 (const int)
+0:156 findLSB (global int)
+0:156 Constant:
+0:156 7 (const int)
+0:157 Floor (global 3-component vector of float)
+0:157 'inF0' (temp 3-component vector of float)
+0:159 mod (global 3-component vector of float)
+0:159 'inF0' (temp 3-component vector of float)
+0:159 'inF1' (temp 3-component vector of float)
+0:160 Fraction (global 3-component vector of float)
+0:160 'inF0' (temp 3-component vector of float)
+0:161 frexp (global 3-component vector of float)
+0:161 'inF0' (temp 3-component vector of float)
+0:161 'inF1' (temp 3-component vector of float)
+0:162 fwidth (global 3-component vector of float)
+0:162 'inF0' (temp 3-component vector of float)
+0:163 isinf (global 3-component vector of bool)
+0:163 'inF0' (temp 3-component vector of float)
+0:164 isnan (global 3-component vector of bool)
+0:164 'inF0' (temp 3-component vector of float)
+0:165 ldexp (global 3-component vector of float)
+0:165 'inF0' (temp 3-component vector of float)
+0:165 'inF1' (temp 3-component vector of float)
+0:166 length (global float)
+0:166 'inF0' (temp 3-component vector of float)
+0:167 log (global 3-component vector of float)
+0:167 'inF0' (temp 3-component vector of float)
+0:168 vector-scale (temp 3-component vector of float)
+0:168 log2 (temp 3-component vector of float)
+0:168 'inF0' (temp 3-component vector of float)
+0:168 Constant:
+0:168 0.301030
+0:169 log2 (global 3-component vector of float)
+0:169 'inF0' (temp 3-component vector of float)
+0:170 max (global 3-component vector of float)
+0:170 'inF0' (temp 3-component vector of float)
+0:170 'inF1' (temp 3-component vector of float)
+0:171 min (global 3-component vector of float)
+0:171 'inF0' (temp 3-component vector of float)
+0:171 'inF1' (temp 3-component vector of float)
+0:173 normalize (global 3-component vector of float)
+0:173 'inF0' (temp 3-component vector of float)
+0:174 pow (global 3-component vector of float)
+0:174 'inF0' (temp 3-component vector of float)
+0:174 'inF1' (temp 3-component vector of float)
+0:175 radians (global 3-component vector of float)
+0:175 'inF0' (temp 3-component vector of float)
+0:176 reflect (global 3-component vector of float)
+0:176 'inF0' (temp 3-component vector of float)
+0:176 'inF1' (temp 3-component vector of float)
+0:177 refract (global 3-component vector of float)
+0:177 'inF0' (temp 3-component vector of float)
+0:177 'inF1' (temp 3-component vector of float)
+0:177 Constant:
+0:177 2.000000
+0:? bitFieldReverse (global 3-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:179 roundEven (global 3-component vector of float)
+0:179 'inF0' (temp 3-component vector of float)
+0:180 inverse sqrt (global 3-component vector of float)
+0:180 'inF0' (temp 3-component vector of float)
+0:181 clamp (global 3-component vector of float)
+0:181 'inF0' (temp 3-component vector of float)
+0:181 Constant:
+0:181 0.000000
+0:181 Constant:
+0:181 1.000000
+0:182 Sign (global 3-component vector of float)
+0:182 'inF0' (temp 3-component vector of float)
+0:183 sine (global 3-component vector of float)
+0:183 'inF0' (temp 3-component vector of float)
+0:184 Sequence
+0:184 move second child to first child (temp 3-component vector of float)
+0:184 'inF1' (temp 3-component vector of float)
+0:184 sine (temp 3-component vector of float)
+0:184 'inF0' (temp 3-component vector of float)
+0:184 move second child to first child (temp 3-component vector of float)
+0:184 'inF2' (temp 3-component vector of float)
+0:184 cosine (temp 3-component vector of float)
+0:184 'inF0' (temp 3-component vector of float)
+0:185 hyp. sine (global 3-component vector of float)
+0:185 'inF0' (temp 3-component vector of float)
+0:186 smoothstep (global 3-component vector of float)
+0:186 'inF0' (temp 3-component vector of float)
+0:186 'inF1' (temp 3-component vector of float)
+0:186 'inF2' (temp 3-component vector of float)
+0:187 sqrt (global 3-component vector of float)
+0:187 'inF0' (temp 3-component vector of float)
+0:188 step (global 3-component vector of float)
+0:188 'inF0' (temp 3-component vector of float)
+0:188 'inF1' (temp 3-component vector of float)
+0:189 tangent (global 3-component vector of float)
+0:189 'inF0' (temp 3-component vector of float)
+0:190 hyp. tangent (global 3-component vector of float)
+0:190 'inF0' (temp 3-component vector of float)
+0:192 trunc (global 3-component vector of float)
+0:192 'inF0' (temp 3-component vector of float)
+0:195 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:314 Function Definition: VertexShaderFunction(vf4;vf4;vf4; (temp 4-component vector of float)
+0:199 Function Parameters:
+0:199 'inF0' (temp 4-component vector of float)
+0:199 'inF1' (temp 4-component vector of float)
+0:199 'inF2' (temp 4-component vector of float)
+0:? Sequence
+0:200 all (global bool)
+0:200 'inF0' (temp 4-component vector of float)
+0:201 Absolute value (global 4-component vector of float)
+0:201 'inF0' (temp 4-component vector of float)
+0:202 arc cosine (global 4-component vector of float)
+0:202 'inF0' (temp 4-component vector of float)
+0:203 any (global bool)
+0:203 'inF0' (temp 4-component vector of float)
+0:204 arc sine (global 4-component vector of float)
+0:204 'inF0' (temp 4-component vector of float)
+0:205 arc tangent (global 4-component vector of float)
+0:205 'inF0' (temp 4-component vector of float)
+0:206 arc tangent (global 4-component vector of float)
+0:206 'inF0' (temp 4-component vector of float)
+0:206 'inF1' (temp 4-component vector of float)
+0:207 Ceiling (global 4-component vector of float)
+0:207 'inF0' (temp 4-component vector of float)
+0:208 clamp (global 4-component vector of float)
+0:208 'inF0' (temp 4-component vector of float)
+0:208 'inF1' (temp 4-component vector of float)
+0:208 'inF2' (temp 4-component vector of float)
+0:209 cosine (global 4-component vector of float)
+0:209 'inF0' (temp 4-component vector of float)
+0:210 hyp. cosine (global 4-component vector of float)
+0:210 'inF0' (temp 4-component vector of float)
+0:? bitCount (global 4-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:? 5 (const uint)
+0:? 2 (const uint)
+0:212 degrees (global 4-component vector of float)
+0:212 'inF0' (temp 4-component vector of float)
+0:213 distance (global float)
+0:213 'inF0' (temp 4-component vector of float)
+0:213 'inF1' (temp 4-component vector of float)
+0:214 dot-product (global float)
+0:214 'inF0' (temp 4-component vector of float)
+0:214 'inF1' (temp 4-component vector of float)
+0:215 Construct vec4 (temp float)
+0:215 Constant:
+0:215 1.000000
+0:215 component-wise multiply (temp float)
+0:215 direct index (temp float)
+0:215 'inF0' (temp 4-component vector of float)
+0:215 Constant:
+0:215 1 (const int)
+0:215 direct index (temp float)
+0:215 'inF1' (temp 4-component vector of float)
+0:215 Constant:
+0:215 1 (const int)
+0:215 direct index (temp float)
+0:215 'inF0' (temp 4-component vector of float)
+0:215 Constant:
+0:215 2 (const int)
+0:215 direct index (temp float)
+0:215 'inF1' (temp 4-component vector of float)
+0:215 Constant:
+0:215 3 (const int)
+0:219 exp (global 4-component vector of float)
+0:219 'inF0' (temp 4-component vector of float)
+0:220 exp2 (global 4-component vector of float)
+0:220 'inF0' (temp 4-component vector of float)
+0:221 face-forward (global 4-component vector of float)
+0:221 'inF0' (temp 4-component vector of float)
+0:221 'inF1' (temp 4-component vector of float)
+0:221 'inF2' (temp 4-component vector of float)
+0:222 findMSB (global int)
+0:222 Constant:
+0:222 7 (const int)
+0:223 findLSB (global int)
+0:223 Constant:
+0:223 7 (const int)
+0:224 Floor (global 4-component vector of float)
+0:224 'inF0' (temp 4-component vector of float)
+0:226 mod (global 4-component vector of float)
+0:226 'inF0' (temp 4-component vector of float)
+0:226 'inF1' (temp 4-component vector of float)
+0:227 Fraction (global 4-component vector of float)
+0:227 'inF0' (temp 4-component vector of float)
+0:228 frexp (global 4-component vector of float)
+0:228 'inF0' (temp 4-component vector of float)
+0:228 'inF1' (temp 4-component vector of float)
+0:229 fwidth (global 4-component vector of float)
+0:229 'inF0' (temp 4-component vector of float)
+0:230 isinf (global 4-component vector of bool)
+0:230 'inF0' (temp 4-component vector of float)
+0:231 isnan (global 4-component vector of bool)
+0:231 'inF0' (temp 4-component vector of float)
+0:232 ldexp (global 4-component vector of float)
+0:232 'inF0' (temp 4-component vector of float)
+0:232 'inF1' (temp 4-component vector of float)
+0:233 length (global float)
+0:233 'inF0' (temp 4-component vector of float)
+0:234 log (global 4-component vector of float)
+0:234 'inF0' (temp 4-component vector of float)
+0:235 vector-scale (temp 4-component vector of float)
+0:235 log2 (temp 4-component vector of float)
+0:235 'inF0' (temp 4-component vector of float)
+0:235 Constant:
+0:235 0.301030
+0:236 log2 (global 4-component vector of float)
+0:236 'inF0' (temp 4-component vector of float)
+0:237 max (global 4-component vector of float)
+0:237 'inF0' (temp 4-component vector of float)
+0:237 'inF1' (temp 4-component vector of float)
+0:238 min (global 4-component vector of float)
+0:238 'inF0' (temp 4-component vector of float)
+0:238 'inF1' (temp 4-component vector of float)
+0:240 normalize (global 4-component vector of float)
+0:240 'inF0' (temp 4-component vector of float)
+0:241 pow (global 4-component vector of float)
+0:241 'inF0' (temp 4-component vector of float)
+0:241 'inF1' (temp 4-component vector of float)
+0:242 radians (global 4-component vector of float)
+0:242 'inF0' (temp 4-component vector of float)
+0:243 reflect (global 4-component vector of float)
+0:243 'inF0' (temp 4-component vector of float)
+0:243 'inF1' (temp 4-component vector of float)
+0:244 refract (global 4-component vector of float)
+0:244 'inF0' (temp 4-component vector of float)
+0:244 'inF1' (temp 4-component vector of float)
+0:244 Constant:
+0:244 2.000000
+0:? bitFieldReverse (global 4-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:246 roundEven (global 4-component vector of float)
+0:246 'inF0' (temp 4-component vector of float)
+0:247 inverse sqrt (global 4-component vector of float)
+0:247 'inF0' (temp 4-component vector of float)
+0:248 clamp (global 4-component vector of float)
+0:248 'inF0' (temp 4-component vector of float)
+0:248 Constant:
+0:248 0.000000
+0:248 Constant:
+0:248 1.000000
+0:249 Sign (global 4-component vector of float)
+0:249 'inF0' (temp 4-component vector of float)
+0:250 sine (global 4-component vector of float)
+0:250 'inF0' (temp 4-component vector of float)
+0:251 Sequence
+0:251 move second child to first child (temp 4-component vector of float)
+0:251 'inF1' (temp 4-component vector of float)
+0:251 sine (temp 4-component vector of float)
+0:251 'inF0' (temp 4-component vector of float)
+0:251 move second child to first child (temp 4-component vector of float)
+0:251 'inF2' (temp 4-component vector of float)
+0:251 cosine (temp 4-component vector of float)
+0:251 'inF0' (temp 4-component vector of float)
+0:252 hyp. sine (global 4-component vector of float)
+0:252 'inF0' (temp 4-component vector of float)
+0:253 smoothstep (global 4-component vector of float)
+0:253 'inF0' (temp 4-component vector of float)
+0:253 'inF1' (temp 4-component vector of float)
+0:253 'inF2' (temp 4-component vector of float)
+0:254 sqrt (global 4-component vector of float)
+0:254 'inF0' (temp 4-component vector of float)
+0:255 step (global 4-component vector of float)
+0:255 'inF0' (temp 4-component vector of float)
+0:255 'inF1' (temp 4-component vector of float)
+0:256 tangent (global 4-component vector of float)
+0:256 'inF0' (temp 4-component vector of float)
+0:257 hyp. tangent (global 4-component vector of float)
+0:257 'inF0' (temp 4-component vector of float)
+0:259 trunc (global 4-component vector of float)
+0:259 'inF0' (temp 4-component vector of float)
+0:262 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:323 Function Definition: VertexShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:315 Function Parameters:
+0:315 'inF0' (temp 2X2 matrix of float)
+0:315 'inF1' (temp 2X2 matrix of float)
+0:315 'inF2' (temp 2X2 matrix of float)
+0:? Sequence
+0:317 all (global bool)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 Absolute value (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 arc cosine (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 any (global bool)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 arc sine (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 arc tangent (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 arc tangent (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 Ceiling (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 clamp (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 'inF2' (temp 2X2 matrix of float)
+0:317 cosine (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 hyp. cosine (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 degrees (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 determinant (global float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 exp (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 exp2 (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 findMSB (global int)
+0:317 Constant:
+0:317 7 (const int)
+0:317 findLSB (global int)
+0:317 Constant:
+0:317 7 (const int)
+0:317 Floor (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 mod (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 Fraction (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 frexp (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 fwidth (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 ldexp (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 log (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 matrix-scale (temp 2X2 matrix of float)
+0:317 log2 (temp 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 Constant:
+0:317 0.301030
+0:317 log2 (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 max (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 min (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 pow (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 radians (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 roundEven (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 inverse sqrt (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 clamp (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 Constant:
+0:317 0.000000
+0:317 Constant:
+0:317 1.000000
+0:317 Sign (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 sine (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 Sequence
+0:317 move second child to first child (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 sine (temp 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 move second child to first child (temp 2X2 matrix of float)
+0:317 'inF2' (temp 2X2 matrix of float)
+0:317 cosine (temp 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 hyp. sine (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 smoothstep (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 'inF2' (temp 2X2 matrix of float)
+0:317 sqrt (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 step (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 tangent (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 hyp. tangent (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 transpose (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 trunc (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:320 Branch: Return with expression
+0:? Constant:
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:332 Function Definition: VertexShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:324 Function Parameters:
+0:324 'inF0' (temp 3X3 matrix of float)
+0:324 'inF1' (temp 3X3 matrix of float)
+0:324 'inF2' (temp 3X3 matrix of float)
+0:? Sequence
+0:326 all (global bool)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 Absolute value (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 arc cosine (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 any (global bool)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 arc sine (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 arc tangent (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 arc tangent (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 Ceiling (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 clamp (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 'inF2' (temp 3X3 matrix of float)
+0:326 cosine (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 hyp. cosine (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 degrees (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 determinant (global float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 exp (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 exp2 (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 findMSB (global int)
+0:326 Constant:
+0:326 7 (const int)
+0:326 findLSB (global int)
+0:326 Constant:
+0:326 7 (const int)
+0:326 Floor (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 mod (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 Fraction (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 frexp (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 fwidth (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 ldexp (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 log (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 matrix-scale (temp 3X3 matrix of float)
+0:326 log2 (temp 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 Constant:
+0:326 0.301030
+0:326 log2 (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 max (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 min (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 pow (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 radians (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 roundEven (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 inverse sqrt (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 clamp (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 Constant:
+0:326 0.000000
+0:326 Constant:
+0:326 1.000000
+0:326 Sign (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 sine (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 Sequence
+0:326 move second child to first child (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 sine (temp 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 move second child to first child (temp 3X3 matrix of float)
+0:326 'inF2' (temp 3X3 matrix of float)
+0:326 cosine (temp 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 hyp. sine (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 smoothstep (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 'inF2' (temp 3X3 matrix of float)
+0:326 sqrt (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 step (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 tangent (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 hyp. tangent (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 transpose (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 trunc (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:329 Branch: Return with expression
+0:? Constant:
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:353 Function Definition: VertexShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:333 Function Parameters:
+0:333 'inF0' (temp 4X4 matrix of float)
+0:333 'inF1' (temp 4X4 matrix of float)
+0:333 'inF2' (temp 4X4 matrix of float)
+0:? Sequence
+0:335 all (global bool)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 Absolute value (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 arc cosine (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 any (global bool)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 arc sine (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 arc tangent (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 arc tangent (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 Ceiling (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 clamp (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 'inF2' (temp 4X4 matrix of float)
+0:335 cosine (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 hyp. cosine (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 degrees (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 determinant (global float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 exp (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 exp2 (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 findMSB (global int)
+0:335 Constant:
+0:335 7 (const int)
+0:335 findLSB (global int)
+0:335 Constant:
+0:335 7 (const int)
+0:335 Floor (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 mod (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 Fraction (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 frexp (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 fwidth (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 ldexp (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 log (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 matrix-scale (temp 4X4 matrix of float)
+0:335 log2 (temp 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 Constant:
+0:335 0.301030
+0:335 log2 (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 max (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 min (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 pow (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 radians (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 roundEven (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 inverse sqrt (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 clamp (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 Constant:
+0:335 0.000000
+0:335 Constant:
+0:335 1.000000
+0:335 Sign (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 sine (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 Sequence
+0:335 move second child to first child (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 sine (temp 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 move second child to first child (temp 4X4 matrix of float)
+0:335 'inF2' (temp 4X4 matrix of float)
+0:335 cosine (temp 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 hyp. sine (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 smoothstep (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 'inF2' (temp 4X4 matrix of float)
+0:335 sqrt (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 step (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 tangent (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 hyp. tangent (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 transpose (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 trunc (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:338 Branch: Return with expression
+0:? Constant:
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:360 Function Definition: TestGenMul(f1;f1;vf2;vf2;mf22;mf22; (temp void)
+0:356 Function Parameters:
+0:356 'inF0' (temp float)
+0:356 'inF1' (temp float)
+0:356 'inFV0' (temp 2-component vector of float)
+0:356 'inFV1' (temp 2-component vector of float)
+0:356 'inFM0' (temp 2X2 matrix of float)
+0:356 'inFM1' (temp 2X2 matrix of float)
+0:? Sequence
+0:357 move second child to first child (temp float)
+0:357 'r0' (temp float)
+0:357 component-wise multiply (temp float)
+0:357 'inF0' (temp float)
+0:357 'inF1' (temp float)
+0:357 move second child to first child (temp 2-component vector of float)
+0:357 'r1' (temp 2-component vector of float)
+0:357 vector-scale (temp 2-component vector of float)
+0:357 'inFV0' (temp 2-component vector of float)
+0:357 'inF0' (temp float)
+0:357 move second child to first child (temp 2-component vector of float)
+0:357 'r2' (temp 2-component vector of float)
+0:357 vector-scale (temp 2-component vector of float)
+0:357 'inF0' (temp float)
+0:357 'inFV0' (temp 2-component vector of float)
+0:357 move second child to first child (temp float)
+0:357 'r3' (temp float)
+0:357 dot-product (global float)
+0:357 'inFV0' (temp 2-component vector of float)
+0:357 'inFV1' (temp 2-component vector of float)
+0:357 move second child to first child (temp 2-component vector of float)
+0:357 'r4' (temp 2-component vector of float)
+0:357 matrix-times-vector (temp 2-component vector of float)
+0:357 'inFM0' (temp 2X2 matrix of float)
+0:357 'inFV0' (temp 2-component vector of float)
+0:357 move second child to first child (temp 2-component vector of float)
+0:357 'r5' (temp 2-component vector of float)
+0:357 vector-times-matrix (temp 2-component vector of float)
+0:357 'inFV0' (temp 2-component vector of float)
+0:357 'inFM0' (temp 2X2 matrix of float)
+0:357 move second child to first child (temp 2X2 matrix of float)
+0:357 'r6' (temp 2X2 matrix of float)
+0:357 matrix-scale (temp 2X2 matrix of float)
+0:357 'inFM0' (temp 2X2 matrix of float)
+0:357 'inF0' (temp float)
+0:357 move second child to first child (temp 2X2 matrix of float)
+0:357 'r7' (temp 2X2 matrix of float)
+0:357 matrix-scale (temp 2X2 matrix of float)
+0:357 'inF0' (temp float)
+0:357 'inFM0' (temp 2X2 matrix of float)
+0:357 move second child to first child (temp 2X2 matrix of float)
+0:357 'r8' (temp 2X2 matrix of float)
+0:357 matrix-multiply (temp 2X2 matrix of float)
+0:357 'inFM0' (temp 2X2 matrix of float)
+0:357 'inFM1' (temp 2X2 matrix of float)
+0:367 Function Definition: TestGenMul(f1;f1;vf3;vf3;mf33;mf33; (temp void)
+0:363 Function Parameters:
+0:363 'inF0' (temp float)
+0:363 'inF1' (temp float)
+0:363 'inFV0' (temp 3-component vector of float)
+0:363 'inFV1' (temp 3-component vector of float)
+0:363 'inFM0' (temp 3X3 matrix of float)
+0:363 'inFM1' (temp 3X3 matrix of float)
+0:? Sequence
+0:364 move second child to first child (temp float)
+0:364 'r0' (temp float)
+0:364 component-wise multiply (temp float)
+0:364 'inF0' (temp float)
+0:364 'inF1' (temp float)
+0:364 move second child to first child (temp 3-component vector of float)
+0:364 'r1' (temp 3-component vector of float)
+0:364 vector-scale (temp 3-component vector of float)
+0:364 'inFV0' (temp 3-component vector of float)
+0:364 'inF0' (temp float)
+0:364 move second child to first child (temp 3-component vector of float)
+0:364 'r2' (temp 3-component vector of float)
+0:364 vector-scale (temp 3-component vector of float)
+0:364 'inF0' (temp float)
+0:364 'inFV0' (temp 3-component vector of float)
+0:364 move second child to first child (temp float)
+0:364 'r3' (temp float)
+0:364 dot-product (global float)
+0:364 'inFV0' (temp 3-component vector of float)
+0:364 'inFV1' (temp 3-component vector of float)
+0:364 move second child to first child (temp 3-component vector of float)
+0:364 'r4' (temp 3-component vector of float)
+0:364 matrix-times-vector (temp 3-component vector of float)
+0:364 'inFM0' (temp 3X3 matrix of float)
+0:364 'inFV0' (temp 3-component vector of float)
+0:364 move second child to first child (temp 3-component vector of float)
+0:364 'r5' (temp 3-component vector of float)
+0:364 vector-times-matrix (temp 3-component vector of float)
+0:364 'inFV0' (temp 3-component vector of float)
+0:364 'inFM0' (temp 3X3 matrix of float)
+0:364 move second child to first child (temp 3X3 matrix of float)
+0:364 'r6' (temp 3X3 matrix of float)
+0:364 matrix-scale (temp 3X3 matrix of float)
+0:364 'inFM0' (temp 3X3 matrix of float)
+0:364 'inF0' (temp float)
+0:364 move second child to first child (temp 3X3 matrix of float)
+0:364 'r7' (temp 3X3 matrix of float)
+0:364 matrix-scale (temp 3X3 matrix of float)
+0:364 'inF0' (temp float)
+0:364 'inFM0' (temp 3X3 matrix of float)
+0:364 move second child to first child (temp 3X3 matrix of float)
+0:364 'r8' (temp 3X3 matrix of float)
+0:364 matrix-multiply (temp 3X3 matrix of float)
+0:364 'inFM0' (temp 3X3 matrix of float)
+0:364 'inFM1' (temp 3X3 matrix of float)
+0:373 Function Definition: TestGenMul(f1;f1;vf4;vf4;mf44;mf44; (temp void)
+0:370 Function Parameters:
+0:370 'inF0' (temp float)
+0:370 'inF1' (temp float)
+0:370 'inFV0' (temp 4-component vector of float)
+0:370 'inFV1' (temp 4-component vector of float)
+0:370 'inFM0' (temp 4X4 matrix of float)
+0:370 'inFM1' (temp 4X4 matrix of float)
+0:? Sequence
+0:371 move second child to first child (temp float)
+0:371 'r0' (temp float)
+0:371 component-wise multiply (temp float)
+0:371 'inF0' (temp float)
+0:371 'inF1' (temp float)
+0:371 move second child to first child (temp 4-component vector of float)
+0:371 'r1' (temp 4-component vector of float)
+0:371 vector-scale (temp 4-component vector of float)
+0:371 'inFV0' (temp 4-component vector of float)
+0:371 'inF0' (temp float)
+0:371 move second child to first child (temp 4-component vector of float)
+0:371 'r2' (temp 4-component vector of float)
+0:371 vector-scale (temp 4-component vector of float)
+0:371 'inF0' (temp float)
+0:371 'inFV0' (temp 4-component vector of float)
+0:371 move second child to first child (temp float)
+0:371 'r3' (temp float)
+0:371 dot-product (global float)
+0:371 'inFV0' (temp 4-component vector of float)
+0:371 'inFV1' (temp 4-component vector of float)
+0:371 move second child to first child (temp 4-component vector of float)
+0:371 'r4' (temp 4-component vector of float)
+0:371 matrix-times-vector (temp 4-component vector of float)
+0:371 'inFM0' (temp 4X4 matrix of float)
+0:371 'inFV0' (temp 4-component vector of float)
+0:371 move second child to first child (temp 4-component vector of float)
+0:371 'r5' (temp 4-component vector of float)
+0:371 vector-times-matrix (temp 4-component vector of float)
+0:371 'inFV0' (temp 4-component vector of float)
+0:371 'inFM0' (temp 4X4 matrix of float)
+0:371 move second child to first child (temp 4X4 matrix of float)
+0:371 'r6' (temp 4X4 matrix of float)
+0:371 matrix-scale (temp 4X4 matrix of float)
+0:371 'inFM0' (temp 4X4 matrix of float)
+0:371 'inF0' (temp float)
+0:371 move second child to first child (temp 4X4 matrix of float)
+0:371 'r7' (temp 4X4 matrix of float)
+0:371 matrix-scale (temp 4X4 matrix of float)
+0:371 'inF0' (temp float)
+0:371 'inFM0' (temp 4X4 matrix of float)
+0:371 move second child to first child (temp 4X4 matrix of float)
+0:371 'r8' (temp 4X4 matrix of float)
+0:371 matrix-multiply (temp 4X4 matrix of float)
+0:371 'inFM0' (temp 4X4 matrix of float)
+0:371 'inFM1' (temp 4X4 matrix of float)
+0:? Linker Objects
+
+
+Linked vertex stage:
+
+
+Shader version: 450
+0:? Sequence
+0:59 Function Definition: VertexShaderFunction(f1;f1;f1; (temp float)
+0:2 Function Parameters:
+0:2 'inF0' (temp float)
+0:2 'inF1' (temp float)
+0:2 'inF2' (temp float)
+0:? Sequence
+0:3 all (global bool)
+0:3 'inF0' (temp float)
+0:4 Absolute value (global float)
+0:4 'inF0' (temp float)
+0:5 arc cosine (global float)
+0:5 'inF0' (temp float)
+0:6 any (global bool)
+0:6 'inF0' (temp float)
+0:7 arc sine (global float)
+0:7 'inF0' (temp float)
+0:8 arc tangent (global float)
+0:8 'inF0' (temp float)
+0:9 arc tangent (global float)
+0:9 'inF0' (temp float)
+0:9 'inF1' (temp float)
+0:10 Ceiling (global float)
+0:10 'inF0' (temp float)
+0:11 clamp (global float)
+0:11 'inF0' (temp float)
+0:11 'inF1' (temp float)
+0:11 'inF2' (temp float)
+0:12 cosine (global float)
+0:12 'inF0' (temp float)
+0:13 hyp. cosine (global float)
+0:13 'inF0' (temp float)
+0:14 bitCount (global uint)
+0:14 Constant:
+0:14 7 (const uint)
+0:15 degrees (global float)
+0:15 'inF0' (temp float)
+0:19 exp (global float)
+0:19 'inF0' (temp float)
+0:20 exp2 (global float)
+0:20 'inF0' (temp float)
+0:21 findMSB (global int)
+0:21 Constant:
+0:21 7 (const int)
+0:22 findLSB (global int)
+0:22 Constant:
+0:22 7 (const int)
+0:23 Floor (global float)
+0:23 'inF0' (temp float)
+0:25 mod (global float)
+0:25 'inF0' (temp float)
+0:25 'inF1' (temp float)
+0:26 Fraction (global float)
+0:26 'inF0' (temp float)
+0:27 frexp (global float)
+0:27 'inF0' (temp float)
+0:27 'inF1' (temp float)
+0:28 fwidth (global float)
+0:28 'inF0' (temp float)
+0:29 isinf (global bool)
+0:29 'inF0' (temp float)
+0:30 isnan (global bool)
+0:30 'inF0' (temp float)
+0:31 ldexp (global float)
+0:31 'inF0' (temp float)
+0:31 'inF1' (temp float)
+0:32 log (global float)
+0:32 'inF0' (temp float)
+0:33 component-wise multiply (temp float)
+0:33 log2 (temp float)
+0:33 'inF0' (temp float)
+0:33 Constant:
+0:33 0.301030
+0:34 log2 (global float)
+0:34 'inF0' (temp float)
+0:35 max (global float)
+0:35 'inF0' (temp float)
+0:35 'inF1' (temp float)
+0:36 min (global float)
+0:36 'inF0' (temp float)
+0:36 'inF1' (temp float)
+0:38 pow (global float)
+0:38 'inF0' (temp float)
+0:38 'inF1' (temp float)
+0:39 radians (global float)
+0:39 'inF0' (temp float)
+0:40 bitFieldReverse (global uint)
+0:40 Constant:
+0:40 2 (const uint)
+0:41 roundEven (global float)
+0:41 'inF0' (temp float)
+0:42 inverse sqrt (global float)
+0:42 'inF0' (temp float)
+0:43 clamp (global float)
+0:43 'inF0' (temp float)
+0:43 Constant:
+0:43 0.000000
+0:43 Constant:
+0:43 1.000000
+0:44 Sign (global float)
+0:44 'inF0' (temp float)
+0:45 sine (global float)
+0:45 'inF0' (temp float)
+0:46 Sequence
+0:46 move second child to first child (temp float)
+0:46 'inF1' (temp float)
+0:46 sine (temp float)
+0:46 'inF0' (temp float)
+0:46 move second child to first child (temp float)
+0:46 'inF2' (temp float)
+0:46 cosine (temp float)
+0:46 'inF0' (temp float)
+0:47 hyp. sine (global float)
+0:47 'inF0' (temp float)
+0:48 smoothstep (global float)
+0:48 'inF0' (temp float)
+0:48 'inF1' (temp float)
+0:48 'inF2' (temp float)
+0:49 sqrt (global float)
+0:49 'inF0' (temp float)
+0:50 step (global float)
+0:50 'inF0' (temp float)
+0:50 'inF1' (temp float)
+0:51 tangent (global float)
+0:51 'inF0' (temp float)
+0:52 hyp. tangent (global float)
+0:52 'inF0' (temp float)
+0:54 trunc (global float)
+0:54 'inF0' (temp float)
+0:56 Branch: Return with expression
+0:56 Constant:
+0:56 0.000000
+0:65 Function Definition: VertexShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
+0:60 Function Parameters:
+0:60 'inF0' (temp 1-component vector of float)
+0:60 'inF1' (temp 1-component vector of float)
+0:60 'inF2' (temp 1-component vector of float)
+0:? Sequence
+0:62 Branch: Return with expression
+0:62 Constant:
+0:62 0.000000
+0:131 Function Definition: VertexShaderFunction(vf2;vf2;vf2; (temp 2-component vector of float)
+0:66 Function Parameters:
+0:66 'inF0' (temp 2-component vector of float)
+0:66 'inF1' (temp 2-component vector of float)
+0:66 'inF2' (temp 2-component vector of float)
+0:? Sequence
+0:67 all (global bool)
+0:67 'inF0' (temp 2-component vector of float)
+0:68 Absolute value (global 2-component vector of float)
+0:68 'inF0' (temp 2-component vector of float)
+0:69 arc cosine (global 2-component vector of float)
+0:69 'inF0' (temp 2-component vector of float)
+0:70 any (global bool)
+0:70 'inF0' (temp 2-component vector of float)
+0:71 arc sine (global 2-component vector of float)
+0:71 'inF0' (temp 2-component vector of float)
+0:72 arc tangent (global 2-component vector of float)
+0:72 'inF0' (temp 2-component vector of float)
+0:73 arc tangent (global 2-component vector of float)
+0:73 'inF0' (temp 2-component vector of float)
+0:73 'inF1' (temp 2-component vector of float)
+0:74 Ceiling (global 2-component vector of float)
+0:74 'inF0' (temp 2-component vector of float)
+0:75 clamp (global 2-component vector of float)
+0:75 'inF0' (temp 2-component vector of float)
+0:75 'inF1' (temp 2-component vector of float)
+0:75 'inF2' (temp 2-component vector of float)
+0:76 cosine (global 2-component vector of float)
+0:76 'inF0' (temp 2-component vector of float)
+0:77 hyp. cosine (global 2-component vector of float)
+0:77 'inF0' (temp 2-component vector of float)
+0:? bitCount (global 2-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:79 degrees (global 2-component vector of float)
+0:79 'inF0' (temp 2-component vector of float)
+0:80 distance (global float)
+0:80 'inF0' (temp 2-component vector of float)
+0:80 'inF1' (temp 2-component vector of float)
+0:81 dot-product (global float)
+0:81 'inF0' (temp 2-component vector of float)
+0:81 'inF1' (temp 2-component vector of float)
+0:85 exp (global 2-component vector of float)
+0:85 'inF0' (temp 2-component vector of float)
+0:86 exp2 (global 2-component vector of float)
+0:86 'inF0' (temp 2-component vector of float)
+0:87 face-forward (global 2-component vector of float)
+0:87 'inF0' (temp 2-component vector of float)
+0:87 'inF1' (temp 2-component vector of float)
+0:87 'inF2' (temp 2-component vector of float)
+0:88 findMSB (global int)
+0:88 Constant:
+0:88 7 (const int)
+0:89 findLSB (global int)
+0:89 Constant:
+0:89 7 (const int)
+0:90 Floor (global 2-component vector of float)
+0:90 'inF0' (temp 2-component vector of float)
+0:92 mod (global 2-component vector of float)
+0:92 'inF0' (temp 2-component vector of float)
+0:92 'inF1' (temp 2-component vector of float)
+0:93 Fraction (global 2-component vector of float)
+0:93 'inF0' (temp 2-component vector of float)
+0:94 frexp (global 2-component vector of float)
+0:94 'inF0' (temp 2-component vector of float)
+0:94 'inF1' (temp 2-component vector of float)
+0:95 fwidth (global 2-component vector of float)
+0:95 'inF0' (temp 2-component vector of float)
+0:96 isinf (global 2-component vector of bool)
+0:96 'inF0' (temp 2-component vector of float)
+0:97 isnan (global 2-component vector of bool)
+0:97 'inF0' (temp 2-component vector of float)
+0:98 ldexp (global 2-component vector of float)
+0:98 'inF0' (temp 2-component vector of float)
+0:98 'inF1' (temp 2-component vector of float)
+0:99 length (global float)
+0:99 'inF0' (temp 2-component vector of float)
+0:100 log (global 2-component vector of float)
+0:100 'inF0' (temp 2-component vector of float)
+0:101 vector-scale (temp 2-component vector of float)
+0:101 log2 (temp 2-component vector of float)
+0:101 'inF0' (temp 2-component vector of float)
+0:101 Constant:
+0:101 0.301030
+0:102 log2 (global 2-component vector of float)
+0:102 'inF0' (temp 2-component vector of float)
+0:103 max (global 2-component vector of float)
+0:103 'inF0' (temp 2-component vector of float)
+0:103 'inF1' (temp 2-component vector of float)
+0:104 min (global 2-component vector of float)
+0:104 'inF0' (temp 2-component vector of float)
+0:104 'inF1' (temp 2-component vector of float)
+0:106 normalize (global 2-component vector of float)
+0:106 'inF0' (temp 2-component vector of float)
+0:107 pow (global 2-component vector of float)
+0:107 'inF0' (temp 2-component vector of float)
+0:107 'inF1' (temp 2-component vector of float)
+0:108 radians (global 2-component vector of float)
+0:108 'inF0' (temp 2-component vector of float)
+0:109 reflect (global 2-component vector of float)
+0:109 'inF0' (temp 2-component vector of float)
+0:109 'inF1' (temp 2-component vector of float)
+0:110 refract (global 2-component vector of float)
+0:110 'inF0' (temp 2-component vector of float)
+0:110 'inF1' (temp 2-component vector of float)
+0:110 Constant:
+0:110 2.000000
+0:? bitFieldReverse (global 2-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:112 roundEven (global 2-component vector of float)
+0:112 'inF0' (temp 2-component vector of float)
+0:113 inverse sqrt (global 2-component vector of float)
+0:113 'inF0' (temp 2-component vector of float)
+0:114 clamp (global 2-component vector of float)
+0:114 'inF0' (temp 2-component vector of float)
+0:114 Constant:
+0:114 0.000000
+0:114 Constant:
+0:114 1.000000
+0:115 Sign (global 2-component vector of float)
+0:115 'inF0' (temp 2-component vector of float)
+0:116 sine (global 2-component vector of float)
+0:116 'inF0' (temp 2-component vector of float)
+0:117 Sequence
+0:117 move second child to first child (temp 2-component vector of float)
+0:117 'inF1' (temp 2-component vector of float)
+0:117 sine (temp 2-component vector of float)
+0:117 'inF0' (temp 2-component vector of float)
+0:117 move second child to first child (temp 2-component vector of float)
+0:117 'inF2' (temp 2-component vector of float)
+0:117 cosine (temp 2-component vector of float)
+0:117 'inF0' (temp 2-component vector of float)
+0:118 hyp. sine (global 2-component vector of float)
+0:118 'inF0' (temp 2-component vector of float)
+0:119 smoothstep (global 2-component vector of float)
+0:119 'inF0' (temp 2-component vector of float)
+0:119 'inF1' (temp 2-component vector of float)
+0:119 'inF2' (temp 2-component vector of float)
+0:120 sqrt (global 2-component vector of float)
+0:120 'inF0' (temp 2-component vector of float)
+0:121 step (global 2-component vector of float)
+0:121 'inF0' (temp 2-component vector of float)
+0:121 'inF1' (temp 2-component vector of float)
+0:122 tangent (global 2-component vector of float)
+0:122 'inF0' (temp 2-component vector of float)
+0:123 hyp. tangent (global 2-component vector of float)
+0:123 'inF0' (temp 2-component vector of float)
+0:125 trunc (global 2-component vector of float)
+0:125 'inF0' (temp 2-component vector of float)
+0:128 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:198 Function Definition: VertexShaderFunction(vf3;vf3;vf3; (temp 3-component vector of float)
+0:132 Function Parameters:
+0:132 'inF0' (temp 3-component vector of float)
+0:132 'inF1' (temp 3-component vector of float)
+0:132 'inF2' (temp 3-component vector of float)
+0:? Sequence
+0:133 all (global bool)
+0:133 'inF0' (temp 3-component vector of float)
+0:134 Absolute value (global 3-component vector of float)
+0:134 'inF0' (temp 3-component vector of float)
+0:135 arc cosine (global 3-component vector of float)
+0:135 'inF0' (temp 3-component vector of float)
+0:136 any (global bool)
+0:136 'inF0' (temp 3-component vector of float)
+0:137 arc sine (global 3-component vector of float)
+0:137 'inF0' (temp 3-component vector of float)
+0:138 arc tangent (global 3-component vector of float)
+0:138 'inF0' (temp 3-component vector of float)
+0:139 arc tangent (global 3-component vector of float)
+0:139 'inF0' (temp 3-component vector of float)
+0:139 'inF1' (temp 3-component vector of float)
+0:140 Ceiling (global 3-component vector of float)
+0:140 'inF0' (temp 3-component vector of float)
+0:141 clamp (global 3-component vector of float)
+0:141 'inF0' (temp 3-component vector of float)
+0:141 'inF1' (temp 3-component vector of float)
+0:141 'inF2' (temp 3-component vector of float)
+0:142 cosine (global 3-component vector of float)
+0:142 'inF0' (temp 3-component vector of float)
+0:143 hyp. cosine (global 3-component vector of float)
+0:143 'inF0' (temp 3-component vector of float)
+0:? bitCount (global 3-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:? 5 (const uint)
+0:145 cross-product (global 3-component vector of float)
+0:145 'inF0' (temp 3-component vector of float)
+0:145 'inF1' (temp 3-component vector of float)
+0:146 degrees (global 3-component vector of float)
+0:146 'inF0' (temp 3-component vector of float)
+0:147 distance (global float)
+0:147 'inF0' (temp 3-component vector of float)
+0:147 'inF1' (temp 3-component vector of float)
+0:148 dot-product (global float)
+0:148 'inF0' (temp 3-component vector of float)
+0:148 'inF1' (temp 3-component vector of float)
+0:152 exp (global 3-component vector of float)
+0:152 'inF0' (temp 3-component vector of float)
+0:153 exp2 (global 3-component vector of float)
+0:153 'inF0' (temp 3-component vector of float)
+0:154 face-forward (global 3-component vector of float)
+0:154 'inF0' (temp 3-component vector of float)
+0:154 'inF1' (temp 3-component vector of float)
+0:154 'inF2' (temp 3-component vector of float)
+0:155 findMSB (global int)
+0:155 Constant:
+0:155 7 (const int)
+0:156 findLSB (global int)
+0:156 Constant:
+0:156 7 (const int)
+0:157 Floor (global 3-component vector of float)
+0:157 'inF0' (temp 3-component vector of float)
+0:159 mod (global 3-component vector of float)
+0:159 'inF0' (temp 3-component vector of float)
+0:159 'inF1' (temp 3-component vector of float)
+0:160 Fraction (global 3-component vector of float)
+0:160 'inF0' (temp 3-component vector of float)
+0:161 frexp (global 3-component vector of float)
+0:161 'inF0' (temp 3-component vector of float)
+0:161 'inF1' (temp 3-component vector of float)
+0:162 fwidth (global 3-component vector of float)
+0:162 'inF0' (temp 3-component vector of float)
+0:163 isinf (global 3-component vector of bool)
+0:163 'inF0' (temp 3-component vector of float)
+0:164 isnan (global 3-component vector of bool)
+0:164 'inF0' (temp 3-component vector of float)
+0:165 ldexp (global 3-component vector of float)
+0:165 'inF0' (temp 3-component vector of float)
+0:165 'inF1' (temp 3-component vector of float)
+0:166 length (global float)
+0:166 'inF0' (temp 3-component vector of float)
+0:167 log (global 3-component vector of float)
+0:167 'inF0' (temp 3-component vector of float)
+0:168 vector-scale (temp 3-component vector of float)
+0:168 log2 (temp 3-component vector of float)
+0:168 'inF0' (temp 3-component vector of float)
+0:168 Constant:
+0:168 0.301030
+0:169 log2 (global 3-component vector of float)
+0:169 'inF0' (temp 3-component vector of float)
+0:170 max (global 3-component vector of float)
+0:170 'inF0' (temp 3-component vector of float)
+0:170 'inF1' (temp 3-component vector of float)
+0:171 min (global 3-component vector of float)
+0:171 'inF0' (temp 3-component vector of float)
+0:171 'inF1' (temp 3-component vector of float)
+0:173 normalize (global 3-component vector of float)
+0:173 'inF0' (temp 3-component vector of float)
+0:174 pow (global 3-component vector of float)
+0:174 'inF0' (temp 3-component vector of float)
+0:174 'inF1' (temp 3-component vector of float)
+0:175 radians (global 3-component vector of float)
+0:175 'inF0' (temp 3-component vector of float)
+0:176 reflect (global 3-component vector of float)
+0:176 'inF0' (temp 3-component vector of float)
+0:176 'inF1' (temp 3-component vector of float)
+0:177 refract (global 3-component vector of float)
+0:177 'inF0' (temp 3-component vector of float)
+0:177 'inF1' (temp 3-component vector of float)
+0:177 Constant:
+0:177 2.000000
+0:? bitFieldReverse (global 3-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:179 roundEven (global 3-component vector of float)
+0:179 'inF0' (temp 3-component vector of float)
+0:180 inverse sqrt (global 3-component vector of float)
+0:180 'inF0' (temp 3-component vector of float)
+0:181 clamp (global 3-component vector of float)
+0:181 'inF0' (temp 3-component vector of float)
+0:181 Constant:
+0:181 0.000000
+0:181 Constant:
+0:181 1.000000
+0:182 Sign (global 3-component vector of float)
+0:182 'inF0' (temp 3-component vector of float)
+0:183 sine (global 3-component vector of float)
+0:183 'inF0' (temp 3-component vector of float)
+0:184 Sequence
+0:184 move second child to first child (temp 3-component vector of float)
+0:184 'inF1' (temp 3-component vector of float)
+0:184 sine (temp 3-component vector of float)
+0:184 'inF0' (temp 3-component vector of float)
+0:184 move second child to first child (temp 3-component vector of float)
+0:184 'inF2' (temp 3-component vector of float)
+0:184 cosine (temp 3-component vector of float)
+0:184 'inF0' (temp 3-component vector of float)
+0:185 hyp. sine (global 3-component vector of float)
+0:185 'inF0' (temp 3-component vector of float)
+0:186 smoothstep (global 3-component vector of float)
+0:186 'inF0' (temp 3-component vector of float)
+0:186 'inF1' (temp 3-component vector of float)
+0:186 'inF2' (temp 3-component vector of float)
+0:187 sqrt (global 3-component vector of float)
+0:187 'inF0' (temp 3-component vector of float)
+0:188 step (global 3-component vector of float)
+0:188 'inF0' (temp 3-component vector of float)
+0:188 'inF1' (temp 3-component vector of float)
+0:189 tangent (global 3-component vector of float)
+0:189 'inF0' (temp 3-component vector of float)
+0:190 hyp. tangent (global 3-component vector of float)
+0:190 'inF0' (temp 3-component vector of float)
+0:192 trunc (global 3-component vector of float)
+0:192 'inF0' (temp 3-component vector of float)
+0:195 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:314 Function Definition: VertexShaderFunction(vf4;vf4;vf4; (temp 4-component vector of float)
+0:199 Function Parameters:
+0:199 'inF0' (temp 4-component vector of float)
+0:199 'inF1' (temp 4-component vector of float)
+0:199 'inF2' (temp 4-component vector of float)
+0:? Sequence
+0:200 all (global bool)
+0:200 'inF0' (temp 4-component vector of float)
+0:201 Absolute value (global 4-component vector of float)
+0:201 'inF0' (temp 4-component vector of float)
+0:202 arc cosine (global 4-component vector of float)
+0:202 'inF0' (temp 4-component vector of float)
+0:203 any (global bool)
+0:203 'inF0' (temp 4-component vector of float)
+0:204 arc sine (global 4-component vector of float)
+0:204 'inF0' (temp 4-component vector of float)
+0:205 arc tangent (global 4-component vector of float)
+0:205 'inF0' (temp 4-component vector of float)
+0:206 arc tangent (global 4-component vector of float)
+0:206 'inF0' (temp 4-component vector of float)
+0:206 'inF1' (temp 4-component vector of float)
+0:207 Ceiling (global 4-component vector of float)
+0:207 'inF0' (temp 4-component vector of float)
+0:208 clamp (global 4-component vector of float)
+0:208 'inF0' (temp 4-component vector of float)
+0:208 'inF1' (temp 4-component vector of float)
+0:208 'inF2' (temp 4-component vector of float)
+0:209 cosine (global 4-component vector of float)
+0:209 'inF0' (temp 4-component vector of float)
+0:210 hyp. cosine (global 4-component vector of float)
+0:210 'inF0' (temp 4-component vector of float)
+0:? bitCount (global 4-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:? 5 (const uint)
+0:? 2 (const uint)
+0:212 degrees (global 4-component vector of float)
+0:212 'inF0' (temp 4-component vector of float)
+0:213 distance (global float)
+0:213 'inF0' (temp 4-component vector of float)
+0:213 'inF1' (temp 4-component vector of float)
+0:214 dot-product (global float)
+0:214 'inF0' (temp 4-component vector of float)
+0:214 'inF1' (temp 4-component vector of float)
+0:215 Construct vec4 (temp float)
+0:215 Constant:
+0:215 1.000000
+0:215 component-wise multiply (temp float)
+0:215 direct index (temp float)
+0:215 'inF0' (temp 4-component vector of float)
+0:215 Constant:
+0:215 1 (const int)
+0:215 direct index (temp float)
+0:215 'inF1' (temp 4-component vector of float)
+0:215 Constant:
+0:215 1 (const int)
+0:215 direct index (temp float)
+0:215 'inF0' (temp 4-component vector of float)
+0:215 Constant:
+0:215 2 (const int)
+0:215 direct index (temp float)
+0:215 'inF1' (temp 4-component vector of float)
+0:215 Constant:
+0:215 3 (const int)
+0:219 exp (global 4-component vector of float)
+0:219 'inF0' (temp 4-component vector of float)
+0:220 exp2 (global 4-component vector of float)
+0:220 'inF0' (temp 4-component vector of float)
+0:221 face-forward (global 4-component vector of float)
+0:221 'inF0' (temp 4-component vector of float)
+0:221 'inF1' (temp 4-component vector of float)
+0:221 'inF2' (temp 4-component vector of float)
+0:222 findMSB (global int)
+0:222 Constant:
+0:222 7 (const int)
+0:223 findLSB (global int)
+0:223 Constant:
+0:223 7 (const int)
+0:224 Floor (global 4-component vector of float)
+0:224 'inF0' (temp 4-component vector of float)
+0:226 mod (global 4-component vector of float)
+0:226 'inF0' (temp 4-component vector of float)
+0:226 'inF1' (temp 4-component vector of float)
+0:227 Fraction (global 4-component vector of float)
+0:227 'inF0' (temp 4-component vector of float)
+0:228 frexp (global 4-component vector of float)
+0:228 'inF0' (temp 4-component vector of float)
+0:228 'inF1' (temp 4-component vector of float)
+0:229 fwidth (global 4-component vector of float)
+0:229 'inF0' (temp 4-component vector of float)
+0:230 isinf (global 4-component vector of bool)
+0:230 'inF0' (temp 4-component vector of float)
+0:231 isnan (global 4-component vector of bool)
+0:231 'inF0' (temp 4-component vector of float)
+0:232 ldexp (global 4-component vector of float)
+0:232 'inF0' (temp 4-component vector of float)
+0:232 'inF1' (temp 4-component vector of float)
+0:233 length (global float)
+0:233 'inF0' (temp 4-component vector of float)
+0:234 log (global 4-component vector of float)
+0:234 'inF0' (temp 4-component vector of float)
+0:235 vector-scale (temp 4-component vector of float)
+0:235 log2 (temp 4-component vector of float)
+0:235 'inF0' (temp 4-component vector of float)
+0:235 Constant:
+0:235 0.301030
+0:236 log2 (global 4-component vector of float)
+0:236 'inF0' (temp 4-component vector of float)
+0:237 max (global 4-component vector of float)
+0:237 'inF0' (temp 4-component vector of float)
+0:237 'inF1' (temp 4-component vector of float)
+0:238 min (global 4-component vector of float)
+0:238 'inF0' (temp 4-component vector of float)
+0:238 'inF1' (temp 4-component vector of float)
+0:240 normalize (global 4-component vector of float)
+0:240 'inF0' (temp 4-component vector of float)
+0:241 pow (global 4-component vector of float)
+0:241 'inF0' (temp 4-component vector of float)
+0:241 'inF1' (temp 4-component vector of float)
+0:242 radians (global 4-component vector of float)
+0:242 'inF0' (temp 4-component vector of float)
+0:243 reflect (global 4-component vector of float)
+0:243 'inF0' (temp 4-component vector of float)
+0:243 'inF1' (temp 4-component vector of float)
+0:244 refract (global 4-component vector of float)
+0:244 'inF0' (temp 4-component vector of float)
+0:244 'inF1' (temp 4-component vector of float)
+0:244 Constant:
+0:244 2.000000
+0:? bitFieldReverse (global 4-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:246 roundEven (global 4-component vector of float)
+0:246 'inF0' (temp 4-component vector of float)
+0:247 inverse sqrt (global 4-component vector of float)
+0:247 'inF0' (temp 4-component vector of float)
+0:248 clamp (global 4-component vector of float)
+0:248 'inF0' (temp 4-component vector of float)
+0:248 Constant:
+0:248 0.000000
+0:248 Constant:
+0:248 1.000000
+0:249 Sign (global 4-component vector of float)
+0:249 'inF0' (temp 4-component vector of float)
+0:250 sine (global 4-component vector of float)
+0:250 'inF0' (temp 4-component vector of float)
+0:251 Sequence
+0:251 move second child to first child (temp 4-component vector of float)
+0:251 'inF1' (temp 4-component vector of float)
+0:251 sine (temp 4-component vector of float)
+0:251 'inF0' (temp 4-component vector of float)
+0:251 move second child to first child (temp 4-component vector of float)
+0:251 'inF2' (temp 4-component vector of float)
+0:251 cosine (temp 4-component vector of float)
+0:251 'inF0' (temp 4-component vector of float)
+0:252 hyp. sine (global 4-component vector of float)
+0:252 'inF0' (temp 4-component vector of float)
+0:253 smoothstep (global 4-component vector of float)
+0:253 'inF0' (temp 4-component vector of float)
+0:253 'inF1' (temp 4-component vector of float)
+0:253 'inF2' (temp 4-component vector of float)
+0:254 sqrt (global 4-component vector of float)
+0:254 'inF0' (temp 4-component vector of float)
+0:255 step (global 4-component vector of float)
+0:255 'inF0' (temp 4-component vector of float)
+0:255 'inF1' (temp 4-component vector of float)
+0:256 tangent (global 4-component vector of float)
+0:256 'inF0' (temp 4-component vector of float)
+0:257 hyp. tangent (global 4-component vector of float)
+0:257 'inF0' (temp 4-component vector of float)
+0:259 trunc (global 4-component vector of float)
+0:259 'inF0' (temp 4-component vector of float)
+0:262 Branch: Return with expression
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:323 Function Definition: VertexShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:315 Function Parameters:
+0:315 'inF0' (temp 2X2 matrix of float)
+0:315 'inF1' (temp 2X2 matrix of float)
+0:315 'inF2' (temp 2X2 matrix of float)
+0:? Sequence
+0:317 all (global bool)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 Absolute value (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 arc cosine (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 any (global bool)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 arc sine (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 arc tangent (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 arc tangent (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 Ceiling (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 clamp (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 'inF2' (temp 2X2 matrix of float)
+0:317 cosine (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 hyp. cosine (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 degrees (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 determinant (global float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 exp (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 exp2 (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 findMSB (global int)
+0:317 Constant:
+0:317 7 (const int)
+0:317 findLSB (global int)
+0:317 Constant:
+0:317 7 (const int)
+0:317 Floor (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 mod (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 Fraction (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 frexp (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 fwidth (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 ldexp (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 log (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 matrix-scale (temp 2X2 matrix of float)
+0:317 log2 (temp 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 Constant:
+0:317 0.301030
+0:317 log2 (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 max (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 min (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 pow (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 radians (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 roundEven (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 inverse sqrt (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 clamp (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 Constant:
+0:317 0.000000
+0:317 Constant:
+0:317 1.000000
+0:317 Sign (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 sine (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 Sequence
+0:317 move second child to first child (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 sine (temp 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 move second child to first child (temp 2X2 matrix of float)
+0:317 'inF2' (temp 2X2 matrix of float)
+0:317 cosine (temp 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 hyp. sine (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 smoothstep (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 'inF2' (temp 2X2 matrix of float)
+0:317 sqrt (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 step (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 'inF1' (temp 2X2 matrix of float)
+0:317 tangent (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 hyp. tangent (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 transpose (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:317 trunc (global 2X2 matrix of float)
+0:317 'inF0' (temp 2X2 matrix of float)
+0:320 Branch: Return with expression
+0:? Constant:
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+0:332 Function Definition: VertexShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:324 Function Parameters:
+0:324 'inF0' (temp 3X3 matrix of float)
+0:324 'inF1' (temp 3X3 matrix of float)
+0:324 'inF2' (temp 3X3 matrix of float)
+0:? Sequence
+0:326 all (global bool)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 Absolute value (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 arc cosine (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 any (global bool)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 arc sine (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 arc tangent (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 arc tangent (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 Ceiling (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 clamp (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 'inF2' (temp 3X3 matrix of float)
+0:326 cosine (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 hyp. cosine (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 degrees (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 determinant (global float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 exp (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 exp2 (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 findMSB (global int)
+0:326 Constant:
+0:326 7 (const int)
+0:326 findLSB (global int)
+0:326 Constant:
+0:326 7 (const int)
+0:326 Floor (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 mod (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 Fraction (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 frexp (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 fwidth (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 ldexp (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 log (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 matrix-scale (temp 3X3 matrix of float)
+0:326 log2 (temp 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 Constant:
+0:326 0.301030
+0:326 log2 (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 max (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 min (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 pow (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 radians (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 roundEven (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 inverse sqrt (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 clamp (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 Constant:
+0:326 0.000000
+0:326 Constant:
+0:326 1.000000
+0:326 Sign (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 sine (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 Sequence
+0:326 move second child to first child (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 sine (temp 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 move second child to first child (temp 3X3 matrix of float)
+0:326 'inF2' (temp 3X3 matrix of float)
+0:326 cosine (temp 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 hyp. sine (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 smoothstep (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 'inF2' (temp 3X3 matrix of float)
+0:326 sqrt (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 step (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 'inF1' (temp 3X3 matrix of float)
+0:326 tangent (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 hyp. tangent (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 transpose (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:326 trunc (global 3X3 matrix of float)
+0:326 'inF0' (temp 3X3 matrix of float)
+0:329 Branch: Return with expression
+0:? Constant:
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:353 Function Definition: VertexShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:333 Function Parameters:
+0:333 'inF0' (temp 4X4 matrix of float)
+0:333 'inF1' (temp 4X4 matrix of float)
+0:333 'inF2' (temp 4X4 matrix of float)
+0:? Sequence
+0:335 all (global bool)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 Absolute value (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 arc cosine (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 any (global bool)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 arc sine (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 arc tangent (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 arc tangent (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 Ceiling (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 clamp (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 'inF2' (temp 4X4 matrix of float)
+0:335 cosine (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 hyp. cosine (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 degrees (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 determinant (global float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 exp (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 exp2 (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 findMSB (global int)
+0:335 Constant:
+0:335 7 (const int)
+0:335 findLSB (global int)
+0:335 Constant:
+0:335 7 (const int)
+0:335 Floor (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 mod (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 Fraction (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 frexp (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 fwidth (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 ldexp (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 log (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 matrix-scale (temp 4X4 matrix of float)
+0:335 log2 (temp 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 Constant:
+0:335 0.301030
+0:335 log2 (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 max (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 min (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 pow (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 radians (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 roundEven (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 inverse sqrt (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 clamp (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 Constant:
+0:335 0.000000
+0:335 Constant:
+0:335 1.000000
+0:335 Sign (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 sine (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 Sequence
+0:335 move second child to first child (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 sine (temp 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 move second child to first child (temp 4X4 matrix of float)
+0:335 'inF2' (temp 4X4 matrix of float)
+0:335 cosine (temp 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 hyp. sine (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 smoothstep (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 'inF2' (temp 4X4 matrix of float)
+0:335 sqrt (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 step (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 'inF1' (temp 4X4 matrix of float)
+0:335 tangent (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 hyp. tangent (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 transpose (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:335 trunc (global 4X4 matrix of float)
+0:335 'inF0' (temp 4X4 matrix of float)
+0:338 Branch: Return with expression
+0:? Constant:
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:? 4.000000
+0:360 Function Definition: TestGenMul(f1;f1;vf2;vf2;mf22;mf22; (temp void)
+0:356 Function Parameters:
+0:356 'inF0' (temp float)
+0:356 'inF1' (temp float)
+0:356 'inFV0' (temp 2-component vector of float)
+0:356 'inFV1' (temp 2-component vector of float)
+0:356 'inFM0' (temp 2X2 matrix of float)
+0:356 'inFM1' (temp 2X2 matrix of float)
+0:? Sequence
+0:357 move second child to first child (temp float)
+0:357 'r0' (temp float)
+0:357 component-wise multiply (temp float)
+0:357 'inF0' (temp float)
+0:357 'inF1' (temp float)
+0:357 move second child to first child (temp 2-component vector of float)
+0:357 'r1' (temp 2-component vector of float)
+0:357 vector-scale (temp 2-component vector of float)
+0:357 'inFV0' (temp 2-component vector of float)
+0:357 'inF0' (temp float)
+0:357 move second child to first child (temp 2-component vector of float)
+0:357 'r2' (temp 2-component vector of float)
+0:357 vector-scale (temp 2-component vector of float)
+0:357 'inF0' (temp float)
+0:357 'inFV0' (temp 2-component vector of float)
+0:357 move second child to first child (temp float)
+0:357 'r3' (temp float)
+0:357 dot-product (global float)
+0:357 'inFV0' (temp 2-component vector of float)
+0:357 'inFV1' (temp 2-component vector of float)
+0:357 move second child to first child (temp 2-component vector of float)
+0:357 'r4' (temp 2-component vector of float)
+0:357 matrix-times-vector (temp 2-component vector of float)
+0:357 'inFM0' (temp 2X2 matrix of float)
+0:357 'inFV0' (temp 2-component vector of float)
+0:357 move second child to first child (temp 2-component vector of float)
+0:357 'r5' (temp 2-component vector of float)
+0:357 vector-times-matrix (temp 2-component vector of float)
+0:357 'inFV0' (temp 2-component vector of float)
+0:357 'inFM0' (temp 2X2 matrix of float)
+0:357 move second child to first child (temp 2X2 matrix of float)
+0:357 'r6' (temp 2X2 matrix of float)
+0:357 matrix-scale (temp 2X2 matrix of float)
+0:357 'inFM0' (temp 2X2 matrix of float)
+0:357 'inF0' (temp float)
+0:357 move second child to first child (temp 2X2 matrix of float)
+0:357 'r7' (temp 2X2 matrix of float)
+0:357 matrix-scale (temp 2X2 matrix of float)
+0:357 'inF0' (temp float)
+0:357 'inFM0' (temp 2X2 matrix of float)
+0:357 move second child to first child (temp 2X2 matrix of float)
+0:357 'r8' (temp 2X2 matrix of float)
+0:357 matrix-multiply (temp 2X2 matrix of float)
+0:357 'inFM0' (temp 2X2 matrix of float)
+0:357 'inFM1' (temp 2X2 matrix of float)
+0:367 Function Definition: TestGenMul(f1;f1;vf3;vf3;mf33;mf33; (temp void)
+0:363 Function Parameters:
+0:363 'inF0' (temp float)
+0:363 'inF1' (temp float)
+0:363 'inFV0' (temp 3-component vector of float)
+0:363 'inFV1' (temp 3-component vector of float)
+0:363 'inFM0' (temp 3X3 matrix of float)
+0:363 'inFM1' (temp 3X3 matrix of float)
+0:? Sequence
+0:364 move second child to first child (temp float)
+0:364 'r0' (temp float)
+0:364 component-wise multiply (temp float)
+0:364 'inF0' (temp float)
+0:364 'inF1' (temp float)
+0:364 move second child to first child (temp 3-component vector of float)
+0:364 'r1' (temp 3-component vector of float)
+0:364 vector-scale (temp 3-component vector of float)
+0:364 'inFV0' (temp 3-component vector of float)
+0:364 'inF0' (temp float)
+0:364 move second child to first child (temp 3-component vector of float)
+0:364 'r2' (temp 3-component vector of float)
+0:364 vector-scale (temp 3-component vector of float)
+0:364 'inF0' (temp float)
+0:364 'inFV0' (temp 3-component vector of float)
+0:364 move second child to first child (temp float)
+0:364 'r3' (temp float)
+0:364 dot-product (global float)
+0:364 'inFV0' (temp 3-component vector of float)
+0:364 'inFV1' (temp 3-component vector of float)
+0:364 move second child to first child (temp 3-component vector of float)
+0:364 'r4' (temp 3-component vector of float)
+0:364 matrix-times-vector (temp 3-component vector of float)
+0:364 'inFM0' (temp 3X3 matrix of float)
+0:364 'inFV0' (temp 3-component vector of float)
+0:364 move second child to first child (temp 3-component vector of float)
+0:364 'r5' (temp 3-component vector of float)
+0:364 vector-times-matrix (temp 3-component vector of float)
+0:364 'inFV0' (temp 3-component vector of float)
+0:364 'inFM0' (temp 3X3 matrix of float)
+0:364 move second child to first child (temp 3X3 matrix of float)
+0:364 'r6' (temp 3X3 matrix of float)
+0:364 matrix-scale (temp 3X3 matrix of float)
+0:364 'inFM0' (temp 3X3 matrix of float)
+0:364 'inF0' (temp float)
+0:364 move second child to first child (temp 3X3 matrix of float)
+0:364 'r7' (temp 3X3 matrix of float)
+0:364 matrix-scale (temp 3X3 matrix of float)
+0:364 'inF0' (temp float)
+0:364 'inFM0' (temp 3X3 matrix of float)
+0:364 move second child to first child (temp 3X3 matrix of float)
+0:364 'r8' (temp 3X3 matrix of float)
+0:364 matrix-multiply (temp 3X3 matrix of float)
+0:364 'inFM0' (temp 3X3 matrix of float)
+0:364 'inFM1' (temp 3X3 matrix of float)
+0:373 Function Definition: TestGenMul(f1;f1;vf4;vf4;mf44;mf44; (temp void)
+0:370 Function Parameters:
+0:370 'inF0' (temp float)
+0:370 'inF1' (temp float)
+0:370 'inFV0' (temp 4-component vector of float)
+0:370 'inFV1' (temp 4-component vector of float)
+0:370 'inFM0' (temp 4X4 matrix of float)
+0:370 'inFM1' (temp 4X4 matrix of float)
+0:? Sequence
+0:371 move second child to first child (temp float)
+0:371 'r0' (temp float)
+0:371 component-wise multiply (temp float)
+0:371 'inF0' (temp float)
+0:371 'inF1' (temp float)
+0:371 move second child to first child (temp 4-component vector of float)
+0:371 'r1' (temp 4-component vector of float)
+0:371 vector-scale (temp 4-component vector of float)
+0:371 'inFV0' (temp 4-component vector of float)
+0:371 'inF0' (temp float)
+0:371 move second child to first child (temp 4-component vector of float)
+0:371 'r2' (temp 4-component vector of float)
+0:371 vector-scale (temp 4-component vector of float)
+0:371 'inF0' (temp float)
+0:371 'inFV0' (temp 4-component vector of float)
+0:371 move second child to first child (temp float)
+0:371 'r3' (temp float)
+0:371 dot-product (global float)
+0:371 'inFV0' (temp 4-component vector of float)
+0:371 'inFV1' (temp 4-component vector of float)
+0:371 move second child to first child (temp 4-component vector of float)
+0:371 'r4' (temp 4-component vector of float)
+0:371 matrix-times-vector (temp 4-component vector of float)
+0:371 'inFM0' (temp 4X4 matrix of float)
+0:371 'inFV0' (temp 4-component vector of float)
+0:371 move second child to first child (temp 4-component vector of float)
+0:371 'r5' (temp 4-component vector of float)
+0:371 vector-times-matrix (temp 4-component vector of float)
+0:371 'inFV0' (temp 4-component vector of float)
+0:371 'inFM0' (temp 4X4 matrix of float)
+0:371 move second child to first child (temp 4X4 matrix of float)
+0:371 'r6' (temp 4X4 matrix of float)
+0:371 matrix-scale (temp 4X4 matrix of float)
+0:371 'inFM0' (temp 4X4 matrix of float)
+0:371 'inF0' (temp float)
+0:371 move second child to first child (temp 4X4 matrix of float)
+0:371 'r7' (temp 4X4 matrix of float)
+0:371 matrix-scale (temp 4X4 matrix of float)
+0:371 'inF0' (temp float)
+0:371 'inFM0' (temp 4X4 matrix of float)
+0:371 move second child to first child (temp 4X4 matrix of float)
+0:371 'r8' (temp 4X4 matrix of float)
+0:371 matrix-multiply (temp 4X4 matrix of float)
+0:371 'inFM0' (temp 4X4 matrix of float)
+0:371 'inFM1' (temp 4X4 matrix of float)
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 1064
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "VertexShaderFunction"
+ Source HLSL 450
+ Name 4 "VertexShaderFunction"
+ Name 19 "TestGenMul(f1;f1;vf2;vf2;mf22;mf22;"
+ Name 13 "inF0"
+ Name 14 "inF1"
+ Name 15 "inFV0"
+ Name 16 "inFV1"
+ Name 17 "inFM0"
+ Name 18 "inFM1"
+ Name 32 "TestGenMul(f1;f1;vf3;vf3;mf33;mf33;"
+ Name 26 "inF0"
+ Name 27 "inF1"
+ Name 28 "inFV0"
+ Name 29 "inFV1"
+ Name 30 "inFM0"
+ Name 31 "inFM1"
+ Name 45 "TestGenMul(f1;f1;vf4;vf4;mf44;mf44;"
+ Name 39 "inF0"
+ Name 40 "inF1"
+ Name 41 "inFV0"
+ Name 42 "inFV1"
+ Name 43 "inFM0"
+ Name 44 "inFM1"
+ Name 47 "inF0"
+ Name 62 "inF1"
+ Name 69 "inF2"
+ Name 97 "ResType"
+ Name 166 "inF0"
+ Name 180 "inF1"
+ Name 187 "inF2"
+ Name 225 "ResType"
+ Name 306 "inF0"
+ Name 320 "inF1"
+ Name 327 "inF2"
+ Name 368 "ResType"
+ Name 448 "inF0"
+ Name 462 "inF1"
+ Name 469 "inF2"
+ Name 515 "ResType"
+ Name 596 "inF0"
+ Name 610 "inF1"
+ Name 617 "inF2"
+ Name 648 "ResType"
+ Name 713 "inF0"
+ Name 727 "inF1"
+ Name 734 "inF2"
+ Name 768 "ResType"
+ Name 833 "inF0"
+ Name 847 "inF1"
+ Name 854 "inF2"
+ Name 891 "ResType"
+ Name 956 "r0"
+ Name 960 "r1"
+ Name 964 "r2"
+ Name 968 "r3"
+ Name 972 "r4"
+ Name 976 "r5"
+ Name 980 "r6"
+ Name 984 "r7"
+ Name 988 "r8"
+ Name 992 "r0"
+ Name 996 "r1"
+ Name 1000 "r2"
+ Name 1004 "r3"
+ Name 1008 "r4"
+ Name 1012 "r5"
+ Name 1016 "r6"
+ Name 1020 "r7"
+ Name 1024 "r8"
+ Name 1028 "r0"
+ Name 1032 "r1"
+ Name 1036 "r2"
+ Name 1040 "r3"
+ Name 1044 "r4"
+ Name 1048 "r5"
+ Name 1052 "r6"
+ Name 1056 "r7"
+ Name 1060 "r8"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 8: TypeVector 6(float) 2
+ 9: TypePointer Function 8(fvec2)
+ 10: TypeMatrix 8(fvec2) 2
+ 11: TypePointer Function 10
+ 12: TypeFunction 2 7(ptr) 7(ptr) 9(ptr) 9(ptr) 11(ptr) 11(ptr)
+ 21: TypeVector 6(float) 3
+ 22: TypePointer Function 21(fvec3)
+ 23: TypeMatrix 21(fvec3) 3
+ 24: TypePointer Function 23
+ 25: TypeFunction 2 7(ptr) 7(ptr) 22(ptr) 22(ptr) 24(ptr) 24(ptr)
+ 34: TypeVector 6(float) 4
+ 35: TypePointer Function 34(fvec4)
+ 36: TypeMatrix 34(fvec4) 4
+ 37: TypePointer Function 36
+ 38: TypeFunction 2 7(ptr) 7(ptr) 35(ptr) 35(ptr) 37(ptr) 37(ptr)
+ 49: TypeBool
+ 76: TypeInt 32 0
+ 77: 76(int) Constant 7
+ 85: TypeInt 32 1
+ 86: 85(int) Constant 7
+ 97(ResType): TypeStruct 6(float) 85(int)
+ 114: 6(float) Constant 1050288283
+ 129: 76(int) Constant 2
+ 136: 6(float) Constant 0
+ 137: 6(float) Constant 1065353216
+ 194: TypeVector 76(int) 2
+ 195: 76(int) Constant 3
+ 196: 194(ivec2) ConstantComposite 77 195
+ 224: TypeVector 85(int) 2
+ 225(ResType): TypeStruct 8(fvec2) 224(ivec2)
+ 232: TypeVector 49(bool) 2
+ 266: 6(float) Constant 1073741824
+ 268: 76(int) Constant 1
+ 269: 194(ivec2) ConstantComposite 268 129
+ 304: 8(fvec2) ConstantComposite 137 266
+ 334: TypeVector 76(int) 3
+ 335: 76(int) Constant 5
+ 336: 334(ivec3) ConstantComposite 77 195 335
+ 367: TypeVector 85(int) 3
+ 368(ResType): TypeStruct 21(fvec3) 367(ivec3)
+ 375: TypeVector 49(bool) 3
+ 410: 334(ivec3) ConstantComposite 268 129 195
+ 445: 6(float) Constant 1077936128
+ 446: 21(fvec3) ConstantComposite 137 266 445
+ 476: TypeVector 76(int) 4
+ 477: 476(ivec4) ConstantComposite 77 195 335 129
+ 514: TypeVector 85(int) 4
+ 515(ResType): TypeStruct 34(fvec4) 514(ivec4)
+ 522: TypeVector 49(bool) 4
+ 557: 76(int) Constant 4
+ 558: 476(ivec4) ConstantComposite 268 129 195 557
+ 593: 6(float) Constant 1082130432
+ 594: 34(fvec4) ConstantComposite 137 266 445 593
+ 648(ResType): TypeStruct 10 224(ivec2)
+ 710: 8(fvec2) ConstantComposite 266 266
+ 711: 10 ConstantComposite 710 710
+ 768(ResType): TypeStruct 23 367(ivec3)
+ 830: 21(fvec3) ConstantComposite 445 445 445
+ 831: 23 ConstantComposite 830 830 830
+ 891(ResType): TypeStruct 36 514(ivec4)
+ 953: 34(fvec4) ConstantComposite 593 593 593 593
+ 954: 36 ConstantComposite 953 953 953 953
+4(VertexShaderFunction): 2 Function None 3
+ 5: Label
+ 47(inF0): 7(ptr) Variable Function
+ 62(inF1): 7(ptr) Variable Function
+ 69(inF2): 7(ptr) Variable Function
+ 166(inF0): 9(ptr) Variable Function
+ 180(inF1): 9(ptr) Variable Function
+ 187(inF2): 9(ptr) Variable Function
+ 306(inF0): 22(ptr) Variable Function
+ 320(inF1): 22(ptr) Variable Function
+ 327(inF2): 22(ptr) Variable Function
+ 448(inF0): 35(ptr) Variable Function
+ 462(inF1): 35(ptr) Variable Function
+ 469(inF2): 35(ptr) Variable Function
+ 596(inF0): 11(ptr) Variable Function
+ 610(inF1): 11(ptr) Variable Function
+ 617(inF2): 11(ptr) Variable Function
+ 713(inF0): 24(ptr) Variable Function
+ 727(inF1): 24(ptr) Variable Function
+ 734(inF2): 24(ptr) Variable Function
+ 833(inF0): 37(ptr) Variable Function
+ 847(inF1): 37(ptr) Variable Function
+ 854(inF2): 37(ptr) Variable Function
+ 48: 6(float) Load 47(inF0)
+ 50: 49(bool) All 48
+ 51: 6(float) Load 47(inF0)
+ 52: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 51
+ 53: 6(float) Load 47(inF0)
+ 54: 6(float) ExtInst 1(GLSL.std.450) 17(Acos) 53
+ 55: 6(float) Load 47(inF0)
+ 56: 49(bool) Any 55
+ 57: 6(float) Load 47(inF0)
+ 58: 6(float) ExtInst 1(GLSL.std.450) 16(Asin) 57
+ 59: 6(float) Load 47(inF0)
+ 60: 6(float) ExtInst 1(GLSL.std.450) 18(Atan) 59
+ 61: 6(float) Load 47(inF0)
+ 63: 6(float) Load 62(inF1)
+ 64: 6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 61 63
+ 65: 6(float) Load 47(inF0)
+ 66: 6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 65
+ 67: 6(float) Load 47(inF0)
+ 68: 6(float) Load 62(inF1)
+ 70: 6(float) Load 69(inF2)
+ 71: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 67 68 70
+ 72: 6(float) Load 47(inF0)
+ 73: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 72
+ 74: 6(float) Load 47(inF0)
+ 75: 6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 74
+ 78: 76(int) BitCount 77
+ 79: 6(float) Load 47(inF0)
+ 80: 6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 79
+ 81: 6(float) Load 47(inF0)
+ 82: 6(float) ExtInst 1(GLSL.std.450) 27(Exp) 81
+ 83: 6(float) Load 47(inF0)
+ 84: 6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 83
+ 87: 85(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 86
+ 88: 85(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 86
+ 89: 6(float) Load 47(inF0)
+ 90: 6(float) ExtInst 1(GLSL.std.450) 8(Floor) 89
+ 91: 6(float) Load 47(inF0)
+ 92: 6(float) Load 62(inF1)
+ 93: 6(float) FMod 91 92
+ 94: 6(float) Load 47(inF0)
+ 95: 6(float) ExtInst 1(GLSL.std.450) 10(Fract) 94
+ 96: 6(float) Load 47(inF0)
+ 98: 97(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 96
+ 99: 85(int) CompositeExtract 98 1
+ Store 62(inF1) 99
+ 100: 6(float) CompositeExtract 98 0
+ 101: 6(float) Load 47(inF0)
+ 102: 6(float) Fwidth 101
+ 103: 6(float) Load 47(inF0)
+ 104: 49(bool) IsInf 103
+ 105: 6(float) Load 47(inF0)
+ 106: 49(bool) IsNan 105
+ 107: 6(float) Load 47(inF0)
+ 108: 6(float) Load 62(inF1)
+ 109: 6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 107 108
+ 110: 6(float) Load 47(inF0)
+ 111: 6(float) ExtInst 1(GLSL.std.450) 28(Log) 110
+ 112: 6(float) Load 47(inF0)
+ 113: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 112
+ 115: 6(float) FMul 113 114
+ 116: 6(float) Load 47(inF0)
+ 117: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 116
+ 118: 6(float) Load 47(inF0)
+ 119: 6(float) Load 62(inF1)
+ 120: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 118 119
+ 121: 6(float) Load 47(inF0)
+ 122: 6(float) Load 62(inF1)
+ 123: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 121 122
+ 124: 6(float) Load 47(inF0)
+ 125: 6(float) Load 62(inF1)
+ 126: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 124 125
+ 127: 6(float) Load 47(inF0)
+ 128: 6(float) ExtInst 1(GLSL.std.450) 11(Radians) 127
+ 130: 76(int) BitReverse 129
+ 131: 6(float) Load 47(inF0)
+ 132: 6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 131
+ 133: 6(float) Load 47(inF0)
+ 134: 6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 133
+ 135: 6(float) Load 47(inF0)
+ 138: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 135 136 137
+ 139: 6(float) Load 47(inF0)
+ 140: 6(float) ExtInst 1(GLSL.std.450) 6(FSign) 139
+ 141: 6(float) Load 47(inF0)
+ 142: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 141
+ 143: 6(float) Load 47(inF0)
+ 144: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 143
+ Store 62(inF1) 144
+ 145: 6(float) Load 47(inF0)
+ 146: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 145
+ Store 69(inF2) 146
+ 147: 6(float) Load 47(inF0)
+ 148: 6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 147
+ 149: 6(float) Load 47(inF0)
+ 150: 6(float) Load 62(inF1)
+ 151: 6(float) Load 69(inF2)
+ 152: 6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 149 150 151
+ 153: 6(float) Load 47(inF0)
+ 154: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 153
+ 155: 6(float) Load 47(inF0)
+ 156: 6(float) Load 62(inF1)
+ 157: 6(float) ExtInst 1(GLSL.std.450) 48(Step) 155 156
+ 158: 6(float) Load 47(inF0)
+ 159: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 158
+ 160: 6(float) Load 47(inF0)
+ 161: 6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 160
+ 162: 6(float) Load 47(inF0)
+ 163: 6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 162
+ ReturnValue 136
+ FunctionEnd
+19(TestGenMul(f1;f1;vf2;vf2;mf22;mf22;): 2 Function None 12
+ 13(inF0): 7(ptr) FunctionParameter
+ 14(inF1): 7(ptr) FunctionParameter
+ 15(inFV0): 9(ptr) FunctionParameter
+ 16(inFV1): 9(ptr) FunctionParameter
+ 17(inFM0): 11(ptr) FunctionParameter
+ 18(inFM1): 11(ptr) FunctionParameter
+ 20: Label
+ 956(r0): 7(ptr) Variable Function
+ 960(r1): 9(ptr) Variable Function
+ 964(r2): 9(ptr) Variable Function
+ 968(r3): 7(ptr) Variable Function
+ 972(r4): 9(ptr) Variable Function
+ 976(r5): 9(ptr) Variable Function
+ 980(r6): 11(ptr) Variable Function
+ 984(r7): 11(ptr) Variable Function
+ 988(r8): 11(ptr) Variable Function
+ 957: 6(float) Load 13(inF0)
+ 958: 6(float) Load 14(inF1)
+ 959: 6(float) FMul 957 958
+ Store 956(r0) 959
+ 961: 8(fvec2) Load 15(inFV0)
+ 962: 6(float) Load 13(inF0)
+ 963: 8(fvec2) VectorTimesScalar 961 962
+ Store 960(r1) 963
+ 965: 6(float) Load 13(inF0)
+ 966: 8(fvec2) Load 15(inFV0)
+ 967: 8(fvec2) VectorTimesScalar 966 965
+ Store 964(r2) 967
+ 969: 8(fvec2) Load 15(inFV0)
+ 970: 8(fvec2) Load 16(inFV1)
+ 971: 6(float) Dot 969 970
+ Store 968(r3) 971
+ 973: 10 Load 17(inFM0)
+ 974: 8(fvec2) Load 15(inFV0)
+ 975: 8(fvec2) MatrixTimesVector 973 974
+ Store 972(r4) 975
+ 977: 8(fvec2) Load 15(inFV0)
+ 978: 10 Load 17(inFM0)
+ 979: 8(fvec2) VectorTimesMatrix 977 978
+ Store 976(r5) 979
+ 981: 10 Load 17(inFM0)
+ 982: 6(float) Load 13(inF0)
+ 983: 10 MatrixTimesScalar 981 982
+ Store 980(r6) 983
+ 985: 6(float) Load 13(inF0)
+ 986: 10 Load 17(inFM0)
+ 987: 10 MatrixTimesScalar 986 985
+ Store 984(r7) 987
+ 989: 10 Load 17(inFM0)
+ 990: 10 Load 18(inFM1)
+ 991: 10 MatrixTimesMatrix 989 990
+ Store 988(r8) 991
+ Return
+ FunctionEnd
+32(TestGenMul(f1;f1;vf3;vf3;mf33;mf33;): 2 Function None 25
+ 26(inF0): 7(ptr) FunctionParameter
+ 27(inF1): 7(ptr) FunctionParameter
+ 28(inFV0): 22(ptr) FunctionParameter
+ 29(inFV1): 22(ptr) FunctionParameter
+ 30(inFM0): 24(ptr) FunctionParameter
+ 31(inFM1): 24(ptr) FunctionParameter
+ 33: Label
+ 992(r0): 7(ptr) Variable Function
+ 996(r1): 22(ptr) Variable Function
+ 1000(r2): 22(ptr) Variable Function
+ 1004(r3): 7(ptr) Variable Function
+ 1008(r4): 22(ptr) Variable Function
+ 1012(r5): 22(ptr) Variable Function
+ 1016(r6): 24(ptr) Variable Function
+ 1020(r7): 24(ptr) Variable Function
+ 1024(r8): 24(ptr) Variable Function
+ 993: 6(float) Load 26(inF0)
+ 994: 6(float) Load 27(inF1)
+ 995: 6(float) FMul 993 994
+ Store 992(r0) 995
+ 997: 21(fvec3) Load 28(inFV0)
+ 998: 6(float) Load 26(inF0)
+ 999: 21(fvec3) VectorTimesScalar 997 998
+ Store 996(r1) 999
+ 1001: 6(float) Load 26(inF0)
+ 1002: 21(fvec3) Load 28(inFV0)
+ 1003: 21(fvec3) VectorTimesScalar 1002 1001
+ Store 1000(r2) 1003
+ 1005: 21(fvec3) Load 28(inFV0)
+ 1006: 21(fvec3) Load 29(inFV1)
+ 1007: 6(float) Dot 1005 1006
+ Store 1004(r3) 1007
+ 1009: 23 Load 30(inFM0)
+ 1010: 21(fvec3) Load 28(inFV0)
+ 1011: 21(fvec3) MatrixTimesVector 1009 1010
+ Store 1008(r4) 1011
+ 1013: 21(fvec3) Load 28(inFV0)
+ 1014: 23 Load 30(inFM0)
+ 1015: 21(fvec3) VectorTimesMatrix 1013 1014
+ Store 1012(r5) 1015
+ 1017: 23 Load 30(inFM0)
+ 1018: 6(float) Load 26(inF0)
+ 1019: 23 MatrixTimesScalar 1017 1018
+ Store 1016(r6) 1019
+ 1021: 6(float) Load 26(inF0)
+ 1022: 23 Load 30(inFM0)
+ 1023: 23 MatrixTimesScalar 1022 1021
+ Store 1020(r7) 1023
+ 1025: 23 Load 30(inFM0)
+ 1026: 23 Load 31(inFM1)
+ 1027: 23 MatrixTimesMatrix 1025 1026
+ Store 1024(r8) 1027
+ Return
+ FunctionEnd
+45(TestGenMul(f1;f1;vf4;vf4;mf44;mf44;): 2 Function None 38
+ 39(inF0): 7(ptr) FunctionParameter
+ 40(inF1): 7(ptr) FunctionParameter
+ 41(inFV0): 35(ptr) FunctionParameter
+ 42(inFV1): 35(ptr) FunctionParameter
+ 43(inFM0): 37(ptr) FunctionParameter
+ 44(inFM1): 37(ptr) FunctionParameter
+ 46: Label
+ 1028(r0): 7(ptr) Variable Function
+ 1032(r1): 35(ptr) Variable Function
+ 1036(r2): 35(ptr) Variable Function
+ 1040(r3): 7(ptr) Variable Function
+ 1044(r4): 35(ptr) Variable Function
+ 1048(r5): 35(ptr) Variable Function
+ 1052(r6): 37(ptr) Variable Function
+ 1056(r7): 37(ptr) Variable Function
+ 1060(r8): 37(ptr) Variable Function
+ 1029: 6(float) Load 39(inF0)
+ 1030: 6(float) Load 40(inF1)
+ 1031: 6(float) FMul 1029 1030
+ Store 1028(r0) 1031
+ 1033: 34(fvec4) Load 41(inFV0)
+ 1034: 6(float) Load 39(inF0)
+ 1035: 34(fvec4) VectorTimesScalar 1033 1034
+ Store 1032(r1) 1035
+ 1037: 6(float) Load 39(inF0)
+ 1038: 34(fvec4) Load 41(inFV0)
+ 1039: 34(fvec4) VectorTimesScalar 1038 1037
+ Store 1036(r2) 1039
+ 1041: 34(fvec4) Load 41(inFV0)
+ 1042: 34(fvec4) Load 42(inFV1)
+ 1043: 6(float) Dot 1041 1042
+ Store 1040(r3) 1043
+ 1045: 36 Load 43(inFM0)
+ 1046: 34(fvec4) Load 41(inFV0)
+ 1047: 34(fvec4) MatrixTimesVector 1045 1046
+ Store 1044(r4) 1047
+ 1049: 34(fvec4) Load 41(inFV0)
+ 1050: 36 Load 43(inFM0)
+ 1051: 34(fvec4) VectorTimesMatrix 1049 1050
+ Store 1048(r5) 1051
+ 1053: 36 Load 43(inFM0)
+ 1054: 6(float) Load 39(inF0)
+ 1055: 36 MatrixTimesScalar 1053 1054
+ Store 1052(r6) 1055
+ 1057: 6(float) Load 39(inF0)
+ 1058: 36 Load 43(inFM0)
+ 1059: 36 MatrixTimesScalar 1058 1057
+ Store 1056(r7) 1059
+ 1061: 36 Load 43(inFM0)
+ 1062: 36 Load 44(inFM1)
+ 1063: 36 MatrixTimesMatrix 1061 1062
+ Store 1060(r8) 1063
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.matType.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.matType.frag.out
new file mode 100755
index 00000000000..298211df4ad
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.matType.frag.out
@@ -0,0 +1,101 @@
+hlsl.matType.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:1 move second child to first child (temp 1-component vector of float)
+0:1 'f1' (temp 1-component vector of float)
+0:1 Constant:
+0:1 1.000000
+0:11 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float)
+0:9 Function Parameters:
+0:9 'inFloat1' (temp 1-component vector of float)
+0:9 'inScalar' (temp float)
+0:? Linker Objects
+0:? 'f1' (temp 1-component vector of float)
+0:? 'fmat11' (temp 1X1 matrix of float)
+0:? 'fmat41' (temp 1X4 matrix of float)
+0:? 'fmat12' (temp 2X1 matrix of float)
+0:? 'dmat23' (temp 3X2 matrix of double)
+0:? 'int44' (temp 4X4 matrix of int)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:1 move second child to first child (temp 1-component vector of float)
+0:1 'f1' (temp 1-component vector of float)
+0:1 Constant:
+0:1 1.000000
+0:11 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float)
+0:9 Function Parameters:
+0:9 'inFloat1' (temp 1-component vector of float)
+0:9 'inScalar' (temp float)
+0:? Linker Objects
+0:? 'f1' (temp 1-component vector of float)
+0:? 'fmat11' (temp 1X1 matrix of float)
+0:? 'fmat41' (temp 1X4 matrix of float)
+0:? 'fmat12' (temp 2X1 matrix of float)
+0:? 'dmat23' (temp 3X2 matrix of double)
+0:? 'int44' (temp 4X4 matrix of int)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 36
+
+ Capability Shader
+ Capability Float64
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 11 "ShaderFunction(vf1;f1;"
+ Name 9 "inFloat1"
+ Name 10 "inScalar"
+ Name 14 "f1"
+ Name 18 "fmat11"
+ Name 22 "fmat41"
+ Name 25 "fmat12"
+ Name 30 "dmat23"
+ Name 35 "int44"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 8: TypeFunction 6(float) 7(ptr) 7(ptr)
+ 15: TypeVector 6(float) 1
+ 16: TypeMatrix 15(fvec) 1
+ 17: TypePointer Function 16
+ 19: TypeVector 6(float) 4
+ 20: TypeMatrix 19(fvec4) 1
+ 21: TypePointer Function 20
+ 23: TypeMatrix 15(fvec) 2
+ 24: TypePointer Function 23
+ 26: TypeFloat 64
+ 27: TypeVector 26(float) 2
+ 28: TypeMatrix 27(fvec2) 3
+ 29: TypePointer Function 28
+ 31: TypeInt 32 1
+ 32: TypeVector 31(int) 4
+ 33: TypeMatrix 32(ivec4) 4
+ 34: TypePointer Function 33
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ FunctionEnd
+11(ShaderFunction(vf1;f1;): 6(float) Function None 8
+ 9(inFloat1): 7(ptr) FunctionParameter
+ 10(inScalar): 7(ptr) FunctionParameter
+ 12: Label
+ 14(f1): 7(ptr) Variable Function
+ 18(fmat11): 17(ptr) Variable Function
+ 22(fmat41): 21(ptr) Variable Function
+ 25(fmat12): 24(ptr) Variable Function
+ 30(dmat23): 29(ptr) Variable Function
+ 35(int44): 34(ptr) Variable Function
+ 13: 6(float) Undef
+ ReturnValue 13
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.max.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.max.frag.out
new file mode 100755
index 00000000000..7c3c7e69194
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.max.frag.out
@@ -0,0 +1,60 @@
+hlsl.max.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:5 Function Definition: PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input1' (temp 4-component vector of float)
+0:2 'input2' (temp 4-component vector of float)
+0:? Sequence
+0:3 Branch: Return with expression
+0:3 max (global 4-component vector of float)
+0:3 'input1' (temp 4-component vector of float)
+0:3 'input2' (temp 4-component vector of float)
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:5 Function Definition: PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input1' (temp 4-component vector of float)
+0:2 'input2' (temp 4-component vector of float)
+0:? Sequence
+0:3 Branch: Return with expression
+0:3 max (global 4-component vector of float)
+0:3 'input1' (temp 4-component vector of float)
+0:3 'input2' (temp 4-component vector of float)
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 15
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 9 "input1"
+ Name 11 "input2"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 9(input1): 8(ptr) Variable Function
+ 11(input2): 8(ptr) Variable Function
+ 10: 7(fvec4) Load 9(input1)
+ 12: 7(fvec4) Load 11(input2)
+ 13: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 10 12
+ ReturnValue 13
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.precedence.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.precedence.frag.out
new file mode 100755
index 00000000000..dc0b0e93ab9
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.precedence.frag.out
@@ -0,0 +1,80 @@
+hlsl.precedence.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:10 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float)
+0:7 Function Parameters:
+0:7 'a1' (temp 4-component vector of float)
+0:7 'a2' (temp 4-component vector of float)
+0:7 'a3' (temp 4-component vector of float)
+0:7 'a4' (temp 4-component vector of float)
+0:? Sequence
+0:8 Branch: Return with expression
+0:8 add (temp 4-component vector of float)
+0:8 add (temp 4-component vector of float)
+0:8 'a1' (temp 4-component vector of float)
+0:8 component-wise multiply (temp 4-component vector of float)
+0:8 'a2' (temp 4-component vector of float)
+0:8 'a3' (temp 4-component vector of float)
+0:8 'a4' (temp 4-component vector of float)
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:10 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float)
+0:7 Function Parameters:
+0:7 'a1' (temp 4-component vector of float)
+0:7 'a2' (temp 4-component vector of float)
+0:7 'a3' (temp 4-component vector of float)
+0:7 'a4' (temp 4-component vector of float)
+0:? Sequence
+0:8 Branch: Return with expression
+0:8 add (temp 4-component vector of float)
+0:8 add (temp 4-component vector of float)
+0:8 'a1' (temp 4-component vector of float)
+0:8 component-wise multiply (temp 4-component vector of float)
+0:8 'a2' (temp 4-component vector of float)
+0:8 'a3' (temp 4-component vector of float)
+0:8 'a4' (temp 4-component vector of float)
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 21
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 9 "a1"
+ Name 11 "a2"
+ Name 13 "a3"
+ Name 17 "a4"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 9(a1): 8(ptr) Variable Function
+ 11(a2): 8(ptr) Variable Function
+ 13(a3): 8(ptr) Variable Function
+ 17(a4): 8(ptr) Variable Function
+ 10: 7(fvec4) Load 9(a1)
+ 12: 7(fvec4) Load 11(a2)
+ 14: 7(fvec4) Load 13(a3)
+ 15: 7(fvec4) FMul 12 14
+ 16: 7(fvec4) FAdd 10 15
+ 18: 7(fvec4) Load 17(a4)
+ 19: 7(fvec4) FAdd 16 18
+ ReturnValue 19
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.precedence2.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.precedence2.frag.out
new file mode 100755
index 00000000000..73d500d3c73
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.precedence2.frag.out
@@ -0,0 +1,103 @@
+hlsl.precedence2.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:10 Function Definition: PixelShaderFunction(i1;i1;i1;i1; (temp int)
+0:7 Function Parameters:
+0:7 'a1' (temp int)
+0:7 'a2' (temp int)
+0:7 'a3' (temp int)
+0:7 'a4' (temp int)
+0:? Sequence
+0:8 Branch: Return with expression
+0:8 add (temp int)
+0:8 left-shift (temp int)
+0:8 add (temp int)
+0:8 component-wise multiply (temp int)
+0:8 'a1' (temp int)
+0:8 'a2' (temp int)
+0:8 'a3' (temp int)
+0:8 'a4' (temp int)
+0:8 left-shift (temp int)
+0:8 'a1' (temp int)
+0:8 add (temp int)
+0:8 'a2' (temp int)
+0:8 component-wise multiply (temp int)
+0:8 'a3' (temp int)
+0:8 'a4' (temp int)
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:10 Function Definition: PixelShaderFunction(i1;i1;i1;i1; (temp int)
+0:7 Function Parameters:
+0:7 'a1' (temp int)
+0:7 'a2' (temp int)
+0:7 'a3' (temp int)
+0:7 'a4' (temp int)
+0:? Sequence
+0:8 Branch: Return with expression
+0:8 add (temp int)
+0:8 left-shift (temp int)
+0:8 add (temp int)
+0:8 component-wise multiply (temp int)
+0:8 'a1' (temp int)
+0:8 'a2' (temp int)
+0:8 'a3' (temp int)
+0:8 'a4' (temp int)
+0:8 left-shift (temp int)
+0:8 'a1' (temp int)
+0:8 add (temp int)
+0:8 'a2' (temp int)
+0:8 component-wise multiply (temp int)
+0:8 'a3' (temp int)
+0:8 'a4' (temp int)
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 28
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 8 "a1"
+ Name 10 "a2"
+ Name 13 "a3"
+ Name 16 "a4"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 8(a1): 7(ptr) Variable Function
+ 10(a2): 7(ptr) Variable Function
+ 13(a3): 7(ptr) Variable Function
+ 16(a4): 7(ptr) Variable Function
+ 9: 6(int) Load 8(a1)
+ 11: 6(int) Load 10(a2)
+ 12: 6(int) IMul 9 11
+ 14: 6(int) Load 13(a3)
+ 15: 6(int) IAdd 12 14
+ 17: 6(int) Load 16(a4)
+ 18: 6(int) ShiftLeftLogical 15 17
+ 19: 6(int) Load 8(a1)
+ 20: 6(int) Load 10(a2)
+ 21: 6(int) Load 13(a3)
+ 22: 6(int) Load 16(a4)
+ 23: 6(int) IMul 21 22
+ 24: 6(int) IAdd 20 23
+ 25: 6(int) ShiftLeftLogical 19 24
+ 26: 6(int) IAdd 18 25
+ ReturnValue 26
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.scope.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.scope.frag.out
new file mode 100755
index 00000000000..274477a461f
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.scope.frag.out
@@ -0,0 +1,150 @@
+hlsl.scope.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:31 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:4 'x' (temp int)
+0:? Sequence
+0:7 'x' (temp float)
+0:? Sequence
+0:10 'x' (temp bool)
+0:? Sequence
+0:13 'x' (temp 3-component vector of float)
+0:15 'x' (temp bool)
+0:17 'x' (temp float)
+0:19 'x' (temp int)
+0:21 Test condition and select (temp void)
+0:21 Condition
+0:21 Compare Greater Than (temp bool)
+0:21 'x' (temp int)
+0:21 Constant:
+0:21 0 (const int)
+0:21 true case is null
+0:24 Loop with condition tested first
+0:24 Loop Condition
+0:24 Compare Greater Than (temp bool)
+0:24 'x' (temp int)
+0:24 Constant:
+0:24 0 (const int)
+0:24 No loop body
+0:27 Loop with condition not tested first
+0:27 Loop Condition
+0:29 Compare Greater Than (temp bool)
+0:29 'x' (temp int)
+0:29 Constant:
+0:29 0 (const int)
+0:27 No loop body
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:31 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:4 'x' (temp int)
+0:? Sequence
+0:7 'x' (temp float)
+0:? Sequence
+0:10 'x' (temp bool)
+0:? Sequence
+0:13 'x' (temp 3-component vector of float)
+0:15 'x' (temp bool)
+0:17 'x' (temp float)
+0:19 'x' (temp int)
+0:21 Test condition and select (temp void)
+0:21 Condition
+0:21 Compare Greater Than (temp bool)
+0:21 'x' (temp int)
+0:21 Constant:
+0:21 0 (const int)
+0:21 true case is null
+0:24 Loop with condition tested first
+0:24 Loop Condition
+0:24 Compare Greater Than (temp bool)
+0:24 'x' (temp int)
+0:24 Constant:
+0:24 0 (const int)
+0:24 No loop body
+0:27 Loop with condition not tested first
+0:27 Loop Condition
+0:29 Compare Greater Than (temp bool)
+0:29 'x' (temp int)
+0:29 Constant:
+0:29 0 (const int)
+0:27 No loop body
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 36
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 8 "x"
+ Name 11 "x"
+ Name 14 "x"
+ Name 17 "x"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: TypeFloat 32
+ 10: TypePointer Function 9(float)
+ 12: TypeBool
+ 13: TypePointer Function 12(bool)
+ 15: TypeVector 9(float) 3
+ 16: TypePointer Function 15(fvec3)
+ 19: 6(int) Constant 0
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 8(x): 7(ptr) Variable Function
+ 11(x): 10(ptr) Variable Function
+ 14(x): 13(ptr) Variable Function
+ 17(x): 16(ptr) Variable Function
+ 18: 6(int) Load 8(x)
+ 20: 12(bool) SGreaterThan 18 19
+ SelectionMerge 22 None
+ BranchConditional 20 21 22
+ 21: Label
+ Branch 22
+ 22: Label
+ Branch 23
+ 23: Label
+ LoopMerge 25 26 None
+ Branch 27
+ 27: Label
+ 28: 6(int) Load 8(x)
+ 29: 12(bool) SGreaterThan 28 19
+ BranchConditional 29 24 25
+ 24: Label
+ Branch 26
+ 26: Label
+ Branch 23
+ 25: Label
+ Branch 30
+ 30: Label
+ LoopMerge 32 33 None
+ Branch 31
+ 31: Label
+ Branch 33
+ 33: Label
+ 34: 6(int) Load 8(x)
+ 35: 12(bool) SGreaterThan 34 19
+ BranchConditional 35 30 32
+ 32: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.sin.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.sin.frag.out
new file mode 100755
index 00000000000..331945acfbe
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.sin.frag.out
@@ -0,0 +1,53 @@
+hlsl.sin.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:5 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:3 Branch: Return with expression
+0:3 sine (global 4-component vector of float)
+0:3 'input' (temp 4-component vector of float)
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:5 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:3 Branch: Return with expression
+0:3 sine (global 4-component vector of float)
+0:3 'input' (temp 4-component vector of float)
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 13
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 9 "input"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 9(input): 8(ptr) Variable Function
+ 10: 7(fvec4) Load 9(input)
+ 11: 7(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 10
+ ReturnValue 11
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.struct.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.struct.frag.out
new file mode 100755
index 00000000000..de2c74becc5
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.struct.frag.out
@@ -0,0 +1,107 @@
+hlsl.struct.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:39 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:31 Function Parameters:
+0:31 'input' (temp 4-component vector of float)
+0:? Sequence
+0:36 Compare Equal (temp bool)
+0:36 's3' (temp structure{temp 3-component vector of bool b3})
+0:36 's3' (temp structure{temp 3-component vector of bool b3})
+0:38 Branch: Return with expression
+0:38 'input' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 's1' (temp structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d})
+0:? 's2' (temp structure{temp 4-component vector of float i})
+0:? 's4' (temp structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float FragCoord ff4})
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:39 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:31 Function Parameters:
+0:31 'input' (temp 4-component vector of float)
+0:? Sequence
+0:36 Compare Equal (temp bool)
+0:36 's3' (temp structure{temp 3-component vector of bool b3})
+0:36 's3' (temp structure{temp 3-component vector of bool b3})
+0:38 Branch: Return with expression
+0:38 'input' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 's1' (temp structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d})
+0:? 's2' (temp structure{temp 4-component vector of float i})
+0:? 's4' (temp structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float FragCoord ff4})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 33
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 8 "FS"
+ MemberName 8(FS) 0 "b3"
+ Name 10 "s3"
+ Name 20 "input"
+ Name 23 "myS"
+ MemberName 23(myS) 0 "b"
+ MemberName 23(myS) 1 "c"
+ MemberName 23(myS) 2 "a"
+ MemberName 23(myS) 3 "d"
+ Name 25 "s1"
+ Name 26 ""
+ MemberName 26 0 "i"
+ Name 28 "s2"
+ Name 30 ""
+ MemberName 30 0 "a"
+ MemberName 30 1 "b"
+ MemberName 30 2 "c"
+ MemberName 30 3 "d"
+ MemberName 30 4 "ff1"
+ MemberName 30 5 "ff2"
+ MemberName 30 6 "ff3"
+ MemberName 30 7 "ff4"
+ Name 32 "s4"
+ MemberDecorate 30 4 BuiltIn FrontFacing
+ MemberDecorate 30 7 BuiltIn FragCoord
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeBool
+ 7: TypeVector 6(bool) 3
+ 8(FS): TypeStruct 7(bvec3)
+ 9: TypePointer Function 8(FS)
+ 17: TypeFloat 32
+ 18: TypeVector 17(float) 4
+ 19: TypePointer Function 18(fvec4)
+ 23(myS): TypeStruct 6(bool) 6(bool) 18(fvec4) 18(fvec4)
+ 24: TypePointer Function 23(myS)
+ 26: TypeStruct 18(fvec4)
+ 27: TypePointer Function 26(struct)
+ 29: TypeVector 17(float) 2
+ 30: TypeStruct 18(fvec4) 6(bool) 17(float) 29(fvec2) 6(bool) 6(bool) 6(bool) 18(fvec4)
+ 31: TypePointer Function 30(struct)
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 10(s3): 9(ptr) Variable Function
+ 20(input): 19(ptr) Variable Function
+ 25(s1): 24(ptr) Variable Function
+ 28(s2): 27(ptr) Variable Function
+ 32(s4): 31(ptr) Variable Function
+ 11: 8(FS) Load 10(s3)
+ 12: 8(FS) Load 10(s3)
+ 13: 7(bvec3) CompositeExtract 11 0
+ 14: 7(bvec3) CompositeExtract 12 0
+ 15: 7(bvec3) LogicalEqual 13 14
+ 16: 6(bool) All 15
+ 21: 18(fvec4) Load 20(input)
+ ReturnValue 21
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.void.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.void.frag.out
new file mode 100755
index 00000000000..a6e92317449
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.void.frag.out
@@ -0,0 +1,64 @@
+hlsl.void.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:2 Function Definition: foo1( (temp void)
+0:1 Function Parameters:
+0:4 Function Definition: foo2( (temp void)
+0:2 Function Parameters:
+0:8 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:5 Function Parameters:
+0:5 'input' (temp 4-component vector of float)
+0:? Sequence
+0:6 Function Call: foo1( (temp void)
+0:7 Function Call: foo2( (temp void)
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:2 Function Definition: foo1( (temp void)
+0:1 Function Parameters:
+0:4 Function Definition: foo2( (temp void)
+0:2 Function Parameters:
+0:8 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:5 Function Parameters:
+0:5 'input' (temp 4-component vector of float)
+0:? Sequence
+0:6 Function Call: foo1( (temp void)
+0:7 Function Call: foo2( (temp void)
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 12
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 6 "foo1("
+ Name 8 "foo2("
+ 2: TypeVoid
+ 3: TypeFunction 2
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 10: 2 FunctionCall 6(foo1()
+ 11: 2 FunctionCall 8(foo2()
+ Return
+ FunctionEnd
+ 6(foo1(): 2 Function None 3
+ 7: Label
+ Return
+ FunctionEnd
+ 8(foo2(): 2 Function None 3
+ 9: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/hlsl.whileLoop.frag.out b/chromium/third_party/glslang/src/Test/baseResults/hlsl.whileLoop.frag.out
new file mode 100755
index 00000000000..686407bd29c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/hlsl.whileLoop.frag.out
@@ -0,0 +1,145 @@
+hlsl.whileLoop.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:8 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:3 Loop with condition tested first
+0:3 Loop Condition
+0:3 Compare Not Equal (temp bool)
+0:3 'input' (temp 4-component vector of float)
+0:3 'input' (temp 4-component vector of float)
+0:3 Loop Body
+0:? Sequence
+0:3 Branch: Return with expression
+0:3 'input' (temp 4-component vector of float)
+0:4 Loop with condition tested first
+0:4 Loop Condition
+0:4 Constant:
+0:4 false (const bool)
+0:4 No loop body
+0:5 Loop with condition tested first
+0:5 Loop Condition
+0:5 Constant:
+0:5 false (const bool)
+0:5 No loop body
+0:6 Loop with condition tested first
+0:6 Loop Condition
+0:6 Constant:
+0:6 false (const bool)
+0:6 No loop body
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:8 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (temp 4-component vector of float)
+0:? Sequence
+0:3 Loop with condition tested first
+0:3 Loop Condition
+0:3 Compare Not Equal (temp bool)
+0:3 'input' (temp 4-component vector of float)
+0:3 'input' (temp 4-component vector of float)
+0:3 Loop Body
+0:? Sequence
+0:3 Branch: Return with expression
+0:3 'input' (temp 4-component vector of float)
+0:4 Loop with condition tested first
+0:4 Loop Condition
+0:4 Constant:
+0:4 false (const bool)
+0:4 No loop body
+0:5 Loop with condition tested first
+0:5 Loop Condition
+0:5 Constant:
+0:5 false (const bool)
+0:5 No loop body
+0:6 Loop with condition tested first
+0:6 Loop Condition
+0:6 Constant:
+0:6 false (const bool)
+0:6 No loop body
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 39
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 14 "input"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 11: TypeFloat 32
+ 12: TypeVector 11(float) 4
+ 13: TypePointer Function 12(fvec4)
+ 17: TypeBool
+ 18: TypeVector 17(bool) 4
+ 28: 17(bool) ConstantFalse
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 14(input): 13(ptr) Variable Function
+ Branch 6
+ 6: Label
+ LoopMerge 8 9 None
+ Branch 10
+ 10: Label
+ 15: 12(fvec4) Load 14(input)
+ 16: 12(fvec4) Load 14(input)
+ 19: 18(bvec4) FOrdNotEqual 15 16
+ 20: 17(bool) Any 19
+ BranchConditional 20 7 8
+ 7: Label
+ 21: 12(fvec4) Load 14(input)
+ ReturnValue 21
+ 9: Label
+ Branch 6
+ 8: Label
+ Branch 23
+ 23: Label
+ LoopMerge 25 26 None
+ Branch 27
+ 27: Label
+ BranchConditional 28 24 25
+ 24: Label
+ Branch 26
+ 26: Label
+ Branch 23
+ 25: Label
+ Branch 29
+ 29: Label
+ LoopMerge 31 32 None
+ Branch 33
+ 33: Label
+ BranchConditional 28 30 31
+ 30: Label
+ Branch 32
+ 32: Label
+ Branch 29
+ 31: Label
+ Branch 34
+ 34: Label
+ LoopMerge 36 37 None
+ Branch 38
+ 38: Label
+ BranchConditional 28 35 36
+ 35: Label
+ Branch 37
+ 37: Label
+ Branch 34
+ 36: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/length.frag.out b/chromium/third_party/glslang/src/Test/baseResults/length.frag.out
new file mode 100644
index 00000000000..1c42560711e
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/length.frag.out
@@ -0,0 +1,61 @@
+length.frag
+Shader version: 120
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:? Sequence
+0:15 Sequence
+0:15 move second child to first child (temp 2-component vector of float)
+0:15 't' (temp 2-component vector of float)
+0:15 add (temp 2-component vector of float)
+0:15 direct index (smooth temp 2-component vector of float)
+0:15 'v' (smooth in 2-element array of 2-component vector of float)
+0:15 Constant:
+0:15 0 (const int)
+0:15 direct index (smooth temp 2-component vector of float)
+0:15 'v' (smooth in 2-element array of 2-component vector of float)
+0:15 Constant:
+0:15 1 (const int)
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:17 Constant:
+0:17 30.000000
+0:17 30.000000
+0:17 30.000000
+0:17 30.000000
+0:? Linker Objects
+0:? 'u' (uniform 3-element array of 4-component vector of float)
+0:? 'v' (smooth in 2-element array of 2-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 120
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:? Sequence
+0:15 Sequence
+0:15 move second child to first child (temp 2-component vector of float)
+0:15 't' (temp 2-component vector of float)
+0:15 add (temp 2-component vector of float)
+0:15 direct index (smooth temp 2-component vector of float)
+0:15 'v' (smooth in 2-element array of 2-component vector of float)
+0:15 Constant:
+0:15 0 (const int)
+0:15 direct index (smooth temp 2-component vector of float)
+0:15 'v' (smooth in 2-element array of 2-component vector of float)
+0:15 Constant:
+0:15 1 (const int)
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:17 Constant:
+0:17 30.000000
+0:17 30.000000
+0:17 30.000000
+0:17 30.000000
+0:? Linker Objects
+0:? 'u' (uniform 3-element array of 4-component vector of float)
+0:? 'v' (smooth in 2-element array of 2-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/lineContinuation.vert.out b/chromium/third_party/glslang/src/Test/baseResults/lineContinuation.vert.out
new file mode 100644
index 00000000000..78e5c0722d7
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/lineContinuation.vert.out
@@ -0,0 +1,309 @@
+lineContinuation.vert
+WARNING: 0:3: 'line continuation' : used at end of comment; the following line is still part of the comment
+ERROR: 0:6: '#error' : e1
+ERROR: 0:11: '#error' : e2
+ERROR: 0:18: '#error' : e3
+ERROR: 0:42: '\' : illegal use of escape character
+ERROR: 0:43: '@' : unexpected token
+ERROR: 0:44: '$' : unexpected token
+ERROR: 0:45: '\' : illegal use of escape character
+ERROR: 0:47: '\' : illegal use of escape character
+ERROR: 0:48: '\' : illegal use of escape character
+ERROR: 0:49: '$' : unexpected token
+ERROR: 0:50: '@' : unexpected token
+ERROR: 0:55: '#error' : good continuation
+WARNING: 0:62: 'line continuation' : used at end of comment; the following line is still part of the comment
+ERROR: 0:111: 'macro expansion' : End of line in macro substitution: FOOM
+ERROR: 0:112: 'preprocessor evaluation' : can't evaluate expression
+ERROR: 0:112: '#if' : unexpected tokens following directive
+ERROR: 0:117: 'macro expansion' : End of line in macro substitution: FOOM
+ERROR: 0:118: 'preprocessor evaluation' : can't evaluate expression
+ERROR: 0:118: '#if' : unexpected tokens following directive
+ERROR: 0:150: '' : syntax error
+ERROR: 19 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 move second child to first child (temp highp 4-component vector of float)
+0:20 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:20 Construct vec4 (temp highp 4-component vector of float)
+0:20 'foo' (global highp float)
+0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float)
+0:22 Function Parameters:
+0:22 'a' (in highp 4-component vector of float)
+0:24 Sequence
+0:24 Sequence
+0:24 move second child to first child (temp highp 4-component vector of float)
+0:24 'b' (temp highp 4-component vector of float)
+0:24 'a' (in highp 4-component vector of float)
+0:25 Branch: Return with expression
+0:25 'b' (temp highp 4-component vector of float)
+0:47 Sequence
+0:47 move second child to first child (temp highp int)
+0:47 'q1' (global highp int)
+0:47 Constant:
+0:47 1 (const int)
+0:48 Sequence
+0:48 move second child to first child (temp highp int)
+0:48 'q2' (global highp int)
+0:48 Constant:
+0:48 1 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp highp int)
+0:49 'q3' (global highp int)
+0:49 Constant:
+0:49 1 (const int)
+0:50 Sequence
+0:50 move second child to first child (temp highp int)
+0:50 'q4' (global highp int)
+0:50 Constant:
+0:50 1 (const int)
+0:74 Sequence
+0:74 move second child to first child (temp highp float)
+0:74 'funkyf' (global highp float)
+0:75 Constant:
+0:75 12300000000000000.000000
+0:85 Sequence
+0:84 move second child to first child (temp highp int)
+0:84 'funkyh' (global highp int)
+0:86 Constant:
+0:86 244 (const int)
+0:91 Sequence
+0:91 move second child to first child (temp highp int)
+0:91 'funkyo' (global highp int)
+0:92 Constant:
+0:92 34 (const int)
+0:96 Sequence
+0:96 move second child to first child (temp highp int)
+0:96 'c' (global highp int)
+0:97 Constant:
+0:97 11 (const int)
+0:98 Sequence
+0:98 move second child to first child (temp highp int)
+0:98 'd' (global highp int)
+0:98 Constant:
+0:98 12 (const int)
+0:107 Sequence
+0:107 move second child to first child (temp highp int)
+0:107 'bar103' (global highp int)
+0:107 Constant:
+0:107 17 (const int)
+0:113 Sequence
+0:113 move second child to first child (temp highp int)
+0:113 'bar104' (global highp int)
+0:113 Constant:
+0:113 19 (const int)
+0:119 Sequence
+0:119 move second child to first child (temp highp int)
+0:119 'bar105' (global highp int)
+0:119 Constant:
+0:119 19 (const int)
+0:122 Sequence
+0:122 move second child to first child (temp highp int)
+0:122 'bar106' (global highp int)
+0:122 Constant:
+0:122 12 (const int)
+0:123 Sequence
+0:123 move second child to first child (temp highp int)
+0:123 'bar107' (global highp int)
+0:128 Constant:
+0:128 5 (const int)
+0:131 Function Definition: foo203209409( (global void)
+0:131 Function Parameters:
+0:134 Sequence
+0:134 add second child into first child (temp highp int)
+0:133 'bar107' (global highp int)
+0:134 Constant:
+0:134 37 (const int)
+0:135 multiply second child into first child (temp highp int)
+0:135 'bar107' (global highp int)
+0:136 Constant:
+0:136 38 (const int)
+0:137 divide second child into first child (temp highp int)
+0:137 'bar107' (global highp int)
+0:138 Constant:
+0:138 39 (const int)
+0:139 add (temp highp int)
+0:139 'bar107' (global highp int)
+0:140 Constant:
+0:140 41 (const int)
+0:? Linker Objects
+0:? 'foo' (global highp float)
+0:? 'goodDecl' (global highp int)
+0:? 'a1' (const highp int)
+0:? 4 (const int)
+0:? 'a2' (const highp int)
+0:? 3 (const int)
+0:? 'a3' (const highp int)
+0:? 4 (const int)
+0:? 'a4' (const highp int)
+0:? 3 (const int)
+0:? 'q1' (global highp int)
+0:? 'q2' (global highp int)
+0:? 'q3' (global highp int)
+0:? 'q4' (global highp int)
+0:? 'abdece' (const highp int)
+0:? 10 (const int)
+0:? 'aoeuntaoehu' (const highp int)
+0:? 10 (const int)
+0:? 'funkyf' (global highp float)
+0:? 'funkyh' (global highp int)
+0:? 'funkyo' (global highp int)
+0:? 'c' (global highp int)
+0:? 'd' (global highp int)
+0:? 'bar103' (global highp int)
+0:? 'bar104' (global highp int)
+0:? 'bar105' (global highp int)
+0:? 'bar106' (global highp int)
+0:? 'bar107' (global highp int)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 move second child to first child (temp highp 4-component vector of float)
+0:20 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:20 Construct vec4 (temp highp 4-component vector of float)
+0:20 'foo' (global highp float)
+0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float)
+0:22 Function Parameters:
+0:22 'a' (in highp 4-component vector of float)
+0:24 Sequence
+0:24 Sequence
+0:24 move second child to first child (temp highp 4-component vector of float)
+0:24 'b' (temp highp 4-component vector of float)
+0:24 'a' (in highp 4-component vector of float)
+0:25 Branch: Return with expression
+0:25 'b' (temp highp 4-component vector of float)
+0:47 Sequence
+0:47 move second child to first child (temp highp int)
+0:47 'q1' (global highp int)
+0:47 Constant:
+0:47 1 (const int)
+0:48 Sequence
+0:48 move second child to first child (temp highp int)
+0:48 'q2' (global highp int)
+0:48 Constant:
+0:48 1 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp highp int)
+0:49 'q3' (global highp int)
+0:49 Constant:
+0:49 1 (const int)
+0:50 Sequence
+0:50 move second child to first child (temp highp int)
+0:50 'q4' (global highp int)
+0:50 Constant:
+0:50 1 (const int)
+0:74 Sequence
+0:74 move second child to first child (temp highp float)
+0:74 'funkyf' (global highp float)
+0:75 Constant:
+0:75 12300000000000000.000000
+0:85 Sequence
+0:84 move second child to first child (temp highp int)
+0:84 'funkyh' (global highp int)
+0:86 Constant:
+0:86 244 (const int)
+0:91 Sequence
+0:91 move second child to first child (temp highp int)
+0:91 'funkyo' (global highp int)
+0:92 Constant:
+0:92 34 (const int)
+0:96 Sequence
+0:96 move second child to first child (temp highp int)
+0:96 'c' (global highp int)
+0:97 Constant:
+0:97 11 (const int)
+0:98 Sequence
+0:98 move second child to first child (temp highp int)
+0:98 'd' (global highp int)
+0:98 Constant:
+0:98 12 (const int)
+0:107 Sequence
+0:107 move second child to first child (temp highp int)
+0:107 'bar103' (global highp int)
+0:107 Constant:
+0:107 17 (const int)
+0:113 Sequence
+0:113 move second child to first child (temp highp int)
+0:113 'bar104' (global highp int)
+0:113 Constant:
+0:113 19 (const int)
+0:119 Sequence
+0:119 move second child to first child (temp highp int)
+0:119 'bar105' (global highp int)
+0:119 Constant:
+0:119 19 (const int)
+0:122 Sequence
+0:122 move second child to first child (temp highp int)
+0:122 'bar106' (global highp int)
+0:122 Constant:
+0:122 12 (const int)
+0:123 Sequence
+0:123 move second child to first child (temp highp int)
+0:123 'bar107' (global highp int)
+0:128 Constant:
+0:128 5 (const int)
+0:131 Function Definition: foo203209409( (global void)
+0:131 Function Parameters:
+0:134 Sequence
+0:134 add second child into first child (temp highp int)
+0:133 'bar107' (global highp int)
+0:134 Constant:
+0:134 37 (const int)
+0:135 multiply second child into first child (temp highp int)
+0:135 'bar107' (global highp int)
+0:136 Constant:
+0:136 38 (const int)
+0:137 divide second child into first child (temp highp int)
+0:137 'bar107' (global highp int)
+0:138 Constant:
+0:138 39 (const int)
+0:139 add (temp highp int)
+0:139 'bar107' (global highp int)
+0:140 Constant:
+0:140 41 (const int)
+0:? Linker Objects
+0:? 'foo' (global highp float)
+0:? 'goodDecl' (global highp int)
+0:? 'a1' (const highp int)
+0:? 4 (const int)
+0:? 'a2' (const highp int)
+0:? 3 (const int)
+0:? 'a3' (const highp int)
+0:? 4 (const int)
+0:? 'a4' (const highp int)
+0:? 3 (const int)
+0:? 'q1' (global highp int)
+0:? 'q2' (global highp int)
+0:? 'q3' (global highp int)
+0:? 'q4' (global highp int)
+0:? 'abdece' (const highp int)
+0:? 10 (const int)
+0:? 'aoeuntaoehu' (const highp int)
+0:? 10 (const int)
+0:? 'funkyf' (global highp float)
+0:? 'funkyh' (global highp int)
+0:? 'funkyo' (global highp int)
+0:? 'c' (global highp int)
+0:? 'd' (global highp int)
+0:? 'bar103' (global highp int)
+0:? 'bar104' (global highp int)
+0:? 'bar105' (global highp int)
+0:? 'bar106' (global highp int)
+0:? 'bar107' (global highp int)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/lineContinuation100.vert.out b/chromium/third_party/glslang/src/Test/baseResults/lineContinuation100.vert.out
new file mode 100644
index 00000000000..003637d039f
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/lineContinuation100.vert.out
@@ -0,0 +1,137 @@
+lineContinuation100.vert
+WARNING: 0:3: 'line continuation' : used at end of comment, but this version does not provide line continuation
+ERROR: 0:4: '#error' : good error
+ERROR: 0:8: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:11: '#error' : e2
+ERROR: 0:13: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:14: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:15: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:18: '#error' : e3
+ERROR: 0:24: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:40: '\' : illegal use of escape character
+ERROR: 0:41: '@' : unexpected token
+ERROR: 0:42: '$' : unexpected token
+ERROR: 0:43: '\' : illegal use of escape character
+ERROR: 0:45: '\' : illegal use of escape character
+ERROR: 0:46: '\' : illegal use of escape character
+ERROR: 0:47: '$' : unexpected token
+ERROR: 0:48: '@' : unexpected token
+ERROR: 0:50: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:52: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:53: '#error' : bad continuation
+ERROR: 0:55: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 20 compilation errors. No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 move second child to first child (temp highp 4-component vector of float)
+0:20 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:20 Construct vec4 (temp highp 4-component vector of float)
+0:20 'foo' (global highp float)
+0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float)
+0:22 Function Parameters:
+0:22 'a' (in highp 4-component vector of float)
+0:24 Sequence
+0:24 Sequence
+0:24 move second child to first child (temp highp 4-component vector of float)
+0:24 'b' (temp highp 4-component vector of float)
+0:24 'a' (in highp 4-component vector of float)
+0:25 Branch: Return with expression
+0:25 'b' (temp highp 4-component vector of float)
+0:45 Sequence
+0:45 move second child to first child (temp highp int)
+0:45 'q1' (global highp int)
+0:45 Constant:
+0:45 1 (const int)
+0:46 Sequence
+0:46 move second child to first child (temp highp int)
+0:46 'q2' (global highp int)
+0:46 Constant:
+0:46 1 (const int)
+0:47 Sequence
+0:47 move second child to first child (temp highp int)
+0:47 'q3' (global highp int)
+0:47 Constant:
+0:47 1 (const int)
+0:48 Sequence
+0:48 move second child to first child (temp highp int)
+0:48 'q4' (global highp int)
+0:48 Constant:
+0:48 1 (const int)
+0:? Linker Objects
+0:? 'foo' (global highp float)
+0:? 'a1' (const highp int)
+0:? 4 (const int)
+0:? 'a2' (const highp int)
+0:? 3 (const int)
+0:? 'a3' (const highp int)
+0:? 4 (const int)
+0:? 'a4' (const highp int)
+0:? 3 (const int)
+0:? 'q1' (global highp int)
+0:? 'q2' (global highp int)
+0:? 'q3' (global highp int)
+0:? 'q4' (global highp int)
+
+
+Linked vertex stage:
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 move second child to first child (temp highp 4-component vector of float)
+0:20 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:20 Construct vec4 (temp highp 4-component vector of float)
+0:20 'foo' (global highp float)
+0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float)
+0:22 Function Parameters:
+0:22 'a' (in highp 4-component vector of float)
+0:24 Sequence
+0:24 Sequence
+0:24 move second child to first child (temp highp 4-component vector of float)
+0:24 'b' (temp highp 4-component vector of float)
+0:24 'a' (in highp 4-component vector of float)
+0:25 Branch: Return with expression
+0:25 'b' (temp highp 4-component vector of float)
+0:45 Sequence
+0:45 move second child to first child (temp highp int)
+0:45 'q1' (global highp int)
+0:45 Constant:
+0:45 1 (const int)
+0:46 Sequence
+0:46 move second child to first child (temp highp int)
+0:46 'q2' (global highp int)
+0:46 Constant:
+0:46 1 (const int)
+0:47 Sequence
+0:47 move second child to first child (temp highp int)
+0:47 'q3' (global highp int)
+0:47 Constant:
+0:47 1 (const int)
+0:48 Sequence
+0:48 move second child to first child (temp highp int)
+0:48 'q4' (global highp int)
+0:48 Constant:
+0:48 1 (const int)
+0:? Linker Objects
+0:? 'foo' (global highp float)
+0:? 'a1' (const highp int)
+0:? 4 (const int)
+0:? 'a2' (const highp int)
+0:? 3 (const int)
+0:? 'a3' (const highp int)
+0:? 4 (const int)
+0:? 'a4' (const highp int)
+0:? 3 (const int)
+0:? 'q1' (global highp int)
+0:? 'q2' (global highp int)
+0:? 'q3' (global highp int)
+0:? 'q4' (global highp int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/link1.frag.out b/chromium/third_party/glslang/src/Test/baseResults/link1.frag.out
new file mode 100644
index 00000000000..51d7475a5bf
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/link1.frag.out
@@ -0,0 +1,162 @@
+link1.frag
+Shader version: 130
+0:? Sequence
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'a' (global 4-component vector of float)
+0:8 vector-scale (temp 4-component vector of float)
+0:8 Constant:
+0:8 8.000000
+0:8 'uv4' (uniform 4-component vector of float)
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'b' (global 4-component vector of float)
+0:17 vector-scale (temp 4-component vector of float)
+0:17 Constant:
+0:17 8.000000
+0:17 'a' (global 4-component vector of float)
+0:19 Function Definition: foo(mf22; (global 2-component vector of int)
+0:19 Function Parameters:
+0:19 'm' (in 2X2 matrix of float)
+0:21 Sequence
+0:21 Branch: Return with expression
+0:21 Convert float to int (temp 2-component vector of int)
+0:21 direct index (temp 2-component vector of float)
+0:21 'm' (in 2X2 matrix of float)
+0:21 Constant:
+0:21 0 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp 4-component vector of float)
+0:24 'c' (global 4-component vector of float)
+0:24 component-wise multiply (temp 4-component vector of float)
+0:24 'b' (global 4-component vector of float)
+0:24 'b' (global 4-component vector of float)
+0:? Linker Objects
+0:? 'uv4' (uniform 4-component vector of float)
+0:? 'glass' (uniform 3-component vector of float)
+0:? 'ci' (const int)
+0:? 8 (const int)
+0:? 'a' (global 4-component vector of float)
+0:? 'iv3' (smooth in 3-component vector of float)
+0:? 'cup' (smooth in 4-component vector of float)
+0:? 'b' (global 4-component vector of float)
+0:? 'c' (global 4-component vector of float)
+0:? 'cv3' (const 3-component vector of float)
+0:? 43.000000
+0:? 0.340000
+0:? 9.900000
+0:? 'cv3n' (const 3-component vector of float)
+0:? 43.000000
+0:? 0.340000
+0:? 9.900000
+0:? 'cv3e' (const 3-component vector of float)
+0:? 43.000000
+0:? 0.340000
+0:? 9.900000
+0:? 'um2' (uniform 2X2 matrix of float)
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 'um2n' (uniform 2X2 matrix of float)
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 'um2e' (uniform 2X2 matrix of float)
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 's' (uniform structure{global int a, global float b})
+0:? 82 (const int)
+0:? 3.900000
+0:? 'sn' (uniform structure{global int a, global float b})
+0:? 'se' (uniform structure{global int a, global float b})
+0:? 82 (const int)
+0:? 3.900000
+
+link2.frag
+Shader version: 130
+Requested GL_OES_standard_derivatives
+Requested GL_OES_texture_3D
+0:? Sequence
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'd' (global 4-component vector of float)
+0:8 vector-scale (temp 4-component vector of float)
+0:8 Constant:
+0:8 8.000000
+0:8 'uv4' (uniform 4-component vector of float)
+0:13 Sequence
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'e' (global 4-component vector of float)
+0:13 vector-scale (temp 4-component vector of float)
+0:13 Constant:
+0:13 8.000000
+0:13 'd' (global 4-component vector of float)
+0:15 Function Definition: foo( (global 2-component vector of int)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Branch: Return with expression
+0:17 Constant:
+0:17 2 (const int)
+0:17 2 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'f' (global 4-component vector of float)
+0:20 component-wise multiply (temp 4-component vector of float)
+0:20 'e' (global 4-component vector of float)
+0:20 'e' (global 4-component vector of float)
+0:? Linker Objects
+0:? 'uv4' (uniform 4-component vector of float)
+0:? 'glass' (uniform 2-component vector of float)
+0:? 'ci' (const int)
+0:? 8 (const int)
+0:? 'd' (global 4-component vector of float)
+0:? 'iv3' (smooth in 3-component vector of float)
+0:? 'cup' (flat in 4-component vector of float)
+0:? 'e' (global 4-component vector of float)
+0:? 'f' (global 4-component vector of float)
+0:? 'cv3' (const 3-component vector of float)
+0:? 43.000000
+0:? 0.340000
+0:? 9.900000
+0:? 'cv3e' (const 3-component vector of float)
+0:? 43.000000
+0:? 0.340000
+0:? 2.900000
+0:? 'um2' (uniform 2X2 matrix of float)
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 'um2n' (uniform 2X2 matrix of float)
+0:? 'um2e' (uniform 2X2 matrix of float)
+0:? 3.000000
+0:? 0.000000
+0:? 0.000000
+0:? 3.000000
+0:? 's' (uniform structure{global int a, global float b})
+0:? 82 (const int)
+0:? 3.900000
+0:? 'sn' (uniform structure{global int a, global float b})
+0:? 82 (const int)
+0:? 3.900000
+0:? 'se' (uniform structure{global int a, global float b})
+0:? 81 (const int)
+0:? 3.900000
+
+link3.frag
+Shader version: 300
+Requested GL_OES_EGL_image_external
+Requested GL_OES_standard_derivatives
+Requested GL_OES_texture_3D
+0:? Sequence
+0:? Linker Objects
+0:? 'iv3' (smooth in highp 2-component vector of float)
+
+ERROR: Cannot mix ES profile with non-ES profile shaders
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/localAggregates.frag.out b/chromium/third_party/glslang/src/Test/baseResults/localAggregates.frag.out
new file mode 100644
index 00000000000..2e8ae76c0bc
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/localAggregates.frag.out
@@ -0,0 +1,414 @@
+localAggregates.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:5: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:34 Function Definition: main( (global void)
+0:34 Function Parameters:
+0:? Sequence
+0:41 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:41 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:41 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:41 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:41 Constant:
+0:41 0 (const int)
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:43 Compare Greater Than (temp bool)
+0:43 i: direct index for structure (global int)
+0:43 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:43 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:43 Constant:
+0:43 0 (const int)
+0:43 Constant:
+0:43 0 (const int)
+0:43 Constant:
+0:43 0 (const int)
+0:43 true case
+0:44 Sequence
+0:44 move second child to first child (temp float)
+0:44 f: direct index for structure (global float)
+0:44 s1_1: direct index for structure (global structure{global int i, global float f})
+0:44 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 1.000000
+0:45 move second child to first child (temp float)
+0:45 direct index (temp float)
+0:45 'localFArray' (temp 16-element array of float)
+0:45 Constant:
+0:45 4 (const int)
+0:45 direct index (temp float)
+0:45 'coord' (smooth in 2-component vector of float)
+0:45 Constant:
+0:45 0 (const int)
+0:46 move second child to first child (temp int)
+0:46 direct index (temp int)
+0:46 'localIArray' (temp 8-element array of int)
+0:46 Constant:
+0:46 2 (const int)
+0:46 i: direct index for structure (global int)
+0:46 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:46 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 0 (const int)
+0:43 false case
+0:48 Sequence
+0:48 move second child to first child (temp float)
+0:48 f: direct index for structure (global float)
+0:48 s1_1: direct index for structure (global structure{global int i, global float f})
+0:48 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:48 Constant:
+0:48 2 (const int)
+0:48 Constant:
+0:48 1 (const int)
+0:48 direct index (temp float)
+0:48 'coord' (smooth in 2-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:49 move second child to first child (temp float)
+0:49 direct index (temp float)
+0:49 'localFArray' (temp 16-element array of float)
+0:49 Constant:
+0:49 4 (const int)
+0:49 Constant:
+0:49 1.000000
+0:50 move second child to first child (temp int)
+0:50 direct index (temp int)
+0:50 'localIArray' (temp 8-element array of int)
+0:50 Constant:
+0:50 2 (const int)
+0:50 Constant:
+0:50 0 (const int)
+0:53 Test condition and select (temp void)
+0:53 Condition
+0:53 Compare Equal (temp bool)
+0:53 direct index (temp int)
+0:53 'localIArray' (temp 8-element array of int)
+0:53 Constant:
+0:53 2 (const int)
+0:53 Constant:
+0:53 0 (const int)
+0:53 true case
+0:54 Pre-Increment (temp float)
+0:54 direct index (temp float)
+0:54 'localFArray' (temp 16-element array of float)
+0:54 Constant:
+0:54 4 (const int)
+0:57 Sequence
+0:57 move second child to first child (temp int)
+0:57 'x' (temp int)
+0:57 Constant:
+0:57 5 (const int)
+0:58 move second child to first child (temp float)
+0:58 indirect index (temp float)
+0:58 'localArray' (temp 16-element array of float)
+0:58 'x' (temp int)
+0:58 direct index (temp float)
+0:58 'coord' (smooth in 2-component vector of float)
+0:58 Constant:
+0:58 0 (const int)
+0:62 Sequence
+0:62 Sequence
+0:62 move second child to first child (temp int)
+0:62 'i' (temp int)
+0:62 Constant:
+0:62 0 (const int)
+0:62 Loop with condition tested first
+0:62 Loop Condition
+0:62 Compare Less Than (temp bool)
+0:62 'i' (temp int)
+0:62 Constant:
+0:62 16 (const int)
+0:62 Loop Body
+0:63 move second child to first child (temp float)
+0:63 indirect index (temp float)
+0:63 'a' (temp 16-element array of float)
+0:63 'i' (temp int)
+0:63 Constant:
+0:63 0.000000
+0:62 Loop Terminal Expression
+0:62 Post-Increment (temp int)
+0:62 'i' (temp int)
+0:65 Test condition and select (temp void)
+0:65 Condition
+0:65 Compare Equal (temp bool)
+0:65 'condition' (uniform int)
+0:65 Constant:
+0:65 1 (const int)
+0:65 true case
+0:66 move second child to first child (temp 16-element array of float)
+0:66 'a' (temp 16-element array of float)
+0:66 'localArray' (temp 16-element array of float)
+0:68 move second child to first child (temp 4-component vector of float)
+0:68 bleh: direct index for structure (global 4-component vector of float)
+0:68 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:68 Constant:
+0:68 3 (const int)
+0:68 'color' (smooth in 4-component vector of float)
+0:69 move second child to first child (temp float)
+0:69 direct index (temp float)
+0:69 bleh: direct index for structure (global 4-component vector of float)
+0:69 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:69 Constant:
+0:69 3 (const int)
+0:69 Constant:
+0:69 2 (const int)
+0:69 direct index (temp float)
+0:69 'coord' (smooth in 2-component vector of float)
+0:69 Constant:
+0:69 1 (const int)
+0:71 move second child to first child (temp 4-component vector of float)
+0:71 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:71 component-wise multiply (temp 4-component vector of float)
+0:71 vector-scale (temp 4-component vector of float)
+0:71 bleh: direct index for structure (global 4-component vector of float)
+0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:71 Constant:
+0:71 3 (const int)
+0:71 add (temp float)
+0:71 add (temp float)
+0:71 add (temp float)
+0:71 direct index (temp float)
+0:71 'localFArray' (temp 16-element array of float)
+0:71 Constant:
+0:71 4 (const int)
+0:71 f: direct index for structure (global float)
+0:71 s1_1: direct index for structure (global structure{global int i, global float f})
+0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:71 Constant:
+0:71 2 (const int)
+0:71 Constant:
+0:71 1 (const int)
+0:71 indirect index (temp float)
+0:71 'localArray' (temp 16-element array of float)
+0:71 'x' (temp int)
+0:71 indirect index (temp float)
+0:71 'a' (temp 16-element array of float)
+0:71 'x' (temp int)
+0:71 texture (global 4-component vector of float)
+0:71 'sampler' (uniform sampler2D)
+0:71 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'color' (smooth in 4-component vector of float)
+0:? 'foo' (uniform structure{global int i, global float f})
+0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'uFloatArray' (uniform 16-element array of float)
+0:? 'condition' (uniform int)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:34 Function Definition: main( (global void)
+0:34 Function Parameters:
+0:? Sequence
+0:41 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:41 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:41 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:41 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:41 Constant:
+0:41 0 (const int)
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:43 Compare Greater Than (temp bool)
+0:43 i: direct index for structure (global int)
+0:43 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:43 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:43 Constant:
+0:43 0 (const int)
+0:43 Constant:
+0:43 0 (const int)
+0:43 Constant:
+0:43 0 (const int)
+0:43 true case
+0:44 Sequence
+0:44 move second child to first child (temp float)
+0:44 f: direct index for structure (global float)
+0:44 s1_1: direct index for structure (global structure{global int i, global float f})
+0:44 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 1.000000
+0:45 move second child to first child (temp float)
+0:45 direct index (temp float)
+0:45 'localFArray' (temp 16-element array of float)
+0:45 Constant:
+0:45 4 (const int)
+0:45 direct index (temp float)
+0:45 'coord' (smooth in 2-component vector of float)
+0:45 Constant:
+0:45 0 (const int)
+0:46 move second child to first child (temp int)
+0:46 direct index (temp int)
+0:46 'localIArray' (temp 8-element array of int)
+0:46 Constant:
+0:46 2 (const int)
+0:46 i: direct index for structure (global int)
+0:46 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:46 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 0 (const int)
+0:43 false case
+0:48 Sequence
+0:48 move second child to first child (temp float)
+0:48 f: direct index for structure (global float)
+0:48 s1_1: direct index for structure (global structure{global int i, global float f})
+0:48 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:48 Constant:
+0:48 2 (const int)
+0:48 Constant:
+0:48 1 (const int)
+0:48 direct index (temp float)
+0:48 'coord' (smooth in 2-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:49 move second child to first child (temp float)
+0:49 direct index (temp float)
+0:49 'localFArray' (temp 16-element array of float)
+0:49 Constant:
+0:49 4 (const int)
+0:49 Constant:
+0:49 1.000000
+0:50 move second child to first child (temp int)
+0:50 direct index (temp int)
+0:50 'localIArray' (temp 8-element array of int)
+0:50 Constant:
+0:50 2 (const int)
+0:50 Constant:
+0:50 0 (const int)
+0:53 Test condition and select (temp void)
+0:53 Condition
+0:53 Compare Equal (temp bool)
+0:53 direct index (temp int)
+0:53 'localIArray' (temp 8-element array of int)
+0:53 Constant:
+0:53 2 (const int)
+0:53 Constant:
+0:53 0 (const int)
+0:53 true case
+0:54 Pre-Increment (temp float)
+0:54 direct index (temp float)
+0:54 'localFArray' (temp 16-element array of float)
+0:54 Constant:
+0:54 4 (const int)
+0:57 Sequence
+0:57 move second child to first child (temp int)
+0:57 'x' (temp int)
+0:57 Constant:
+0:57 5 (const int)
+0:58 move second child to first child (temp float)
+0:58 indirect index (temp float)
+0:58 'localArray' (temp 16-element array of float)
+0:58 'x' (temp int)
+0:58 direct index (temp float)
+0:58 'coord' (smooth in 2-component vector of float)
+0:58 Constant:
+0:58 0 (const int)
+0:62 Sequence
+0:62 Sequence
+0:62 move second child to first child (temp int)
+0:62 'i' (temp int)
+0:62 Constant:
+0:62 0 (const int)
+0:62 Loop with condition tested first
+0:62 Loop Condition
+0:62 Compare Less Than (temp bool)
+0:62 'i' (temp int)
+0:62 Constant:
+0:62 16 (const int)
+0:62 Loop Body
+0:63 move second child to first child (temp float)
+0:63 indirect index (temp float)
+0:63 'a' (temp 16-element array of float)
+0:63 'i' (temp int)
+0:63 Constant:
+0:63 0.000000
+0:62 Loop Terminal Expression
+0:62 Post-Increment (temp int)
+0:62 'i' (temp int)
+0:65 Test condition and select (temp void)
+0:65 Condition
+0:65 Compare Equal (temp bool)
+0:65 'condition' (uniform int)
+0:65 Constant:
+0:65 1 (const int)
+0:65 true case
+0:66 move second child to first child (temp 16-element array of float)
+0:66 'a' (temp 16-element array of float)
+0:66 'localArray' (temp 16-element array of float)
+0:68 move second child to first child (temp 4-component vector of float)
+0:68 bleh: direct index for structure (global 4-component vector of float)
+0:68 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:68 Constant:
+0:68 3 (const int)
+0:68 'color' (smooth in 4-component vector of float)
+0:69 move second child to first child (temp float)
+0:69 direct index (temp float)
+0:69 bleh: direct index for structure (global 4-component vector of float)
+0:69 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:69 Constant:
+0:69 3 (const int)
+0:69 Constant:
+0:69 2 (const int)
+0:69 direct index (temp float)
+0:69 'coord' (smooth in 2-component vector of float)
+0:69 Constant:
+0:69 1 (const int)
+0:71 move second child to first child (temp 4-component vector of float)
+0:71 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:71 component-wise multiply (temp 4-component vector of float)
+0:71 vector-scale (temp 4-component vector of float)
+0:71 bleh: direct index for structure (global 4-component vector of float)
+0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:71 Constant:
+0:71 3 (const int)
+0:71 add (temp float)
+0:71 add (temp float)
+0:71 add (temp float)
+0:71 direct index (temp float)
+0:71 'localFArray' (temp 16-element array of float)
+0:71 Constant:
+0:71 4 (const int)
+0:71 f: direct index for structure (global float)
+0:71 s1_1: direct index for structure (global structure{global int i, global float f})
+0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:71 Constant:
+0:71 2 (const int)
+0:71 Constant:
+0:71 1 (const int)
+0:71 indirect index (temp float)
+0:71 'localArray' (temp 16-element array of float)
+0:71 'x' (temp int)
+0:71 indirect index (temp float)
+0:71 'a' (temp 16-element array of float)
+0:71 'x' (temp int)
+0:71 texture (global 4-component vector of float)
+0:71 'sampler' (uniform sampler2D)
+0:71 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'color' (smooth in 4-component vector of float)
+0:? 'foo' (uniform structure{global int i, global float f})
+0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'uFloatArray' (uniform 16-element array of float)
+0:? 'condition' (uniform int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/loops.frag.out b/chromium/third_party/glslang/src/Test/baseResults/loops.frag.out
new file mode 100644
index 00000000000..b592dbd8459
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/loops.frag.out
@@ -0,0 +1,1935 @@
+loops.frag
+WARNING: 0:14: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:53 Function Definition: main( (global void)
+0:53 Function Parameters:
+0:55 Sequence
+0:55 Sequence
+0:55 move second child to first child (temp 4-component vector of float)
+0:55 'color' (temp 4-component vector of float)
+0:55 'BaseColor' (smooth in 4-component vector of float)
+0:58 Loop with condition tested first
+0:58 Loop Condition
+0:58 Constant:
+0:58 true (const bool)
+0:58 Loop Body
+0:59 Sequence
+0:59 Test condition and select (temp void)
+0:59 Condition
+0:59 Compare Less Than (temp bool)
+0:59 direct index (temp float)
+0:59 'color' (temp 4-component vector of float)
+0:59 Constant:
+0:59 0 (const int)
+0:59 Constant:
+0:59 0.330000
+0:59 true case
+0:60 Sequence
+0:60 add second child into first child (temp 4-component vector of float)
+0:60 'color' (temp 4-component vector of float)
+0:60 Constant:
+0:60 0.330000
+0:60 0.330000
+0:60 0.330000
+0:60 0.330000
+0:61 Branch: Break
+0:63 Test condition and select (temp void)
+0:63 Condition
+0:63 Compare Less Than (temp bool)
+0:63 direct index (temp float)
+0:63 'color' (temp 4-component vector of float)
+0:63 Constant:
+0:63 0 (const int)
+0:63 Constant:
+0:63 0.660000
+0:63 true case
+0:64 Sequence
+0:64 add second child into first child (temp 4-component vector of float)
+0:64 'color' (temp 4-component vector of float)
+0:64 Constant:
+0:64 0.660000
+0:64 0.660000
+0:64 0.660000
+0:64 0.660000
+0:65 Branch: Break
+0:68 add second child into first child (temp 4-component vector of float)
+0:68 'color' (temp 4-component vector of float)
+0:68 Constant:
+0:68 0.330000
+0:68 0.330000
+0:68 0.330000
+0:68 0.330000
+0:69 Branch: Break
+0:73 Loop with condition tested first
+0:73 Loop Condition
+0:73 Compare Less Than (temp bool)
+0:73 direct index (temp float)
+0:73 'color' (temp 4-component vector of float)
+0:73 Constant:
+0:73 0 (const int)
+0:73 'd' (uniform float)
+0:73 Loop Body
+0:74 Sequence
+0:74 add second child into first child (temp 4-component vector of float)
+0:74 'color' (temp 4-component vector of float)
+0:74 'bigColor' (uniform 4-component vector of float)
+0:78 Loop with condition tested first
+0:78 Loop Condition
+0:78 Compare Less Than (temp bool)
+0:78 direct index (temp float)
+0:78 'color' (temp 4-component vector of float)
+0:78 Constant:
+0:78 2 (const int)
+0:78 'd' (uniform float)
+0:78 Loop Body
+0:79 Sequence
+0:79 add second child into first child (temp 4-component vector of float)
+0:79 'color' (temp 4-component vector of float)
+0:79 'bigColor1_1' (uniform 4-component vector of float)
+0:80 Test condition and select (temp void)
+0:80 Condition
+0:80 Compare Less Than (temp bool)
+0:80 direct index (temp float)
+0:80 'color' (temp 4-component vector of float)
+0:80 Constant:
+0:80 3 (const int)
+0:80 'd' (uniform float)
+0:80 true case
+0:81 Branch: Continue
+0:83 add second child into first child (temp 4-component vector of float)
+0:83 'color' (temp 4-component vector of float)
+0:83 'bigColor1_1' (uniform 4-component vector of float)
+0:87 Loop with condition tested first
+0:87 Loop Condition
+0:87 Compare Less Than (temp bool)
+0:87 direct index (temp float)
+0:87 'color' (temp 4-component vector of float)
+0:87 Constant:
+0:87 0 (const int)
+0:87 Constant:
+0:87 42.000000
+0:87 Loop Body
+0:88 Sequence
+0:88 Pre-Increment (temp 4-component vector of float)
+0:88 'color' (temp 4-component vector of float)
+0:92 Loop with condition tested first
+0:92 Loop Condition
+0:92 logical-and (temp bool)
+0:92 Compare Less Than (temp bool)
+0:92 direct index (temp float)
+0:92 'color' (temp 4-component vector of float)
+0:92 Constant:
+0:92 3 (const int)
+0:92 'd2' (uniform float)
+0:92 Compare Less Than (temp bool)
+0:92 direct index (temp float)
+0:92 'color' (temp 4-component vector of float)
+0:92 Constant:
+0:92 1 (const int)
+0:92 'd3' (uniform float)
+0:92 Loop Body
+0:93 Sequence
+0:93 add second child into first child (temp 4-component vector of float)
+0:93 'color' (temp 4-component vector of float)
+0:93 'bigColor1_2' (uniform 4-component vector of float)
+0:97 Loop with condition tested first
+0:97 Loop Condition
+0:97 Compare Less Than (temp bool)
+0:97 direct index (temp float)
+0:97 'color' (temp 4-component vector of float)
+0:97 Constant:
+0:97 2 (const int)
+0:97 'd3' (uniform float)
+0:97 Loop Body
+0:98 Sequence
+0:98 add second child into first child (temp 4-component vector of float)
+0:98 'color' (temp 4-component vector of float)
+0:98 'bigColor1_3' (uniform 4-component vector of float)
+0:99 Test condition and select (temp void)
+0:99 Condition
+0:99 Compare Less Than (temp bool)
+0:99 direct index (temp float)
+0:99 'color' (temp 4-component vector of float)
+0:99 Constant:
+0:99 1 (const int)
+0:99 'd4' (uniform float)
+0:99 true case
+0:100 Branch: Break
+0:101 add second child into first child (temp 4-component vector of float)
+0:101 'color' (temp 4-component vector of float)
+0:101 'bigColor1_3' (uniform 4-component vector of float)
+0:105 Sequence
+0:105 Sequence
+0:105 move second child to first child (temp int)
+0:105 'i' (temp int)
+0:105 Constant:
+0:105 0 (const int)
+0:105 Loop with condition tested first
+0:105 Loop Condition
+0:105 Compare Less Than (temp bool)
+0:105 'i' (temp int)
+0:105 'Count' (uniform int)
+0:105 Loop Body
+0:106 Sequence
+0:106 add second child into first child (temp 4-component vector of float)
+0:106 'color' (temp 4-component vector of float)
+0:106 'bigColor2' (uniform 4-component vector of float)
+0:105 Loop Terminal Expression
+0:105 Pre-Increment (temp int)
+0:105 'i' (temp int)
+0:112 Loop with condition not tested first
+0:112 Loop Condition
+0:112 Compare Less Than (temp bool)
+0:112 direct index (temp float)
+0:112 'color' (temp 4-component vector of float)
+0:112 Constant:
+0:112 0 (const int)
+0:112 'd2' (uniform float)
+0:112 Loop Body
+0:111 Sequence
+0:111 add second child into first child (temp 4-component vector of float)
+0:111 'color' (temp 4-component vector of float)
+0:111 'bigColor3' (uniform 4-component vector of float)
+0:115 Sequence
+0:115 Sequence
+0:115 move second child to first child (temp int)
+0:115 'i' (temp int)
+0:115 Constant:
+0:115 0 (const int)
+0:115 Loop with condition tested first
+0:115 Loop Condition
+0:115 Compare Less Than (temp bool)
+0:115 'i' (temp int)
+0:115 Constant:
+0:115 42 (const int)
+0:115 Loop Body
+0:116 Sequence
+0:116 add second child into first child (temp float)
+0:116 direct index (temp float)
+0:116 'color' (temp 4-component vector of float)
+0:116 Constant:
+0:116 2 (const int)
+0:116 'd3' (uniform float)
+0:115 Loop Terminal Expression
+0:115 Pre-Increment (temp int)
+0:115 'i' (temp int)
+0:120 Sequence
+0:120 Sequence
+0:120 move second child to first child (temp int)
+0:120 'i' (temp int)
+0:120 Constant:
+0:120 0 (const int)
+0:120 Loop with condition tested first
+0:120 Loop Condition
+0:120 Compare Less Than (temp bool)
+0:120 'i' (temp int)
+0:120 Constant:
+0:120 100 (const int)
+0:120 Loop Body
+0:121 Sequence
+0:121 Test condition and select (temp void)
+0:121 Condition
+0:121 Compare Less Than (temp bool)
+0:121 direct index (temp float)
+0:121 'color' (temp 4-component vector of float)
+0:121 Constant:
+0:121 2 (const int)
+0:121 Constant:
+0:121 20.000000
+0:121 true case
+0:122 Post-Increment (temp float)
+0:122 direct index (temp float)
+0:122 'color' (temp 4-component vector of float)
+0:122 Constant:
+0:122 0 (const int)
+0:121 false case
+0:124 Post-Increment (temp float)
+0:124 direct index (temp float)
+0:124 'color' (temp 4-component vector of float)
+0:124 Constant:
+0:124 1 (const int)
+0:125 Test condition and select (temp void)
+0:125 Condition
+0:125 Compare Less Than (temp bool)
+0:125 direct index (temp float)
+0:125 'color' (temp 4-component vector of float)
+0:125 Constant:
+0:125 3 (const int)
+0:125 Constant:
+0:125 20.000000
+0:125 true case
+0:126 Test condition and select (temp void)
+0:126 Condition
+0:126 Compare Greater Than (temp bool)
+0:126 direct index (temp float)
+0:126 'color' (temp 4-component vector of float)
+0:126 Constant:
+0:126 2 (const int)
+0:126 direct index (temp float)
+0:126 'color' (temp 4-component vector of float)
+0:126 Constant:
+0:126 1 (const int)
+0:126 true case
+0:127 Constant:
+0:127 0 (const int)
+0:120 Loop Terminal Expression
+0:120 Pre-Increment (temp int)
+0:120 'i' (temp int)
+0:131 Sequence
+0:131 Sequence
+0:131 move second child to first child (temp int)
+0:131 'i' (temp int)
+0:131 Constant:
+0:131 0 (const int)
+0:131 Loop with condition tested first
+0:131 Loop Condition
+0:131 Compare Less Than (temp bool)
+0:131 'i' (temp int)
+0:131 Constant:
+0:131 120 (const int)
+0:131 Loop Body
+0:132 Sequence
+0:132 Test condition and select (temp void)
+0:132 Condition
+0:132 Compare Less Than (temp bool)
+0:132 direct index (temp float)
+0:132 'color' (temp 4-component vector of float)
+0:132 Constant:
+0:132 2 (const int)
+0:132 Constant:
+0:132 20.000000
+0:132 true case
+0:133 Post-Increment (temp float)
+0:133 direct index (temp float)
+0:133 'color' (temp 4-component vector of float)
+0:133 Constant:
+0:133 0 (const int)
+0:132 false case
+0:135 Post-Increment (temp float)
+0:135 direct index (temp float)
+0:135 'color' (temp 4-component vector of float)
+0:135 Constant:
+0:135 1 (const int)
+0:131 Loop Terminal Expression
+0:131 Pre-Increment (temp int)
+0:131 'i' (temp int)
+0:139 Sequence
+0:139 Sequence
+0:139 move second child to first child (temp int)
+0:139 'i' (temp int)
+0:139 Constant:
+0:139 0 (const int)
+0:139 Loop with condition tested first
+0:139 Loop Condition
+0:139 Compare Less Than (temp bool)
+0:139 'i' (temp int)
+0:139 Constant:
+0:139 42 (const int)
+0:139 Loop Body
+0:140 Sequence
+0:140 add second child into first child (temp float)
+0:140 direct index (temp float)
+0:140 'color' (temp 4-component vector of float)
+0:140 Constant:
+0:140 2 (const int)
+0:140 'd3' (uniform float)
+0:141 Test condition and select (temp void)
+0:141 Condition
+0:141 Compare Less Than (temp bool)
+0:141 direct index (temp float)
+0:141 'color' (temp 4-component vector of float)
+0:141 Constant:
+0:141 0 (const int)
+0:141 'd4' (uniform float)
+0:141 true case
+0:142 Branch: Continue
+0:143 Pre-Increment (temp float)
+0:143 direct index (temp float)
+0:143 'color' (temp 4-component vector of float)
+0:143 Constant:
+0:143 3 (const int)
+0:139 Loop Terminal Expression
+0:139 Pre-Increment (temp int)
+0:139 'i' (temp int)
+0:147 Sequence
+0:147 Sequence
+0:147 move second child to first child (temp int)
+0:147 'i' (temp int)
+0:147 Constant:
+0:147 0 (const int)
+0:147 Loop with condition tested first
+0:147 Loop Condition
+0:147 Compare Less Than (temp bool)
+0:147 'i' (temp int)
+0:147 Constant:
+0:147 42 (const int)
+0:147 Loop Body
+0:148 Sequence
+0:148 add second child into first child (temp float)
+0:148 direct index (temp float)
+0:148 'color' (temp 4-component vector of float)
+0:148 Constant:
+0:148 2 (const int)
+0:148 'd3' (uniform float)
+0:149 Test condition and select (temp void)
+0:149 Condition
+0:149 Compare Less Than (temp bool)
+0:149 direct index (temp float)
+0:149 'color' (temp 4-component vector of float)
+0:149 Constant:
+0:149 0 (const int)
+0:149 'd4' (uniform float)
+0:149 true case
+0:150 Branch: Break
+0:151 Pre-Increment (temp float)
+0:151 direct index (temp float)
+0:151 'color' (temp 4-component vector of float)
+0:151 Constant:
+0:151 3 (const int)
+0:147 Loop Terminal Expression
+0:147 Pre-Increment (temp int)
+0:147 'i' (temp int)
+0:163 Loop with condition not tested first
+0:163 Loop Condition
+0:163 Compare Less Than (temp bool)
+0:163 direct index (temp float)
+0:163 'color' (temp 4-component vector of float)
+0:163 Constant:
+0:163 2 (const int)
+0:163 'd4' (uniform float)
+0:163 Loop Body
+0:156 Sequence
+0:156 add second child into first child (temp 4-component vector of float)
+0:156 'color' (temp 4-component vector of float)
+0:156 'bigColor4' (uniform 4-component vector of float)
+0:157 Test condition and select (temp void)
+0:157 Condition
+0:157 Compare Less Than (temp bool)
+0:157 direct index (temp float)
+0:157 'color' (temp 4-component vector of float)
+0:157 Constant:
+0:157 0 (const int)
+0:157 'd4' (uniform float)
+0:157 true case
+0:158 Branch: Continue
+0:159 Test condition and select (temp void)
+0:159 Condition
+0:159 Compare Less Than (temp bool)
+0:159 direct index (temp float)
+0:159 'color' (temp 4-component vector of float)
+0:159 Constant:
+0:159 1 (const int)
+0:159 'd4' (uniform float)
+0:159 true case
+0:160 add second child into first child (temp float)
+0:160 direct index (temp float)
+0:160 'color' (temp 4-component vector of float)
+0:160 Constant:
+0:160 1 (const int)
+0:160 'd4' (uniform float)
+0:159 false case
+0:162 add second child into first child (temp float)
+0:162 direct index (temp float)
+0:162 'color' (temp 4-component vector of float)
+0:162 Constant:
+0:162 0 (const int)
+0:162 'd4' (uniform float)
+0:170 Loop with condition not tested first
+0:170 Loop Condition
+0:170 Compare Less Than (temp bool)
+0:170 direct index (temp float)
+0:170 'color' (temp 4-component vector of float)
+0:170 Constant:
+0:170 0 (const int)
+0:170 'd5' (uniform float)
+0:170 Loop Body
+0:167 Sequence
+0:167 add second child into first child (temp 4-component vector of float)
+0:167 'color' (temp 4-component vector of float)
+0:167 'bigColor5' (uniform 4-component vector of float)
+0:168 Test condition and select (temp void)
+0:168 Condition
+0:168 Compare Less Than (temp bool)
+0:168 direct index (temp float)
+0:168 'color' (temp 4-component vector of float)
+0:168 Constant:
+0:168 1 (const int)
+0:168 'd5' (uniform float)
+0:168 true case
+0:169 add second child into first child (temp float)
+0:169 direct index (temp float)
+0:169 'color' (temp 4-component vector of float)
+0:169 Constant:
+0:169 1 (const int)
+0:169 'd5' (uniform float)
+0:173 Test condition and select (temp void)
+0:173 Condition
+0:173 Compare Less Than (temp bool)
+0:173 direct index (temp float)
+0:173 'color' (temp 4-component vector of float)
+0:173 Constant:
+0:173 0 (const int)
+0:173 'd6' (uniform float)
+0:173 true case
+0:174 Sequence
+0:174 Loop with condition tested first
+0:174 Loop Condition
+0:174 Compare Less Than (temp bool)
+0:174 direct index (temp float)
+0:174 'color' (temp 4-component vector of float)
+0:174 Constant:
+0:174 1 (const int)
+0:174 'd6' (uniform float)
+0:174 Loop Body
+0:175 add second child into first child (temp 4-component vector of float)
+0:175 'color' (temp 4-component vector of float)
+0:175 'bigColor6' (uniform 4-component vector of float)
+0:173 false case
+0:177 Sequence
+0:177 Loop with condition tested first
+0:177 Loop Condition
+0:177 Compare Less Than (temp bool)
+0:177 direct index (temp float)
+0:177 'color' (temp 4-component vector of float)
+0:177 Constant:
+0:177 2 (const int)
+0:177 'd6' (uniform float)
+0:177 Loop Body
+0:178 add second child into first child (temp float)
+0:178 direct index (temp float)
+0:178 'color' (temp 4-component vector of float)
+0:178 Constant:
+0:178 2 (const int)
+0:178 direct index (temp float)
+0:178 'bigColor6' (uniform 4-component vector of float)
+0:178 Constant:
+0:178 2 (const int)
+0:182 Test condition and select (temp void)
+0:182 Condition
+0:182 Compare Less Than (temp bool)
+0:182 direct index (temp float)
+0:182 'color' (temp 4-component vector of float)
+0:182 Constant:
+0:182 0 (const int)
+0:182 'd6' (uniform float)
+0:182 true case
+0:183 Sequence
+0:183 Loop with condition tested first
+0:183 Loop Condition
+0:183 Compare Less Than (temp bool)
+0:183 direct index (temp float)
+0:183 'color' (temp 4-component vector of float)
+0:183 Constant:
+0:183 1 (const int)
+0:183 'd6' (uniform float)
+0:183 Loop Body
+0:184 Sequence
+0:184 add second child into first child (temp 4-component vector of float)
+0:184 'color' (temp 4-component vector of float)
+0:184 'bigColor6' (uniform 4-component vector of float)
+0:185 Test condition and select (temp void)
+0:185 Condition
+0:185 Compare Less Than (temp bool)
+0:185 'd7' (uniform float)
+0:185 Constant:
+0:185 1.000000
+0:185 true case
+0:186 Branch: Break
+0:182 false case
+0:190 Sequence
+0:190 Loop with condition tested first
+0:190 Loop Condition
+0:190 Compare Less Than (temp bool)
+0:190 direct index (temp float)
+0:190 'color' (temp 4-component vector of float)
+0:190 Constant:
+0:190 2 (const int)
+0:190 'd6' (uniform float)
+0:190 Loop Body
+0:191 add second child into first child (temp float)
+0:191 direct index (temp float)
+0:191 'color' (temp 4-component vector of float)
+0:191 Constant:
+0:191 2 (const int)
+0:191 direct index (temp float)
+0:191 'bigColor6' (uniform 4-component vector of float)
+0:191 Constant:
+0:191 2 (const int)
+0:209 Loop with condition not tested first
+0:209 Loop Condition
+0:209 Constant:
+0:209 true (const bool)
+0:209 Loop Body
+0:197 Sequence
+0:197 Test condition and select (temp void)
+0:197 Condition
+0:197 Compare Less Than (temp bool)
+0:197 'd7' (uniform float)
+0:197 Constant:
+0:197 0.000000
+0:197 true case
+0:198 Branch: Break
+0:200 add second child into first child (temp 4-component vector of float)
+0:200 'color' (temp 4-component vector of float)
+0:200 'bigColor7' (uniform 4-component vector of float)
+0:202 Test condition and select (temp void)
+0:202 Condition
+0:202 Compare Less Than (temp bool)
+0:202 'd7' (uniform float)
+0:202 Constant:
+0:202 1.000000
+0:202 true case
+0:203 Sequence
+0:203 Post-Increment (temp float)
+0:203 direct index (temp float)
+0:203 'color' (temp 4-component vector of float)
+0:203 Constant:
+0:203 2 (const int)
+0:204 Branch: Break
+0:207 add second child into first child (temp 4-component vector of float)
+0:207 'color' (temp 4-component vector of float)
+0:207 'BaseColor' (smooth in 4-component vector of float)
+0:234 Loop with condition not tested first
+0:234 Loop Condition
+0:234 Compare Less Than (temp bool)
+0:234 direct index (temp float)
+0:234 'color' (temp 4-component vector of float)
+0:234 Constant:
+0:234 2 (const int)
+0:234 'd8' (uniform float)
+0:234 Loop Body
+0:217 Sequence
+0:217 Test condition and select (temp void)
+0:217 Condition
+0:217 Compare Less Than (temp bool)
+0:217 'd8' (uniform float)
+0:217 Constant:
+0:217 0.000000
+0:217 true case
+0:218 Branch: Break
+0:220 add second child into first child (temp 4-component vector of float)
+0:220 'color' (temp 4-component vector of float)
+0:220 'bigColor7' (uniform 4-component vector of float)
+0:222 Test condition and select (temp void)
+0:222 Condition
+0:222 Compare Less Than (temp bool)
+0:222 'd8' (uniform float)
+0:222 Constant:
+0:222 1.000000
+0:222 true case
+0:223 Sequence
+0:223 Post-Increment (temp float)
+0:223 direct index (temp float)
+0:223 'color' (temp 4-component vector of float)
+0:223 Constant:
+0:223 2 (const int)
+0:224 Test condition and select (temp void)
+0:224 Condition
+0:224 Compare Less Than (temp bool)
+0:224 'd8' (uniform float)
+0:224 Constant:
+0:224 2.000000
+0:224 true case
+0:225 Sequence
+0:225 Post-Increment (temp float)
+0:225 direct index (temp float)
+0:225 'color' (temp 4-component vector of float)
+0:225 Constant:
+0:225 1 (const int)
+0:224 false case
+0:227 Sequence
+0:227 Post-Increment (temp float)
+0:227 direct index (temp float)
+0:227 'color' (temp 4-component vector of float)
+0:227 Constant:
+0:227 0 (const int)
+0:229 Branch: Break
+0:232 add second child into first child (temp 4-component vector of float)
+0:232 'color' (temp 4-component vector of float)
+0:232 'BaseColor' (smooth in 4-component vector of float)
+0:237 Loop with condition tested first
+0:237 Loop Condition
+0:237 Compare Less Than (temp bool)
+0:237 direct index (temp float)
+0:237 'color' (temp 4-component vector of float)
+0:237 Constant:
+0:237 3 (const int)
+0:237 'd9' (uniform float)
+0:237 Loop Body
+0:238 Sequence
+0:238 Test condition and select (temp void)
+0:238 Condition
+0:238 Compare Greater Than (temp bool)
+0:238 'd9' (uniform float)
+0:238 'd8' (uniform float)
+0:238 true case
+0:239 Sequence
+0:239 Test condition and select (temp void)
+0:239 Condition
+0:239 Compare Less Than or Equal (temp bool)
+0:239 direct index (temp float)
+0:239 'color' (temp 4-component vector of float)
+0:239 Constant:
+0:239 0 (const int)
+0:239 'd7' (uniform float)
+0:239 true case
+0:240 Sequence
+0:240 Test condition and select (temp void)
+0:240 Condition
+0:240 Compare Equal (temp bool)
+0:240 direct index (temp float)
+0:240 'color' (temp 4-component vector of float)
+0:240 Constant:
+0:240 2 (const int)
+0:240 Constant:
+0:240 5.000000
+0:240 true case
+0:241 Post-Increment (temp float)
+0:241 direct index (temp float)
+0:241 'color' (temp 4-component vector of float)
+0:241 Constant:
+0:241 3 (const int)
+0:240 false case
+0:243 Branch: Break
+0:250 Loop with condition tested first
+0:250 Loop Condition
+0:250 Compare Less Than (temp bool)
+0:250 direct index (temp float)
+0:250 'color' (temp 4-component vector of float)
+0:250 Constant:
+0:250 2 (const int)
+0:250 'd10' (uniform float)
+0:250 Loop Body
+0:251 Sequence
+0:251 Post-Increment (temp float)
+0:251 direct index (temp float)
+0:251 'color' (temp 4-component vector of float)
+0:251 Constant:
+0:251 1 (const int)
+0:252 Test condition and select (temp void)
+0:252 Condition
+0:252 Compare Less Than (temp bool)
+0:252 direct index (temp float)
+0:252 'color' (temp 4-component vector of float)
+0:252 Constant:
+0:252 1 (const int)
+0:252 'd11' (uniform float)
+0:252 true case
+0:253 Sequence
+0:253 Post-Increment (temp float)
+0:253 direct index (temp float)
+0:253 'color' (temp 4-component vector of float)
+0:253 Constant:
+0:253 2 (const int)
+0:254 Test condition and select (temp void)
+0:254 Condition
+0:254 Compare Less Than (temp bool)
+0:254 direct index (temp float)
+0:254 'color' (temp 4-component vector of float)
+0:254 Constant:
+0:254 3 (const int)
+0:254 'd12' (uniform float)
+0:254 true case
+0:255 Post-Increment (temp float)
+0:255 direct index (temp float)
+0:255 'color' (temp 4-component vector of float)
+0:255 Constant:
+0:255 3 (const int)
+0:254 false case
+0:257 Post-Increment (temp float)
+0:257 direct index (temp float)
+0:257 'color' (temp 4-component vector of float)
+0:257 Constant:
+0:257 0 (const int)
+0:258 Branch: Continue
+0:261 Post-Increment (temp 4-component vector of float)
+0:261 'color' (temp 4-component vector of float)
+0:262 Branch: Break
+0:266 Loop with condition tested first
+0:266 Loop Condition
+0:266 Compare Less Than (temp bool)
+0:266 direct index (temp float)
+0:266 'color' (temp 4-component vector of float)
+0:266 Constant:
+0:266 0 (const int)
+0:266 Constant:
+0:266 10.000000
+0:266 Loop Body
+0:267 Sequence
+0:267 add second child into first child (temp 4-component vector of float)
+0:267 'color' (temp 4-component vector of float)
+0:267 'bigColor8' (uniform 4-component vector of float)
+0:269 Test condition and select (temp void)
+0:269 Condition
+0:269 Compare Less Than (temp bool)
+0:269 direct index (temp float)
+0:269 'color' (temp 4-component vector of float)
+0:269 Constant:
+0:269 2 (const int)
+0:269 'd8' (uniform float)
+0:269 true case
+0:270 Test condition and select (temp void)
+0:270 Condition
+0:270 Compare Less Than (temp bool)
+0:270 direct index (temp float)
+0:270 'color' (temp 4-component vector of float)
+0:270 Constant:
+0:270 3 (const int)
+0:270 'd6' (uniform float)
+0:270 true case
+0:271 Branch: Continue
+0:273 add second child into first child (temp float)
+0:273 direct index (temp float)
+0:273 'color' (temp 4-component vector of float)
+0:273 Constant:
+0:273 1 (const int)
+0:273 direct index (temp float)
+0:273 'bigColor8' (uniform 4-component vector of float)
+0:273 Constant:
+0:273 0 (const int)
+0:276 Post-Increment (temp 4-component vector of float)
+0:276 'color' (temp 4-component vector of float)
+0:277 move second child to first child (temp 4-component vector of float)
+0:277 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:277 'color' (temp 4-component vector of float)
+0:280 Loop with condition tested first
+0:280 Loop Condition
+0:280 Compare Less Than (temp bool)
+0:280 direct index (temp float)
+0:280 'color' (temp 4-component vector of float)
+0:280 Constant:
+0:280 0 (const int)
+0:280 'd14' (uniform float)
+0:280 Loop Body
+0:281 Sequence
+0:281 Test condition and select (temp void)
+0:281 Condition
+0:281 Compare Less Than (temp bool)
+0:281 direct index (temp float)
+0:281 'color' (temp 4-component vector of float)
+0:281 Constant:
+0:281 1 (const int)
+0:281 'd15' (uniform float)
+0:281 true case
+0:282 Sequence
+0:282 Branch: Return
+0:281 false case
+0:285 Post-Increment (temp 4-component vector of float)
+0:285 'color' (temp 4-component vector of float)
+0:288 Post-Increment (temp 4-component vector of float)
+0:288 'color' (temp 4-component vector of float)
+0:290 Loop with condition tested first
+0:290 Loop Condition
+0:290 Compare Less Than (temp bool)
+0:290 direct index (temp float)
+0:290 'color' (temp 4-component vector of float)
+0:290 Constant:
+0:290 3 (const int)
+0:290 'd16' (uniform float)
+0:290 Loop Body
+0:291 Sequence
+0:291 Post-Increment (temp float)
+0:291 direct index (temp float)
+0:291 'color' (temp 4-component vector of float)
+0:291 Constant:
+0:291 3 (const int)
+0:296 Loop with condition tested first
+0:296 Loop Condition
+0:296 logical-and (temp bool)
+0:296 Compare Less Than (temp bool)
+0:296 direct index (temp float)
+0:296 'color' (temp 4-component vector of float)
+0:296 Constant:
+0:296 3 (const int)
+0:296 'd2' (uniform float)
+0:296 Compare Less Than (temp bool)
+0:296 direct index (temp float)
+0:296 'color' (temp 4-component vector of float)
+0:296 Constant:
+0:296 1 (const int)
+0:296 'd3' (uniform float)
+0:296 Loop Body
+0:297 Sequence
+0:297 add second child into first child (temp 4-component vector of float)
+0:297 'color' (temp 4-component vector of float)
+0:297 'bigColor1_2' (uniform 4-component vector of float)
+0:298 Test condition and select (temp void)
+0:298 Condition
+0:298 Compare Less Than (temp bool)
+0:298 direct index (temp float)
+0:298 'color' (temp 4-component vector of float)
+0:298 Constant:
+0:298 2 (const int)
+0:298 'd3' (uniform float)
+0:298 true case
+0:299 Branch: Return
+0:307 Loop with condition not tested first
+0:307 Loop Condition
+0:307 Compare Less Than (temp bool)
+0:307 direct index (temp float)
+0:307 'color' (temp 4-component vector of float)
+0:307 Constant:
+0:307 0 (const int)
+0:307 'd17' (uniform float)
+0:307 Loop Body
+0:304 Sequence
+0:304 Test condition and select (temp void)
+0:304 Condition
+0:304 Compare Less Than (temp bool)
+0:304 direct index (temp float)
+0:304 'color' (temp 4-component vector of float)
+0:304 Constant:
+0:304 1 (const int)
+0:304 'd18' (uniform float)
+0:304 true case
+0:305 Branch: Return
+0:306 Post-Increment (temp 4-component vector of float)
+0:306 'color' (temp 4-component vector of float)
+0:310 Loop with condition tested first
+0:310 Loop Condition
+0:310 Compare Less Than (temp bool)
+0:310 direct index (temp float)
+0:310 'color' (temp 4-component vector of float)
+0:310 Constant:
+0:310 1 (const int)
+0:310 'd16' (uniform float)
+0:310 Loop Body
+0:311 Sequence
+0:311 Test condition and select (temp void)
+0:311 Condition
+0:311 Compare Less Than (temp bool)
+0:311 direct index (temp float)
+0:311 'color' (temp 4-component vector of float)
+0:311 Constant:
+0:311 3 (const int)
+0:311 'd16' (uniform float)
+0:311 true case
+0:312 Sequence
+0:312 Branch: Kill
+0:311 false case
+0:314 Post-Increment (temp 4-component vector of float)
+0:314 'color' (temp 4-component vector of float)
+0:317 Post-Increment (temp 4-component vector of float)
+0:317 'color' (temp 4-component vector of float)
+0:319 move second child to first child (temp 4-component vector of float)
+0:319 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:319 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'bigColor1_1' (uniform 4-component vector of float)
+0:? 'bigColor1_2' (uniform 4-component vector of float)
+0:? 'bigColor1_3' (uniform 4-component vector of float)
+0:? 'bigColor2' (uniform 4-component vector of float)
+0:? 'bigColor3' (uniform 4-component vector of float)
+0:? 'bigColor4' (uniform 4-component vector of float)
+0:? 'bigColor5' (uniform 4-component vector of float)
+0:? 'bigColor6' (uniform 4-component vector of float)
+0:? 'bigColor7' (uniform 4-component vector of float)
+0:? 'bigColor8' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'd2' (uniform float)
+0:? 'd3' (uniform float)
+0:? 'd4' (uniform float)
+0:? 'd5' (uniform float)
+0:? 'd6' (uniform float)
+0:? 'd7' (uniform float)
+0:? 'd8' (uniform float)
+0:? 'd9' (uniform float)
+0:? 'd10' (uniform float)
+0:? 'd11' (uniform float)
+0:? 'd12' (uniform float)
+0:? 'd13' (uniform float)
+0:? 'd14' (uniform float)
+0:? 'd15' (uniform float)
+0:? 'd16' (uniform float)
+0:? 'd17' (uniform float)
+0:? 'd18' (uniform float)
+0:? 'd19' (uniform float)
+0:? 'd20' (uniform float)
+0:? 'd21' (uniform float)
+0:? 'd22' (uniform float)
+0:? 'd23' (uniform float)
+0:? 'd24' (uniform float)
+0:? 'd25' (uniform float)
+0:? 'd26' (uniform float)
+0:? 'd27' (uniform float)
+0:? 'd28' (uniform float)
+0:? 'd29' (uniform float)
+0:? 'd30' (uniform float)
+0:? 'd31' (uniform float)
+0:? 'd32' (uniform float)
+0:? 'd33' (uniform float)
+0:? 'd34' (uniform float)
+0:? 'Count' (uniform int)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:53 Function Definition: main( (global void)
+0:53 Function Parameters:
+0:55 Sequence
+0:55 Sequence
+0:55 move second child to first child (temp 4-component vector of float)
+0:55 'color' (temp 4-component vector of float)
+0:55 'BaseColor' (smooth in 4-component vector of float)
+0:58 Loop with condition tested first
+0:58 Loop Condition
+0:58 Constant:
+0:58 true (const bool)
+0:58 Loop Body
+0:59 Sequence
+0:59 Test condition and select (temp void)
+0:59 Condition
+0:59 Compare Less Than (temp bool)
+0:59 direct index (temp float)
+0:59 'color' (temp 4-component vector of float)
+0:59 Constant:
+0:59 0 (const int)
+0:59 Constant:
+0:59 0.330000
+0:59 true case
+0:60 Sequence
+0:60 add second child into first child (temp 4-component vector of float)
+0:60 'color' (temp 4-component vector of float)
+0:60 Constant:
+0:60 0.330000
+0:60 0.330000
+0:60 0.330000
+0:60 0.330000
+0:61 Branch: Break
+0:63 Test condition and select (temp void)
+0:63 Condition
+0:63 Compare Less Than (temp bool)
+0:63 direct index (temp float)
+0:63 'color' (temp 4-component vector of float)
+0:63 Constant:
+0:63 0 (const int)
+0:63 Constant:
+0:63 0.660000
+0:63 true case
+0:64 Sequence
+0:64 add second child into first child (temp 4-component vector of float)
+0:64 'color' (temp 4-component vector of float)
+0:64 Constant:
+0:64 0.660000
+0:64 0.660000
+0:64 0.660000
+0:64 0.660000
+0:65 Branch: Break
+0:68 add second child into first child (temp 4-component vector of float)
+0:68 'color' (temp 4-component vector of float)
+0:68 Constant:
+0:68 0.330000
+0:68 0.330000
+0:68 0.330000
+0:68 0.330000
+0:69 Branch: Break
+0:73 Loop with condition tested first
+0:73 Loop Condition
+0:73 Compare Less Than (temp bool)
+0:73 direct index (temp float)
+0:73 'color' (temp 4-component vector of float)
+0:73 Constant:
+0:73 0 (const int)
+0:73 'd' (uniform float)
+0:73 Loop Body
+0:74 Sequence
+0:74 add second child into first child (temp 4-component vector of float)
+0:74 'color' (temp 4-component vector of float)
+0:74 'bigColor' (uniform 4-component vector of float)
+0:78 Loop with condition tested first
+0:78 Loop Condition
+0:78 Compare Less Than (temp bool)
+0:78 direct index (temp float)
+0:78 'color' (temp 4-component vector of float)
+0:78 Constant:
+0:78 2 (const int)
+0:78 'd' (uniform float)
+0:78 Loop Body
+0:79 Sequence
+0:79 add second child into first child (temp 4-component vector of float)
+0:79 'color' (temp 4-component vector of float)
+0:79 'bigColor1_1' (uniform 4-component vector of float)
+0:80 Test condition and select (temp void)
+0:80 Condition
+0:80 Compare Less Than (temp bool)
+0:80 direct index (temp float)
+0:80 'color' (temp 4-component vector of float)
+0:80 Constant:
+0:80 3 (const int)
+0:80 'd' (uniform float)
+0:80 true case
+0:81 Branch: Continue
+0:83 add second child into first child (temp 4-component vector of float)
+0:83 'color' (temp 4-component vector of float)
+0:83 'bigColor1_1' (uniform 4-component vector of float)
+0:87 Loop with condition tested first
+0:87 Loop Condition
+0:87 Compare Less Than (temp bool)
+0:87 direct index (temp float)
+0:87 'color' (temp 4-component vector of float)
+0:87 Constant:
+0:87 0 (const int)
+0:87 Constant:
+0:87 42.000000
+0:87 Loop Body
+0:88 Sequence
+0:88 Pre-Increment (temp 4-component vector of float)
+0:88 'color' (temp 4-component vector of float)
+0:92 Loop with condition tested first
+0:92 Loop Condition
+0:92 logical-and (temp bool)
+0:92 Compare Less Than (temp bool)
+0:92 direct index (temp float)
+0:92 'color' (temp 4-component vector of float)
+0:92 Constant:
+0:92 3 (const int)
+0:92 'd2' (uniform float)
+0:92 Compare Less Than (temp bool)
+0:92 direct index (temp float)
+0:92 'color' (temp 4-component vector of float)
+0:92 Constant:
+0:92 1 (const int)
+0:92 'd3' (uniform float)
+0:92 Loop Body
+0:93 Sequence
+0:93 add second child into first child (temp 4-component vector of float)
+0:93 'color' (temp 4-component vector of float)
+0:93 'bigColor1_2' (uniform 4-component vector of float)
+0:97 Loop with condition tested first
+0:97 Loop Condition
+0:97 Compare Less Than (temp bool)
+0:97 direct index (temp float)
+0:97 'color' (temp 4-component vector of float)
+0:97 Constant:
+0:97 2 (const int)
+0:97 'd3' (uniform float)
+0:97 Loop Body
+0:98 Sequence
+0:98 add second child into first child (temp 4-component vector of float)
+0:98 'color' (temp 4-component vector of float)
+0:98 'bigColor1_3' (uniform 4-component vector of float)
+0:99 Test condition and select (temp void)
+0:99 Condition
+0:99 Compare Less Than (temp bool)
+0:99 direct index (temp float)
+0:99 'color' (temp 4-component vector of float)
+0:99 Constant:
+0:99 1 (const int)
+0:99 'd4' (uniform float)
+0:99 true case
+0:100 Branch: Break
+0:101 add second child into first child (temp 4-component vector of float)
+0:101 'color' (temp 4-component vector of float)
+0:101 'bigColor1_3' (uniform 4-component vector of float)
+0:105 Sequence
+0:105 Sequence
+0:105 move second child to first child (temp int)
+0:105 'i' (temp int)
+0:105 Constant:
+0:105 0 (const int)
+0:105 Loop with condition tested first
+0:105 Loop Condition
+0:105 Compare Less Than (temp bool)
+0:105 'i' (temp int)
+0:105 'Count' (uniform int)
+0:105 Loop Body
+0:106 Sequence
+0:106 add second child into first child (temp 4-component vector of float)
+0:106 'color' (temp 4-component vector of float)
+0:106 'bigColor2' (uniform 4-component vector of float)
+0:105 Loop Terminal Expression
+0:105 Pre-Increment (temp int)
+0:105 'i' (temp int)
+0:112 Loop with condition not tested first
+0:112 Loop Condition
+0:112 Compare Less Than (temp bool)
+0:112 direct index (temp float)
+0:112 'color' (temp 4-component vector of float)
+0:112 Constant:
+0:112 0 (const int)
+0:112 'd2' (uniform float)
+0:112 Loop Body
+0:111 Sequence
+0:111 add second child into first child (temp 4-component vector of float)
+0:111 'color' (temp 4-component vector of float)
+0:111 'bigColor3' (uniform 4-component vector of float)
+0:115 Sequence
+0:115 Sequence
+0:115 move second child to first child (temp int)
+0:115 'i' (temp int)
+0:115 Constant:
+0:115 0 (const int)
+0:115 Loop with condition tested first
+0:115 Loop Condition
+0:115 Compare Less Than (temp bool)
+0:115 'i' (temp int)
+0:115 Constant:
+0:115 42 (const int)
+0:115 Loop Body
+0:116 Sequence
+0:116 add second child into first child (temp float)
+0:116 direct index (temp float)
+0:116 'color' (temp 4-component vector of float)
+0:116 Constant:
+0:116 2 (const int)
+0:116 'd3' (uniform float)
+0:115 Loop Terminal Expression
+0:115 Pre-Increment (temp int)
+0:115 'i' (temp int)
+0:120 Sequence
+0:120 Sequence
+0:120 move second child to first child (temp int)
+0:120 'i' (temp int)
+0:120 Constant:
+0:120 0 (const int)
+0:120 Loop with condition tested first
+0:120 Loop Condition
+0:120 Compare Less Than (temp bool)
+0:120 'i' (temp int)
+0:120 Constant:
+0:120 100 (const int)
+0:120 Loop Body
+0:121 Sequence
+0:121 Test condition and select (temp void)
+0:121 Condition
+0:121 Compare Less Than (temp bool)
+0:121 direct index (temp float)
+0:121 'color' (temp 4-component vector of float)
+0:121 Constant:
+0:121 2 (const int)
+0:121 Constant:
+0:121 20.000000
+0:121 true case
+0:122 Post-Increment (temp float)
+0:122 direct index (temp float)
+0:122 'color' (temp 4-component vector of float)
+0:122 Constant:
+0:122 0 (const int)
+0:121 false case
+0:124 Post-Increment (temp float)
+0:124 direct index (temp float)
+0:124 'color' (temp 4-component vector of float)
+0:124 Constant:
+0:124 1 (const int)
+0:125 Test condition and select (temp void)
+0:125 Condition
+0:125 Compare Less Than (temp bool)
+0:125 direct index (temp float)
+0:125 'color' (temp 4-component vector of float)
+0:125 Constant:
+0:125 3 (const int)
+0:125 Constant:
+0:125 20.000000
+0:125 true case
+0:126 Test condition and select (temp void)
+0:126 Condition
+0:126 Compare Greater Than (temp bool)
+0:126 direct index (temp float)
+0:126 'color' (temp 4-component vector of float)
+0:126 Constant:
+0:126 2 (const int)
+0:126 direct index (temp float)
+0:126 'color' (temp 4-component vector of float)
+0:126 Constant:
+0:126 1 (const int)
+0:126 true case
+0:127 Constant:
+0:127 0 (const int)
+0:120 Loop Terminal Expression
+0:120 Pre-Increment (temp int)
+0:120 'i' (temp int)
+0:131 Sequence
+0:131 Sequence
+0:131 move second child to first child (temp int)
+0:131 'i' (temp int)
+0:131 Constant:
+0:131 0 (const int)
+0:131 Loop with condition tested first
+0:131 Loop Condition
+0:131 Compare Less Than (temp bool)
+0:131 'i' (temp int)
+0:131 Constant:
+0:131 120 (const int)
+0:131 Loop Body
+0:132 Sequence
+0:132 Test condition and select (temp void)
+0:132 Condition
+0:132 Compare Less Than (temp bool)
+0:132 direct index (temp float)
+0:132 'color' (temp 4-component vector of float)
+0:132 Constant:
+0:132 2 (const int)
+0:132 Constant:
+0:132 20.000000
+0:132 true case
+0:133 Post-Increment (temp float)
+0:133 direct index (temp float)
+0:133 'color' (temp 4-component vector of float)
+0:133 Constant:
+0:133 0 (const int)
+0:132 false case
+0:135 Post-Increment (temp float)
+0:135 direct index (temp float)
+0:135 'color' (temp 4-component vector of float)
+0:135 Constant:
+0:135 1 (const int)
+0:131 Loop Terminal Expression
+0:131 Pre-Increment (temp int)
+0:131 'i' (temp int)
+0:139 Sequence
+0:139 Sequence
+0:139 move second child to first child (temp int)
+0:139 'i' (temp int)
+0:139 Constant:
+0:139 0 (const int)
+0:139 Loop with condition tested first
+0:139 Loop Condition
+0:139 Compare Less Than (temp bool)
+0:139 'i' (temp int)
+0:139 Constant:
+0:139 42 (const int)
+0:139 Loop Body
+0:140 Sequence
+0:140 add second child into first child (temp float)
+0:140 direct index (temp float)
+0:140 'color' (temp 4-component vector of float)
+0:140 Constant:
+0:140 2 (const int)
+0:140 'd3' (uniform float)
+0:141 Test condition and select (temp void)
+0:141 Condition
+0:141 Compare Less Than (temp bool)
+0:141 direct index (temp float)
+0:141 'color' (temp 4-component vector of float)
+0:141 Constant:
+0:141 0 (const int)
+0:141 'd4' (uniform float)
+0:141 true case
+0:142 Branch: Continue
+0:143 Pre-Increment (temp float)
+0:143 direct index (temp float)
+0:143 'color' (temp 4-component vector of float)
+0:143 Constant:
+0:143 3 (const int)
+0:139 Loop Terminal Expression
+0:139 Pre-Increment (temp int)
+0:139 'i' (temp int)
+0:147 Sequence
+0:147 Sequence
+0:147 move second child to first child (temp int)
+0:147 'i' (temp int)
+0:147 Constant:
+0:147 0 (const int)
+0:147 Loop with condition tested first
+0:147 Loop Condition
+0:147 Compare Less Than (temp bool)
+0:147 'i' (temp int)
+0:147 Constant:
+0:147 42 (const int)
+0:147 Loop Body
+0:148 Sequence
+0:148 add second child into first child (temp float)
+0:148 direct index (temp float)
+0:148 'color' (temp 4-component vector of float)
+0:148 Constant:
+0:148 2 (const int)
+0:148 'd3' (uniform float)
+0:149 Test condition and select (temp void)
+0:149 Condition
+0:149 Compare Less Than (temp bool)
+0:149 direct index (temp float)
+0:149 'color' (temp 4-component vector of float)
+0:149 Constant:
+0:149 0 (const int)
+0:149 'd4' (uniform float)
+0:149 true case
+0:150 Branch: Break
+0:151 Pre-Increment (temp float)
+0:151 direct index (temp float)
+0:151 'color' (temp 4-component vector of float)
+0:151 Constant:
+0:151 3 (const int)
+0:147 Loop Terminal Expression
+0:147 Pre-Increment (temp int)
+0:147 'i' (temp int)
+0:163 Loop with condition not tested first
+0:163 Loop Condition
+0:163 Compare Less Than (temp bool)
+0:163 direct index (temp float)
+0:163 'color' (temp 4-component vector of float)
+0:163 Constant:
+0:163 2 (const int)
+0:163 'd4' (uniform float)
+0:163 Loop Body
+0:156 Sequence
+0:156 add second child into first child (temp 4-component vector of float)
+0:156 'color' (temp 4-component vector of float)
+0:156 'bigColor4' (uniform 4-component vector of float)
+0:157 Test condition and select (temp void)
+0:157 Condition
+0:157 Compare Less Than (temp bool)
+0:157 direct index (temp float)
+0:157 'color' (temp 4-component vector of float)
+0:157 Constant:
+0:157 0 (const int)
+0:157 'd4' (uniform float)
+0:157 true case
+0:158 Branch: Continue
+0:159 Test condition and select (temp void)
+0:159 Condition
+0:159 Compare Less Than (temp bool)
+0:159 direct index (temp float)
+0:159 'color' (temp 4-component vector of float)
+0:159 Constant:
+0:159 1 (const int)
+0:159 'd4' (uniform float)
+0:159 true case
+0:160 add second child into first child (temp float)
+0:160 direct index (temp float)
+0:160 'color' (temp 4-component vector of float)
+0:160 Constant:
+0:160 1 (const int)
+0:160 'd4' (uniform float)
+0:159 false case
+0:162 add second child into first child (temp float)
+0:162 direct index (temp float)
+0:162 'color' (temp 4-component vector of float)
+0:162 Constant:
+0:162 0 (const int)
+0:162 'd4' (uniform float)
+0:170 Loop with condition not tested first
+0:170 Loop Condition
+0:170 Compare Less Than (temp bool)
+0:170 direct index (temp float)
+0:170 'color' (temp 4-component vector of float)
+0:170 Constant:
+0:170 0 (const int)
+0:170 'd5' (uniform float)
+0:170 Loop Body
+0:167 Sequence
+0:167 add second child into first child (temp 4-component vector of float)
+0:167 'color' (temp 4-component vector of float)
+0:167 'bigColor5' (uniform 4-component vector of float)
+0:168 Test condition and select (temp void)
+0:168 Condition
+0:168 Compare Less Than (temp bool)
+0:168 direct index (temp float)
+0:168 'color' (temp 4-component vector of float)
+0:168 Constant:
+0:168 1 (const int)
+0:168 'd5' (uniform float)
+0:168 true case
+0:169 add second child into first child (temp float)
+0:169 direct index (temp float)
+0:169 'color' (temp 4-component vector of float)
+0:169 Constant:
+0:169 1 (const int)
+0:169 'd5' (uniform float)
+0:173 Test condition and select (temp void)
+0:173 Condition
+0:173 Compare Less Than (temp bool)
+0:173 direct index (temp float)
+0:173 'color' (temp 4-component vector of float)
+0:173 Constant:
+0:173 0 (const int)
+0:173 'd6' (uniform float)
+0:173 true case
+0:174 Sequence
+0:174 Loop with condition tested first
+0:174 Loop Condition
+0:174 Compare Less Than (temp bool)
+0:174 direct index (temp float)
+0:174 'color' (temp 4-component vector of float)
+0:174 Constant:
+0:174 1 (const int)
+0:174 'd6' (uniform float)
+0:174 Loop Body
+0:175 add second child into first child (temp 4-component vector of float)
+0:175 'color' (temp 4-component vector of float)
+0:175 'bigColor6' (uniform 4-component vector of float)
+0:173 false case
+0:177 Sequence
+0:177 Loop with condition tested first
+0:177 Loop Condition
+0:177 Compare Less Than (temp bool)
+0:177 direct index (temp float)
+0:177 'color' (temp 4-component vector of float)
+0:177 Constant:
+0:177 2 (const int)
+0:177 'd6' (uniform float)
+0:177 Loop Body
+0:178 add second child into first child (temp float)
+0:178 direct index (temp float)
+0:178 'color' (temp 4-component vector of float)
+0:178 Constant:
+0:178 2 (const int)
+0:178 direct index (temp float)
+0:178 'bigColor6' (uniform 4-component vector of float)
+0:178 Constant:
+0:178 2 (const int)
+0:182 Test condition and select (temp void)
+0:182 Condition
+0:182 Compare Less Than (temp bool)
+0:182 direct index (temp float)
+0:182 'color' (temp 4-component vector of float)
+0:182 Constant:
+0:182 0 (const int)
+0:182 'd6' (uniform float)
+0:182 true case
+0:183 Sequence
+0:183 Loop with condition tested first
+0:183 Loop Condition
+0:183 Compare Less Than (temp bool)
+0:183 direct index (temp float)
+0:183 'color' (temp 4-component vector of float)
+0:183 Constant:
+0:183 1 (const int)
+0:183 'd6' (uniform float)
+0:183 Loop Body
+0:184 Sequence
+0:184 add second child into first child (temp 4-component vector of float)
+0:184 'color' (temp 4-component vector of float)
+0:184 'bigColor6' (uniform 4-component vector of float)
+0:185 Test condition and select (temp void)
+0:185 Condition
+0:185 Compare Less Than (temp bool)
+0:185 'd7' (uniform float)
+0:185 Constant:
+0:185 1.000000
+0:185 true case
+0:186 Branch: Break
+0:182 false case
+0:190 Sequence
+0:190 Loop with condition tested first
+0:190 Loop Condition
+0:190 Compare Less Than (temp bool)
+0:190 direct index (temp float)
+0:190 'color' (temp 4-component vector of float)
+0:190 Constant:
+0:190 2 (const int)
+0:190 'd6' (uniform float)
+0:190 Loop Body
+0:191 add second child into first child (temp float)
+0:191 direct index (temp float)
+0:191 'color' (temp 4-component vector of float)
+0:191 Constant:
+0:191 2 (const int)
+0:191 direct index (temp float)
+0:191 'bigColor6' (uniform 4-component vector of float)
+0:191 Constant:
+0:191 2 (const int)
+0:209 Loop with condition not tested first
+0:209 Loop Condition
+0:209 Constant:
+0:209 true (const bool)
+0:209 Loop Body
+0:197 Sequence
+0:197 Test condition and select (temp void)
+0:197 Condition
+0:197 Compare Less Than (temp bool)
+0:197 'd7' (uniform float)
+0:197 Constant:
+0:197 0.000000
+0:197 true case
+0:198 Branch: Break
+0:200 add second child into first child (temp 4-component vector of float)
+0:200 'color' (temp 4-component vector of float)
+0:200 'bigColor7' (uniform 4-component vector of float)
+0:202 Test condition and select (temp void)
+0:202 Condition
+0:202 Compare Less Than (temp bool)
+0:202 'd7' (uniform float)
+0:202 Constant:
+0:202 1.000000
+0:202 true case
+0:203 Sequence
+0:203 Post-Increment (temp float)
+0:203 direct index (temp float)
+0:203 'color' (temp 4-component vector of float)
+0:203 Constant:
+0:203 2 (const int)
+0:204 Branch: Break
+0:207 add second child into first child (temp 4-component vector of float)
+0:207 'color' (temp 4-component vector of float)
+0:207 'BaseColor' (smooth in 4-component vector of float)
+0:234 Loop with condition not tested first
+0:234 Loop Condition
+0:234 Compare Less Than (temp bool)
+0:234 direct index (temp float)
+0:234 'color' (temp 4-component vector of float)
+0:234 Constant:
+0:234 2 (const int)
+0:234 'd8' (uniform float)
+0:234 Loop Body
+0:217 Sequence
+0:217 Test condition and select (temp void)
+0:217 Condition
+0:217 Compare Less Than (temp bool)
+0:217 'd8' (uniform float)
+0:217 Constant:
+0:217 0.000000
+0:217 true case
+0:218 Branch: Break
+0:220 add second child into first child (temp 4-component vector of float)
+0:220 'color' (temp 4-component vector of float)
+0:220 'bigColor7' (uniform 4-component vector of float)
+0:222 Test condition and select (temp void)
+0:222 Condition
+0:222 Compare Less Than (temp bool)
+0:222 'd8' (uniform float)
+0:222 Constant:
+0:222 1.000000
+0:222 true case
+0:223 Sequence
+0:223 Post-Increment (temp float)
+0:223 direct index (temp float)
+0:223 'color' (temp 4-component vector of float)
+0:223 Constant:
+0:223 2 (const int)
+0:224 Test condition and select (temp void)
+0:224 Condition
+0:224 Compare Less Than (temp bool)
+0:224 'd8' (uniform float)
+0:224 Constant:
+0:224 2.000000
+0:224 true case
+0:225 Sequence
+0:225 Post-Increment (temp float)
+0:225 direct index (temp float)
+0:225 'color' (temp 4-component vector of float)
+0:225 Constant:
+0:225 1 (const int)
+0:224 false case
+0:227 Sequence
+0:227 Post-Increment (temp float)
+0:227 direct index (temp float)
+0:227 'color' (temp 4-component vector of float)
+0:227 Constant:
+0:227 0 (const int)
+0:229 Branch: Break
+0:232 add second child into first child (temp 4-component vector of float)
+0:232 'color' (temp 4-component vector of float)
+0:232 'BaseColor' (smooth in 4-component vector of float)
+0:237 Loop with condition tested first
+0:237 Loop Condition
+0:237 Compare Less Than (temp bool)
+0:237 direct index (temp float)
+0:237 'color' (temp 4-component vector of float)
+0:237 Constant:
+0:237 3 (const int)
+0:237 'd9' (uniform float)
+0:237 Loop Body
+0:238 Sequence
+0:238 Test condition and select (temp void)
+0:238 Condition
+0:238 Compare Greater Than (temp bool)
+0:238 'd9' (uniform float)
+0:238 'd8' (uniform float)
+0:238 true case
+0:239 Sequence
+0:239 Test condition and select (temp void)
+0:239 Condition
+0:239 Compare Less Than or Equal (temp bool)
+0:239 direct index (temp float)
+0:239 'color' (temp 4-component vector of float)
+0:239 Constant:
+0:239 0 (const int)
+0:239 'd7' (uniform float)
+0:239 true case
+0:240 Sequence
+0:240 Test condition and select (temp void)
+0:240 Condition
+0:240 Compare Equal (temp bool)
+0:240 direct index (temp float)
+0:240 'color' (temp 4-component vector of float)
+0:240 Constant:
+0:240 2 (const int)
+0:240 Constant:
+0:240 5.000000
+0:240 true case
+0:241 Post-Increment (temp float)
+0:241 direct index (temp float)
+0:241 'color' (temp 4-component vector of float)
+0:241 Constant:
+0:241 3 (const int)
+0:240 false case
+0:243 Branch: Break
+0:250 Loop with condition tested first
+0:250 Loop Condition
+0:250 Compare Less Than (temp bool)
+0:250 direct index (temp float)
+0:250 'color' (temp 4-component vector of float)
+0:250 Constant:
+0:250 2 (const int)
+0:250 'd10' (uniform float)
+0:250 Loop Body
+0:251 Sequence
+0:251 Post-Increment (temp float)
+0:251 direct index (temp float)
+0:251 'color' (temp 4-component vector of float)
+0:251 Constant:
+0:251 1 (const int)
+0:252 Test condition and select (temp void)
+0:252 Condition
+0:252 Compare Less Than (temp bool)
+0:252 direct index (temp float)
+0:252 'color' (temp 4-component vector of float)
+0:252 Constant:
+0:252 1 (const int)
+0:252 'd11' (uniform float)
+0:252 true case
+0:253 Sequence
+0:253 Post-Increment (temp float)
+0:253 direct index (temp float)
+0:253 'color' (temp 4-component vector of float)
+0:253 Constant:
+0:253 2 (const int)
+0:254 Test condition and select (temp void)
+0:254 Condition
+0:254 Compare Less Than (temp bool)
+0:254 direct index (temp float)
+0:254 'color' (temp 4-component vector of float)
+0:254 Constant:
+0:254 3 (const int)
+0:254 'd12' (uniform float)
+0:254 true case
+0:255 Post-Increment (temp float)
+0:255 direct index (temp float)
+0:255 'color' (temp 4-component vector of float)
+0:255 Constant:
+0:255 3 (const int)
+0:254 false case
+0:257 Post-Increment (temp float)
+0:257 direct index (temp float)
+0:257 'color' (temp 4-component vector of float)
+0:257 Constant:
+0:257 0 (const int)
+0:258 Branch: Continue
+0:261 Post-Increment (temp 4-component vector of float)
+0:261 'color' (temp 4-component vector of float)
+0:262 Branch: Break
+0:266 Loop with condition tested first
+0:266 Loop Condition
+0:266 Compare Less Than (temp bool)
+0:266 direct index (temp float)
+0:266 'color' (temp 4-component vector of float)
+0:266 Constant:
+0:266 0 (const int)
+0:266 Constant:
+0:266 10.000000
+0:266 Loop Body
+0:267 Sequence
+0:267 add second child into first child (temp 4-component vector of float)
+0:267 'color' (temp 4-component vector of float)
+0:267 'bigColor8' (uniform 4-component vector of float)
+0:269 Test condition and select (temp void)
+0:269 Condition
+0:269 Compare Less Than (temp bool)
+0:269 direct index (temp float)
+0:269 'color' (temp 4-component vector of float)
+0:269 Constant:
+0:269 2 (const int)
+0:269 'd8' (uniform float)
+0:269 true case
+0:270 Test condition and select (temp void)
+0:270 Condition
+0:270 Compare Less Than (temp bool)
+0:270 direct index (temp float)
+0:270 'color' (temp 4-component vector of float)
+0:270 Constant:
+0:270 3 (const int)
+0:270 'd6' (uniform float)
+0:270 true case
+0:271 Branch: Continue
+0:273 add second child into first child (temp float)
+0:273 direct index (temp float)
+0:273 'color' (temp 4-component vector of float)
+0:273 Constant:
+0:273 1 (const int)
+0:273 direct index (temp float)
+0:273 'bigColor8' (uniform 4-component vector of float)
+0:273 Constant:
+0:273 0 (const int)
+0:276 Post-Increment (temp 4-component vector of float)
+0:276 'color' (temp 4-component vector of float)
+0:277 move second child to first child (temp 4-component vector of float)
+0:277 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:277 'color' (temp 4-component vector of float)
+0:280 Loop with condition tested first
+0:280 Loop Condition
+0:280 Compare Less Than (temp bool)
+0:280 direct index (temp float)
+0:280 'color' (temp 4-component vector of float)
+0:280 Constant:
+0:280 0 (const int)
+0:280 'd14' (uniform float)
+0:280 Loop Body
+0:281 Sequence
+0:281 Test condition and select (temp void)
+0:281 Condition
+0:281 Compare Less Than (temp bool)
+0:281 direct index (temp float)
+0:281 'color' (temp 4-component vector of float)
+0:281 Constant:
+0:281 1 (const int)
+0:281 'd15' (uniform float)
+0:281 true case
+0:282 Sequence
+0:282 Branch: Return
+0:281 false case
+0:285 Post-Increment (temp 4-component vector of float)
+0:285 'color' (temp 4-component vector of float)
+0:288 Post-Increment (temp 4-component vector of float)
+0:288 'color' (temp 4-component vector of float)
+0:290 Loop with condition tested first
+0:290 Loop Condition
+0:290 Compare Less Than (temp bool)
+0:290 direct index (temp float)
+0:290 'color' (temp 4-component vector of float)
+0:290 Constant:
+0:290 3 (const int)
+0:290 'd16' (uniform float)
+0:290 Loop Body
+0:291 Sequence
+0:291 Post-Increment (temp float)
+0:291 direct index (temp float)
+0:291 'color' (temp 4-component vector of float)
+0:291 Constant:
+0:291 3 (const int)
+0:296 Loop with condition tested first
+0:296 Loop Condition
+0:296 logical-and (temp bool)
+0:296 Compare Less Than (temp bool)
+0:296 direct index (temp float)
+0:296 'color' (temp 4-component vector of float)
+0:296 Constant:
+0:296 3 (const int)
+0:296 'd2' (uniform float)
+0:296 Compare Less Than (temp bool)
+0:296 direct index (temp float)
+0:296 'color' (temp 4-component vector of float)
+0:296 Constant:
+0:296 1 (const int)
+0:296 'd3' (uniform float)
+0:296 Loop Body
+0:297 Sequence
+0:297 add second child into first child (temp 4-component vector of float)
+0:297 'color' (temp 4-component vector of float)
+0:297 'bigColor1_2' (uniform 4-component vector of float)
+0:298 Test condition and select (temp void)
+0:298 Condition
+0:298 Compare Less Than (temp bool)
+0:298 direct index (temp float)
+0:298 'color' (temp 4-component vector of float)
+0:298 Constant:
+0:298 2 (const int)
+0:298 'd3' (uniform float)
+0:298 true case
+0:299 Branch: Return
+0:307 Loop with condition not tested first
+0:307 Loop Condition
+0:307 Compare Less Than (temp bool)
+0:307 direct index (temp float)
+0:307 'color' (temp 4-component vector of float)
+0:307 Constant:
+0:307 0 (const int)
+0:307 'd17' (uniform float)
+0:307 Loop Body
+0:304 Sequence
+0:304 Test condition and select (temp void)
+0:304 Condition
+0:304 Compare Less Than (temp bool)
+0:304 direct index (temp float)
+0:304 'color' (temp 4-component vector of float)
+0:304 Constant:
+0:304 1 (const int)
+0:304 'd18' (uniform float)
+0:304 true case
+0:305 Branch: Return
+0:306 Post-Increment (temp 4-component vector of float)
+0:306 'color' (temp 4-component vector of float)
+0:310 Loop with condition tested first
+0:310 Loop Condition
+0:310 Compare Less Than (temp bool)
+0:310 direct index (temp float)
+0:310 'color' (temp 4-component vector of float)
+0:310 Constant:
+0:310 1 (const int)
+0:310 'd16' (uniform float)
+0:310 Loop Body
+0:311 Sequence
+0:311 Test condition and select (temp void)
+0:311 Condition
+0:311 Compare Less Than (temp bool)
+0:311 direct index (temp float)
+0:311 'color' (temp 4-component vector of float)
+0:311 Constant:
+0:311 3 (const int)
+0:311 'd16' (uniform float)
+0:311 true case
+0:312 Sequence
+0:312 Branch: Kill
+0:311 false case
+0:314 Post-Increment (temp 4-component vector of float)
+0:314 'color' (temp 4-component vector of float)
+0:317 Post-Increment (temp 4-component vector of float)
+0:317 'color' (temp 4-component vector of float)
+0:319 move second child to first child (temp 4-component vector of float)
+0:319 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:319 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'bigColor1_1' (uniform 4-component vector of float)
+0:? 'bigColor1_2' (uniform 4-component vector of float)
+0:? 'bigColor1_3' (uniform 4-component vector of float)
+0:? 'bigColor2' (uniform 4-component vector of float)
+0:? 'bigColor3' (uniform 4-component vector of float)
+0:? 'bigColor4' (uniform 4-component vector of float)
+0:? 'bigColor5' (uniform 4-component vector of float)
+0:? 'bigColor6' (uniform 4-component vector of float)
+0:? 'bigColor7' (uniform 4-component vector of float)
+0:? 'bigColor8' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'd2' (uniform float)
+0:? 'd3' (uniform float)
+0:? 'd4' (uniform float)
+0:? 'd5' (uniform float)
+0:? 'd6' (uniform float)
+0:? 'd7' (uniform float)
+0:? 'd8' (uniform float)
+0:? 'd9' (uniform float)
+0:? 'd10' (uniform float)
+0:? 'd11' (uniform float)
+0:? 'd12' (uniform float)
+0:? 'd13' (uniform float)
+0:? 'd14' (uniform float)
+0:? 'd15' (uniform float)
+0:? 'd16' (uniform float)
+0:? 'd17' (uniform float)
+0:? 'd18' (uniform float)
+0:? 'd19' (uniform float)
+0:? 'd20' (uniform float)
+0:? 'd21' (uniform float)
+0:? 'd22' (uniform float)
+0:? 'd23' (uniform float)
+0:? 'd24' (uniform float)
+0:? 'd25' (uniform float)
+0:? 'd26' (uniform float)
+0:? 'd27' (uniform float)
+0:? 'd28' (uniform float)
+0:? 'd29' (uniform float)
+0:? 'd30' (uniform float)
+0:? 'd31' (uniform float)
+0:? 'd32' (uniform float)
+0:? 'd33' (uniform float)
+0:? 'd34' (uniform float)
+0:? 'Count' (uniform int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/loopsArtificial.frag.out b/chromium/third_party/glslang/src/Test/baseResults/loopsArtificial.frag.out
new file mode 100644
index 00000000000..39fae13d4dd
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/loopsArtificial.frag.out
@@ -0,0 +1,433 @@
+loopsArtificial.frag
+WARNING: 0:14: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:53 Function Definition: main( (global void)
+0:53 Function Parameters:
+0:55 Sequence
+0:55 Sequence
+0:55 move second child to first child (temp 4-component vector of float)
+0:55 'color' (temp 4-component vector of float)
+0:55 'BaseColor' (smooth in 4-component vector of float)
+0:71 Loop with condition not tested first
+0:71 Loop Condition
+0:71 Compare Less Than (temp bool)
+0:71 direct index (temp float)
+0:71 'color' (temp 4-component vector of float)
+0:71 Constant:
+0:71 2 (const int)
+0:71 'd4' (uniform float)
+0:71 Loop Body
+0:59 Sequence
+0:59 add second child into first child (temp 4-component vector of float)
+0:59 'color' (temp 4-component vector of float)
+0:59 'bigColor4' (uniform 4-component vector of float)
+0:60 Test condition and select (temp void)
+0:60 Condition
+0:60 Compare Less Than (temp bool)
+0:60 direct index (temp float)
+0:60 'color' (temp 4-component vector of float)
+0:60 Constant:
+0:60 0 (const int)
+0:60 'd4' (uniform float)
+0:60 true case
+0:61 Sequence
+0:61 add second child into first child (temp float)
+0:61 direct index (temp float)
+0:61 'color' (temp 4-component vector of float)
+0:61 Constant:
+0:61 2 (const int)
+0:61 Constant:
+0:61 2.000000
+0:62 Test condition and select (temp void)
+0:62 Condition
+0:62 Compare Less Than (temp bool)
+0:62 direct index (temp float)
+0:62 'color' (temp 4-component vector of float)
+0:62 Constant:
+0:62 2 (const int)
+0:62 'd4' (uniform float)
+0:62 true case
+0:63 Sequence
+0:63 Post-Increment (temp float)
+0:63 direct index (temp float)
+0:63 'color' (temp 4-component vector of float)
+0:63 Constant:
+0:63 0 (const int)
+0:64 Branch: Continue
+0:67 Test condition and select (temp void)
+0:67 Condition
+0:67 Compare Less Than (temp bool)
+0:67 direct index (temp float)
+0:67 'color' (temp 4-component vector of float)
+0:67 Constant:
+0:67 1 (const int)
+0:67 'd4' (uniform float)
+0:67 true case
+0:68 add second child into first child (temp float)
+0:68 direct index (temp float)
+0:68 'color' (temp 4-component vector of float)
+0:68 Constant:
+0:68 1 (const int)
+0:68 'd4' (uniform float)
+0:67 false case
+0:70 add second child into first child (temp float)
+0:70 direct index (temp float)
+0:70 'color' (temp 4-component vector of float)
+0:70 Constant:
+0:70 0 (const int)
+0:70 'd4' (uniform float)
+0:74 Loop with condition tested first
+0:74 Loop Condition
+0:74 Compare Less Than (temp bool)
+0:74 direct index (temp float)
+0:74 'color' (temp 4-component vector of float)
+0:74 Constant:
+0:74 3 (const int)
+0:74 'd13' (uniform float)
+0:74 Loop Body
+0:75 Sequence
+0:75 Test condition and select (temp void)
+0:75 Condition
+0:75 Compare Less Than (temp bool)
+0:75 direct index (temp float)
+0:75 'color' (temp 4-component vector of float)
+0:75 Constant:
+0:75 2 (const int)
+0:75 'd13' (uniform float)
+0:75 true case
+0:76 Post-Increment (temp 4-component vector of float)
+0:76 'color' (temp 4-component vector of float)
+0:75 false case
+0:78 Post-Decrement (temp 4-component vector of float)
+0:78 'color' (temp 4-component vector of float)
+0:80 add second child into first child (temp 4-component vector of float)
+0:80 'color' (temp 4-component vector of float)
+0:80 'bigColor4' (uniform 4-component vector of float)
+0:81 Test condition and select (temp void)
+0:81 Condition
+0:81 Compare Less Than (temp bool)
+0:81 direct index (temp float)
+0:81 'color' (temp 4-component vector of float)
+0:81 Constant:
+0:81 0 (const int)
+0:81 'd4' (uniform float)
+0:81 true case
+0:82 Sequence
+0:82 add second child into first child (temp float)
+0:82 direct index (temp float)
+0:82 'color' (temp 4-component vector of float)
+0:82 Constant:
+0:82 2 (const int)
+0:82 Constant:
+0:82 2.000000
+0:83 Test condition and select (temp void)
+0:83 Condition
+0:83 Compare Less Than (temp bool)
+0:83 direct index (temp float)
+0:83 'color' (temp 4-component vector of float)
+0:83 Constant:
+0:83 2 (const int)
+0:83 'd4' (uniform float)
+0:83 true case
+0:84 Sequence
+0:84 Post-Increment (temp float)
+0:84 direct index (temp float)
+0:84 'color' (temp 4-component vector of float)
+0:84 Constant:
+0:84 0 (const int)
+0:85 Branch: Continue
+0:88 Test condition and select (temp void)
+0:88 Condition
+0:88 Compare Less Than (temp bool)
+0:88 direct index (temp float)
+0:88 'color' (temp 4-component vector of float)
+0:88 Constant:
+0:88 1 (const int)
+0:88 'd4' (uniform float)
+0:88 true case
+0:89 add second child into first child (temp float)
+0:89 direct index (temp float)
+0:89 'color' (temp 4-component vector of float)
+0:89 Constant:
+0:89 1 (const int)
+0:89 'd4' (uniform float)
+0:88 false case
+0:91 add second child into first child (temp float)
+0:91 direct index (temp float)
+0:91 'color' (temp 4-component vector of float)
+0:91 Constant:
+0:91 0 (const int)
+0:91 'd4' (uniform float)
+0:94 Post-Increment (temp 4-component vector of float)
+0:94 'color' (temp 4-component vector of float)
+0:95 move second child to first child (temp 4-component vector of float)
+0:95 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:95 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'bigColor1_1' (uniform 4-component vector of float)
+0:? 'bigColor1_2' (uniform 4-component vector of float)
+0:? 'bigColor1_3' (uniform 4-component vector of float)
+0:? 'bigColor2' (uniform 4-component vector of float)
+0:? 'bigColor3' (uniform 4-component vector of float)
+0:? 'bigColor4' (uniform 4-component vector of float)
+0:? 'bigColor5' (uniform 4-component vector of float)
+0:? 'bigColor6' (uniform 4-component vector of float)
+0:? 'bigColor7' (uniform 4-component vector of float)
+0:? 'bigColor8' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'd2' (uniform float)
+0:? 'd3' (uniform float)
+0:? 'd4' (uniform float)
+0:? 'd5' (uniform float)
+0:? 'd6' (uniform float)
+0:? 'd7' (uniform float)
+0:? 'd8' (uniform float)
+0:? 'd9' (uniform float)
+0:? 'd10' (uniform float)
+0:? 'd11' (uniform float)
+0:? 'd12' (uniform float)
+0:? 'd13' (uniform float)
+0:? 'd14' (uniform float)
+0:? 'd15' (uniform float)
+0:? 'd16' (uniform float)
+0:? 'd17' (uniform float)
+0:? 'd18' (uniform float)
+0:? 'd19' (uniform float)
+0:? 'd20' (uniform float)
+0:? 'd21' (uniform float)
+0:? 'd22' (uniform float)
+0:? 'd23' (uniform float)
+0:? 'd24' (uniform float)
+0:? 'd25' (uniform float)
+0:? 'd26' (uniform float)
+0:? 'd27' (uniform float)
+0:? 'd28' (uniform float)
+0:? 'd29' (uniform float)
+0:? 'd30' (uniform float)
+0:? 'd31' (uniform float)
+0:? 'd32' (uniform float)
+0:? 'd33' (uniform float)
+0:? 'd34' (uniform float)
+0:? 'Count' (uniform int)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:53 Function Definition: main( (global void)
+0:53 Function Parameters:
+0:55 Sequence
+0:55 Sequence
+0:55 move second child to first child (temp 4-component vector of float)
+0:55 'color' (temp 4-component vector of float)
+0:55 'BaseColor' (smooth in 4-component vector of float)
+0:71 Loop with condition not tested first
+0:71 Loop Condition
+0:71 Compare Less Than (temp bool)
+0:71 direct index (temp float)
+0:71 'color' (temp 4-component vector of float)
+0:71 Constant:
+0:71 2 (const int)
+0:71 'd4' (uniform float)
+0:71 Loop Body
+0:59 Sequence
+0:59 add second child into first child (temp 4-component vector of float)
+0:59 'color' (temp 4-component vector of float)
+0:59 'bigColor4' (uniform 4-component vector of float)
+0:60 Test condition and select (temp void)
+0:60 Condition
+0:60 Compare Less Than (temp bool)
+0:60 direct index (temp float)
+0:60 'color' (temp 4-component vector of float)
+0:60 Constant:
+0:60 0 (const int)
+0:60 'd4' (uniform float)
+0:60 true case
+0:61 Sequence
+0:61 add second child into first child (temp float)
+0:61 direct index (temp float)
+0:61 'color' (temp 4-component vector of float)
+0:61 Constant:
+0:61 2 (const int)
+0:61 Constant:
+0:61 2.000000
+0:62 Test condition and select (temp void)
+0:62 Condition
+0:62 Compare Less Than (temp bool)
+0:62 direct index (temp float)
+0:62 'color' (temp 4-component vector of float)
+0:62 Constant:
+0:62 2 (const int)
+0:62 'd4' (uniform float)
+0:62 true case
+0:63 Sequence
+0:63 Post-Increment (temp float)
+0:63 direct index (temp float)
+0:63 'color' (temp 4-component vector of float)
+0:63 Constant:
+0:63 0 (const int)
+0:64 Branch: Continue
+0:67 Test condition and select (temp void)
+0:67 Condition
+0:67 Compare Less Than (temp bool)
+0:67 direct index (temp float)
+0:67 'color' (temp 4-component vector of float)
+0:67 Constant:
+0:67 1 (const int)
+0:67 'd4' (uniform float)
+0:67 true case
+0:68 add second child into first child (temp float)
+0:68 direct index (temp float)
+0:68 'color' (temp 4-component vector of float)
+0:68 Constant:
+0:68 1 (const int)
+0:68 'd4' (uniform float)
+0:67 false case
+0:70 add second child into first child (temp float)
+0:70 direct index (temp float)
+0:70 'color' (temp 4-component vector of float)
+0:70 Constant:
+0:70 0 (const int)
+0:70 'd4' (uniform float)
+0:74 Loop with condition tested first
+0:74 Loop Condition
+0:74 Compare Less Than (temp bool)
+0:74 direct index (temp float)
+0:74 'color' (temp 4-component vector of float)
+0:74 Constant:
+0:74 3 (const int)
+0:74 'd13' (uniform float)
+0:74 Loop Body
+0:75 Sequence
+0:75 Test condition and select (temp void)
+0:75 Condition
+0:75 Compare Less Than (temp bool)
+0:75 direct index (temp float)
+0:75 'color' (temp 4-component vector of float)
+0:75 Constant:
+0:75 2 (const int)
+0:75 'd13' (uniform float)
+0:75 true case
+0:76 Post-Increment (temp 4-component vector of float)
+0:76 'color' (temp 4-component vector of float)
+0:75 false case
+0:78 Post-Decrement (temp 4-component vector of float)
+0:78 'color' (temp 4-component vector of float)
+0:80 add second child into first child (temp 4-component vector of float)
+0:80 'color' (temp 4-component vector of float)
+0:80 'bigColor4' (uniform 4-component vector of float)
+0:81 Test condition and select (temp void)
+0:81 Condition
+0:81 Compare Less Than (temp bool)
+0:81 direct index (temp float)
+0:81 'color' (temp 4-component vector of float)
+0:81 Constant:
+0:81 0 (const int)
+0:81 'd4' (uniform float)
+0:81 true case
+0:82 Sequence
+0:82 add second child into first child (temp float)
+0:82 direct index (temp float)
+0:82 'color' (temp 4-component vector of float)
+0:82 Constant:
+0:82 2 (const int)
+0:82 Constant:
+0:82 2.000000
+0:83 Test condition and select (temp void)
+0:83 Condition
+0:83 Compare Less Than (temp bool)
+0:83 direct index (temp float)
+0:83 'color' (temp 4-component vector of float)
+0:83 Constant:
+0:83 2 (const int)
+0:83 'd4' (uniform float)
+0:83 true case
+0:84 Sequence
+0:84 Post-Increment (temp float)
+0:84 direct index (temp float)
+0:84 'color' (temp 4-component vector of float)
+0:84 Constant:
+0:84 0 (const int)
+0:85 Branch: Continue
+0:88 Test condition and select (temp void)
+0:88 Condition
+0:88 Compare Less Than (temp bool)
+0:88 direct index (temp float)
+0:88 'color' (temp 4-component vector of float)
+0:88 Constant:
+0:88 1 (const int)
+0:88 'd4' (uniform float)
+0:88 true case
+0:89 add second child into first child (temp float)
+0:89 direct index (temp float)
+0:89 'color' (temp 4-component vector of float)
+0:89 Constant:
+0:89 1 (const int)
+0:89 'd4' (uniform float)
+0:88 false case
+0:91 add second child into first child (temp float)
+0:91 direct index (temp float)
+0:91 'color' (temp 4-component vector of float)
+0:91 Constant:
+0:91 0 (const int)
+0:91 'd4' (uniform float)
+0:94 Post-Increment (temp 4-component vector of float)
+0:94 'color' (temp 4-component vector of float)
+0:95 move second child to first child (temp 4-component vector of float)
+0:95 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:95 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'bigColor1_1' (uniform 4-component vector of float)
+0:? 'bigColor1_2' (uniform 4-component vector of float)
+0:? 'bigColor1_3' (uniform 4-component vector of float)
+0:? 'bigColor2' (uniform 4-component vector of float)
+0:? 'bigColor3' (uniform 4-component vector of float)
+0:? 'bigColor4' (uniform 4-component vector of float)
+0:? 'bigColor5' (uniform 4-component vector of float)
+0:? 'bigColor6' (uniform 4-component vector of float)
+0:? 'bigColor7' (uniform 4-component vector of float)
+0:? 'bigColor8' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'd2' (uniform float)
+0:? 'd3' (uniform float)
+0:? 'd4' (uniform float)
+0:? 'd5' (uniform float)
+0:? 'd6' (uniform float)
+0:? 'd7' (uniform float)
+0:? 'd8' (uniform float)
+0:? 'd9' (uniform float)
+0:? 'd10' (uniform float)
+0:? 'd11' (uniform float)
+0:? 'd12' (uniform float)
+0:? 'd13' (uniform float)
+0:? 'd14' (uniform float)
+0:? 'd15' (uniform float)
+0:? 'd16' (uniform float)
+0:? 'd17' (uniform float)
+0:? 'd18' (uniform float)
+0:? 'd19' (uniform float)
+0:? 'd20' (uniform float)
+0:? 'd21' (uniform float)
+0:? 'd22' (uniform float)
+0:? 'd23' (uniform float)
+0:? 'd24' (uniform float)
+0:? 'd25' (uniform float)
+0:? 'd26' (uniform float)
+0:? 'd27' (uniform float)
+0:? 'd28' (uniform float)
+0:? 'd29' (uniform float)
+0:? 'd30' (uniform float)
+0:? 'd31' (uniform float)
+0:? 'd32' (uniform float)
+0:? 'd33' (uniform float)
+0:? 'd34' (uniform float)
+0:? 'Count' (uniform int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/mains1.frag.out b/chromium/third_party/glslang/src/Test/baseResults/mains1.frag.out
new file mode 100644
index 00000000000..8ba02bf1efb
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/mains1.frag.out
@@ -0,0 +1,72 @@
+mains1.frag
+Shader version: 110
+0:? Sequence
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+
+mains2.frag
+Shader version: 110
+0:? Sequence
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+
+noMain1.geom
+ERROR: #version: geometry shaders require es profile with version 310 or non-es profile with version 150 or above
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 150
+invocations = -1
+max_vertices = -1
+input primitive = none
+output primitive = points
+ERROR: node is still EOpNull!
+0:3 Function Definition: foo( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+
+noMain2.geom
+Shader version: 150
+invocations = -1
+max_vertices = -1
+input primitive = none
+output primitive = line_strip
+0:? Sequence
+0:3 Function Definition: bar( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+
+
+Linked geometry stage:
+
+ERROR: Linking geometry stage: Contradictory output layout primitives
+ERROR: Linking geometry stage: Missing entry point: Each stage requires one "void main()" entry point
+ERROR: Linking geometry stage: At least one shader must specify an input layout primitive
+ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+
+Shader version: 150
+invocations = 1
+max_vertices = -1
+input primitive = none
+output primitive = points
+ERROR: node is still EOpNull!
+0:3 Function Definition: foo( (global void)
+0:3 Function Parameters:
+0:3 Function Definition: bar( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+Shader version: 110
+0:? Sequence
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/matrix.frag.out b/chromium/third_party/glslang/src/Test/baseResults/matrix.frag.out
new file mode 100644
index 00000000000..14c3548b14c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/matrix.frag.out
@@ -0,0 +1,507 @@
+matrix.frag
+WARNING: 0:6: varying deprecated in version 130; may be removed in future release
+WARNING: 0:17: varying deprecated in version 130; may be removed in future release
+WARNING: 0:22: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 move second child to first child (temp 4-component vector of float)
+0:27 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:27 Construct vec4 (temp 4-component vector of float)
+0:27 direct index (temp 4-component vector of float)
+0:27 'un34' (uniform 4X4 matrix of float)
+0:27 Constant:
+0:27 1 (const int)
+0:28 add second child into first child (temp 4-component vector of float)
+0:28 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:28 Construct vec4 (temp 4-component vector of float)
+0:28 vector-times-matrix (temp 3-component vector of float)
+0:28 'Color' (smooth in 3-component vector of float)
+0:28 'colorTransform' (uniform 3X3 matrix of float)
+0:28 Constant:
+0:28 1.000000
+0:30 Test condition and select (temp void)
+0:30 Condition
+0:30 Compare Not Equal (temp bool)
+0:30 'm' (uniform 4X4 matrix of float)
+0:30 'n' (uniform 4X4 matrix of float)
+0:30 true case
+0:31 add second child into first child (temp 4-component vector of float)
+0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:31 'v' (smooth in 4-component vector of float)
+0:30 false case
+0:33 Sequence
+0:33 add second child into first child (temp 4-component vector of float)
+0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:33 matrix-times-vector (temp 4-component vector of float)
+0:33 'm' (uniform 4X4 matrix of float)
+0:33 'v' (smooth in 4-component vector of float)
+0:34 add second child into first child (temp 4-component vector of float)
+0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:34 vector-times-matrix (temp 4-component vector of float)
+0:34 'v' (smooth in 4-component vector of float)
+0:34 subtract (temp 4X4 matrix of float)
+0:34 'm' (uniform 4X4 matrix of float)
+0:34 'n' (uniform 4X4 matrix of float)
+0:42 Sequence
+0:42 move second child to first child (temp 4X4 matrix of float)
+0:42 'm34' (temp 4X4 matrix of float)
+0:45 Construct mat4 (temp 4X4 matrix of float)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 1 (const int)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 2 (const int)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 3 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 0 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 2 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 3 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 0 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 1 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 3 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 0 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 1 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 2 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:46 add second child into first child (temp 4X4 matrix of float)
+0:46 'm34' (temp 4X4 matrix of float)
+0:46 Construct mat4 (temp 4X4 matrix of float)
+0:46 direct index (temp float)
+0:46 'v' (smooth in 4-component vector of float)
+0:46 Constant:
+0:46 0 (const int)
+0:47 add second child into first child (temp 4X4 matrix of float)
+0:47 'm34' (temp 4X4 matrix of float)
+0:47 Construct mat4 (temp 4X4 matrix of float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:51 Test condition and select (temp void)
+0:51 Condition
+0:51 Compare Equal (temp bool)
+0:51 'm34' (temp 4X4 matrix of float)
+0:51 'un34' (uniform 4X4 matrix of float)
+0:51 true case
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:52 matrix-times-vector (temp 4-component vector of float)
+0:52 'm34' (temp 4X4 matrix of float)
+0:52 'u' (smooth in 4-component vector of float)
+0:51 false case
+0:54 add second child into first child (temp 4-component vector of float)
+0:54 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:54 matrix-times-vector (temp 4-component vector of float)
+0:54 matrix-multiply (temp 4X4 matrix of float)
+0:54 'un34' (uniform 4X4 matrix of float)
+0:54 'um43' (uniform 4X4 matrix of float)
+0:54 'v' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'colorTransform' (uniform 3X3 matrix of float)
+0:? 'Color' (smooth in 3-component vector of float)
+0:? 'm' (uniform 4X4 matrix of float)
+0:? 'n' (uniform 4X4 matrix of float)
+0:? 'um43' (uniform 4X4 matrix of float)
+0:? 'un34' (uniform 4X4 matrix of float)
+0:? 'v' (smooth in 4-component vector of float)
+0:? 'u' (smooth in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 move second child to first child (temp 4-component vector of float)
+0:27 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:27 Construct vec4 (temp 4-component vector of float)
+0:27 direct index (temp 4-component vector of float)
+0:27 'un34' (uniform 4X4 matrix of float)
+0:27 Constant:
+0:27 1 (const int)
+0:28 add second child into first child (temp 4-component vector of float)
+0:28 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:28 Construct vec4 (temp 4-component vector of float)
+0:28 vector-times-matrix (temp 3-component vector of float)
+0:28 'Color' (smooth in 3-component vector of float)
+0:28 'colorTransform' (uniform 3X3 matrix of float)
+0:28 Constant:
+0:28 1.000000
+0:30 Test condition and select (temp void)
+0:30 Condition
+0:30 Compare Not Equal (temp bool)
+0:30 'm' (uniform 4X4 matrix of float)
+0:30 'n' (uniform 4X4 matrix of float)
+0:30 true case
+0:31 add second child into first child (temp 4-component vector of float)
+0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:31 'v' (smooth in 4-component vector of float)
+0:30 false case
+0:33 Sequence
+0:33 add second child into first child (temp 4-component vector of float)
+0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:33 matrix-times-vector (temp 4-component vector of float)
+0:33 'm' (uniform 4X4 matrix of float)
+0:33 'v' (smooth in 4-component vector of float)
+0:34 add second child into first child (temp 4-component vector of float)
+0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:34 vector-times-matrix (temp 4-component vector of float)
+0:34 'v' (smooth in 4-component vector of float)
+0:34 subtract (temp 4X4 matrix of float)
+0:34 'm' (uniform 4X4 matrix of float)
+0:34 'n' (uniform 4X4 matrix of float)
+0:42 Sequence
+0:42 move second child to first child (temp 4X4 matrix of float)
+0:42 'm34' (temp 4X4 matrix of float)
+0:45 Construct mat4 (temp 4X4 matrix of float)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 1 (const int)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 2 (const int)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 3 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 0 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 2 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 3 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 0 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 1 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 3 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 0 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 1 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 2 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:46 add second child into first child (temp 4X4 matrix of float)
+0:46 'm34' (temp 4X4 matrix of float)
+0:46 Construct mat4 (temp 4X4 matrix of float)
+0:46 direct index (temp float)
+0:46 'v' (smooth in 4-component vector of float)
+0:46 Constant:
+0:46 0 (const int)
+0:47 add second child into first child (temp 4X4 matrix of float)
+0:47 'm34' (temp 4X4 matrix of float)
+0:47 Construct mat4 (temp 4X4 matrix of float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:51 Test condition and select (temp void)
+0:51 Condition
+0:51 Compare Equal (temp bool)
+0:51 'm34' (temp 4X4 matrix of float)
+0:51 'un34' (uniform 4X4 matrix of float)
+0:51 true case
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:52 matrix-times-vector (temp 4-component vector of float)
+0:52 'm34' (temp 4X4 matrix of float)
+0:52 'u' (smooth in 4-component vector of float)
+0:51 false case
+0:54 add second child into first child (temp 4-component vector of float)
+0:54 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:54 matrix-times-vector (temp 4-component vector of float)
+0:54 matrix-multiply (temp 4X4 matrix of float)
+0:54 'un34' (uniform 4X4 matrix of float)
+0:54 'um43' (uniform 4X4 matrix of float)
+0:54 'v' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'colorTransform' (uniform 3X3 matrix of float)
+0:? 'Color' (smooth in 3-component vector of float)
+0:? 'm' (uniform 4X4 matrix of float)
+0:? 'n' (uniform 4X4 matrix of float)
+0:? 'um43' (uniform 4X4 matrix of float)
+0:? 'un34' (uniform 4X4 matrix of float)
+0:? 'v' (smooth in 4-component vector of float)
+0:? 'u' (smooth in 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/matrix2.frag.out b/chromium/third_party/glslang/src/Test/baseResults/matrix2.frag.out
new file mode 100644
index 00000000000..d09dec0bf18
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/matrix2.frag.out
@@ -0,0 +1,347 @@
+matrix2.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:13: varying deprecated in version 130; may be removed in future release
+WARNING: 0:15: varying deprecated in version 130; may be removed in future release
+
+Shader version: 150
+0:? Sequence
+0:19 Function Definition: main( (global void)
+0:19 Function Parameters:
+0:21 Sequence
+0:21 Sequence
+0:21 move second child to first child (temp 3X4 matrix of float)
+0:21 'm34' (temp 3X4 matrix of float)
+0:21 outer product (global 3X4 matrix of float)
+0:21 'v' (smooth in 4-component vector of float)
+0:21 'u' (smooth in 3-component vector of float)
+0:23 add second child into first child (temp 3X4 matrix of float)
+0:23 'm34' (temp 3X4 matrix of float)
+0:23 Constant:
+0:23 4.300000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 4.300000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 4.300000
+0:23 0.000000
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 'FragColor' (out 4-component vector of float)
+0:25 Construct vec4 (temp 4-component vector of float)
+0:25 'Color' (smooth in 3-component vector of float)
+0:25 Constant:
+0:25 1.000000
+0:26 multiply second child into first child (temp 4-component vector of float)
+0:26 'FragColor' (out 4-component vector of float)
+0:26 Construct vec4 (temp 4-component vector of float)
+0:26 vector-times-matrix (temp 3-component vector of float)
+0:26 'FragColor' (out 4-component vector of float)
+0:26 'm34' (temp 3X4 matrix of float)
+0:26 Constant:
+0:26 1.000000
+0:28 matrix scale second child into first child (temp 3X4 matrix of float)
+0:28 'm34' (temp 3X4 matrix of float)
+0:28 direct index (temp float)
+0:28 'v' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 0 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp 4X4 matrix of float)
+0:30 'm44' (temp 4X4 matrix of float)
+0:30 Construct mat4 (temp 4X4 matrix of float)
+0:30 'un34' (uniform 3X4 matrix of float)
+0:32 add second child into first child (temp 4X4 matrix of float)
+0:32 'm44' (temp 4X4 matrix of float)
+0:32 matrix-multiply (temp 4X4 matrix of float)
+0:32 'm34' (temp 3X4 matrix of float)
+0:32 'um43' (uniform 4X3 matrix of float)
+0:34 add second child into first child (temp 4-component vector of float)
+0:34 'FragColor' (out 4-component vector of float)
+0:34 matrix-times-vector (temp 4-component vector of float)
+0:34 Negate value (temp 4X4 matrix of float)
+0:34 'm44' (temp 4X4 matrix of float)
+0:34 'v' (smooth in 4-component vector of float)
+0:36 matrix mult second child into first child (temp 4-component vector of float)
+0:36 'FragColor' (out 4-component vector of float)
+0:36 component-wise multiply (global 4X4 matrix of float)
+0:36 'm44' (temp 4X4 matrix of float)
+0:36 'm44' (temp 4X4 matrix of float)
+0:38 move second child to first child (temp 3X4 matrix of float)
+0:38 'm34' (temp 3X4 matrix of float)
+0:38 transpose (global 3X4 matrix of float)
+0:38 'um43' (uniform 4X3 matrix of float)
+0:39 multiply second child into first child (temp 4-component vector of float)
+0:39 'FragColor' (out 4-component vector of float)
+0:39 Construct vec4 (temp 4-component vector of float)
+0:39 vector-times-matrix (temp 3-component vector of float)
+0:39 'FragColor' (out 4-component vector of float)
+0:39 'm34' (temp 3X4 matrix of float)
+0:39 Constant:
+0:39 1.000000
+0:40 multiply second child into first child (temp 4-component vector of float)
+0:40 'FragColor' (out 4-component vector of float)
+0:40 Construct vec4 (temp 4-component vector of float)
+0:40 determinant (global float)
+0:40 'um4' (uniform 4X4 matrix of float)
+0:41 Sequence
+0:41 move second child to first child (temp 2X2 matrix of float)
+0:41 'inv' (temp 2X2 matrix of float)
+0:41 inverse (global 2X2 matrix of float)
+0:41 'um2' (uniform 2X2 matrix of float)
+0:42 multiply second child into first child (temp 4-component vector of float)
+0:42 'FragColor' (out 4-component vector of float)
+0:42 Construct vec4 (temp 4-component vector of float)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 1 (const int)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 Constant:
+0:42 1 (const int)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 1 (const int)
+0:42 Constant:
+0:42 1 (const int)
+0:43 Sequence
+0:43 move second child to first child (temp 3X3 matrix of float)
+0:43 'inv3' (temp 3X3 matrix of float)
+0:43 inverse (global 3X3 matrix of float)
+0:43 'um3' (uniform 3X3 matrix of float)
+0:44 multiply second child into first child (temp 4-component vector of float)
+0:44 'FragColor' (out 4-component vector of float)
+0:44 Construct vec4 (temp 4-component vector of float)
+0:44 direct index (temp float)
+0:44 direct index (temp 3-component vector of float)
+0:44 'inv3' (temp 3X3 matrix of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 1 (const int)
+0:46 Sequence
+0:46 move second child to first child (temp 4X4 matrix of float)
+0:46 'inv4' (temp 4X4 matrix of float)
+0:46 inverse (global 4X4 matrix of float)
+0:46 'um4' (uniform 4X4 matrix of float)
+0:47 matrix mult second child into first child (temp 4-component vector of float)
+0:47 'FragColor' (out 4-component vector of float)
+0:47 'inv4' (temp 4X4 matrix of float)
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 'FragColor' (out 4-component vector of float)
+0:49 Construct vec4 (temp 4-component vector of float)
+0:49 vector-times-matrix (temp 3-component vector of float)
+0:49 'FragColor' (out 4-component vector of float)
+0:49 component-wise multiply (global 3X4 matrix of float)
+0:49 'un34' (uniform 3X4 matrix of float)
+0:49 'un34' (uniform 3X4 matrix of float)
+0:49 direct index (temp float)
+0:49 'FragColor' (out 4-component vector of float)
+0:49 Constant:
+0:49 3 (const int)
+0:? Linker Objects
+0:? 'colorTransform' (uniform 3X3 matrix of float)
+0:? 'Color' (smooth in 3-component vector of float)
+0:? 'm' (uniform 4X4 matrix of float)
+0:? 'n' (uniform 4X4 matrix of float)
+0:? 'um43' (uniform 4X3 matrix of float)
+0:? 'un34' (uniform 3X4 matrix of float)
+0:? 'um2' (uniform 2X2 matrix of float)
+0:? 'um3' (uniform 3X3 matrix of float)
+0:? 'um4' (uniform 4X4 matrix of float)
+0:? 'v' (smooth in 4-component vector of float)
+0:? 'u' (smooth in 3-component vector of float)
+0:? 'FragColor' (out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 150
+0:? Sequence
+0:19 Function Definition: main( (global void)
+0:19 Function Parameters:
+0:21 Sequence
+0:21 Sequence
+0:21 move second child to first child (temp 3X4 matrix of float)
+0:21 'm34' (temp 3X4 matrix of float)
+0:21 outer product (global 3X4 matrix of float)
+0:21 'v' (smooth in 4-component vector of float)
+0:21 'u' (smooth in 3-component vector of float)
+0:23 add second child into first child (temp 3X4 matrix of float)
+0:23 'm34' (temp 3X4 matrix of float)
+0:23 Constant:
+0:23 4.300000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 4.300000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 4.300000
+0:23 0.000000
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 'FragColor' (out 4-component vector of float)
+0:25 Construct vec4 (temp 4-component vector of float)
+0:25 'Color' (smooth in 3-component vector of float)
+0:25 Constant:
+0:25 1.000000
+0:26 multiply second child into first child (temp 4-component vector of float)
+0:26 'FragColor' (out 4-component vector of float)
+0:26 Construct vec4 (temp 4-component vector of float)
+0:26 vector-times-matrix (temp 3-component vector of float)
+0:26 'FragColor' (out 4-component vector of float)
+0:26 'm34' (temp 3X4 matrix of float)
+0:26 Constant:
+0:26 1.000000
+0:28 matrix scale second child into first child (temp 3X4 matrix of float)
+0:28 'm34' (temp 3X4 matrix of float)
+0:28 direct index (temp float)
+0:28 'v' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 0 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp 4X4 matrix of float)
+0:30 'm44' (temp 4X4 matrix of float)
+0:30 Construct mat4 (temp 4X4 matrix of float)
+0:30 'un34' (uniform 3X4 matrix of float)
+0:32 add second child into first child (temp 4X4 matrix of float)
+0:32 'm44' (temp 4X4 matrix of float)
+0:32 matrix-multiply (temp 4X4 matrix of float)
+0:32 'm34' (temp 3X4 matrix of float)
+0:32 'um43' (uniform 4X3 matrix of float)
+0:34 add second child into first child (temp 4-component vector of float)
+0:34 'FragColor' (out 4-component vector of float)
+0:34 matrix-times-vector (temp 4-component vector of float)
+0:34 Negate value (temp 4X4 matrix of float)
+0:34 'm44' (temp 4X4 matrix of float)
+0:34 'v' (smooth in 4-component vector of float)
+0:36 matrix mult second child into first child (temp 4-component vector of float)
+0:36 'FragColor' (out 4-component vector of float)
+0:36 component-wise multiply (global 4X4 matrix of float)
+0:36 'm44' (temp 4X4 matrix of float)
+0:36 'm44' (temp 4X4 matrix of float)
+0:38 move second child to first child (temp 3X4 matrix of float)
+0:38 'm34' (temp 3X4 matrix of float)
+0:38 transpose (global 3X4 matrix of float)
+0:38 'um43' (uniform 4X3 matrix of float)
+0:39 multiply second child into first child (temp 4-component vector of float)
+0:39 'FragColor' (out 4-component vector of float)
+0:39 Construct vec4 (temp 4-component vector of float)
+0:39 vector-times-matrix (temp 3-component vector of float)
+0:39 'FragColor' (out 4-component vector of float)
+0:39 'm34' (temp 3X4 matrix of float)
+0:39 Constant:
+0:39 1.000000
+0:40 multiply second child into first child (temp 4-component vector of float)
+0:40 'FragColor' (out 4-component vector of float)
+0:40 Construct vec4 (temp 4-component vector of float)
+0:40 determinant (global float)
+0:40 'um4' (uniform 4X4 matrix of float)
+0:41 Sequence
+0:41 move second child to first child (temp 2X2 matrix of float)
+0:41 'inv' (temp 2X2 matrix of float)
+0:41 inverse (global 2X2 matrix of float)
+0:41 'um2' (uniform 2X2 matrix of float)
+0:42 multiply second child into first child (temp 4-component vector of float)
+0:42 'FragColor' (out 4-component vector of float)
+0:42 Construct vec4 (temp 4-component vector of float)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 1 (const int)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 Constant:
+0:42 1 (const int)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 1 (const int)
+0:42 Constant:
+0:42 1 (const int)
+0:43 Sequence
+0:43 move second child to first child (temp 3X3 matrix of float)
+0:43 'inv3' (temp 3X3 matrix of float)
+0:43 inverse (global 3X3 matrix of float)
+0:43 'um3' (uniform 3X3 matrix of float)
+0:44 multiply second child into first child (temp 4-component vector of float)
+0:44 'FragColor' (out 4-component vector of float)
+0:44 Construct vec4 (temp 4-component vector of float)
+0:44 direct index (temp float)
+0:44 direct index (temp 3-component vector of float)
+0:44 'inv3' (temp 3X3 matrix of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 1 (const int)
+0:46 Sequence
+0:46 move second child to first child (temp 4X4 matrix of float)
+0:46 'inv4' (temp 4X4 matrix of float)
+0:46 inverse (global 4X4 matrix of float)
+0:46 'um4' (uniform 4X4 matrix of float)
+0:47 matrix mult second child into first child (temp 4-component vector of float)
+0:47 'FragColor' (out 4-component vector of float)
+0:47 'inv4' (temp 4X4 matrix of float)
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 'FragColor' (out 4-component vector of float)
+0:49 Construct vec4 (temp 4-component vector of float)
+0:49 vector-times-matrix (temp 3-component vector of float)
+0:49 'FragColor' (out 4-component vector of float)
+0:49 component-wise multiply (global 3X4 matrix of float)
+0:49 'un34' (uniform 3X4 matrix of float)
+0:49 'un34' (uniform 3X4 matrix of float)
+0:49 direct index (temp float)
+0:49 'FragColor' (out 4-component vector of float)
+0:49 Constant:
+0:49 3 (const int)
+0:? Linker Objects
+0:? 'colorTransform' (uniform 3X3 matrix of float)
+0:? 'Color' (smooth in 3-component vector of float)
+0:? 'm' (uniform 4X4 matrix of float)
+0:? 'n' (uniform 4X4 matrix of float)
+0:? 'um43' (uniform 4X3 matrix of float)
+0:? 'un34' (uniform 3X4 matrix of float)
+0:? 'um2' (uniform 2X2 matrix of float)
+0:? 'um3' (uniform 3X3 matrix of float)
+0:? 'um4' (uniform 4X4 matrix of float)
+0:? 'v' (smooth in 4-component vector of float)
+0:? 'u' (smooth in 3-component vector of float)
+0:? 'FragColor' (out 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/matrixError.vert.out b/chromium/third_party/glslang/src/Test/baseResults/matrixError.vert.out
new file mode 100644
index 00000000000..ee0646ea0c3
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/matrixError.vert.out
@@ -0,0 +1,71 @@
+matrixError.vert
+ERROR: 0:10: 'constructor' : too many arguments
+ERROR: 0:7: 'const' : non-matching or non-convertible constant type for const initializer
+ERROR: 0:17: 'assign' : cannot convert from 'temp 2-component vector of float' to 'temp 3-component vector of float'
+ERROR: 0:18: 'assign' : cannot convert from 'temp 2-component vector of float' to 'temp 3-component vector of float'
+ERROR: 0:19: 'xy' : does not apply to this type: temp 2X3 matrix of float
+ERROR: 0:21: '[' : matrix index out of range '2'
+ERROR: 0:21: '[' : vector index out of range '4'
+ERROR: 7 compilation errors. No code generated.
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:? Sequence
+0:17 'a' (temp 3-component vector of float)
+0:18 'b' (temp 3-component vector of float)
+0:19 'm23' (temp 2X3 matrix of float)
+0:21 move second child to first child (temp 4-component vector of float)
+0:21 'gl_Position' (gl_Position 4-component vector of float Position)
+0:21 Construct vec4 (temp 4-component vector of float)
+0:21 matrix-times-vector (temp 3-component vector of float)
+0:21 matrix-multiply (temp 3X3 matrix of float)
+0:21 'm23' (temp 2X3 matrix of float)
+0:21 'm32' (uniform 3X2 matrix of float)
+0:21 'v3' (in 3-component vector of float)
+0:21 direct index (temp float)
+0:21 direct index (temp 4-component vector of float)
+0:21 'm24' (temp 2X4 matrix of float)
+0:21 Constant:
+0:21 2 (const int)
+0:21 Constant:
+0:21 4 (const int)
+0:? Linker Objects
+0:? 'v3' (in 3-component vector of float)
+0:? 'm32' (uniform 3X2 matrix of float)
+0:? 'm24' (temp 2X4 matrix of float)
+
+
+Linked vertex stage:
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:? Sequence
+0:17 'a' (temp 3-component vector of float)
+0:18 'b' (temp 3-component vector of float)
+0:19 'm23' (temp 2X3 matrix of float)
+0:21 move second child to first child (temp 4-component vector of float)
+0:21 'gl_Position' (gl_Position 4-component vector of float Position)
+0:21 Construct vec4 (temp 4-component vector of float)
+0:21 matrix-times-vector (temp 3-component vector of float)
+0:21 matrix-multiply (temp 3X3 matrix of float)
+0:21 'm23' (temp 2X3 matrix of float)
+0:21 'm32' (uniform 3X2 matrix of float)
+0:21 'v3' (in 3-component vector of float)
+0:21 direct index (temp float)
+0:21 direct index (temp 4-component vector of float)
+0:21 'm24' (temp 2X4 matrix of float)
+0:21 Constant:
+0:21 2 (const int)
+0:21 Constant:
+0:21 4 (const int)
+0:? Linker Objects
+0:? 'v3' (in 3-component vector of float)
+0:? 'm32' (uniform 3X2 matrix of float)
+0:? 'm24' (temp 2X4 matrix of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/max_vertices_0.geom.out b/chromium/third_party/glslang/src/Test/baseResults/max_vertices_0.geom.out
new file mode 100644
index 00000000000..94890bc8915
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/max_vertices_0.geom.out
@@ -0,0 +1,35 @@
+max_vertices_0.geom
+Shader version: 330
+invocations = -1
+max_vertices = 0
+input primitive = points
+output primitive = triangle_strip
+0:? Sequence
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:10 Sequence
+0:10 EndPrimitive (global void)
+0:11 EndPrimitive (global void)
+0:? Linker Objects
+0:? 'v_geom_FragColor' (in 1-element array of 4-component vector of float)
+0:? 'v_frag_FragColor' (layout(stream=0 ) out 4-component vector of float)
+
+
+Linked geometry stage:
+
+
+Shader version: 330
+invocations = 1
+max_vertices = 0
+input primitive = points
+output primitive = triangle_strip
+0:? Sequence
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:10 Sequence
+0:10 EndPrimitive (global void)
+0:11 EndPrimitive (global void)
+0:? Linker Objects
+0:? 'v_geom_FragColor' (in 1-element array of 4-component vector of float)
+0:? 'v_frag_FragColor' (layout(stream=0 ) out 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/negativeArraySize.comp.out b/chromium/third_party/glslang/src/Test/baseResults/negativeArraySize.comp.out
new file mode 100644
index 00000000000..ccbabf5f15a
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/negativeArraySize.comp.out
@@ -0,0 +1,24 @@
+negativeArraySize.comp
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:9: '' : array size must be a positive integer
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 310
+local_size = (1, 1, 1)
+ERROR: node is still EOpNull!
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:? Linker Objects
+
+
+Linked compute stage:
+
+
+Shader version: 310
+local_size = (1, 1, 1)
+ERROR: node is still EOpNull!
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:? Linker Objects
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/newTexture.frag.out b/chromium/third_party/glslang/src/Test/baseResults/newTexture.frag.out
new file mode 100644
index 00000000000..f63d79f12d1
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/newTexture.frag.out
@@ -0,0 +1,523 @@
+newTexture.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 430
+0:? Sequence
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:38 Sequence
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:38 texture (global 4-component vector of float)
+0:38 's2D' (uniform sampler2D)
+0:38 'c2D' (smooth in 2-component vector of float)
+0:39 add second child into first child (temp 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:39 textureProj (global 4-component vector of float)
+0:39 's3D' (uniform sampler3D)
+0:39 'c4D' (smooth in 4-component vector of float)
+0:40 add second child into first child (temp 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:40 textureLod (global 4-component vector of float)
+0:40 's2DArray' (uniform sampler2DArray)
+0:40 'c3D' (smooth in 3-component vector of float)
+0:40 Constant:
+0:40 1.200000
+0:41 add second child into first child (temp float)
+0:41 direct index (temp float)
+0:41 'v' (temp 4-component vector of float)
+0:41 Constant:
+0:41 1 (const int)
+0:41 textureOffset (global float)
+0:41 's2DShadow' (uniform sampler2DShadow)
+0:41 'c3D' (smooth in 3-component vector of float)
+0:41 Constant:
+0:41 3 (const int)
+0:41 3 (const int)
+0:41 'c1D' (smooth in float)
+0:42 add second child into first child (temp 4-component vector of float)
+0:42 'v' (temp 4-component vector of float)
+0:42 textureFetch (global 4-component vector of float)
+0:42 's3D' (uniform sampler3D)
+0:42 'ic3D' (flat in 3-component vector of int)
+0:42 'ic1D' (flat in int)
+0:43 add second child into first child (temp 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:43 textureFetchOffset (global 4-component vector of float)
+0:43 's2D' (uniform sampler2D)
+0:43 'ic2D' (flat in 2-component vector of int)
+0:43 Constant:
+0:43 4 (const int)
+0:43 Constant:
+0:43 3 (const int)
+0:43 3 (const int)
+0:44 add second child into first child (temp 4-component vector of float)
+0:44 'v' (temp 4-component vector of float)
+0:44 textureFetchOffset (global 4-component vector of float)
+0:44 'sr' (uniform sampler2DRect)
+0:44 'ic2D' (flat in 2-component vector of int)
+0:44 Constant:
+0:44 4 (const int)
+0:44 4 (const int)
+0:45 add second child into first child (temp float)
+0:45 direct index (temp float)
+0:45 'v' (temp 4-component vector of float)
+0:45 Constant:
+0:45 1 (const int)
+0:45 textureLodOffset (global float)
+0:45 's2DShadow' (uniform sampler2DShadow)
+0:45 'c3D' (smooth in 3-component vector of float)
+0:45 'c1D' (smooth in float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 3 (const int)
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'v' (temp 4-component vector of float)
+0:46 textureProjLodOffset (global 4-component vector of float)
+0:46 's2D' (uniform sampler2D)
+0:46 'c3D' (smooth in 3-component vector of float)
+0:46 'c1D' (smooth in float)
+0:46 Constant:
+0:46 3 (const int)
+0:46 3 (const int)
+0:47 add second child into first child (temp 4-component vector of float)
+0:47 'v' (temp 4-component vector of float)
+0:47 textureGrad (global 4-component vector of float)
+0:47 'sCube' (uniform samplerCube)
+0:47 'c3D' (smooth in 3-component vector of float)
+0:47 'c3D' (smooth in 3-component vector of float)
+0:47 'c3D' (smooth in 3-component vector of float)
+0:48 add second child into first child (temp float)
+0:48 direct index (temp float)
+0:48 'v' (temp 4-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:48 textureGradOffset (global float)
+0:48 's2DArrayShadow' (uniform sampler2DArrayShadow)
+0:48 'c4D' (smooth in 4-component vector of float)
+0:48 'c2D' (smooth in 2-component vector of float)
+0:48 'c2D' (smooth in 2-component vector of float)
+0:48 Constant:
+0:48 3 (const int)
+0:48 3 (const int)
+0:49 add second child into first child (temp 4-component vector of float)
+0:49 'v' (temp 4-component vector of float)
+0:49 textureProjGrad (global 4-component vector of float)
+0:49 's3D' (uniform sampler3D)
+0:49 'c4D' (smooth in 4-component vector of float)
+0:49 'c3D' (smooth in 3-component vector of float)
+0:49 'c3D' (smooth in 3-component vector of float)
+0:50 add second child into first child (temp 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:50 textureProjGradOffset (global 4-component vector of float)
+0:50 's2D' (uniform sampler2D)
+0:50 'c3D' (smooth in 3-component vector of float)
+0:50 'c2D' (smooth in 2-component vector of float)
+0:50 'c2D' (smooth in 2-component vector of float)
+0:50 Constant:
+0:50 3 (const int)
+0:50 3 (const int)
+0:52 Sequence
+0:52 move second child to first child (temp 4-component vector of int)
+0:52 'iv' (temp 4-component vector of int)
+0:52 texture (global 4-component vector of int)
+0:52 'is2D' (uniform isampler2D)
+0:52 'c2D' (smooth in 2-component vector of float)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'v' (temp 4-component vector of float)
+0:53 Convert int to float (temp 4-component vector of float)
+0:53 'iv' (temp 4-component vector of int)
+0:54 move second child to first child (temp 4-component vector of int)
+0:54 'iv' (temp 4-component vector of int)
+0:54 textureProjOffset (global 4-component vector of int)
+0:54 'is2D' (uniform isampler2D)
+0:54 'c4D' (smooth in 4-component vector of float)
+0:54 Constant:
+0:54 3 (const int)
+0:54 3 (const int)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'v' (temp 4-component vector of float)
+0:55 Convert int to float (temp 4-component vector of float)
+0:55 'iv' (temp 4-component vector of int)
+0:56 move second child to first child (temp 4-component vector of int)
+0:56 'iv' (temp 4-component vector of int)
+0:56 textureProjLod (global 4-component vector of int)
+0:56 'is2D' (uniform isampler2D)
+0:56 'c3D' (smooth in 3-component vector of float)
+0:56 'c1D' (smooth in float)
+0:57 add second child into first child (temp 4-component vector of float)
+0:57 'v' (temp 4-component vector of float)
+0:57 Convert int to float (temp 4-component vector of float)
+0:57 'iv' (temp 4-component vector of int)
+0:58 move second child to first child (temp 4-component vector of int)
+0:58 'iv' (temp 4-component vector of int)
+0:58 textureProjGrad (global 4-component vector of int)
+0:58 'is2D' (uniform isampler2D)
+0:58 'c3D' (smooth in 3-component vector of float)
+0:58 'c2D' (smooth in 2-component vector of float)
+0:58 'c2D' (smooth in 2-component vector of float)
+0:59 add second child into first child (temp 4-component vector of float)
+0:59 'v' (temp 4-component vector of float)
+0:59 Convert int to float (temp 4-component vector of float)
+0:59 'iv' (temp 4-component vector of int)
+0:60 move second child to first child (temp 4-component vector of int)
+0:60 'iv' (temp 4-component vector of int)
+0:60 texture (global 4-component vector of int)
+0:60 'is3D' (uniform isampler3D)
+0:60 'c3D' (smooth in 3-component vector of float)
+0:60 Constant:
+0:60 4.200000
+0:61 add second child into first child (temp 4-component vector of float)
+0:61 'v' (temp 4-component vector of float)
+0:61 Convert int to float (temp 4-component vector of float)
+0:61 'iv' (temp 4-component vector of int)
+0:62 move second child to first child (temp 4-component vector of int)
+0:62 'iv' (temp 4-component vector of int)
+0:62 textureLod (global 4-component vector of int)
+0:62 'isCube' (uniform isamplerCube)
+0:62 'c3D' (smooth in 3-component vector of float)
+0:62 'c1D' (smooth in float)
+0:63 add second child into first child (temp 4-component vector of float)
+0:63 'v' (temp 4-component vector of float)
+0:63 Convert int to float (temp 4-component vector of float)
+0:63 'iv' (temp 4-component vector of int)
+0:64 move second child to first child (temp 4-component vector of int)
+0:64 'iv' (temp 4-component vector of int)
+0:64 textureFetch (global 4-component vector of int)
+0:64 'is2DArray' (uniform isampler2DArray)
+0:64 'ic3D' (flat in 3-component vector of int)
+0:64 'ic1D' (flat in int)
+0:65 add second child into first child (temp 4-component vector of float)
+0:65 'v' (temp 4-component vector of float)
+0:65 Convert int to float (temp 4-component vector of float)
+0:65 'iv' (temp 4-component vector of int)
+0:66 add second child into first child (temp 4-component vector of int)
+0:66 'iv' (temp 4-component vector of int)
+0:66 textureFetch (global 4-component vector of int)
+0:66 'is2Dms' (uniform isampler2DMS)
+0:66 'ic2D' (flat in 2-component vector of int)
+0:66 'ic1D' (flat in int)
+0:67 add second child into first child (temp 4-component vector of float)
+0:67 'v' (temp 4-component vector of float)
+0:67 Convert int to float (temp 4-component vector of float)
+0:67 'iv' (temp 4-component vector of int)
+0:68 add second child into first child (temp 4-component vector of float)
+0:68 'v' (temp 4-component vector of float)
+0:68 textureFetch (global 4-component vector of float)
+0:68 'sb' (uniform samplerBuffer)
+0:68 'ic1D' (flat in int)
+0:69 add second child into first child (temp 4-component vector of float)
+0:69 'v' (temp 4-component vector of float)
+0:69 textureFetch (global 4-component vector of float)
+0:69 'sr' (uniform sampler2DRect)
+0:69 'ic2D' (flat in 2-component vector of int)
+0:71 Sequence
+0:71 move second child to first child (temp 2-component vector of int)
+0:71 'iv2' (temp 2-component vector of int)
+0:71 textureSize (global 2-component vector of int)
+0:71 'sCubeShadow' (uniform samplerCubeShadow)
+0:71 Constant:
+0:71 2 (const int)
+0:74 move second child to first child (temp 4-component vector of float)
+0:74 'FragData' (out 4-component vector of float)
+0:74 add (temp 4-component vector of float)
+0:74 'v' (temp 4-component vector of float)
+0:74 Construct vec4 (temp 4-component vector of float)
+0:74 Convert int to float (temp 2-component vector of float)
+0:74 'iv2' (temp 2-component vector of int)
+0:74 Constant:
+0:74 0.000000
+0:74 Constant:
+0:74 0.000000
+0:? Linker Objects
+0:? 'sb' (uniform samplerBuffer)
+0:? 'sr' (uniform sampler2DRect)
+0:? 's2D' (uniform sampler2D)
+0:? 's3D' (uniform sampler3D)
+0:? 'sCube' (uniform samplerCube)
+0:? 'sCubeShadow' (uniform samplerCubeShadow)
+0:? 's2DShadow' (uniform sampler2DShadow)
+0:? 's2DArray' (uniform sampler2DArray)
+0:? 's2DArrayShadow' (uniform sampler2DArrayShadow)
+0:? 'is2D' (uniform isampler2D)
+0:? 'is3D' (uniform isampler3D)
+0:? 'isCube' (uniform isamplerCube)
+0:? 'is2DArray' (uniform isampler2DArray)
+0:? 'is2Dms' (uniform isampler2DMS)
+0:? 'us2D' (uniform usampler2D)
+0:? 'us3D' (uniform usampler3D)
+0:? 'usCube' (uniform usamplerCube)
+0:? 'us2DArray' (uniform usampler2DArray)
+0:? 'c1D' (smooth in float)
+0:? 'c2D' (smooth in 2-component vector of float)
+0:? 'c3D' (smooth in 3-component vector of float)
+0:? 'c4D' (smooth in 4-component vector of float)
+0:? 'ic1D' (flat in int)
+0:? 'ic2D' (flat in 2-component vector of int)
+0:? 'ic3D' (flat in 3-component vector of int)
+0:? 'ic4D' (flat in 4-component vector of int)
+0:? 'FragData' (out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 430
+0:? Sequence
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:38 Sequence
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:38 texture (global 4-component vector of float)
+0:38 's2D' (uniform sampler2D)
+0:38 'c2D' (smooth in 2-component vector of float)
+0:39 add second child into first child (temp 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:39 textureProj (global 4-component vector of float)
+0:39 's3D' (uniform sampler3D)
+0:39 'c4D' (smooth in 4-component vector of float)
+0:40 add second child into first child (temp 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:40 textureLod (global 4-component vector of float)
+0:40 's2DArray' (uniform sampler2DArray)
+0:40 'c3D' (smooth in 3-component vector of float)
+0:40 Constant:
+0:40 1.200000
+0:41 add second child into first child (temp float)
+0:41 direct index (temp float)
+0:41 'v' (temp 4-component vector of float)
+0:41 Constant:
+0:41 1 (const int)
+0:41 textureOffset (global float)
+0:41 's2DShadow' (uniform sampler2DShadow)
+0:41 'c3D' (smooth in 3-component vector of float)
+0:41 Constant:
+0:41 3 (const int)
+0:41 3 (const int)
+0:41 'c1D' (smooth in float)
+0:42 add second child into first child (temp 4-component vector of float)
+0:42 'v' (temp 4-component vector of float)
+0:42 textureFetch (global 4-component vector of float)
+0:42 's3D' (uniform sampler3D)
+0:42 'ic3D' (flat in 3-component vector of int)
+0:42 'ic1D' (flat in int)
+0:43 add second child into first child (temp 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:43 textureFetchOffset (global 4-component vector of float)
+0:43 's2D' (uniform sampler2D)
+0:43 'ic2D' (flat in 2-component vector of int)
+0:43 Constant:
+0:43 4 (const int)
+0:43 Constant:
+0:43 3 (const int)
+0:43 3 (const int)
+0:44 add second child into first child (temp 4-component vector of float)
+0:44 'v' (temp 4-component vector of float)
+0:44 textureFetchOffset (global 4-component vector of float)
+0:44 'sr' (uniform sampler2DRect)
+0:44 'ic2D' (flat in 2-component vector of int)
+0:44 Constant:
+0:44 4 (const int)
+0:44 4 (const int)
+0:45 add second child into first child (temp float)
+0:45 direct index (temp float)
+0:45 'v' (temp 4-component vector of float)
+0:45 Constant:
+0:45 1 (const int)
+0:45 textureLodOffset (global float)
+0:45 's2DShadow' (uniform sampler2DShadow)
+0:45 'c3D' (smooth in 3-component vector of float)
+0:45 'c1D' (smooth in float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 3 (const int)
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'v' (temp 4-component vector of float)
+0:46 textureProjLodOffset (global 4-component vector of float)
+0:46 's2D' (uniform sampler2D)
+0:46 'c3D' (smooth in 3-component vector of float)
+0:46 'c1D' (smooth in float)
+0:46 Constant:
+0:46 3 (const int)
+0:46 3 (const int)
+0:47 add second child into first child (temp 4-component vector of float)
+0:47 'v' (temp 4-component vector of float)
+0:47 textureGrad (global 4-component vector of float)
+0:47 'sCube' (uniform samplerCube)
+0:47 'c3D' (smooth in 3-component vector of float)
+0:47 'c3D' (smooth in 3-component vector of float)
+0:47 'c3D' (smooth in 3-component vector of float)
+0:48 add second child into first child (temp float)
+0:48 direct index (temp float)
+0:48 'v' (temp 4-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:48 textureGradOffset (global float)
+0:48 's2DArrayShadow' (uniform sampler2DArrayShadow)
+0:48 'c4D' (smooth in 4-component vector of float)
+0:48 'c2D' (smooth in 2-component vector of float)
+0:48 'c2D' (smooth in 2-component vector of float)
+0:48 Constant:
+0:48 3 (const int)
+0:48 3 (const int)
+0:49 add second child into first child (temp 4-component vector of float)
+0:49 'v' (temp 4-component vector of float)
+0:49 textureProjGrad (global 4-component vector of float)
+0:49 's3D' (uniform sampler3D)
+0:49 'c4D' (smooth in 4-component vector of float)
+0:49 'c3D' (smooth in 3-component vector of float)
+0:49 'c3D' (smooth in 3-component vector of float)
+0:50 add second child into first child (temp 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:50 textureProjGradOffset (global 4-component vector of float)
+0:50 's2D' (uniform sampler2D)
+0:50 'c3D' (smooth in 3-component vector of float)
+0:50 'c2D' (smooth in 2-component vector of float)
+0:50 'c2D' (smooth in 2-component vector of float)
+0:50 Constant:
+0:50 3 (const int)
+0:50 3 (const int)
+0:52 Sequence
+0:52 move second child to first child (temp 4-component vector of int)
+0:52 'iv' (temp 4-component vector of int)
+0:52 texture (global 4-component vector of int)
+0:52 'is2D' (uniform isampler2D)
+0:52 'c2D' (smooth in 2-component vector of float)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'v' (temp 4-component vector of float)
+0:53 Convert int to float (temp 4-component vector of float)
+0:53 'iv' (temp 4-component vector of int)
+0:54 move second child to first child (temp 4-component vector of int)
+0:54 'iv' (temp 4-component vector of int)
+0:54 textureProjOffset (global 4-component vector of int)
+0:54 'is2D' (uniform isampler2D)
+0:54 'c4D' (smooth in 4-component vector of float)
+0:54 Constant:
+0:54 3 (const int)
+0:54 3 (const int)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'v' (temp 4-component vector of float)
+0:55 Convert int to float (temp 4-component vector of float)
+0:55 'iv' (temp 4-component vector of int)
+0:56 move second child to first child (temp 4-component vector of int)
+0:56 'iv' (temp 4-component vector of int)
+0:56 textureProjLod (global 4-component vector of int)
+0:56 'is2D' (uniform isampler2D)
+0:56 'c3D' (smooth in 3-component vector of float)
+0:56 'c1D' (smooth in float)
+0:57 add second child into first child (temp 4-component vector of float)
+0:57 'v' (temp 4-component vector of float)
+0:57 Convert int to float (temp 4-component vector of float)
+0:57 'iv' (temp 4-component vector of int)
+0:58 move second child to first child (temp 4-component vector of int)
+0:58 'iv' (temp 4-component vector of int)
+0:58 textureProjGrad (global 4-component vector of int)
+0:58 'is2D' (uniform isampler2D)
+0:58 'c3D' (smooth in 3-component vector of float)
+0:58 'c2D' (smooth in 2-component vector of float)
+0:58 'c2D' (smooth in 2-component vector of float)
+0:59 add second child into first child (temp 4-component vector of float)
+0:59 'v' (temp 4-component vector of float)
+0:59 Convert int to float (temp 4-component vector of float)
+0:59 'iv' (temp 4-component vector of int)
+0:60 move second child to first child (temp 4-component vector of int)
+0:60 'iv' (temp 4-component vector of int)
+0:60 texture (global 4-component vector of int)
+0:60 'is3D' (uniform isampler3D)
+0:60 'c3D' (smooth in 3-component vector of float)
+0:60 Constant:
+0:60 4.200000
+0:61 add second child into first child (temp 4-component vector of float)
+0:61 'v' (temp 4-component vector of float)
+0:61 Convert int to float (temp 4-component vector of float)
+0:61 'iv' (temp 4-component vector of int)
+0:62 move second child to first child (temp 4-component vector of int)
+0:62 'iv' (temp 4-component vector of int)
+0:62 textureLod (global 4-component vector of int)
+0:62 'isCube' (uniform isamplerCube)
+0:62 'c3D' (smooth in 3-component vector of float)
+0:62 'c1D' (smooth in float)
+0:63 add second child into first child (temp 4-component vector of float)
+0:63 'v' (temp 4-component vector of float)
+0:63 Convert int to float (temp 4-component vector of float)
+0:63 'iv' (temp 4-component vector of int)
+0:64 move second child to first child (temp 4-component vector of int)
+0:64 'iv' (temp 4-component vector of int)
+0:64 textureFetch (global 4-component vector of int)
+0:64 'is2DArray' (uniform isampler2DArray)
+0:64 'ic3D' (flat in 3-component vector of int)
+0:64 'ic1D' (flat in int)
+0:65 add second child into first child (temp 4-component vector of float)
+0:65 'v' (temp 4-component vector of float)
+0:65 Convert int to float (temp 4-component vector of float)
+0:65 'iv' (temp 4-component vector of int)
+0:66 add second child into first child (temp 4-component vector of int)
+0:66 'iv' (temp 4-component vector of int)
+0:66 textureFetch (global 4-component vector of int)
+0:66 'is2Dms' (uniform isampler2DMS)
+0:66 'ic2D' (flat in 2-component vector of int)
+0:66 'ic1D' (flat in int)
+0:67 add second child into first child (temp 4-component vector of float)
+0:67 'v' (temp 4-component vector of float)
+0:67 Convert int to float (temp 4-component vector of float)
+0:67 'iv' (temp 4-component vector of int)
+0:68 add second child into first child (temp 4-component vector of float)
+0:68 'v' (temp 4-component vector of float)
+0:68 textureFetch (global 4-component vector of float)
+0:68 'sb' (uniform samplerBuffer)
+0:68 'ic1D' (flat in int)
+0:69 add second child into first child (temp 4-component vector of float)
+0:69 'v' (temp 4-component vector of float)
+0:69 textureFetch (global 4-component vector of float)
+0:69 'sr' (uniform sampler2DRect)
+0:69 'ic2D' (flat in 2-component vector of int)
+0:71 Sequence
+0:71 move second child to first child (temp 2-component vector of int)
+0:71 'iv2' (temp 2-component vector of int)
+0:71 textureSize (global 2-component vector of int)
+0:71 'sCubeShadow' (uniform samplerCubeShadow)
+0:71 Constant:
+0:71 2 (const int)
+0:74 move second child to first child (temp 4-component vector of float)
+0:74 'FragData' (out 4-component vector of float)
+0:74 add (temp 4-component vector of float)
+0:74 'v' (temp 4-component vector of float)
+0:74 Construct vec4 (temp 4-component vector of float)
+0:74 Convert int to float (temp 2-component vector of float)
+0:74 'iv2' (temp 2-component vector of int)
+0:74 Constant:
+0:74 0.000000
+0:74 Constant:
+0:74 0.000000
+0:? Linker Objects
+0:? 'sb' (uniform samplerBuffer)
+0:? 'sr' (uniform sampler2DRect)
+0:? 's2D' (uniform sampler2D)
+0:? 's3D' (uniform sampler3D)
+0:? 'sCube' (uniform samplerCube)
+0:? 'sCubeShadow' (uniform samplerCubeShadow)
+0:? 's2DShadow' (uniform sampler2DShadow)
+0:? 's2DArray' (uniform sampler2DArray)
+0:? 's2DArrayShadow' (uniform sampler2DArrayShadow)
+0:? 'is2D' (uniform isampler2D)
+0:? 'is3D' (uniform isampler3D)
+0:? 'isCube' (uniform isamplerCube)
+0:? 'is2DArray' (uniform isampler2DArray)
+0:? 'is2Dms' (uniform isampler2DMS)
+0:? 'us2D' (uniform usampler2D)
+0:? 'us3D' (uniform usampler3D)
+0:? 'usCube' (uniform usamplerCube)
+0:? 'us2DArray' (uniform usampler2DArray)
+0:? 'c1D' (smooth in float)
+0:? 'c2D' (smooth in 2-component vector of float)
+0:? 'c3D' (smooth in 3-component vector of float)
+0:? 'c4D' (smooth in 4-component vector of float)
+0:? 'ic1D' (flat in int)
+0:? 'ic2D' (flat in 2-component vector of int)
+0:? 'ic3D' (flat in 3-component vector of int)
+0:? 'ic4D' (flat in 4-component vector of int)
+0:? 'FragData' (out 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/noMain.vert.out b/chromium/third_party/glslang/src/Test/baseResults/noMain.vert.out
new file mode 100644
index 00000000000..630af95564f
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/noMain.vert.out
@@ -0,0 +1,45 @@
+noMain.vert
+Shader version: 300
+0:? Sequence
+0:3 Function Definition: foo( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+mains.frag
+ERROR: 0:7: 'main' : function already has a body
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:? Linker Objects
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: Missing entry point: Each stage requires one "void main()" entry point
+
+Linked fragment stage:
+
+
+Shader version: 300
+0:? Sequence
+0:3 Function Definition: foo( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+Shader version: 300
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:? Linker Objects
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/nonSquare.vert.out b/chromium/third_party/glslang/src/Test/baseResults/nonSquare.vert.out
new file mode 100644
index 00000000000..c0753696a23
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/nonSquare.vert.out
@@ -0,0 +1,183 @@
+nonSquare.vert
+Shader version: 120
+0:? Sequence
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:? Sequence
+0:20 move second child to first child (temp 2-component vector of float)
+0:20 'a' (temp 2-component vector of float)
+0:20 vector-times-matrix (temp 2-component vector of float)
+0:20 'v3' (in 3-component vector of float)
+0:20 'm23' (temp 2X3 matrix of float)
+0:21 move second child to first child (temp 2-component vector of float)
+0:21 'b' (temp 2-component vector of float)
+0:21 matrix-times-vector (temp 2-component vector of float)
+0:21 'm32' (uniform 3X2 matrix of float)
+0:21 'v3' (in 3-component vector of float)
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'gl_Position' (gl_Position 4-component vector of float Position)
+0:24 add (temp 4-component vector of float)
+0:24 add (temp 4-component vector of float)
+0:24 add (temp 4-component vector of float)
+0:23 add (temp 4-component vector of float)
+0:23 Construct vec4 (temp 4-component vector of float)
+0:23 matrix-times-vector (temp 3-component vector of float)
+0:23 matrix-multiply (temp 3X3 matrix of float)
+0:23 'm23' (temp 2X3 matrix of float)
+0:23 'm32' (uniform 3X2 matrix of float)
+0:23 'v3' (in 3-component vector of float)
+0:23 Constant:
+0:23 0.000000
+0:24 matrix-times-vector (temp 4-component vector of float)
+0:24 Constant:
+0:24 3.000000
+0:24 6.000000
+0:24 0.000000
+0:24 0.000000
+0:24 9.000000
+0:24 12.000000
+0:24 0.000000
+0:24 0.000000
+0:24 15.000000
+0:24 18.000000
+0:24 0.000000
+0:24 0.000000
+0:24 21.000000
+0:24 24.000000
+0:24 0.000000
+0:24 0.000000
+0:24 'v4' (in 4-component vector of float)
+0:24 Constant:
+0:24 50.000000
+0:24 110.000000
+0:24 170.000000
+0:24 230.000000
+0:24 Constant:
+0:24 30.000000
+0:24 60.000000
+0:24 0.000000
+0:24 0.000000
+0:24 Constant:
+0:24 20.000000
+0:24 10.000000
+0:24 6.000000
+0:24 5.000000
+0:? Linker Objects
+0:? 'v3' (in 3-component vector of float)
+0:? 'v4' (in 4-component vector of float)
+0:? 'm32' (uniform 3X2 matrix of float)
+0:? 'cv2' (const 2-component vector of float)
+0:? 10.000000
+0:? 20.000000
+0:? 'm24' (const 2X4 matrix of float)
+0:? 3.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 3.000000
+0:? 0.000000
+0:? 0.000000
+0:? 'm42' (const 4X2 matrix of float)
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+
+
+Linked vertex stage:
+
+
+Shader version: 120
+0:? Sequence
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:? Sequence
+0:20 move second child to first child (temp 2-component vector of float)
+0:20 'a' (temp 2-component vector of float)
+0:20 vector-times-matrix (temp 2-component vector of float)
+0:20 'v3' (in 3-component vector of float)
+0:20 'm23' (temp 2X3 matrix of float)
+0:21 move second child to first child (temp 2-component vector of float)
+0:21 'b' (temp 2-component vector of float)
+0:21 matrix-times-vector (temp 2-component vector of float)
+0:21 'm32' (uniform 3X2 matrix of float)
+0:21 'v3' (in 3-component vector of float)
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'gl_Position' (gl_Position 4-component vector of float Position)
+0:24 add (temp 4-component vector of float)
+0:24 add (temp 4-component vector of float)
+0:24 add (temp 4-component vector of float)
+0:23 add (temp 4-component vector of float)
+0:23 Construct vec4 (temp 4-component vector of float)
+0:23 matrix-times-vector (temp 3-component vector of float)
+0:23 matrix-multiply (temp 3X3 matrix of float)
+0:23 'm23' (temp 2X3 matrix of float)
+0:23 'm32' (uniform 3X2 matrix of float)
+0:23 'v3' (in 3-component vector of float)
+0:23 Constant:
+0:23 0.000000
+0:24 matrix-times-vector (temp 4-component vector of float)
+0:24 Constant:
+0:24 3.000000
+0:24 6.000000
+0:24 0.000000
+0:24 0.000000
+0:24 9.000000
+0:24 12.000000
+0:24 0.000000
+0:24 0.000000
+0:24 15.000000
+0:24 18.000000
+0:24 0.000000
+0:24 0.000000
+0:24 21.000000
+0:24 24.000000
+0:24 0.000000
+0:24 0.000000
+0:24 'v4' (in 4-component vector of float)
+0:24 Constant:
+0:24 50.000000
+0:24 110.000000
+0:24 170.000000
+0:24 230.000000
+0:24 Constant:
+0:24 30.000000
+0:24 60.000000
+0:24 0.000000
+0:24 0.000000
+0:24 Constant:
+0:24 20.000000
+0:24 10.000000
+0:24 6.000000
+0:24 5.000000
+0:? Linker Objects
+0:? 'v3' (in 3-component vector of float)
+0:? 'v4' (in 4-component vector of float)
+0:? 'm32' (uniform 3X2 matrix of float)
+0:? 'cv2' (const 2-component vector of float)
+0:? 10.000000
+0:? 20.000000
+0:? 'm24' (const 2X4 matrix of float)
+0:? 3.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 3.000000
+0:? 0.000000
+0:? 0.000000
+0:? 'm42' (const 4X2 matrix of float)
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/nonVulkan.frag.out b/chromium/third_party/glslang/src/Test/baseResults/nonVulkan.frag.out
new file mode 100644
index 00000000000..10c693c0abc
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/nonVulkan.frag.out
@@ -0,0 +1,30 @@
+nonVulkan.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:3: 'constant_id' : only allowed when generating SPIR-V
+ERROR: 0:4: 'input_attachment_index' : only allowed when using GLSL for Vulkan
+ERROR: 0:4: 'input_attachment_index' : can only be used with a subpass
+ERROR: 0:5: 'push_constant' : only allowed when using GLSL for Vulkan
+ERROR: 4 compilation errors. No code generated.
+
+
+Shader version: 450
+ERROR: node is still EOpNull!
+0:? Linker Objects
+0:? 'arraySize' (specialization-constant const int)
+0:? 12 (const int)
+0:? 'foo' (temp int)
+0:? 'ubi' (layout(column_major std430 push_constant ) uniform block{layout(column_major std430 offset=0 ) uniform int a})
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point
+
+Shader version: 450
+ERROR: node is still EOpNull!
+0:? Linker Objects
+0:? 'arraySize' (specialization-constant const int)
+0:? 12 (const int)
+0:? 'foo' (temp int)
+0:? 'ubi' (layout(column_major std430 push_constant ) uniform block{layout(column_major std430 offset=0 ) uniform int a})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/numeral.frag.out b/chromium/third_party/glslang/src/Test/baseResults/numeral.frag.out
new file mode 100644
index 00000000000..6f5595c8f83
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/numeral.frag.out
@@ -0,0 +1,829 @@
+numeral.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:14: '' : octal literal digit too large
+ERROR: 0:15: '' : octal literal digit too large
+ERROR: 0:16: '' : octal literal digit too large
+ERROR: 0:17: '' : octal literal too big
+ERROR: 0:18: '' : octal literal too big
+ERROR: 0:23: '' : octal literal digit too large
+ERROR: 0:24: '' : octal literal digit too large
+ERROR: 0:49: '' : bad digit in hexidecimal literal
+ERROR: 0:50: '' : hexidecimal literal too big
+ERROR: 0:88: '' : float literal needs a decimal point or exponent
+ERROR: 0:98: '' : numeric literal too big
+ERROR: 0:101: '' : numeric literal too big
+ERROR: 12 compilation errors. No code generated.
+
+
+Shader version: 400
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:5 Sequence
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'o00' (temp int)
+0:5 Constant:
+0:5 0 (const int)
+0:6 Sequence
+0:6 move second child to first child (temp int)
+0:6 'o000' (temp int)
+0:6 Constant:
+0:6 0 (const int)
+0:7 Sequence
+0:7 move second child to first child (temp int)
+0:7 'o0000' (temp int)
+0:7 Constant:
+0:7 0 (const int)
+0:8 Sequence
+0:8 move second child to first child (temp int)
+0:8 'o5' (temp int)
+0:8 Constant:
+0:8 5 (const int)
+0:9 Sequence
+0:9 move second child to first child (temp int)
+0:9 'o05' (temp int)
+0:9 Constant:
+0:9 5 (const int)
+0:10 Sequence
+0:10 move second child to first child (temp int)
+0:10 'o006' (temp int)
+0:10 Constant:
+0:10 6 (const int)
+0:11 Sequence
+0:11 move second child to first child (temp int)
+0:11 'o7' (temp int)
+0:11 Constant:
+0:11 7 (const int)
+0:12 Sequence
+0:12 move second child to first child (temp int)
+0:12 'o58' (temp int)
+0:12 Constant:
+0:12 58 (const int)
+0:13 Sequence
+0:13 move second child to first child (temp int)
+0:13 'omax' (temp int)
+0:13 Constant:
+0:13 -1 (const int)
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'o8' (temp int)
+0:14 Constant:
+0:14 0 (const int)
+0:15 Sequence
+0:15 move second child to first child (temp int)
+0:15 'o08' (temp int)
+0:15 Constant:
+0:15 0 (const int)
+0:16 Sequence
+0:16 move second child to first child (temp int)
+0:16 'o009' (temp int)
+0:16 Constant:
+0:16 0 (const int)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'obig' (temp int)
+0:17 Constant:
+0:17 995208915 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp int)
+0:18 'omax1' (temp int)
+0:18 Constant:
+0:18 536870912 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp uint)
+0:20 'uo5' (temp uint)
+0:20 Constant:
+0:20 5 (const uint)
+0:21 Sequence
+0:21 move second child to first child (temp uint)
+0:21 'uo6' (temp uint)
+0:21 Constant:
+0:21 6 (const uint)
+0:22 Sequence
+0:22 move second child to first child (temp uint)
+0:22 'uo7' (temp uint)
+0:22 Constant:
+0:22 7 (const uint)
+0:23 Sequence
+0:23 move second child to first child (temp uint)
+0:23 'uo8' (temp uint)
+0:23 Constant:
+0:23 0 (const uint)
+0:24 Sequence
+0:24 move second child to first child (temp uint)
+0:24 'uo9' (temp uint)
+0:24 Constant:
+0:24 0 (const uint)
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'h0' (temp int)
+0:26 Constant:
+0:26 0 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'h00' (temp int)
+0:27 Constant:
+0:27 0 (const int)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'h000' (temp int)
+0:28 Constant:
+0:28 0 (const int)
+0:29 Sequence
+0:29 move second child to first child (temp int)
+0:29 'h1' (temp int)
+0:29 Constant:
+0:29 1 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp int)
+0:30 'h2' (temp int)
+0:30 Constant:
+0:30 2 (const int)
+0:31 Sequence
+0:31 move second child to first child (temp int)
+0:31 'h300' (temp int)
+0:31 Constant:
+0:31 768 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp int)
+0:32 'hABCDEF' (temp int)
+0:32 Constant:
+0:32 11259375 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp int)
+0:33 'hFFFFFFFF' (temp int)
+0:33 Constant:
+0:33 -1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp int)
+0:34 'h12345678' (temp int)
+0:34 Constant:
+0:34 12345678 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp int)
+0:35 'hToBeOrNotToBe' (temp int)
+0:35 Constant:
+0:35 -1 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp uint)
+0:37 'uh0' (temp uint)
+0:37 Constant:
+0:37 0 (const uint)
+0:38 Sequence
+0:38 move second child to first child (temp uint)
+0:38 'uhg' (temp uint)
+0:38 Constant:
+0:38 12 (const uint)
+0:39 Sequence
+0:39 move second child to first child (temp uint)
+0:39 'uh000' (temp uint)
+0:39 Constant:
+0:39 0 (const uint)
+0:40 Sequence
+0:40 move second child to first child (temp uint)
+0:40 'uh1' (temp uint)
+0:40 Constant:
+0:40 1 (const uint)
+0:41 Sequence
+0:41 move second child to first child (temp uint)
+0:41 'uh2' (temp uint)
+0:41 Constant:
+0:41 2 (const uint)
+0:42 Sequence
+0:42 move second child to first child (temp uint)
+0:42 'uh300' (temp uint)
+0:42 Constant:
+0:42 768 (const uint)
+0:43 Sequence
+0:43 move second child to first child (temp uint)
+0:43 'uhABCDEF' (temp uint)
+0:43 Constant:
+0:43 11259375 (const uint)
+0:44 Sequence
+0:44 move second child to first child (temp uint)
+0:44 'uhFFFFFFFF' (temp uint)
+0:44 Constant:
+0:44 4294967295 (const uint)
+0:45 Sequence
+0:45 move second child to first child (temp uint)
+0:45 'uh12345678' (temp uint)
+0:45 Constant:
+0:45 12345678 (const uint)
+0:46 Sequence
+0:46 move second child to first child (temp uint)
+0:46 'uhToBeOrNotToBe' (temp uint)
+0:46 Constant:
+0:46 4294967295 (const uint)
+0:49 Sequence
+0:49 move second child to first child (temp int)
+0:49 'he2' (temp int)
+0:49 Constant:
+0:49 0 (const int)
+0:50 Sequence
+0:50 move second child to first child (temp int)
+0:50 'hbig' (temp int)
+0:50 Constant:
+0:50 -1 (const int)
+0:52 Sequence
+0:52 move second child to first child (temp float)
+0:52 'f1' (temp float)
+0:52 Constant:
+0:52 1.000000
+0:53 Sequence
+0:53 move second child to first child (temp float)
+0:53 'f2' (temp float)
+0:53 Constant:
+0:53 2.000000
+0:54 Sequence
+0:54 move second child to first child (temp float)
+0:54 'f3' (temp float)
+0:54 Constant:
+0:54 3.000000
+0:55 Sequence
+0:55 move second child to first child (temp float)
+0:55 'f4' (temp float)
+0:55 Constant:
+0:55 4.000000
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 'f5' (temp float)
+0:56 Constant:
+0:56 5.000000
+0:57 Sequence
+0:57 move second child to first child (temp float)
+0:57 'f6' (temp float)
+0:57 Constant:
+0:57 6.000000
+0:58 Sequence
+0:58 move second child to first child (temp float)
+0:58 'f7' (temp float)
+0:58 Constant:
+0:58 7.000000
+0:59 Sequence
+0:59 move second child to first child (temp float)
+0:59 'f8' (temp float)
+0:59 Constant:
+0:59 8.000000
+0:60 Sequence
+0:60 move second child to first child (temp float)
+0:60 'f9' (temp float)
+0:60 Constant:
+0:60 9.000000
+0:61 Sequence
+0:61 move second child to first child (temp float)
+0:61 'f10' (temp float)
+0:61 Constant:
+0:61 10.000000
+0:62 Sequence
+0:62 move second child to first child (temp float)
+0:62 'f11' (temp float)
+0:62 Constant:
+0:62 11.000000
+0:63 Sequence
+0:63 move second child to first child (temp float)
+0:63 'f12' (temp float)
+0:63 Constant:
+0:63 12.000000
+0:64 Sequence
+0:64 move second child to first child (temp float)
+0:64 'f543' (temp float)
+0:64 Constant:
+0:64 543.000000
+0:65 Sequence
+0:65 move second child to first child (temp float)
+0:65 'f6789' (temp float)
+0:65 Constant:
+0:65 6789.000000
+0:66 Sequence
+0:66 move second child to first child (temp float)
+0:66 'f88' (temp float)
+0:66 Constant:
+0:66 88.000000
+0:68 Sequence
+0:68 move second child to first child (temp float)
+0:68 'g1' (temp float)
+0:68 Constant:
+0:68 53876.000000
+0:69 Sequence
+0:69 move second child to first child (temp float)
+0:69 'g2' (temp float)
+0:69 Constant:
+0:69 0.040000
+0:70 Sequence
+0:70 move second child to first child (temp float)
+0:70 'g3' (temp float)
+0:70 Constant:
+0:70 100000.000000
+0:71 Sequence
+0:71 move second child to first child (temp float)
+0:71 'g4' (temp float)
+0:71 Constant:
+0:71 0.007321
+0:72 Sequence
+0:72 move second child to first child (temp float)
+0:72 'g5' (temp float)
+0:72 Constant:
+0:72 32000.000000
+0:73 Sequence
+0:73 move second child to first child (temp float)
+0:73 'g6' (temp float)
+0:73 Constant:
+0:73 0.000005
+0:74 Sequence
+0:74 move second child to first child (temp float)
+0:74 'g7' (temp float)
+0:74 Constant:
+0:74 0.450000
+0:75 Sequence
+0:75 move second child to first child (temp float)
+0:75 'g8' (temp float)
+0:75 Constant:
+0:75 60000000000.000000
+0:77 Sequence
+0:77 move second child to first child (temp double)
+0:77 'gf1' (temp double)
+0:77 Constant:
+0:77 1.000000
+0:78 Sequence
+0:78 move second child to first child (temp double)
+0:78 'gf2' (temp double)
+0:78 Constant:
+0:78 2.000000
+0:79 Sequence
+0:79 move second child to first child (temp double)
+0:79 'gf3' (temp double)
+0:79 Constant:
+0:79 3.000000
+0:80 Sequence
+0:80 move second child to first child (temp double)
+0:80 'gf4' (temp double)
+0:80 Constant:
+0:80 4.000000
+0:81 Sequence
+0:81 move second child to first child (temp float)
+0:81 'gf5' (temp float)
+0:81 Constant:
+0:81 5.000000
+0:82 Sequence
+0:82 move second child to first child (temp float)
+0:82 'gf6' (temp float)
+0:82 Constant:
+0:82 6.000000
+0:88 Sequence
+0:88 move second child to first child (temp float)
+0:88 'e5' (temp float)
+0:88 Constant:
+0:88 5.000000
+0:98 Sequence
+0:98 move second child to first child (temp uint)
+0:98 'g1' (global uint)
+0:98 Constant:
+0:98 4294967295 (const uint)
+0:99 Sequence
+0:99 move second child to first child (temp uint)
+0:99 'g2' (global uint)
+0:99 Constant:
+0:99 4294967295 (const uint)
+0:100 Sequence
+0:100 move second child to first child (temp uint)
+0:100 'g3' (global uint)
+0:100 Constant:
+0:100 4294967294 (const uint)
+0:101 Sequence
+0:101 move second child to first child (temp int)
+0:101 'g4' (global int)
+0:101 Constant:
+0:101 -1 (const int)
+0:102 Sequence
+0:102 move second child to first child (temp int)
+0:102 'g5' (global int)
+0:102 Constant:
+0:102 -1 (const int)
+0:103 Sequence
+0:103 move second child to first child (temp int)
+0:103 'g6' (global int)
+0:103 Constant:
+0:103 -2 (const int)
+0:? Linker Objects
+0:? 'c2' (layout(location=2 ) out 4-component vector of float)
+0:? 'c3' (layout(location=3 ) out 4-component vector of float)
+0:? 'c4' (layout(location=4 ) out 4-component vector of float)
+0:? 'c5' (layout(location=5 ) out 4-component vector of float)
+0:? 'c6' (layout(location=6 ) out 4-component vector of float)
+0:? 'c7' (layout(location=7 ) out 4-component vector of float)
+0:? 'g1' (global uint)
+0:? 'g2' (global uint)
+0:? 'g3' (global uint)
+0:? 'g4' (global int)
+0:? 'g5' (global int)
+0:? 'g6' (global int)
+
+
+Linked fragment stage:
+
+
+Shader version: 400
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:5 Sequence
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'o00' (temp int)
+0:5 Constant:
+0:5 0 (const int)
+0:6 Sequence
+0:6 move second child to first child (temp int)
+0:6 'o000' (temp int)
+0:6 Constant:
+0:6 0 (const int)
+0:7 Sequence
+0:7 move second child to first child (temp int)
+0:7 'o0000' (temp int)
+0:7 Constant:
+0:7 0 (const int)
+0:8 Sequence
+0:8 move second child to first child (temp int)
+0:8 'o5' (temp int)
+0:8 Constant:
+0:8 5 (const int)
+0:9 Sequence
+0:9 move second child to first child (temp int)
+0:9 'o05' (temp int)
+0:9 Constant:
+0:9 5 (const int)
+0:10 Sequence
+0:10 move second child to first child (temp int)
+0:10 'o006' (temp int)
+0:10 Constant:
+0:10 6 (const int)
+0:11 Sequence
+0:11 move second child to first child (temp int)
+0:11 'o7' (temp int)
+0:11 Constant:
+0:11 7 (const int)
+0:12 Sequence
+0:12 move second child to first child (temp int)
+0:12 'o58' (temp int)
+0:12 Constant:
+0:12 58 (const int)
+0:13 Sequence
+0:13 move second child to first child (temp int)
+0:13 'omax' (temp int)
+0:13 Constant:
+0:13 -1 (const int)
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'o8' (temp int)
+0:14 Constant:
+0:14 0 (const int)
+0:15 Sequence
+0:15 move second child to first child (temp int)
+0:15 'o08' (temp int)
+0:15 Constant:
+0:15 0 (const int)
+0:16 Sequence
+0:16 move second child to first child (temp int)
+0:16 'o009' (temp int)
+0:16 Constant:
+0:16 0 (const int)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'obig' (temp int)
+0:17 Constant:
+0:17 995208915 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp int)
+0:18 'omax1' (temp int)
+0:18 Constant:
+0:18 536870912 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp uint)
+0:20 'uo5' (temp uint)
+0:20 Constant:
+0:20 5 (const uint)
+0:21 Sequence
+0:21 move second child to first child (temp uint)
+0:21 'uo6' (temp uint)
+0:21 Constant:
+0:21 6 (const uint)
+0:22 Sequence
+0:22 move second child to first child (temp uint)
+0:22 'uo7' (temp uint)
+0:22 Constant:
+0:22 7 (const uint)
+0:23 Sequence
+0:23 move second child to first child (temp uint)
+0:23 'uo8' (temp uint)
+0:23 Constant:
+0:23 0 (const uint)
+0:24 Sequence
+0:24 move second child to first child (temp uint)
+0:24 'uo9' (temp uint)
+0:24 Constant:
+0:24 0 (const uint)
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'h0' (temp int)
+0:26 Constant:
+0:26 0 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'h00' (temp int)
+0:27 Constant:
+0:27 0 (const int)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'h000' (temp int)
+0:28 Constant:
+0:28 0 (const int)
+0:29 Sequence
+0:29 move second child to first child (temp int)
+0:29 'h1' (temp int)
+0:29 Constant:
+0:29 1 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp int)
+0:30 'h2' (temp int)
+0:30 Constant:
+0:30 2 (const int)
+0:31 Sequence
+0:31 move second child to first child (temp int)
+0:31 'h300' (temp int)
+0:31 Constant:
+0:31 768 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp int)
+0:32 'hABCDEF' (temp int)
+0:32 Constant:
+0:32 11259375 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp int)
+0:33 'hFFFFFFFF' (temp int)
+0:33 Constant:
+0:33 -1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp int)
+0:34 'h12345678' (temp int)
+0:34 Constant:
+0:34 12345678 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp int)
+0:35 'hToBeOrNotToBe' (temp int)
+0:35 Constant:
+0:35 -1 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp uint)
+0:37 'uh0' (temp uint)
+0:37 Constant:
+0:37 0 (const uint)
+0:38 Sequence
+0:38 move second child to first child (temp uint)
+0:38 'uhg' (temp uint)
+0:38 Constant:
+0:38 12 (const uint)
+0:39 Sequence
+0:39 move second child to first child (temp uint)
+0:39 'uh000' (temp uint)
+0:39 Constant:
+0:39 0 (const uint)
+0:40 Sequence
+0:40 move second child to first child (temp uint)
+0:40 'uh1' (temp uint)
+0:40 Constant:
+0:40 1 (const uint)
+0:41 Sequence
+0:41 move second child to first child (temp uint)
+0:41 'uh2' (temp uint)
+0:41 Constant:
+0:41 2 (const uint)
+0:42 Sequence
+0:42 move second child to first child (temp uint)
+0:42 'uh300' (temp uint)
+0:42 Constant:
+0:42 768 (const uint)
+0:43 Sequence
+0:43 move second child to first child (temp uint)
+0:43 'uhABCDEF' (temp uint)
+0:43 Constant:
+0:43 11259375 (const uint)
+0:44 Sequence
+0:44 move second child to first child (temp uint)
+0:44 'uhFFFFFFFF' (temp uint)
+0:44 Constant:
+0:44 4294967295 (const uint)
+0:45 Sequence
+0:45 move second child to first child (temp uint)
+0:45 'uh12345678' (temp uint)
+0:45 Constant:
+0:45 12345678 (const uint)
+0:46 Sequence
+0:46 move second child to first child (temp uint)
+0:46 'uhToBeOrNotToBe' (temp uint)
+0:46 Constant:
+0:46 4294967295 (const uint)
+0:49 Sequence
+0:49 move second child to first child (temp int)
+0:49 'he2' (temp int)
+0:49 Constant:
+0:49 0 (const int)
+0:50 Sequence
+0:50 move second child to first child (temp int)
+0:50 'hbig' (temp int)
+0:50 Constant:
+0:50 -1 (const int)
+0:52 Sequence
+0:52 move second child to first child (temp float)
+0:52 'f1' (temp float)
+0:52 Constant:
+0:52 1.000000
+0:53 Sequence
+0:53 move second child to first child (temp float)
+0:53 'f2' (temp float)
+0:53 Constant:
+0:53 2.000000
+0:54 Sequence
+0:54 move second child to first child (temp float)
+0:54 'f3' (temp float)
+0:54 Constant:
+0:54 3.000000
+0:55 Sequence
+0:55 move second child to first child (temp float)
+0:55 'f4' (temp float)
+0:55 Constant:
+0:55 4.000000
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 'f5' (temp float)
+0:56 Constant:
+0:56 5.000000
+0:57 Sequence
+0:57 move second child to first child (temp float)
+0:57 'f6' (temp float)
+0:57 Constant:
+0:57 6.000000
+0:58 Sequence
+0:58 move second child to first child (temp float)
+0:58 'f7' (temp float)
+0:58 Constant:
+0:58 7.000000
+0:59 Sequence
+0:59 move second child to first child (temp float)
+0:59 'f8' (temp float)
+0:59 Constant:
+0:59 8.000000
+0:60 Sequence
+0:60 move second child to first child (temp float)
+0:60 'f9' (temp float)
+0:60 Constant:
+0:60 9.000000
+0:61 Sequence
+0:61 move second child to first child (temp float)
+0:61 'f10' (temp float)
+0:61 Constant:
+0:61 10.000000
+0:62 Sequence
+0:62 move second child to first child (temp float)
+0:62 'f11' (temp float)
+0:62 Constant:
+0:62 11.000000
+0:63 Sequence
+0:63 move second child to first child (temp float)
+0:63 'f12' (temp float)
+0:63 Constant:
+0:63 12.000000
+0:64 Sequence
+0:64 move second child to first child (temp float)
+0:64 'f543' (temp float)
+0:64 Constant:
+0:64 543.000000
+0:65 Sequence
+0:65 move second child to first child (temp float)
+0:65 'f6789' (temp float)
+0:65 Constant:
+0:65 6789.000000
+0:66 Sequence
+0:66 move second child to first child (temp float)
+0:66 'f88' (temp float)
+0:66 Constant:
+0:66 88.000000
+0:68 Sequence
+0:68 move second child to first child (temp float)
+0:68 'g1' (temp float)
+0:68 Constant:
+0:68 53876.000000
+0:69 Sequence
+0:69 move second child to first child (temp float)
+0:69 'g2' (temp float)
+0:69 Constant:
+0:69 0.040000
+0:70 Sequence
+0:70 move second child to first child (temp float)
+0:70 'g3' (temp float)
+0:70 Constant:
+0:70 100000.000000
+0:71 Sequence
+0:71 move second child to first child (temp float)
+0:71 'g4' (temp float)
+0:71 Constant:
+0:71 0.007321
+0:72 Sequence
+0:72 move second child to first child (temp float)
+0:72 'g5' (temp float)
+0:72 Constant:
+0:72 32000.000000
+0:73 Sequence
+0:73 move second child to first child (temp float)
+0:73 'g6' (temp float)
+0:73 Constant:
+0:73 0.000005
+0:74 Sequence
+0:74 move second child to first child (temp float)
+0:74 'g7' (temp float)
+0:74 Constant:
+0:74 0.450000
+0:75 Sequence
+0:75 move second child to first child (temp float)
+0:75 'g8' (temp float)
+0:75 Constant:
+0:75 60000000000.000000
+0:77 Sequence
+0:77 move second child to first child (temp double)
+0:77 'gf1' (temp double)
+0:77 Constant:
+0:77 1.000000
+0:78 Sequence
+0:78 move second child to first child (temp double)
+0:78 'gf2' (temp double)
+0:78 Constant:
+0:78 2.000000
+0:79 Sequence
+0:79 move second child to first child (temp double)
+0:79 'gf3' (temp double)
+0:79 Constant:
+0:79 3.000000
+0:80 Sequence
+0:80 move second child to first child (temp double)
+0:80 'gf4' (temp double)
+0:80 Constant:
+0:80 4.000000
+0:81 Sequence
+0:81 move second child to first child (temp float)
+0:81 'gf5' (temp float)
+0:81 Constant:
+0:81 5.000000
+0:82 Sequence
+0:82 move second child to first child (temp float)
+0:82 'gf6' (temp float)
+0:82 Constant:
+0:82 6.000000
+0:88 Sequence
+0:88 move second child to first child (temp float)
+0:88 'e5' (temp float)
+0:88 Constant:
+0:88 5.000000
+0:98 Sequence
+0:98 move second child to first child (temp uint)
+0:98 'g1' (global uint)
+0:98 Constant:
+0:98 4294967295 (const uint)
+0:99 Sequence
+0:99 move second child to first child (temp uint)
+0:99 'g2' (global uint)
+0:99 Constant:
+0:99 4294967295 (const uint)
+0:100 Sequence
+0:100 move second child to first child (temp uint)
+0:100 'g3' (global uint)
+0:100 Constant:
+0:100 4294967294 (const uint)
+0:101 Sequence
+0:101 move second child to first child (temp int)
+0:101 'g4' (global int)
+0:101 Constant:
+0:101 -1 (const int)
+0:102 Sequence
+0:102 move second child to first child (temp int)
+0:102 'g5' (global int)
+0:102 Constant:
+0:102 -1 (const int)
+0:103 Sequence
+0:103 move second child to first child (temp int)
+0:103 'g6' (global int)
+0:103 Constant:
+0:103 -2 (const int)
+0:? Linker Objects
+0:? 'c2' (layout(location=2 ) out 4-component vector of float)
+0:? 'c3' (layout(location=3 ) out 4-component vector of float)
+0:? 'c4' (layout(location=4 ) out 4-component vector of float)
+0:? 'c5' (layout(location=5 ) out 4-component vector of float)
+0:? 'c6' (layout(location=6 ) out 4-component vector of float)
+0:? 'c7' (layout(location=7 ) out 4-component vector of float)
+0:? 'g1' (global uint)
+0:? 'g2' (global uint)
+0:? 'g3' (global uint)
+0:? 'g4' (global int)
+0:? 'g5' (global int)
+0:? 'g6' (global int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/pointCoord.frag.out b/chromium/third_party/glslang/src/Test/baseResults/pointCoord.frag.out
new file mode 100644
index 00000000000..633d8b9b07c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/pointCoord.frag.out
@@ -0,0 +1,69 @@
+pointCoord.frag
+Shader version: 100
+0:? Sequence
+0:5 Function Definition: main( (global void)
+0:5 Function Parameters:
+0:? Sequence
+0:9 Test condition and select (temp void)
+0:9 Condition
+0:9 Compare Less Than (temp bool)
+0:9 length (global mediump float)
+0:9 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)
+0:9 Constant:
+0:9 0.300000
+0:9 true case
+0:10 move second child to first child (temp highp 4-component vector of float)
+0:10 'color' (temp highp 4-component vector of float)
+0:10 texture (global lowp 4-component vector of float)
+0:10 'sampler' (uniform lowp sampler2D)
+0:10 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)
+0:9 false case
+0:12 move second child to first child (temp highp 4-component vector of float)
+0:12 'color' (temp highp 4-component vector of float)
+0:12 Constant:
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:14 move second child to first child (temp highp 4-component vector of float)
+0:14 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)
+0:14 'color' (temp highp 4-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform lowp sampler2D)
+
+
+Linked fragment stage:
+
+
+Shader version: 100
+0:? Sequence
+0:5 Function Definition: main( (global void)
+0:5 Function Parameters:
+0:? Sequence
+0:9 Test condition and select (temp void)
+0:9 Condition
+0:9 Compare Less Than (temp bool)
+0:9 length (global mediump float)
+0:9 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)
+0:9 Constant:
+0:9 0.300000
+0:9 true case
+0:10 move second child to first child (temp highp 4-component vector of float)
+0:10 'color' (temp highp 4-component vector of float)
+0:10 texture (global lowp 4-component vector of float)
+0:10 'sampler' (uniform lowp sampler2D)
+0:10 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)
+0:9 false case
+0:12 move second child to first child (temp highp 4-component vector of float)
+0:12 'color' (temp highp 4-component vector of float)
+0:12 Constant:
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:14 move second child to first child (temp highp 4-component vector of float)
+0:14 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)
+0:14 'color' (temp highp 4-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform lowp sampler2D)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/precise.tesc.out b/chromium/third_party/glslang/src/Test/baseResults/precise.tesc.out
new file mode 100644
index 00000000000..962a3c98b74
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/precise.tesc.out
@@ -0,0 +1,768 @@
+precise.tesc
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 450
+Requested GL_EXT_gpu_shader5
+Requested GL_EXT_shader_io_blocks
+Requested GL_EXT_tessellation_shader
+vertices = -1
+0:? Sequence
+0:5 Function Definition: minimal( (global float)
+0:5 Function Parameters:
+0:6 Sequence
+0:6 Sequence
+0:6 move second child to first child (temp float)
+0:6 'result' (noContraction temp float)
+0:6 Constant:
+0:6 5.000000
+0:7 Sequence
+0:7 move second child to first child (temp float)
+0:7 'a' (noContraction temp float)
+0:7 Constant:
+0:7 10.000000
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'b' (noContraction temp float)
+0:8 Constant:
+0:8 20.000000
+0:9 Sequence
+0:9 move second child to first child (temp float)
+0:9 'c' (noContraction temp float)
+0:9 Constant:
+0:9 30.000000
+0:10 Sequence
+0:10 move second child to first child (temp float)
+0:10 'd' (noContraction temp float)
+0:10 Constant:
+0:10 40.000000
+0:11 move second child to first child (temp float)
+0:11 'result' (noContraction temp float)
+0:11 add (noContraction temp float)
+0:11 component-wise multiply (noContraction temp float)
+0:11 'a' (noContraction temp float)
+0:11 'b' (noContraction temp float)
+0:11 component-wise multiply (noContraction temp float)
+0:11 'c' (noContraction temp float)
+0:11 'd' (noContraction temp float)
+0:12 Branch: Return with expression
+0:12 'result' (noContraction temp float)
+0:15 Function Definition: continuous_assignment( (global void)
+0:15 Function Parameters:
+0:16 Sequence
+0:16 Sequence
+0:16 move second child to first child (temp float)
+0:16 'result' (noContraction temp float)
+0:16 Constant:
+0:16 5.000000
+0:17 Sequence
+0:17 move second child to first child (temp float)
+0:17 'a' (noContraction temp float)
+0:17 Constant:
+0:17 10.000000
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'b' (noContraction temp float)
+0:18 Constant:
+0:18 20.000000
+0:19 move second child to first child (temp float)
+0:19 'result' (noContraction temp float)
+0:19 move second child to first child (temp float)
+0:19 'a' (noContraction temp float)
+0:19 add (noContraction temp float)
+0:19 'b' (noContraction temp float)
+0:19 Constant:
+0:19 4.000000
+0:22 Function Definition: convert( (global void)
+0:22 Function Parameters:
+0:? Sequence
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'a' (noContraction temp float)
+0:24 Constant:
+0:24 10.000000
+0:25 Sequence
+0:25 move second child to first child (temp float)
+0:25 'b' (noContraction temp float)
+0:25 Constant:
+0:25 20.000000
+0:26 move second child to first child (temp float)
+0:26 'b' (noContraction temp float)
+0:26 add (noContraction temp float)
+0:26 'a' (noContraction temp float)
+0:26 'b' (noContraction temp float)
+0:27 move second child to first child (temp double)
+0:27 'result' (noContraction temp double)
+0:27 Convert float to double (temp double)
+0:27 'b' (noContraction temp float)
+0:30 Function Definition: loop_for( (global float)
+0:30 Function Parameters:
+0:31 Sequence
+0:31 Sequence
+0:31 move second child to first child (temp float)
+0:31 'r1' (noContraction temp float)
+0:31 Constant:
+0:31 5.000000
+0:32 Sequence
+0:32 move second child to first child (temp float)
+0:32 'r2' (noContraction temp float)
+0:32 Constant:
+0:32 10.000000
+0:33 Sequence
+0:33 move second child to first child (temp int)
+0:33 'a' (temp int)
+0:33 Constant:
+0:33 10 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp int)
+0:34 'b' (noContraction temp int)
+0:34 Constant:
+0:34 20 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp int)
+0:35 'c' (noContraction temp int)
+0:35 Constant:
+0:35 30 (const int)
+0:36 Sequence
+0:36 Sequence
+0:36 move second child to first child (temp int)
+0:36 'i' (noContraction temp int)
+0:36 Constant:
+0:36 0 (const int)
+0:36 Loop with condition tested first
+0:36 Loop Condition
+0:36 Compare Less Than (temp bool)
+0:36 'i' (temp int)
+0:36 'a' (temp int)
+0:36 Loop Body
+0:37 Sequence
+0:37 add second child into first child (noContraction temp float)
+0:37 'r1' (noContraction temp float)
+0:37 add (noContraction temp float)
+0:37 add (noContraction temp float)
+0:37 Constant:
+0:37 3.120000
+0:37 Convert int to float (temp float)
+0:37 'b' (noContraction temp int)
+0:37 Convert int to float (temp float)
+0:37 'i' (noContraction temp int)
+0:38 add second child into first child (noContraction temp int)
+0:38 'c' (noContraction temp int)
+0:38 Constant:
+0:38 1 (const int)
+0:36 Loop Terminal Expression
+0:36 Post-Increment (noContraction temp int)
+0:36 'i' (noContraction temp int)
+0:40 add second child into first child (temp int)
+0:40 'a' (temp int)
+0:40 Constant:
+0:40 1 (const int)
+0:41 move second child to first child (temp float)
+0:41 'r2' (noContraction temp float)
+0:41 Convert int to float (temp float)
+0:41 'c' (noContraction temp int)
+0:42 Branch: Return with expression
+0:42 Construct float (temp float)
+0:42 add (temp float)
+0:42 'r1' (noContraction temp float)
+0:42 'r2' (noContraction temp float)
+0:45 Function Definition: loop_array( (global void)
+0:45 Function Parameters:
+0:? Sequence
+0:48 Sequence
+0:48 move second child to first child (temp int)
+0:48 'x' (noContraction temp int)
+0:48 Constant:
+0:48 22 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp int)
+0:49 'y' (noContraction temp int)
+0:49 Constant:
+0:49 33 (const int)
+0:52 add second child into first child (noContraction temp float)
+0:52 'result' (noContraction temp float)
+0:52 add (noContraction temp float)
+0:52 Convert int to float (temp float)
+0:52 'x' (noContraction temp int)
+0:52 Convert int to float (temp float)
+0:52 'y' (noContraction temp int)
+0:54 Sequence
+0:54 Sequence
+0:54 move second child to first child (temp int)
+0:54 'i' (temp int)
+0:54 Constant:
+0:54 0 (const int)
+0:54 Loop with condition tested first
+0:54 Loop Condition
+0:54 Compare Less Than (temp bool)
+0:54 'i' (temp int)
+0:54 Constant:
+0:54 3 (const int)
+0:54 Loop Body
+0:56 Sequence
+0:56 add second child into first child (noContraction temp float)
+0:56 'result' (noContraction temp float)
+0:56 add (noContraction temp float)
+0:56 indirect index (noContraction temp float)
+0:56 'a0' (temp 3-element array of float)
+0:56 'i' (temp int)
+0:56 Constant:
+0:56 2.000000
+0:58 move second child to first child (temp float)
+0:58 indirect index (noContraction temp float)
+0:58 'a0' (noContraction temp 3-element array of float)
+0:58 'i' (temp int)
+0:58 subtract (noContraction temp float)
+0:58 Constant:
+0:58 3.000000
+0:58 Post-Increment (noContraction temp float)
+0:58 'result' (noContraction temp float)
+0:54 Loop Terminal Expression
+0:54 Pre-Increment (temp int)
+0:54 'i' (temp int)
+0:62 Function Definition: loop_while( (global void)
+0:62 Function Parameters:
+0:63 Sequence
+0:63 Sequence
+0:63 move second child to first child (temp float)
+0:63 'result' (noContraction temp float)
+0:63 Constant:
+0:63 5.000000
+0:64 Sequence
+0:64 move second child to first child (temp int)
+0:64 'a' (noContraction temp int)
+0:64 Constant:
+0:64 10 (const int)
+0:65 Sequence
+0:65 move second child to first child (temp int)
+0:65 'b' (noContraction temp int)
+0:65 Constant:
+0:65 20 (const int)
+0:66 Loop with condition tested first
+0:66 Loop Condition
+0:66 Compare Less Than (temp bool)
+0:66 'result' (noContraction temp float)
+0:66 Constant:
+0:66 10.000000
+0:66 Loop Body
+0:67 Sequence
+0:67 add second child into first child (noContraction temp float)
+0:67 'result' (noContraction temp float)
+0:67 add (noContraction temp float)
+0:67 Constant:
+0:67 3.120000
+0:67 Convert int to float (temp float)
+0:67 'b' (noContraction temp int)
+0:69 move second child to first child (temp float)
+0:69 'result' (noContraction temp float)
+0:69 Convert int to float (temp float)
+0:69 add (temp int)
+0:69 add (temp int)
+0:69 'a' (noContraction temp int)
+0:69 'b' (noContraction temp int)
+0:69 Constant:
+0:69 5 (const int)
+0:70 move second child to first child (temp float)
+0:70 'result' (noContraction temp float)
+0:70 Constant:
+0:70 11.100000
+0:73 Function Definition: fma_not_decorated( (global float)
+0:73 Function Parameters:
+0:? Sequence
+0:75 Sequence
+0:75 move second child to first child (temp float)
+0:75 'a' (noContraction temp float)
+0:75 Constant:
+0:75 1.000000
+0:76 Sequence
+0:76 move second child to first child (temp float)
+0:76 'b' (noContraction temp float)
+0:76 Constant:
+0:76 2.000000
+0:77 Sequence
+0:77 move second child to first child (temp float)
+0:77 'c' (noContraction temp float)
+0:77 Constant:
+0:77 3.000000
+0:78 move second child to first child (temp float)
+0:78 'b' (noContraction temp float)
+0:78 add (noContraction temp float)
+0:78 'b' (noContraction temp float)
+0:78 'c' (noContraction temp float)
+0:79 move second child to first child (temp float)
+0:79 'result' (noContraction temp float)
+0:79 fma (global float)
+0:79 'a' (noContraction temp float)
+0:79 'b' (noContraction temp float)
+0:79 'c' (noContraction temp float)
+0:80 Branch: Return with expression
+0:80 'result' (noContraction temp float)
+0:83 Function Definition: precise_return_exp_func( (noContraction temp float)
+0:83 Function Parameters:
+0:84 Sequence
+0:84 Sequence
+0:84 move second child to first child (temp float)
+0:84 'a' (noContraction temp float)
+0:84 Constant:
+0:84 1.000000
+0:85 Sequence
+0:85 move second child to first child (temp float)
+0:85 'b' (noContraction temp float)
+0:85 Constant:
+0:85 2.000000
+0:86 Branch: Return with expression
+0:86 add (noContraction temp float)
+0:86 'a' (noContraction temp float)
+0:86 'b' (noContraction temp float)
+0:89 Function Definition: precise_return_val_func( (noContraction temp float)
+0:89 Function Parameters:
+0:90 Sequence
+0:90 Sequence
+0:90 move second child to first child (temp float)
+0:90 'a' (noContraction temp float)
+0:90 Constant:
+0:90 1.000000
+0:91 Sequence
+0:91 move second child to first child (temp float)
+0:91 'b' (noContraction temp float)
+0:91 Constant:
+0:91 2.000000
+0:92 Sequence
+0:92 move second child to first child (temp float)
+0:92 'result' (noContraction temp float)
+0:92 add (noContraction temp float)
+0:92 'a' (noContraction temp float)
+0:92 'b' (noContraction temp float)
+0:93 Branch: Return with expression
+0:93 'result' (noContraction temp float)
+0:96 Function Definition: precise_func_parameter(f1;f1; (global float)
+0:96 Function Parameters:
+0:96 'b' (in float)
+0:96 'c' (noContraction out float)
+0:97 Sequence
+0:97 Sequence
+0:97 move second child to first child (temp float)
+0:97 'a' (noContraction temp float)
+0:97 Constant:
+0:97 0.500000
+0:98 move second child to first child (temp float)
+0:98 'c' (noContraction out float)
+0:98 add (noContraction temp float)
+0:98 'a' (noContraction temp float)
+0:98 'b' (noContraction in float)
+0:99 Branch: Return with expression
+0:99 subtract (temp float)
+0:99 'a' (temp float)
+0:99 'b' (in float)
+0:102 Function Definition: matrix(mf23;mf32; (global 3X3 matrix of float)
+0:102 Function Parameters:
+0:102 'a' (in 2X3 matrix of float)
+0:102 'b' (in 3X2 matrix of float)
+0:103 Sequence
+0:103 Sequence
+0:103 move second child to first child (temp 2X3 matrix of float)
+0:103 'c' (noContraction temp 2X3 matrix of float)
+0:103 Constant:
+0:103 1.000000
+0:103 2.000000
+0:103 3.000000
+0:103 4.000000
+0:103 5.000000
+0:103 6.000000
+0:105 move second child to first child (temp 3X3 matrix of float)
+0:105 'result' (noContraction temp 3X3 matrix of float)
+0:105 matrix-multiply (noContraction temp 3X3 matrix of float)
+0:105 add (noContraction temp 2X3 matrix of float)
+0:105 'a' (noContraction in 2X3 matrix of float)
+0:105 'c' (noContraction temp 2X3 matrix of float)
+0:105 'b' (noContraction in 3X2 matrix of float)
+0:106 Branch: Return with expression
+0:106 'result' (noContraction temp 3X3 matrix of float)
+0:109 Function Definition: main( (global void)
+0:109 Function Parameters:
+0:? Linker Objects
+
+
+Linked tessellation control stage:
+
+ERROR: Linking tessellation control stage: At least one shader must specify an output layout(vertices=...)
+
+Shader version: 450
+Requested GL_EXT_gpu_shader5
+Requested GL_EXT_shader_io_blocks
+Requested GL_EXT_tessellation_shader
+vertices = -1
+0:? Sequence
+0:5 Function Definition: minimal( (global float)
+0:5 Function Parameters:
+0:6 Sequence
+0:6 Sequence
+0:6 move second child to first child (temp float)
+0:6 'result' (noContraction temp float)
+0:6 Constant:
+0:6 5.000000
+0:7 Sequence
+0:7 move second child to first child (temp float)
+0:7 'a' (noContraction temp float)
+0:7 Constant:
+0:7 10.000000
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'b' (noContraction temp float)
+0:8 Constant:
+0:8 20.000000
+0:9 Sequence
+0:9 move second child to first child (temp float)
+0:9 'c' (noContraction temp float)
+0:9 Constant:
+0:9 30.000000
+0:10 Sequence
+0:10 move second child to first child (temp float)
+0:10 'd' (noContraction temp float)
+0:10 Constant:
+0:10 40.000000
+0:11 move second child to first child (temp float)
+0:11 'result' (noContraction temp float)
+0:11 add (noContraction temp float)
+0:11 component-wise multiply (noContraction temp float)
+0:11 'a' (noContraction temp float)
+0:11 'b' (noContraction temp float)
+0:11 component-wise multiply (noContraction temp float)
+0:11 'c' (noContraction temp float)
+0:11 'd' (noContraction temp float)
+0:12 Branch: Return with expression
+0:12 'result' (noContraction temp float)
+0:15 Function Definition: continuous_assignment( (global void)
+0:15 Function Parameters:
+0:16 Sequence
+0:16 Sequence
+0:16 move second child to first child (temp float)
+0:16 'result' (noContraction temp float)
+0:16 Constant:
+0:16 5.000000
+0:17 Sequence
+0:17 move second child to first child (temp float)
+0:17 'a' (noContraction temp float)
+0:17 Constant:
+0:17 10.000000
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'b' (noContraction temp float)
+0:18 Constant:
+0:18 20.000000
+0:19 move second child to first child (temp float)
+0:19 'result' (noContraction temp float)
+0:19 move second child to first child (temp float)
+0:19 'a' (noContraction temp float)
+0:19 add (noContraction temp float)
+0:19 'b' (noContraction temp float)
+0:19 Constant:
+0:19 4.000000
+0:22 Function Definition: convert( (global void)
+0:22 Function Parameters:
+0:? Sequence
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'a' (noContraction temp float)
+0:24 Constant:
+0:24 10.000000
+0:25 Sequence
+0:25 move second child to first child (temp float)
+0:25 'b' (noContraction temp float)
+0:25 Constant:
+0:25 20.000000
+0:26 move second child to first child (temp float)
+0:26 'b' (noContraction temp float)
+0:26 add (noContraction temp float)
+0:26 'a' (noContraction temp float)
+0:26 'b' (noContraction temp float)
+0:27 move second child to first child (temp double)
+0:27 'result' (noContraction temp double)
+0:27 Convert float to double (temp double)
+0:27 'b' (noContraction temp float)
+0:30 Function Definition: loop_for( (global float)
+0:30 Function Parameters:
+0:31 Sequence
+0:31 Sequence
+0:31 move second child to first child (temp float)
+0:31 'r1' (noContraction temp float)
+0:31 Constant:
+0:31 5.000000
+0:32 Sequence
+0:32 move second child to first child (temp float)
+0:32 'r2' (noContraction temp float)
+0:32 Constant:
+0:32 10.000000
+0:33 Sequence
+0:33 move second child to first child (temp int)
+0:33 'a' (temp int)
+0:33 Constant:
+0:33 10 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp int)
+0:34 'b' (noContraction temp int)
+0:34 Constant:
+0:34 20 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp int)
+0:35 'c' (noContraction temp int)
+0:35 Constant:
+0:35 30 (const int)
+0:36 Sequence
+0:36 Sequence
+0:36 move second child to first child (temp int)
+0:36 'i' (noContraction temp int)
+0:36 Constant:
+0:36 0 (const int)
+0:36 Loop with condition tested first
+0:36 Loop Condition
+0:36 Compare Less Than (temp bool)
+0:36 'i' (temp int)
+0:36 'a' (temp int)
+0:36 Loop Body
+0:37 Sequence
+0:37 add second child into first child (noContraction temp float)
+0:37 'r1' (noContraction temp float)
+0:37 add (noContraction temp float)
+0:37 add (noContraction temp float)
+0:37 Constant:
+0:37 3.120000
+0:37 Convert int to float (temp float)
+0:37 'b' (noContraction temp int)
+0:37 Convert int to float (temp float)
+0:37 'i' (noContraction temp int)
+0:38 add second child into first child (noContraction temp int)
+0:38 'c' (noContraction temp int)
+0:38 Constant:
+0:38 1 (const int)
+0:36 Loop Terminal Expression
+0:36 Post-Increment (noContraction temp int)
+0:36 'i' (noContraction temp int)
+0:40 add second child into first child (temp int)
+0:40 'a' (temp int)
+0:40 Constant:
+0:40 1 (const int)
+0:41 move second child to first child (temp float)
+0:41 'r2' (noContraction temp float)
+0:41 Convert int to float (temp float)
+0:41 'c' (noContraction temp int)
+0:42 Branch: Return with expression
+0:42 Construct float (temp float)
+0:42 add (temp float)
+0:42 'r1' (noContraction temp float)
+0:42 'r2' (noContraction temp float)
+0:45 Function Definition: loop_array( (global void)
+0:45 Function Parameters:
+0:? Sequence
+0:48 Sequence
+0:48 move second child to first child (temp int)
+0:48 'x' (noContraction temp int)
+0:48 Constant:
+0:48 22 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp int)
+0:49 'y' (noContraction temp int)
+0:49 Constant:
+0:49 33 (const int)
+0:52 add second child into first child (noContraction temp float)
+0:52 'result' (noContraction temp float)
+0:52 add (noContraction temp float)
+0:52 Convert int to float (temp float)
+0:52 'x' (noContraction temp int)
+0:52 Convert int to float (temp float)
+0:52 'y' (noContraction temp int)
+0:54 Sequence
+0:54 Sequence
+0:54 move second child to first child (temp int)
+0:54 'i' (temp int)
+0:54 Constant:
+0:54 0 (const int)
+0:54 Loop with condition tested first
+0:54 Loop Condition
+0:54 Compare Less Than (temp bool)
+0:54 'i' (temp int)
+0:54 Constant:
+0:54 3 (const int)
+0:54 Loop Body
+0:56 Sequence
+0:56 add second child into first child (noContraction temp float)
+0:56 'result' (noContraction temp float)
+0:56 add (noContraction temp float)
+0:56 indirect index (noContraction temp float)
+0:56 'a0' (temp 3-element array of float)
+0:56 'i' (temp int)
+0:56 Constant:
+0:56 2.000000
+0:58 move second child to first child (temp float)
+0:58 indirect index (noContraction temp float)
+0:58 'a0' (noContraction temp 3-element array of float)
+0:58 'i' (temp int)
+0:58 subtract (noContraction temp float)
+0:58 Constant:
+0:58 3.000000
+0:58 Post-Increment (noContraction temp float)
+0:58 'result' (noContraction temp float)
+0:54 Loop Terminal Expression
+0:54 Pre-Increment (temp int)
+0:54 'i' (temp int)
+0:62 Function Definition: loop_while( (global void)
+0:62 Function Parameters:
+0:63 Sequence
+0:63 Sequence
+0:63 move second child to first child (temp float)
+0:63 'result' (noContraction temp float)
+0:63 Constant:
+0:63 5.000000
+0:64 Sequence
+0:64 move second child to first child (temp int)
+0:64 'a' (noContraction temp int)
+0:64 Constant:
+0:64 10 (const int)
+0:65 Sequence
+0:65 move second child to first child (temp int)
+0:65 'b' (noContraction temp int)
+0:65 Constant:
+0:65 20 (const int)
+0:66 Loop with condition tested first
+0:66 Loop Condition
+0:66 Compare Less Than (temp bool)
+0:66 'result' (noContraction temp float)
+0:66 Constant:
+0:66 10.000000
+0:66 Loop Body
+0:67 Sequence
+0:67 add second child into first child (noContraction temp float)
+0:67 'result' (noContraction temp float)
+0:67 add (noContraction temp float)
+0:67 Constant:
+0:67 3.120000
+0:67 Convert int to float (temp float)
+0:67 'b' (noContraction temp int)
+0:69 move second child to first child (temp float)
+0:69 'result' (noContraction temp float)
+0:69 Convert int to float (temp float)
+0:69 add (temp int)
+0:69 add (temp int)
+0:69 'a' (noContraction temp int)
+0:69 'b' (noContraction temp int)
+0:69 Constant:
+0:69 5 (const int)
+0:70 move second child to first child (temp float)
+0:70 'result' (noContraction temp float)
+0:70 Constant:
+0:70 11.100000
+0:73 Function Definition: fma_not_decorated( (global float)
+0:73 Function Parameters:
+0:? Sequence
+0:75 Sequence
+0:75 move second child to first child (temp float)
+0:75 'a' (noContraction temp float)
+0:75 Constant:
+0:75 1.000000
+0:76 Sequence
+0:76 move second child to first child (temp float)
+0:76 'b' (noContraction temp float)
+0:76 Constant:
+0:76 2.000000
+0:77 Sequence
+0:77 move second child to first child (temp float)
+0:77 'c' (noContraction temp float)
+0:77 Constant:
+0:77 3.000000
+0:78 move second child to first child (temp float)
+0:78 'b' (noContraction temp float)
+0:78 add (noContraction temp float)
+0:78 'b' (noContraction temp float)
+0:78 'c' (noContraction temp float)
+0:79 move second child to first child (temp float)
+0:79 'result' (noContraction temp float)
+0:79 fma (global float)
+0:79 'a' (noContraction temp float)
+0:79 'b' (noContraction temp float)
+0:79 'c' (noContraction temp float)
+0:80 Branch: Return with expression
+0:80 'result' (noContraction temp float)
+0:83 Function Definition: precise_return_exp_func( (noContraction temp float)
+0:83 Function Parameters:
+0:84 Sequence
+0:84 Sequence
+0:84 move second child to first child (temp float)
+0:84 'a' (noContraction temp float)
+0:84 Constant:
+0:84 1.000000
+0:85 Sequence
+0:85 move second child to first child (temp float)
+0:85 'b' (noContraction temp float)
+0:85 Constant:
+0:85 2.000000
+0:86 Branch: Return with expression
+0:86 add (noContraction temp float)
+0:86 'a' (noContraction temp float)
+0:86 'b' (noContraction temp float)
+0:89 Function Definition: precise_return_val_func( (noContraction temp float)
+0:89 Function Parameters:
+0:90 Sequence
+0:90 Sequence
+0:90 move second child to first child (temp float)
+0:90 'a' (noContraction temp float)
+0:90 Constant:
+0:90 1.000000
+0:91 Sequence
+0:91 move second child to first child (temp float)
+0:91 'b' (noContraction temp float)
+0:91 Constant:
+0:91 2.000000
+0:92 Sequence
+0:92 move second child to first child (temp float)
+0:92 'result' (noContraction temp float)
+0:92 add (noContraction temp float)
+0:92 'a' (noContraction temp float)
+0:92 'b' (noContraction temp float)
+0:93 Branch: Return with expression
+0:93 'result' (noContraction temp float)
+0:96 Function Definition: precise_func_parameter(f1;f1; (global float)
+0:96 Function Parameters:
+0:96 'b' (in float)
+0:96 'c' (noContraction out float)
+0:97 Sequence
+0:97 Sequence
+0:97 move second child to first child (temp float)
+0:97 'a' (noContraction temp float)
+0:97 Constant:
+0:97 0.500000
+0:98 move second child to first child (temp float)
+0:98 'c' (noContraction out float)
+0:98 add (noContraction temp float)
+0:98 'a' (noContraction temp float)
+0:98 'b' (noContraction in float)
+0:99 Branch: Return with expression
+0:99 subtract (temp float)
+0:99 'a' (temp float)
+0:99 'b' (in float)
+0:102 Function Definition: matrix(mf23;mf32; (global 3X3 matrix of float)
+0:102 Function Parameters:
+0:102 'a' (in 2X3 matrix of float)
+0:102 'b' (in 3X2 matrix of float)
+0:103 Sequence
+0:103 Sequence
+0:103 move second child to first child (temp 2X3 matrix of float)
+0:103 'c' (noContraction temp 2X3 matrix of float)
+0:103 Constant:
+0:103 1.000000
+0:103 2.000000
+0:103 3.000000
+0:103 4.000000
+0:103 5.000000
+0:103 6.000000
+0:105 move second child to first child (temp 3X3 matrix of float)
+0:105 'result' (noContraction temp 3X3 matrix of float)
+0:105 matrix-multiply (noContraction temp 3X3 matrix of float)
+0:105 add (noContraction temp 2X3 matrix of float)
+0:105 'a' (noContraction in 2X3 matrix of float)
+0:105 'c' (noContraction temp 2X3 matrix of float)
+0:105 'b' (noContraction in 3X2 matrix of float)
+0:106 Branch: Return with expression
+0:106 'result' (noContraction temp 3X3 matrix of float)
+0:109 Function Definition: main( (global void)
+0:109 Function Parameters:
+0:? Linker Objects
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/precise_struct_block.vert.out b/chromium/third_party/glslang/src/Test/baseResults/precise_struct_block.vert.out
new file mode 100644
index 00000000000..9d726d65af3
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/precise_struct_block.vert.out
@@ -0,0 +1,1045 @@
+precise_struct_block.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 450
+0:? Sequence
+0:11 Function Definition: struct_member( (global float)
+0:11 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'a' (noContraction temp float)
+0:12 Constant:
+0:12 1.000000
+0:13 Sequence
+0:13 move second child to first child (temp float)
+0:13 'b' (temp float)
+0:13 Constant:
+0:13 2.000000
+0:14 Sequence
+0:14 move second child to first child (temp float)
+0:14 'c' (temp float)
+0:14 Constant:
+0:14 3.000000
+0:15 Sequence
+0:15 move second child to first child (temp float)
+0:15 'd' (temp float)
+0:15 Constant:
+0:15 4.000000
+0:21 move second child to first child (temp float)
+0:21 f1: direct index for structure (noContraction global float)
+0:21 'S2' (temp structure{global float f1, global float f2})
+0:21 Constant:
+0:21 0 (const int)
+0:21 add (noContraction temp float)
+0:21 'a' (noContraction temp float)
+0:21 Constant:
+0:21 0.200000
+0:22 move second child to first child (temp float)
+0:22 f2: direct index for structure (global float)
+0:22 'S2' (temp structure{global float f1, global float f2})
+0:22 Constant:
+0:22 1 (const int)
+0:22 add (temp float)
+0:22 'b' (temp float)
+0:22 Constant:
+0:22 0.200000
+0:23 move second child to first child (temp float)
+0:23 f1: direct index for structure (global float)
+0:23 'S3' (temp structure{global float f1, global float f2})
+0:23 Constant:
+0:23 0 (const int)
+0:23 add (temp float)
+0:23 'a' (temp float)
+0:23 'b' (temp float)
+0:24 move second child to first child (temp structure{global float f1, global float f2})
+0:24 'S' (temp structure{global float f1, global float f2})
+0:24 'S2' (temp structure{global float f1, global float f2})
+0:25 move second child to first child (temp float)
+0:25 'result' (noContraction temp float)
+0:25 add (noContraction temp float)
+0:25 f1: direct index for structure (noContraction global float)
+0:25 'S' (temp structure{global float f1, global float f2})
+0:25 Constant:
+0:25 0 (const int)
+0:25 Constant:
+0:25 0.100000
+0:27 Branch: Return with expression
+0:27 'result' (noContraction temp float)
+0:30 Function Definition: complex_array_struct( (global float)
+0:30 Function Parameters:
+0:? Sequence
+0:43 Sequence
+0:43 Sequence
+0:43 move second child to first child (temp int)
+0:43 'i' (noContraction temp int)
+0:43 Constant:
+0:43 0 (const int)
+0:43 Loop with condition tested first
+0:43 Loop Condition
+0:43 Compare Less Than (temp bool)
+0:43 'i' (temp int)
+0:43 Constant:
+0:43 10 (const int)
+0:43 Loop Body
+0:44 Sequence
+0:44 move second child to first child (temp float)
+0:44 f: direct index for structure (temp float)
+0:44 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:44 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:44 'i' (temp int)
+0:44 Constant:
+0:44 0 (const int)
+0:44 divide (temp float)
+0:44 Convert int to float (temp float)
+0:44 'i' (temp int)
+0:44 Constant:
+0:44 3.000000
+0:45 move second child to first child (temp 4-component vector of float)
+0:45 v: direct index for structure (noContraction temp 4-component vector of float)
+0:45 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:45 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:45 'i' (temp int)
+0:45 Constant:
+0:45 2 (const int)
+0:45 Construct vec4 (temp 4-component vector of float)
+0:45 component-wise multiply (noContraction temp float)
+0:45 Convert int to float (temp float)
+0:45 'i' (noContraction temp int)
+0:45 Constant:
+0:45 1.500000
+0:46 move second child to first child (temp int)
+0:46 p: direct index for structure (temp int)
+0:46 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:46 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:46 'i' (temp int)
+0:46 Constant:
+0:46 3 (const int)
+0:46 add (temp int)
+0:46 'i' (temp int)
+0:46 Constant:
+0:46 1 (const int)
+0:47 Sequence
+0:47 Sequence
+0:47 move second child to first child (temp int)
+0:47 'j' (temp int)
+0:47 Constant:
+0:47 0 (const int)
+0:47 Loop with condition tested first
+0:47 Loop Condition
+0:47 Compare Less Than (temp bool)
+0:47 'j' (temp int)
+0:47 Constant:
+0:47 5 (const int)
+0:47 Loop Body
+0:48 Sequence
+0:48 Sequence
+0:48 Sequence
+0:48 move second child to first child (temp int)
+0:48 'k' (temp int)
+0:48 Constant:
+0:48 0 (const int)
+0:48 Loop with condition tested first
+0:48 Loop Condition
+0:48 Compare Less Than (temp bool)
+0:48 'k' (temp int)
+0:48 Constant:
+0:48 3 (const int)
+0:48 Loop Body
+0:49 Sequence
+0:49 move second child to first child (temp float)
+0:49 indirect index (temp float)
+0:49 t1_array: direct index for structure (temp 3-element array of float)
+0:49 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:49 t1a: direct index for structure (temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:49 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:49 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:49 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:49 'i' (temp int)
+0:49 Constant:
+0:49 1 (const int)
+0:49 Constant:
+0:49 0 (const int)
+0:49 'j' (temp int)
+0:49 Constant:
+0:49 0 (const int)
+0:49 'k' (temp int)
+0:49 Convert int to float (temp float)
+0:49 add (temp int)
+0:49 component-wise multiply (temp int)
+0:49 'i' (temp int)
+0:49 'j' (temp int)
+0:49 'k' (temp int)
+0:48 Loop Terminal Expression
+0:48 Post-Increment (temp int)
+0:48 'k' (temp int)
+0:51 move second child to first child (temp float)
+0:51 t1_scalar: direct index for structure (temp float)
+0:51 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:51 t1a: direct index for structure (temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:51 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:51 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:51 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:51 'i' (temp int)
+0:51 Constant:
+0:51 1 (const int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 'j' (temp int)
+0:51 Constant:
+0:51 1 (const int)
+0:51 divide (temp float)
+0:51 component-wise multiply (temp float)
+0:51 Convert int to float (temp float)
+0:51 'j' (temp int)
+0:51 Constant:
+0:51 2.000000
+0:51 Convert int to float (temp float)
+0:51 'i' (temp int)
+0:47 Loop Terminal Expression
+0:47 Post-Increment (temp int)
+0:47 'j' (temp int)
+0:54 Sequence
+0:54 Sequence
+0:54 move second child to first child (temp int)
+0:54 'j' (noContraction temp int)
+0:54 Constant:
+0:54 0 (const int)
+0:54 Loop with condition tested first
+0:54 Loop Condition
+0:54 Compare Less Than (temp bool)
+0:54 'j' (temp int)
+0:54 Constant:
+0:54 6 (const int)
+0:54 Loop Body
+0:55 Sequence
+0:55 Sequence
+0:55 Sequence
+0:55 move second child to first child (temp int)
+0:55 'k' (temp int)
+0:55 Constant:
+0:55 0 (const int)
+0:55 Loop with condition tested first
+0:55 Loop Condition
+0:55 Compare Less Than (temp bool)
+0:55 'k' (temp int)
+0:55 Constant:
+0:55 3 (const int)
+0:55 Loop Body
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 indirect index (temp float)
+0:56 t1_array: direct index for structure (temp 3-element array of float)
+0:56 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:56 t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:56 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:56 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:56 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:56 'i' (temp int)
+0:56 Constant:
+0:56 1 (const int)
+0:56 Constant:
+0:56 1 (const int)
+0:56 'j' (temp int)
+0:56 Constant:
+0:56 0 (const int)
+0:56 'k' (temp int)
+0:56 Convert int to float (temp float)
+0:56 add (temp int)
+0:56 component-wise multiply (temp int)
+0:56 'i' (temp int)
+0:56 'j' (temp int)
+0:56 'k' (temp int)
+0:55 Loop Terminal Expression
+0:55 Post-Increment (temp int)
+0:55 'k' (temp int)
+0:58 move second child to first child (temp float)
+0:58 t1_scalar: direct index for structure (noContraction temp float)
+0:58 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:58 t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:58 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:58 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:58 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:58 'i' (temp int)
+0:58 Constant:
+0:58 1 (const int)
+0:58 Constant:
+0:58 1 (const int)
+0:58 'j' (temp int)
+0:58 Constant:
+0:58 1 (const int)
+0:58 divide (noContraction temp float)
+0:58 component-wise multiply (noContraction temp float)
+0:58 Convert int to float (temp float)
+0:58 'j' (noContraction temp int)
+0:58 Constant:
+0:58 2.000000
+0:58 Convert int to float (temp float)
+0:58 'i' (noContraction temp int)
+0:54 Loop Terminal Expression
+0:54 Post-Increment (noContraction temp int)
+0:54 'j' (noContraction temp int)
+0:61 Sequence
+0:61 Sequence
+0:61 move second child to first child (temp int)
+0:61 'j' (noContraction temp int)
+0:61 Constant:
+0:61 0 (const int)
+0:61 Loop with condition tested first
+0:61 Loop Condition
+0:61 Compare Less Than (temp bool)
+0:61 'j' (temp int)
+0:61 Constant:
+0:61 6 (const int)
+0:61 Loop Body
+0:62 Sequence
+0:62 Sequence
+0:62 Sequence
+0:62 move second child to first child (temp int)
+0:62 'k' (noContraction temp int)
+0:62 Constant:
+0:62 0 (const int)
+0:62 Loop with condition tested first
+0:62 Loop Condition
+0:62 Compare Less Than (temp bool)
+0:62 'k' (temp int)
+0:62 Constant:
+0:62 3 (const int)
+0:62 Loop Body
+0:63 Sequence
+0:63 move second child to first child (temp float)
+0:63 indirect index (noContraction temp float)
+0:63 t1_array: direct index for structure (noContraction temp 3-element array of float)
+0:63 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:63 t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:63 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:63 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:63 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:63 'i' (temp int)
+0:63 Constant:
+0:63 1 (const int)
+0:63 Constant:
+0:63 2 (const int)
+0:63 'j' (temp int)
+0:63 Constant:
+0:63 0 (const int)
+0:63 'k' (temp int)
+0:63 Convert int to float (temp float)
+0:63 add (temp int)
+0:63 component-wise multiply (temp int)
+0:63 'i' (noContraction temp int)
+0:63 'j' (noContraction temp int)
+0:63 'k' (noContraction temp int)
+0:62 Loop Terminal Expression
+0:62 Post-Increment (noContraction temp int)
+0:62 'k' (noContraction temp int)
+0:65 move second child to first child (temp float)
+0:65 t1_scalar: direct index for structure (temp float)
+0:65 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:65 t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:65 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:65 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:65 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:65 'i' (temp int)
+0:65 Constant:
+0:65 1 (const int)
+0:65 Constant:
+0:65 2 (const int)
+0:65 'j' (temp int)
+0:65 Constant:
+0:65 1 (const int)
+0:65 divide (temp float)
+0:65 component-wise multiply (temp float)
+0:65 Convert int to float (temp float)
+0:65 'j' (temp int)
+0:65 Constant:
+0:65 2.000000
+0:65 Convert int to float (temp float)
+0:65 'i' (temp int)
+0:61 Loop Terminal Expression
+0:61 Post-Increment (noContraction temp int)
+0:61 'j' (noContraction temp int)
+0:43 Loop Terminal Expression
+0:43 Post-Increment (noContraction temp int)
+0:43 'i' (noContraction temp int)
+0:68 Sequence
+0:68 move second child to first child (temp int)
+0:68 'i' (temp int)
+0:68 Constant:
+0:68 2 (const int)
+0:69 move second child to first child (temp float)
+0:69 'result' (noContraction temp float)
+0:71 add (noContraction temp float)
+0:70 add (noContraction temp float)
+0:69 direct index (noContraction temp float)
+0:69 t1_array: direct index for structure (temp 3-element array of float)
+0:69 direct index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:69 t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:69 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:69 direct index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:69 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:69 Constant:
+0:69 5 (const int)
+0:69 Constant:
+0:69 1 (const int)
+0:69 Constant:
+0:69 2 (const int)
+0:69 Constant:
+0:69 6 (const int)
+0:69 Constant:
+0:69 0 (const int)
+0:69 Constant:
+0:69 1 (const int)
+0:70 t1_scalar: direct index for structure (noContraction temp float)
+0:70 direct index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:70 t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:70 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:70 direct index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:70 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:70 Constant:
+0:70 2 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:71 direct index (noContraction temp float)
+0:71 vector swizzle (temp 2-component vector of float)
+0:71 v: direct index for structure (temp 4-component vector of float)
+0:71 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:71 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:71 subtract (temp int)
+0:71 'i' (temp int)
+0:71 Constant:
+0:71 1 (const int)
+0:71 Constant:
+0:71 2 (const int)
+0:71 Sequence
+0:71 Constant:
+0:71 0 (const int)
+0:71 Constant:
+0:71 1 (const int)
+0:71 Constant:
+0:71 0 (const int)
+0:72 Branch: Return with expression
+0:72 'result' (noContraction temp float)
+0:75 Function Definition: out_block( (global float)
+0:75 Function Parameters:
+0:76 Sequence
+0:76 Sequence
+0:76 move second child to first child (temp float)
+0:76 'a' (noContraction temp float)
+0:76 Constant:
+0:76 0.100000
+0:77 Sequence
+0:77 move second child to first child (temp float)
+0:77 'b' (noContraction temp float)
+0:77 Constant:
+0:77 0.200000
+0:78 move second child to first child (temp float)
+0:78 f1: direct index for structure (noContraction global float)
+0:78 s: direct index for structure (noContraction out structure{global float f1, global float f2})
+0:78 'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
+0:78 Constant:
+0:78 0 (const int)
+0:78 Constant:
+0:78 0 (const int)
+0:78 add (noContraction temp float)
+0:78 'a' (noContraction temp float)
+0:78 'b' (noContraction temp float)
+0:79 move second child to first child (temp float)
+0:79 f2: direct index for structure (noContraction global float)
+0:79 s: direct index for structure (noContraction out structure{global float f1, global float f2})
+0:79 'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
+0:79 Constant:
+0:79 0 (const int)
+0:79 Constant:
+0:79 1 (const int)
+0:79 subtract (noContraction temp float)
+0:79 'a' (noContraction temp float)
+0:79 'b' (noContraction temp float)
+0:80 move second child to first child (temp float)
+0:80 x: direct index for structure (out float)
+0:80 'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
+0:80 Constant:
+0:80 1 (const int)
+0:80 component-wise multiply (temp float)
+0:80 'a' (temp float)
+0:80 'b' (temp float)
+0:82 move second child to first child (temp float)
+0:82 f1: direct index for structure (noContraction global float)
+0:82 s: direct index for structure (noContraction out structure{global float f1, global float f2})
+0:82 'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
+0:82 Constant:
+0:82 0 (const int)
+0:82 Constant:
+0:82 0 (const int)
+0:82 add (noContraction temp float)
+0:82 add (noContraction temp float)
+0:82 'a' (noContraction temp float)
+0:82 'b' (noContraction temp float)
+0:82 Constant:
+0:82 1.000000
+0:83 move second child to first child (temp float)
+0:83 f2: direct index for structure (noContraction global float)
+0:83 s: direct index for structure (noContraction out structure{global float f1, global float f2})
+0:83 'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
+0:83 Constant:
+0:83 0 (const int)
+0:83 Constant:
+0:83 1 (const int)
+0:83 subtract (noContraction temp float)
+0:83 subtract (noContraction temp float)
+0:83 'a' (noContraction temp float)
+0:83 'b' (noContraction temp float)
+0:83 Constant:
+0:83 1.000000
+0:84 move second child to first child (temp float)
+0:84 x: direct index for structure (noContraction out float)
+0:84 'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
+0:84 Constant:
+0:84 1 (const int)
+0:84 component-wise multiply (noContraction temp float)
+0:84 component-wise multiply (noContraction temp float)
+0:84 'a' (noContraction temp float)
+0:84 'b' (noContraction temp float)
+0:84 Constant:
+0:84 2.000000
+0:86 Branch: Return with expression
+0:86 add (temp float)
+0:86 'a' (temp float)
+0:86 'b' (temp float)
+0:89 Function Definition: main( (global void)
+0:89 Function Parameters:
+0:? Linker Objects
+0:? 'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
+0:? 'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 450
+0:? Sequence
+0:11 Function Definition: struct_member( (global float)
+0:11 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'a' (noContraction temp float)
+0:12 Constant:
+0:12 1.000000
+0:13 Sequence
+0:13 move second child to first child (temp float)
+0:13 'b' (temp float)
+0:13 Constant:
+0:13 2.000000
+0:14 Sequence
+0:14 move second child to first child (temp float)
+0:14 'c' (temp float)
+0:14 Constant:
+0:14 3.000000
+0:15 Sequence
+0:15 move second child to first child (temp float)
+0:15 'd' (temp float)
+0:15 Constant:
+0:15 4.000000
+0:21 move second child to first child (temp float)
+0:21 f1: direct index for structure (noContraction global float)
+0:21 'S2' (temp structure{global float f1, global float f2})
+0:21 Constant:
+0:21 0 (const int)
+0:21 add (noContraction temp float)
+0:21 'a' (noContraction temp float)
+0:21 Constant:
+0:21 0.200000
+0:22 move second child to first child (temp float)
+0:22 f2: direct index for structure (global float)
+0:22 'S2' (temp structure{global float f1, global float f2})
+0:22 Constant:
+0:22 1 (const int)
+0:22 add (temp float)
+0:22 'b' (temp float)
+0:22 Constant:
+0:22 0.200000
+0:23 move second child to first child (temp float)
+0:23 f1: direct index for structure (global float)
+0:23 'S3' (temp structure{global float f1, global float f2})
+0:23 Constant:
+0:23 0 (const int)
+0:23 add (temp float)
+0:23 'a' (temp float)
+0:23 'b' (temp float)
+0:24 move second child to first child (temp structure{global float f1, global float f2})
+0:24 'S' (temp structure{global float f1, global float f2})
+0:24 'S2' (temp structure{global float f1, global float f2})
+0:25 move second child to first child (temp float)
+0:25 'result' (noContraction temp float)
+0:25 add (noContraction temp float)
+0:25 f1: direct index for structure (noContraction global float)
+0:25 'S' (temp structure{global float f1, global float f2})
+0:25 Constant:
+0:25 0 (const int)
+0:25 Constant:
+0:25 0.100000
+0:27 Branch: Return with expression
+0:27 'result' (noContraction temp float)
+0:30 Function Definition: complex_array_struct( (global float)
+0:30 Function Parameters:
+0:? Sequence
+0:43 Sequence
+0:43 Sequence
+0:43 move second child to first child (temp int)
+0:43 'i' (noContraction temp int)
+0:43 Constant:
+0:43 0 (const int)
+0:43 Loop with condition tested first
+0:43 Loop Condition
+0:43 Compare Less Than (temp bool)
+0:43 'i' (temp int)
+0:43 Constant:
+0:43 10 (const int)
+0:43 Loop Body
+0:44 Sequence
+0:44 move second child to first child (temp float)
+0:44 f: direct index for structure (temp float)
+0:44 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:44 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:44 'i' (temp int)
+0:44 Constant:
+0:44 0 (const int)
+0:44 divide (temp float)
+0:44 Convert int to float (temp float)
+0:44 'i' (temp int)
+0:44 Constant:
+0:44 3.000000
+0:45 move second child to first child (temp 4-component vector of float)
+0:45 v: direct index for structure (noContraction temp 4-component vector of float)
+0:45 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:45 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:45 'i' (temp int)
+0:45 Constant:
+0:45 2 (const int)
+0:45 Construct vec4 (temp 4-component vector of float)
+0:45 component-wise multiply (noContraction temp float)
+0:45 Convert int to float (temp float)
+0:45 'i' (noContraction temp int)
+0:45 Constant:
+0:45 1.500000
+0:46 move second child to first child (temp int)
+0:46 p: direct index for structure (temp int)
+0:46 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:46 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:46 'i' (temp int)
+0:46 Constant:
+0:46 3 (const int)
+0:46 add (temp int)
+0:46 'i' (temp int)
+0:46 Constant:
+0:46 1 (const int)
+0:47 Sequence
+0:47 Sequence
+0:47 move second child to first child (temp int)
+0:47 'j' (temp int)
+0:47 Constant:
+0:47 0 (const int)
+0:47 Loop with condition tested first
+0:47 Loop Condition
+0:47 Compare Less Than (temp bool)
+0:47 'j' (temp int)
+0:47 Constant:
+0:47 5 (const int)
+0:47 Loop Body
+0:48 Sequence
+0:48 Sequence
+0:48 Sequence
+0:48 move second child to first child (temp int)
+0:48 'k' (temp int)
+0:48 Constant:
+0:48 0 (const int)
+0:48 Loop with condition tested first
+0:48 Loop Condition
+0:48 Compare Less Than (temp bool)
+0:48 'k' (temp int)
+0:48 Constant:
+0:48 3 (const int)
+0:48 Loop Body
+0:49 Sequence
+0:49 move second child to first child (temp float)
+0:49 indirect index (temp float)
+0:49 t1_array: direct index for structure (temp 3-element array of float)
+0:49 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:49 t1a: direct index for structure (temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:49 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:49 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:49 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:49 'i' (temp int)
+0:49 Constant:
+0:49 1 (const int)
+0:49 Constant:
+0:49 0 (const int)
+0:49 'j' (temp int)
+0:49 Constant:
+0:49 0 (const int)
+0:49 'k' (temp int)
+0:49 Convert int to float (temp float)
+0:49 add (temp int)
+0:49 component-wise multiply (temp int)
+0:49 'i' (temp int)
+0:49 'j' (temp int)
+0:49 'k' (temp int)
+0:48 Loop Terminal Expression
+0:48 Post-Increment (temp int)
+0:48 'k' (temp int)
+0:51 move second child to first child (temp float)
+0:51 t1_scalar: direct index for structure (temp float)
+0:51 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:51 t1a: direct index for structure (temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:51 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:51 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:51 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:51 'i' (temp int)
+0:51 Constant:
+0:51 1 (const int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 'j' (temp int)
+0:51 Constant:
+0:51 1 (const int)
+0:51 divide (temp float)
+0:51 component-wise multiply (temp float)
+0:51 Convert int to float (temp float)
+0:51 'j' (temp int)
+0:51 Constant:
+0:51 2.000000
+0:51 Convert int to float (temp float)
+0:51 'i' (temp int)
+0:47 Loop Terminal Expression
+0:47 Post-Increment (temp int)
+0:47 'j' (temp int)
+0:54 Sequence
+0:54 Sequence
+0:54 move second child to first child (temp int)
+0:54 'j' (noContraction temp int)
+0:54 Constant:
+0:54 0 (const int)
+0:54 Loop with condition tested first
+0:54 Loop Condition
+0:54 Compare Less Than (temp bool)
+0:54 'j' (temp int)
+0:54 Constant:
+0:54 6 (const int)
+0:54 Loop Body
+0:55 Sequence
+0:55 Sequence
+0:55 Sequence
+0:55 move second child to first child (temp int)
+0:55 'k' (temp int)
+0:55 Constant:
+0:55 0 (const int)
+0:55 Loop with condition tested first
+0:55 Loop Condition
+0:55 Compare Less Than (temp bool)
+0:55 'k' (temp int)
+0:55 Constant:
+0:55 3 (const int)
+0:55 Loop Body
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 indirect index (temp float)
+0:56 t1_array: direct index for structure (temp 3-element array of float)
+0:56 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:56 t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:56 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:56 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:56 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:56 'i' (temp int)
+0:56 Constant:
+0:56 1 (const int)
+0:56 Constant:
+0:56 1 (const int)
+0:56 'j' (temp int)
+0:56 Constant:
+0:56 0 (const int)
+0:56 'k' (temp int)
+0:56 Convert int to float (temp float)
+0:56 add (temp int)
+0:56 component-wise multiply (temp int)
+0:56 'i' (temp int)
+0:56 'j' (temp int)
+0:56 'k' (temp int)
+0:55 Loop Terminal Expression
+0:55 Post-Increment (temp int)
+0:55 'k' (temp int)
+0:58 move second child to first child (temp float)
+0:58 t1_scalar: direct index for structure (noContraction temp float)
+0:58 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:58 t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:58 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:58 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:58 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:58 'i' (temp int)
+0:58 Constant:
+0:58 1 (const int)
+0:58 Constant:
+0:58 1 (const int)
+0:58 'j' (temp int)
+0:58 Constant:
+0:58 1 (const int)
+0:58 divide (noContraction temp float)
+0:58 component-wise multiply (noContraction temp float)
+0:58 Convert int to float (temp float)
+0:58 'j' (noContraction temp int)
+0:58 Constant:
+0:58 2.000000
+0:58 Convert int to float (temp float)
+0:58 'i' (noContraction temp int)
+0:54 Loop Terminal Expression
+0:54 Post-Increment (noContraction temp int)
+0:54 'j' (noContraction temp int)
+0:61 Sequence
+0:61 Sequence
+0:61 move second child to first child (temp int)
+0:61 'j' (noContraction temp int)
+0:61 Constant:
+0:61 0 (const int)
+0:61 Loop with condition tested first
+0:61 Loop Condition
+0:61 Compare Less Than (temp bool)
+0:61 'j' (temp int)
+0:61 Constant:
+0:61 6 (const int)
+0:61 Loop Body
+0:62 Sequence
+0:62 Sequence
+0:62 Sequence
+0:62 move second child to first child (temp int)
+0:62 'k' (noContraction temp int)
+0:62 Constant:
+0:62 0 (const int)
+0:62 Loop with condition tested first
+0:62 Loop Condition
+0:62 Compare Less Than (temp bool)
+0:62 'k' (temp int)
+0:62 Constant:
+0:62 3 (const int)
+0:62 Loop Body
+0:63 Sequence
+0:63 move second child to first child (temp float)
+0:63 indirect index (noContraction temp float)
+0:63 t1_array: direct index for structure (noContraction temp 3-element array of float)
+0:63 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:63 t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:63 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:63 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:63 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:63 'i' (temp int)
+0:63 Constant:
+0:63 1 (const int)
+0:63 Constant:
+0:63 2 (const int)
+0:63 'j' (temp int)
+0:63 Constant:
+0:63 0 (const int)
+0:63 'k' (temp int)
+0:63 Convert int to float (temp float)
+0:63 add (temp int)
+0:63 component-wise multiply (temp int)
+0:63 'i' (noContraction temp int)
+0:63 'j' (noContraction temp int)
+0:63 'k' (noContraction temp int)
+0:62 Loop Terminal Expression
+0:62 Post-Increment (noContraction temp int)
+0:62 'k' (noContraction temp int)
+0:65 move second child to first child (temp float)
+0:65 t1_scalar: direct index for structure (temp float)
+0:65 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:65 t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:65 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:65 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:65 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:65 'i' (temp int)
+0:65 Constant:
+0:65 1 (const int)
+0:65 Constant:
+0:65 2 (const int)
+0:65 'j' (temp int)
+0:65 Constant:
+0:65 1 (const int)
+0:65 divide (temp float)
+0:65 component-wise multiply (temp float)
+0:65 Convert int to float (temp float)
+0:65 'j' (temp int)
+0:65 Constant:
+0:65 2.000000
+0:65 Convert int to float (temp float)
+0:65 'i' (temp int)
+0:61 Loop Terminal Expression
+0:61 Post-Increment (noContraction temp int)
+0:61 'j' (noContraction temp int)
+0:43 Loop Terminal Expression
+0:43 Post-Increment (noContraction temp int)
+0:43 'i' (noContraction temp int)
+0:68 Sequence
+0:68 move second child to first child (temp int)
+0:68 'i' (temp int)
+0:68 Constant:
+0:68 2 (const int)
+0:69 move second child to first child (temp float)
+0:69 'result' (noContraction temp float)
+0:71 add (noContraction temp float)
+0:70 add (noContraction temp float)
+0:69 direct index (noContraction temp float)
+0:69 t1_array: direct index for structure (temp 3-element array of float)
+0:69 direct index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:69 t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:69 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:69 direct index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:69 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:69 Constant:
+0:69 5 (const int)
+0:69 Constant:
+0:69 1 (const int)
+0:69 Constant:
+0:69 2 (const int)
+0:69 Constant:
+0:69 6 (const int)
+0:69 Constant:
+0:69 0 (const int)
+0:69 Constant:
+0:69 1 (const int)
+0:70 t1_scalar: direct index for structure (noContraction temp float)
+0:70 direct index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:70 t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
+0:70 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
+0:70 direct index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:70 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:70 Constant:
+0:70 2 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:71 direct index (noContraction temp float)
+0:71 vector swizzle (temp 2-component vector of float)
+0:71 v: direct index for structure (temp 4-component vector of float)
+0:71 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:71 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
+0:71 subtract (temp int)
+0:71 'i' (temp int)
+0:71 Constant:
+0:71 1 (const int)
+0:71 Constant:
+0:71 2 (const int)
+0:71 Sequence
+0:71 Constant:
+0:71 0 (const int)
+0:71 Constant:
+0:71 1 (const int)
+0:71 Constant:
+0:71 0 (const int)
+0:72 Branch: Return with expression
+0:72 'result' (noContraction temp float)
+0:75 Function Definition: out_block( (global float)
+0:75 Function Parameters:
+0:76 Sequence
+0:76 Sequence
+0:76 move second child to first child (temp float)
+0:76 'a' (noContraction temp float)
+0:76 Constant:
+0:76 0.100000
+0:77 Sequence
+0:77 move second child to first child (temp float)
+0:77 'b' (noContraction temp float)
+0:77 Constant:
+0:77 0.200000
+0:78 move second child to first child (temp float)
+0:78 f1: direct index for structure (noContraction global float)
+0:78 s: direct index for structure (noContraction out structure{global float f1, global float f2})
+0:78 'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
+0:78 Constant:
+0:78 0 (const int)
+0:78 Constant:
+0:78 0 (const int)
+0:78 add (noContraction temp float)
+0:78 'a' (noContraction temp float)
+0:78 'b' (noContraction temp float)
+0:79 move second child to first child (temp float)
+0:79 f2: direct index for structure (noContraction global float)
+0:79 s: direct index for structure (noContraction out structure{global float f1, global float f2})
+0:79 'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
+0:79 Constant:
+0:79 0 (const int)
+0:79 Constant:
+0:79 1 (const int)
+0:79 subtract (noContraction temp float)
+0:79 'a' (noContraction temp float)
+0:79 'b' (noContraction temp float)
+0:80 move second child to first child (temp float)
+0:80 x: direct index for structure (out float)
+0:80 'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
+0:80 Constant:
+0:80 1 (const int)
+0:80 component-wise multiply (temp float)
+0:80 'a' (temp float)
+0:80 'b' (temp float)
+0:82 move second child to first child (temp float)
+0:82 f1: direct index for structure (noContraction global float)
+0:82 s: direct index for structure (noContraction out structure{global float f1, global float f2})
+0:82 'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
+0:82 Constant:
+0:82 0 (const int)
+0:82 Constant:
+0:82 0 (const int)
+0:82 add (noContraction temp float)
+0:82 add (noContraction temp float)
+0:82 'a' (noContraction temp float)
+0:82 'b' (noContraction temp float)
+0:82 Constant:
+0:82 1.000000
+0:83 move second child to first child (temp float)
+0:83 f2: direct index for structure (noContraction global float)
+0:83 s: direct index for structure (noContraction out structure{global float f1, global float f2})
+0:83 'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
+0:83 Constant:
+0:83 0 (const int)
+0:83 Constant:
+0:83 1 (const int)
+0:83 subtract (noContraction temp float)
+0:83 subtract (noContraction temp float)
+0:83 'a' (noContraction temp float)
+0:83 'b' (noContraction temp float)
+0:83 Constant:
+0:83 1.000000
+0:84 move second child to first child (temp float)
+0:84 x: direct index for structure (noContraction out float)
+0:84 'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
+0:84 Constant:
+0:84 1 (const int)
+0:84 component-wise multiply (noContraction temp float)
+0:84 component-wise multiply (noContraction temp float)
+0:84 'a' (noContraction temp float)
+0:84 'b' (noContraction temp float)
+0:84 Constant:
+0:84 2.000000
+0:86 Branch: Return with expression
+0:86 add (temp float)
+0:86 'a' (temp float)
+0:86 'b' (temp float)
+0:89 Function Definition: main( (global void)
+0:89 Function Parameters:
+0:? Linker Objects
+0:? 'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
+0:? 'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/precision.frag.out b/chromium/third_party/glslang/src/Test/baseResults/precision.frag.out
new file mode 100644
index 00000000000..79485b48c6e
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/precision.frag.out
@@ -0,0 +1,245 @@
+precision.frag
+ERROR: 0:3: 'float' : type requires declaration of default precision qualifier
+ERROR: 0:18: 'int' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
+ERROR: 0:19: 'int' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
+ERROR: 0:21: 'float' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
+ERROR: 0:72: 'bool' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
+ERROR: 0:75: 'structure' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
+ERROR: 0:76: 'bool' : type cannot have precision qualifier
+ERROR: 7 compilation errors. No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:5 Function Definition: foo(vf3; (global lowp 2-component vector of float)
+0:5 Function Parameters:
+0:5 'mv3' (in mediump 3-component vector of float)
+0:? Sequence
+0:8 Branch: Return with expression
+0:8 vector swizzle (temp highp 2-component vector of float)
+0:8 'hv4' (temp highp 4-component vector of float)
+0:8 Sequence
+0:8 Constant:
+0:8 0 (const int)
+0:8 Constant:
+0:8 1 (const int)
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 Sequence
+0:27 move second child to first child (temp highp int)
+0:27 'sum' (temp lowp int)
+0:27 add (temp highp int)
+0:27 'global_medium' (global mediump int)
+0:27 'global_high' (global highp int)
+0:29 move second child to first child (temp mediump 4-component vector of float)
+0:29 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)
+0:29 Construct vec4 (temp mediump 4-component vector of float)
+0:29 'color' (smooth in mediump 3-component vector of float)
+0:29 Constant:
+0:29 1.000000
+0:32 add second child into first child (temp highp int)
+0:32 'sum' (temp lowp int)
+0:32 'level1_high' (temp highp int)
+0:36 add second child into first child (temp lowp int)
+0:36 'sum' (temp lowp int)
+0:36 'level1_low' (temp lowp int)
+0:41 Sequence
+0:41 move second child to first child (temp mediump float)
+0:41 'd' (temp lowp float)
+0:41 distance (global mediump float)
+0:41 'arg1' (temp lowp float)
+0:41 'arg2' (temp mediump float)
+0:? Sequence
+0:45 add second child into first child (temp lowp int)
+0:45 'sum' (temp lowp int)
+0:45 'level2_low' (temp lowp int)
+0:49 add second child into first child (temp highp int)
+0:49 'sum' (temp lowp int)
+0:49 'level2_high' (temp highp int)
+0:58 Loop with condition not tested first
+0:58 Loop Condition
+0:58 Constant:
+0:58 true (const bool)
+0:58 Loop Body
+0:51 Sequence
+0:51 Test condition and select (temp void)
+0:51 Condition
+0:51 Constant:
+0:51 true (const bool)
+0:51 true case
+0:? Sequence
+0:54 add second child into first child (temp mediump int)
+0:54 'sum' (temp lowp int)
+0:54 'level4_medium' (temp mediump int)
+0:57 add second child into first child (temp highp int)
+0:57 'sum' (temp lowp int)
+0:57 'level3_high' (temp highp int)
+0:60 add second child into first child (temp highp int)
+0:60 'sum' (temp lowp int)
+0:60 'level2_high2' (temp highp int)
+0:63 add second child into first child (temp lowp int)
+0:63 'sum' (temp lowp int)
+0:63 'level1_low3' (temp lowp int)
+0:65 add second child into first child (temp lowp int)
+0:65 'sum' (temp lowp int)
+0:65 add (temp lowp int)
+0:65 Constant:
+0:65 4 (const int)
+0:65 direct index (temp lowp int)
+0:65 add (temp lowp 2-component vector of int)
+0:65 component-wise multiply (temp lowp 2-component vector of int)
+0:65 Construct ivec2 (temp lowp 2-component vector of int)
+0:65 'level1_low3' (temp lowp int)
+0:65 Construct ivec2 (temp lowp 2-component vector of int)
+0:65 'level1_high' (temp highp int)
+0:65 Construct ivec2 (temp lowp 2-component vector of int)
+0:65 Comma (temp highp int)
+0:65 'level1_low3' (temp lowp int)
+0:65 'level1_high' (temp highp int)
+0:65 Constant:
+0:65 0 (const int)
+0:67 texture (global lowp 4-component vector of float)
+0:67 'samplerLow' (uniform lowp sampler2D)
+0:67 Constant:
+0:67 0.100000
+0:67 0.200000
+0:68 texture (global mediump 4-component vector of float)
+0:68 'samplerMed' (uniform mediump sampler2D)
+0:68 Constant:
+0:68 0.100000
+0:68 0.200000
+0:69 texture (global highp 4-component vector of float)
+0:69 'samplerHigh' (uniform highp sampler2D)
+0:69 Constant:
+0:69 0.100000
+0:69 0.200000
+0:? Linker Objects
+0:? 'color' (smooth in mediump 3-component vector of float)
+0:? 'global_medium' (global mediump int)
+0:? 'samplerLow' (uniform lowp sampler2D)
+0:? 'samplerMed' (uniform mediump sampler2D)
+0:? 'samplerHigh' (uniform highp sampler2D)
+0:? 'uint' (global mediump 4-component vector of float)
+0:? 'global_high' (global highp int)
+0:? 'b2' (global mediump 2-component vector of bool)
+
+
+Linked fragment stage:
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:5 Function Definition: foo(vf3; (global lowp 2-component vector of float)
+0:5 Function Parameters:
+0:5 'mv3' (in mediump 3-component vector of float)
+0:? Sequence
+0:8 Branch: Return with expression
+0:8 vector swizzle (temp highp 2-component vector of float)
+0:8 'hv4' (temp highp 4-component vector of float)
+0:8 Sequence
+0:8 Constant:
+0:8 0 (const int)
+0:8 Constant:
+0:8 1 (const int)
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 Sequence
+0:27 move second child to first child (temp highp int)
+0:27 'sum' (temp lowp int)
+0:27 add (temp highp int)
+0:27 'global_medium' (global mediump int)
+0:27 'global_high' (global highp int)
+0:29 move second child to first child (temp mediump 4-component vector of float)
+0:29 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)
+0:29 Construct vec4 (temp mediump 4-component vector of float)
+0:29 'color' (smooth in mediump 3-component vector of float)
+0:29 Constant:
+0:29 1.000000
+0:32 add second child into first child (temp highp int)
+0:32 'sum' (temp lowp int)
+0:32 'level1_high' (temp highp int)
+0:36 add second child into first child (temp lowp int)
+0:36 'sum' (temp lowp int)
+0:36 'level1_low' (temp lowp int)
+0:41 Sequence
+0:41 move second child to first child (temp mediump float)
+0:41 'd' (temp lowp float)
+0:41 distance (global mediump float)
+0:41 'arg1' (temp lowp float)
+0:41 'arg2' (temp mediump float)
+0:? Sequence
+0:45 add second child into first child (temp lowp int)
+0:45 'sum' (temp lowp int)
+0:45 'level2_low' (temp lowp int)
+0:49 add second child into first child (temp highp int)
+0:49 'sum' (temp lowp int)
+0:49 'level2_high' (temp highp int)
+0:58 Loop with condition not tested first
+0:58 Loop Condition
+0:58 Constant:
+0:58 true (const bool)
+0:58 Loop Body
+0:51 Sequence
+0:51 Test condition and select (temp void)
+0:51 Condition
+0:51 Constant:
+0:51 true (const bool)
+0:51 true case
+0:? Sequence
+0:54 add second child into first child (temp mediump int)
+0:54 'sum' (temp lowp int)
+0:54 'level4_medium' (temp mediump int)
+0:57 add second child into first child (temp highp int)
+0:57 'sum' (temp lowp int)
+0:57 'level3_high' (temp highp int)
+0:60 add second child into first child (temp highp int)
+0:60 'sum' (temp lowp int)
+0:60 'level2_high2' (temp highp int)
+0:63 add second child into first child (temp lowp int)
+0:63 'sum' (temp lowp int)
+0:63 'level1_low3' (temp lowp int)
+0:65 add second child into first child (temp lowp int)
+0:65 'sum' (temp lowp int)
+0:65 add (temp lowp int)
+0:65 Constant:
+0:65 4 (const int)
+0:65 direct index (temp lowp int)
+0:65 add (temp lowp 2-component vector of int)
+0:65 component-wise multiply (temp lowp 2-component vector of int)
+0:65 Construct ivec2 (temp lowp 2-component vector of int)
+0:65 'level1_low3' (temp lowp int)
+0:65 Construct ivec2 (temp lowp 2-component vector of int)
+0:65 'level1_high' (temp highp int)
+0:65 Construct ivec2 (temp lowp 2-component vector of int)
+0:65 Comma (temp highp int)
+0:65 'level1_low3' (temp lowp int)
+0:65 'level1_high' (temp highp int)
+0:65 Constant:
+0:65 0 (const int)
+0:67 texture (global lowp 4-component vector of float)
+0:67 'samplerLow' (uniform lowp sampler2D)
+0:67 Constant:
+0:67 0.100000
+0:67 0.200000
+0:68 texture (global mediump 4-component vector of float)
+0:68 'samplerMed' (uniform mediump sampler2D)
+0:68 Constant:
+0:68 0.100000
+0:68 0.200000
+0:69 texture (global highp 4-component vector of float)
+0:69 'samplerHigh' (uniform highp sampler2D)
+0:69 Constant:
+0:69 0.100000
+0:69 0.200000
+0:? Linker Objects
+0:? 'color' (smooth in mediump 3-component vector of float)
+0:? 'global_medium' (global mediump int)
+0:? 'samplerLow' (uniform lowp sampler2D)
+0:? 'samplerMed' (uniform mediump sampler2D)
+0:? 'samplerHigh' (uniform highp sampler2D)
+0:? 'uint' (global mediump 4-component vector of float)
+0:? 'global_high' (global highp int)
+0:? 'b2' (global mediump 2-component vector of bool)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/precision.vert.out b/chromium/third_party/glslang/src/Test/baseResults/precision.vert.out
new file mode 100644
index 00000000000..f433ba52579
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/precision.vert.out
@@ -0,0 +1,99 @@
+precision.vert
+ERROR: 0:7: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:8: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:14: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 3 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:18 Function Definition: main( (global void)
+0:18 Function Parameters:
+0:20 Sequence
+0:20 Sequence
+0:20 move second child to first child (temp highp 4-component vector of float)
+0:20 't' (temp highp 4-component vector of float)
+0:20 texture (global lowp 4-component vector of float)
+0:20 's2D' (uniform lowp sampler2D)
+0:20 Constant:
+0:20 0.100000
+0:20 0.200000
+0:21 add second child into first child (temp highp 4-component vector of float)
+0:21 't' (temp highp 4-component vector of float)
+0:21 texture (global highp 4-component vector of float)
+0:21 's2Dhigh' (uniform highp sampler2D)
+0:21 Constant:
+0:21 0.100000
+0:21 0.200000
+0:22 add second child into first child (temp highp 4-component vector of float)
+0:22 't' (temp highp 4-component vector of float)
+0:22 texture (global mediump float)
+0:22 's2dAS' (uniform mediump sampler2DArrayShadow)
+0:22 Constant:
+0:22 0.500000
+0:22 0.500000
+0:22 0.500000
+0:22 0.500000
+0:24 move second child to first child (temp highp 4-component vector of float)
+0:24 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:24 'pos' (in highp 4-component vector of float)
+0:? Linker Objects
+0:? 'pos' (in highp 4-component vector of float)
+0:? 's2D' (uniform lowp sampler2D)
+0:? 'sCube' (uniform lowp samplerCube)
+0:? 'is2DAbad' (uniform mediump isampler2DArray)
+0:? 's2dASbad' (uniform mediump sampler2DArrayShadow)
+0:? 's2dAS' (uniform mediump sampler2DArrayShadow)
+0:? 'is2DAbad2' (uniform mediump isampler2DArray)
+0:? 's2Dhigh' (uniform highp sampler2D)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:18 Function Definition: main( (global void)
+0:18 Function Parameters:
+0:20 Sequence
+0:20 Sequence
+0:20 move second child to first child (temp highp 4-component vector of float)
+0:20 't' (temp highp 4-component vector of float)
+0:20 texture (global lowp 4-component vector of float)
+0:20 's2D' (uniform lowp sampler2D)
+0:20 Constant:
+0:20 0.100000
+0:20 0.200000
+0:21 add second child into first child (temp highp 4-component vector of float)
+0:21 't' (temp highp 4-component vector of float)
+0:21 texture (global highp 4-component vector of float)
+0:21 's2Dhigh' (uniform highp sampler2D)
+0:21 Constant:
+0:21 0.100000
+0:21 0.200000
+0:22 add second child into first child (temp highp 4-component vector of float)
+0:22 't' (temp highp 4-component vector of float)
+0:22 texture (global mediump float)
+0:22 's2dAS' (uniform mediump sampler2DArrayShadow)
+0:22 Constant:
+0:22 0.500000
+0:22 0.500000
+0:22 0.500000
+0:22 0.500000
+0:24 move second child to first child (temp highp 4-component vector of float)
+0:24 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:24 'pos' (in highp 4-component vector of float)
+0:? Linker Objects
+0:? 'pos' (in highp 4-component vector of float)
+0:? 's2D' (uniform lowp sampler2D)
+0:? 'sCube' (uniform lowp samplerCube)
+0:? 'is2DAbad' (uniform mediump isampler2DArray)
+0:? 's2dASbad' (uniform mediump sampler2DArrayShadow)
+0:? 's2dAS' (uniform mediump sampler2DArrayShadow)
+0:? 'is2DAbad2' (uniform mediump isampler2DArray)
+0:? 's2Dhigh' (uniform highp sampler2D)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/prepost.frag.out b/chromium/third_party/glslang/src/Test/baseResults/prepost.frag.out
new file mode 100644
index 00000000000..ac24229597f
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/prepost.frag.out
@@ -0,0 +1,271 @@
+prepost.frag
+Shader version: 140
+0:? Sequence
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:? Sequence
+0:10 Sequence
+0:10 move second child to first child (temp int)
+0:10 'index' (temp int)
+0:10 Constant:
+0:10 5 (const int)
+0:12 move second child to first child (temp float)
+0:12 direct index (temp float)
+0:12 y: direct index for structure (temp 5-element array of float)
+0:12 'str' (temp structure{temp 5-element array of float y})
+0:12 Constant:
+0:12 0 (const int)
+0:12 Constant:
+0:12 4 (const int)
+0:12 Constant:
+0:12 2.000000
+0:13 move second child to first child (temp float)
+0:13 't' (temp float)
+0:13 Pre-Increment (temp float)
+0:13 indirect index (temp float)
+0:13 y: direct index for structure (temp 5-element array of float)
+0:13 'str' (temp structure{temp 5-element array of float y})
+0:13 Constant:
+0:13 0 (const int)
+0:13 Pre-Decrement (temp int)
+0:13 'index' (temp int)
+0:14 add second child into first child (temp float)
+0:14 direct index (temp float)
+0:14 y: direct index for structure (temp 5-element array of float)
+0:14 'str' (temp structure{temp 5-element array of float y})
+0:14 Constant:
+0:14 0 (const int)
+0:14 Constant:
+0:14 4 (const int)
+0:14 't' (temp float)
+0:15 move second child to first child (temp float)
+0:15 't' (temp float)
+0:15 Post-Decrement (temp float)
+0:15 direct index (temp float)
+0:15 y: direct index for structure (temp 5-element array of float)
+0:15 'str' (temp structure{temp 5-element array of float y})
+0:15 Constant:
+0:15 0 (const int)
+0:15 Constant:
+0:15 4 (const int)
+0:16 add second child into first child (temp float)
+0:16 indirect index (temp float)
+0:16 y: direct index for structure (temp 5-element array of float)
+0:16 'str' (temp structure{temp 5-element array of float y})
+0:16 Constant:
+0:16 0 (const int)
+0:16 Post-Increment (temp int)
+0:16 'index' (temp int)
+0:16 't' (temp float)
+0:17 Pre-Decrement (temp float)
+0:17 indirect index (temp float)
+0:17 y: direct index for structure (temp 5-element array of float)
+0:17 'str' (temp structure{temp 5-element array of float y})
+0:17 Constant:
+0:17 0 (const int)
+0:17 Pre-Decrement (temp int)
+0:17 'index' (temp int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'x' (temp float)
+0:19 direct index (temp float)
+0:19 y: direct index for structure (temp 5-element array of float)
+0:19 'str' (temp structure{temp 5-element array of float y})
+0:19 Constant:
+0:19 0 (const int)
+0:19 Constant:
+0:19 4 (const int)
+0:20 Pre-Increment (temp float)
+0:20 'x' (temp float)
+0:21 Pre-Decrement (temp float)
+0:21 'x' (temp float)
+0:22 Post-Increment (temp float)
+0:22 'x' (temp float)
+0:23 Post-Decrement (temp float)
+0:23 'x' (temp float)
+0:27 Sequence
+0:27 move second child to first child (temp float)
+0:27 'y' (temp float)
+0:27 component-wise multiply (temp float)
+0:27 'x' (temp float)
+0:27 Pre-Increment (temp float)
+0:27 'x' (temp float)
+0:28 Sequence
+0:28 move second child to first child (temp float)
+0:28 'z' (temp float)
+0:28 component-wise multiply (temp float)
+0:28 'y' (temp float)
+0:28 Post-Decrement (temp float)
+0:28 'x' (temp float)
+0:33 Sequence
+0:33 move second child to first child (temp 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:33 Constant:
+0:33 1.000000
+0:33 2.000000
+0:33 3.000000
+0:33 4.000000
+0:34 move second child to first child (temp float)
+0:34 direct index (temp float)
+0:34 'v' (temp 4-component vector of float)
+0:34 Constant:
+0:34 1 (const int)
+0:34 Post-Decrement (temp float)
+0:34 direct index (temp float)
+0:34 'v' (temp 4-component vector of float)
+0:34 Constant:
+0:34 2 (const int)
+0:35 move second child to first child (temp float)
+0:35 direct index (temp float)
+0:35 'v' (temp 4-component vector of float)
+0:35 Constant:
+0:35 0 (const int)
+0:35 Pre-Decrement (temp float)
+0:35 direct index (temp float)
+0:35 'v' (temp 4-component vector of float)
+0:35 Constant:
+0:35 3 (const int)
+0:37 move second child to first child (temp 4-component vector of float)
+0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:37 vector-scale (temp 4-component vector of float)
+0:37 'z' (temp float)
+0:37 'v' (temp 4-component vector of float)
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 140
+0:? Sequence
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:? Sequence
+0:10 Sequence
+0:10 move second child to first child (temp int)
+0:10 'index' (temp int)
+0:10 Constant:
+0:10 5 (const int)
+0:12 move second child to first child (temp float)
+0:12 direct index (temp float)
+0:12 y: direct index for structure (temp 5-element array of float)
+0:12 'str' (temp structure{temp 5-element array of float y})
+0:12 Constant:
+0:12 0 (const int)
+0:12 Constant:
+0:12 4 (const int)
+0:12 Constant:
+0:12 2.000000
+0:13 move second child to first child (temp float)
+0:13 't' (temp float)
+0:13 Pre-Increment (temp float)
+0:13 indirect index (temp float)
+0:13 y: direct index for structure (temp 5-element array of float)
+0:13 'str' (temp structure{temp 5-element array of float y})
+0:13 Constant:
+0:13 0 (const int)
+0:13 Pre-Decrement (temp int)
+0:13 'index' (temp int)
+0:14 add second child into first child (temp float)
+0:14 direct index (temp float)
+0:14 y: direct index for structure (temp 5-element array of float)
+0:14 'str' (temp structure{temp 5-element array of float y})
+0:14 Constant:
+0:14 0 (const int)
+0:14 Constant:
+0:14 4 (const int)
+0:14 't' (temp float)
+0:15 move second child to first child (temp float)
+0:15 't' (temp float)
+0:15 Post-Decrement (temp float)
+0:15 direct index (temp float)
+0:15 y: direct index for structure (temp 5-element array of float)
+0:15 'str' (temp structure{temp 5-element array of float y})
+0:15 Constant:
+0:15 0 (const int)
+0:15 Constant:
+0:15 4 (const int)
+0:16 add second child into first child (temp float)
+0:16 indirect index (temp float)
+0:16 y: direct index for structure (temp 5-element array of float)
+0:16 'str' (temp structure{temp 5-element array of float y})
+0:16 Constant:
+0:16 0 (const int)
+0:16 Post-Increment (temp int)
+0:16 'index' (temp int)
+0:16 't' (temp float)
+0:17 Pre-Decrement (temp float)
+0:17 indirect index (temp float)
+0:17 y: direct index for structure (temp 5-element array of float)
+0:17 'str' (temp structure{temp 5-element array of float y})
+0:17 Constant:
+0:17 0 (const int)
+0:17 Pre-Decrement (temp int)
+0:17 'index' (temp int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'x' (temp float)
+0:19 direct index (temp float)
+0:19 y: direct index for structure (temp 5-element array of float)
+0:19 'str' (temp structure{temp 5-element array of float y})
+0:19 Constant:
+0:19 0 (const int)
+0:19 Constant:
+0:19 4 (const int)
+0:20 Pre-Increment (temp float)
+0:20 'x' (temp float)
+0:21 Pre-Decrement (temp float)
+0:21 'x' (temp float)
+0:22 Post-Increment (temp float)
+0:22 'x' (temp float)
+0:23 Post-Decrement (temp float)
+0:23 'x' (temp float)
+0:27 Sequence
+0:27 move second child to first child (temp float)
+0:27 'y' (temp float)
+0:27 component-wise multiply (temp float)
+0:27 'x' (temp float)
+0:27 Pre-Increment (temp float)
+0:27 'x' (temp float)
+0:28 Sequence
+0:28 move second child to first child (temp float)
+0:28 'z' (temp float)
+0:28 component-wise multiply (temp float)
+0:28 'y' (temp float)
+0:28 Post-Decrement (temp float)
+0:28 'x' (temp float)
+0:33 Sequence
+0:33 move second child to first child (temp 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:33 Constant:
+0:33 1.000000
+0:33 2.000000
+0:33 3.000000
+0:33 4.000000
+0:34 move second child to first child (temp float)
+0:34 direct index (temp float)
+0:34 'v' (temp 4-component vector of float)
+0:34 Constant:
+0:34 1 (const int)
+0:34 Post-Decrement (temp float)
+0:34 direct index (temp float)
+0:34 'v' (temp 4-component vector of float)
+0:34 Constant:
+0:34 2 (const int)
+0:35 move second child to first child (temp float)
+0:35 direct index (temp float)
+0:35 'v' (temp 4-component vector of float)
+0:35 Constant:
+0:35 0 (const int)
+0:35 Pre-Decrement (temp float)
+0:35 direct index (temp float)
+0:35 'v' (temp 4-component vector of float)
+0:35 Constant:
+0:35 3 (const int)
+0:37 move second child to first child (temp 4-component vector of float)
+0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:37 vector-scale (temp 4-component vector of float)
+0:37 'z' (temp float)
+0:37 'v' (temp 4-component vector of float)
+0:? Linker Objects
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style___FILE__.vert.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style___FILE__.vert.err
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style___FILE__.vert.err
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style___FILE__.vert.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style___FILE__.vert.out
new file mode 100644
index 00000000000..e63d81a61dc
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style___FILE__.vert.out
@@ -0,0 +1,37 @@
+#extension GL_GOOGLE_cpp_style_line_directive : enable
+
+0
+
+#line 150 "a.h"
+ "a.h"
+
+#line 24
+ "a.h"
+
+#line 42
+ "a.h"
+
+#line 30 "b.cc"
+ "b.cc"
+
+#line 10 3
+ 3
+
+#line 48
+ 3
+
+#line 4
+ 3
+
+#line 55 100
+ 100
+
+#line 1000 "c"
+ "c"
+
+#line 42 1
+ 1
+
+#line 42 "this-is-a-quite-long-name-maybe-i-should-shorten-it"
+ "this-is-a-quite-long-name-maybe-i-should-shorten-it"
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style_line_directive.vert.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style_line_directive.vert.err
new file mode 100644
index 00000000000..794ded806b9
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style_line_directive.vert.err
@@ -0,0 +1,15 @@
+ERROR: 0:3: '#error' : at 0:3
+ERROR: a.h:150: '#error' : at a.h:150
+ERROR: a.h:24: '#error' : at a.h:24
+ERROR: a.h:42: '#error' : at a.h:42
+ERROR: b.cc:30: '#error' : at b.cc:30
+ERROR: 3:10: '#error' : at 3:10
+ERROR: 3:48: '#error' : at 3:48
+ERROR: 3:4: '#error' : at 3:4
+ERROR: 100:55: '#error' : at 100:55
+ERROR: c:1000: '#error' : at c:1000
+ERROR: 1:42: '#error' : at 1:42
+ERROR: this-is-a-quite-long-name-maybe-i-should-shorten-it:42: '#error' : at this-is-a-quite-long-name-maybe-i-should-shorten-it:42
+ERROR: 12 compilation errors. No code generated.
+
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style_line_directive.vert.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style_line_directive.vert.out
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.cpp_style_line_directive.vert.out
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.defined.vert.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.defined.vert.err
new file mode 100644
index 00000000000..8dddabca008
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.defined.vert.err
@@ -0,0 +1,4 @@
+ERROR: 0:2: '#define' : "defined" can't be (un)defined: defined
+ERROR: 1 compilation errors. No code generated.
+
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.defined.vert.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.defined.vert.out
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.defined.vert.out
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.edge_cases.vert.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.edge_cases.vert.err
new file mode 100644
index 00000000000..5f177e6cc12
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.edge_cases.vert.err
@@ -0,0 +1,2 @@
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.edge_cases.vert.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.edge_cases.vert.out
new file mode 100644
index 00000000000..17d9049bfd8
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.edge_cases.vert.out
@@ -0,0 +1,16 @@
+#version 310 es
+
+
+
+
+
+
+
+
+
+
+
+void main(){
+ gl_Position = vec4(3 + 2 + 2 * 4 + 2 + 3 * 2);
+}
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.eof_missing.vert.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.eof_missing.vert.err
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.eof_missing.vert.err
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.eof_missing.vert.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.eof_missing.vert.out
new file mode 100644
index 00000000000..bf09d53e0a3
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.eof_missing.vert.out
@@ -0,0 +1,2 @@
+noEOF
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.errors.vert.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.errors.vert.err
new file mode 100644
index 00000000000..cfde4041e9f
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.errors.vert.err
@@ -0,0 +1,8 @@
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:9: '#error' : This should show up in pp output .
+ERROR: 0:14: '#' : invalid directive: def
+ERROR: 0:15: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile Y
+ERROR: 0:21: '' : missing #endif
+ERROR: 4 compilation errors. No code generated.
+
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.errors.vert.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.errors.vert.out
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.errors.vert.out
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.extensions.vert.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.extensions.vert.err
new file mode 100644
index 00000000000..925cc0ca05d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.extensions.vert.err
@@ -0,0 +1,3 @@
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+WARNING: 0:6: '#extension' : extension not supported: GL_EXT_shader_texture_image_samples
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.extensions.vert.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.extensions.vert.out
new file mode 100644
index 00000000000..57d2e199fb4
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.extensions.vert.out
@@ -0,0 +1,12 @@
+#version 310 es
+
+#extension GL_EXT_geometry_shader : enable
+#extension GL_EXT_frag_depth : disable
+#extension GL_EXT_gpu_shader5 : require
+#extension GL_EXT_shader_texture_image_samples : warn
+
+#extension unknown_extension : require
+
+int main(){
+}
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.function_macro.vert.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.function_macro.vert.err
new file mode 100644
index 00000000000..5f177e6cc12
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.function_macro.vert.err
@@ -0,0 +1,2 @@
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.function_macro.vert.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.function_macro.vert.out
new file mode 100644
index 00000000000..1280ddf644d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.function_macro.vert.out
@@ -0,0 +1,21 @@
+#version 310 es
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+int main(){
+ gl_Position = vec4(3 + 1, 3 + 4, 3 + 1);
+ gl_Position = vec4(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12);
+ gl_Position = vec4(4 + 3 + 3);
+}
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.disabled.vert.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.disabled.vert.err
new file mode 100644
index 00000000000..7d1f0a00588
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.disabled.vert.err
@@ -0,0 +1,13 @@
+ERROR: 0:8000: '#include' : required extension not requested: GL_GOOGLE_include_directive
+ERROR: 0:8000: '#include' : must be followed by a file designation
+ERROR: 0:8001: '#include' : required extension not requested: GL_GOOGLE_include_directive
+ERROR: 0:8001: '#include' : must be followed by a file designation
+ERROR: 0:8002: '#include' : required extension not requested: GL_GOOGLE_include_directive
+ERROR: 0:8002: '#include' : unexpected include directive
+ERROR: 0:8003: '#include' : required extension not requested: GL_GOOGLE_include_directive
+ERROR: 0:8003: '#include' : extra content after file designation
+ERROR: 0:8004: '#include' : required extension not requested: GL_GOOGLE_include_directive
+ERROR: 0:8004: '#include' : unexpected include directive
+ERROR: 10 compilation errors. No code generated.
+
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.disabled.vert.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.disabled.vert.out
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.disabled.vert.out
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.enabled.vert.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.enabled.vert.err
new file mode 100644
index 00000000000..be8c5cf3a10
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.enabled.vert.err
@@ -0,0 +1,8 @@
+ERROR: 0:8000: '#include' : must be followed by a file designation
+ERROR: 0:8001: '#include' : must be followed by a file designation
+ERROR: 0:8002: '#include' : unexpected include directive
+ERROR: 0:8003: '#include' : extra content after file designation
+ERROR: 0:8004: '#include' : unexpected include directive
+ERROR: 5 compilation errors. No code generated.
+
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.enabled.vert.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.enabled.vert.out
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.include.enabled.vert.out
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.frag.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.frag.err
new file mode 100644
index 00000000000..5f177e6cc12
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.frag.err
@@ -0,0 +1,2 @@
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.frag.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.frag.out
new file mode 100644
index 00000000000..3e2206f8883
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.frag.out
@@ -0,0 +1,5 @@
+#version 310 es
+#line 1 2
+#pragma something
+void main(){ }
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.vert.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.vert.err
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.vert.err
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.vert.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.vert.out
new file mode 100644
index 00000000000..2bf09032779
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.line.vert.out
@@ -0,0 +1,39 @@
+#line 300
+
+#line 2
+
+
+
+
+
+#line 10
+
+
+#line 2
+
+#line 0
+
+
+
+#line 4
+
+
+
+
+
+#line 8
+
+void main(){
+ gl_Position = vec4(10);
+}
+
+#line 8 4
+
+
+
+
+#line 12 3
+
+#line 1
+
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.many.endif.vert.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.many.endif.vert.err
new file mode 100644
index 00000000000..49aafc5ab57
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.many.endif.vert.err
@@ -0,0 +1,12 @@
+ERROR: 0:1: '#endif' : mismatched statements
+ERROR: 0:2: '#endif' : mismatched statements
+ERROR: 0:3: '#endif' : mismatched statements
+ERROR: 0:4: '#endif' : mismatched statements
+ERROR: 0:5: '#endif' : mismatched statements
+ERROR: 0:6: '#endif' : mismatched statements
+ERROR: 0:7: '#endif' : mismatched statements
+ERROR: 0:10: 'preprocessor evaluation' : bad expression
+ERROR: 0:11: '' : missing #endif
+ERROR: 9 compilation errors. No code generated.
+
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.many.endif.vert.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.many.endif.vert.out
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.many.endif.vert.out
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.pragma.vert.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.pragma.vert.err
new file mode 100644
index 00000000000..5f177e6cc12
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.pragma.vert.err
@@ -0,0 +1,2 @@
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.pragma.vert.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.pragma.vert.out
new file mode 100644
index 00000000000..8c52814468c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.pragma.vert.out
@@ -0,0 +1,12 @@
+#version 310 es
+
+#pragma optimize(on)
+#pragma optimize(off)
+#pragma debug(on)
+#pragma debug(off)
+
+#pragma undefined_pragma(x,4)
+
+int main(){
+}
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.simple.vert.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.simple.vert.err
new file mode 100644
index 00000000000..5f177e6cc12
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.simple.vert.err
@@ -0,0 +1,2 @@
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.simple.vert.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.simple.vert.out
new file mode 100644
index 00000000000..8737bc81cfd
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.simple.vert.out
@@ -0,0 +1,23 @@
+#version 310 es
+
+
+
+
+
+
+
+
+
+
+
+
+ float fn(float x){ return x + 4.0;}
+
+int main(){
+ gl_Position = vec4(1);
+ gl_Position = clamp(1, 2, 3);
+ gl_Position = vec4(1);
+ gl_Position = vec4(1, 2);
+ gl_Position = vec4(fn(3));
+}
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.success_if_parse_would_fail.vert.err b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.success_if_parse_would_fail.vert.err
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.success_if_parse_would_fail.vert.err
diff --git a/chromium/third_party/glslang/src/Test/baseResults/preprocessor.success_if_parse_would_fail.vert.out b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.success_if_parse_would_fail.vert.out
new file mode 100644
index 00000000000..624813a01d9
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/preprocessor.success_if_parse_would_fail.vert.out
@@ -0,0 +1,4 @@
+int x(){
+ something that shouldnt compile;
+}
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/recurse1.vert.out b/chromium/third_party/glslang/src/Test/baseResults/recurse1.vert.out
new file mode 100644
index 00000000000..c2ae0140c36
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/recurse1.vert.out
@@ -0,0 +1,397 @@
+recurse1.vert
+Shader version: 330
+0:? Sequence
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:9 Function Definition: self( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Function Call: self( (global void)
+0:16 Function Definition: foo(f1; (global void)
+0:16 Function Parameters:
+0:16 '' (in float)
+0:18 Sequence
+0:18 Function Call: bar(i1; (global float)
+0:18 Constant:
+0:18 2 (const int)
+0:21 Function Definition: bar(i1; (global float)
+0:21 Function Parameters:
+0:21 '' (in int)
+0:23 Sequence
+0:23 Function Call: foo(f1; (global void)
+0:23 Constant:
+0:23 4.200000
+0:25 Branch: Return with expression
+0:25 Constant:
+0:25 3.200000
+0:32 Function Definition: A( (global void)
+0:32 Function Parameters:
+0:32 Sequence
+0:32 Function Call: B( (global void)
+0:33 Function Definition: C( (global void)
+0:33 Function Parameters:
+0:33 Sequence
+0:33 Function Call: D( (global void)
+0:34 Function Definition: B( (global void)
+0:34 Function Parameters:
+0:34 Sequence
+0:34 Function Call: C( (global void)
+0:35 Function Definition: D( (global void)
+0:35 Function Parameters:
+0:35 Sequence
+0:35 Function Call: A( (global void)
+0:41 Function Definition: AT( (global void)
+0:41 Function Parameters:
+0:41 Sequence
+0:41 Function Call: BT( (global void)
+0:41 Function Call: BT( (global void)
+0:41 Function Call: BT( (global void)
+0:42 Function Definition: CT( (global void)
+0:42 Function Parameters:
+0:42 Sequence
+0:42 Function Call: DT( (global void)
+0:42 Function Call: AT( (global void)
+0:42 Function Call: DT( (global void)
+0:42 Function Call: BT( (global void)
+0:43 Function Definition: BT( (global void)
+0:43 Function Parameters:
+0:43 Sequence
+0:43 Function Call: CT( (global void)
+0:43 Function Call: CT( (global void)
+0:43 Function Call: CT( (global void)
+0:44 Function Definition: DT( (global void)
+0:44 Function Parameters:
+0:44 Sequence
+0:44 Function Call: AT( (global void)
+0:? Linker Objects
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+recurse1.frag
+Shader version: 330
+0:? Sequence
+0:5 Function Definition: main( (global void)
+0:5 Function Parameters:
+0:11 Function Definition: cfoo(f1; (global void)
+0:11 Function Parameters:
+0:11 '' (in float)
+0:13 Sequence
+0:13 Function Call: cbar(i1; (global float)
+0:13 Constant:
+0:13 2 (const int)
+0:20 Function Definition: CA( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 Function Call: CB( (global void)
+0:21 Function Definition: CC( (global void)
+0:21 Function Parameters:
+0:21 Sequence
+0:21 Function Call: CD( (global void)
+0:27 Function Definition: CAT( (global void)
+0:27 Function Parameters:
+0:27 Sequence
+0:27 Function Call: CBT( (global void)
+0:27 Function Call: CBT( (global void)
+0:27 Function Call: CBT( (global void)
+0:28 Function Definition: CCT( (global void)
+0:28 Function Parameters:
+0:28 Sequence
+0:28 Function Call: CDT( (global void)
+0:28 Function Call: CDT( (global void)
+0:28 Function Call: CBT( (global void)
+0:32 Function Definition: norA( (global void)
+0:32 Function Parameters:
+0:33 Function Definition: norB( (global void)
+0:33 Function Parameters:
+0:33 Sequence
+0:33 Function Call: norA( (global void)
+0:34 Function Definition: norC( (global void)
+0:34 Function Parameters:
+0:34 Sequence
+0:34 Function Call: norA( (global void)
+0:35 Function Definition: norD( (global void)
+0:35 Function Parameters:
+0:35 Sequence
+0:35 Function Call: norA( (global void)
+0:36 Function Definition: norE( (global void)
+0:36 Function Parameters:
+0:36 Sequence
+0:36 Function Call: norB( (global void)
+0:37 Function Definition: norF( (global void)
+0:37 Function Parameters:
+0:37 Sequence
+0:37 Function Call: norB( (global void)
+0:38 Function Definition: norG( (global void)
+0:38 Function Parameters:
+0:38 Sequence
+0:38 Function Call: norE( (global void)
+0:39 Function Definition: norH( (global void)
+0:39 Function Parameters:
+0:39 Sequence
+0:39 Function Call: norE( (global void)
+0:40 Function Definition: norI( (global void)
+0:40 Function Parameters:
+0:40 Sequence
+0:40 Function Call: norE( (global void)
+0:44 Function Definition: norcA( (global void)
+0:44 Function Parameters:
+0:45 Function Definition: norcB( (global void)
+0:45 Function Parameters:
+0:45 Sequence
+0:45 Function Call: norcA( (global void)
+0:46 Function Definition: norcC( (global void)
+0:46 Function Parameters:
+0:46 Sequence
+0:46 Function Call: norcB( (global void)
+0:47 Function Definition: norcD( (global void)
+0:47 Function Parameters:
+0:47 Sequence
+0:47 Function Call: norcC( (global void)
+0:47 Function Call: norcB( (global void)
+0:48 Function Definition: norcE( (global void)
+0:48 Function Parameters:
+0:48 Sequence
+0:48 Function Call: norcD( (global void)
+0:? Linker Objects
+
+recurse2.frag
+Shader version: 330
+0:? Sequence
+0:9 Function Definition: cbar(i1; (global float)
+0:9 Function Parameters:
+0:9 '' (in int)
+0:11 Sequence
+0:11 Function Call: cfoo(f1; (global void)
+0:11 Constant:
+0:11 4.200000
+0:13 Branch: Return with expression
+0:13 Constant:
+0:13 3.200000
+0:20 Function Definition: CB( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 Function Call: CC( (global void)
+0:21 Function Definition: CD( (global void)
+0:21 Function Parameters:
+0:21 Sequence
+0:21 Function Call: CA( (global void)
+0:27 Function Definition: CBT( (global void)
+0:27 Function Parameters:
+0:27 Sequence
+0:27 Function Call: CCT( (global void)
+0:27 Function Call: CCT( (global void)
+0:27 Function Call: CCT( (global void)
+0:28 Function Definition: CDT( (global void)
+0:28 Function Parameters:
+0:28 Sequence
+0:28 Function Call: CAT( (global void)
+0:? Linker Objects
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: Recursion detected:
+ BT( calling CT(
+ERROR: Linking vertex stage: Recursion detected:
+ AT( calling BT(
+ERROR: Linking vertex stage: Recursion detected:
+ DT( calling AT(
+ERROR: Linking vertex stage: Recursion detected:
+ D( calling A(
+ERROR: Linking vertex stage: Recursion detected:
+ bar(i1; calling foo(f1;
+ERROR: Linking vertex stage: Recursion detected:
+ self( calling self(
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Recursion detected:
+ CCT( calling CBT(
+ERROR: Linking fragment stage: Recursion detected:
+ CBT( calling CCT(
+ERROR: Linking fragment stage: Recursion detected:
+ CC( calling CD(
+ERROR: Linking fragment stage: Recursion detected:
+ cfoo(f1; calling cbar(i1;
+
+Shader version: 330
+0:? Sequence
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:9 Function Definition: self( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Function Call: self( (global void)
+0:16 Function Definition: foo(f1; (global void)
+0:16 Function Parameters:
+0:16 '' (in float)
+0:18 Sequence
+0:18 Function Call: bar(i1; (global float)
+0:18 Constant:
+0:18 2 (const int)
+0:21 Function Definition: bar(i1; (global float)
+0:21 Function Parameters:
+0:21 '' (in int)
+0:23 Sequence
+0:23 Function Call: foo(f1; (global void)
+0:23 Constant:
+0:23 4.200000
+0:25 Branch: Return with expression
+0:25 Constant:
+0:25 3.200000
+0:32 Function Definition: A( (global void)
+0:32 Function Parameters:
+0:32 Sequence
+0:32 Function Call: B( (global void)
+0:33 Function Definition: C( (global void)
+0:33 Function Parameters:
+0:33 Sequence
+0:33 Function Call: D( (global void)
+0:34 Function Definition: B( (global void)
+0:34 Function Parameters:
+0:34 Sequence
+0:34 Function Call: C( (global void)
+0:35 Function Definition: D( (global void)
+0:35 Function Parameters:
+0:35 Sequence
+0:35 Function Call: A( (global void)
+0:41 Function Definition: AT( (global void)
+0:41 Function Parameters:
+0:41 Sequence
+0:41 Function Call: BT( (global void)
+0:41 Function Call: BT( (global void)
+0:41 Function Call: BT( (global void)
+0:42 Function Definition: CT( (global void)
+0:42 Function Parameters:
+0:42 Sequence
+0:42 Function Call: DT( (global void)
+0:42 Function Call: AT( (global void)
+0:42 Function Call: DT( (global void)
+0:42 Function Call: BT( (global void)
+0:43 Function Definition: BT( (global void)
+0:43 Function Parameters:
+0:43 Sequence
+0:43 Function Call: CT( (global void)
+0:43 Function Call: CT( (global void)
+0:43 Function Call: CT( (global void)
+0:44 Function Definition: DT( (global void)
+0:44 Function Parameters:
+0:44 Sequence
+0:44 Function Call: AT( (global void)
+0:? Linker Objects
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+Shader version: 330
+0:? Sequence
+0:5 Function Definition: main( (global void)
+0:5 Function Parameters:
+0:11 Function Definition: cfoo(f1; (global void)
+0:11 Function Parameters:
+0:11 '' (in float)
+0:13 Sequence
+0:13 Function Call: cbar(i1; (global float)
+0:13 Constant:
+0:13 2 (const int)
+0:20 Function Definition: CA( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 Function Call: CB( (global void)
+0:21 Function Definition: CC( (global void)
+0:21 Function Parameters:
+0:21 Sequence
+0:21 Function Call: CD( (global void)
+0:27 Function Definition: CAT( (global void)
+0:27 Function Parameters:
+0:27 Sequence
+0:27 Function Call: CBT( (global void)
+0:27 Function Call: CBT( (global void)
+0:27 Function Call: CBT( (global void)
+0:28 Function Definition: CCT( (global void)
+0:28 Function Parameters:
+0:28 Sequence
+0:28 Function Call: CDT( (global void)
+0:28 Function Call: CDT( (global void)
+0:28 Function Call: CBT( (global void)
+0:32 Function Definition: norA( (global void)
+0:32 Function Parameters:
+0:33 Function Definition: norB( (global void)
+0:33 Function Parameters:
+0:33 Sequence
+0:33 Function Call: norA( (global void)
+0:34 Function Definition: norC( (global void)
+0:34 Function Parameters:
+0:34 Sequence
+0:34 Function Call: norA( (global void)
+0:35 Function Definition: norD( (global void)
+0:35 Function Parameters:
+0:35 Sequence
+0:35 Function Call: norA( (global void)
+0:36 Function Definition: norE( (global void)
+0:36 Function Parameters:
+0:36 Sequence
+0:36 Function Call: norB( (global void)
+0:37 Function Definition: norF( (global void)
+0:37 Function Parameters:
+0:37 Sequence
+0:37 Function Call: norB( (global void)
+0:38 Function Definition: norG( (global void)
+0:38 Function Parameters:
+0:38 Sequence
+0:38 Function Call: norE( (global void)
+0:39 Function Definition: norH( (global void)
+0:39 Function Parameters:
+0:39 Sequence
+0:39 Function Call: norE( (global void)
+0:40 Function Definition: norI( (global void)
+0:40 Function Parameters:
+0:40 Sequence
+0:40 Function Call: norE( (global void)
+0:44 Function Definition: norcA( (global void)
+0:44 Function Parameters:
+0:45 Function Definition: norcB( (global void)
+0:45 Function Parameters:
+0:45 Sequence
+0:45 Function Call: norcA( (global void)
+0:46 Function Definition: norcC( (global void)
+0:46 Function Parameters:
+0:46 Sequence
+0:46 Function Call: norcB( (global void)
+0:47 Function Definition: norcD( (global void)
+0:47 Function Parameters:
+0:47 Sequence
+0:47 Function Call: norcC( (global void)
+0:47 Function Call: norcB( (global void)
+0:48 Function Definition: norcE( (global void)
+0:48 Function Parameters:
+0:48 Sequence
+0:48 Function Call: norcD( (global void)
+0:9 Function Definition: cbar(i1; (global float)
+0:9 Function Parameters:
+0:9 '' (in int)
+0:11 Sequence
+0:11 Function Call: cfoo(f1; (global void)
+0:11 Constant:
+0:11 4.200000
+0:13 Branch: Return with expression
+0:13 Constant:
+0:13 3.200000
+0:20 Function Definition: CB( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 Function Call: CC( (global void)
+0:21 Function Definition: CD( (global void)
+0:21 Function Parameters:
+0:21 Sequence
+0:21 Function Call: CA( (global void)
+0:27 Function Definition: CBT( (global void)
+0:27 Function Parameters:
+0:27 Sequence
+0:27 Function Call: CCT( (global void)
+0:27 Function Call: CCT( (global void)
+0:27 Function Call: CCT( (global void)
+0:28 Function Definition: CDT( (global void)
+0:28 Function Parameters:
+0:28 Sequence
+0:28 Function Call: CAT( (global void)
+0:? Linker Objects
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/reflection.vert.out b/chromium/third_party/glslang/src/Test/baseResults/reflection.vert.out
new file mode 100644
index 00000000000..24ee780900a
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/reflection.vert.out
@@ -0,0 +1,104 @@
+reflection.vert
+Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+Uniform reflection:
+image_ui2D: offset -1, type 9063, size 1, index -1
+sampler_2D: offset -1, type 8b5e, size 1, index -1
+sampler_2DMSArray: offset -1, type 910b, size 1, index -1
+anonMember3: offset 80, type 8b52, size 1, index 0
+s.a: offset -1, type 1404, size 1, index -1
+named.scalar: offset 12, type 1404, size 1, index 1
+m23: offset 16, type 8b67, size 1, index 0
+scalarAfterm23: offset 48, type 1404, size 1, index 0
+c_m23: offset 16, type 8b67, size 1, index 2
+c_scalarAfterm23: offset 64, type 1404, size 1, index 2
+scalarBeforeArray: offset 96, type 1404, size 1, index 0
+floatArray: offset 112, type 1406, size 5, index 0
+scalarAfterArray: offset 192, type 1404, size 1, index 0
+named.memvec2: offset 48, type 8b50, size 1, index 1
+named.memf1: offset 56, type 1406, size 1, index 1
+named.memf2: offset 60, type 8b56, size 1, index 1
+named.memf3: offset 64, type 1404, size 1, index 1
+named.memvec2a: offset 72, type 8b50, size 1, index 1
+named.m22: offset 80, type 8b5a, size 7, index 1
+dm22: offset -1, type 8b5a, size 4, index -1
+m22: offset 208, type 8b5a, size 3, index 0
+nested.foo.n1.a: offset 0, type 1406, size 1, index 3
+nested.foo.n2.b: offset 16, type 1406, size 1, index 3
+nested.foo.n2.c: offset 20, type 1406, size 1, index 3
+nested.foo.n2.d: offset 24, type 1406, size 1, index 3
+deepA[0].d2.d1[2].va: offset -1, type 8b50, size 2, index -1
+deepA[1].d2.d1[2].va: offset -1, type 8b50, size 2, index -1
+deepB[1].d2.d1[0].va: offset -1, type 8b50, size 2, index -1
+deepB[1].d2.d1[1].va: offset -1, type 8b50, size 2, index -1
+deepB[1].d2.d1[2].va: offset -1, type 8b50, size 2, index -1
+deepB[1].d2.d1[3].va: offset -1, type 8b50, size 2, index -1
+deepB[0].d2.d1[0].va: offset -1, type 8b50, size 2, index -1
+deepB[0].d2.d1[1].va: offset -1, type 8b50, size 2, index -1
+deepB[0].d2.d1[2].va: offset -1, type 8b50, size 2, index -1
+deepB[0].d2.d1[3].va: offset -1, type 8b50, size 2, index -1
+deepC[1].iv4: offset -1, type 8b52, size 1, index -1
+deepC[1].d2.i: offset -1, type 1404, size 1, index -1
+deepC[1].d2.d1[0].va: offset -1, type 8b50, size 3, index -1
+deepC[1].d2.d1[0].b: offset -1, type 8b56, size 1, index -1
+deepC[1].d2.d1[1].va: offset -1, type 8b50, size 3, index -1
+deepC[1].d2.d1[1].b: offset -1, type 8b56, size 1, index -1
+deepC[1].d2.d1[2].va: offset -1, type 8b50, size 3, index -1
+deepC[1].d2.d1[2].b: offset -1, type 8b56, size 1, index -1
+deepC[1].d2.d1[3].va: offset -1, type 8b50, size 3, index -1
+deepC[1].d2.d1[3].b: offset -1, type 8b56, size 1, index -1
+deepC[1].v3: offset -1, type 8b54, size 1, index -1
+deepD[0].iv4: offset -1, type 8b52, size 1, index -1
+deepD[0].d2.i: offset -1, type 1404, size 1, index -1
+deepD[0].d2.d1[0].va: offset -1, type 8b50, size 3, index -1
+deepD[0].d2.d1[0].b: offset -1, type 8b56, size 1, index -1
+deepD[0].d2.d1[1].va: offset -1, type 8b50, size 3, index -1
+deepD[0].d2.d1[1].b: offset -1, type 8b56, size 1, index -1
+deepD[0].d2.d1[2].va: offset -1, type 8b50, size 3, index -1
+deepD[0].d2.d1[2].b: offset -1, type 8b56, size 1, index -1
+deepD[0].d2.d1[3].va: offset -1, type 8b50, size 3, index -1
+deepD[0].d2.d1[3].b: offset -1, type 8b56, size 1, index -1
+deepD[0].v3: offset -1, type 8b54, size 1, index -1
+deepD[1].iv4: offset -1, type 8b52, size 1, index -1
+deepD[1].d2.i: offset -1, type 1404, size 1, index -1
+deepD[1].d2.d1[0].va: offset -1, type 8b50, size 3, index -1
+deepD[1].d2.d1[0].b: offset -1, type 8b56, size 1, index -1
+deepD[1].d2.d1[1].va: offset -1, type 8b50, size 3, index -1
+deepD[1].d2.d1[1].b: offset -1, type 8b56, size 1, index -1
+deepD[1].d2.d1[2].va: offset -1, type 8b50, size 3, index -1
+deepD[1].d2.d1[2].b: offset -1, type 8b56, size 1, index -1
+deepD[1].d2.d1[3].va: offset -1, type 8b50, size 3, index -1
+deepD[1].d2.d1[3].b: offset -1, type 8b56, size 1, index -1
+deepD[1].v3: offset -1, type 8b54, size 1, index -1
+abl.foo: offset 0, type 1406, size 1, index 7
+abl2.foo: offset 0, type 1406, size 1, index 11
+anonMember1: offset 0, type 8b51, size 1, index 0
+uf1: offset -1, type 1406, size 1, index -1
+uf2: offset -1, type 1406, size 1, index -1
+named.member3: offset 32, type 8b52, size 1, index 1
+
+Uniform block reflection:
+nameless: offset -1, type ffffffff, size 496, index -1
+named: offset -1, type ffffffff, size 304, index -1
+c_nameless: offset -1, type ffffffff, size 112, index -1
+nested: offset -1, type ffffffff, size 32, index -1
+abl[0]: offset -1, type ffffffff, size 4, index -1
+abl[1]: offset -1, type ffffffff, size 4, index -1
+abl[2]: offset -1, type ffffffff, size 4, index -1
+abl[3]: offset -1, type ffffffff, size 4, index -1
+abl2[0]: offset -1, type ffffffff, size 4, index -1
+abl2[1]: offset -1, type ffffffff, size 4, index -1
+abl2[2]: offset -1, type ffffffff, size 4, index -1
+abl2[3]: offset -1, type ffffffff, size 4, index -1
+
+Vertex attribute reflection:
+attributeFloat: offset 0, type 1406, size 0, index 0
+attributeFloat2: offset 0, type 8b50, size 0, index 0
+attributeFloat3: offset 0, type 8b51, size 0, index 0
+attributeFloat4: offset 0, type 8b52, size 0, index 0
+attributeMat4: offset 0, type 8b5c, size 0, index 0
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/sample.frag.out b/chromium/third_party/glslang/src/Test/baseResults/sample.frag.out
new file mode 100644
index 00000000000..7ad929554ca
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/sample.frag.out
@@ -0,0 +1,33 @@
+sample.frag
+Shader version: 110
+0:? Sequence
+0:38 Function Definition: main( (global void)
+0:38 Function Parameters:
+0:40 Sequence
+0:40 move second child to first child (temp 4-component vector of float)
+0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:40 Construct vec4 (temp 4-component vector of float)
+0:40 'color' (smooth in 3-component vector of float)
+0:40 Constant:
+0:40 1.000000
+0:? Linker Objects
+0:? 'color' (smooth in 3-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:38 Function Definition: main( (global void)
+0:38 Function Parameters:
+0:40 Sequence
+0:40 move second child to first child (temp 4-component vector of float)
+0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:40 Construct vec4 (temp 4-component vector of float)
+0:40 'color' (smooth in 3-component vector of float)
+0:40 Constant:
+0:40 1.000000
+0:? Linker Objects
+0:? 'color' (smooth in 3-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/sample.vert.out b/chromium/third_party/glslang/src/Test/baseResults/sample.vert.out
new file mode 100644
index 00000000000..e67db5748f3
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/sample.vert.out
@@ -0,0 +1,43 @@
+sample.vert
+Shader version: 110
+0:? Sequence
+0:38 Function Definition: main( (global void)
+0:38 Function Parameters:
+0:40 Sequence
+0:40 move second child to first child (temp 3-component vector of float)
+0:40 'color' (smooth out 3-component vector of float)
+0:40 Constant:
+0:40 1.000000
+0:40 1.000000
+0:40 1.000000
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 'gl_Position' (gl_Position 4-component vector of float Position)
+0:42 matrix-times-vector (temp 4-component vector of float)
+0:42 'gl_ModelViewProjectionMatrix' (uniform 4X4 matrix of float)
+0:42 'gl_Vertex' (in 4-component vector of float Vertex)
+0:? Linker Objects
+0:? 'color' (smooth out 3-component vector of float)
+
+
+Linked vertex stage:
+
+
+Shader version: 110
+0:? Sequence
+0:38 Function Definition: main( (global void)
+0:38 Function Parameters:
+0:40 Sequence
+0:40 move second child to first child (temp 3-component vector of float)
+0:40 'color' (smooth out 3-component vector of float)
+0:40 Constant:
+0:40 1.000000
+0:40 1.000000
+0:40 1.000000
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 'gl_Position' (gl_Position 4-component vector of float Position)
+0:42 matrix-times-vector (temp 4-component vector of float)
+0:42 'gl_ModelViewProjectionMatrix' (uniform 4X4 matrix of float)
+0:42 'gl_Vertex' (in 4-component vector of float Vertex)
+0:? Linker Objects
+0:? 'color' (smooth out 3-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/simpleFunctionCall.frag.out b/chromium/third_party/glslang/src/Test/baseResults/simpleFunctionCall.frag.out
new file mode 100644
index 00000000000..2cc42a3be16
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/simpleFunctionCall.frag.out
@@ -0,0 +1,43 @@
+simpleFunctionCall.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+Shader version: 150
+0:? Sequence
+0:7 Function Definition: foo( (global 4-component vector of float)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Branch: Return with expression
+0:9 'BaseColor' (smooth in 4-component vector of float)
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:14 Sequence
+0:14 move second child to first child (temp 4-component vector of float)
+0:14 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:14 Function Call: foo( (global 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
+
+Linked fragment stage:
+
+
+Shader version: 150
+0:? Sequence
+0:7 Function Definition: foo( (global 4-component vector of float)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Branch: Return with expression
+0:9 'BaseColor' (smooth in 4-component vector of float)
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:14 Sequence
+0:14 move second child to first child (temp 4-component vector of float)
+0:14 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:14 Function Call: foo( (global 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/specExamples.frag.out b/chromium/third_party/glslang/src/Test/baseResults/specExamples.frag.out
new file mode 100644
index 00000000000..464a2793f86
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/specExamples.frag.out
@@ -0,0 +1,617 @@
+specExamples.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:6: '=' : cannot convert from 'const uint' to 'global int'
+ERROR: 0:20: '' : numeric literal too big
+ERROR: 0:21: '' : hexidecimal literal too big
+ERROR: 0:37: 'view' : redefinition
+ERROR: 0:63: 'invariant' : can only apply to an output
+ERROR: 0:68: 'lightPosition' : redefinition
+ERROR: 0:75: 'Atten' : member storage qualifier cannot contradict block storage qualifier
+ERROR: 0:87: 'Color' : redefinition
+ERROR: 0:92: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
+ERROR: 0:93: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
+ERROR: 0:99: 'local_size_x' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:99: 'local_size_y' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:100: 'local_size_x' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:102: 'color' : redefinition
+ERROR: 0:112: 'redeclaration' : all redeclarations must use the same depth layout on gl_FragDepth
+ERROR: 0:118: 'redeclaration' : all redeclarations must use the same depth layout on gl_FragDepth
+ERROR: 0:121: 'redeclaration' : all redeclarations must use the same depth layout on gl_FragDepth
+ERROR: 0:172: 'x' : undeclared identifier
+ERROR: 0:172: '[]' : scalar integer expression required
+ERROR: 0:175: 'x' : undeclared identifier
+ERROR: 0:175: '[]' : scalar integer expression required
+ERROR: 0:175: 'b' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:175: 'a' : vector field selection out of range
+ERROR: 0:175: 'length' : does not operate on this type: const float
+ERROR: 0:175: '' : function call, method, or subroutine call expected
+ERROR: 0:175: '' : no matching overloaded function found
+ERROR: 0:178: '[]' : scalar integer expression required
+ERROR: 0:178: 's' : undeclared identifier
+ERROR: 0:178: 's' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:178: 'a' : vector field selection out of range
+ERROR: 0:178: 'length' : does not operate on this type: const float
+ERROR: 0:178: '' : function call, method, or subroutine call expected
+ERROR: 0:178: '' : no matching overloaded function found
+ERROR: 0:198: 'e' : redefinition
+ERROR: 0:226: 'in' : not allowed in nested scope
+ERROR: 0:227: 'in' : not allowed in nested scope
+ERROR: 0:228: 'in' : not allowed in nested scope
+ERROR: 0:232: 'out' : not allowed in nested scope
+ERROR: 38 compilation errors. No code generated.
+
+
+Shader version: 430
+Requested GL_3DL_array_objects
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+using early_fragment_tests
+using depth_greater
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'a' (global int)
+0:5 Constant:
+0:5 -1 (const int)
+0:7 Sequence
+0:7 move second child to first child (temp uint)
+0:7 'c' (global uint)
+0:7 Constant:
+0:7 4294967295 (const uint)
+0:8 Sequence
+0:8 move second child to first child (temp uint)
+0:8 'd' (global uint)
+0:8 Constant:
+0:8 4294967295 (const uint)
+0:9 Sequence
+0:9 move second child to first child (temp int)
+0:9 'e' (global int)
+0:9 Constant:
+0:9 -1 (const int)
+0:13 Sequence
+0:13 move second child to first child (temp uint)
+0:13 'f' (global uint)
+0:13 Constant:
+0:13 4294967295 (const uint)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'g' (global int)
+0:17 Constant:
+0:17 -1294967296 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp int)
+0:19 'h' (global int)
+0:19 Constant:
+0:19 -1610612736 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp int)
+0:20 'i' (global int)
+0:20 Constant:
+0:20 -1 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'j' (global int)
+0:21 Constant:
+0:21 -1 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp int)
+0:22 'k' (global int)
+0:22 Constant:
+0:22 -2147483648 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'l' (global int)
+0:23 Constant:
+0:23 -2147483648 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp float)
+0:25 'fb' (global float)
+0:25 Constant:
+0:25 1.500000
+0:26 Sequence
+0:26 move second child to first child (temp double)
+0:26 'fd' (global double)
+0:26 Constant:
+0:26 2.000000
+0:127 Function Definition: foo(f1[5]; (global 5-element array of float)
+0:127 Function Parameters:
+0:127 '' (in 5-element array of float)
+0:129 Sequence
+0:129 Branch: Return with expression
+0:129 Constant:
+0:129 3.400000
+0:129 4.200000
+0:129 5.000000
+0:129 5.200000
+0:129 1.100000
+0:137 Function Definition: main( (global void)
+0:137 Function Parameters:
+0:140 Sequence
+0:140 Sequence
+0:140 Sequence
+0:140 move second child to first child (temp 5-element array of float)
+0:140 'a' (temp 5-element array of float)
+0:140 Constant:
+0:140 3.400000
+0:140 4.200000
+0:140 5.000000
+0:140 5.200000
+0:140 1.100000
+0:143 Sequence
+0:143 Sequence
+0:143 move second child to first child (temp 5-element array of float)
+0:143 'a' (temp 5-element array of float)
+0:143 Constant:
+0:143 3.400000
+0:143 4.200000
+0:143 5.000000
+0:143 5.200000
+0:143 1.100000
+0:? Sequence
+0:149 Sequence
+0:149 move second child to first child (temp 2-element array of 4-component vector of float)
+0:149 'b' (temp 2-element array of 4-component vector of float)
+0:149 Constant:
+0:149 0.000000
+0:149 0.000000
+0:149 0.000000
+0:149 0.000000
+0:149 0.100000
+0:149 0.100000
+0:149 0.100000
+0:149 0.100000
+0:150 Sequence
+0:150 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:150 'a3' (temp 3-element array of 2-element array of 4-component vector of float)
+0:150 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:150 'b' (temp 2-element array of 4-component vector of float)
+0:150 'b' (temp 2-element array of 4-component vector of float)
+0:150 'b' (temp 2-element array of 4-component vector of float)
+0:152 Sequence
+0:152 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:152 'a4' (temp 3-element array of 2-element array of 4-component vector of float)
+0:152 Constant:
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:? Sequence
+0:159 Sequence
+0:159 Sequence
+0:159 move second child to first child (temp 5-element array of float)
+0:159 'b' (temp 5-element array of float)
+0:159 'a' (temp 5-element array of float)
+0:162 Sequence
+0:162 Sequence
+0:162 move second child to first child (temp 5-element array of float)
+0:162 'b' (temp 5-element array of float)
+0:162 'a' (temp 5-element array of float)
+0:165 Sequence
+0:165 Sequence
+0:165 move second child to first child (temp 5-element array of float)
+0:165 'b' (temp 5-element array of float)
+0:165 Constant:
+0:165 1.000000
+0:165 2.000000
+0:165 3.000000
+0:165 4.000000
+0:165 5.000000
+0:167 Constant:
+0:167 5 (const int)
+0:? Sequence
+0:171 Constant:
+0:171 3 (const int)
+0:172 Constant:
+0:172 2 (const int)
+0:175 Constant:
+0:175 0.000000
+0:178 Constant:
+0:178 0.000000
+0:193 Sequence
+0:193 move second child to first child (temp structure{temp float a, temp int b})
+0:193 'e' (temp structure{temp float a, temp int b})
+0:193 Constant:
+0:193 1.200000
+0:193 2 (const int)
+0:216 Sequence
+0:216 Sequence
+0:216 move second child to first child (temp 5-element array of float)
+0:216 'a' (temp 5-element array of float)
+0:216 Constant:
+0:216 3.400000
+0:216 4.200000
+0:216 5.000000
+0:216 5.200000
+0:216 1.100000
+0:217 Sequence
+0:217 move second child to first child (temp 5-element array of float)
+0:217 'b' (temp 5-element array of float)
+0:217 Constant:
+0:217 3.400000
+0:217 4.200000
+0:217 5.000000
+0:217 5.200000
+0:217 1.100000
+0:218 Sequence
+0:218 move second child to first child (temp 5-element array of float)
+0:218 'c' (temp 5-element array of float)
+0:218 'a' (temp 5-element array of float)
+0:219 Sequence
+0:219 move second child to first child (temp 5-element array of float)
+0:219 'd' (temp 5-element array of float)
+0:219 'b' (temp 5-element array of float)
+0:? Sequence
+0:223 Sequence
+0:223 move second child to first child (temp float)
+0:223 'ceiling' (const (read only) float)
+0:223 Convert int to float (temp float)
+0:223 add (temp int)
+0:223 'a' (global int)
+0:223 'b' (global int)
+0:? Linker Objects
+0:? 'a' (global int)
+0:? 'b' (global int)
+0:? 'c' (global uint)
+0:? 'd' (global uint)
+0:? 'e' (global int)
+0:? 'f' (global uint)
+0:? 'g' (global int)
+0:? 'h' (global int)
+0:? 'i' (global int)
+0:? 'j' (global int)
+0:? 'k' (global int)
+0:? 'l' (global int)
+0:? 'fa' (global float)
+0:? 'fb' (global float)
+0:? 'fc' (global double)
+0:? 'fd' (global double)
+0:? 'texcoord1' (global 2-component vector of float)
+0:? 'texcoord2' (global 2-component vector of float)
+0:? 'position' (global 3-component vector of float)
+0:? 'myRGBA' (global 4-component vector of float)
+0:? 'textureLookup' (global 2-component vector of int)
+0:? 'less' (global 3-component vector of bool)
+0:? 'mat2D' (global 2X2 matrix of float)
+0:? 'optMatrix' (global 3X3 matrix of float)
+0:? 'view' (global 4X4 matrix of float)
+0:? 'projection' (global 4X4 matrix of float)
+0:? 'm' (global 3X2 matrix of float)
+0:? 'highPrecisionMVP' (global 4X4 matrix of double)
+0:? 'dm' (global 2X4 matrix of double)
+0:? 'lightVar' (global structure{global float intensity, global 3-component vector of float position})
+0:? 'frequencies' (global 3-element array of float)
+0:? 'lightPosition' (uniform 4-element array of 4-component vector of float)
+0:? 'lights' (global 2-element array of structure{global float intensity, global 3-component vector of float position})
+0:? 'numLights' (const int)
+0:? 2 (const int)
+0:? 'normal' (smooth in 3-component vector of float)
+0:? 'TexCoord' (centroid smooth in 2-component vector of float)
+0:? 'Color' (invariant centroid smooth in 4-component vector of float)
+0:? 'temperature' (noperspective in float)
+0:? 'myColor' (flat in 3-component vector of float)
+0:? 'myTexCoord' (centroid noperspective in 2-component vector of float)
+0:? 'color' (uniform 3-component vector of float)
+0:? 0.700000
+0:? 0.700000
+0:? 0.200000
+0:? 'anon@0' (in block{smooth in 4-component vector of float Color1, smooth in 4-component vector of float Color2, in 2-component vector of float TexCoordA, in float Atten})
+0:? 'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor})
+0:? 'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord})
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'factor' (layout(location=3 index=1 ) out 4-component vector of float)
+0:? 'colors' (layout(location=2 ) out 3-element array of 4-component vector of float)
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+
+
+Linked fragment stage:
+
+
+Shader version: 430
+Requested GL_3DL_array_objects
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+using early_fragment_tests
+using depth_greater
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'a' (global int)
+0:5 Constant:
+0:5 -1 (const int)
+0:7 Sequence
+0:7 move second child to first child (temp uint)
+0:7 'c' (global uint)
+0:7 Constant:
+0:7 4294967295 (const uint)
+0:8 Sequence
+0:8 move second child to first child (temp uint)
+0:8 'd' (global uint)
+0:8 Constant:
+0:8 4294967295 (const uint)
+0:9 Sequence
+0:9 move second child to first child (temp int)
+0:9 'e' (global int)
+0:9 Constant:
+0:9 -1 (const int)
+0:13 Sequence
+0:13 move second child to first child (temp uint)
+0:13 'f' (global uint)
+0:13 Constant:
+0:13 4294967295 (const uint)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'g' (global int)
+0:17 Constant:
+0:17 -1294967296 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp int)
+0:19 'h' (global int)
+0:19 Constant:
+0:19 -1610612736 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp int)
+0:20 'i' (global int)
+0:20 Constant:
+0:20 -1 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'j' (global int)
+0:21 Constant:
+0:21 -1 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp int)
+0:22 'k' (global int)
+0:22 Constant:
+0:22 -2147483648 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'l' (global int)
+0:23 Constant:
+0:23 -2147483648 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp float)
+0:25 'fb' (global float)
+0:25 Constant:
+0:25 1.500000
+0:26 Sequence
+0:26 move second child to first child (temp double)
+0:26 'fd' (global double)
+0:26 Constant:
+0:26 2.000000
+0:127 Function Definition: foo(f1[5]; (global 5-element array of float)
+0:127 Function Parameters:
+0:127 '' (in 5-element array of float)
+0:129 Sequence
+0:129 Branch: Return with expression
+0:129 Constant:
+0:129 3.400000
+0:129 4.200000
+0:129 5.000000
+0:129 5.200000
+0:129 1.100000
+0:137 Function Definition: main( (global void)
+0:137 Function Parameters:
+0:140 Sequence
+0:140 Sequence
+0:140 Sequence
+0:140 move second child to first child (temp 5-element array of float)
+0:140 'a' (temp 5-element array of float)
+0:140 Constant:
+0:140 3.400000
+0:140 4.200000
+0:140 5.000000
+0:140 5.200000
+0:140 1.100000
+0:143 Sequence
+0:143 Sequence
+0:143 move second child to first child (temp 5-element array of float)
+0:143 'a' (temp 5-element array of float)
+0:143 Constant:
+0:143 3.400000
+0:143 4.200000
+0:143 5.000000
+0:143 5.200000
+0:143 1.100000
+0:? Sequence
+0:149 Sequence
+0:149 move second child to first child (temp 2-element array of 4-component vector of float)
+0:149 'b' (temp 2-element array of 4-component vector of float)
+0:149 Constant:
+0:149 0.000000
+0:149 0.000000
+0:149 0.000000
+0:149 0.000000
+0:149 0.100000
+0:149 0.100000
+0:149 0.100000
+0:149 0.100000
+0:150 Sequence
+0:150 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:150 'a3' (temp 3-element array of 2-element array of 4-component vector of float)
+0:150 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:150 'b' (temp 2-element array of 4-component vector of float)
+0:150 'b' (temp 2-element array of 4-component vector of float)
+0:150 'b' (temp 2-element array of 4-component vector of float)
+0:152 Sequence
+0:152 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:152 'a4' (temp 3-element array of 2-element array of 4-component vector of float)
+0:152 Constant:
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:? Sequence
+0:159 Sequence
+0:159 Sequence
+0:159 move second child to first child (temp 5-element array of float)
+0:159 'b' (temp 5-element array of float)
+0:159 'a' (temp 5-element array of float)
+0:162 Sequence
+0:162 Sequence
+0:162 move second child to first child (temp 5-element array of float)
+0:162 'b' (temp 5-element array of float)
+0:162 'a' (temp 5-element array of float)
+0:165 Sequence
+0:165 Sequence
+0:165 move second child to first child (temp 5-element array of float)
+0:165 'b' (temp 5-element array of float)
+0:165 Constant:
+0:165 1.000000
+0:165 2.000000
+0:165 3.000000
+0:165 4.000000
+0:165 5.000000
+0:167 Constant:
+0:167 5 (const int)
+0:? Sequence
+0:171 Constant:
+0:171 3 (const int)
+0:172 Constant:
+0:172 2 (const int)
+0:175 Constant:
+0:175 0.000000
+0:178 Constant:
+0:178 0.000000
+0:193 Sequence
+0:193 move second child to first child (temp structure{temp float a, temp int b})
+0:193 'e' (temp structure{temp float a, temp int b})
+0:193 Constant:
+0:193 1.200000
+0:193 2 (const int)
+0:216 Sequence
+0:216 Sequence
+0:216 move second child to first child (temp 5-element array of float)
+0:216 'a' (temp 5-element array of float)
+0:216 Constant:
+0:216 3.400000
+0:216 4.200000
+0:216 5.000000
+0:216 5.200000
+0:216 1.100000
+0:217 Sequence
+0:217 move second child to first child (temp 5-element array of float)
+0:217 'b' (temp 5-element array of float)
+0:217 Constant:
+0:217 3.400000
+0:217 4.200000
+0:217 5.000000
+0:217 5.200000
+0:217 1.100000
+0:218 Sequence
+0:218 move second child to first child (temp 5-element array of float)
+0:218 'c' (temp 5-element array of float)
+0:218 'a' (temp 5-element array of float)
+0:219 Sequence
+0:219 move second child to first child (temp 5-element array of float)
+0:219 'd' (temp 5-element array of float)
+0:219 'b' (temp 5-element array of float)
+0:? Sequence
+0:223 Sequence
+0:223 move second child to first child (temp float)
+0:223 'ceiling' (const (read only) float)
+0:223 Convert int to float (temp float)
+0:223 add (temp int)
+0:223 'a' (global int)
+0:223 'b' (global int)
+0:? Linker Objects
+0:? 'a' (global int)
+0:? 'b' (global int)
+0:? 'c' (global uint)
+0:? 'd' (global uint)
+0:? 'e' (global int)
+0:? 'f' (global uint)
+0:? 'g' (global int)
+0:? 'h' (global int)
+0:? 'i' (global int)
+0:? 'j' (global int)
+0:? 'k' (global int)
+0:? 'l' (global int)
+0:? 'fa' (global float)
+0:? 'fb' (global float)
+0:? 'fc' (global double)
+0:? 'fd' (global double)
+0:? 'texcoord1' (global 2-component vector of float)
+0:? 'texcoord2' (global 2-component vector of float)
+0:? 'position' (global 3-component vector of float)
+0:? 'myRGBA' (global 4-component vector of float)
+0:? 'textureLookup' (global 2-component vector of int)
+0:? 'less' (global 3-component vector of bool)
+0:? 'mat2D' (global 2X2 matrix of float)
+0:? 'optMatrix' (global 3X3 matrix of float)
+0:? 'view' (global 4X4 matrix of float)
+0:? 'projection' (global 4X4 matrix of float)
+0:? 'm' (global 3X2 matrix of float)
+0:? 'highPrecisionMVP' (global 4X4 matrix of double)
+0:? 'dm' (global 2X4 matrix of double)
+0:? 'lightVar' (global structure{global float intensity, global 3-component vector of float position})
+0:? 'frequencies' (global 3-element array of float)
+0:? 'lightPosition' (uniform 4-element array of 4-component vector of float)
+0:? 'lights' (global 2-element array of structure{global float intensity, global 3-component vector of float position})
+0:? 'numLights' (const int)
+0:? 2 (const int)
+0:? 'normal' (smooth in 3-component vector of float)
+0:? 'TexCoord' (centroid smooth in 2-component vector of float)
+0:? 'Color' (invariant centroid smooth in 4-component vector of float)
+0:? 'temperature' (noperspective in float)
+0:? 'myColor' (flat in 3-component vector of float)
+0:? 'myTexCoord' (centroid noperspective in 2-component vector of float)
+0:? 'color' (uniform 3-component vector of float)
+0:? 0.700000
+0:? 0.700000
+0:? 0.200000
+0:? 'anon@0' (in block{smooth in 4-component vector of float Color1, smooth in 4-component vector of float Color2, in 2-component vector of float TexCoordA, in float Atten})
+0:? 'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor})
+0:? 'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord})
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'factor' (layout(location=3 index=1 ) out 4-component vector of float)
+0:? 'colors' (layout(location=2 ) out 3-element array of 4-component vector of float)
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/specExamples.vert.out b/chromium/third_party/glslang/src/Test/baseResults/specExamples.vert.out
new file mode 100644
index 00000000000..7a880331bf2
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/specExamples.vert.out
@@ -0,0 +1,602 @@
+specExamples.vert
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:29: 'location' : can only apply to uniform, buffer, in, or out storage qualifiers
+ERROR: 0:31: 'triangles' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:31: 'invocations' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:33: 'lines' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:35: 'triangle_strip' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:35: 'max_vertices' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:36: 'max_vertices' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:37: 'triangle_strip' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:41: 'stream' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:43: 'stream' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:45: 'stream' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:46: 'stream' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:47: 'stream' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:50: 'stream' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:55: 'stream' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:80: 's17' : redefinition
+ERROR: 0:85: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:87: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:89: 'binding' : atomic_uint binding is too large
+ERROR: 0:91: 'bar' : redefinition
+ERROR: 0:92: 'atomic_uint' : layout(binding=X) is required
+ERROR: 0:94: 'a2' : redefinition
+ERROR: 0:95: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:96: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:97: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:106: '' : vertex input cannot be further qualified
+ERROR: 0:106: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_FrontColor
+ERROR: 0:112: 'ColorIvn' : identifier not previously declared
+ERROR: 0:132: 'shared' : not supported in this stage: vertex
+ERROR: 0:134: '' : function does not return a value: funcA
+ERROR: 0:136: '' : function does not return a value: funcB
+ERROR: 0:153: '' : function does not return a value: func3
+ERROR: 0:170: 'coherent' : argument cannot drop memory qualifier when passed to formal parameter
+ERROR: 33 compilation errors. No code generated.
+
+
+Shader version: 430
+Requested GL_3DL_array_objects
+ERROR: node is still EOpNull!
+0:134 Function Definition: funcA(I21; (global 4-component vector of float)
+0:134 Function Parameters:
+0:134 'a' (restrict in image2D)
+0:136 Function Definition: funcB(I21; (global 4-component vector of float)
+0:136 Function Parameters:
+0:136 'a' (in image2D)
+0:140 Function Definition: func(f1;f1;f1;f1; (global float)
+0:140 Function Parameters:
+0:140 'e' (in float)
+0:140 'f' (in float)
+0:140 'g' (in float)
+0:140 'h' (in float)
+0:142 Sequence
+0:142 Branch: Return with expression
+0:142 add (temp float)
+0:142 component-wise multiply (temp float)
+0:142 'e' (in float)
+0:142 'f' (in float)
+0:142 component-wise multiply (temp float)
+0:142 'g' (in float)
+0:142 'h' (in float)
+0:146 Function Definition: func2(f1;f1;f1;f1; (global float)
+0:146 Function Parameters:
+0:146 'e' (in float)
+0:146 'f' (in float)
+0:146 'g' (in float)
+0:146 'h' (in float)
+0:148 Sequence
+0:148 Sequence
+0:148 move second child to first child (temp float)
+0:148 'result' (noContraction temp float)
+0:148 add (temp float)
+0:148 component-wise multiply (temp float)
+0:148 'e' (in float)
+0:148 'f' (in float)
+0:148 component-wise multiply (temp float)
+0:148 'g' (in float)
+0:148 'h' (in float)
+0:150 Branch: Return with expression
+0:150 'result' (noContraction temp float)
+0:153 Function Definition: func3(f1;f1;f1; (global float)
+0:153 Function Parameters:
+0:153 'i' (in float)
+0:153 'j' (in float)
+0:153 'k' (noContraction out float)
+0:155 Sequence
+0:155 move second child to first child (temp float)
+0:155 'k' (noContraction out float)
+0:155 add (temp float)
+0:155 component-wise multiply (temp float)
+0:155 'i' (in float)
+0:155 'i' (in float)
+0:155 'j' (in float)
+0:158 Function Definition: main( (global void)
+0:158 Function Parameters:
+0:160 Sequence
+0:160 Sequence
+0:160 move second child to first child (temp 3-component vector of float)
+0:160 'r' (temp 3-component vector of float)
+0:160 Construct vec3 (temp 3-component vector of float)
+0:160 component-wise multiply (temp 4-component vector of float)
+0:160 'a' (in 4-component vector of float)
+0:160 'b' (in 4-component vector of float)
+0:161 Sequence
+0:161 move second child to first child (temp 3-component vector of float)
+0:161 's' (temp 3-component vector of float)
+0:161 Construct vec3 (temp 3-component vector of float)
+0:161 component-wise multiply (temp 4-component vector of float)
+0:161 'c' (in 4-component vector of float)
+0:161 'd' (in 4-component vector of float)
+0:162 move second child to first child (temp 3-component vector of float)
+0:162 vector swizzle (noContraction temp 3-component vector of float)
+0:162 'v' (noContraction smooth out 4-component vector of float)
+0:162 Sequence
+0:162 Constant:
+0:162 0 (const int)
+0:162 Constant:
+0:162 1 (const int)
+0:162 Constant:
+0:162 2 (const int)
+0:162 add (temp 3-component vector of float)
+0:162 'r' (temp 3-component vector of float)
+0:162 's' (temp 3-component vector of float)
+0:163 move second child to first child (temp float)
+0:163 direct index (noContraction temp float)
+0:163 'v' (noContraction smooth out 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 add (temp float)
+0:163 component-wise multiply (temp float)
+0:163 direct index (temp float)
+0:163 'a' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 direct index (temp float)
+0:163 'b' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 component-wise multiply (temp float)
+0:163 direct index (temp float)
+0:163 'c' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 direct index (temp float)
+0:163 'd' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:164 move second child to first child (temp float)
+0:164 direct index (noContraction temp float)
+0:164 'v' (noContraction smooth out 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 Function Call: func(f1;f1;f1;f1; (global float)
+0:164 direct index (temp float)
+0:164 'a' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 direct index (temp float)
+0:164 'b' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 direct index (temp float)
+0:164 'c' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 direct index (temp float)
+0:164 'd' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:166 move second child to first child (temp float)
+0:166 direct index (noContraction temp float)
+0:166 'v' (noContraction smooth out 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 Function Call: func2(f1;f1;f1;f1; (global float)
+0:166 direct index (temp float)
+0:166 'a' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 direct index (temp float)
+0:166 'b' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 direct index (temp float)
+0:166 'c' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 direct index (temp float)
+0:166 'd' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:167 Function Call: func3(f1;f1;f1; (global float)
+0:167 component-wise multiply (temp float)
+0:167 direct index (temp float)
+0:167 'a' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 direct index (temp float)
+0:167 'b' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 component-wise multiply (temp float)
+0:167 direct index (temp float)
+0:167 'c' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 direct index (temp float)
+0:167 'd' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 direct index (noContraction temp float)
+0:167 'v' (noContraction smooth out 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:169 Function Call: funcA(I21; (global 4-component vector of float)
+0:169 'img1' (layout(rgba32f ) uniform image2D)
+0:170 Function Call: funcB(I21; (global 4-component vector of float)
+0:170 'img2' (layout(rgba32f ) coherent uniform image2D)
+0:? Sequence
+0:178 Sequence
+0:178 move second child to first child (temp structure{temp float intensity, temp 3-component vector of float position})
+0:178 'lightVar' (temp structure{temp float intensity, temp 3-component vector of float position})
+0:178 Constant:
+0:178 3.000000
+0:178 1.000000
+0:178 2.000000
+0:178 3.000000
+0:? Sequence
+0:185 Sequence
+0:185 move second child to first child (temp 5-element array of float)
+0:185 'a' (temp 5-element array of float)
+0:185 Construct float (temp 5-element array of float)
+0:185 'g' (temp float)
+0:185 Constant:
+0:185 1.000000
+0:185 'g' (temp float)
+0:185 Constant:
+0:185 2.300000
+0:185 'g' (temp float)
+0:188 move second child to first child (temp 3-element array of float)
+0:188 'b' (temp 3-element array of float)
+0:188 Construct float (temp 3-element array of float)
+0:188 'g' (temp float)
+0:188 add (temp float)
+0:188 'g' (temp float)
+0:188 Constant:
+0:188 1.000000
+0:188 add (temp float)
+0:188 'g' (temp float)
+0:188 Constant:
+0:188 2.000000
+0:191 Sequence
+0:191 Sequence
+0:191 move second child to first child (temp 2-element array of 4-component vector of float)
+0:191 'b' (temp 2-element array of 4-component vector of float)
+0:191 Constant:
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:192 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:192 'b' (temp 2-element array of 4-component vector of float)
+0:192 'b' (temp 2-element array of 4-component vector of float)
+0:192 'b' (temp 2-element array of 4-component vector of float)
+0:193 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:193 'b' (temp 2-element array of 4-component vector of float)
+0:193 'b' (temp 2-element array of 4-component vector of float)
+0:193 'b' (temp 2-element array of 4-component vector of float)
+0:194 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:194 'b' (temp 2-element array of 4-component vector of float)
+0:194 'b' (temp 2-element array of 4-component vector of float)
+0:194 'b' (temp 2-element array of 4-component vector of float)
+0:? Linker Objects
+0:? 'Coords' (out block{out 4-component vector of float Position, out 2-component vector of float Texture})
+0:? 'anon@0' (out block{out 4-component vector of float Color})
+0:? 'transforms' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform 4X4 matrix of float ModelViewMatrix, layout(column_major shared ) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout(column_major shared ) uniform implicitly-sized array of 4-component vector of float a, layout(column_major shared ) uniform float Deformation})
+0:? 'normal' (layout(location=3 ) in 4-component vector of float)
+0:? 'colors' (layout(location=6 ) in 3-element array of 4-component vector of float)
+0:? 'transforms2' (layout(location=9 ) in 2-element array of 4X4 matrix of float)
+0:? 's' (layout(location=3 ) temp structure{global 3-component vector of float a1, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c})
+0:? 'var1' (smooth out 4-component vector of float)
+0:? 'anon@1' (out block{out 4-component vector of float var2, out 2-component vector of float var3, out 3-component vector of float var4})
+0:? 'var5' (smooth out 4-component vector of float)
+0:? 'anon@2' (out block{out 4-component vector of float var6})
+0:? 'var7' (smooth out 4-component vector of float)
+0:? 'anon@3' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform 3X3 matrix of float N1})
+0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform 4X4 matrix of float M13, layout(row_major shared ) uniform 4X4 matrix of float m14, layout(column_major shared ) uniform 3X3 matrix of float N12})
+0:? 's17' (layout(binding=3 ) uniform sampler2D)
+0:? 'a2' (layout(binding=2 offset=4 ) uniform atomic_uint)
+0:? 'bar' (layout(binding=2 ) uniform atomic_uint)
+0:? 'bar23' (layout(offset=8 ) uniform atomic_uint)
+0:? 'b2' (layout(binding=2 ) uniform atomic_uint)
+0:? 'c2' (layout(binding=3 ) uniform atomic_uint)
+0:? 'd2' (layout(binding=2 ) uniform atomic_uint)
+0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'ColorInv' (smooth out 3-component vector of float)
+0:? 'Color4' (invariant centroid smooth out 3-component vector of float)
+0:? 'position' (noContraction smooth out 4-component vector of float)
+0:? 'Color5' (smooth out 3-component vector of float)
+0:? 'a' (in 4-component vector of float)
+0:? 'b' (in 4-component vector of float)
+0:? 'c' (in 4-component vector of float)
+0:? 'd' (in 4-component vector of float)
+0:? 'v' (noContraction smooth out 4-component vector of float)
+0:? 'anon@6' (layout(column_major shared ) coherent buffer block{layout(column_major shared ) readonly buffer 4-component vector of float member1, layout(column_major shared ) buffer 4-component vector of float member2})
+0:? 'anon@7' (layout(column_major shared ) buffer block{layout(column_major shared ) coherent readonly buffer 4-component vector of float member1A, layout(column_major shared ) coherent buffer 4-component vector of float member2A})
+0:? 'shv' (shared 4-component vector of float)
+0:? 'img1' (layout(rgba32f ) uniform image2D)
+0:? 'img2' (layout(rgba32f ) coherent uniform image2D)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 430
+Requested GL_3DL_array_objects
+ERROR: node is still EOpNull!
+0:134 Function Definition: funcA(I21; (global 4-component vector of float)
+0:134 Function Parameters:
+0:134 'a' (restrict in image2D)
+0:136 Function Definition: funcB(I21; (global 4-component vector of float)
+0:136 Function Parameters:
+0:136 'a' (in image2D)
+0:140 Function Definition: func(f1;f1;f1;f1; (global float)
+0:140 Function Parameters:
+0:140 'e' (in float)
+0:140 'f' (in float)
+0:140 'g' (in float)
+0:140 'h' (in float)
+0:142 Sequence
+0:142 Branch: Return with expression
+0:142 add (temp float)
+0:142 component-wise multiply (temp float)
+0:142 'e' (in float)
+0:142 'f' (in float)
+0:142 component-wise multiply (temp float)
+0:142 'g' (in float)
+0:142 'h' (in float)
+0:146 Function Definition: func2(f1;f1;f1;f1; (global float)
+0:146 Function Parameters:
+0:146 'e' (in float)
+0:146 'f' (in float)
+0:146 'g' (in float)
+0:146 'h' (in float)
+0:148 Sequence
+0:148 Sequence
+0:148 move second child to first child (temp float)
+0:148 'result' (noContraction temp float)
+0:148 add (temp float)
+0:148 component-wise multiply (temp float)
+0:148 'e' (in float)
+0:148 'f' (in float)
+0:148 component-wise multiply (temp float)
+0:148 'g' (in float)
+0:148 'h' (in float)
+0:150 Branch: Return with expression
+0:150 'result' (noContraction temp float)
+0:153 Function Definition: func3(f1;f1;f1; (global float)
+0:153 Function Parameters:
+0:153 'i' (in float)
+0:153 'j' (in float)
+0:153 'k' (noContraction out float)
+0:155 Sequence
+0:155 move second child to first child (temp float)
+0:155 'k' (noContraction out float)
+0:155 add (temp float)
+0:155 component-wise multiply (temp float)
+0:155 'i' (in float)
+0:155 'i' (in float)
+0:155 'j' (in float)
+0:158 Function Definition: main( (global void)
+0:158 Function Parameters:
+0:160 Sequence
+0:160 Sequence
+0:160 move second child to first child (temp 3-component vector of float)
+0:160 'r' (temp 3-component vector of float)
+0:160 Construct vec3 (temp 3-component vector of float)
+0:160 component-wise multiply (temp 4-component vector of float)
+0:160 'a' (in 4-component vector of float)
+0:160 'b' (in 4-component vector of float)
+0:161 Sequence
+0:161 move second child to first child (temp 3-component vector of float)
+0:161 's' (temp 3-component vector of float)
+0:161 Construct vec3 (temp 3-component vector of float)
+0:161 component-wise multiply (temp 4-component vector of float)
+0:161 'c' (in 4-component vector of float)
+0:161 'd' (in 4-component vector of float)
+0:162 move second child to first child (temp 3-component vector of float)
+0:162 vector swizzle (noContraction temp 3-component vector of float)
+0:162 'v' (noContraction smooth out 4-component vector of float)
+0:162 Sequence
+0:162 Constant:
+0:162 0 (const int)
+0:162 Constant:
+0:162 1 (const int)
+0:162 Constant:
+0:162 2 (const int)
+0:162 add (temp 3-component vector of float)
+0:162 'r' (temp 3-component vector of float)
+0:162 's' (temp 3-component vector of float)
+0:163 move second child to first child (temp float)
+0:163 direct index (noContraction temp float)
+0:163 'v' (noContraction smooth out 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 add (temp float)
+0:163 component-wise multiply (temp float)
+0:163 direct index (temp float)
+0:163 'a' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 direct index (temp float)
+0:163 'b' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 component-wise multiply (temp float)
+0:163 direct index (temp float)
+0:163 'c' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 direct index (temp float)
+0:163 'd' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:164 move second child to first child (temp float)
+0:164 direct index (noContraction temp float)
+0:164 'v' (noContraction smooth out 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 Function Call: func(f1;f1;f1;f1; (global float)
+0:164 direct index (temp float)
+0:164 'a' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 direct index (temp float)
+0:164 'b' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 direct index (temp float)
+0:164 'c' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 direct index (temp float)
+0:164 'd' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:166 move second child to first child (temp float)
+0:166 direct index (noContraction temp float)
+0:166 'v' (noContraction smooth out 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 Function Call: func2(f1;f1;f1;f1; (global float)
+0:166 direct index (temp float)
+0:166 'a' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 direct index (temp float)
+0:166 'b' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 direct index (temp float)
+0:166 'c' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 direct index (temp float)
+0:166 'd' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:167 Function Call: func3(f1;f1;f1; (global float)
+0:167 component-wise multiply (temp float)
+0:167 direct index (temp float)
+0:167 'a' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 direct index (temp float)
+0:167 'b' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 component-wise multiply (temp float)
+0:167 direct index (temp float)
+0:167 'c' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 direct index (temp float)
+0:167 'd' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 direct index (noContraction temp float)
+0:167 'v' (noContraction smooth out 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:169 Function Call: funcA(I21; (global 4-component vector of float)
+0:169 'img1' (layout(rgba32f ) uniform image2D)
+0:170 Function Call: funcB(I21; (global 4-component vector of float)
+0:170 'img2' (layout(rgba32f ) coherent uniform image2D)
+0:? Sequence
+0:178 Sequence
+0:178 move second child to first child (temp structure{temp float intensity, temp 3-component vector of float position})
+0:178 'lightVar' (temp structure{temp float intensity, temp 3-component vector of float position})
+0:178 Constant:
+0:178 3.000000
+0:178 1.000000
+0:178 2.000000
+0:178 3.000000
+0:? Sequence
+0:185 Sequence
+0:185 move second child to first child (temp 5-element array of float)
+0:185 'a' (temp 5-element array of float)
+0:185 Construct float (temp 5-element array of float)
+0:185 'g' (temp float)
+0:185 Constant:
+0:185 1.000000
+0:185 'g' (temp float)
+0:185 Constant:
+0:185 2.300000
+0:185 'g' (temp float)
+0:188 move second child to first child (temp 3-element array of float)
+0:188 'b' (temp 3-element array of float)
+0:188 Construct float (temp 3-element array of float)
+0:188 'g' (temp float)
+0:188 add (temp float)
+0:188 'g' (temp float)
+0:188 Constant:
+0:188 1.000000
+0:188 add (temp float)
+0:188 'g' (temp float)
+0:188 Constant:
+0:188 2.000000
+0:191 Sequence
+0:191 Sequence
+0:191 move second child to first child (temp 2-element array of 4-component vector of float)
+0:191 'b' (temp 2-element array of 4-component vector of float)
+0:191 Constant:
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:192 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:192 'b' (temp 2-element array of 4-component vector of float)
+0:192 'b' (temp 2-element array of 4-component vector of float)
+0:192 'b' (temp 2-element array of 4-component vector of float)
+0:193 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:193 'b' (temp 2-element array of 4-component vector of float)
+0:193 'b' (temp 2-element array of 4-component vector of float)
+0:193 'b' (temp 2-element array of 4-component vector of float)
+0:194 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:194 'b' (temp 2-element array of 4-component vector of float)
+0:194 'b' (temp 2-element array of 4-component vector of float)
+0:194 'b' (temp 2-element array of 4-component vector of float)
+0:? Linker Objects
+0:? 'Coords' (out block{out 4-component vector of float Position, out 2-component vector of float Texture})
+0:? 'anon@0' (out block{out 4-component vector of float Color})
+0:? 'transforms' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform 4X4 matrix of float ModelViewMatrix, layout(column_major shared ) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout(column_major shared ) uniform 1-element array of 4-component vector of float a, layout(column_major shared ) uniform float Deformation})
+0:? 'normal' (layout(location=3 ) in 4-component vector of float)
+0:? 'colors' (layout(location=6 ) in 3-element array of 4-component vector of float)
+0:? 'transforms2' (layout(location=9 ) in 2-element array of 4X4 matrix of float)
+0:? 's' (layout(location=3 ) temp structure{global 3-component vector of float a1, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c})
+0:? 'var1' (smooth out 4-component vector of float)
+0:? 'anon@1' (out block{out 4-component vector of float var2, out 2-component vector of float var3, out 3-component vector of float var4})
+0:? 'var5' (smooth out 4-component vector of float)
+0:? 'anon@2' (out block{out 4-component vector of float var6})
+0:? 'var7' (smooth out 4-component vector of float)
+0:? 'anon@3' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform 3X3 matrix of float N1})
+0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform 4X4 matrix of float M13, layout(row_major shared ) uniform 4X4 matrix of float m14, layout(column_major shared ) uniform 3X3 matrix of float N12})
+0:? 's17' (layout(binding=3 ) uniform sampler2D)
+0:? 'a2' (layout(binding=2 offset=4 ) uniform atomic_uint)
+0:? 'bar' (layout(binding=2 ) uniform atomic_uint)
+0:? 'bar23' (layout(offset=8 ) uniform atomic_uint)
+0:? 'b2' (layout(binding=2 ) uniform atomic_uint)
+0:? 'c2' (layout(binding=3 ) uniform atomic_uint)
+0:? 'd2' (layout(binding=2 ) uniform atomic_uint)
+0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'ColorInv' (smooth out 3-component vector of float)
+0:? 'Color4' (invariant centroid smooth out 3-component vector of float)
+0:? 'position' (noContraction smooth out 4-component vector of float)
+0:? 'Color5' (smooth out 3-component vector of float)
+0:? 'a' (in 4-component vector of float)
+0:? 'b' (in 4-component vector of float)
+0:? 'c' (in 4-component vector of float)
+0:? 'd' (in 4-component vector of float)
+0:? 'v' (noContraction smooth out 4-component vector of float)
+0:? 'anon@6' (layout(column_major shared ) coherent buffer block{layout(column_major shared ) readonly buffer 4-component vector of float member1, layout(column_major shared ) buffer 4-component vector of float member2})
+0:? 'anon@7' (layout(column_major shared ) buffer block{layout(column_major shared ) coherent readonly buffer 4-component vector of float member1A, layout(column_major shared ) coherent buffer 4-component vector of float member2A})
+0:? 'shv' (shared 4-component vector of float)
+0:? 'img1' (layout(rgba32f ) uniform image2D)
+0:? 'img2' (layout(rgba32f ) coherent uniform image2D)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.100ops.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.100ops.frag.out
new file mode 100755
index 00000000000..9b40c920eb2
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.100ops.frag.out
@@ -0,0 +1,104 @@
+spv.100ops.frag
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 49
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 21 26 37
+ ExecutionMode 4 OriginUpperLeft
+ Source ESSL 310
+ Name 4 "main"
+ Name 8 "foo("
+ Name 11 "face1"
+ Name 13 "face2"
+ Name 17 "z"
+ Name 21 "low"
+ Name 26 "high"
+ Name 37 "Color"
+ Decorate 8(foo() RelaxedPrecision
+ Decorate 11(face1) RelaxedPrecision
+ Decorate 13(face2) RelaxedPrecision
+ Decorate 17(z) RelaxedPrecision
+ Decorate 21(low) RelaxedPrecision
+ Decorate 22 RelaxedPrecision
+ Decorate 23 RelaxedPrecision
+ Decorate 25 RelaxedPrecision
+ Decorate 26(high) RelaxedPrecision
+ Decorate 27 RelaxedPrecision
+ Decorate 32 RelaxedPrecision
+ Decorate 34 RelaxedPrecision
+ Decorate 37(Color) RelaxedPrecision
+ Decorate 38 RelaxedPrecision
+ Decorate 39 RelaxedPrecision
+ Decorate 40 RelaxedPrecision
+ Decorate 41 RelaxedPrecision
+ Decorate 42 RelaxedPrecision
+ Decorate 43 RelaxedPrecision
+ Decorate 44 RelaxedPrecision
+ Decorate 45 RelaxedPrecision
+ Decorate 46 RelaxedPrecision
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeFunction 6(float)
+ 10: TypePointer Private 6(float)
+ 11(face1): 10(ptr) Variable Private
+ 12: 6(float) Constant 1093664768
+ 13(face2): 10(ptr) Variable Private
+ 14: 6(float) Constant 3221225472
+ 15: TypeInt 32 1
+ 16: TypePointer Function 15(int)
+ 18: 15(int) Constant 3
+ 19: 6(float) Constant 1073741824
+ 20: TypePointer Input 6(float)
+ 21(low): 20(ptr) Variable Input
+ 24: 6(float) Constant 1065353216
+ 26(high): 20(ptr) Variable Input
+ 28: TypeBool
+ 33: 15(int) Constant 1
+ 35: TypeVector 6(float) 4
+ 36: TypePointer Output 35(fvec4)
+ 37(Color): 36(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 17(z): 16(ptr) Variable Function
+ Store 11(face1) 12
+ Store 13(face2) 14
+ Store 17(z) 18
+ 22: 6(float) Load 21(low)
+ 23: 6(float) FMul 19 22
+ 25: 6(float) FAdd 23 24
+ 27: 6(float) Load 26(high)
+ 29: 28(bool) FOrdLessThan 25 27
+ SelectionMerge 31 None
+ BranchConditional 29 30 31
+ 30: Label
+ 32: 15(int) Load 17(z)
+ 34: 15(int) IAdd 32 33
+ Store 17(z) 34
+ Branch 31
+ 31: Label
+ 38: 6(float) Load 11(face1)
+ 39: 15(int) Load 17(z)
+ 40: 6(float) ConvertSToF 39
+ 41: 35(fvec4) CompositeConstruct 40 40 40 40
+ 42: 35(fvec4) VectorTimesScalar 41 38
+ 43: 6(float) FunctionCall 8(foo()
+ 44: 35(fvec4) CompositeConstruct 43 43 43 43
+ 45: 35(fvec4) FAdd 42 44
+ Store 37(Color) 45
+ Return
+ FunctionEnd
+ 8(foo(): 6(float) Function None 7
+ 9: Label
+ 46: 6(float) Load 13(face2)
+ ReturnValue 46
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.130.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.130.frag.out
new file mode 100644
index 00000000000..8d881f50502
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.130.frag.out
@@ -0,0 +1,313 @@
+spv.130.frag
+WARNING: 0:31: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 205
+
+ Capability Shader
+ Capability ClipDistance
+ Capability SampledRect
+ Capability Sampled1D
+ Capability SampledCubeArray
+ Capability ImageQuery
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 17 68 79 99 173 184 185 186
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ SourceExtension "GL_ARB_gpu_shader5"
+ SourceExtension "GL_ARB_shader_texture_lod"
+ SourceExtension "GL_ARB_shading_language_420pack"
+ SourceExtension "GL_ARB_texture_cube_map_array"
+ SourceExtension "GL_ARB_texture_gather"
+ SourceExtension "GL_ARB_texture_rectangle"
+ Name 4 "main"
+ Name 6 "bar3("
+ Name 8 "bar4("
+ Name 10 "bar5("
+ Name 12 "bar6("
+ Name 17 "o"
+ Name 21 "samp2D"
+ Name 37 "samp2DA"
+ Name 47 "samp2DR"
+ Name 55 "samp2DS"
+ Name 68 "io"
+ Name 72 "Sca"
+ Name 79 "i"
+ Name 87 "Isca"
+ Name 99 "uo"
+ Name 103 "Usca"
+ Name 114 "a"
+ Name 118 "Scas"
+ Name 124 "f"
+ Name 133 "c"
+ Name 154 "a1"
+ Name 157 "m43"
+ Name 160 "b"
+ Name 167 "sampC"
+ Name 173 "gl_ClipDistance"
+ Name 183 "b"
+ Name 184 "fflat"
+ Name 185 "fsmooth"
+ Name 186 "fnop"
+ Name 193 "bounds"
+ Name 194 "s2D"
+ Name 195 "s2DR"
+ Name 199 "s2DRS"
+ Name 203 "s1D"
+ Name 204 "s2DS"
+ Decorate 21(samp2D) DescriptorSet 0
+ Decorate 37(samp2DA) DescriptorSet 0
+ Decorate 47(samp2DR) DescriptorSet 0
+ Decorate 55(samp2DS) DescriptorSet 0
+ Decorate 72(Sca) DescriptorSet 0
+ Decorate 87(Isca) DescriptorSet 0
+ Decorate 103(Usca) DescriptorSet 0
+ Decorate 118(Scas) DescriptorSet 0
+ Decorate 167(sampC) DescriptorSet 0
+ Decorate 173(gl_ClipDistance) BuiltIn ClipDistance
+ Decorate 184(fflat) Flat
+ Decorate 186(fnop) NoPerspective
+ Decorate 193(bounds) DescriptorSet 0
+ Decorate 193(bounds) Binding 0
+ Decorate 194(s2D) DescriptorSet 0
+ Decorate 195(s2DR) DescriptorSet 0
+ Decorate 199(s2DRS) DescriptorSet 0
+ Decorate 203(s1D) DescriptorSet 0
+ Decorate 204(s2DS) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 14: TypeFloat 32
+ 15: TypeVector 14(float) 4
+ 16: TypePointer Output 15(fvec4)
+ 17(o): 16(ptr) Variable Output
+ 18: TypeImage 14(float) 2D sampled format:Unknown
+ 19: TypeSampledImage 18
+ 20: TypePointer UniformConstant 19
+ 21(samp2D): 20(ptr) Variable UniformConstant
+ 23: TypeVector 14(float) 2
+ 24: 14(float) Constant 1050253722
+ 25: 23(fvec2) ConstantComposite 24 24
+ 26: TypeInt 32 1
+ 27: TypeVector 26(int) 2
+ 28: 26(int) Constant 1
+ 29: 27(ivec2) ConstantComposite 28 28
+ 30: 26(int) Constant 0
+ 34: TypeImage 14(float) 2D array sampled format:Unknown
+ 35: TypeSampledImage 34
+ 36: TypePointer UniformConstant 35
+ 37(samp2DA): 36(ptr) Variable UniformConstant
+ 39: TypeVector 14(float) 3
+ 40: 39(fvec3) ConstantComposite 24 24 24
+ 44: TypeImage 14(float) Rect sampled format:Unknown
+ 45: TypeSampledImage 44
+ 46: TypePointer UniformConstant 45
+ 47(samp2DR): 46(ptr) Variable UniformConstant
+ 52: TypeImage 14(float) 2D depth sampled format:Unknown
+ 53: TypeSampledImage 52
+ 54: TypePointer UniformConstant 53
+ 55(samp2DS): 54(ptr) Variable UniformConstant
+ 57: 14(float) Constant 1067869798
+ 62: 26(int) Constant 2
+ 66: TypeVector 26(int) 3
+ 67: TypePointer Output 66(ivec3)
+ 68(io): 67(ptr) Variable Output
+ 69: TypeImage 14(float) Cube array sampled format:Unknown
+ 70: TypeSampledImage 69
+ 71: TypePointer UniformConstant 70
+ 72(Sca): 71(ptr) Variable UniformConstant
+ 74: 26(int) Constant 3
+ 78: TypePointer Input 15(fvec4)
+ 79(i): 78(ptr) Variable Input
+ 84: TypeImage 26(int) Cube array sampled format:Unknown
+ 85: TypeSampledImage 84
+ 86: TypePointer UniformConstant 85
+ 87(Isca): 86(ptr) Variable UniformConstant
+ 90: 14(float) Constant 1060320051
+ 91: TypeVector 26(int) 4
+ 96: TypeInt 32 0
+ 97: TypeVector 96(int) 4
+ 98: TypePointer Output 97(ivec4)
+ 99(uo): 98(ptr) Variable Output
+ 100: TypeImage 96(int) Cube array sampled format:Unknown
+ 101: TypeSampledImage 100
+ 102: TypePointer UniformConstant 101
+ 103(Usca): 102(ptr) Variable UniformConstant
+ 109: 14(float) Constant 1071225242
+ 113: TypePointer Private 39(fvec3)
+ 114(a): 113(ptr) Variable Private
+ 115: TypeImage 14(float) Cube depth array sampled format:Unknown
+ 116: TypeSampledImage 115
+ 117: TypePointer UniformConstant 116
+ 118(Scas): 117(ptr) Variable UniformConstant
+ 123: TypePointer Function 14(float)
+ 127: 96(int) Constant 1
+ 128: TypePointer Input 14(float)
+ 132: TypePointer Function 91(ivec4)
+ 136: 14(float) Constant 1036831949
+ 137: 39(fvec3) ConstantComposite 136 136 136
+ 138: 14(float) Constant 1045220557
+ 139: 39(fvec3) ConstantComposite 138 138 138
+ 155: TypeMatrix 39(fvec3) 4
+ 156: TypePointer Function 155
+ 161: 14(float) Constant 1073741824
+ 164: TypeImage 14(float) Cube sampled format:Unknown
+ 165: TypeSampledImage 164
+ 166: TypePointer UniformConstant 165
+ 167(sampC): 166(ptr) Variable UniformConstant
+ 170: 96(int) Constant 4
+ 171: TypeArray 14(float) 170
+ 172: TypePointer Input 171
+173(gl_ClipDistance): 172(ptr) Variable Input
+ 176: TypePointer Output 14(float)
+ 182: TypePointer Private 14(float)
+ 183(b): 182(ptr) Variable Private
+ 184(fflat): 128(ptr) Variable Input
+ 185(fsmooth): 128(ptr) Variable Input
+ 186(fnop): 128(ptr) Variable Input
+ 187: 96(int) Constant 3
+ 188: TypeArray 26(int) 187
+ 189: 26(int) Constant 10
+ 190: 26(int) Constant 23
+ 191: 26(int) Constant 32
+ 192: 188 ConstantComposite 189 190 191
+ 193(bounds): 20(ptr) Variable UniformConstant
+ 194(s2D): 20(ptr) Variable UniformConstant
+ 195(s2DR): 46(ptr) Variable UniformConstant
+ 196: TypeImage 14(float) Rect depth sampled format:Unknown
+ 197: TypeSampledImage 196
+ 198: TypePointer UniformConstant 197
+ 199(s2DRS): 198(ptr) Variable UniformConstant
+ 200: TypeImage 14(float) 1D sampled format:Unknown
+ 201: TypeSampledImage 200
+ 202: TypePointer UniformConstant 201
+ 203(s1D): 202(ptr) Variable UniformConstant
+ 204(s2DS): 54(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 168: 165 Load 167(sampC)
+ 169: 15(fvec4) ImageGather 168 139 30
+ Store 17(o) 169
+ 174: 128(ptr) AccessChain 173(gl_ClipDistance) 74
+ 175: 14(float) Load 174
+ 177: 176(ptr) AccessChain 17(o) 127
+ Store 177 175
+ 178: 2 FunctionCall 6(bar3()
+ 179: 2 FunctionCall 8(bar4()
+ 180: 2 FunctionCall 10(bar5()
+ 181: 2 FunctionCall 12(bar6()
+ Return
+ FunctionEnd
+ 6(bar3(): 2 Function None 3
+ 7: Label
+ 22: 19 Load 21(samp2D)
+ 31: 15(fvec4) ImageGather 22 25 30 ConstOffset 29
+ 32: 15(fvec4) Load 17(o)
+ 33: 15(fvec4) FAdd 32 31
+ Store 17(o) 33
+ 38: 35 Load 37(samp2DA)
+ 41: 15(fvec4) ImageGather 38 40 30 ConstOffset 29
+ 42: 15(fvec4) Load 17(o)
+ 43: 15(fvec4) FAdd 42 41
+ Store 17(o) 43
+ Return
+ FunctionEnd
+ 8(bar4(): 2 Function None 3
+ 9: Label
+ 48: 45 Load 47(samp2DR)
+ 49: 15(fvec4) ImageGather 48 25 30 ConstOffset 29
+ 50: 15(fvec4) Load 17(o)
+ 51: 15(fvec4) FAdd 50 49
+ Store 17(o) 51
+ 56: 53 Load 55(samp2DS)
+ 58: 15(fvec4) ImageDrefGather 56 25 57 ConstOffset 29
+ 59: 15(fvec4) Load 17(o)
+ 60: 15(fvec4) FAdd 59 58
+ Store 17(o) 60
+ 61: 19 Load 21(samp2D)
+ 63: 15(fvec4) ImageGather 61 25 62 ConstOffset 29
+ 64: 15(fvec4) Load 17(o)
+ 65: 15(fvec4) FAdd 64 63
+ Store 17(o) 65
+ Return
+ FunctionEnd
+ 10(bar5(): 2 Function None 3
+ 11: Label
+ 124(f): 123(ptr) Variable Function
+ 133(c): 132(ptr) Variable Function
+ 73: 70 Load 72(Sca)
+ 75: 69 Image 73
+ 76: 66(ivec3) ImageQuerySizeLod 75 74
+ Store 68(io) 76
+ 77: 70 Load 72(Sca)
+ 80: 15(fvec4) Load 79(i)
+ 81: 15(fvec4) ImageSampleImplicitLod 77 80
+ 82: 15(fvec4) Load 17(o)
+ 83: 15(fvec4) FAdd 82 81
+ Store 17(o) 83
+ 88: 85 Load 87(Isca)
+ 89: 15(fvec4) Load 79(i)
+ 92: 91(ivec4) ImageSampleImplicitLod 88 89 Bias 90
+ 93: 66(ivec3) VectorShuffle 92 92 0 1 2
+ 94: 66(ivec3) Load 68(io)
+ 95: 66(ivec3) IAdd 94 93
+ Store 68(io) 95
+ 104: 101 Load 103(Usca)
+ 105: 15(fvec4) Load 79(i)
+ 106: 97(ivec4) ImageSampleImplicitLod 104 105
+ Store 99(uo) 106
+ 107: 70 Load 72(Sca)
+ 108: 15(fvec4) Load 79(i)
+ 110: 15(fvec4) ImageSampleExplicitLod 107 108 Lod 109
+ 111: 15(fvec4) Load 17(o)
+ 112: 15(fvec4) FAdd 111 110
+ Store 17(o) 112
+ 119: 116 Load 118(Scas)
+ 120: 115 Image 119
+ 121: 66(ivec3) ImageQuerySizeLod 120 74
+ 122: 39(fvec3) ConvertSToF 121
+ Store 114(a) 122
+ 125: 116 Load 118(Scas)
+ 126: 15(fvec4) Load 79(i)
+ 129: 128(ptr) AccessChain 79(i) 127
+ 130: 14(float) Load 129
+ 131: 14(float) ImageSampleDrefImplicitLod 125 126 130
+ Store 124(f) 131
+ 134: 85 Load 87(Isca)
+ 135: 15(fvec4) Load 79(i)
+ 140: 91(ivec4) ImageSampleExplicitLod 134 135 Grad 137 139
+ Store 133(c) 140
+ 141: 39(fvec3) Load 114(a)
+ 142: 14(float) Load 124(f)
+ 143: 91(ivec4) Load 133(c)
+ 144: 15(fvec4) ConvertSToF 143
+ 145: 15(fvec4) CompositeConstruct 142 142 142 142
+ 146: 15(fvec4) FAdd 145 144
+ 147: 14(float) CompositeExtract 141 0
+ 148: 14(float) CompositeExtract 141 1
+ 149: 14(float) CompositeExtract 141 2
+ 150: 14(float) CompositeExtract 146 0
+ 151: 15(fvec4) CompositeConstruct 147 148 149 150
+ 152: 15(fvec4) Load 17(o)
+ 153: 15(fvec4) FAdd 152 151
+ Store 17(o) 153
+ Return
+ FunctionEnd
+ 12(bar6(): 2 Function None 3
+ 13: Label
+ 154(a1): 123(ptr) Variable Function
+ 157(m43): 156(ptr) Variable Function
+ 160(b): 123(ptr) Variable Function
+ 158: 123(ptr) AccessChain 157(m43) 74 127
+ 159: 14(float) Load 158
+ Store 154(a1) 159
+ 162: 14(float) Load 154(a1)
+ 163: 14(float) FMul 161 162
+ Store 160(b) 163
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.140.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.140.frag.out
new file mode 100755
index 00000000000..f302478c532
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.140.frag.out
@@ -0,0 +1,181 @@
+spv.140.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 101
+
+ Capability Shader
+ Capability ClipDistance
+ Capability SampledRect
+ Capability SampledBuffer
+ Capability ImageQuery
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 16 28 33 43
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 8 "foo("
+ Name 11 "i1"
+ Name 16 "gl_FrontFacing"
+ Name 24 "i2"
+ Name 28 "o"
+ Name 33 "gl_ClipDistance"
+ Name 43 "k"
+ Name 55 "sampR"
+ Name 63 "sampB"
+ Name 87 "samp2Da"
+ Name 92 "bn"
+ MemberName 92(bn) 0 "matra"
+ MemberName 92(bn) 1 "matca"
+ MemberName 92(bn) 2 "matr"
+ MemberName 92(bn) 3 "matc"
+ MemberName 92(bn) 4 "matrdef"
+ Name 94 ""
+ Name 97 "bi"
+ MemberName 97(bi) 0 "v"
+ Name 100 "bname"
+ Decorate 16(gl_FrontFacing) BuiltIn FrontFacing
+ Decorate 33(gl_ClipDistance) BuiltIn ClipDistance
+ Decorate 55(sampR) DescriptorSet 0
+ Decorate 63(sampB) DescriptorSet 0
+ Decorate 87(samp2Da) DescriptorSet 0
+ Decorate 90 ArrayStride 64
+ Decorate 91 ArrayStride 64
+ MemberDecorate 92(bn) 0 RowMajor
+ MemberDecorate 92(bn) 0 Offset 0
+ MemberDecorate 92(bn) 0 MatrixStride 16
+ MemberDecorate 92(bn) 1 ColMajor
+ MemberDecorate 92(bn) 1 Offset 256
+ MemberDecorate 92(bn) 1 MatrixStride 16
+ MemberDecorate 92(bn) 2 RowMajor
+ MemberDecorate 92(bn) 2 Offset 512
+ MemberDecorate 92(bn) 2 MatrixStride 16
+ MemberDecorate 92(bn) 3 ColMajor
+ MemberDecorate 92(bn) 3 Offset 576
+ MemberDecorate 92(bn) 3 MatrixStride 16
+ MemberDecorate 92(bn) 4 RowMajor
+ MemberDecorate 92(bn) 4 Offset 640
+ MemberDecorate 92(bn) 4 MatrixStride 16
+ Decorate 92(bn) Block
+ Decorate 94 DescriptorSet 0
+ Decorate 96 ArrayStride 16
+ MemberDecorate 97(bi) 0 Offset 0
+ Decorate 97(bi) Block
+ Decorate 100(bname) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeFunction 6(float)
+ 10: TypePointer Private 6(float)
+ 11(i1): 10(ptr) Variable Private
+ 12: TypePointer Function 6(float)
+ 14: TypeBool
+ 15: TypePointer Input 14(bool)
+16(gl_FrontFacing): 15(ptr) Variable Input
+ 20: 6(float) Constant 3221225472
+ 22: 6(float) Constant 1073741824
+ 24(i2): 10(ptr) Variable Private
+ 25: 6(float) Constant 1120665600
+ 26: TypeVector 6(float) 4
+ 27: TypePointer Output 26(fvec4)
+ 28(o): 27(ptr) Variable Output
+ 29: TypeInt 32 0
+ 30: 29(int) Constant 5
+ 31: TypeArray 6(float) 30
+ 32: TypePointer Input 31
+33(gl_ClipDistance): 32(ptr) Variable Input
+ 34: TypeInt 32 1
+ 35: 34(int) Constant 2
+ 36: TypePointer Input 6(float)
+ 39: 29(int) Constant 1
+ 40: TypePointer Output 6(float)
+ 42: TypePointer Input 26(fvec4)
+ 43(k): 42(ptr) Variable Input
+ 45: TypeVector 34(int) 4
+ 50: 29(int) Constant 2
+ 52: TypeImage 6(float) Rect sampled format:Unknown
+ 53: TypeSampledImage 52
+ 54: TypePointer UniformConstant 53
+ 55(sampR): 54(ptr) Variable UniformConstant
+ 58: TypeVector 34(int) 2
+ 60: TypeImage 34(int) Buffer sampled format:Unknown
+ 61: TypeSampledImage 60
+ 62: TypePointer UniformConstant 61
+ 63(sampB): 62(ptr) Variable UniformConstant
+ 69: TypeVector 6(float) 2
+ 72: 6(float) Constant 1120403456
+ 74: 29(int) Constant 3
+ 83: TypeImage 6(float) 2D sampled format:Unknown
+ 84: TypeSampledImage 83
+ 85: TypeArray 84 74
+ 86: TypePointer UniformConstant 85
+ 87(samp2Da): 86(ptr) Variable UniformConstant
+ 88: TypeMatrix 26(fvec4) 4
+ 89: 29(int) Constant 4
+ 90: TypeArray 88 89
+ 91: TypeArray 88 89
+ 92(bn): TypeStruct 90 91 88 88 88
+ 93: TypePointer Uniform 92(bn)
+ 94: 93(ptr) Variable Uniform
+ 95: TypeVector 6(float) 3
+ 96: TypeArray 95(fvec3) 50
+ 97(bi): TypeStruct 96
+ 98: TypeArray 97(bi) 89
+ 99: TypePointer Uniform 98
+ 100(bname): 99(ptr) Variable Uniform
+ 4(main): 2 Function None 3
+ 5: Label
+ 13: 12(ptr) Variable Function
+ 17: 14(bool) Load 16(gl_FrontFacing)
+ SelectionMerge 19 None
+ BranchConditional 17 18 21
+ 18: Label
+ Store 13 20
+ Branch 19
+ 21: Label
+ Store 13 22
+ Branch 19
+ 19: Label
+ 23: 6(float) Load 13
+ Store 11(i1) 23
+ Store 24(i2) 25
+ 37: 36(ptr) AccessChain 33(gl_ClipDistance) 35
+ 38: 6(float) Load 37
+ 41: 40(ptr) AccessChain 28(o) 39
+ Store 41 38
+ 44: 26(fvec4) Load 43(k)
+ 46: 45(ivec4) ConvertFToS 44
+ 47: 34(int) CompositeExtract 46 0
+ 48: 36(ptr) AccessChain 33(gl_ClipDistance) 47
+ 49: 6(float) Load 48
+ 51: 40(ptr) AccessChain 28(o) 50
+ Store 51 49
+ 56: 53 Load 55(sampR)
+ 57: 52 Image 56
+ 59: 58(ivec2) ImageQuerySize 57
+ 64: 61 Load 63(sampB)
+ 65: 60 Image 64
+ 66: 34(int) ImageQuerySize 65
+ 67: 58(ivec2) CompositeConstruct 66 66
+ 68: 58(ivec2) IAdd 59 67
+ 70: 69(fvec2) ConvertSToF 68
+ 71: 6(float) CompositeExtract 70 0
+ 73: 6(float) FDiv 71 72
+ 75: 40(ptr) AccessChain 28(o) 74
+ Store 75 73
+ 76: 6(float) FunctionCall 8(foo()
+ 77: 40(ptr) AccessChain 28(o) 50
+ Store 77 76
+ Return
+ FunctionEnd
+ 8(foo(): 6(float) Function None 7
+ 9: Label
+ 78: 6(float) Load 11(i1)
+ 79: 6(float) Load 24(i2)
+ 80: 6(float) FAdd 78 79
+ ReturnValue 80
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.150.geom.out b/chromium/third_party/glslang/src/Test/baseResults/spv.150.geom.out
new file mode 100755
index 00000000000..8b021ff91d6
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.150.geom.out
@@ -0,0 +1,149 @@
+spv.150.geom
+
+Linked geometry stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 71
+
+ Capability Geometry
+ Capability GeometryPointSize
+ Capability GeometryStreams
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Geometry 4 "main" 10 18 29 33 47 49 51 70
+ ExecutionMode 4 InputTrianglesAdjacency
+ ExecutionMode 4 Invocations 1
+ ExecutionMode 4 OutputTriangleStrip
+ ExecutionMode 4 OutputVertices 30
+ Source GLSL 150
+ Name 4 "main"
+ Name 8 "fromVertex"
+ MemberName 8(fromVertex) 0 "color"
+ Name 10 ""
+ Name 13 "fromVertex"
+ MemberName 13(fromVertex) 0 "color"
+ Name 18 "fromV"
+ Name 27 "gl_PerVertex"
+ MemberName 27(gl_PerVertex) 0 "gl_Position"
+ MemberName 27(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 27(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 29 ""
+ Name 30 "gl_PerVertex"
+ MemberName 30(gl_PerVertex) 0 "gl_Position"
+ MemberName 30(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 30(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 33 "gl_in"
+ Name 47 "gl_PrimitiveID"
+ Name 49 "gl_PrimitiveIDIn"
+ Name 51 "gl_Layer"
+ Name 68 "toFragment"
+ MemberName 68(toFragment) 0 "color"
+ Name 70 "toF"
+ Decorate 8(fromVertex) Block
+ Decorate 8(fromVertex) Stream 3
+ Decorate 10 Stream 3
+ Decorate 13(fromVertex) Block
+ MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 27(gl_PerVertex) Block
+ Decorate 27(gl_PerVertex) Stream 0
+ Decorate 29 Stream 0
+ MemberDecorate 30(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 30(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 30(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 30(gl_PerVertex) Block
+ Decorate 47(gl_PrimitiveID) Stream 0
+ Decorate 47(gl_PrimitiveID) BuiltIn PrimitiveId
+ Decorate 49(gl_PrimitiveIDIn) BuiltIn PrimitiveId
+ Decorate 51(gl_Layer) Stream 0
+ Decorate 51(gl_Layer) BuiltIn Layer
+ Decorate 68(toFragment) Block
+ Decorate 68(toFragment) Stream 3
+ Decorate 70(toF) Stream 3
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 3
+ 8(fromVertex): TypeStruct 7(fvec3)
+ 9: TypePointer Output 8(fromVertex)
+ 10: 9(ptr) Variable Output
+ 11: TypeInt 32 1
+ 12: 11(int) Constant 0
+ 13(fromVertex): TypeStruct 7(fvec3)
+ 14: TypeInt 32 0
+ 15: 14(int) Constant 6
+ 16: TypeArray 13(fromVertex) 15
+ 17: TypePointer Input 16
+ 18(fromV): 17(ptr) Variable Input
+ 19: TypePointer Input 7(fvec3)
+ 22: TypePointer Output 7(fvec3)
+ 24: TypeVector 6(float) 4
+ 25: 14(int) Constant 1
+ 26: TypeArray 6(float) 25
+27(gl_PerVertex): TypeStruct 24(fvec4) 6(float) 26
+ 28: TypePointer Output 27(gl_PerVertex)
+ 29: 28(ptr) Variable Output
+30(gl_PerVertex): TypeStruct 24(fvec4) 6(float) 26
+ 31: TypeArray 30(gl_PerVertex) 15
+ 32: TypePointer Input 31
+ 33(gl_in): 32(ptr) Variable Input
+ 34: TypePointer Input 24(fvec4)
+ 37: TypePointer Output 24(fvec4)
+ 39: 11(int) Constant 1
+ 40: 11(int) Constant 3
+ 41: TypePointer Input 6(float)
+ 44: TypePointer Output 6(float)
+ 46: TypePointer Output 11(int)
+47(gl_PrimitiveID): 46(ptr) Variable Output
+ 48: TypePointer Input 11(int)
+49(gl_PrimitiveIDIn): 48(ptr) Variable Input
+ 51(gl_Layer): 46(ptr) Variable Output
+ 52: 11(int) Constant 2
+ 53: 6(float) Constant 1073741824
+ 68(toFragment): TypeStruct 7(fvec3)
+ 69: TypePointer Output 68(toFragment)
+ 70(toF): 69(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 20: 19(ptr) AccessChain 18(fromV) 12 12
+ 21: 7(fvec3) Load 20
+ 23: 22(ptr) AccessChain 10 12
+ Store 23 21
+ 35: 34(ptr) AccessChain 33(gl_in) 12 12
+ 36: 24(fvec4) Load 35
+ 38: 37(ptr) AccessChain 29 12
+ Store 38 36
+ 42: 41(ptr) AccessChain 33(gl_in) 40 39
+ 43: 6(float) Load 42
+ 45: 44(ptr) AccessChain 29 39
+ Store 45 43
+ 50: 11(int) Load 49(gl_PrimitiveIDIn)
+ Store 47(gl_PrimitiveID) 50
+ Store 51(gl_Layer) 52
+ EmitVertex
+ 54: 19(ptr) AccessChain 18(fromV) 12 12
+ 55: 7(fvec3) Load 54
+ 56: 7(fvec3) VectorTimesScalar 55 53
+ 57: 22(ptr) AccessChain 10 12
+ Store 57 56
+ 58: 34(ptr) AccessChain 33(gl_in) 12 12
+ 59: 24(fvec4) Load 58
+ 60: 24(fvec4) VectorTimesScalar 59 53
+ 61: 37(ptr) AccessChain 29 12
+ Store 61 60
+ 62: 41(ptr) AccessChain 33(gl_in) 40 39
+ 63: 6(float) Load 62
+ 64: 6(float) FMul 53 63
+ 65: 44(ptr) AccessChain 29 39
+ Store 65 64
+ 66: 11(int) Load 49(gl_PrimitiveIDIn)
+ 67: 11(int) IAdd 66 39
+ Store 47(gl_PrimitiveID) 67
+ Store 51(gl_Layer) 40
+ EmitVertex
+ EndPrimitive
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.150.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.150.vert.out
new file mode 100755
index 00000000000..5ccf1a812b6
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.150.vert.out
@@ -0,0 +1,107 @@
+spv.150.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 63
+
+ Capability Shader
+ Capability ClipDistance
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 13 17 23 38 62
+ Source GLSL 150
+ Name 4 "main"
+ Name 11 "gl_PerVertex"
+ MemberName 11(gl_PerVertex) 0 "gl_Position"
+ MemberName 11(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 11(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 13 ""
+ Name 17 "iv4"
+ Name 23 "ps"
+ Name 34 "s1"
+ MemberName 34(s1) 0 "a"
+ MemberName 34(s1) 1 "a2"
+ MemberName 34(s1) 2 "b"
+ Name 36 "s2"
+ MemberName 36(s2) 0 "c"
+ MemberName 36(s2) 1 "d"
+ Name 38 "s2out"
+ Name 40 "i"
+ Name 47 "s2D"
+ Name 62 "ui"
+ MemberDecorate 11(gl_PerVertex) 0 Invariant
+ MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 11(gl_PerVertex) Block
+ Decorate 47(s2D) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 4
+ 10: TypeArray 6(float) 9
+11(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 10
+ 12: TypePointer Output 11(gl_PerVertex)
+ 13: 12(ptr) Variable Output
+ 14: TypeInt 32 1
+ 15: 14(int) Constant 0
+ 16: TypePointer Input 7(fvec4)
+ 17(iv4): 16(ptr) Variable Input
+ 19: TypePointer Output 7(fvec4)
+ 21: 14(int) Constant 1
+ 22: TypePointer Input 6(float)
+ 23(ps): 22(ptr) Variable Input
+ 25: TypePointer Output 6(float)
+ 27: 14(int) Constant 2
+ 28: 8(int) Constant 0
+ 32: 8(int) Constant 3
+ 33: TypeArray 7(fvec4) 32
+ 34(s1): TypeStruct 14(int) 14(int) 33
+ 35: TypeArray 34(s1) 9
+ 36(s2): TypeStruct 14(int) 35
+ 37: TypePointer Output 36(s2)
+ 38(s2out): 37(ptr) Variable Output
+ 39: TypePointer Function 14(int)
+ 44: TypeImage 6(float) 2D sampled format:Unknown
+ 45: TypeSampledImage 44
+ 46: TypePointer UniformConstant 45
+ 47(s2D): 46(ptr) Variable UniformConstant
+ 49: TypeVector 6(float) 2
+ 50: 6(float) Constant 1056964608
+ 51: 49(fvec2) ConstantComposite 50 50
+ 52: 6(float) Constant 0
+ 55: TypeVector 6(float) 3
+ 56: 55(fvec3) ConstantComposite 50 50 50
+ 59: 6(float) Constant 1078774989
+ 61: TypePointer Input 14(int)
+ 62(ui): 61(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 40(i): 39(ptr) Variable Function
+ 18: 7(fvec4) Load 17(iv4)
+ 20: 19(ptr) AccessChain 13 15
+ Store 20 18
+ 24: 6(float) Load 23(ps)
+ 26: 25(ptr) AccessChain 13 21
+ Store 26 24
+ 29: 22(ptr) AccessChain 17(iv4) 28
+ 30: 6(float) Load 29
+ 31: 25(ptr) AccessChain 13 27 27
+ Store 31 30
+ 41: 14(int) Load 40(i)
+ 42: 6(float) Load 23(ps)
+ 43: 25(ptr) AccessChain 38(s2out) 21 41 27 27 32
+ Store 43 42
+ 48: 45 Load 47(s2D)
+ 53: 7(fvec4) ImageSampleExplicitLod 48 51 Lod 52
+ 54: 45 Load 47(s2D)
+ 57: 7(fvec4) ImageSampleProjExplicitLod 54 56 Lod 52
+ 58: 45 Load 47(s2D)
+ 60: 7(fvec4) ImageSampleExplicitLod 58 51 Lod 59
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.300BuiltIns.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.300BuiltIns.vert.out
new file mode 100755
index 00000000000..ab07f4a86ad
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.300BuiltIns.vert.out
@@ -0,0 +1,79 @@
+spv.300BuiltIns.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 42
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 10 14 21 34
+ Source ESSL 310
+ Name 4 "main"
+ Name 8 "gl_PerVertex"
+ MemberName 8(gl_PerVertex) 0 "gl_Position"
+ MemberName 8(gl_PerVertex) 1 "gl_PointSize"
+ Name 10 ""
+ Name 14 "ps"
+ Name 21 "gl_VertexIndex"
+ Name 34 "gl_InstanceIndex"
+ MemberDecorate 8(gl_PerVertex) 0 Invariant
+ MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 8(gl_PerVertex) 1 BuiltIn PointSize
+ Decorate 8(gl_PerVertex) Block
+ Decorate 14(ps) RelaxedPrecision
+ Decorate 15 RelaxedPrecision
+ Decorate 21(gl_VertexIndex) BuiltIn VertexIndex
+ Decorate 30 RelaxedPrecision
+ Decorate 34(gl_InstanceIndex) BuiltIn InstanceIndex
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8(gl_PerVertex): TypeStruct 7(fvec4) 6(float)
+ 9: TypePointer Output 8(gl_PerVertex)
+ 10: 9(ptr) Variable Output
+ 11: TypeInt 32 1
+ 12: 11(int) Constant 0
+ 13: TypePointer Input 6(float)
+ 14(ps): 13(ptr) Variable Input
+ 17: TypePointer Output 7(fvec4)
+ 19: 11(int) Constant 4
+ 20: TypePointer Input 11(int)
+21(gl_VertexIndex): 20(ptr) Variable Input
+ 29: 11(int) Constant 1
+ 31: TypePointer Output 6(float)
+ 33: 11(int) Constant 5
+34(gl_InstanceIndex): 20(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 15: 6(float) Load 14(ps)
+ 16: 7(fvec4) CompositeConstruct 15 15 15 15
+ 18: 17(ptr) AccessChain 10 12
+ Store 18 16
+ 22: 11(int) Load 21(gl_VertexIndex)
+ 23: 11(int) ISub 19 22
+ 24: 6(float) ConvertSToF 23
+ 25: 17(ptr) AccessChain 10 12
+ 26: 7(fvec4) Load 25
+ 27: 7(fvec4) VectorTimesScalar 26 24
+ 28: 17(ptr) AccessChain 10 12
+ Store 28 27
+ 30: 6(float) Load 14(ps)
+ 32: 31(ptr) AccessChain 10 29
+ Store 32 30
+ 35: 11(int) Load 34(gl_InstanceIndex)
+ 36: 11(int) ISub 33 35
+ 37: 6(float) ConvertSToF 36
+ 38: 31(ptr) AccessChain 10 29
+ 39: 6(float) Load 38
+ 40: 6(float) FMul 39 37
+ 41: 31(ptr) AccessChain 10 29
+ Store 41 40
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.300layout.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.300layout.frag.out
new file mode 100755
index 00000000000..e340c1b22ae
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.300layout.frag.out
@@ -0,0 +1,79 @@
+spv.300layout.frag
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 37
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 9 11 15 26 29
+ ExecutionMode 4 OriginUpperLeft
+ Source ESSL 310
+ Name 4 "main"
+ Name 9 "c"
+ Name 11 "color"
+ Name 13 "S"
+ MemberName 13(S) 0 "c"
+ MemberName 13(S) 1 "f"
+ Name 15 "s"
+ Name 26 "p"
+ Name 29 "pos"
+ Decorate 9(c) RelaxedPrecision
+ Decorate 9(c) Location 7
+ Decorate 11(color) RelaxedPrecision
+ Decorate 12 RelaxedPrecision
+ MemberDecorate 13(S) 0 RelaxedPrecision
+ MemberDecorate 13(S) 1 RelaxedPrecision
+ Decorate 19 RelaxedPrecision
+ Decorate 20 RelaxedPrecision
+ Decorate 26(p) RelaxedPrecision
+ Decorate 26(p) Location 3
+ Decorate 29(pos) RelaxedPrecision
+ Decorate 30 RelaxedPrecision
+ Decorate 33 RelaxedPrecision
+ Decorate 34 RelaxedPrecision
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 3
+ 8: TypePointer Output 7(fvec3)
+ 9(c): 8(ptr) Variable Output
+ 10: TypePointer Input 7(fvec3)
+ 11(color): 10(ptr) Variable Input
+ 13(S): TypeStruct 7(fvec3) 6(float)
+ 14: TypePointer Input 13(S)
+ 15(s): 14(ptr) Variable Input
+ 16: TypeInt 32 1
+ 17: 16(int) Constant 0
+ 21: TypeVector 6(float) 4
+ 22: TypeInt 32 0
+ 23: 22(int) Constant 2
+ 24: TypeArray 21(fvec4) 23
+ 25: TypePointer Output 24
+ 26(p): 25(ptr) Variable Output
+ 27: 16(int) Constant 1
+ 28: TypePointer Input 21(fvec4)
+ 29(pos): 28(ptr) Variable Input
+ 31: TypePointer Input 6(float)
+ 35: TypePointer Output 21(fvec4)
+ 4(main): 2 Function None 3
+ 5: Label
+ 12: 7(fvec3) Load 11(color)
+ 18: 10(ptr) AccessChain 15(s) 17
+ 19: 7(fvec3) Load 18
+ 20: 7(fvec3) FAdd 12 19
+ Store 9(c) 20
+ 30: 21(fvec4) Load 29(pos)
+ 32: 31(ptr) AccessChain 15(s) 27
+ 33: 6(float) Load 32
+ 34: 21(fvec4) VectorTimesScalar 30 33
+ 36: 35(ptr) AccessChain 26(p) 27
+ Store 36 34
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.300layout.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.300layout.vert.out
new file mode 100644
index 00000000000..859794a3287
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.300layout.vert.out
@@ -0,0 +1,254 @@
+spv.300layout.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 163
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 9 11 98 100 108 114 120 128
+ Source ESSL 310
+ Name 4 "main"
+ Name 9 "pos"
+ Name 11 "p"
+ Name 17 "Transform"
+ MemberName 17(Transform) 0 "M1"
+ MemberName 17(Transform) 1 "M2"
+ MemberName 17(Transform) 2 "N1"
+ MemberName 17(Transform) 3 "iuin"
+ Name 19 "tblock"
+ Name 45 "T3"
+ MemberName 45(T3) 0 "M3"
+ MemberName 45(T3) 1 "M4"
+ MemberName 45(T3) 2 "N2"
+ MemberName 45(T3) 3 "uv3a"
+ Name 47 ""
+ Name 78 "T2"
+ MemberName 78(T2) 0 "b"
+ MemberName 78(T2) 1 "t2m"
+ Name 80 ""
+ Name 98 "color"
+ Name 100 "c"
+ Name 108 "iout"
+ Name 114 "uiuin"
+ Name 120 "aiv2"
+ Name 126 "S"
+ MemberName 126(S) 0 "c"
+ MemberName 126(S) 1 "f"
+ Name 128 "s"
+ Decorate 11(p) Location 3
+ MemberDecorate 17(Transform) 0 RowMajor
+ MemberDecorate 17(Transform) 0 Offset 0
+ MemberDecorate 17(Transform) 0 MatrixStride 16
+ MemberDecorate 17(Transform) 1 ColMajor
+ MemberDecorate 17(Transform) 1 Offset 64
+ MemberDecorate 17(Transform) 1 MatrixStride 16
+ MemberDecorate 17(Transform) 2 RowMajor
+ MemberDecorate 17(Transform) 2 Offset 128
+ MemberDecorate 17(Transform) 2 MatrixStride 16
+ MemberDecorate 17(Transform) 3 Offset 176
+ Decorate 17(Transform) Block
+ Decorate 19(tblock) DescriptorSet 0
+ Decorate 44 ArrayStride 16
+ MemberDecorate 45(T3) 0 ColMajor
+ MemberDecorate 45(T3) 0 Offset 0
+ MemberDecorate 45(T3) 0 MatrixStride 16
+ MemberDecorate 45(T3) 1 RowMajor
+ MemberDecorate 45(T3) 1 Offset 64
+ MemberDecorate 45(T3) 1 MatrixStride 16
+ MemberDecorate 45(T3) 2 ColMajor
+ MemberDecorate 45(T3) 2 Offset 128
+ MemberDecorate 45(T3) 2 MatrixStride 16
+ MemberDecorate 45(T3) 3 Offset 160
+ Decorate 45(T3) Block
+ Decorate 47 DescriptorSet 0
+ MemberDecorate 78(T2) 0 Offset 0
+ MemberDecorate 78(T2) 1 RowMajor
+ MemberDecorate 78(T2) 1 Offset 16
+ MemberDecorate 78(T2) 1 MatrixStride 16
+ Decorate 78(T2) Block
+ Decorate 80 DescriptorSet 0
+ Decorate 100(c) Location 7
+ Decorate 108(iout) Flat
+ Decorate 120(aiv2) Location 9
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(pos): 8(ptr) Variable Output
+ 10: TypePointer Input 7(fvec4)
+ 11(p): 10(ptr) Variable Input
+ 13: TypeMatrix 7(fvec4) 4
+ 14: TypeVector 6(float) 3
+ 15: TypeMatrix 14(fvec3) 3
+ 16: TypeInt 32 1
+ 17(Transform): TypeStruct 13 13 15 16(int)
+ 18: TypePointer Uniform 17(Transform)
+ 19(tblock): 18(ptr) Variable Uniform
+ 20: 16(int) Constant 0
+ 21: TypePointer Uniform 13
+ 24: 16(int) Constant 1
+ 40: TypeMatrix 14(fvec3) 2
+ 41: TypeInt 32 0
+ 42: TypeVector 41(int) 3
+ 43: 41(int) Constant 4
+ 44: TypeArray 42(ivec3) 43
+ 45(T3): TypeStruct 13 13 40 44
+ 46: TypePointer Uniform 45(T3)
+ 47: 46(ptr) Variable Uniform
+ 78(T2): TypeStruct 41(int) 13
+ 79: TypePointer Uniform 78(T2)
+ 80: 79(ptr) Variable Uniform
+ 97: TypePointer Output 14(fvec3)
+ 98(color): 97(ptr) Variable Output
+ 99: TypePointer Input 14(fvec3)
+ 100(c): 99(ptr) Variable Input
+ 102: 16(int) Constant 2
+ 103: TypePointer Uniform 15
+ 107: TypePointer Output 16(int)
+ 108(iout): 107(ptr) Variable Output
+ 109: 16(int) Constant 3
+ 110: TypePointer Uniform 16(int)
+ 113: TypePointer Input 41(int)
+ 114(uiuin): 113(ptr) Variable Input
+ 118: TypeVector 16(int) 2
+ 119: TypePointer Input 118(ivec2)
+ 120(aiv2): 119(ptr) Variable Input
+ 121: 41(int) Constant 1
+ 122: TypePointer Input 16(int)
+ 126(S): TypeStruct 14(fvec3) 6(float)
+ 127: TypePointer Output 126(S)
+ 128(s): 127(ptr) Variable Output
+ 131: 41(int) Constant 0
+ 132: TypePointer Input 6(float)
+ 135: TypePointer Output 6(float)
+ 137: TypeBool
+ 138: TypePointer Uniform 14(fvec3)
+ 141: 6(float) Constant 1065353216
+ 142: 14(fvec3) ConstantComposite 141 141 141
+ 143: TypeVector 137(bool) 3
+ 149: TypePointer Uniform 42(ivec3)
+ 152: 41(int) Constant 5
+ 153: 42(ivec3) ConstantComposite 152 152 152
+ 4(main): 2 Function None 3
+ 5: Label
+ 12: 7(fvec4) Load 11(p)
+ 22: 21(ptr) AccessChain 19(tblock) 20
+ 23: 13 Load 22
+ 25: 21(ptr) AccessChain 19(tblock) 24
+ 26: 13 Load 25
+ 27: 7(fvec4) CompositeExtract 23 0
+ 28: 7(fvec4) CompositeExtract 26 0
+ 29: 7(fvec4) FAdd 27 28
+ 30: 7(fvec4) CompositeExtract 23 1
+ 31: 7(fvec4) CompositeExtract 26 1
+ 32: 7(fvec4) FAdd 30 31
+ 33: 7(fvec4) CompositeExtract 23 2
+ 34: 7(fvec4) CompositeExtract 26 2
+ 35: 7(fvec4) FAdd 33 34
+ 36: 7(fvec4) CompositeExtract 23 3
+ 37: 7(fvec4) CompositeExtract 26 3
+ 38: 7(fvec4) FAdd 36 37
+ 39: 13 CompositeConstruct 29 32 35 38
+ 48: 21(ptr) AccessChain 47 24
+ 49: 13 Load 48
+ 50: 7(fvec4) CompositeExtract 39 0
+ 51: 7(fvec4) CompositeExtract 49 0
+ 52: 7(fvec4) FAdd 50 51
+ 53: 7(fvec4) CompositeExtract 39 1
+ 54: 7(fvec4) CompositeExtract 49 1
+ 55: 7(fvec4) FAdd 53 54
+ 56: 7(fvec4) CompositeExtract 39 2
+ 57: 7(fvec4) CompositeExtract 49 2
+ 58: 7(fvec4) FAdd 56 57
+ 59: 7(fvec4) CompositeExtract 39 3
+ 60: 7(fvec4) CompositeExtract 49 3
+ 61: 7(fvec4) FAdd 59 60
+ 62: 13 CompositeConstruct 52 55 58 61
+ 63: 21(ptr) AccessChain 47 20
+ 64: 13 Load 63
+ 65: 7(fvec4) CompositeExtract 62 0
+ 66: 7(fvec4) CompositeExtract 64 0
+ 67: 7(fvec4) FAdd 65 66
+ 68: 7(fvec4) CompositeExtract 62 1
+ 69: 7(fvec4) CompositeExtract 64 1
+ 70: 7(fvec4) FAdd 68 69
+ 71: 7(fvec4) CompositeExtract 62 2
+ 72: 7(fvec4) CompositeExtract 64 2
+ 73: 7(fvec4) FAdd 71 72
+ 74: 7(fvec4) CompositeExtract 62 3
+ 75: 7(fvec4) CompositeExtract 64 3
+ 76: 7(fvec4) FAdd 74 75
+ 77: 13 CompositeConstruct 67 70 73 76
+ 81: 21(ptr) AccessChain 80 24
+ 82: 13 Load 81
+ 83: 7(fvec4) CompositeExtract 77 0
+ 84: 7(fvec4) CompositeExtract 82 0
+ 85: 7(fvec4) FAdd 83 84
+ 86: 7(fvec4) CompositeExtract 77 1
+ 87: 7(fvec4) CompositeExtract 82 1
+ 88: 7(fvec4) FAdd 86 87
+ 89: 7(fvec4) CompositeExtract 77 2
+ 90: 7(fvec4) CompositeExtract 82 2
+ 91: 7(fvec4) FAdd 89 90
+ 92: 7(fvec4) CompositeExtract 77 3
+ 93: 7(fvec4) CompositeExtract 82 3
+ 94: 7(fvec4) FAdd 92 93
+ 95: 13 CompositeConstruct 85 88 91 94
+ 96: 7(fvec4) VectorTimesMatrix 12 95
+ Store 9(pos) 96
+ 101: 14(fvec3) Load 100(c)
+ 104: 103(ptr) AccessChain 19(tblock) 102
+ 105: 15 Load 104
+ 106: 14(fvec3) VectorTimesMatrix 101 105
+ Store 98(color) 106
+ 111: 110(ptr) AccessChain 19(tblock) 109
+ 112: 16(int) Load 111
+ 115: 41(int) Load 114(uiuin)
+ 116: 16(int) Bitcast 115
+ 117: 16(int) IAdd 112 116
+ 123: 122(ptr) AccessChain 120(aiv2) 121
+ 124: 16(int) Load 123
+ 125: 16(int) IAdd 117 124
+ Store 108(iout) 125
+ 129: 14(fvec3) Load 100(c)
+ 130: 97(ptr) AccessChain 128(s) 20
+ Store 130 129
+ 133: 132(ptr) AccessChain 11(p) 131
+ 134: 6(float) Load 133
+ 136: 135(ptr) AccessChain 128(s) 24
+ Store 136 134
+ 139: 138(ptr) AccessChain 47 102 24
+ 140: 14(fvec3) Load 139
+ 144: 143(bvec3) FOrdNotEqual 140 142
+ 145: 137(bool) Any 144
+ 146: 137(bool) LogicalNot 145
+ SelectionMerge 148 None
+ BranchConditional 146 147 148
+ 147: Label
+ 150: 149(ptr) AccessChain 47 109 102
+ 151: 42(ivec3) Load 150
+ 154: 143(bvec3) INotEqual 151 153
+ 155: 137(bool) Any 154
+ Branch 148
+ 148: Label
+ 156: 137(bool) Phi 145 5 155 147
+ SelectionMerge 158 None
+ BranchConditional 156 157 158
+ 157: Label
+ 159: 97(ptr) AccessChain 128(s) 20
+ 160: 14(fvec3) Load 159
+ 161: 14(fvec3) CompositeConstruct 141 141 141
+ 162: 14(fvec3) FAdd 160 161
+ Store 159 162
+ Branch 158
+ 158: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.300layoutp.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.300layoutp.vert.out
new file mode 100755
index 00000000000..ebad96358f6
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.300layoutp.vert.out
@@ -0,0 +1,206 @@
+spv.300layoutp.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 115
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 9 11 50 52 60 72 80
+ Source ESSL 310
+ Name 4 "main"
+ Name 9 "pos"
+ Name 11 "p"
+ Name 17 "Transform"
+ MemberName 17(Transform) 0 "M1"
+ MemberName 17(Transform) 1 "M2"
+ MemberName 17(Transform) 2 "N1"
+ MemberName 17(Transform) 3 "iuin"
+ Name 19 "tblock"
+ Name 33 "T3"
+ MemberName 33(T3) 0 "M3"
+ MemberName 33(T3) 1 "M4"
+ MemberName 33(T3) 2 "N2"
+ MemberName 33(T3) 3 "uv3a"
+ Name 35 ""
+ Name 42 "T2"
+ MemberName 42(T2) 0 "b"
+ MemberName 42(T2) 1 "t2m"
+ Name 44 ""
+ Name 50 "color"
+ Name 52 "c"
+ Name 60 "iout"
+ Name 66 "uiuin"
+ Name 72 "aiv2"
+ Name 78 "S"
+ MemberName 78(S) 0 "c"
+ MemberName 78(S) 1 "f"
+ Name 80 "s"
+ Decorate 11(p) Location 3
+ MemberDecorate 17(Transform) 0 RowMajor
+ MemberDecorate 17(Transform) 0 Offset 0
+ MemberDecorate 17(Transform) 0 MatrixStride 16
+ MemberDecorate 17(Transform) 1 ColMajor
+ MemberDecorate 17(Transform) 1 Offset 64
+ MemberDecorate 17(Transform) 1 MatrixStride 16
+ MemberDecorate 17(Transform) 2 RowMajor
+ MemberDecorate 17(Transform) 2 Offset 128
+ MemberDecorate 17(Transform) 2 MatrixStride 16
+ MemberDecorate 17(Transform) 3 Offset 176
+ Decorate 17(Transform) Block
+ Decorate 19(tblock) DescriptorSet 0
+ Decorate 32 ArrayStride 16
+ MemberDecorate 33(T3) 0 ColMajor
+ MemberDecorate 33(T3) 0 Offset 0
+ MemberDecorate 33(T3) 0 MatrixStride 16
+ MemberDecorate 33(T3) 1 RowMajor
+ MemberDecorate 33(T3) 1 Offset 64
+ MemberDecorate 33(T3) 1 MatrixStride 16
+ MemberDecorate 33(T3) 2 ColMajor
+ MemberDecorate 33(T3) 2 Offset 128
+ MemberDecorate 33(T3) 2 MatrixStride 16
+ MemberDecorate 33(T3) 3 Offset 160
+ Decorate 33(T3) Block
+ Decorate 35 DescriptorSet 0
+ MemberDecorate 42(T2) 0 Offset 0
+ MemberDecorate 42(T2) 1 RowMajor
+ MemberDecorate 42(T2) 1 Offset 16
+ MemberDecorate 42(T2) 1 MatrixStride 16
+ Decorate 42(T2) Block
+ Decorate 44 DescriptorSet 0
+ Decorate 52(c) Location 7
+ Decorate 60(iout) Flat
+ Decorate 72(aiv2) Location 9
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(pos): 8(ptr) Variable Output
+ 10: TypePointer Input 7(fvec4)
+ 11(p): 10(ptr) Variable Input
+ 13: TypeMatrix 7(fvec4) 4
+ 14: TypeVector 6(float) 3
+ 15: TypeMatrix 14(fvec3) 3
+ 16: TypeInt 32 1
+ 17(Transform): TypeStruct 13 13 15 16(int)
+ 18: TypePointer Uniform 17(Transform)
+ 19(tblock): 18(ptr) Variable Uniform
+ 20: 16(int) Constant 0
+ 21: TypePointer Uniform 13
+ 24: 16(int) Constant 1
+ 28: TypeMatrix 14(fvec3) 2
+ 29: TypeInt 32 0
+ 30: TypeVector 29(int) 3
+ 31: 29(int) Constant 4
+ 32: TypeArray 30(ivec3) 31
+ 33(T3): TypeStruct 13 13 28 32
+ 34: TypePointer Uniform 33(T3)
+ 35: 34(ptr) Variable Uniform
+ 42(T2): TypeStruct 29(int) 13
+ 43: TypePointer Uniform 42(T2)
+ 44: 43(ptr) Variable Uniform
+ 49: TypePointer Output 14(fvec3)
+ 50(color): 49(ptr) Variable Output
+ 51: TypePointer Input 14(fvec3)
+ 52(c): 51(ptr) Variable Input
+ 54: 16(int) Constant 2
+ 55: TypePointer Uniform 15
+ 59: TypePointer Output 16(int)
+ 60(iout): 59(ptr) Variable Output
+ 61: 16(int) Constant 3
+ 62: TypePointer Uniform 16(int)
+ 65: TypePointer Private 29(int)
+ 66(uiuin): 65(ptr) Variable Private
+ 70: TypeVector 16(int) 2
+ 71: TypePointer Input 70(ivec2)
+ 72(aiv2): 71(ptr) Variable Input
+ 73: 29(int) Constant 1
+ 74: TypePointer Input 16(int)
+ 78(S): TypeStruct 14(fvec3) 6(float)
+ 79: TypePointer Output 78(S)
+ 80(s): 79(ptr) Variable Output
+ 83: 29(int) Constant 0
+ 84: TypePointer Input 6(float)
+ 87: TypePointer Output 6(float)
+ 89: TypeBool
+ 90: TypePointer Uniform 14(fvec3)
+ 93: 6(float) Constant 1065353216
+ 94: 14(fvec3) ConstantComposite 93 93 93
+ 95: TypeVector 89(bool) 3
+ 101: TypePointer Uniform 30(ivec3)
+ 104: 29(int) Constant 5
+ 105: 30(ivec3) ConstantComposite 104 104 104
+ 4(main): 2 Function None 3
+ 5: Label
+ 12: 7(fvec4) Load 11(p)
+ 22: 21(ptr) AccessChain 19(tblock) 20
+ 23: 13 Load 22
+ 25: 21(ptr) AccessChain 19(tblock) 24
+ 26: 13 Load 25
+ 27: 13 MatrixTimesMatrix 23 26
+ 36: 21(ptr) AccessChain 35 24
+ 37: 13 Load 36
+ 38: 13 MatrixTimesMatrix 27 37
+ 39: 21(ptr) AccessChain 35 20
+ 40: 13 Load 39
+ 41: 13 MatrixTimesMatrix 38 40
+ 45: 21(ptr) AccessChain 44 24
+ 46: 13 Load 45
+ 47: 13 MatrixTimesMatrix 41 46
+ 48: 7(fvec4) VectorTimesMatrix 12 47
+ Store 9(pos) 48
+ 53: 14(fvec3) Load 52(c)
+ 56: 55(ptr) AccessChain 19(tblock) 54
+ 57: 15 Load 56
+ 58: 14(fvec3) VectorTimesMatrix 53 57
+ Store 50(color) 58
+ 63: 62(ptr) AccessChain 19(tblock) 61
+ 64: 16(int) Load 63
+ 67: 29(int) Load 66(uiuin)
+ 68: 16(int) Bitcast 67
+ 69: 16(int) IAdd 64 68
+ 75: 74(ptr) AccessChain 72(aiv2) 73
+ 76: 16(int) Load 75
+ 77: 16(int) IAdd 69 76
+ Store 60(iout) 77
+ 81: 14(fvec3) Load 52(c)
+ 82: 49(ptr) AccessChain 80(s) 20
+ Store 82 81
+ 85: 84(ptr) AccessChain 11(p) 83
+ 86: 6(float) Load 85
+ 88: 87(ptr) AccessChain 80(s) 24
+ Store 88 86
+ 91: 90(ptr) AccessChain 35 54 24
+ 92: 14(fvec3) Load 91
+ 96: 95(bvec3) FOrdNotEqual 92 94
+ 97: 89(bool) Any 96
+ 98: 89(bool) LogicalNot 97
+ SelectionMerge 100 None
+ BranchConditional 98 99 100
+ 99: Label
+ 102: 101(ptr) AccessChain 35 61 54
+ 103: 30(ivec3) Load 102
+ 106: 95(bvec3) INotEqual 103 105
+ 107: 89(bool) Any 106
+ Branch 100
+ 100: Label
+ 108: 89(bool) Phi 97 5 107 99
+ SelectionMerge 110 None
+ BranchConditional 108 109 110
+ 109: Label
+ 111: 49(ptr) AccessChain 80(s) 20
+ 112: 14(fvec3) Load 111
+ 113: 14(fvec3) CompositeConstruct 93 93 93
+ 114: 14(fvec3) FAdd 112 113
+ Store 111 114
+ Branch 110
+ 110: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.310.comp.out b/chromium/third_party/glslang/src/Test/baseResults/spv.310.comp.out
new file mode 100755
index 00000000000..3eafc2b58e8
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.310.comp.out
@@ -0,0 +1,127 @@
+spv.310.comp
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked compute stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 66
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main" 52
+ ExecutionMode 4 LocalSize 16 32 4
+ Source ESSL 310
+ Name 4 "main"
+ Name 12 "outb"
+ MemberName 12(outb) 0 "f"
+ MemberName 12(outb) 1 "g"
+ MemberName 12(outb) 2 "h"
+ MemberName 12(outb) 3 "uns"
+ Name 14 "outbname"
+ Name 18 "s"
+ Name 23 "outbna"
+ MemberName 23(outbna) 0 "k"
+ MemberName 23(outbna) 1 "na"
+ Name 25 "outbnamena"
+ Name 41 "i"
+ Name 47 "outs"
+ MemberName 47(outs) 0 "s"
+ MemberName 47(outs) 1 "va"
+ Name 49 "outnames"
+ Name 52 "gl_LocalInvocationID"
+ Decorate 11 ArrayStride 16
+ MemberDecorate 12(outb) 0 Offset 0
+ MemberDecorate 12(outb) 1 Offset 4
+ MemberDecorate 12(outb) 2 Offset 8
+ MemberDecorate 12(outb) 3 Offset 16
+ Decorate 12(outb) BufferBlock
+ Decorate 14(outbname) DescriptorSet 0
+ MemberDecorate 23(outbna) 0 Offset 0
+ MemberDecorate 23(outbna) 1 Offset 16
+ Decorate 23(outbna) BufferBlock
+ Decorate 25(outbnamena) DescriptorSet 0
+ Decorate 46 ArrayStride 16
+ MemberDecorate 47(outs) 0 Offset 0
+ MemberDecorate 47(outs) 1 Offset 16
+ Decorate 47(outs) BufferBlock
+ Decorate 49(outnames) DescriptorSet 0
+ Decorate 52(gl_LocalInvocationID) BuiltIn LocalInvocationId
+ Decorate 65 BuiltIn WorkgroupSize
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: 6(int) Constant 1
+ 8: 6(int) Constant 0
+ 9: TypeFloat 32
+ 10: TypeVector 9(float) 3
+ 11: TypeRuntimeArray 10(fvec3)
+ 12(outb): TypeStruct 9(float) 9(float) 9(float) 11
+ 13: TypePointer Uniform 12(outb)
+ 14(outbname): 13(ptr) Variable Uniform
+ 15: TypeInt 32 1
+ 16: 15(int) Constant 0
+ 17: TypePointer Workgroup 9(float)
+ 18(s): 17(ptr) Variable Workgroup
+ 20: TypePointer Uniform 9(float)
+ 22: TypeVector 9(float) 4
+ 23(outbna): TypeStruct 15(int) 22(fvec4)
+ 24: TypePointer Uniform 23(outbna)
+ 25(outbnamena): 24(ptr) Variable Uniform
+ 26: 15(int) Constant 1
+ 29: TypePointer Uniform 22(fvec4)
+ 31: 15(int) Constant 3
+ 32: 15(int) Constant 18
+ 35: 15(int) Constant 17
+ 36: 9(float) Constant 1077936128
+ 37: 10(fvec3) ConstantComposite 36 36 36
+ 38: TypePointer Uniform 10(fvec3)
+ 40: TypePointer Workgroup 15(int)
+ 41(i): 40(ptr) Variable Workgroup
+ 46: TypeRuntimeArray 22(fvec4)
+ 47(outs): TypeStruct 15(int) 46
+ 48: TypePointer Uniform 47(outs)
+ 49(outnames): 48(ptr) Variable Uniform
+ 50: TypeVector 6(int) 3
+ 51: TypePointer Input 50(ivec3)
+52(gl_LocalInvocationID): 51(ptr) Variable Input
+ 53: TypePointer Input 6(int)
+ 60: TypePointer Uniform 15(int)
+ 62: 6(int) Constant 16
+ 63: 6(int) Constant 32
+ 64: 6(int) Constant 4
+ 65: 50(ivec3) ConstantComposite 62 63 64
+ 4(main): 2 Function None 3
+ 5: Label
+ ControlBarrier 7 7 8
+ 19: 9(float) Load 18(s)
+ 21: 20(ptr) AccessChain 14(outbname) 16
+ Store 21 19
+ 27: 9(float) Load 18(s)
+ 28: 22(fvec4) CompositeConstruct 27 27 27 27
+ 30: 29(ptr) AccessChain 25(outbnamena) 26
+ Store 30 28
+ 33: 20(ptr) AccessChain 14(outbname) 31 32 8
+ 34: 9(float) Load 33
+ Store 18(s) 34
+ 39: 38(ptr) AccessChain 14(outbname) 31 35
+ Store 39 37
+ 42: 15(int) Load 41(i)
+ 43: 9(float) Load 18(s)
+ 44: 10(fvec3) CompositeConstruct 43 43 43
+ 45: 38(ptr) AccessChain 14(outbname) 31 42
+ Store 45 44
+ 54: 53(ptr) AccessChain 52(gl_LocalInvocationID) 8
+ 55: 6(int) Load 54
+ 56: 9(float) Load 18(s)
+ 57: 22(fvec4) CompositeConstruct 56 56 56 56
+ 58: 29(ptr) AccessChain 49(outnames) 26 55
+ Store 58 57
+ 59: 15(int) ArrayLength 14(outbname) 3
+ 61: 60(ptr) AccessChain 49(outnames) 16
+ Store 61 59
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.330.geom.out b/chromium/third_party/glslang/src/Test/baseResults/spv.330.geom.out
new file mode 100644
index 00000000000..3077769a508
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.330.geom.out
@@ -0,0 +1,71 @@
+spv.330.geom
+
+Linked geometry stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 32
+
+ Capability Geometry
+ Capability ClipDistance
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Geometry 4 "main" 13 20
+ ExecutionMode 4 Triangles
+ ExecutionMode 4 Invocations 1
+ ExecutionMode 4 OutputTriangleStrip
+ ExecutionMode 4 OutputVertices 3
+ Source GLSL 330
+ SourceExtension "GL_ARB_separate_shader_objects"
+ Name 4 "main"
+ Name 11 "gl_PerVertex"
+ MemberName 11(gl_PerVertex) 0 "gl_Position"
+ MemberName 11(gl_PerVertex) 1 "gl_ClipDistance"
+ Name 13 ""
+ Name 16 "gl_PerVertex"
+ MemberName 16(gl_PerVertex) 0 "gl_Position"
+ MemberName 16(gl_PerVertex) 1 "gl_ClipDistance"
+ Name 20 "gl_in"
+ MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 11(gl_PerVertex) 1 BuiltIn ClipDistance
+ Decorate 11(gl_PerVertex) Block
+ MemberDecorate 16(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 16(gl_PerVertex) 1 BuiltIn ClipDistance
+ Decorate 16(gl_PerVertex) Block
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 1
+ 10: TypeArray 6(float) 9
+11(gl_PerVertex): TypeStruct 7(fvec4) 10
+ 12: TypePointer Output 11(gl_PerVertex)
+ 13: 12(ptr) Variable Output
+ 14: TypeInt 32 1
+ 15: 14(int) Constant 0
+16(gl_PerVertex): TypeStruct 7(fvec4) 10
+ 17: 8(int) Constant 3
+ 18: TypeArray 16(gl_PerVertex) 17
+ 19: TypePointer Input 18
+ 20(gl_in): 19(ptr) Variable Input
+ 21: 14(int) Constant 1
+ 22: TypePointer Input 7(fvec4)
+ 25: TypePointer Output 7(fvec4)
+ 27: TypePointer Input 6(float)
+ 30: TypePointer Output 6(float)
+ 4(main): 2 Function None 3
+ 5: Label
+ 23: 22(ptr) AccessChain 20(gl_in) 21 15
+ 24: 7(fvec4) Load 23
+ 26: 25(ptr) AccessChain 13 15
+ Store 26 24
+ 28: 27(ptr) AccessChain 20(gl_in) 21 21 15
+ 29: 6(float) Load 28
+ 31: 30(ptr) AccessChain 13 21 15
+ Store 31 29
+ EmitVertex
+ EndPrimitive
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.400.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.400.frag.out
new file mode 100644
index 00000000000..4af713c4351
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.400.frag.out
@@ -0,0 +1,1385 @@
+spv.400.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 1112
+
+ Capability Shader
+ Capability Float64
+ Capability ImageGatherExtended
+ Capability ClipDistance
+ Capability SampledRect
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 13 1025 1031 1036 1048 1074 1095 1097 1103 1105
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 400
+ SourceExtension "GL_ARB_separate_shader_objects"
+ Name 4 "main"
+ Name 6 "foo23("
+ Name 8 "doubles("
+ Name 13 "outp"
+ Name 17 "u2drs"
+ Name 39 "doublev"
+ Name 43 "dvec2v"
+ Name 48 "dvec3v"
+ Name 53 "dvec4v"
+ Name 428 "boolv"
+ Name 437 "bvec2v"
+ Name 446 "bvec3v"
+ Name 455 "bvec4v"
+ Name 737 "dmat2v"
+ Name 743 "dmat3v"
+ Name 749 "dmat4v"
+ Name 755 "dmat2x3v"
+ Name 761 "dmat3x2v"
+ Name 767 "dmat2x4v"
+ Name 773 "dmat4x2v"
+ Name 779 "dmat3x4v"
+ Name 785 "dmat4x3v"
+ Name 1017 "v"
+ Name 1023 "arrayedSampler"
+ Name 1025 "i"
+ Name 1031 "c2D"
+ Name 1036 "gl_ClipDistance"
+ Name 1048 "uoutp"
+ Name 1052 "samp2dr"
+ Name 1074 "ioutp"
+ Name 1078 "isamp2DA"
+ Name 1095 "gl_FragCoord"
+ Name 1097 "vl2"
+ Name 1103 "uo"
+ Name 1105 "u"
+ Decorate 17(u2drs) DescriptorSet 0
+ Decorate 1023(arrayedSampler) DescriptorSet 0
+ Decorate 1025(i) Flat
+ Decorate 1036(gl_ClipDistance) BuiltIn ClipDistance
+ Decorate 1052(samp2dr) DescriptorSet 0
+ Decorate 1078(isamp2DA) DescriptorSet 0
+ Decorate 1095(gl_FragCoord) BuiltIn FragCoord
+ Decorate 1097(vl2) Location 6
+ Decorate 1105(u) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 10: TypeFloat 32
+ 11: TypeVector 10(float) 4
+ 12: TypePointer Output 11(fvec4)
+ 13(outp): 12(ptr) Variable Output
+ 14: TypeImage 10(float) Rect depth sampled format:Unknown
+ 15: TypeSampledImage 14
+ 16: TypePointer UniformConstant 15
+ 17(u2drs): 16(ptr) Variable UniformConstant
+ 20: TypeVector 10(float) 2
+ 21: 10(float) Constant 0
+ 22: 20(fvec2) ConstantComposite 21 21
+ 23: TypeInt 32 1
+ 24: TypeVector 23(int) 2
+ 25: 23(int) Constant 3
+ 26: 23(int) Constant 4
+ 27: 24(ivec2) ConstantComposite 25 26
+ 30: TypeInt 32 0
+ 31: 30(int) Constant 0
+ 32: TypePointer Output 10(float)
+ 37: TypeFloat 64
+ 38: TypePointer Function 37(float)
+ 40: 37(float) Constant 2507418074 1073430332
+ 41: TypeVector 37(float) 2
+ 42: TypePointer Function 41(fvec2)
+ 44: 37(float) Constant 796182188 1073367658
+ 45: 41(fvec2) ConstantComposite 44 44
+ 46: TypeVector 37(float) 3
+ 47: TypePointer Function 46(fvec3)
+ 49: 37(float) Constant 1719614413 1073127582
+ 50: 46(fvec3) ConstantComposite 49 49 49
+ 51: TypeVector 37(float) 4
+ 52: TypePointer Function 51(fvec4)
+ 426: TypeBool
+ 427: TypePointer Function 426(bool)
+ 435: TypeVector 426(bool) 2
+ 436: TypePointer Function 435(bvec2)
+ 444: TypeVector 426(bool) 3
+ 445: TypePointer Function 444(bvec3)
+ 453: TypeVector 426(bool) 4
+ 454: TypePointer Function 453(bvec4)
+ 561: 426(bool) ConstantFalse
+ 570: 435(bvec2) ConstantComposite 561 561
+ 579: 444(bvec3) ConstantComposite 561 561 561
+ 588: 453(bvec4) ConstantComposite 561 561 561 561
+ 735: TypeMatrix 41(fvec2) 2
+ 736: TypePointer Function 735
+ 741: TypeMatrix 46(fvec3) 3
+ 742: TypePointer Function 741
+ 747: TypeMatrix 51(fvec4) 4
+ 748: TypePointer Function 747
+ 753: TypeMatrix 46(fvec3) 2
+ 754: TypePointer Function 753
+ 759: TypeMatrix 41(fvec2) 3
+ 760: TypePointer Function 759
+ 765: TypeMatrix 51(fvec4) 2
+ 766: TypePointer Function 765
+ 771: TypeMatrix 41(fvec2) 4
+ 772: TypePointer Function 771
+ 777: TypeMatrix 51(fvec4) 3
+ 778: TypePointer Function 777
+ 783: TypeMatrix 46(fvec3) 4
+ 784: TypePointer Function 783
+ 952: 30(int) Constant 1
+ 956: 30(int) Constant 2
+ 960: 30(int) Constant 3
+ 964: 23(int) Constant 1
+ 968: 23(int) Constant 2
+ 994: 10(float) Constant 1065353216
+ 1016: TypePointer Function 11(fvec4)
+ 1018: TypeImage 10(float) 2D sampled format:Unknown
+ 1019: TypeSampledImage 1018
+ 1020: 30(int) Constant 5
+ 1021: TypeArray 1019 1020
+ 1022: TypePointer UniformConstant 1021
+1023(arrayedSampler): 1022(ptr) Variable UniformConstant
+ 1024: TypePointer Input 23(int)
+ 1025(i): 1024(ptr) Variable Input
+ 1027: TypePointer UniformConstant 1019
+ 1030: TypePointer Input 20(fvec2)
+ 1031(c2D): 1030(ptr) Variable Input
+ 1034: TypeArray 10(float) 956
+ 1035: TypePointer Input 1034
+1036(gl_ClipDistance): 1035(ptr) Variable Input
+ 1037: TypePointer Input 10(float)
+ 1041: TypeVector 10(float) 3
+ 1046: TypeVector 30(int) 4
+ 1047: TypePointer Output 1046(ivec4)
+ 1048(uoutp): 1047(ptr) Variable Output
+ 1049: TypeImage 30(int) Rect sampled format:Unknown
+ 1050: TypeSampledImage 1049
+ 1051: TypePointer UniformConstant 1050
+ 1052(samp2dr): 1051(ptr) Variable UniformConstant
+ 1055: 30(int) Constant 4
+ 1056: TypeArray 24(ivec2) 1055
+ 1057: 24(ivec2) ConstantComposite 964 968
+ 1058: 23(int) Constant 15
+ 1059: 23(int) Constant 16
+ 1060: 24(ivec2) ConstantComposite 1058 1059
+ 1061: 23(int) Constant 4294967294
+ 1062: 23(int) Constant 0
+ 1063: 24(ivec2) ConstantComposite 1061 1062
+ 1064: 1056 ConstantComposite 1057 27 1060 1063
+ 1072: TypeVector 23(int) 4
+ 1073: TypePointer Output 1072(ivec4)
+ 1074(ioutp): 1073(ptr) Variable Output
+ 1075: TypeImage 23(int) 2D array sampled format:Unknown
+ 1076: TypeSampledImage 1075
+ 1077: TypePointer UniformConstant 1076
+ 1078(isamp2DA): 1077(ptr) Variable UniformConstant
+ 1080: 10(float) Constant 1036831949
+ 1081: 1041(fvec3) ConstantComposite 1080 1080 1080
+ 1082: 24(ivec2) ConstantComposite 964 964
+ 1094: TypePointer Input 11(fvec4)
+1095(gl_FragCoord): 1094(ptr) Variable Input
+ 1097(vl2): 1094(ptr) Variable Input
+ 1102: TypePointer Output 30(int)
+ 1103(uo): 1102(ptr) Variable Output
+ 1104: TypePointer Input 30(int)
+ 1105(u): 1104(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 1017(v): 1016(ptr) Variable Function
+ 1026: 23(int) Load 1025(i)
+ 1028: 1027(ptr) AccessChain 1023(arrayedSampler) 1026
+ 1029: 1019 Load 1028
+ 1032: 20(fvec2) Load 1031(c2D)
+ 1033: 11(fvec4) ImageSampleImplicitLod 1029 1032
+ Store 1017(v) 1033
+ 1038: 1037(ptr) AccessChain 1036(gl_ClipDistance) 964
+ 1039: 10(float) Load 1038
+ 1040: 32(ptr) AccessChain 13(outp) 31
+ Store 1040 1039
+ 1042: 11(fvec4) Load 1017(v)
+ 1043: 1041(fvec3) VectorShuffle 1042 1042 1 2 3
+ 1044: 11(fvec4) Load 13(outp)
+ 1045: 11(fvec4) VectorShuffle 1044 1043 0 4 5 6
+ Store 13(outp) 1045
+ 1053: 1050 Load 1052(samp2dr)
+ 1054: 20(fvec2) Load 1031(c2D)
+ 1065: 1046(ivec4) ImageGather 1053 1054 968 ConstOffsets 1064
+ Store 1048(uoutp) 1065
+ 1066: 1027(ptr) AccessChain 1023(arrayedSampler) 1062
+ 1067: 1019 Load 1066
+ 1068: 20(fvec2) Load 1031(c2D)
+ 1069: 11(fvec4) ImageGather 1067 1068 1062
+ 1070: 11(fvec4) Load 13(outp)
+ 1071: 11(fvec4) FAdd 1070 1069
+ Store 13(outp) 1071
+ 1079: 1076 Load 1078(isamp2DA)
+ 1083: 1072(ivec4) ImageGather 1079 1081 25 ConstOffset 1082
+ Store 1074(ioutp) 1083
+ 1084: 1076 Load 1078(isamp2DA)
+ 1085: 1072(ivec4) ImageGather 1084 1081 25 ConstOffset 1082
+ 1086: 1072(ivec4) Load 1074(ioutp)
+ 1087: 1072(ivec4) IAdd 1086 1085
+ Store 1074(ioutp) 1087
+ 1088: 1076 Load 1078(isamp2DA)
+ 1089: 23(int) Load 1025(i)
+ 1090: 24(ivec2) CompositeConstruct 1089 1089
+ 1091: 1072(ivec4) ImageGather 1088 1081 1062 Offset 1090
+ 1092: 1072(ivec4) Load 1074(ioutp)
+ 1093: 1072(ivec4) IAdd 1092 1091
+ Store 1074(ioutp) 1093
+ 1096: 11(fvec4) Load 1095(gl_FragCoord)
+ 1098: 11(fvec4) Load 1097(vl2)
+ 1099: 11(fvec4) FAdd 1096 1098
+ 1100: 11(fvec4) Load 13(outp)
+ 1101: 11(fvec4) FAdd 1100 1099
+ Store 13(outp) 1101
+ 1106: 30(int) Load 1105(u)
+ 1107: 23(int) Load 1025(i)
+ 1108: 30(int) Bitcast 1107
+ 1109: 30(int) UMod 1106 1108
+ Store 1103(uo) 1109
+ 1110: 2 FunctionCall 6(foo23()
+ 1111: 2 FunctionCall 8(doubles()
+ Return
+ FunctionEnd
+ 6(foo23(): 2 Function None 3
+ 7: Label
+ 18: 15 Load 17(u2drs)
+ 19: 11(fvec4) Load 13(outp)
+ 28: 10(float) CompositeExtract 19 2
+ 29: 10(float) ImageSampleProjDrefExplicitLod 18 19 28 Grad ConstOffset 22 22 27
+ 33: 32(ptr) AccessChain 13(outp) 31
+ 34: 10(float) Load 33
+ 35: 10(float) FAdd 34 29
+ 36: 32(ptr) AccessChain 13(outp) 31
+ Store 36 35
+ Return
+ FunctionEnd
+ 8(doubles(): 2 Function None 3
+ 9: Label
+ 39(doublev): 38(ptr) Variable Function
+ 43(dvec2v): 42(ptr) Variable Function
+ 48(dvec3v): 47(ptr) Variable Function
+ 53(dvec4v): 52(ptr) Variable Function
+ 428(boolv): 427(ptr) Variable Function
+ 437(bvec2v): 436(ptr) Variable Function
+ 446(bvec3v): 445(ptr) Variable Function
+ 455(bvec4v): 454(ptr) Variable Function
+ 554: 427(ptr) Variable Function
+ 563: 436(ptr) Variable Function
+ 572: 445(ptr) Variable Function
+ 581: 454(ptr) Variable Function
+ 737(dmat2v): 736(ptr) Variable Function
+ 743(dmat3v): 742(ptr) Variable Function
+ 749(dmat4v): 748(ptr) Variable Function
+ 755(dmat2x3v): 754(ptr) Variable Function
+ 761(dmat3x2v): 760(ptr) Variable Function
+ 767(dmat2x4v): 766(ptr) Variable Function
+ 773(dmat4x2v): 772(ptr) Variable Function
+ 779(dmat3x4v): 778(ptr) Variable Function
+ 785(dmat4x3v): 784(ptr) Variable Function
+ Store 39(doublev) 40
+ Store 43(dvec2v) 45
+ Store 48(dvec3v) 50
+ 54: 37(float) Load 39(doublev)
+ 55: 51(fvec4) CompositeConstruct 54 54 54 54
+ 56: 51(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 55
+ Store 53(dvec4v) 56
+ 57: 37(float) Load 39(doublev)
+ 58: 37(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 57
+ 59: 37(float) Load 39(doublev)
+ 60: 37(float) FAdd 59 58
+ Store 39(doublev) 60
+ 61: 41(fvec2) Load 43(dvec2v)
+ 62: 41(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 61
+ 63: 41(fvec2) Load 43(dvec2v)
+ 64: 41(fvec2) FAdd 63 62
+ Store 43(dvec2v) 64
+ 65: 46(fvec3) Load 48(dvec3v)
+ 66: 46(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 65
+ 67: 46(fvec3) Load 48(dvec3v)
+ 68: 46(fvec3) FAdd 67 66
+ Store 48(dvec3v) 68
+ 69: 51(fvec4) Load 53(dvec4v)
+ 70: 51(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 69
+ 71: 51(fvec4) Load 53(dvec4v)
+ 72: 51(fvec4) FAdd 71 70
+ Store 53(dvec4v) 72
+ 73: 37(float) Load 39(doublev)
+ 74: 37(float) ExtInst 1(GLSL.std.450) 4(FAbs) 73
+ 75: 37(float) Load 39(doublev)
+ 76: 37(float) FAdd 75 74
+ Store 39(doublev) 76
+ 77: 41(fvec2) Load 43(dvec2v)
+ 78: 41(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 77
+ 79: 41(fvec2) Load 43(dvec2v)
+ 80: 41(fvec2) FAdd 79 78
+ Store 43(dvec2v) 80
+ 81: 46(fvec3) Load 48(dvec3v)
+ 82: 46(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 81
+ 83: 46(fvec3) Load 48(dvec3v)
+ 84: 46(fvec3) FAdd 83 82
+ Store 48(dvec3v) 84
+ 85: 51(fvec4) Load 53(dvec4v)
+ 86: 51(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 85
+ 87: 51(fvec4) Load 53(dvec4v)
+ 88: 51(fvec4) FAdd 87 86
+ Store 53(dvec4v) 88
+ 89: 37(float) Load 39(doublev)
+ 90: 37(float) ExtInst 1(GLSL.std.450) 6(FSign) 89
+ 91: 37(float) Load 39(doublev)
+ 92: 37(float) FAdd 91 90
+ Store 39(doublev) 92
+ 93: 41(fvec2) Load 43(dvec2v)
+ 94: 41(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 93
+ 95: 41(fvec2) Load 43(dvec2v)
+ 96: 41(fvec2) FAdd 95 94
+ Store 43(dvec2v) 96
+ 97: 46(fvec3) Load 48(dvec3v)
+ 98: 46(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 97
+ 99: 46(fvec3) Load 48(dvec3v)
+ 100: 46(fvec3) FAdd 99 98
+ Store 48(dvec3v) 100
+ 101: 51(fvec4) Load 53(dvec4v)
+ 102: 51(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 101
+ 103: 51(fvec4) Load 53(dvec4v)
+ 104: 51(fvec4) FAdd 103 102
+ Store 53(dvec4v) 104
+ 105: 37(float) Load 39(doublev)
+ 106: 37(float) ExtInst 1(GLSL.std.450) 8(Floor) 105
+ 107: 37(float) Load 39(doublev)
+ 108: 37(float) FAdd 107 106
+ Store 39(doublev) 108
+ 109: 41(fvec2) Load 43(dvec2v)
+ 110: 41(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 109
+ 111: 41(fvec2) Load 43(dvec2v)
+ 112: 41(fvec2) FAdd 111 110
+ Store 43(dvec2v) 112
+ 113: 46(fvec3) Load 48(dvec3v)
+ 114: 46(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 113
+ 115: 46(fvec3) Load 48(dvec3v)
+ 116: 46(fvec3) FAdd 115 114
+ Store 48(dvec3v) 116
+ 117: 51(fvec4) Load 53(dvec4v)
+ 118: 51(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 117
+ 119: 51(fvec4) Load 53(dvec4v)
+ 120: 51(fvec4) FAdd 119 118
+ Store 53(dvec4v) 120
+ 121: 37(float) Load 39(doublev)
+ 122: 37(float) ExtInst 1(GLSL.std.450) 3(Trunc) 121
+ 123: 37(float) Load 39(doublev)
+ 124: 37(float) FAdd 123 122
+ Store 39(doublev) 124
+ 125: 41(fvec2) Load 43(dvec2v)
+ 126: 41(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 125
+ 127: 41(fvec2) Load 43(dvec2v)
+ 128: 41(fvec2) FAdd 127 126
+ Store 43(dvec2v) 128
+ 129: 46(fvec3) Load 48(dvec3v)
+ 130: 46(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 129
+ 131: 46(fvec3) Load 48(dvec3v)
+ 132: 46(fvec3) FAdd 131 130
+ Store 48(dvec3v) 132
+ 133: 51(fvec4) Load 53(dvec4v)
+ 134: 51(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 133
+ 135: 51(fvec4) Load 53(dvec4v)
+ 136: 51(fvec4) FAdd 135 134
+ Store 53(dvec4v) 136
+ 137: 37(float) Load 39(doublev)
+ 138: 37(float) ExtInst 1(GLSL.std.450) 1(Round) 137
+ 139: 37(float) Load 39(doublev)
+ 140: 37(float) FAdd 139 138
+ Store 39(doublev) 140
+ 141: 41(fvec2) Load 43(dvec2v)
+ 142: 41(fvec2) ExtInst 1(GLSL.std.450) 1(Round) 141
+ 143: 41(fvec2) Load 43(dvec2v)
+ 144: 41(fvec2) FAdd 143 142
+ Store 43(dvec2v) 144
+ 145: 46(fvec3) Load 48(dvec3v)
+ 146: 46(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 145
+ 147: 46(fvec3) Load 48(dvec3v)
+ 148: 46(fvec3) FAdd 147 146
+ Store 48(dvec3v) 148
+ 149: 51(fvec4) Load 53(dvec4v)
+ 150: 51(fvec4) ExtInst 1(GLSL.std.450) 1(Round) 149
+ 151: 51(fvec4) Load 53(dvec4v)
+ 152: 51(fvec4) FAdd 151 150
+ Store 53(dvec4v) 152
+ 153: 37(float) Load 39(doublev)
+ 154: 37(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 153
+ 155: 37(float) Load 39(doublev)
+ 156: 37(float) FAdd 155 154
+ Store 39(doublev) 156
+ 157: 41(fvec2) Load 43(dvec2v)
+ 158: 41(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 157
+ 159: 41(fvec2) Load 43(dvec2v)
+ 160: 41(fvec2) FAdd 159 158
+ Store 43(dvec2v) 160
+ 161: 46(fvec3) Load 48(dvec3v)
+ 162: 46(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 161
+ 163: 46(fvec3) Load 48(dvec3v)
+ 164: 46(fvec3) FAdd 163 162
+ Store 48(dvec3v) 164
+ 165: 51(fvec4) Load 53(dvec4v)
+ 166: 51(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 165
+ 167: 51(fvec4) Load 53(dvec4v)
+ 168: 51(fvec4) FAdd 167 166
+ Store 53(dvec4v) 168
+ 169: 37(float) Load 39(doublev)
+ 170: 37(float) ExtInst 1(GLSL.std.450) 9(Ceil) 169
+ 171: 37(float) Load 39(doublev)
+ 172: 37(float) FAdd 171 170
+ Store 39(doublev) 172
+ 173: 41(fvec2) Load 43(dvec2v)
+ 174: 41(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 173
+ 175: 41(fvec2) Load 43(dvec2v)
+ 176: 41(fvec2) FAdd 175 174
+ Store 43(dvec2v) 176
+ 177: 46(fvec3) Load 48(dvec3v)
+ 178: 46(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 177
+ 179: 46(fvec3) Load 48(dvec3v)
+ 180: 46(fvec3) FAdd 179 178
+ Store 48(dvec3v) 180
+ 181: 51(fvec4) Load 53(dvec4v)
+ 182: 51(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 181
+ 183: 51(fvec4) Load 53(dvec4v)
+ 184: 51(fvec4) FAdd 183 182
+ Store 53(dvec4v) 184
+ 185: 37(float) Load 39(doublev)
+ 186: 37(float) ExtInst 1(GLSL.std.450) 10(Fract) 185
+ 187: 37(float) Load 39(doublev)
+ 188: 37(float) FAdd 187 186
+ Store 39(doublev) 188
+ 189: 41(fvec2) Load 43(dvec2v)
+ 190: 41(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 189
+ 191: 41(fvec2) Load 43(dvec2v)
+ 192: 41(fvec2) FAdd 191 190
+ Store 43(dvec2v) 192
+ 193: 46(fvec3) Load 48(dvec3v)
+ 194: 46(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 193
+ 195: 46(fvec3) Load 48(dvec3v)
+ 196: 46(fvec3) FAdd 195 194
+ Store 48(dvec3v) 196
+ 197: 51(fvec4) Load 53(dvec4v)
+ 198: 51(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 197
+ 199: 51(fvec4) Load 53(dvec4v)
+ 200: 51(fvec4) FAdd 199 198
+ Store 53(dvec4v) 200
+ 201: 37(float) Load 39(doublev)
+ 202: 37(float) Load 39(doublev)
+ 203: 37(float) FMod 201 202
+ 204: 37(float) Load 39(doublev)
+ 205: 37(float) FAdd 204 203
+ Store 39(doublev) 205
+ 206: 41(fvec2) Load 43(dvec2v)
+ 207: 37(float) Load 39(doublev)
+ 208: 41(fvec2) CompositeConstruct 207 207
+ 209: 41(fvec2) FMod 206 208
+ 210: 41(fvec2) Load 43(dvec2v)
+ 211: 41(fvec2) FAdd 210 209
+ Store 43(dvec2v) 211
+ 212: 46(fvec3) Load 48(dvec3v)
+ 213: 37(float) Load 39(doublev)
+ 214: 46(fvec3) CompositeConstruct 213 213 213
+ 215: 46(fvec3) FMod 212 214
+ 216: 46(fvec3) Load 48(dvec3v)
+ 217: 46(fvec3) FAdd 216 215
+ Store 48(dvec3v) 217
+ 218: 51(fvec4) Load 53(dvec4v)
+ 219: 37(float) Load 39(doublev)
+ 220: 51(fvec4) CompositeConstruct 219 219 219 219
+ 221: 51(fvec4) FMod 218 220
+ 222: 51(fvec4) Load 53(dvec4v)
+ 223: 51(fvec4) FAdd 222 221
+ Store 53(dvec4v) 223
+ 224: 41(fvec2) Load 43(dvec2v)
+ 225: 41(fvec2) Load 43(dvec2v)
+ 226: 41(fvec2) FMod 224 225
+ 227: 41(fvec2) Load 43(dvec2v)
+ 228: 41(fvec2) FAdd 227 226
+ Store 43(dvec2v) 228
+ 229: 46(fvec3) Load 48(dvec3v)
+ 230: 46(fvec3) Load 48(dvec3v)
+ 231: 46(fvec3) FMod 229 230
+ 232: 46(fvec3) Load 48(dvec3v)
+ 233: 46(fvec3) FAdd 232 231
+ Store 48(dvec3v) 233
+ 234: 51(fvec4) Load 53(dvec4v)
+ 235: 51(fvec4) Load 53(dvec4v)
+ 236: 51(fvec4) FMod 234 235
+ 237: 51(fvec4) Load 53(dvec4v)
+ 238: 51(fvec4) FAdd 237 236
+ Store 53(dvec4v) 238
+ 239: 37(float) Load 39(doublev)
+ 240: 37(float) ExtInst 1(GLSL.std.450) 35(Modf) 239 39(doublev)
+ 241: 37(float) Load 39(doublev)
+ 242: 37(float) FAdd 241 240
+ Store 39(doublev) 242
+ 243: 41(fvec2) Load 43(dvec2v)
+ 244: 41(fvec2) ExtInst 1(GLSL.std.450) 35(Modf) 243 43(dvec2v)
+ 245: 41(fvec2) Load 43(dvec2v)
+ 246: 41(fvec2) FAdd 245 244
+ Store 43(dvec2v) 246
+ 247: 46(fvec3) Load 48(dvec3v)
+ 248: 46(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 247 48(dvec3v)
+ 249: 46(fvec3) Load 48(dvec3v)
+ 250: 46(fvec3) FAdd 249 248
+ Store 48(dvec3v) 250
+ 251: 51(fvec4) Load 53(dvec4v)
+ 252: 51(fvec4) ExtInst 1(GLSL.std.450) 35(Modf) 251 53(dvec4v)
+ 253: 51(fvec4) Load 53(dvec4v)
+ 254: 51(fvec4) FAdd 253 252
+ Store 53(dvec4v) 254
+ 255: 37(float) Load 39(doublev)
+ 256: 37(float) Load 39(doublev)
+ 257: 37(float) ExtInst 1(GLSL.std.450) 37(FMin) 255 256
+ 258: 37(float) Load 39(doublev)
+ 259: 37(float) FAdd 258 257
+ Store 39(doublev) 259
+ 260: 41(fvec2) Load 43(dvec2v)
+ 261: 37(float) Load 39(doublev)
+ 262: 41(fvec2) CompositeConstruct 261 261
+ 263: 41(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 260 262
+ 264: 41(fvec2) Load 43(dvec2v)
+ 265: 41(fvec2) FAdd 264 263
+ Store 43(dvec2v) 265
+ 266: 46(fvec3) Load 48(dvec3v)
+ 267: 37(float) Load 39(doublev)
+ 268: 46(fvec3) CompositeConstruct 267 267 267
+ 269: 46(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 266 268
+ 270: 46(fvec3) Load 48(dvec3v)
+ 271: 46(fvec3) FAdd 270 269
+ Store 48(dvec3v) 271
+ 272: 51(fvec4) Load 53(dvec4v)
+ 273: 37(float) Load 39(doublev)
+ 274: 51(fvec4) CompositeConstruct 273 273 273 273
+ 275: 51(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 272 274
+ 276: 51(fvec4) Load 53(dvec4v)
+ 277: 51(fvec4) FAdd 276 275
+ Store 53(dvec4v) 277
+ 278: 41(fvec2) Load 43(dvec2v)
+ 279: 41(fvec2) Load 43(dvec2v)
+ 280: 41(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 278 279
+ 281: 41(fvec2) Load 43(dvec2v)
+ 282: 41(fvec2) FAdd 281 280
+ Store 43(dvec2v) 282
+ 283: 46(fvec3) Load 48(dvec3v)
+ 284: 46(fvec3) Load 48(dvec3v)
+ 285: 46(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 283 284
+ 286: 46(fvec3) Load 48(dvec3v)
+ 287: 46(fvec3) FAdd 286 285
+ Store 48(dvec3v) 287
+ 288: 51(fvec4) Load 53(dvec4v)
+ 289: 51(fvec4) Load 53(dvec4v)
+ 290: 51(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 288 289
+ 291: 51(fvec4) Load 53(dvec4v)
+ 292: 51(fvec4) FAdd 291 290
+ Store 53(dvec4v) 292
+ 293: 37(float) Load 39(doublev)
+ 294: 37(float) Load 39(doublev)
+ 295: 37(float) ExtInst 1(GLSL.std.450) 40(FMax) 293 294
+ 296: 37(float) Load 39(doublev)
+ 297: 37(float) FAdd 296 295
+ Store 39(doublev) 297
+ 298: 41(fvec2) Load 43(dvec2v)
+ 299: 37(float) Load 39(doublev)
+ 300: 41(fvec2) CompositeConstruct 299 299
+ 301: 41(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 298 300
+ 302: 41(fvec2) Load 43(dvec2v)
+ 303: 41(fvec2) FAdd 302 301
+ Store 43(dvec2v) 303
+ 304: 46(fvec3) Load 48(dvec3v)
+ 305: 37(float) Load 39(doublev)
+ 306: 46(fvec3) CompositeConstruct 305 305 305
+ 307: 46(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 304 306
+ 308: 46(fvec3) Load 48(dvec3v)
+ 309: 46(fvec3) FAdd 308 307
+ Store 48(dvec3v) 309
+ 310: 51(fvec4) Load 53(dvec4v)
+ 311: 37(float) Load 39(doublev)
+ 312: 51(fvec4) CompositeConstruct 311 311 311 311
+ 313: 51(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 310 312
+ 314: 51(fvec4) Load 53(dvec4v)
+ 315: 51(fvec4) FAdd 314 313
+ Store 53(dvec4v) 315
+ 316: 41(fvec2) Load 43(dvec2v)
+ 317: 41(fvec2) Load 43(dvec2v)
+ 318: 41(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 316 317
+ 319: 41(fvec2) Load 43(dvec2v)
+ 320: 41(fvec2) FAdd 319 318
+ Store 43(dvec2v) 320
+ 321: 46(fvec3) Load 48(dvec3v)
+ 322: 46(fvec3) Load 48(dvec3v)
+ 323: 46(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 321 322
+ 324: 46(fvec3) Load 48(dvec3v)
+ 325: 46(fvec3) FAdd 324 323
+ Store 48(dvec3v) 325
+ 326: 51(fvec4) Load 53(dvec4v)
+ 327: 51(fvec4) Load 53(dvec4v)
+ 328: 51(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 326 327
+ 329: 51(fvec4) Load 53(dvec4v)
+ 330: 51(fvec4) FAdd 329 328
+ Store 53(dvec4v) 330
+ 331: 37(float) Load 39(doublev)
+ 332: 37(float) Load 39(doublev)
+ 333: 37(float) Load 39(doublev)
+ 334: 37(float) ExtInst 1(GLSL.std.450) 43(FClamp) 331 332 333
+ 335: 37(float) Load 39(doublev)
+ 336: 37(float) FAdd 335 334
+ Store 39(doublev) 336
+ 337: 41(fvec2) Load 43(dvec2v)
+ 338: 37(float) Load 39(doublev)
+ 339: 37(float) Load 39(doublev)
+ 340: 41(fvec2) CompositeConstruct 338 338
+ 341: 41(fvec2) CompositeConstruct 339 339
+ 342: 41(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 337 340 341
+ 343: 41(fvec2) Load 43(dvec2v)
+ 344: 41(fvec2) FAdd 343 342
+ Store 43(dvec2v) 344
+ 345: 46(fvec3) Load 48(dvec3v)
+ 346: 37(float) Load 39(doublev)
+ 347: 37(float) Load 39(doublev)
+ 348: 46(fvec3) CompositeConstruct 346 346 346
+ 349: 46(fvec3) CompositeConstruct 347 347 347
+ 350: 46(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 345 348 349
+ 351: 46(fvec3) Load 48(dvec3v)
+ 352: 46(fvec3) FAdd 351 350
+ Store 48(dvec3v) 352
+ 353: 51(fvec4) Load 53(dvec4v)
+ 354: 37(float) Load 39(doublev)
+ 355: 37(float) Load 39(doublev)
+ 356: 51(fvec4) CompositeConstruct 354 354 354 354
+ 357: 51(fvec4) CompositeConstruct 355 355 355 355
+ 358: 51(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 353 356 357
+ 359: 51(fvec4) Load 53(dvec4v)
+ 360: 51(fvec4) FAdd 359 358
+ Store 53(dvec4v) 360
+ 361: 41(fvec2) Load 43(dvec2v)
+ 362: 41(fvec2) Load 43(dvec2v)
+ 363: 41(fvec2) Load 43(dvec2v)
+ 364: 41(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 361 362 363
+ 365: 41(fvec2) Load 43(dvec2v)
+ 366: 41(fvec2) FAdd 365 364
+ Store 43(dvec2v) 366
+ 367: 46(fvec3) Load 48(dvec3v)
+ 368: 46(fvec3) Load 48(dvec3v)
+ 369: 46(fvec3) Load 48(dvec3v)
+ 370: 46(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 367 368 369
+ 371: 46(fvec3) Load 48(dvec3v)
+ 372: 46(fvec3) FAdd 371 370
+ Store 48(dvec3v) 372
+ 373: 51(fvec4) Load 53(dvec4v)
+ 374: 51(fvec4) Load 53(dvec4v)
+ 375: 51(fvec4) Load 53(dvec4v)
+ 376: 51(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 373 374 375
+ 377: 51(fvec4) Load 53(dvec4v)
+ 378: 51(fvec4) FAdd 377 376
+ Store 53(dvec4v) 378
+ 379: 37(float) Load 39(doublev)
+ 380: 37(float) Load 39(doublev)
+ 381: 37(float) Load 39(doublev)
+ 382: 37(float) ExtInst 1(GLSL.std.450) 46(FMix) 379 380 381
+ 383: 37(float) Load 39(doublev)
+ 384: 37(float) FAdd 383 382
+ Store 39(doublev) 384
+ 385: 41(fvec2) Load 43(dvec2v)
+ 386: 41(fvec2) Load 43(dvec2v)
+ 387: 37(float) Load 39(doublev)
+ 388: 41(fvec2) CompositeConstruct 387 387
+ 389: 41(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 385 386 388
+ 390: 41(fvec2) Load 43(dvec2v)
+ 391: 41(fvec2) FAdd 390 389
+ Store 43(dvec2v) 391
+ 392: 46(fvec3) Load 48(dvec3v)
+ 393: 46(fvec3) Load 48(dvec3v)
+ 394: 37(float) Load 39(doublev)
+ 395: 46(fvec3) CompositeConstruct 394 394 394
+ 396: 46(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 392 393 395
+ 397: 46(fvec3) Load 48(dvec3v)
+ 398: 46(fvec3) FAdd 397 396
+ Store 48(dvec3v) 398
+ 399: 51(fvec4) Load 53(dvec4v)
+ 400: 51(fvec4) Load 53(dvec4v)
+ 401: 37(float) Load 39(doublev)
+ 402: 51(fvec4) CompositeConstruct 401 401 401 401
+ 403: 51(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 399 400 402
+ 404: 51(fvec4) Load 53(dvec4v)
+ 405: 51(fvec4) FAdd 404 403
+ Store 53(dvec4v) 405
+ 406: 41(fvec2) Load 43(dvec2v)
+ 407: 41(fvec2) Load 43(dvec2v)
+ 408: 41(fvec2) Load 43(dvec2v)
+ 409: 41(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 406 407 408
+ 410: 41(fvec2) Load 43(dvec2v)
+ 411: 41(fvec2) FAdd 410 409
+ Store 43(dvec2v) 411
+ 412: 46(fvec3) Load 48(dvec3v)
+ 413: 46(fvec3) Load 48(dvec3v)
+ 414: 46(fvec3) Load 48(dvec3v)
+ 415: 46(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 412 413 414
+ 416: 46(fvec3) Load 48(dvec3v)
+ 417: 46(fvec3) FAdd 416 415
+ Store 48(dvec3v) 417
+ 418: 51(fvec4) Load 53(dvec4v)
+ 419: 51(fvec4) Load 53(dvec4v)
+ 420: 51(fvec4) Load 53(dvec4v)
+ 421: 51(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 418 419 420
+ 422: 51(fvec4) Load 53(dvec4v)
+ 423: 51(fvec4) FAdd 422 421
+ Store 53(dvec4v) 423
+ 424: 37(float) Load 39(doublev)
+ 425: 37(float) Load 39(doublev)
+ 429: 426(bool) Load 428(boolv)
+ 430: 37(float) Select 429 425 424
+ 431: 37(float) Load 39(doublev)
+ 432: 37(float) FAdd 431 430
+ Store 39(doublev) 432
+ 433: 41(fvec2) Load 43(dvec2v)
+ 434: 41(fvec2) Load 43(dvec2v)
+ 438: 435(bvec2) Load 437(bvec2v)
+ 439: 41(fvec2) Select 438 434 433
+ 440: 41(fvec2) Load 43(dvec2v)
+ 441: 41(fvec2) FAdd 440 439
+ Store 43(dvec2v) 441
+ 442: 46(fvec3) Load 48(dvec3v)
+ 443: 46(fvec3) Load 48(dvec3v)
+ 447: 444(bvec3) Load 446(bvec3v)
+ 448: 46(fvec3) Select 447 443 442
+ 449: 46(fvec3) Load 48(dvec3v)
+ 450: 46(fvec3) FAdd 449 448
+ Store 48(dvec3v) 450
+ 451: 51(fvec4) Load 53(dvec4v)
+ 452: 51(fvec4) Load 53(dvec4v)
+ 456: 453(bvec4) Load 455(bvec4v)
+ 457: 51(fvec4) Select 456 452 451
+ 458: 51(fvec4) Load 53(dvec4v)
+ 459: 51(fvec4) FAdd 458 457
+ Store 53(dvec4v) 459
+ 460: 37(float) Load 39(doublev)
+ 461: 37(float) Load 39(doublev)
+ 462: 37(float) ExtInst 1(GLSL.std.450) 48(Step) 460 461
+ 463: 37(float) Load 39(doublev)
+ 464: 37(float) FAdd 463 462
+ Store 39(doublev) 464
+ 465: 41(fvec2) Load 43(dvec2v)
+ 466: 41(fvec2) Load 43(dvec2v)
+ 467: 41(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 465 466
+ 468: 41(fvec2) Load 43(dvec2v)
+ 469: 41(fvec2) FAdd 468 467
+ Store 43(dvec2v) 469
+ 470: 46(fvec3) Load 48(dvec3v)
+ 471: 46(fvec3) Load 48(dvec3v)
+ 472: 46(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 470 471
+ 473: 46(fvec3) Load 48(dvec3v)
+ 474: 46(fvec3) FAdd 473 472
+ Store 48(dvec3v) 474
+ 475: 51(fvec4) Load 53(dvec4v)
+ 476: 51(fvec4) Load 53(dvec4v)
+ 477: 51(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 475 476
+ 478: 51(fvec4) Load 53(dvec4v)
+ 479: 51(fvec4) FAdd 478 477
+ Store 53(dvec4v) 479
+ 480: 37(float) Load 39(doublev)
+ 481: 41(fvec2) Load 43(dvec2v)
+ 482: 41(fvec2) CompositeConstruct 480 480
+ 483: 41(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 482 481
+ 484: 41(fvec2) Load 43(dvec2v)
+ 485: 41(fvec2) FAdd 484 483
+ Store 43(dvec2v) 485
+ 486: 37(float) Load 39(doublev)
+ 487: 46(fvec3) Load 48(dvec3v)
+ 488: 46(fvec3) CompositeConstruct 486 486 486
+ 489: 46(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 488 487
+ 490: 46(fvec3) Load 48(dvec3v)
+ 491: 46(fvec3) FAdd 490 489
+ Store 48(dvec3v) 491
+ 492: 37(float) Load 39(doublev)
+ 493: 51(fvec4) Load 53(dvec4v)
+ 494: 51(fvec4) CompositeConstruct 492 492 492 492
+ 495: 51(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 494 493
+ 496: 51(fvec4) Load 53(dvec4v)
+ 497: 51(fvec4) FAdd 496 495
+ Store 53(dvec4v) 497
+ 498: 37(float) Load 39(doublev)
+ 499: 37(float) Load 39(doublev)
+ 500: 37(float) Load 39(doublev)
+ 501: 37(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 498 499 500
+ 502: 37(float) Load 39(doublev)
+ 503: 37(float) FAdd 502 501
+ Store 39(doublev) 503
+ 504: 41(fvec2) Load 43(dvec2v)
+ 505: 41(fvec2) Load 43(dvec2v)
+ 506: 41(fvec2) Load 43(dvec2v)
+ 507: 41(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 504 505 506
+ 508: 41(fvec2) Load 43(dvec2v)
+ 509: 41(fvec2) FAdd 508 507
+ Store 43(dvec2v) 509
+ 510: 46(fvec3) Load 48(dvec3v)
+ 511: 46(fvec3) Load 48(dvec3v)
+ 512: 46(fvec3) Load 48(dvec3v)
+ 513: 46(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 510 511 512
+ 514: 46(fvec3) Load 48(dvec3v)
+ 515: 46(fvec3) FAdd 514 513
+ Store 48(dvec3v) 515
+ 516: 51(fvec4) Load 53(dvec4v)
+ 517: 51(fvec4) Load 53(dvec4v)
+ 518: 51(fvec4) Load 53(dvec4v)
+ 519: 51(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 516 517 518
+ 520: 51(fvec4) Load 53(dvec4v)
+ 521: 51(fvec4) FAdd 520 519
+ Store 53(dvec4v) 521
+ 522: 37(float) Load 39(doublev)
+ 523: 37(float) Load 39(doublev)
+ 524: 41(fvec2) Load 43(dvec2v)
+ 525: 41(fvec2) CompositeConstruct 522 522
+ 526: 41(fvec2) CompositeConstruct 523 523
+ 527: 41(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 525 526 524
+ 528: 41(fvec2) Load 43(dvec2v)
+ 529: 41(fvec2) FAdd 528 527
+ Store 43(dvec2v) 529
+ 530: 37(float) Load 39(doublev)
+ 531: 37(float) Load 39(doublev)
+ 532: 46(fvec3) Load 48(dvec3v)
+ 533: 46(fvec3) CompositeConstruct 530 530 530
+ 534: 46(fvec3) CompositeConstruct 531 531 531
+ 535: 46(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 533 534 532
+ 536: 46(fvec3) Load 48(dvec3v)
+ 537: 46(fvec3) FAdd 536 535
+ Store 48(dvec3v) 537
+ 538: 37(float) Load 39(doublev)
+ 539: 37(float) Load 39(doublev)
+ 540: 51(fvec4) Load 53(dvec4v)
+ 541: 51(fvec4) CompositeConstruct 538 538 538 538
+ 542: 51(fvec4) CompositeConstruct 539 539 539 539
+ 543: 51(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 541 542 540
+ 544: 51(fvec4) Load 53(dvec4v)
+ 545: 51(fvec4) FAdd 544 543
+ Store 53(dvec4v) 545
+ 546: 37(float) Load 39(doublev)
+ 547: 426(bool) IsNan 546
+ Store 428(boolv) 547
+ 548: 41(fvec2) Load 43(dvec2v)
+ 549: 435(bvec2) IsNan 548
+ Store 437(bvec2v) 549
+ 550: 46(fvec3) Load 48(dvec3v)
+ 551: 444(bvec3) IsNan 550
+ Store 446(bvec3v) 551
+ 552: 51(fvec4) Load 53(dvec4v)
+ 553: 453(bvec4) IsNan 552
+ Store 455(bvec4v) 553
+ 555: 426(bool) Load 428(boolv)
+ SelectionMerge 557 None
+ BranchConditional 555 556 560
+ 556: Label
+ 558: 37(float) Load 39(doublev)
+ 559: 426(bool) IsInf 558
+ Store 554 559
+ Branch 557
+ 560: Label
+ Store 554 561
+ Branch 557
+ 557: Label
+ 562: 426(bool) Load 554
+ Store 428(boolv) 562
+ 564: 426(bool) Load 428(boolv)
+ SelectionMerge 566 None
+ BranchConditional 564 565 569
+ 565: Label
+ 567: 41(fvec2) Load 43(dvec2v)
+ 568: 435(bvec2) IsInf 567
+ Store 563 568
+ Branch 566
+ 569: Label
+ Store 563 570
+ Branch 566
+ 566: Label
+ 571: 435(bvec2) Load 563
+ Store 437(bvec2v) 571
+ 573: 426(bool) Load 428(boolv)
+ SelectionMerge 575 None
+ BranchConditional 573 574 578
+ 574: Label
+ 576: 46(fvec3) Load 48(dvec3v)
+ 577: 444(bvec3) IsInf 576
+ Store 572 577
+ Branch 575
+ 578: Label
+ Store 572 579
+ Branch 575
+ 575: Label
+ 580: 444(bvec3) Load 572
+ Store 446(bvec3v) 580
+ 582: 426(bool) Load 428(boolv)
+ SelectionMerge 584 None
+ BranchConditional 582 583 587
+ 583: Label
+ 585: 51(fvec4) Load 53(dvec4v)
+ 586: 453(bvec4) IsInf 585
+ Store 581 586
+ Branch 584
+ 587: Label
+ Store 581 588
+ Branch 584
+ 584: Label
+ 589: 453(bvec4) Load 581
+ Store 455(bvec4v) 589
+ 590: 37(float) Load 39(doublev)
+ 591: 37(float) ExtInst 1(GLSL.std.450) 66(Length) 590
+ 592: 37(float) Load 39(doublev)
+ 593: 37(float) FAdd 592 591
+ Store 39(doublev) 593
+ 594: 41(fvec2) Load 43(dvec2v)
+ 595: 37(float) ExtInst 1(GLSL.std.450) 66(Length) 594
+ 596: 37(float) Load 39(doublev)
+ 597: 37(float) FAdd 596 595
+ Store 39(doublev) 597
+ 598: 46(fvec3) Load 48(dvec3v)
+ 599: 37(float) ExtInst 1(GLSL.std.450) 66(Length) 598
+ 600: 37(float) Load 39(doublev)
+ 601: 37(float) FAdd 600 599
+ Store 39(doublev) 601
+ 602: 51(fvec4) Load 53(dvec4v)
+ 603: 37(float) ExtInst 1(GLSL.std.450) 66(Length) 602
+ 604: 37(float) Load 39(doublev)
+ 605: 37(float) FAdd 604 603
+ Store 39(doublev) 605
+ 606: 37(float) Load 39(doublev)
+ 607: 37(float) Load 39(doublev)
+ 608: 37(float) ExtInst 1(GLSL.std.450) 67(Distance) 606 607
+ 609: 37(float) Load 39(doublev)
+ 610: 37(float) FAdd 609 608
+ Store 39(doublev) 610
+ 611: 41(fvec2) Load 43(dvec2v)
+ 612: 41(fvec2) Load 43(dvec2v)
+ 613: 37(float) ExtInst 1(GLSL.std.450) 67(Distance) 611 612
+ 614: 37(float) Load 39(doublev)
+ 615: 37(float) FAdd 614 613
+ Store 39(doublev) 615
+ 616: 46(fvec3) Load 48(dvec3v)
+ 617: 46(fvec3) Load 48(dvec3v)
+ 618: 37(float) ExtInst 1(GLSL.std.450) 67(Distance) 616 617
+ 619: 37(float) Load 39(doublev)
+ 620: 37(float) FAdd 619 618
+ Store 39(doublev) 620
+ 621: 51(fvec4) Load 53(dvec4v)
+ 622: 51(fvec4) Load 53(dvec4v)
+ 623: 37(float) ExtInst 1(GLSL.std.450) 67(Distance) 621 622
+ 624: 37(float) Load 39(doublev)
+ 625: 37(float) FAdd 624 623
+ Store 39(doublev) 625
+ 626: 37(float) Load 39(doublev)
+ 627: 37(float) Load 39(doublev)
+ 628: 37(float) FMul 626 627
+ 629: 37(float) Load 39(doublev)
+ 630: 37(float) FAdd 629 628
+ Store 39(doublev) 630
+ 631: 41(fvec2) Load 43(dvec2v)
+ 632: 41(fvec2) Load 43(dvec2v)
+ 633: 37(float) Dot 631 632
+ 634: 37(float) Load 39(doublev)
+ 635: 37(float) FAdd 634 633
+ Store 39(doublev) 635
+ 636: 46(fvec3) Load 48(dvec3v)
+ 637: 46(fvec3) Load 48(dvec3v)
+ 638: 37(float) Dot 636 637
+ 639: 37(float) Load 39(doublev)
+ 640: 37(float) FAdd 639 638
+ Store 39(doublev) 640
+ 641: 51(fvec4) Load 53(dvec4v)
+ 642: 51(fvec4) Load 53(dvec4v)
+ 643: 37(float) Dot 641 642
+ 644: 37(float) Load 39(doublev)
+ 645: 37(float) FAdd 644 643
+ Store 39(doublev) 645
+ 646: 46(fvec3) Load 48(dvec3v)
+ 647: 46(fvec3) Load 48(dvec3v)
+ 648: 46(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 646 647
+ 649: 46(fvec3) Load 48(dvec3v)
+ 650: 46(fvec3) FAdd 649 648
+ Store 48(dvec3v) 650
+ 651: 37(float) Load 39(doublev)
+ 652: 37(float) ExtInst 1(GLSL.std.450) 69(Normalize) 651
+ 653: 37(float) Load 39(doublev)
+ 654: 37(float) FAdd 653 652
+ Store 39(doublev) 654
+ 655: 41(fvec2) Load 43(dvec2v)
+ 656: 41(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 655
+ 657: 41(fvec2) Load 43(dvec2v)
+ 658: 41(fvec2) FAdd 657 656
+ Store 43(dvec2v) 658
+ 659: 46(fvec3) Load 48(dvec3v)
+ 660: 46(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 659
+ 661: 46(fvec3) Load 48(dvec3v)
+ 662: 46(fvec3) FAdd 661 660
+ Store 48(dvec3v) 662
+ 663: 51(fvec4) Load 53(dvec4v)
+ 664: 51(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 663
+ 665: 51(fvec4) Load 53(dvec4v)
+ 666: 51(fvec4) FAdd 665 664
+ Store 53(dvec4v) 666
+ 667: 37(float) Load 39(doublev)
+ 668: 37(float) Load 39(doublev)
+ 669: 37(float) Load 39(doublev)
+ 670: 37(float) ExtInst 1(GLSL.std.450) 70(FaceForward) 667 668 669
+ 671: 37(float) Load 39(doublev)
+ 672: 37(float) FAdd 671 670
+ Store 39(doublev) 672
+ 673: 41(fvec2) Load 43(dvec2v)
+ 674: 41(fvec2) Load 43(dvec2v)
+ 675: 41(fvec2) Load 43(dvec2v)
+ 676: 41(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 673 674 675
+ 677: 41(fvec2) Load 43(dvec2v)
+ 678: 41(fvec2) FAdd 677 676
+ Store 43(dvec2v) 678
+ 679: 46(fvec3) Load 48(dvec3v)
+ 680: 46(fvec3) Load 48(dvec3v)
+ 681: 46(fvec3) Load 48(dvec3v)
+ 682: 46(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 679 680 681
+ 683: 46(fvec3) Load 48(dvec3v)
+ 684: 46(fvec3) FAdd 683 682
+ Store 48(dvec3v) 684
+ 685: 51(fvec4) Load 53(dvec4v)
+ 686: 51(fvec4) Load 53(dvec4v)
+ 687: 51(fvec4) Load 53(dvec4v)
+ 688: 51(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 685 686 687
+ 689: 51(fvec4) Load 53(dvec4v)
+ 690: 51(fvec4) FAdd 689 688
+ Store 53(dvec4v) 690
+ 691: 37(float) Load 39(doublev)
+ 692: 37(float) Load 39(doublev)
+ 693: 37(float) ExtInst 1(GLSL.std.450) 71(Reflect) 691 692
+ 694: 37(float) Load 39(doublev)
+ 695: 37(float) FAdd 694 693
+ Store 39(doublev) 695
+ 696: 41(fvec2) Load 43(dvec2v)
+ 697: 41(fvec2) Load 43(dvec2v)
+ 698: 41(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 696 697
+ 699: 41(fvec2) Load 43(dvec2v)
+ 700: 41(fvec2) FAdd 699 698
+ Store 43(dvec2v) 700
+ 701: 46(fvec3) Load 48(dvec3v)
+ 702: 46(fvec3) Load 48(dvec3v)
+ 703: 46(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 701 702
+ 704: 46(fvec3) Load 48(dvec3v)
+ 705: 46(fvec3) FAdd 704 703
+ Store 48(dvec3v) 705
+ 706: 51(fvec4) Load 53(dvec4v)
+ 707: 51(fvec4) Load 53(dvec4v)
+ 708: 51(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 706 707
+ 709: 51(fvec4) Load 53(dvec4v)
+ 710: 51(fvec4) FAdd 709 708
+ Store 53(dvec4v) 710
+ 711: 37(float) Load 39(doublev)
+ 712: 37(float) Load 39(doublev)
+ 713: 37(float) Load 39(doublev)
+ 714: 37(float) ExtInst 1(GLSL.std.450) 72(Refract) 711 712 713
+ 715: 37(float) Load 39(doublev)
+ 716: 37(float) FAdd 715 714
+ Store 39(doublev) 716
+ 717: 41(fvec2) Load 43(dvec2v)
+ 718: 41(fvec2) Load 43(dvec2v)
+ 719: 37(float) Load 39(doublev)
+ 720: 41(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 717 718 719
+ 721: 41(fvec2) Load 43(dvec2v)
+ 722: 41(fvec2) FAdd 721 720
+ Store 43(dvec2v) 722
+ 723: 46(fvec3) Load 48(dvec3v)
+ 724: 46(fvec3) Load 48(dvec3v)
+ 725: 37(float) Load 39(doublev)
+ 726: 46(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 723 724 725
+ 727: 46(fvec3) Load 48(dvec3v)
+ 728: 46(fvec3) FAdd 727 726
+ Store 48(dvec3v) 728
+ 729: 51(fvec4) Load 53(dvec4v)
+ 730: 51(fvec4) Load 53(dvec4v)
+ 731: 37(float) Load 39(doublev)
+ 732: 51(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 729 730 731
+ 733: 51(fvec4) Load 53(dvec4v)
+ 734: 51(fvec4) FAdd 733 732
+ Store 53(dvec4v) 734
+ 738: 41(fvec2) Load 43(dvec2v)
+ 739: 41(fvec2) Load 43(dvec2v)
+ 740: 735 OuterProduct 738 739
+ Store 737(dmat2v) 740
+ 744: 46(fvec3) Load 48(dvec3v)
+ 745: 46(fvec3) Load 48(dvec3v)
+ 746: 741 OuterProduct 744 745
+ Store 743(dmat3v) 746
+ 750: 51(fvec4) Load 53(dvec4v)
+ 751: 51(fvec4) Load 53(dvec4v)
+ 752: 747 OuterProduct 750 751
+ Store 749(dmat4v) 752
+ 756: 46(fvec3) Load 48(dvec3v)
+ 757: 41(fvec2) Load 43(dvec2v)
+ 758: 753 OuterProduct 756 757
+ Store 755(dmat2x3v) 758
+ 762: 41(fvec2) Load 43(dvec2v)
+ 763: 46(fvec3) Load 48(dvec3v)
+ 764: 759 OuterProduct 762 763
+ Store 761(dmat3x2v) 764
+ 768: 51(fvec4) Load 53(dvec4v)
+ 769: 41(fvec2) Load 43(dvec2v)
+ 770: 765 OuterProduct 768 769
+ Store 767(dmat2x4v) 770
+ 774: 41(fvec2) Load 43(dvec2v)
+ 775: 51(fvec4) Load 53(dvec4v)
+ 776: 771 OuterProduct 774 775
+ Store 773(dmat4x2v) 776
+ 780: 51(fvec4) Load 53(dvec4v)
+ 781: 46(fvec3) Load 48(dvec3v)
+ 782: 777 OuterProduct 780 781
+ Store 779(dmat3x4v) 782
+ 786: 46(fvec3) Load 48(dvec3v)
+ 787: 51(fvec4) Load 53(dvec4v)
+ 788: 783 OuterProduct 786 787
+ Store 785(dmat4x3v) 788
+ 789: 735 Load 737(dmat2v)
+ 790: 735 Load 737(dmat2v)
+ 791: 41(fvec2) CompositeExtract 789 0
+ 792: 41(fvec2) CompositeExtract 790 0
+ 793: 41(fvec2) FMul 791 792
+ 794: 41(fvec2) CompositeExtract 789 1
+ 795: 41(fvec2) CompositeExtract 790 1
+ 796: 41(fvec2) FMul 794 795
+ 797: 735 CompositeConstruct 793 796
+ 798: 735 Load 737(dmat2v)
+ 799: 735 MatrixTimesMatrix 798 797
+ Store 737(dmat2v) 799
+ 800: 741 Load 743(dmat3v)
+ 801: 741 Load 743(dmat3v)
+ 802: 46(fvec3) CompositeExtract 800 0
+ 803: 46(fvec3) CompositeExtract 801 0
+ 804: 46(fvec3) FMul 802 803
+ 805: 46(fvec3) CompositeExtract 800 1
+ 806: 46(fvec3) CompositeExtract 801 1
+ 807: 46(fvec3) FMul 805 806
+ 808: 46(fvec3) CompositeExtract 800 2
+ 809: 46(fvec3) CompositeExtract 801 2
+ 810: 46(fvec3) FMul 808 809
+ 811: 741 CompositeConstruct 804 807 810
+ 812: 741 Load 743(dmat3v)
+ 813: 741 MatrixTimesMatrix 812 811
+ Store 743(dmat3v) 813
+ 814: 747 Load 749(dmat4v)
+ 815: 747 Load 749(dmat4v)
+ 816: 51(fvec4) CompositeExtract 814 0
+ 817: 51(fvec4) CompositeExtract 815 0
+ 818: 51(fvec4) FMul 816 817
+ 819: 51(fvec4) CompositeExtract 814 1
+ 820: 51(fvec4) CompositeExtract 815 1
+ 821: 51(fvec4) FMul 819 820
+ 822: 51(fvec4) CompositeExtract 814 2
+ 823: 51(fvec4) CompositeExtract 815 2
+ 824: 51(fvec4) FMul 822 823
+ 825: 51(fvec4) CompositeExtract 814 3
+ 826: 51(fvec4) CompositeExtract 815 3
+ 827: 51(fvec4) FMul 825 826
+ 828: 747 CompositeConstruct 818 821 824 827
+ 829: 747 Load 749(dmat4v)
+ 830: 747 MatrixTimesMatrix 829 828
+ Store 749(dmat4v) 830
+ 831: 753 Load 755(dmat2x3v)
+ 832: 753 Load 755(dmat2x3v)
+ 833: 46(fvec3) CompositeExtract 831 0
+ 834: 46(fvec3) CompositeExtract 832 0
+ 835: 46(fvec3) FMul 833 834
+ 836: 46(fvec3) CompositeExtract 831 1
+ 837: 46(fvec3) CompositeExtract 832 1
+ 838: 46(fvec3) FMul 836 837
+ 839: 753 CompositeConstruct 835 838
+ Store 755(dmat2x3v) 839
+ 840: 765 Load 767(dmat2x4v)
+ 841: 765 Load 767(dmat2x4v)
+ 842: 51(fvec4) CompositeExtract 840 0
+ 843: 51(fvec4) CompositeExtract 841 0
+ 844: 51(fvec4) FMul 842 843
+ 845: 51(fvec4) CompositeExtract 840 1
+ 846: 51(fvec4) CompositeExtract 841 1
+ 847: 51(fvec4) FMul 845 846
+ 848: 765 CompositeConstruct 844 847
+ Store 767(dmat2x4v) 848
+ 849: 759 Load 761(dmat3x2v)
+ 850: 759 Load 761(dmat3x2v)
+ 851: 41(fvec2) CompositeExtract 849 0
+ 852: 41(fvec2) CompositeExtract 850 0
+ 853: 41(fvec2) FMul 851 852
+ 854: 41(fvec2) CompositeExtract 849 1
+ 855: 41(fvec2) CompositeExtract 850 1
+ 856: 41(fvec2) FMul 854 855
+ 857: 41(fvec2) CompositeExtract 849 2
+ 858: 41(fvec2) CompositeExtract 850 2
+ 859: 41(fvec2) FMul 857 858
+ 860: 759 CompositeConstruct 853 856 859
+ Store 761(dmat3x2v) 860
+ 861: 777 Load 779(dmat3x4v)
+ 862: 777 Load 779(dmat3x4v)
+ 863: 51(fvec4) CompositeExtract 861 0
+ 864: 51(fvec4) CompositeExtract 862 0
+ 865: 51(fvec4) FMul 863 864
+ 866: 51(fvec4) CompositeExtract 861 1
+ 867: 51(fvec4) CompositeExtract 862 1
+ 868: 51(fvec4) FMul 866 867
+ 869: 51(fvec4) CompositeExtract 861 2
+ 870: 51(fvec4) CompositeExtract 862 2
+ 871: 51(fvec4) FMul 869 870
+ 872: 777 CompositeConstruct 865 868 871
+ Store 779(dmat3x4v) 872
+ 873: 771 Load 773(dmat4x2v)
+ 874: 771 Load 773(dmat4x2v)
+ 875: 41(fvec2) CompositeExtract 873 0
+ 876: 41(fvec2) CompositeExtract 874 0
+ 877: 41(fvec2) FMul 875 876
+ 878: 41(fvec2) CompositeExtract 873 1
+ 879: 41(fvec2) CompositeExtract 874 1
+ 880: 41(fvec2) FMul 878 879
+ 881: 41(fvec2) CompositeExtract 873 2
+ 882: 41(fvec2) CompositeExtract 874 2
+ 883: 41(fvec2) FMul 881 882
+ 884: 41(fvec2) CompositeExtract 873 3
+ 885: 41(fvec2) CompositeExtract 874 3
+ 886: 41(fvec2) FMul 884 885
+ 887: 771 CompositeConstruct 877 880 883 886
+ Store 773(dmat4x2v) 887
+ 888: 783 Load 785(dmat4x3v)
+ 889: 783 Load 785(dmat4x3v)
+ 890: 46(fvec3) CompositeExtract 888 0
+ 891: 46(fvec3) CompositeExtract 889 0
+ 892: 46(fvec3) FMul 890 891
+ 893: 46(fvec3) CompositeExtract 888 1
+ 894: 46(fvec3) CompositeExtract 889 1
+ 895: 46(fvec3) FMul 893 894
+ 896: 46(fvec3) CompositeExtract 888 2
+ 897: 46(fvec3) CompositeExtract 889 2
+ 898: 46(fvec3) FMul 896 897
+ 899: 46(fvec3) CompositeExtract 888 3
+ 900: 46(fvec3) CompositeExtract 889 3
+ 901: 46(fvec3) FMul 899 900
+ 902: 783 CompositeConstruct 892 895 898 901
+ Store 785(dmat4x3v) 902
+ 903: 735 Load 737(dmat2v)
+ 904: 735 Transpose 903
+ 905: 735 Load 737(dmat2v)
+ 906: 735 MatrixTimesMatrix 905 904
+ Store 737(dmat2v) 906
+ 907: 741 Load 743(dmat3v)
+ 908: 741 Transpose 907
+ 909: 741 Load 743(dmat3v)
+ 910: 741 MatrixTimesMatrix 909 908
+ Store 743(dmat3v) 910
+ 911: 747 Load 749(dmat4v)
+ 912: 747 Transpose 911
+ 913: 747 Load 749(dmat4v)
+ 914: 747 MatrixTimesMatrix 913 912
+ Store 749(dmat4v) 914
+ 915: 759 Load 761(dmat3x2v)
+ 916: 753 Transpose 915
+ Store 755(dmat2x3v) 916
+ 917: 753 Load 755(dmat2x3v)
+ 918: 759 Transpose 917
+ Store 761(dmat3x2v) 918
+ 919: 771 Load 773(dmat4x2v)
+ 920: 765 Transpose 919
+ Store 767(dmat2x4v) 920
+ 921: 765 Load 767(dmat2x4v)
+ 922: 771 Transpose 921
+ Store 773(dmat4x2v) 922
+ 923: 783 Load 785(dmat4x3v)
+ 924: 777 Transpose 923
+ Store 779(dmat3x4v) 924
+ 925: 777 Load 779(dmat3x4v)
+ 926: 783 Transpose 925
+ Store 785(dmat4x3v) 926
+ 927: 735 Load 737(dmat2v)
+ 928: 37(float) ExtInst 1(GLSL.std.450) 33(Determinant) 927
+ 929: 37(float) Load 39(doublev)
+ 930: 37(float) FAdd 929 928
+ Store 39(doublev) 930
+ 931: 741 Load 743(dmat3v)
+ 932: 37(float) ExtInst 1(GLSL.std.450) 33(Determinant) 931
+ 933: 37(float) Load 39(doublev)
+ 934: 37(float) FAdd 933 932
+ Store 39(doublev) 934
+ 935: 747 Load 749(dmat4v)
+ 936: 37(float) ExtInst 1(GLSL.std.450) 33(Determinant) 935
+ 937: 37(float) Load 39(doublev)
+ 938: 37(float) FAdd 937 936
+ Store 39(doublev) 938
+ 939: 735 Load 737(dmat2v)
+ 940: 735 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 939
+ 941: 735 Load 737(dmat2v)
+ 942: 735 MatrixTimesMatrix 941 940
+ Store 737(dmat2v) 942
+ 943: 741 Load 743(dmat3v)
+ 944: 741 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 943
+ 945: 741 Load 743(dmat3v)
+ 946: 741 MatrixTimesMatrix 945 944
+ Store 743(dmat3v) 946
+ 947: 747 Load 749(dmat4v)
+ 948: 747 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 947
+ 949: 747 Load 749(dmat4v)
+ 950: 747 MatrixTimesMatrix 949 948
+ Store 749(dmat4v) 950
+ 951: 37(float) Load 39(doublev)
+ 953: 38(ptr) AccessChain 43(dvec2v) 952
+ 954: 37(float) Load 953
+ 955: 37(float) FAdd 951 954
+ 957: 38(ptr) AccessChain 48(dvec3v) 956
+ 958: 37(float) Load 957
+ 959: 37(float) FAdd 955 958
+ 961: 38(ptr) AccessChain 53(dvec4v) 960
+ 962: 37(float) Load 961
+ 963: 37(float) FAdd 959 962
+ 965: 38(ptr) AccessChain 737(dmat2v) 964 952
+ 966: 37(float) Load 965
+ 967: 37(float) FAdd 963 966
+ 969: 38(ptr) AccessChain 743(dmat3v) 968 956
+ 970: 37(float) Load 969
+ 971: 37(float) FAdd 967 970
+ 972: 38(ptr) AccessChain 749(dmat4v) 25 960
+ 973: 37(float) Load 972
+ 974: 37(float) FAdd 971 973
+ 975: 38(ptr) AccessChain 755(dmat2x3v) 964 952
+ 976: 37(float) Load 975
+ 977: 37(float) FAdd 974 976
+ 978: 38(ptr) AccessChain 761(dmat3x2v) 964 952
+ 979: 37(float) Load 978
+ 980: 37(float) FAdd 977 979
+ 981: 38(ptr) AccessChain 779(dmat3x4v) 968 956
+ 982: 37(float) Load 981
+ 983: 37(float) FAdd 980 982
+ 984: 38(ptr) AccessChain 785(dmat4x3v) 968 956
+ 985: 37(float) Load 984
+ 986: 37(float) FAdd 983 985
+ 987: 38(ptr) AccessChain 767(dmat2x4v) 964 952
+ 988: 37(float) Load 987
+ 989: 37(float) FAdd 986 988
+ 990: 38(ptr) AccessChain 773(dmat4x2v) 964 952
+ 991: 37(float) Load 990
+ 992: 37(float) FAdd 989 991
+ 993: 426(bool) Load 428(boolv)
+ 995: 10(float) Select 993 994 21
+ 996: 37(float) FConvert 995
+ 997: 37(float) FAdd 992 996
+ 998: 435(bvec2) Load 437(bvec2v)
+ 999: 426(bool) CompositeExtract 998 0
+ 1000: 10(float) Select 999 994 21
+ 1001: 37(float) FConvert 1000
+ 1002: 37(float) FAdd 997 1001
+ 1003: 444(bvec3) Load 446(bvec3v)
+ 1004: 426(bool) CompositeExtract 1003 0
+ 1005: 10(float) Select 1004 994 21
+ 1006: 37(float) FConvert 1005
+ 1007: 37(float) FAdd 1002 1006
+ 1008: 453(bvec4) Load 455(bvec4v)
+ 1009: 426(bool) CompositeExtract 1008 0
+ 1010: 10(float) Select 1009 994 21
+ 1011: 37(float) FConvert 1010
+ 1012: 37(float) FAdd 1007 1011
+ 1013: 10(float) FConvert 1012
+ 1014: 11(fvec4) Load 13(outp)
+ 1015: 11(fvec4) VectorTimesScalar 1014 1013
+ Store 13(outp) 1015
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.400.tesc.out b/chromium/third_party/glslang/src/Test/baseResults/spv.400.tesc.out
new file mode 100755
index 00000000000..290a19cdd4e
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.400.tesc.out
@@ -0,0 +1,179 @@
+spv.400.tesc
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked tessellation control stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 94
+
+ Capability Tessellation
+ Capability TessellationPointSize
+ Capability ClipDistance
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint TessellationControl 4 "main" 24 41 44 47 55 69 74 80 84 85 88 89 92 93
+ ExecutionMode 4 OutputVertices 4
+ Source GLSL 400
+ SourceExtension "GL_ARB_separate_shader_objects"
+ Name 4 "main"
+ Name 12 "a"
+ Name 17 "p"
+ Name 20 "gl_PerVertex"
+ MemberName 20(gl_PerVertex) 0 "gl_Position"
+ MemberName 20(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 20(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 24 "gl_in"
+ Name 31 "ps"
+ Name 35 "cd"
+ Name 39 "pvi"
+ Name 41 "gl_PatchVerticesIn"
+ Name 43 "pid"
+ Name 44 "gl_PrimitiveID"
+ Name 46 "iid"
+ Name 47 "gl_InvocationID"
+ Name 51 "gl_PerVertex"
+ MemberName 51(gl_PerVertex) 0 "gl_Position"
+ MemberName 51(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 51(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 55 "gl_out"
+ Name 69 "gl_TessLevelOuter"
+ Name 74 "gl_TessLevelInner"
+ Name 79 "outa"
+ Name 80 "patchOut"
+ Name 84 "inb"
+ Name 85 "ind"
+ Name 88 "ivla"
+ Name 89 "ivlb"
+ Name 92 "ovla"
+ Name 93 "ovlb"
+ MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 20(gl_PerVertex) Block
+ Decorate 41(gl_PatchVerticesIn) BuiltIn PatchVertices
+ Decorate 44(gl_PrimitiveID) BuiltIn PrimitiveId
+ Decorate 47(gl_InvocationID) BuiltIn InvocationId
+ MemberDecorate 51(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 51(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 51(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 51(gl_PerVertex) Block
+ Decorate 69(gl_TessLevelOuter) Patch
+ Decorate 69(gl_TessLevelOuter) BuiltIn TessLevelOuter
+ Decorate 74(gl_TessLevelInner) Patch
+ Decorate 74(gl_TessLevelInner) BuiltIn TessLevelInner
+ Decorate 80(patchOut) Patch
+ Decorate 88(ivla) Location 3
+ Decorate 89(ivlb) Location 4
+ Decorate 92(ovla) Location 3
+ Decorate 93(ovlb) Location 4
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: 6(int) Constant 1
+ 8: 6(int) Constant 4062
+ 9: 6(int) Constant 0
+ 10: TypeInt 32 1
+ 11: TypePointer Function 10(int)
+ 13: 10(int) Constant 5392
+ 14: TypeFloat 32
+ 15: TypeVector 14(float) 4
+ 16: TypePointer Function 15(fvec4)
+ 18: 6(int) Constant 3
+ 19: TypeArray 14(float) 18
+20(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 19
+ 21: 6(int) Constant 32
+ 22: TypeArray 20(gl_PerVertex) 21
+ 23: TypePointer Input 22
+ 24(gl_in): 23(ptr) Variable Input
+ 25: 10(int) Constant 1
+ 26: 10(int) Constant 0
+ 27: TypePointer Input 15(fvec4)
+ 30: TypePointer Function 14(float)
+ 32: TypePointer Input 14(float)
+ 36: 10(int) Constant 2
+ 40: TypePointer Input 10(int)
+41(gl_PatchVerticesIn): 40(ptr) Variable Input
+44(gl_PrimitiveID): 40(ptr) Variable Input
+47(gl_InvocationID): 40(ptr) Variable Input
+ 49: 6(int) Constant 2
+ 50: TypeArray 14(float) 49
+51(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 50
+ 52: 6(int) Constant 4
+ 53: TypeArray 51(gl_PerVertex) 52
+ 54: TypePointer Output 53
+ 55(gl_out): 54(ptr) Variable Output
+ 58: TypePointer Output 15(fvec4)
+ 62: TypePointer Output 14(float)
+ 67: TypeArray 14(float) 52
+ 68: TypePointer Output 67
+69(gl_TessLevelOuter): 68(ptr) Variable Output
+ 70: 10(int) Constant 3
+ 71: 14(float) Constant 1078774989
+ 73: TypePointer Output 50
+74(gl_TessLevelInner): 73(ptr) Variable Output
+ 75: 14(float) Constant 1067869798
+ 77: TypeArray 10(int) 52
+ 78: TypePointer Private 77
+ 79(outa): 78(ptr) Variable Private
+ 80(patchOut): 58(ptr) Variable Output
+ 81: TypeVector 14(float) 2
+ 82: TypeArray 81(fvec2) 21
+ 83: TypePointer Input 82
+ 84(inb): 83(ptr) Variable Input
+ 85(ind): 83(ptr) Variable Input
+ 86: TypeArray 15(fvec4) 21
+ 87: TypePointer Input 86
+ 88(ivla): 87(ptr) Variable Input
+ 89(ivlb): 87(ptr) Variable Input
+ 90: TypeArray 15(fvec4) 52
+ 91: TypePointer Output 90
+ 92(ovla): 91(ptr) Variable Output
+ 93(ovlb): 91(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 12(a): 11(ptr) Variable Function
+ 17(p): 16(ptr) Variable Function
+ 31(ps): 30(ptr) Variable Function
+ 35(cd): 30(ptr) Variable Function
+ 39(pvi): 11(ptr) Variable Function
+ 43(pid): 11(ptr) Variable Function
+ 46(iid): 11(ptr) Variable Function
+ MemoryBarrier 7 8
+ ControlBarrier 7 7 9
+ Store 12(a) 13
+ 28: 27(ptr) AccessChain 24(gl_in) 25 26
+ 29: 15(fvec4) Load 28
+ Store 17(p) 29
+ 33: 32(ptr) AccessChain 24(gl_in) 25 25
+ 34: 14(float) Load 33
+ Store 31(ps) 34
+ 37: 32(ptr) AccessChain 24(gl_in) 25 36 36
+ 38: 14(float) Load 37
+ Store 35(cd) 38
+ 42: 10(int) Load 41(gl_PatchVerticesIn)
+ Store 39(pvi) 42
+ 45: 10(int) Load 44(gl_PrimitiveID)
+ Store 43(pid) 45
+ 48: 10(int) Load 47(gl_InvocationID)
+ Store 46(iid) 48
+ 56: 10(int) Load 47(gl_InvocationID)
+ 57: 15(fvec4) Load 17(p)
+ 59: 58(ptr) AccessChain 55(gl_out) 56 26
+ Store 59 57
+ 60: 10(int) Load 47(gl_InvocationID)
+ 61: 14(float) Load 31(ps)
+ 63: 62(ptr) AccessChain 55(gl_out) 60 25
+ Store 63 61
+ 64: 10(int) Load 47(gl_InvocationID)
+ 65: 14(float) Load 35(cd)
+ 66: 62(ptr) AccessChain 55(gl_out) 64 36 25
+ Store 66 65
+ 72: 62(ptr) AccessChain 69(gl_TessLevelOuter) 70
+ Store 72 71
+ 76: 62(ptr) AccessChain 74(gl_TessLevelInner) 25
+ Store 76 75
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.400.tese.out b/chromium/third_party/glslang/src/Test/baseResults/spv.400.tese.out
new file mode 100755
index 00000000000..51534b122fe
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.400.tese.out
@@ -0,0 +1,189 @@
+spv.400.tese
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked tessellation evaluation stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 96
+
+ Capability Tessellation
+ Capability TessellationPointSize
+ Capability ClipDistance
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint TessellationEvaluation 4 "main" 21 38 41 47 53 61 66 75 79 80 84 88 91 92 95
+ ExecutionMode 4 Triangles
+ ExecutionMode 4 SpacingFractionalOdd
+ ExecutionMode 4 VertexOrderCcw
+ ExecutionMode 4 PointMode
+ Source GLSL 400
+ SourceExtension "GL_ARB_separate_shader_objects"
+ Name 4 "main"
+ Name 8 "a"
+ Name 13 "p"
+ Name 17 "gl_PerVertex"
+ MemberName 17(gl_PerVertex) 0 "gl_Position"
+ MemberName 17(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 17(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 21 "gl_in"
+ Name 28 "ps"
+ Name 32 "cd"
+ Name 36 "pvi"
+ Name 38 "gl_PatchVerticesIn"
+ Name 40 "pid"
+ Name 41 "gl_PrimitiveID"
+ Name 45 "tc"
+ Name 47 "gl_TessCoord"
+ Name 49 "tlo"
+ Name 53 "gl_TessLevelOuter"
+ Name 57 "tli"
+ Name 61 "gl_TessLevelInner"
+ Name 64 "gl_PerVertex"
+ MemberName 64(gl_PerVertex) 0 "gl_Position"
+ MemberName 64(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 64(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 66 ""
+ Name 75 "patchIn"
+ Name 79 "inb"
+ Name 80 "ind"
+ Name 81 "testblb"
+ MemberName 81(testblb) 0 "f"
+ Name 84 "blb"
+ Name 85 "testbld"
+ MemberName 85(testbld) 0 "f"
+ Name 88 "bld"
+ Name 91 "ivla"
+ Name 92 "ivlb"
+ Name 95 "ovla"
+ MemberDecorate 17(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 17(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 17(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 17(gl_PerVertex) Block
+ Decorate 38(gl_PatchVerticesIn) BuiltIn PatchVertices
+ Decorate 41(gl_PrimitiveID) BuiltIn PrimitiveId
+ Decorate 47(gl_TessCoord) BuiltIn TessCoord
+ Decorate 53(gl_TessLevelOuter) Patch
+ Decorate 53(gl_TessLevelOuter) BuiltIn TessLevelOuter
+ Decorate 61(gl_TessLevelInner) Patch
+ Decorate 61(gl_TessLevelInner) BuiltIn TessLevelInner
+ MemberDecorate 64(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 64(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 64(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 64(gl_PerVertex) Block
+ Decorate 75(patchIn) Patch
+ Decorate 81(testblb) Block
+ Decorate 85(testbld) Block
+ Decorate 91(ivla) Location 23
+ Decorate 92(ivlb) Location 24
+ Decorate 95(ovla) Location 23
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 1512
+ 10: TypeFloat 32
+ 11: TypeVector 10(float) 4
+ 12: TypePointer Function 11(fvec4)
+ 14: TypeInt 32 0
+ 15: 14(int) Constant 3
+ 16: TypeArray 10(float) 15
+17(gl_PerVertex): TypeStruct 11(fvec4) 10(float) 16
+ 18: 14(int) Constant 32
+ 19: TypeArray 17(gl_PerVertex) 18
+ 20: TypePointer Input 19
+ 21(gl_in): 20(ptr) Variable Input
+ 22: 6(int) Constant 1
+ 23: 6(int) Constant 0
+ 24: TypePointer Input 11(fvec4)
+ 27: TypePointer Function 10(float)
+ 29: TypePointer Input 10(float)
+ 33: 6(int) Constant 2
+ 37: TypePointer Input 6(int)
+38(gl_PatchVerticesIn): 37(ptr) Variable Input
+41(gl_PrimitiveID): 37(ptr) Variable Input
+ 43: TypeVector 10(float) 3
+ 44: TypePointer Function 43(fvec3)
+ 46: TypePointer Input 43(fvec3)
+47(gl_TessCoord): 46(ptr) Variable Input
+ 50: 14(int) Constant 4
+ 51: TypeArray 10(float) 50
+ 52: TypePointer Input 51
+53(gl_TessLevelOuter): 52(ptr) Variable Input
+ 54: 6(int) Constant 3
+ 58: 14(int) Constant 2
+ 59: TypeArray 10(float) 58
+ 60: TypePointer Input 59
+61(gl_TessLevelInner): 60(ptr) Variable Input
+64(gl_PerVertex): TypeStruct 11(fvec4) 10(float) 16
+ 65: TypePointer Output 64(gl_PerVertex)
+ 66: 65(ptr) Variable Output
+ 68: TypePointer Output 11(fvec4)
+ 71: TypePointer Output 10(float)
+ 75(patchIn): 24(ptr) Variable Input
+ 76: TypeVector 10(float) 2
+ 77: TypeArray 76(fvec2) 18
+ 78: TypePointer Input 77
+ 79(inb): 78(ptr) Variable Input
+ 80(ind): 78(ptr) Variable Input
+ 81(testblb): TypeStruct 6(int)
+ 82: TypeArray 81(testblb) 18
+ 83: TypePointer Input 82
+ 84(blb): 83(ptr) Variable Input
+ 85(testbld): TypeStruct 6(int)
+ 86: TypeArray 85(testbld) 18
+ 87: TypePointer Input 86
+ 88(bld): 87(ptr) Variable Input
+ 89: TypeArray 11(fvec4) 18
+ 90: TypePointer Input 89
+ 91(ivla): 90(ptr) Variable Input
+ 92(ivlb): 90(ptr) Variable Input
+ 93: TypeArray 11(fvec4) 58
+ 94: TypePointer Output 93
+ 95(ovla): 94(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(a): 7(ptr) Variable Function
+ 13(p): 12(ptr) Variable Function
+ 28(ps): 27(ptr) Variable Function
+ 32(cd): 27(ptr) Variable Function
+ 36(pvi): 7(ptr) Variable Function
+ 40(pid): 7(ptr) Variable Function
+ 45(tc): 44(ptr) Variable Function
+ 49(tlo): 27(ptr) Variable Function
+ 57(tli): 27(ptr) Variable Function
+ Store 8(a) 9
+ 25: 24(ptr) AccessChain 21(gl_in) 22 23
+ 26: 11(fvec4) Load 25
+ Store 13(p) 26
+ 30: 29(ptr) AccessChain 21(gl_in) 22 22
+ 31: 10(float) Load 30
+ Store 28(ps) 31
+ 34: 29(ptr) AccessChain 21(gl_in) 22 33 33
+ 35: 10(float) Load 34
+ Store 32(cd) 35
+ 39: 6(int) Load 38(gl_PatchVerticesIn)
+ Store 36(pvi) 39
+ 42: 6(int) Load 41(gl_PrimitiveID)
+ Store 40(pid) 42
+ 48: 43(fvec3) Load 47(gl_TessCoord)
+ Store 45(tc) 48
+ 55: 29(ptr) AccessChain 53(gl_TessLevelOuter) 54
+ 56: 10(float) Load 55
+ Store 49(tlo) 56
+ 62: 29(ptr) AccessChain 61(gl_TessLevelInner) 22
+ 63: 10(float) Load 62
+ Store 57(tli) 63
+ 67: 11(fvec4) Load 13(p)
+ 69: 68(ptr) AccessChain 66 23
+ Store 69 67
+ 70: 10(float) Load 28(ps)
+ 72: 71(ptr) AccessChain 66 22
+ Store 72 70
+ 73: 10(float) Load 32(cd)
+ 74: 71(ptr) AccessChain 66 33 33
+ Store 74 73
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.420.geom.out b/chromium/third_party/glslang/src/Test/baseResults/spv.420.geom.out
new file mode 100644
index 00000000000..78e3aaa2847
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.420.geom.out
@@ -0,0 +1,132 @@
+spv.420.geom
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked geometry stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 72
+
+ Capability Geometry
+ Capability GeometryPointSize
+ Capability ImageGatherExtended
+ Capability GeometryStreams
+ Capability MultiViewport
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Geometry 4 "main" 14 23 28 33 46
+ ExecutionMode 4 Triangles
+ ExecutionMode 4 Invocations 4
+ ExecutionMode 4 OutputLineStrip
+ ExecutionMode 4 OutputVertices 127
+ Source GLSL 420
+ Name 4 "main"
+ Name 8 "p"
+ Name 9 "gl_PerVertex"
+ MemberName 9(gl_PerVertex) 0 "gl_PointSize"
+ Name 14 "gl_in"
+ Name 21 "gl_PerVertex"
+ MemberName 21(gl_PerVertex) 0 "gl_PointSize"
+ Name 23 ""
+ Name 28 "gl_ViewportIndex"
+ Name 31 "id"
+ Name 33 "gl_InvocationID"
+ Name 37 "v"
+ Name 41 "s2D"
+ Name 46 "coord"
+ Name 64 "i"
+ Name 67 "indexable"
+ MemberDecorate 9(gl_PerVertex) 0 BuiltIn PointSize
+ Decorate 9(gl_PerVertex) Block
+ MemberDecorate 21(gl_PerVertex) 0 BuiltIn PointSize
+ Decorate 21(gl_PerVertex) Block
+ Decorate 21(gl_PerVertex) Stream 0
+ Decorate 23 Stream 0
+ Decorate 28(gl_ViewportIndex) Stream 0
+ Decorate 28(gl_ViewportIndex) BuiltIn ViewportIndex
+ Decorate 33(gl_InvocationID) BuiltIn InvocationId
+ Decorate 41(s2D) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9(gl_PerVertex): TypeStruct 6(float)
+ 10: TypeInt 32 0
+ 11: 10(int) Constant 3
+ 12: TypeArray 9(gl_PerVertex) 11
+ 13: TypePointer Input 12
+ 14(gl_in): 13(ptr) Variable Input
+ 15: TypeInt 32 1
+ 16: 15(int) Constant 1
+ 17: 15(int) Constant 0
+ 18: TypePointer Input 6(float)
+21(gl_PerVertex): TypeStruct 6(float)
+ 22: TypePointer Output 21(gl_PerVertex)
+ 23: 22(ptr) Variable Output
+ 25: TypePointer Output 6(float)
+ 27: TypePointer Output 15(int)
+28(gl_ViewportIndex): 27(ptr) Variable Output
+ 29: 15(int) Constant 7
+ 30: TypePointer Function 15(int)
+ 32: TypePointer Input 15(int)
+33(gl_InvocationID): 32(ptr) Variable Input
+ 35: TypeVector 6(float) 4
+ 36: TypePointer Function 35(fvec4)
+ 38: TypeImage 6(float) 2D sampled format:Unknown
+ 39: TypeSampledImage 38
+ 40: TypePointer UniformConstant 39
+ 41(s2D): 40(ptr) Variable UniformConstant
+ 43: TypeVector 6(float) 2
+ 44: TypeArray 43(fvec2) 11
+ 45: TypePointer Input 44
+ 46(coord): 45(ptr) Variable Input
+ 47: TypePointer Input 43(fvec2)
+ 50: TypeVector 15(int) 2
+ 51: 10(int) Constant 5
+ 52: TypeArray 50(ivec2) 51
+ 53: 50(ivec2) ConstantComposite 17 16
+ 54: 15(int) Constant 4294967294
+ 55: 50(ivec2) ConstantComposite 16 54
+ 56: 15(int) Constant 3
+ 57: 50(ivec2) ConstantComposite 17 56
+ 58: 15(int) Constant 4294967293
+ 59: 50(ivec2) ConstantComposite 58 17
+ 60: 15(int) Constant 2
+ 61: 50(ivec2) ConstantComposite 60 16
+ 62: 52 ConstantComposite 53 55 57 59 61
+ 63: TypePointer Private 15(int)
+ 64(i): 63(ptr) Variable Private
+ 66: TypePointer Function 52
+ 68: TypePointer Function 50(ivec2)
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(p): 7(ptr) Variable Function
+ 31(id): 30(ptr) Variable Function
+ 37(v): 36(ptr) Variable Function
+ 67(indexable): 66(ptr) Variable Function
+ 19: 18(ptr) AccessChain 14(gl_in) 16 17
+ 20: 6(float) Load 19
+ Store 8(p) 20
+ 24: 6(float) Load 8(p)
+ 26: 25(ptr) AccessChain 23 17
+ Store 26 24
+ Store 28(gl_ViewportIndex) 29
+ EmitStreamVertex 16
+ EndStreamPrimitive 17
+ EmitVertex
+ EndPrimitive
+ 34: 15(int) Load 33(gl_InvocationID)
+ Store 31(id) 34
+ 42: 39 Load 41(s2D)
+ 48: 47(ptr) AccessChain 46(coord) 17
+ 49: 43(fvec2) Load 48
+ 65: 15(int) Load 64(i)
+ Store 67(indexable) 62
+ 69: 68(ptr) AccessChain 67(indexable) 65
+ 70: 50(ivec2) Load 69
+ 71: 35(fvec4) ImageGather 42 49 17 Offset 70
+ Store 37(v) 71
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.430.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.430.vert.out
new file mode 100755
index 00000000000..d5332d253d1
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.430.vert.out
@@ -0,0 +1,143 @@
+spv.430.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 66
+
+ Capability Shader
+ Capability ClipDistance
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 12 23 34 38 41 42 62 65
+ Source GLSL 450
+ Name 4 "main"
+ Name 10 "gl_PerVertex"
+ MemberName 10(gl_PerVertex) 0 "gl_ClipDistance"
+ Name 12 ""
+ Name 23 "bad"
+ Name 34 "badorder3"
+ Name 38 "f"
+ Name 41 "badorder"
+ Name 42 "badorder2"
+ Name 43 "boundblock"
+ MemberName 43(boundblock) 0 "aoeu"
+ Name 45 "boundInst"
+ Name 46 "anonblock"
+ MemberName 46(anonblock) 0 "aoeu"
+ Name 48 ""
+ Name 52 "sampb1"
+ Name 55 "sampb2"
+ Name 56 "sampb4"
+ Name 59 "S"
+ MemberName 59(S) 0 "a"
+ MemberName 59(S) 1 "b"
+ MemberName 59(S) 2 "c"
+ Name 60 "SS"
+ MemberName 60(SS) 0 "b"
+ MemberName 60(SS) 1 "s"
+ MemberName 60(SS) 2 "c"
+ Name 62 "var"
+ Name 63 "MS"
+ MemberName 63(MS) 0 "f"
+ Name 65 "outMS"
+ MemberDecorate 10(gl_PerVertex) 0 BuiltIn ClipDistance
+ Decorate 10(gl_PerVertex) Block
+ Decorate 34(badorder3) Flat
+ Decorate 42(badorder2) Invariant
+ MemberDecorate 43(boundblock) 0 Offset 0
+ Decorate 43(boundblock) Block
+ Decorate 45(boundInst) DescriptorSet 0
+ Decorate 45(boundInst) Binding 3
+ MemberDecorate 46(anonblock) 0 Offset 0
+ Decorate 46(anonblock) Block
+ Decorate 48 DescriptorSet 0
+ Decorate 48 Binding 7
+ Decorate 52(sampb1) DescriptorSet 0
+ Decorate 52(sampb1) Binding 4
+ Decorate 55(sampb2) DescriptorSet 0
+ Decorate 55(sampb2) Binding 5
+ Decorate 56(sampb4) DescriptorSet 0
+ Decorate 56(sampb4) Binding 31
+ MemberDecorate 60(SS) 0 Flat
+ MemberDecorate 60(SS) 1 Flat
+ MemberDecorate 60(SS) 2 Flat
+ Decorate 62(var) Location 0
+ MemberDecorate 63(MS) 0 Location 17
+ Decorate 63(MS) Block
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeInt 32 0
+ 8: 7(int) Constant 3
+ 9: TypeArray 6(float) 8
+10(gl_PerVertex): TypeStruct 9
+ 11: TypePointer Output 10(gl_PerVertex)
+ 12: 11(ptr) Variable Output
+ 13: TypeInt 32 1
+ 14: 13(int) Constant 0
+ 15: 13(int) Constant 2
+ 16: 6(float) Constant 1080872141
+ 17: TypePointer Output 6(float)
+ 19: TypeVector 6(float) 4
+ 20: 7(int) Constant 10
+ 21: TypeArray 19(fvec4) 20
+ 22: TypePointer Input 21
+ 23(bad): 22(ptr) Variable Input
+ 24: 7(int) Constant 0
+ 25: TypePointer Input 6(float)
+ 28: 6(float) Constant 1082549862
+ 29: TypeBool
+ 33: TypePointer Output 19(fvec4)
+ 34(badorder3): 33(ptr) Variable Output
+ 35: TypePointer Input 19(fvec4)
+ 38(f): 25(ptr) Variable Input
+ 41(badorder): 35(ptr) Variable Input
+ 42(badorder2): 33(ptr) Variable Output
+ 43(boundblock): TypeStruct 13(int)
+ 44: TypePointer Uniform 43(boundblock)
+ 45(boundInst): 44(ptr) Variable Uniform
+ 46(anonblock): TypeStruct 13(int)
+ 47: TypePointer Uniform 46(anonblock)
+ 48: 47(ptr) Variable Uniform
+ 49: TypeImage 6(float) 2D sampled format:Unknown
+ 50: TypeSampledImage 49
+ 51: TypePointer UniformConstant 50
+ 52(sampb1): 51(ptr) Variable UniformConstant
+ 53: TypeArray 50 20
+ 54: TypePointer UniformConstant 53
+ 55(sampb2): 54(ptr) Variable UniformConstant
+ 56(sampb4): 51(ptr) Variable UniformConstant
+ 57: TypeVector 7(int) 2
+ 58: TypeVector 6(float) 3
+ 59(S): TypeStruct 6(float) 57(ivec2) 58(fvec3)
+ 60(SS): TypeStruct 19(fvec4) 59(S) 19(fvec4)
+ 61: TypePointer Output 60(SS)
+ 62(var): 61(ptr) Variable Output
+ 63(MS): TypeStruct 6(float)
+ 64: TypePointer Output 63(MS)
+ 65(outMS): 64(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 18: 17(ptr) AccessChain 12 14 15
+ Store 18 16
+ 26: 25(ptr) AccessChain 23(bad) 14 24
+ 27: 6(float) Load 26
+ 30: 29(bool) FOrdEqual 27 28
+ SelectionMerge 32 None
+ BranchConditional 30 31 32
+ 31: Label
+ 36: 35(ptr) AccessChain 23(bad) 14
+ 37: 19(fvec4) Load 36
+ Store 34(badorder3) 37
+ Branch 32
+ 32: Label
+ 39: 6(float) Load 38(f)
+ 40: 17(ptr) AccessChain 12 14 14
+ Store 40 39
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.AofA.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.AofA.frag.out
new file mode 100644
index 00000000000..0dbf69ceda2
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.AofA.frag.out
@@ -0,0 +1,156 @@
+spv.AofA.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 104
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 39 44 68 70 72 78
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 430
+ Name 4 "main"
+ Name 17 "foo(f1[5][7];"
+ Name 16 "a"
+ Name 20 "r"
+ Name 39 "outfloat"
+ Name 42 "g4"
+ Name 44 "g5"
+ Name 45 "param"
+ Name 48 "u"
+ Name 52 "param"
+ Name 66 "many"
+ Name 68 "i"
+ Name 70 "j"
+ Name 72 "k"
+ Name 78 "infloat"
+ Name 94 "uAofA"
+ MemberName 94(uAofA) 0 "f"
+ Name 98 "nameAofA"
+ Decorate 68(i) Flat
+ Decorate 70(j) Flat
+ Decorate 72(k) Flat
+ Decorate 92 ArrayStride 16
+ Decorate 93 ArrayStride 64
+ MemberDecorate 94(uAofA) 0 Offset 0
+ Decorate 94(uAofA) Block
+ Decorate 98(nameAofA) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeInt 32 0
+ 8: 7(int) Constant 7
+ 9: TypeArray 6(float) 8
+ 10: 7(int) Constant 5
+ 11: TypeArray 9 10
+ 12: TypePointer Function 11
+ 13: 7(int) Constant 4
+ 14: TypeArray 9 13
+ 15: TypeFunction 14 12(ptr)
+ 19: TypePointer Function 9
+ 21: TypeInt 32 1
+ 22: 21(int) Constant 2
+ 25: 21(int) Constant 0
+ 28: 21(int) Constant 1
+ 32: 21(int) Constant 3
+ 38: TypePointer Output 6(float)
+ 39(outfloat): 38(ptr) Variable Output
+ 40: 6(float) Constant 0
+ 41: TypePointer Private 14
+ 42(g4): 41(ptr) Variable Private
+ 43: TypePointer Input 11
+ 44(g5): 43(ptr) Variable Input
+ 49: 6(float) Constant 1077936128
+ 50: TypePointer Function 6(float)
+ 55: 7(int) Constant 6
+ 56: TypeArray 6(float) 55
+ 57: TypeArray 56 10
+ 58: TypeArray 57 13
+ 59: 7(int) Constant 3
+ 60: TypeArray 58 59
+ 61: 7(int) Constant 2
+ 62: TypeArray 60 61
+ 63: 7(int) Constant 1
+ 64: TypeArray 62 63
+ 65: TypePointer Private 64
+ 66(many): 65(ptr) Variable Private
+ 67: TypePointer Input 21(int)
+ 68(i): 67(ptr) Variable Input
+ 70(j): 67(ptr) Variable Input
+ 72(k): 67(ptr) Variable Input
+ 77: TypePointer Input 6(float)
+ 78(infloat): 77(ptr) Variable Input
+ 80: TypePointer Private 6(float)
+ 92: TypeArray 6(float) 13
+ 93: TypeArray 92 61
+ 94(uAofA): TypeStruct 93
+ 95: TypeArray 94(uAofA) 10
+ 96: TypeArray 95 59
+ 97: TypePointer Uniform 96
+ 98(nameAofA): 97(ptr) Variable Uniform
+ 99: TypePointer Uniform 6(float)
+ 4(main): 2 Function None 3
+ 5: Label
+ 45(param): 12(ptr) Variable Function
+ 48(u): 12(ptr) Variable Function
+ 52(param): 12(ptr) Variable Function
+ Store 39(outfloat) 40
+ 46: 11 Load 44(g5)
+ Store 45(param) 46
+ 47: 14 FunctionCall 17(foo(f1[5][7];) 45(param)
+ Store 42(g4) 47
+ 51: 50(ptr) AccessChain 48(u) 22 22
+ Store 51 49
+ 53: 11 Load 48(u)
+ Store 52(param) 53
+ 54: 14 FunctionCall 17(foo(f1[5][7];) 52(param)
+ 69: 21(int) Load 68(i)
+ 71: 21(int) Load 70(j)
+ 73: 21(int) Load 72(k)
+ 74: 21(int) Load 68(i)
+ 75: 21(int) Load 70(j)
+ 76: 21(int) Load 72(k)
+ 79: 6(float) Load 78(infloat)
+ 81: 80(ptr) AccessChain 66(many) 69 71 73 74 75 76
+ Store 81 79
+ 82: 21(int) Load 70(j)
+ 83: 21(int) Load 70(j)
+ 84: 21(int) Load 70(j)
+ 85: 21(int) Load 70(j)
+ 86: 21(int) Load 70(j)
+ 87: 21(int) Load 70(j)
+ 88: 80(ptr) AccessChain 66(many) 82 83 84 85 86 87
+ 89: 6(float) Load 88
+ 90: 6(float) Load 39(outfloat)
+ 91: 6(float) FAdd 90 89
+ Store 39(outfloat) 91
+ 100: 99(ptr) AccessChain 98(nameAofA) 28 22 25 25 32
+ 101: 6(float) Load 100
+ 102: 6(float) Load 39(outfloat)
+ 103: 6(float) FAdd 102 101
+ Store 39(outfloat) 103
+ Return
+ FunctionEnd
+17(foo(f1[5][7];): 14 Function None 15
+ 16(a): 12(ptr) FunctionParameter
+ 18: Label
+ 20(r): 19(ptr) Variable Function
+ 23: 19(ptr) AccessChain 16(a) 22
+ 24: 9 Load 23
+ Store 20(r) 24
+ 26: 19(ptr) AccessChain 16(a) 25
+ 27: 9 Load 26
+ 29: 19(ptr) AccessChain 16(a) 28
+ 30: 9 Load 29
+ 31: 9 Load 20(r)
+ 33: 19(ptr) AccessChain 16(a) 32
+ 34: 9 Load 33
+ 35: 14 CompositeConstruct 27 30 31 34
+ ReturnValue 35
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.Operations.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.Operations.frag.out
new file mode 100755
index 00000000000..f8b666d5377
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.Operations.frag.out
@@ -0,0 +1,674 @@
+spv.Operations.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 509
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 11 22 212 288 485 503 508
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ Name 4 "main"
+ Name 9 "v"
+ Name 11 "uv4"
+ Name 20 "i"
+ Name 22 "ui"
+ Name 181 "ub41"
+ Name 188 "f"
+ Name 212 "uf"
+ Name 285 "u"
+ Name 288 "uui"
+ Name 305 "b"
+ Name 342 "ub42"
+ Name 485 "FragColor"
+ Name 503 "uiv4"
+ Name 505 "ub"
+ Name 508 "uuv4"
+ Decorate 22(ui) Flat
+ Decorate 288(uui) Flat
+ Decorate 503(uiv4) Flat
+ Decorate 508(uuv4) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(uv4): 10(ptr) Variable Input
+ 18: TypeInt 32 1
+ 19: TypePointer Function 18(int)
+ 21: TypePointer Input 18(int)
+ 22(ui): 21(ptr) Variable Input
+ 141: TypeInt 32 0
+ 142: 141(int) Constant 0
+ 143: TypePointer Function 6(float)
+ 178: TypeBool
+ 179: TypeVector 178(bool) 4
+ 180: TypePointer Private 179(bvec4)
+ 181(ub41): 180(ptr) Variable Private
+ 211: TypePointer Input 6(float)
+ 212(uf): 211(ptr) Variable Input
+ 284: TypePointer Function 141(int)
+ 287: TypePointer Input 141(int)
+ 288(uui): 287(ptr) Variable Input
+ 304: TypePointer Function 178(bool)
+ 342(ub42): 180(ptr) Variable Private
+ 398: 18(int) Constant 2
+ 405: 18(int) Constant 1
+ 435: TypeVector 6(float) 3
+ 454: 6(float) Constant 1073741824
+ 461: 6(float) Constant 1065353216
+ 466: 18(int) Constant 66
+ 472: 18(int) Constant 17
+ 484: TypePointer Output 7(fvec4)
+ 485(FragColor): 484(ptr) Variable Output
+ 501: TypeVector 18(int) 4
+ 502: TypePointer Input 501(ivec4)
+ 503(uiv4): 502(ptr) Variable Input
+ 504: TypePointer Private 178(bool)
+ 505(ub): 504(ptr) Variable Private
+ 506: TypeVector 141(int) 4
+ 507: TypePointer Input 506(ivec4)
+ 508(uuv4): 507(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(v): 8(ptr) Variable Function
+ 20(i): 19(ptr) Variable Function
+ 188(f): 143(ptr) Variable Function
+ 285(u): 284(ptr) Variable Function
+ 305(b): 304(ptr) Variable Function
+ 486: 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(uv4)
+ 13: 7(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 12
+ Store 9(v) 13
+ 14: 7(fvec4) Load 9(v)
+ 15: 7(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 14
+ 16: 7(fvec4) Load 9(v)
+ 17: 7(fvec4) FAdd 16 15
+ Store 9(v) 17
+ 23: 18(int) Load 22(ui)
+ 24: 18(int) Load 22(ui)
+ 25: 18(int) IMul 23 24
+ Store 20(i) 25
+ 26: 7(fvec4) Load 9(v)
+ 27: 7(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 26
+ 28: 7(fvec4) Load 9(v)
+ 29: 7(fvec4) FAdd 28 27
+ Store 9(v) 29
+ 30: 7(fvec4) Load 9(v)
+ 31: 7(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 30
+ 32: 7(fvec4) Load 9(v)
+ 33: 7(fvec4) FAdd 32 31
+ Store 9(v) 33
+ 34: 7(fvec4) Load 9(v)
+ 35: 7(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 34
+ 36: 7(fvec4) Load 9(v)
+ 37: 7(fvec4) FAdd 36 35
+ Store 9(v) 37
+ 38: 7(fvec4) Load 9(v)
+ 39: 7(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 38
+ 40: 7(fvec4) Load 9(v)
+ 41: 7(fvec4) FAdd 40 39
+ Store 9(v) 41
+ 42: 7(fvec4) Load 9(v)
+ 43: 7(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 42
+ 44: 7(fvec4) Load 9(v)
+ 45: 7(fvec4) FAdd 44 43
+ Store 9(v) 45
+ 46: 7(fvec4) Load 9(v)
+ 47: 7(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 46
+ 48: 7(fvec4) Load 9(v)
+ 49: 7(fvec4) FAdd 48 47
+ Store 9(v) 49
+ 50: 7(fvec4) Load 9(v)
+ 51: 7(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 50
+ 52: 7(fvec4) Load 9(v)
+ 53: 7(fvec4) FAdd 52 51
+ Store 9(v) 53
+ 54: 7(fvec4) Load 9(v)
+ 55: 7(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 54
+ 56: 7(fvec4) Load 9(v)
+ 57: 7(fvec4) FAdd 56 55
+ Store 9(v) 57
+ 58: 7(fvec4) Load 9(v)
+ 59: 7(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 58
+ 60: 7(fvec4) Load 9(v)
+ 61: 7(fvec4) FAdd 60 59
+ Store 9(v) 61
+ 62: 7(fvec4) Load 9(v)
+ 63: 7(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 62
+ 64: 7(fvec4) Load 9(v)
+ 65: 7(fvec4) FAdd 64 63
+ Store 9(v) 65
+ 66: 7(fvec4) Load 9(v)
+ 67: 7(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 66
+ 68: 7(fvec4) Load 9(v)
+ 69: 7(fvec4) FAdd 68 67
+ Store 9(v) 69
+ 70: 7(fvec4) Load 9(v)
+ 71: 7(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 70
+ 72: 7(fvec4) Load 9(v)
+ 73: 7(fvec4) FAdd 72 71
+ Store 9(v) 73
+ 74: 7(fvec4) Load 9(v)
+ 75: 7(fvec4) Load 9(v)
+ 76: 7(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 74 75
+ 77: 7(fvec4) Load 9(v)
+ 78: 7(fvec4) FAdd 77 76
+ Store 9(v) 78
+ 79: 7(fvec4) Load 9(v)
+ 80: 7(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 79
+ 81: 7(fvec4) Load 9(v)
+ 82: 7(fvec4) FAdd 81 80
+ Store 9(v) 82
+ 83: 7(fvec4) Load 9(v)
+ 84: 7(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 83
+ 85: 7(fvec4) Load 9(v)
+ 86: 7(fvec4) FAdd 85 84
+ Store 9(v) 86
+ 87: 7(fvec4) Load 9(v)
+ 88: 7(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 87
+ 89: 7(fvec4) Load 9(v)
+ 90: 7(fvec4) FAdd 89 88
+ Store 9(v) 90
+ 91: 7(fvec4) Load 9(v)
+ 92: 7(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 91
+ 93: 7(fvec4) Load 9(v)
+ 94: 7(fvec4) FAdd 93 92
+ Store 9(v) 94
+ 95: 7(fvec4) Load 9(v)
+ 96: 7(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 95
+ 97: 7(fvec4) Load 9(v)
+ 98: 7(fvec4) FAdd 97 96
+ Store 9(v) 98
+ 99: 7(fvec4) Load 9(v)
+ 100: 7(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 99
+ 101: 7(fvec4) Load 9(v)
+ 102: 7(fvec4) FAdd 101 100
+ Store 9(v) 102
+ 103: 7(fvec4) Load 9(v)
+ 104: 7(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 103
+ 105: 7(fvec4) Load 9(v)
+ 106: 7(fvec4) FAdd 105 104
+ Store 9(v) 106
+ 107: 7(fvec4) Load 9(v)
+ 108: 7(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 107
+ 109: 7(fvec4) Load 9(v)
+ 110: 7(fvec4) FAdd 109 108
+ Store 9(v) 110
+ 111: 7(fvec4) Load 9(v)
+ 112: 7(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 111
+ 113: 7(fvec4) Load 9(v)
+ 114: 7(fvec4) FAdd 113 112
+ Store 9(v) 114
+ 115: 7(fvec4) Load 9(v)
+ 116: 7(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 115
+ 117: 7(fvec4) Load 9(v)
+ 118: 7(fvec4) FAdd 117 116
+ Store 9(v) 118
+ 119: 7(fvec4) Load 9(v)
+ 120: 7(fvec4) ExtInst 1(GLSL.std.450) 1(Round) 119
+ 121: 7(fvec4) Load 9(v)
+ 122: 7(fvec4) FAdd 121 120
+ Store 9(v) 122
+ 123: 7(fvec4) Load 9(v)
+ 124: 7(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 123
+ 125: 7(fvec4) Load 9(v)
+ 126: 7(fvec4) FAdd 125 124
+ Store 9(v) 126
+ 127: 7(fvec4) Load 9(v)
+ 128: 7(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 127
+ 129: 7(fvec4) Load 9(v)
+ 130: 7(fvec4) FAdd 129 128
+ Store 9(v) 130
+ 131: 7(fvec4) Load 9(v)
+ 132: 7(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 131
+ 133: 7(fvec4) Load 9(v)
+ 134: 7(fvec4) FAdd 133 132
+ Store 9(v) 134
+ 135: 7(fvec4) Load 9(v)
+ 136: 7(fvec4) Load 9(v)
+ 137: 7(fvec4) FMod 135 136
+ 138: 7(fvec4) Load 9(v)
+ 139: 7(fvec4) FAdd 138 137
+ Store 9(v) 139
+ 140: 7(fvec4) Load 9(v)
+ 144: 143(ptr) AccessChain 9(v) 142
+ 145: 6(float) Load 144
+ 146: 7(fvec4) CompositeConstruct 145 145 145 145
+ 147: 7(fvec4) FMod 140 146
+ 148: 7(fvec4) Load 9(v)
+ 149: 7(fvec4) FAdd 148 147
+ Store 9(v) 149
+ 150: 7(fvec4) Load 9(v)
+ 151: 7(fvec4) ExtInst 1(GLSL.std.450) 35(Modf) 150 9(v)
+ 152: 7(fvec4) Load 9(v)
+ 153: 7(fvec4) FAdd 152 151
+ Store 9(v) 153
+ 154: 7(fvec4) Load 9(v)
+ 155: 7(fvec4) Load 11(uv4)
+ 156: 7(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 154 155
+ 157: 7(fvec4) Load 9(v)
+ 158: 7(fvec4) FAdd 157 156
+ Store 9(v) 158
+ 159: 7(fvec4) Load 9(v)
+ 160: 7(fvec4) Load 11(uv4)
+ 161: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 159 160
+ 162: 7(fvec4) Load 9(v)
+ 163: 7(fvec4) FAdd 162 161
+ Store 9(v) 163
+ 164: 7(fvec4) Load 9(v)
+ 165: 7(fvec4) Load 11(uv4)
+ 166: 7(fvec4) Load 11(uv4)
+ 167: 7(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 164 165 166
+ 168: 7(fvec4) Load 9(v)
+ 169: 7(fvec4) FAdd 168 167
+ Store 9(v) 169
+ 170: 7(fvec4) Load 9(v)
+ 171: 7(fvec4) Load 9(v)
+ 172: 7(fvec4) Load 9(v)
+ 173: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 170 171 172
+ 174: 7(fvec4) Load 9(v)
+ 175: 7(fvec4) FAdd 174 173
+ Store 9(v) 175
+ 176: 7(fvec4) Load 9(v)
+ 177: 7(fvec4) Load 9(v)
+ 182: 179(bvec4) Load 181(ub41)
+ 183: 7(fvec4) Select 182 177 176
+ 184: 7(fvec4) Load 9(v)
+ 185: 7(fvec4) FAdd 184 183
+ Store 9(v) 185
+ 186: 7(fvec4) Load 9(v)
+ 187: 7(fvec4) Load 9(v)
+ 189: 6(float) Load 188(f)
+ 190: 7(fvec4) CompositeConstruct 189 189 189 189
+ 191: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 186 187 190
+ 192: 7(fvec4) Load 9(v)
+ 193: 7(fvec4) FAdd 192 191
+ Store 9(v) 193
+ 194: 7(fvec4) Load 9(v)
+ 195: 7(fvec4) Load 11(uv4)
+ 196: 7(fvec4) Load 9(v)
+ 197: 7(fvec4) ExtInst 1(GLSL.std.450) 50(Fma) 194 195 196
+ 198: 7(fvec4) Load 9(v)
+ 199: 7(fvec4) FAdd 198 197
+ Store 9(v) 199
+ 200: 7(fvec4) Load 9(v)
+ 201: 7(fvec4) Load 9(v)
+ 202: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 200 201
+ 203: 7(fvec4) Load 9(v)
+ 204: 7(fvec4) FAdd 203 202
+ Store 9(v) 204
+ 205: 7(fvec4) Load 9(v)
+ 206: 7(fvec4) Load 9(v)
+ 207: 7(fvec4) Load 9(v)
+ 208: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 205 206 207
+ 209: 7(fvec4) Load 9(v)
+ 210: 7(fvec4) FAdd 209 208
+ Store 9(v) 210
+ 213: 6(float) Load 212(uf)
+ 214: 7(fvec4) Load 9(v)
+ 215: 7(fvec4) CompositeConstruct 213 213 213 213
+ 216: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 215 214
+ 217: 7(fvec4) Load 9(v)
+ 218: 7(fvec4) FAdd 217 216
+ Store 9(v) 218
+ 219: 6(float) Load 212(uf)
+ 220: 6(float) Load 212(uf)
+ 221: 7(fvec4) Load 9(v)
+ 222: 7(fvec4) CompositeConstruct 219 219 219 219
+ 223: 7(fvec4) CompositeConstruct 220 220 220 220
+ 224: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 222 223 221
+ 225: 7(fvec4) Load 9(v)
+ 226: 7(fvec4) FAdd 225 224
+ Store 9(v) 226
+ 227: 7(fvec4) Load 9(v)
+ 228: 7(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 227
+ 229: 7(fvec4) Load 9(v)
+ 230: 7(fvec4) FAdd 229 228
+ Store 9(v) 230
+ 231: 7(fvec4) Load 9(v)
+ 232: 7(fvec4) Load 9(v)
+ 233: 7(fvec4) Load 9(v)
+ 234: 7(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 231 232 233
+ 235: 7(fvec4) Load 9(v)
+ 236: 7(fvec4) FAdd 235 234
+ Store 9(v) 236
+ 237: 7(fvec4) Load 9(v)
+ 238: 7(fvec4) Load 9(v)
+ 239: 7(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 237 238
+ 240: 7(fvec4) Load 9(v)
+ 241: 7(fvec4) FAdd 240 239
+ Store 9(v) 241
+ 242: 7(fvec4) Load 9(v)
+ 243: 7(fvec4) Load 9(v)
+ 244: 6(float) Load 212(uf)
+ 245: 7(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 242 243 244
+ 246: 7(fvec4) Load 9(v)
+ 247: 7(fvec4) FAdd 246 245
+ Store 9(v) 247
+ 248: 7(fvec4) Load 9(v)
+ 249: 7(fvec4) DPdx 248
+ 250: 7(fvec4) Load 9(v)
+ 251: 7(fvec4) FAdd 250 249
+ Store 9(v) 251
+ 252: 7(fvec4) Load 9(v)
+ 253: 7(fvec4) DPdy 252
+ 254: 7(fvec4) Load 9(v)
+ 255: 7(fvec4) FAdd 254 253
+ Store 9(v) 255
+ 256: 7(fvec4) Load 9(v)
+ 257: 7(fvec4) Fwidth 256
+ 258: 7(fvec4) Load 9(v)
+ 259: 7(fvec4) FAdd 258 257
+ Store 9(v) 259
+ 260: 18(int) Load 22(ui)
+ 261: 18(int) ExtInst 1(GLSL.std.450) 5(SAbs) 260
+ 262: 18(int) Load 20(i)
+ 263: 18(int) IAdd 262 261
+ Store 20(i) 263
+ 264: 18(int) Load 20(i)
+ 265: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 264
+ 266: 18(int) Load 20(i)
+ 267: 18(int) IAdd 266 265
+ Store 20(i) 267
+ 268: 18(int) Load 20(i)
+ 269: 18(int) Load 22(ui)
+ 270: 18(int) ExtInst 1(GLSL.std.450) 39(SMin) 268 269
+ 271: 18(int) Load 20(i)
+ 272: 18(int) IAdd 271 270
+ Store 20(i) 272
+ 273: 18(int) Load 20(i)
+ 274: 18(int) Load 22(ui)
+ 275: 18(int) ExtInst 1(GLSL.std.450) 42(SMax) 273 274
+ 276: 18(int) Load 20(i)
+ 277: 18(int) IAdd 276 275
+ Store 20(i) 277
+ 278: 18(int) Load 20(i)
+ 279: 18(int) Load 22(ui)
+ 280: 18(int) Load 22(ui)
+ 281: 18(int) ExtInst 1(GLSL.std.450) 45(SClamp) 278 279 280
+ 282: 18(int) Load 20(i)
+ 283: 18(int) IAdd 282 281
+ Store 20(i) 283
+ 286: 141(int) Load 285(u)
+ 289: 141(int) Load 288(uui)
+ 290: 141(int) ExtInst 1(GLSL.std.450) 38(UMin) 286 289
+ 291: 141(int) Load 285(u)
+ 292: 141(int) IAdd 291 290
+ Store 285(u) 292
+ 293: 141(int) Load 285(u)
+ 294: 141(int) Load 288(uui)
+ 295: 141(int) ExtInst 1(GLSL.std.450) 41(UMax) 293 294
+ 296: 141(int) Load 285(u)
+ 297: 141(int) IAdd 296 295
+ Store 285(u) 297
+ 298: 141(int) Load 285(u)
+ 299: 141(int) Load 288(uui)
+ 300: 141(int) Load 288(uui)
+ 301: 141(int) ExtInst 1(GLSL.std.450) 44(UClamp) 298 299 300
+ 302: 141(int) Load 285(u)
+ 303: 141(int) IAdd 302 301
+ Store 285(u) 303
+ 306: 6(float) Load 212(uf)
+ 307: 178(bool) IsNan 306
+ Store 305(b) 307
+ 308: 6(float) Load 188(f)
+ 309: 178(bool) IsInf 308
+ Store 305(b) 309
+ 310: 7(fvec4) Load 9(v)
+ 311: 7(fvec4) Load 11(uv4)
+ 312: 179(bvec4) FOrdLessThan 310 311
+ 313: 178(bool) Any 312
+ Store 305(b) 313
+ 314: 178(bool) Load 305(b)
+ SelectionMerge 316 None
+ BranchConditional 314 315 316
+ 315: Label
+ 317: 7(fvec4) Load 9(v)
+ 318: 7(fvec4) Load 11(uv4)
+ 319: 179(bvec4) FOrdLessThanEqual 317 318
+ 320: 178(bool) Any 319
+ Branch 316
+ 316: Label
+ 321: 178(bool) Phi 314 5 320 315
+ Store 305(b) 321
+ 322: 178(bool) Load 305(b)
+ SelectionMerge 324 None
+ BranchConditional 322 323 324
+ 323: Label
+ 325: 7(fvec4) Load 9(v)
+ 326: 7(fvec4) Load 11(uv4)
+ 327: 179(bvec4) FOrdGreaterThan 325 326
+ 328: 178(bool) Any 327
+ Branch 324
+ 324: Label
+ 329: 178(bool) Phi 322 316 328 323
+ Store 305(b) 329
+ 330: 178(bool) Load 305(b)
+ SelectionMerge 332 None
+ BranchConditional 330 331 332
+ 331: Label
+ 333: 7(fvec4) Load 9(v)
+ 334: 7(fvec4) Load 11(uv4)
+ 335: 179(bvec4) FOrdGreaterThanEqual 333 334
+ 336: 178(bool) Any 335
+ Branch 332
+ 332: Label
+ 337: 178(bool) Phi 330 324 336 331
+ Store 305(b) 337
+ 338: 178(bool) Load 305(b)
+ SelectionMerge 340 None
+ BranchConditional 338 339 340
+ 339: Label
+ 341: 179(bvec4) Load 181(ub41)
+ 343: 179(bvec4) Load 342(ub42)
+ 344: 179(bvec4) LogicalEqual 341 343
+ 345: 178(bool) Any 344
+ Branch 340
+ 340: Label
+ 346: 178(bool) Phi 338 332 345 339
+ Store 305(b) 346
+ 347: 178(bool) Load 305(b)
+ SelectionMerge 349 None
+ BranchConditional 347 348 349
+ 348: Label
+ 350: 179(bvec4) Load 181(ub41)
+ 351: 179(bvec4) Load 342(ub42)
+ 352: 179(bvec4) LogicalNotEqual 350 351
+ 353: 178(bool) Any 352
+ Branch 349
+ 349: Label
+ 354: 178(bool) Phi 347 340 353 348
+ Store 305(b) 354
+ 355: 178(bool) Load 305(b)
+ 356: 179(bvec4) Load 181(ub41)
+ 357: 178(bool) Any 356
+ 358: 178(bool) LogicalAnd 355 357
+ Store 305(b) 358
+ 359: 178(bool) Load 305(b)
+ 360: 179(bvec4) Load 181(ub41)
+ 361: 178(bool) All 360
+ 362: 178(bool) LogicalAnd 359 361
+ Store 305(b) 362
+ 363: 178(bool) Load 305(b)
+ SelectionMerge 365 None
+ BranchConditional 363 364 365
+ 364: Label
+ 366: 179(bvec4) Load 181(ub41)
+ 367: 179(bvec4) LogicalNot 366
+ 368: 178(bool) Any 367
+ Branch 365
+ 365: Label
+ 369: 178(bool) Phi 363 349 368 364
+ Store 305(b) 369
+ 370: 18(int) Load 20(i)
+ 371: 18(int) Load 22(ui)
+ 372: 18(int) IAdd 370 371
+ 373: 18(int) Load 20(i)
+ 374: 18(int) IMul 372 373
+ 375: 18(int) Load 22(ui)
+ 376: 18(int) ISub 374 375
+ 377: 18(int) Load 20(i)
+ 378: 18(int) SDiv 376 377
+ Store 20(i) 378
+ 379: 18(int) Load 20(i)
+ 380: 18(int) Load 22(ui)
+ 381: 18(int) SMod 379 380
+ Store 20(i) 381
+ 382: 18(int) Load 20(i)
+ 383: 18(int) Load 22(ui)
+ 384: 178(bool) IEqual 382 383
+ 385: 178(bool) LogicalNot 384
+ SelectionMerge 387 None
+ BranchConditional 385 386 387
+ 386: Label
+ 388: 18(int) Load 20(i)
+ 389: 18(int) Load 22(ui)
+ 390: 178(bool) INotEqual 388 389
+ SelectionMerge 392 None
+ BranchConditional 390 391 392
+ 391: Label
+ 393: 18(int) Load 20(i)
+ 394: 18(int) Load 22(ui)
+ 395: 178(bool) IEqual 393 394
+ Branch 392
+ 392: Label
+ 396: 178(bool) Phi 390 386 395 391
+ 397: 18(int) Load 20(i)
+ 399: 178(bool) INotEqual 397 398
+ 400: 178(bool) LogicalNotEqual 396 399
+ Branch 387
+ 387: Label
+ 401: 178(bool) Phi 384 365 400 392
+ SelectionMerge 403 None
+ BranchConditional 401 402 403
+ 402: Label
+ 404: 18(int) Load 20(i)
+ 406: 18(int) IAdd 404 405
+ Store 20(i) 406
+ Branch 403
+ 403: Label
+ 407: 6(float) Load 212(uf)
+ 408: 6(float) Load 212(uf)
+ 409: 6(float) FAdd 407 408
+ 410: 6(float) Load 212(uf)
+ 411: 6(float) FMul 409 410
+ 412: 6(float) Load 212(uf)
+ 413: 6(float) FSub 411 412
+ 414: 6(float) Load 212(uf)
+ 415: 6(float) FDiv 413 414
+ Store 188(f) 415
+ 416: 7(fvec4) Load 9(v)
+ 417: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 416
+ 418: 6(float) Load 188(f)
+ 419: 6(float) FAdd 418 417
+ Store 188(f) 419
+ 420: 7(fvec4) Load 9(v)
+ 421: 7(fvec4) Load 9(v)
+ 422: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 420 421
+ 423: 6(float) Load 188(f)
+ 424: 6(float) FAdd 423 422
+ Store 188(f) 424
+ 425: 7(fvec4) Load 9(v)
+ 426: 7(fvec4) Load 9(v)
+ 427: 6(float) Dot 425 426
+ 428: 6(float) Load 188(f)
+ 429: 6(float) FAdd 428 427
+ Store 188(f) 429
+ 430: 6(float) Load 188(f)
+ 431: 6(float) Load 212(uf)
+ 432: 6(float) FMul 430 431
+ 433: 6(float) Load 188(f)
+ 434: 6(float) FAdd 433 432
+ Store 188(f) 434
+ 436: 7(fvec4) Load 9(v)
+ 437: 435(fvec3) VectorShuffle 436 436 0 1 2
+ 438: 7(fvec4) Load 9(v)
+ 439: 435(fvec3) VectorShuffle 438 438 0 1 2
+ 440: 435(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 437 439
+ 441: 6(float) CompositeExtract 440 0
+ 442: 6(float) Load 188(f)
+ 443: 6(float) FAdd 442 441
+ Store 188(f) 443
+ 444: 6(float) Load 188(f)
+ 445: 6(float) Load 212(uf)
+ 446: 178(bool) FOrdEqual 444 445
+ 447: 178(bool) LogicalNot 446
+ SelectionMerge 449 None
+ BranchConditional 447 448 449
+ 448: Label
+ 450: 6(float) Load 188(f)
+ 451: 6(float) Load 212(uf)
+ 452: 178(bool) FOrdNotEqual 450 451
+ 453: 6(float) Load 188(f)
+ 455: 178(bool) FOrdNotEqual 453 454
+ 456: 178(bool) LogicalAnd 452 455
+ Branch 449
+ 449: Label
+ 457: 178(bool) Phi 446 403 456 448
+ SelectionMerge 459 None
+ BranchConditional 457 458 459
+ 458: Label
+ 460: 6(float) Load 188(f)
+ 462: 6(float) FAdd 460 461
+ Store 188(f) 462
+ Branch 459
+ 459: Label
+ 463: 18(int) Load 22(ui)
+ 464: 18(int) Load 20(i)
+ 465: 18(int) BitwiseAnd 464 463
+ Store 20(i) 465
+ 467: 18(int) Load 20(i)
+ 468: 18(int) BitwiseOr 467 466
+ Store 20(i) 468
+ 469: 18(int) Load 22(ui)
+ 470: 18(int) Load 20(i)
+ 471: 18(int) BitwiseXor 470 469
+ Store 20(i) 471
+ 473: 18(int) Load 20(i)
+ 474: 18(int) SMod 473 472
+ Store 20(i) 474
+ 475: 18(int) Load 20(i)
+ 476: 18(int) ShiftRightArithmetic 475 398
+ Store 20(i) 476
+ 477: 18(int) Load 22(ui)
+ 478: 18(int) Load 20(i)
+ 479: 18(int) ShiftLeftLogical 478 477
+ Store 20(i) 479
+ 480: 18(int) Load 20(i)
+ 481: 18(int) Not 480
+ Store 20(i) 481
+ 482: 178(bool) Load 305(b)
+ 483: 178(bool) LogicalNot 482
+ Store 305(b) 483
+ 487: 178(bool) Load 305(b)
+ SelectionMerge 489 None
+ BranchConditional 487 488 498
+ 488: Label
+ 490: 18(int) Load 20(i)
+ 491: 6(float) ConvertSToF 490
+ 492: 7(fvec4) CompositeConstruct 491 491 491 491
+ 493: 6(float) Load 188(f)
+ 494: 7(fvec4) CompositeConstruct 493 493 493 493
+ 495: 7(fvec4) FAdd 492 494
+ 496: 7(fvec4) Load 9(v)
+ 497: 7(fvec4) FAdd 495 496
+ Store 486 497
+ Branch 489
+ 498: Label
+ 499: 7(fvec4) Load 9(v)
+ Store 486 499
+ Branch 489
+ 489: Label
+ 500: 7(fvec4) Load 486
+ Store 485(FragColor) 500
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.accessChain.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.accessChain.frag.out
new file mode 100755
index 00000000000..e9a9d81bc26
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.accessChain.frag.out
@@ -0,0 +1,323 @@
+spv.accessChain.frag
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 197
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 65 149
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 420
+ Name 4 "main"
+ Name 8 "S"
+ MemberName 8(S) 0 "color"
+ Name 11 "GetColor1(struct-S-vf31;"
+ Name 10 "i"
+ Name 18 "GetColor2(struct-S-vf31;i1;"
+ Name 16 "i"
+ Name 17 "comp"
+ Name 22 "GetColor3(struct-S-vf31;i1;"
+ Name 20 "i"
+ Name 21 "comp"
+ Name 26 "GetColor4(struct-S-vf31;i1;"
+ Name 24 "i"
+ Name 25 "comp"
+ Name 30 "GetColor5(struct-S-vf31;i1;"
+ Name 28 "i"
+ Name 29 "comp"
+ Name 34 "GetColor6(struct-S-vf31;i1;"
+ Name 32 "i"
+ Name 33 "comp"
+ Name 38 "GetColor7(struct-S-vf31;i1;"
+ Name 36 "i"
+ Name 37 "comp"
+ Name 42 "GetColor8(struct-S-vf31;i1;"
+ Name 40 "i"
+ Name 41 "comp"
+ Name 46 "GetColor9(struct-S-vf31;i1;"
+ Name 44 "i"
+ Name 45 "comp"
+ Name 50 "GetColor10(struct-S-vf31;i1;"
+ Name 48 "i"
+ Name 49 "comp"
+ Name 54 "GetColor11(struct-S-vf31;i1;"
+ Name 52 "i"
+ Name 53 "comp"
+ Name 58 "GetColor12(struct-S-vf31;i1;"
+ Name 56 "i"
+ Name 57 "comp"
+ Name 62 "GetColor13(struct-S-vf31;i1;"
+ Name 60 "i"
+ Name 61 "comp"
+ Name 65 "OutColor"
+ Name 144 "s"
+ Name 149 "u"
+ Name 150 "param"
+ Name 154 "param"
+ Name 158 "param"
+ Name 162 "param"
+ Name 166 "param"
+ Name 170 "param"
+ Name 174 "param"
+ Name 178 "param"
+ Name 182 "param"
+ Name 186 "param"
+ Name 190 "param"
+ Name 194 "param"
+ Decorate 65(OutColor) Location 0
+ Decorate 149(u) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 3
+ 8(S): TypeStruct 7(fvec3)
+ 9: TypeFunction 2 8(S)
+ 13: TypeInt 32 1
+ 14: TypePointer Function 13(int)
+ 15: TypeFunction 2 8(S) 14(ptr)
+ 64: TypePointer Output 7(fvec3)
+ 65(OutColor): 64(ptr) Variable Output
+ 66: 13(int) Constant 0
+ 67: TypeInt 32 0
+ 68: 67(int) Constant 0
+ 95: TypeVector 6(float) 2
+ 109: 67(int) Constant 2
+ 136: TypePointer Output 6(float)
+ 141: 6(float) Constant 0
+ 142: 7(fvec3) ConstantComposite 141 141 141
+ 143: TypePointer Function 8(S)
+ 148: TypePointer Input 13(int)
+ 149(u): 148(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 144(s): 143(ptr) Variable Function
+ 150(param): 14(ptr) Variable Function
+ 154(param): 14(ptr) Variable Function
+ 158(param): 14(ptr) Variable Function
+ 162(param): 14(ptr) Variable Function
+ 166(param): 14(ptr) Variable Function
+ 170(param): 14(ptr) Variable Function
+ 174(param): 14(ptr) Variable Function
+ 178(param): 14(ptr) Variable Function
+ 182(param): 14(ptr) Variable Function
+ 186(param): 14(ptr) Variable Function
+ 190(param): 14(ptr) Variable Function
+ 194(param): 14(ptr) Variable Function
+ Store 65(OutColor) 142
+ 145: 8(S) Load 144(s)
+ 146: 2 FunctionCall 11(GetColor1(struct-S-vf31;) 145
+ 147: 8(S) Load 144(s)
+ 151: 13(int) Load 149(u)
+ Store 150(param) 151
+ 152: 2 FunctionCall 18(GetColor2(struct-S-vf31;i1;) 147 150(param)
+ 153: 8(S) Load 144(s)
+ 155: 13(int) Load 149(u)
+ Store 154(param) 155
+ 156: 2 FunctionCall 22(GetColor3(struct-S-vf31;i1;) 153 154(param)
+ 157: 8(S) Load 144(s)
+ 159: 13(int) Load 149(u)
+ Store 158(param) 159
+ 160: 2 FunctionCall 26(GetColor4(struct-S-vf31;i1;) 157 158(param)
+ 161: 8(S) Load 144(s)
+ 163: 13(int) Load 149(u)
+ Store 162(param) 163
+ 164: 2 FunctionCall 30(GetColor5(struct-S-vf31;i1;) 161 162(param)
+ 165: 8(S) Load 144(s)
+ 167: 13(int) Load 149(u)
+ Store 166(param) 167
+ 168: 2 FunctionCall 34(GetColor6(struct-S-vf31;i1;) 165 166(param)
+ 169: 8(S) Load 144(s)
+ 171: 13(int) Load 149(u)
+ Store 170(param) 171
+ 172: 2 FunctionCall 38(GetColor7(struct-S-vf31;i1;) 169 170(param)
+ 173: 8(S) Load 144(s)
+ 175: 13(int) Load 149(u)
+ Store 174(param) 175
+ 176: 2 FunctionCall 42(GetColor8(struct-S-vf31;i1;) 173 174(param)
+ 177: 8(S) Load 144(s)
+ 179: 13(int) Load 149(u)
+ Store 178(param) 179
+ 180: 2 FunctionCall 46(GetColor9(struct-S-vf31;i1;) 177 178(param)
+ 181: 8(S) Load 144(s)
+ 183: 13(int) Load 149(u)
+ Store 182(param) 183
+ 184: 2 FunctionCall 50(GetColor10(struct-S-vf31;i1;) 181 182(param)
+ 185: 8(S) Load 144(s)
+ 187: 13(int) Load 149(u)
+ Store 186(param) 187
+ 188: 2 FunctionCall 54(GetColor11(struct-S-vf31;i1;) 185 186(param)
+ 189: 8(S) Load 144(s)
+ 191: 13(int) Load 149(u)
+ Store 190(param) 191
+ 192: 2 FunctionCall 58(GetColor12(struct-S-vf31;i1;) 189 190(param)
+ 193: 8(S) Load 144(s)
+ 195: 13(int) Load 149(u)
+ Store 194(param) 195
+ 196: 2 FunctionCall 62(GetColor13(struct-S-vf31;i1;) 193 194(param)
+ Return
+ FunctionEnd
+11(GetColor1(struct-S-vf31;): 2 Function None 9
+ 10(i): 8(S) FunctionParameter
+ 12: Label
+ 69: 6(float) CompositeExtract 10(i) 0 0
+ 70: 7(fvec3) Load 65(OutColor)
+ 71: 7(fvec3) CompositeConstruct 69 69 69
+ 72: 7(fvec3) FAdd 70 71
+ Store 65(OutColor) 72
+ Return
+ FunctionEnd
+18(GetColor2(struct-S-vf31;i1;): 2 Function None 15
+ 16(i): 8(S) FunctionParameter
+ 17(comp): 14(ptr) FunctionParameter
+ 19: Label
+ 73: 13(int) Load 17(comp)
+ 74: 7(fvec3) CompositeExtract 16(i) 0
+ 75: 6(float) VectorExtractDynamic 74 73
+ 76: 7(fvec3) Load 65(OutColor)
+ 77: 7(fvec3) CompositeConstruct 75 75 75
+ 78: 7(fvec3) FAdd 76 77
+ Store 65(OutColor) 78
+ Return
+ FunctionEnd
+22(GetColor3(struct-S-vf31;i1;): 2 Function None 15
+ 20(i): 8(S) FunctionParameter
+ 21(comp): 14(ptr) FunctionParameter
+ 23: Label
+ 79: 13(int) Load 21(comp)
+ 80: 7(fvec3) CompositeExtract 20(i) 0
+ 81: 6(float) VectorExtractDynamic 80 79
+ 82: 7(fvec3) Load 65(OutColor)
+ 83: 7(fvec3) CompositeConstruct 81 81 81
+ 84: 7(fvec3) FAdd 82 83
+ Store 65(OutColor) 84
+ Return
+ FunctionEnd
+26(GetColor4(struct-S-vf31;i1;): 2 Function None 15
+ 24(i): 8(S) FunctionParameter
+ 25(comp): 14(ptr) FunctionParameter
+ 27: Label
+ 85: 13(int) Load 25(comp)
+ 86: 7(fvec3) CompositeExtract 24(i) 0
+ 87: 6(float) VectorExtractDynamic 86 85
+ 88: 7(fvec3) Load 65(OutColor)
+ 89: 7(fvec3) CompositeConstruct 87 87 87
+ 90: 7(fvec3) FAdd 88 89
+ Store 65(OutColor) 90
+ Return
+ FunctionEnd
+30(GetColor5(struct-S-vf31;i1;): 2 Function None 15
+ 28(i): 8(S) FunctionParameter
+ 29(comp): 14(ptr) FunctionParameter
+ 31: Label
+ 91: 7(fvec3) CompositeExtract 28(i) 0
+ 92: 7(fvec3) Load 65(OutColor)
+ 93: 7(fvec3) FAdd 92 91
+ Store 65(OutColor) 93
+ Return
+ FunctionEnd
+34(GetColor6(struct-S-vf31;i1;): 2 Function None 15
+ 32(i): 8(S) FunctionParameter
+ 33(comp): 14(ptr) FunctionParameter
+ 35: Label
+ 94: 13(int) Load 33(comp)
+ 96: 7(fvec3) CompositeExtract 32(i) 0
+ 97: 95(fvec2) VectorShuffle 96 96 1 0
+ 98: 6(float) VectorExtractDynamic 97 94
+ 99: 7(fvec3) Load 65(OutColor)
+ 100: 7(fvec3) CompositeConstruct 98 98 98
+ 101: 7(fvec3) FAdd 99 100
+ Store 65(OutColor) 101
+ Return
+ FunctionEnd
+38(GetColor7(struct-S-vf31;i1;): 2 Function None 15
+ 36(i): 8(S) FunctionParameter
+ 37(comp): 14(ptr) FunctionParameter
+ 39: Label
+ 102: 7(fvec3) CompositeExtract 36(i) 0
+ 103: 95(fvec2) VectorShuffle 102 102 0 1
+ 104: 7(fvec3) Load 65(OutColor)
+ 105: 95(fvec2) VectorShuffle 104 104 0 1
+ 106: 95(fvec2) FAdd 105 103
+ 107: 7(fvec3) Load 65(OutColor)
+ 108: 7(fvec3) VectorShuffle 107 106 3 4 2
+ Store 65(OutColor) 108
+ Return
+ FunctionEnd
+42(GetColor8(struct-S-vf31;i1;): 2 Function None 15
+ 40(i): 8(S) FunctionParameter
+ 41(comp): 14(ptr) FunctionParameter
+ 43: Label
+ 110: 6(float) CompositeExtract 40(i) 0 2
+ 111: 7(fvec3) Load 65(OutColor)
+ 112: 7(fvec3) CompositeConstruct 110 110 110
+ 113: 7(fvec3) FAdd 111 112
+ Store 65(OutColor) 113
+ Return
+ FunctionEnd
+46(GetColor9(struct-S-vf31;i1;): 2 Function None 15
+ 44(i): 8(S) FunctionParameter
+ 45(comp): 14(ptr) FunctionParameter
+ 47: Label
+ 114: 7(fvec3) CompositeExtract 44(i) 0
+ 115: 7(fvec3) Load 65(OutColor)
+ 116: 7(fvec3) VectorShuffle 115 115 2 0 1
+ 117: 7(fvec3) FAdd 116 114
+ 118: 7(fvec3) Load 65(OutColor)
+ 119: 7(fvec3) VectorShuffle 118 117 4 5 3
+ Store 65(OutColor) 119
+ Return
+ FunctionEnd
+50(GetColor10(struct-S-vf31;i1;): 2 Function None 15
+ 48(i): 8(S) FunctionParameter
+ 49(comp): 14(ptr) FunctionParameter
+ 51: Label
+ 120: 7(fvec3) CompositeExtract 48(i) 0
+ 121: 95(fvec2) VectorShuffle 120 120 0 1
+ 122: 7(fvec3) Load 65(OutColor)
+ 123: 95(fvec2) VectorShuffle 122 122 2 1
+ 124: 95(fvec2) FAdd 123 121
+ 125: 7(fvec3) Load 65(OutColor)
+ 126: 7(fvec3) VectorShuffle 125 124 0 4 3
+ Store 65(OutColor) 126
+ Return
+ FunctionEnd
+54(GetColor11(struct-S-vf31;i1;): 2 Function None 15
+ 52(i): 8(S) FunctionParameter
+ 53(comp): 14(ptr) FunctionParameter
+ 55: Label
+ 127: 7(fvec3) CompositeExtract 52(i) 0
+ 128: 95(fvec2) VectorShuffle 127 127 0 1
+ 129: 7(fvec3) Load 65(OutColor)
+ 130: 95(fvec2) VectorShuffle 129 129 0 2
+ 131: 95(fvec2) FAdd 130 128
+ 132: 7(fvec3) Load 65(OutColor)
+ 133: 7(fvec3) VectorShuffle 132 131 3 1 4
+ Store 65(OutColor) 133
+ Return
+ FunctionEnd
+58(GetColor12(struct-S-vf31;i1;): 2 Function None 15
+ 56(i): 8(S) FunctionParameter
+ 57(comp): 14(ptr) FunctionParameter
+ 59: Label
+ 134: 13(int) Load 57(comp)
+ 135: 6(float) CompositeExtract 56(i) 0 0
+ 137: 136(ptr) AccessChain 65(OutColor) 134
+ 138: 6(float) Load 137
+ 139: 6(float) FAdd 138 135
+ 140: 136(ptr) AccessChain 65(OutColor) 134
+ Store 140 139
+ Return
+ FunctionEnd
+62(GetColor13(struct-S-vf31;i1;): 2 Function None 15
+ 60(i): 8(S) FunctionParameter
+ 61(comp): 14(ptr) FunctionParameter
+ 63: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.aggOps.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.aggOps.frag.out
new file mode 100644
index 00000000000..4888bea4950
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.aggOps.frag.out
@@ -0,0 +1,310 @@
+spv.aggOps.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 215
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 16 41 101 213
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ Name 4 "main"
+ Name 8 "s1"
+ MemberName 8(s1) 0 "i"
+ MemberName 8(s1) 1 "f"
+ Name 13 "a"
+ Name 16 "u"
+ Name 37 "b"
+ Name 41 "w"
+ Name 55 "s1"
+ MemberName 55(s1) 0 "i"
+ MemberName 55(s1) 1 "f"
+ Name 56 "s2"
+ MemberName 56(s2) 0 "i"
+ MemberName 56(s2) 1 "f"
+ MemberName 56(s2) 2 "s1_1"
+ Name 57 "ub1"
+ MemberName 57(ub1) 0 "foo2a"
+ Name 59 "uName1"
+ Name 64 "s1"
+ MemberName 64(s1) 0 "i"
+ MemberName 64(s1) 1 "f"
+ Name 65 "s2"
+ MemberName 65(s2) 0 "i"
+ MemberName 65(s2) 1 "f"
+ MemberName 65(s2) 2 "s1_1"
+ Name 66 "ub2"
+ MemberName 66(ub2) 0 "foo2b"
+ Name 68 "uName2"
+ Name 93 "v"
+ Name 97 "samp2D"
+ Name 101 "coord"
+ Name 213 "color"
+ MemberDecorate 55(s1) 0 Offset 0
+ MemberDecorate 55(s1) 1 Offset 4
+ MemberDecorate 56(s2) 0 Offset 0
+ MemberDecorate 56(s2) 1 Offset 4
+ MemberDecorate 56(s2) 2 Offset 16
+ MemberDecorate 57(ub1) 0 Offset 0
+ Decorate 57(ub1) Block
+ Decorate 59(uName1) DescriptorSet 0
+ MemberDecorate 64(s1) 0 Offset 0
+ MemberDecorate 64(s1) 1 Offset 4
+ MemberDecorate 65(s2) 0 Offset 0
+ MemberDecorate 65(s2) 1 Offset 4
+ MemberDecorate 65(s2) 2 Offset 8
+ MemberDecorate 66(ub2) 0 Offset 0
+ Decorate 66(ub2) BufferBlock
+ Decorate 68(uName2) DescriptorSet 0
+ Decorate 97(samp2D) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeFloat 32
+ 8(s1): TypeStruct 6(int) 7(float)
+ 9: TypeInt 32 0
+ 10: 9(int) Constant 3
+ 11: TypeArray 8(s1) 10
+ 12: TypePointer Function 11
+ 14: TypeVector 7(float) 4
+ 15: TypePointer Input 14(fvec4)
+ 16(u): 15(ptr) Variable Input
+ 17: 9(int) Constant 0
+ 18: TypePointer Input 7(float)
+ 22: 9(int) Constant 1
+ 26: 9(int) Constant 2
+ 33: 6(int) Constant 14
+ 34: 7(float) Constant 1096810496
+ 35: 8(s1) ConstantComposite 33 34
+ 38: 6(int) Constant 17
+ 39: 7(float) Constant 1099431936
+ 40: 8(s1) ConstantComposite 38 39
+ 41(w): 15(ptr) Variable Input
+ 55(s1): TypeStruct 6(int) 7(float)
+ 56(s2): TypeStruct 6(int) 7(float) 55(s1)
+ 57(ub1): TypeStruct 56(s2)
+ 58: TypePointer Uniform 57(ub1)
+ 59(uName1): 58(ptr) Variable Uniform
+ 60: 6(int) Constant 0
+ 61: TypePointer Uniform 56(s2)
+ 64(s1): TypeStruct 6(int) 7(float)
+ 65(s2): TypeStruct 6(int) 7(float) 64(s1)
+ 66(ub2): TypeStruct 65(s2)
+ 67: TypePointer Uniform 66(ub2)
+ 68(uName2): 67(ptr) Variable Uniform
+ 69: TypePointer Uniform 65(s2)
+ 72: TypeBool
+ 92: TypePointer Function 14(fvec4)
+ 94: TypeImage 7(float) 2D sampled format:Unknown
+ 95: TypeSampledImage 94
+ 96: TypePointer UniformConstant 95
+ 97(samp2D): 96(ptr) Variable UniformConstant
+ 99: TypeVector 7(float) 2
+ 100: TypePointer Input 99(fvec2)
+ 101(coord): 100(ptr) Variable Input
+ 106: 7(float) Constant 1073741824
+ 112: TypeVector 72(bool) 4
+ 117: 7(float) Constant 1077936128
+ 126: 7(float) Constant 1082130432
+ 132: TypeVector 72(bool) 2
+ 137: 7(float) Constant 1084227584
+ 173: 7(float) Constant 1086324736
+ 209: 7(float) Constant 1088421888
+ 212: TypePointer Output 14(fvec4)
+ 213(color): 212(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 13(a): 12(ptr) Variable Function
+ 37(b): 12(ptr) Variable Function
+ 93(v): 92(ptr) Variable Function
+ 19: 18(ptr) AccessChain 16(u) 17
+ 20: 7(float) Load 19
+ 21: 6(int) ConvertFToS 20
+ 23: 18(ptr) AccessChain 16(u) 22
+ 24: 7(float) Load 23
+ 25: 8(s1) CompositeConstruct 21 24
+ 27: 18(ptr) AccessChain 16(u) 26
+ 28: 7(float) Load 27
+ 29: 6(int) ConvertFToS 28
+ 30: 18(ptr) AccessChain 16(u) 10
+ 31: 7(float) Load 30
+ 32: 8(s1) CompositeConstruct 29 31
+ 36: 11 CompositeConstruct 25 32 35
+ Store 13(a) 36
+ 42: 18(ptr) AccessChain 41(w) 17
+ 43: 7(float) Load 42
+ 44: 6(int) ConvertFToS 43
+ 45: 18(ptr) AccessChain 41(w) 22
+ 46: 7(float) Load 45
+ 47: 8(s1) CompositeConstruct 44 46
+ 48: 18(ptr) AccessChain 41(w) 26
+ 49: 7(float) Load 48
+ 50: 6(int) ConvertFToS 49
+ 51: 18(ptr) AccessChain 41(w) 10
+ 52: 7(float) Load 51
+ 53: 8(s1) CompositeConstruct 50 52
+ 54: 11 CompositeConstruct 40 47 53
+ Store 37(b) 54
+ 62: 61(ptr) AccessChain 59(uName1) 60
+ 63: 56(s2) Load 62
+ 70: 69(ptr) AccessChain 68(uName2) 60
+ 71: 65(s2) Load 70
+ 73: 6(int) CompositeExtract 63 0
+ 74: 6(int) CompositeExtract 71 0
+ 75: 72(bool) IEqual 73 74
+ 76: 7(float) CompositeExtract 63 1
+ 77: 7(float) CompositeExtract 71 1
+ 78: 72(bool) FOrdEqual 76 77
+ 79: 72(bool) LogicalAnd 75 78
+ 80: 55(s1) CompositeExtract 63 2
+ 81: 64(s1) CompositeExtract 71 2
+ 82: 6(int) CompositeExtract 80 0
+ 83: 6(int) CompositeExtract 81 0
+ 84: 72(bool) IEqual 82 83
+ 85: 7(float) CompositeExtract 80 1
+ 86: 7(float) CompositeExtract 81 1
+ 87: 72(bool) FOrdEqual 85 86
+ 88: 72(bool) LogicalAnd 84 87
+ 89: 72(bool) LogicalAnd 79 88
+ SelectionMerge 91 None
+ BranchConditional 89 90 104
+ 90: Label
+ 98: 95 Load 97(samp2D)
+ 102: 99(fvec2) Load 101(coord)
+ 103: 14(fvec4) ImageSampleImplicitLod 98 102
+ Store 93(v) 103
+ Branch 91
+ 104: Label
+ 105: 95 Load 97(samp2D)
+ 107: 99(fvec2) Load 101(coord)
+ 108: 99(fvec2) VectorTimesScalar 107 106
+ 109: 14(fvec4) ImageSampleImplicitLod 105 108
+ Store 93(v) 109
+ Branch 91
+ 91: Label
+ 110: 14(fvec4) Load 16(u)
+ 111: 14(fvec4) Load 93(v)
+ 113: 112(bvec4) FOrdEqual 110 111
+ 114: 72(bool) All 113
+ SelectionMerge 116 None
+ BranchConditional 114 115 116
+ 115: Label
+ 118: 14(fvec4) Load 93(v)
+ 119: 14(fvec4) VectorTimesScalar 118 117
+ Store 93(v) 119
+ Branch 116
+ 116: Label
+ 120: 14(fvec4) Load 16(u)
+ 121: 14(fvec4) Load 93(v)
+ 122: 112(bvec4) FOrdNotEqual 120 121
+ 123: 72(bool) Any 122
+ SelectionMerge 125 None
+ BranchConditional 123 124 125
+ 124: Label
+ 127: 14(fvec4) Load 93(v)
+ 128: 14(fvec4) VectorTimesScalar 127 126
+ Store 93(v) 128
+ Branch 125
+ 125: Label
+ 129: 99(fvec2) Load 101(coord)
+ 130: 14(fvec4) Load 93(v)
+ 131: 99(fvec2) VectorShuffle 130 130 1 3
+ 133: 132(bvec2) FOrdEqual 129 131
+ 134: 72(bool) All 133
+ SelectionMerge 136 None
+ BranchConditional 134 135 136
+ 135: Label
+ 138: 14(fvec4) Load 93(v)
+ 139: 14(fvec4) VectorTimesScalar 138 137
+ Store 93(v) 139
+ Branch 136
+ 136: Label
+ 140: 11 Load 13(a)
+ 141: 11 Load 37(b)
+ 142: 8(s1) CompositeExtract 140 0
+ 143: 8(s1) CompositeExtract 141 0
+ 144: 6(int) CompositeExtract 142 0
+ 145: 6(int) CompositeExtract 143 0
+ 146: 72(bool) IEqual 144 145
+ 147: 7(float) CompositeExtract 142 1
+ 148: 7(float) CompositeExtract 143 1
+ 149: 72(bool) FOrdEqual 147 148
+ 150: 72(bool) LogicalAnd 146 149
+ 151: 8(s1) CompositeExtract 140 1
+ 152: 8(s1) CompositeExtract 141 1
+ 153: 6(int) CompositeExtract 151 0
+ 154: 6(int) CompositeExtract 152 0
+ 155: 72(bool) IEqual 153 154
+ 156: 7(float) CompositeExtract 151 1
+ 157: 7(float) CompositeExtract 152 1
+ 158: 72(bool) FOrdEqual 156 157
+ 159: 72(bool) LogicalAnd 155 158
+ 160: 72(bool) LogicalAnd 150 159
+ 161: 8(s1) CompositeExtract 140 2
+ 162: 8(s1) CompositeExtract 141 2
+ 163: 6(int) CompositeExtract 161 0
+ 164: 6(int) CompositeExtract 162 0
+ 165: 72(bool) IEqual 163 164
+ 166: 7(float) CompositeExtract 161 1
+ 167: 7(float) CompositeExtract 162 1
+ 168: 72(bool) FOrdEqual 166 167
+ 169: 72(bool) LogicalAnd 165 168
+ 170: 72(bool) LogicalAnd 160 169
+ SelectionMerge 172 None
+ BranchConditional 170 171 172
+ 171: Label
+ 174: 14(fvec4) Load 93(v)
+ 175: 14(fvec4) VectorTimesScalar 174 173
+ Store 93(v) 175
+ Branch 172
+ 172: Label
+ 176: 11 Load 13(a)
+ 177: 11 Load 37(b)
+ 178: 8(s1) CompositeExtract 176 0
+ 179: 8(s1) CompositeExtract 177 0
+ 180: 6(int) CompositeExtract 178 0
+ 181: 6(int) CompositeExtract 179 0
+ 182: 72(bool) INotEqual 180 181
+ 183: 7(float) CompositeExtract 178 1
+ 184: 7(float) CompositeExtract 179 1
+ 185: 72(bool) FOrdNotEqual 183 184
+ 186: 72(bool) LogicalOr 182 185
+ 187: 8(s1) CompositeExtract 176 1
+ 188: 8(s1) CompositeExtract 177 1
+ 189: 6(int) CompositeExtract 187 0
+ 190: 6(int) CompositeExtract 188 0
+ 191: 72(bool) INotEqual 189 190
+ 192: 7(float) CompositeExtract 187 1
+ 193: 7(float) CompositeExtract 188 1
+ 194: 72(bool) FOrdNotEqual 192 193
+ 195: 72(bool) LogicalOr 191 194
+ 196: 72(bool) LogicalOr 186 195
+ 197: 8(s1) CompositeExtract 176 2
+ 198: 8(s1) CompositeExtract 177 2
+ 199: 6(int) CompositeExtract 197 0
+ 200: 6(int) CompositeExtract 198 0
+ 201: 72(bool) INotEqual 199 200
+ 202: 7(float) CompositeExtract 197 1
+ 203: 7(float) CompositeExtract 198 1
+ 204: 72(bool) FOrdNotEqual 202 203
+ 205: 72(bool) LogicalOr 201 204
+ 206: 72(bool) LogicalOr 196 205
+ SelectionMerge 208 None
+ BranchConditional 206 207 208
+ 207: Label
+ 210: 14(fvec4) Load 93(v)
+ 211: 14(fvec4) VectorTimesScalar 210 209
+ Store 93(v) 211
+ Branch 208
+ 208: Label
+ 214: 14(fvec4) Load 93(v)
+ Store 213(color) 214
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.always-discard.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.always-discard.frag.out
new file mode 100644
index 00000000000..9102b3bb527
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.always-discard.frag.out
@@ -0,0 +1,113 @@
+spv.always-discard.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 84
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 21 59
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "white"
+ Name 12 "black"
+ Name 15 "color"
+ Name 18 "x"
+ Name 21 "tex_coord"
+ Name 30 "y"
+ Name 36 "radius"
+ Name 59 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 13: 6(float) Constant 1045220557
+ 14: 7(fvec4) ConstantComposite 13 13 13 13
+ 17: TypePointer Function 6(float)
+ 19: TypeVector 6(float) 2
+ 20: TypePointer Input 19(fvec2)
+ 21(tex_coord): 20(ptr) Variable Input
+ 22: TypeInt 32 0
+ 23: 22(int) Constant 0
+ 24: TypePointer Input 6(float)
+ 27: 6(float) Constant 1073741824
+ 31: 22(int) Constant 1
+ 46: TypeBool
+ 51: 6(float) Constant 1066192077
+ 58: TypePointer Output 7(fvec4)
+59(gl_FragColor): 58(ptr) Variable Output
+ 62: 6(float) Constant 1067030938
+ 71: 6(float) Constant 1061158912
+ 76: 6(float) Constant 1098907648
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(white): 8(ptr) Variable Function
+ 12(black): 8(ptr) Variable Function
+ 15(color): 8(ptr) Variable Function
+ 18(x): 17(ptr) Variable Function
+ 30(y): 17(ptr) Variable Function
+ 36(radius): 17(ptr) Variable Function
+ Store 9(white) 11
+ Store 12(black) 14
+ 16: 7(fvec4) Load 9(white)
+ Store 15(color) 16
+ 25: 24(ptr) AccessChain 21(tex_coord) 23
+ 26: 6(float) Load 25
+ 28: 6(float) FMul 26 27
+ 29: 6(float) FSub 28 10
+ Store 18(x) 29
+ 32: 24(ptr) AccessChain 21(tex_coord) 31
+ 33: 6(float) Load 32
+ 34: 6(float) FMul 33 27
+ 35: 6(float) FSub 34 10
+ Store 30(y) 35
+ 37: 6(float) Load 18(x)
+ 38: 6(float) Load 18(x)
+ 39: 6(float) FMul 37 38
+ 40: 6(float) Load 30(y)
+ 41: 6(float) Load 30(y)
+ 42: 6(float) FMul 40 41
+ 43: 6(float) FAdd 39 42
+ 44: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 43
+ Store 36(radius) 44
+ 45: 6(float) Load 36(radius)
+ 47: 46(bool) FOrdGreaterThan 45 10
+ SelectionMerge 49 None
+ BranchConditional 47 48 49
+ 48: Label
+ 50: 6(float) Load 36(radius)
+ 52: 46(bool) FOrdGreaterThan 50 51
+ SelectionMerge 54 None
+ BranchConditional 52 53 54
+ 53: Label
+ 55: 7(fvec4) Load 15(color)
+ 56: 7(fvec4) CompositeConstruct 10 10 10 10
+ 57: 7(fvec4) FAdd 55 56
+ Store 15(color) 57
+ Branch 54
+ 54: Label
+ 60: 7(fvec4) Load 15(color)
+ Store 59(gl_FragColor) 60
+ 61: 6(float) Load 36(radius)
+ 63: 46(bool) FOrdGreaterThan 61 62
+ SelectionMerge 65 None
+ BranchConditional 63 64 65
+ 64: Label
+ 66: 7(fvec4) Load 15(color)
+ 67: 7(fvec4) CompositeConstruct 10 10 10 10
+ 68: 7(fvec4) FAdd 66 67
+ Store 15(color) 68
+ Branch 65
+ 65: Label
+ Branch 49
+ 49: Label
+ Kill
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.always-discard2.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.always-discard2.frag.out
new file mode 100755
index 00000000000..7984c8322fd
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.always-discard2.frag.out
@@ -0,0 +1,66 @@
+spv.always-discard2.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 40
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 21 38
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "white"
+ Name 12 "black"
+ Name 15 "color"
+ Name 18 "x"
+ Name 21 "tex_coord"
+ Name 30 "y"
+ Name 38 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 13: 6(float) Constant 1045220557
+ 14: 7(fvec4) ConstantComposite 13 13 13 13
+ 17: TypePointer Function 6(float)
+ 19: TypeVector 6(float) 2
+ 20: TypePointer Input 19(fvec2)
+ 21(tex_coord): 20(ptr) Variable Input
+ 22: TypeInt 32 0
+ 23: 22(int) Constant 0
+ 24: TypePointer Input 6(float)
+ 27: 6(float) Constant 1073741824
+ 31: 22(int) Constant 1
+ 37: TypePointer Output 7(fvec4)
+38(gl_FragColor): 37(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(white): 8(ptr) Variable Function
+ 12(black): 8(ptr) Variable Function
+ 15(color): 8(ptr) Variable Function
+ 18(x): 17(ptr) Variable Function
+ 30(y): 17(ptr) Variable Function
+ Store 9(white) 11
+ Store 12(black) 14
+ 16: 7(fvec4) Load 9(white)
+ Store 15(color) 16
+ 25: 24(ptr) AccessChain 21(tex_coord) 23
+ 26: 6(float) Load 25
+ 28: 6(float) FMul 26 27
+ 29: 6(float) FSub 28 10
+ Store 18(x) 29
+ 32: 24(ptr) AccessChain 21(tex_coord) 31
+ 33: 6(float) Load 32
+ 34: 6(float) FMul 33 27
+ 35: 6(float) FSub 34 10
+ Store 30(y) 35
+ Kill
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.atomic.comp.out b/chromium/third_party/glslang/src/Test/baseResults/spv.atomic.comp.out
new file mode 100755
index 00000000000..bc8d9b81448
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.atomic.comp.out
@@ -0,0 +1,205 @@
+spv.atomic.comp
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 310
+Requested GL_ARB_gl_spirv
+local_size = (1, 1, 1)
+0:? Sequence
+0:14 Function Definition: func(au1; (global highp uint)
+0:14 Function Parameters:
+0:14 'c' (in highp atomic_uint)
+0:16 Sequence
+0:16 Branch: Return with expression
+0:16 AtomicCounterIncrement (global highp uint)
+0:16 'c' (in highp atomic_uint)
+0:19 Function Definition: main( (global void)
+0:19 Function Parameters:
+0:21 Sequence
+0:21 MemoryBarrierAtomicCounter (global void)
+0:22 Function Call: func(au1; (global highp uint)
+0:22 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:23 Sequence
+0:23 move second child to first child (temp highp uint)
+0:23 'val' (temp highp uint)
+0:23 AtomicCounter (global highp uint)
+0:23 direct index (layout(binding=0 offset=4 ) temp highp atomic_uint)
+0:23 'countArr' (layout(binding=0 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:23 Constant:
+0:23 2 (const int)
+0:24 AtomicCounterDecrement (global highp uint)
+0:24 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:36 Function Definition: atoms( (global void)
+0:36 Function Parameters:
+0:38 Sequence
+0:38 Sequence
+0:38 move second child to first child (temp highp int)
+0:38 'origi' (temp highp int)
+0:38 AtomicAdd (global highp int)
+0:38 'atomi' (shared highp int)
+0:38 Constant:
+0:38 3 (const int)
+0:39 Sequence
+0:39 move second child to first child (temp highp uint)
+0:39 'origu' (temp highp uint)
+0:39 AtomicAnd (global highp uint)
+0:39 'atomu' (shared highp uint)
+0:39 'value' (shared highp uint)
+0:40 move second child to first child (temp highp uint)
+0:40 'origu' (temp highp uint)
+0:40 AtomicOr (global highp uint)
+0:40 'atomu' (shared highp uint)
+0:40 Constant:
+0:40 7 (const uint)
+0:41 move second child to first child (temp highp uint)
+0:41 'origu' (temp highp uint)
+0:41 AtomicXor (global highp uint)
+0:41 'atomu' (shared highp uint)
+0:41 Constant:
+0:41 7 (const uint)
+0:42 move second child to first child (temp highp uint)
+0:42 'origu' (temp highp uint)
+0:42 AtomicMin (global highp uint)
+0:42 'atomu' (shared highp uint)
+0:42 'value' (shared highp uint)
+0:43 move second child to first child (temp highp int)
+0:43 'origi' (temp highp int)
+0:43 AtomicMax (global highp int)
+0:43 'atomi' (shared highp int)
+0:43 Constant:
+0:43 7 (const int)
+0:44 move second child to first child (temp highp int)
+0:44 'origi' (temp highp int)
+0:44 AtomicExchange (global highp int)
+0:44 'atomi' (shared highp int)
+0:44 'origi' (temp highp int)
+0:45 move second child to first child (temp highp uint)
+0:45 'origu' (temp highp uint)
+0:45 AtomicCompSwap (global highp uint)
+0:45 'atomu' (shared highp uint)
+0:45 Constant:
+0:45 10 (const uint)
+0:45 'value' (shared highp uint)
+0:46 AtomicAdd (global highp int)
+0:46 direct index (temp highp int)
+0:46 n_frames_rendered: direct index for structure (layout(column_major std140 offset=16 ) buffer highp 4-component vector of int)
+0:46 'result' (layout(binding=0 column_major std140 ) restrict buffer block{layout(column_major std140 offset=0 ) buffer highp float f, layout(column_major std140 offset=16 ) buffer highp 4-component vector of int n_frames_rendered})
+0:46 Constant:
+0:46 1 (const int)
+0:46 Constant:
+0:46 2 (const int)
+0:46 Constant:
+0:46 1 (const int)
+0:? Linker Objects
+0:? 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:? 'countArr' (layout(binding=0 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:? 'value' (shared highp uint)
+0:? 'arrX' (global 1-element array of highp int)
+0:? 'arrY' (global 1-element array of highp int)
+0:? 'arrZ' (global 1-element array of highp int)
+0:? 'atomi' (shared highp int)
+0:? 'atomu' (shared highp uint)
+0:? 'result' (layout(binding=0 column_major std140 ) restrict buffer block{layout(column_major std140 offset=0 ) buffer highp float f, layout(column_major std140 offset=16 ) buffer highp 4-component vector of int n_frames_rendered})
+
+
+Linked compute stage:
+
+
+Shader version: 310
+Requested GL_ARB_gl_spirv
+local_size = (1, 1, 1)
+0:? Sequence
+0:14 Function Definition: func(au1; (global highp uint)
+0:14 Function Parameters:
+0:14 'c' (in highp atomic_uint)
+0:16 Sequence
+0:16 Branch: Return with expression
+0:16 AtomicCounterIncrement (global highp uint)
+0:16 'c' (in highp atomic_uint)
+0:19 Function Definition: main( (global void)
+0:19 Function Parameters:
+0:21 Sequence
+0:21 MemoryBarrierAtomicCounter (global void)
+0:22 Function Call: func(au1; (global highp uint)
+0:22 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:23 Sequence
+0:23 move second child to first child (temp highp uint)
+0:23 'val' (temp highp uint)
+0:23 AtomicCounter (global highp uint)
+0:23 direct index (layout(binding=0 offset=4 ) temp highp atomic_uint)
+0:23 'countArr' (layout(binding=0 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:23 Constant:
+0:23 2 (const int)
+0:24 AtomicCounterDecrement (global highp uint)
+0:24 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:36 Function Definition: atoms( (global void)
+0:36 Function Parameters:
+0:38 Sequence
+0:38 Sequence
+0:38 move second child to first child (temp highp int)
+0:38 'origi' (temp highp int)
+0:38 AtomicAdd (global highp int)
+0:38 'atomi' (shared highp int)
+0:38 Constant:
+0:38 3 (const int)
+0:39 Sequence
+0:39 move second child to first child (temp highp uint)
+0:39 'origu' (temp highp uint)
+0:39 AtomicAnd (global highp uint)
+0:39 'atomu' (shared highp uint)
+0:39 'value' (shared highp uint)
+0:40 move second child to first child (temp highp uint)
+0:40 'origu' (temp highp uint)
+0:40 AtomicOr (global highp uint)
+0:40 'atomu' (shared highp uint)
+0:40 Constant:
+0:40 7 (const uint)
+0:41 move second child to first child (temp highp uint)
+0:41 'origu' (temp highp uint)
+0:41 AtomicXor (global highp uint)
+0:41 'atomu' (shared highp uint)
+0:41 Constant:
+0:41 7 (const uint)
+0:42 move second child to first child (temp highp uint)
+0:42 'origu' (temp highp uint)
+0:42 AtomicMin (global highp uint)
+0:42 'atomu' (shared highp uint)
+0:42 'value' (shared highp uint)
+0:43 move second child to first child (temp highp int)
+0:43 'origi' (temp highp int)
+0:43 AtomicMax (global highp int)
+0:43 'atomi' (shared highp int)
+0:43 Constant:
+0:43 7 (const int)
+0:44 move second child to first child (temp highp int)
+0:44 'origi' (temp highp int)
+0:44 AtomicExchange (global highp int)
+0:44 'atomi' (shared highp int)
+0:44 'origi' (temp highp int)
+0:45 move second child to first child (temp highp uint)
+0:45 'origu' (temp highp uint)
+0:45 AtomicCompSwap (global highp uint)
+0:45 'atomu' (shared highp uint)
+0:45 Constant:
+0:45 10 (const uint)
+0:45 'value' (shared highp uint)
+0:46 AtomicAdd (global highp int)
+0:46 direct index (temp highp int)
+0:46 n_frames_rendered: direct index for structure (layout(column_major std140 offset=16 ) buffer highp 4-component vector of int)
+0:46 'result' (layout(binding=0 column_major std140 ) restrict buffer block{layout(column_major std140 offset=0 ) buffer highp float f, layout(column_major std140 offset=16 ) buffer highp 4-component vector of int n_frames_rendered})
+0:46 Constant:
+0:46 1 (const int)
+0:46 Constant:
+0:46 2 (const int)
+0:46 Constant:
+0:46 1 (const int)
+0:? Linker Objects
+0:? 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:? 'countArr' (layout(binding=0 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:? 'value' (shared highp uint)
+0:? 'arrX' (global 1-element array of highp int)
+0:? 'arrY' (global 1-element array of highp int)
+0:? 'arrZ' (global 1-element array of highp int)
+0:? 'atomi' (shared highp int)
+0:? 'atomu' (shared highp uint)
+0:? 'result' (layout(binding=0 column_major std140 ) restrict buffer block{layout(column_major std140 offset=0 ) buffer highp float f, layout(column_major std140 offset=16 ) buffer highp 4-component vector of int n_frames_rendered})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.bitCast.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.bitCast.frag.out
new file mode 100644
index 00000000000..b0dc8104943
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.bitCast.frag.out
@@ -0,0 +1,240 @@
+spv.bitCast.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 172
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 14 26 37 48 89 98 107 116 122 130 139 148 154
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ Name 4 "main"
+ Name 9 "idata"
+ Name 14 "f1"
+ Name 26 "f2"
+ Name 37 "f3"
+ Name 48 "f4"
+ Name 55 "udata"
+ Name 85 "fdata"
+ Name 89 "i1"
+ Name 98 "i2"
+ Name 107 "i3"
+ Name 116 "i4"
+ Name 122 "u1"
+ Name 130 "u2"
+ Name 139 "u3"
+ Name 148 "u4"
+ Name 154 "fragColor"
+ Decorate 89(i1) Flat
+ Decorate 98(i2) Flat
+ Decorate 107(i3) Flat
+ Decorate 116(i4) Flat
+ Decorate 122(u1) Flat
+ Decorate 130(u2) Flat
+ Decorate 139(u3) Flat
+ Decorate 148(u4) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeVector 6(int) 4
+ 8: TypePointer Function 7(ivec4)
+ 10: 6(int) Constant 0
+ 11: 7(ivec4) ConstantComposite 10 10 10 10
+ 12: TypeFloat 32
+ 13: TypePointer Input 12(float)
+ 14(f1): 13(ptr) Variable Input
+ 17: TypeInt 32 0
+ 18: 17(int) Constant 0
+ 19: TypePointer Function 6(int)
+ 24: TypeVector 12(float) 2
+ 25: TypePointer Input 24(fvec2)
+ 26(f2): 25(ptr) Variable Input
+ 28: TypeVector 6(int) 2
+ 35: TypeVector 12(float) 3
+ 36: TypePointer Input 35(fvec3)
+ 37(f3): 36(ptr) Variable Input
+ 39: TypeVector 6(int) 3
+ 46: TypeVector 12(float) 4
+ 47: TypePointer Input 46(fvec4)
+ 48(f4): 47(ptr) Variable Input
+ 53: TypeVector 17(int) 4
+ 54: TypePointer Function 53(ivec4)
+ 56: 53(ivec4) ConstantComposite 18 18 18 18
+ 59: TypePointer Function 17(int)
+ 65: TypeVector 17(int) 2
+ 73: TypeVector 17(int) 3
+ 84: TypePointer Function 46(fvec4)
+ 86: 12(float) Constant 0
+ 87: 46(fvec4) ConstantComposite 86 86 86 86
+ 88: TypePointer Input 6(int)
+ 89(i1): 88(ptr) Variable Input
+ 92: TypePointer Function 12(float)
+ 97: TypePointer Input 28(ivec2)
+ 98(i2): 97(ptr) Variable Input
+ 106: TypePointer Input 39(ivec3)
+ 107(i3): 106(ptr) Variable Input
+ 115: TypePointer Input 7(ivec4)
+ 116(i4): 115(ptr) Variable Input
+ 121: TypePointer Input 17(int)
+ 122(u1): 121(ptr) Variable Input
+ 129: TypePointer Input 65(ivec2)
+ 130(u2): 129(ptr) Variable Input
+ 138: TypePointer Input 73(ivec3)
+ 139(u3): 138(ptr) Variable Input
+ 147: TypePointer Input 53(ivec4)
+ 148(u4): 147(ptr) Variable Input
+ 153: TypePointer Output 46(fvec4)
+ 154(fragColor): 153(ptr) Variable Output
+ 159: TypeBool
+ 160: TypeVector 159(bool) 4
+ 168: 12(float) Constant 1045220557
+ 169: 46(fvec4) ConstantComposite 168 168 168 168
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(idata): 8(ptr) Variable Function
+ 55(udata): 54(ptr) Variable Function
+ 85(fdata): 84(ptr) Variable Function
+ 155: 84(ptr) Variable Function
+ Store 9(idata) 11
+ 15: 12(float) Load 14(f1)
+ 16: 6(int) Bitcast 15
+ 20: 19(ptr) AccessChain 9(idata) 18
+ 21: 6(int) Load 20
+ 22: 6(int) IAdd 21 16
+ 23: 19(ptr) AccessChain 9(idata) 18
+ Store 23 22
+ 27: 24(fvec2) Load 26(f2)
+ 29: 28(ivec2) Bitcast 27
+ 30: 7(ivec4) Load 9(idata)
+ 31: 28(ivec2) VectorShuffle 30 30 0 1
+ 32: 28(ivec2) IAdd 31 29
+ 33: 7(ivec4) Load 9(idata)
+ 34: 7(ivec4) VectorShuffle 33 32 4 5 2 3
+ Store 9(idata) 34
+ 38: 35(fvec3) Load 37(f3)
+ 40: 39(ivec3) Bitcast 38
+ 41: 7(ivec4) Load 9(idata)
+ 42: 39(ivec3) VectorShuffle 41 41 0 1 2
+ 43: 39(ivec3) IAdd 42 40
+ 44: 7(ivec4) Load 9(idata)
+ 45: 7(ivec4) VectorShuffle 44 43 4 5 6 3
+ Store 9(idata) 45
+ 49: 46(fvec4) Load 48(f4)
+ 50: 7(ivec4) Bitcast 49
+ 51: 7(ivec4) Load 9(idata)
+ 52: 7(ivec4) IAdd 51 50
+ Store 9(idata) 52
+ Store 55(udata) 56
+ 57: 12(float) Load 14(f1)
+ 58: 17(int) Bitcast 57
+ 60: 59(ptr) AccessChain 55(udata) 18
+ 61: 17(int) Load 60
+ 62: 17(int) IAdd 61 58
+ 63: 59(ptr) AccessChain 55(udata) 18
+ Store 63 62
+ 64: 24(fvec2) Load 26(f2)
+ 66: 65(ivec2) Bitcast 64
+ 67: 53(ivec4) Load 55(udata)
+ 68: 65(ivec2) VectorShuffle 67 67 0 1
+ 69: 65(ivec2) IAdd 68 66
+ 70: 53(ivec4) Load 55(udata)
+ 71: 53(ivec4) VectorShuffle 70 69 4 5 2 3
+ Store 55(udata) 71
+ 72: 35(fvec3) Load 37(f3)
+ 74: 73(ivec3) Bitcast 72
+ 75: 53(ivec4) Load 55(udata)
+ 76: 73(ivec3) VectorShuffle 75 75 0 1 2
+ 77: 73(ivec3) IAdd 76 74
+ 78: 53(ivec4) Load 55(udata)
+ 79: 53(ivec4) VectorShuffle 78 77 4 5 6 3
+ Store 55(udata) 79
+ 80: 46(fvec4) Load 48(f4)
+ 81: 53(ivec4) Bitcast 80
+ 82: 53(ivec4) Load 55(udata)
+ 83: 53(ivec4) IAdd 82 81
+ Store 55(udata) 83
+ Store 85(fdata) 87
+ 90: 6(int) Load 89(i1)
+ 91: 12(float) Bitcast 90
+ 93: 92(ptr) AccessChain 85(fdata) 18
+ 94: 12(float) Load 93
+ 95: 12(float) FAdd 94 91
+ 96: 92(ptr) AccessChain 85(fdata) 18
+ Store 96 95
+ 99: 28(ivec2) Load 98(i2)
+ 100: 24(fvec2) Bitcast 99
+ 101: 46(fvec4) Load 85(fdata)
+ 102: 24(fvec2) VectorShuffle 101 101 0 1
+ 103: 24(fvec2) FAdd 102 100
+ 104: 46(fvec4) Load 85(fdata)
+ 105: 46(fvec4) VectorShuffle 104 103 4 5 2 3
+ Store 85(fdata) 105
+ 108: 39(ivec3) Load 107(i3)
+ 109: 35(fvec3) Bitcast 108
+ 110: 46(fvec4) Load 85(fdata)
+ 111: 35(fvec3) VectorShuffle 110 110 0 1 2
+ 112: 35(fvec3) FAdd 111 109
+ 113: 46(fvec4) Load 85(fdata)
+ 114: 46(fvec4) VectorShuffle 113 112 4 5 6 3
+ Store 85(fdata) 114
+ 117: 7(ivec4) Load 116(i4)
+ 118: 46(fvec4) Bitcast 117
+ 119: 46(fvec4) Load 85(fdata)
+ 120: 46(fvec4) FAdd 119 118
+ Store 85(fdata) 120
+ 123: 17(int) Load 122(u1)
+ 124: 12(float) Bitcast 123
+ 125: 92(ptr) AccessChain 85(fdata) 18
+ 126: 12(float) Load 125
+ 127: 12(float) FAdd 126 124
+ 128: 92(ptr) AccessChain 85(fdata) 18
+ Store 128 127
+ 131: 65(ivec2) Load 130(u2)
+ 132: 24(fvec2) Bitcast 131
+ 133: 46(fvec4) Load 85(fdata)
+ 134: 24(fvec2) VectorShuffle 133 133 0 1
+ 135: 24(fvec2) FAdd 134 132
+ 136: 46(fvec4) Load 85(fdata)
+ 137: 46(fvec4) VectorShuffle 136 135 4 5 2 3
+ Store 85(fdata) 137
+ 140: 73(ivec3) Load 139(u3)
+ 141: 35(fvec3) Bitcast 140
+ 142: 46(fvec4) Load 85(fdata)
+ 143: 35(fvec3) VectorShuffle 142 142 0 1 2
+ 144: 35(fvec3) FAdd 143 141
+ 145: 46(fvec4) Load 85(fdata)
+ 146: 46(fvec4) VectorShuffle 145 144 4 5 6 3
+ Store 85(fdata) 146
+ 149: 53(ivec4) Load 148(u4)
+ 150: 46(fvec4) Bitcast 149
+ 151: 46(fvec4) Load 85(fdata)
+ 152: 46(fvec4) FAdd 151 150
+ Store 85(fdata) 152
+ 156: 7(ivec4) Load 9(idata)
+ 157: 53(ivec4) Bitcast 156
+ 158: 53(ivec4) Load 55(udata)
+ 161: 160(bvec4) IEqual 157 158
+ 162: 159(bool) All 161
+ SelectionMerge 164 None
+ BranchConditional 162 163 166
+ 163: Label
+ 165: 46(fvec4) Load 85(fdata)
+ Store 155 165
+ Branch 164
+ 166: Label
+ 167: 46(fvec4) Load 85(fdata)
+ 170: 46(fvec4) FAdd 167 169
+ Store 155 170
+ Branch 164
+ 164: Label
+ 171: 46(fvec4) Load 155
+ Store 154(fragColor) 171
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.bool.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.bool.vert.out
new file mode 100644
index 00000000000..49a69a0eb88
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.bool.vert.out
@@ -0,0 +1,94 @@
+spv.bool.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 49
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 24
+ Source GLSL 450
+ Name 4 "main"
+ Name 10 "foo(b1;"
+ Name 9 "b"
+ Name 22 "gl_PerVertex"
+ MemberName 22(gl_PerVertex) 0 "gl_Position"
+ MemberName 22(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 22(gl_PerVertex) 2 "gl_ClipDistance"
+ MemberName 22(gl_PerVertex) 3 "gl_CullDistance"
+ Name 24 ""
+ Name 29 "ubname"
+ MemberName 29(ubname) 0 "b"
+ Name 31 "ubinst"
+ Name 32 "param"
+ MemberDecorate 22(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 22(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 22(gl_PerVertex) 2 BuiltIn ClipDistance
+ MemberDecorate 22(gl_PerVertex) 3 BuiltIn CullDistance
+ Decorate 22(gl_PerVertex) Block
+ MemberDecorate 29(ubname) 0 Offset 0
+ Decorate 29(ubname) Block
+ Decorate 31(ubinst) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeBool
+ 7: TypePointer Function 6(bool)
+ 8: TypeFunction 6(bool) 7(ptr)
+ 13: 6(bool) ConstantFalse
+ 17: TypeFloat 32
+ 18: TypeVector 17(float) 4
+ 19: TypeInt 32 0
+ 20: 19(int) Constant 1
+ 21: TypeArray 17(float) 20
+22(gl_PerVertex): TypeStruct 18(fvec4) 17(float) 21 21
+ 23: TypePointer Output 22(gl_PerVertex)
+ 24: 23(ptr) Variable Output
+ 25: TypeInt 32 1
+ 26: 25(int) Constant 0
+ 27: TypePointer Function 18(fvec4)
+ 29(ubname): TypeStruct 19(int)
+ 30: TypePointer Uniform 29(ubname)
+ 31(ubinst): 30(ptr) Variable Uniform
+ 33: TypePointer Uniform 19(int)
+ 36: 19(int) Constant 0
+ 41: 17(float) Constant 0
+ 42: 18(fvec4) ConstantComposite 41 41 41 41
+ 44: 17(float) Constant 1065353216
+ 45: 18(fvec4) ConstantComposite 44 44 44 44
+ 47: TypePointer Output 18(fvec4)
+ 4(main): 2 Function None 3
+ 5: Label
+ 28: 27(ptr) Variable Function
+ 32(param): 7(ptr) Variable Function
+ 34: 33(ptr) AccessChain 31(ubinst) 26
+ 35: 19(int) Load 34
+ 37: 6(bool) INotEqual 35 36
+ Store 32(param) 37
+ 38: 6(bool) FunctionCall 10(foo(b1;) 32(param)
+ SelectionMerge 40 None
+ BranchConditional 38 39 43
+ 39: Label
+ Store 28 42
+ Branch 40
+ 43: Label
+ Store 28 45
+ Branch 40
+ 40: Label
+ 46: 18(fvec4) Load 28
+ 48: 47(ptr) AccessChain 24 26
+ Store 48 46
+ Return
+ FunctionEnd
+ 10(foo(b1;): 6(bool) Function None 8
+ 9(b): 7(ptr) FunctionParameter
+ 11: Label
+ 12: 6(bool) Load 9(b)
+ 14: 6(bool) LogicalNotEqual 12 13
+ ReturnValue 14
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.boolInBlock.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.boolInBlock.frag.out
new file mode 100644
index 00000000000..6e7cf40eed2
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.boolInBlock.frag.out
@@ -0,0 +1,169 @@
+spv.boolInBlock.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 107
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 75
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ Name 4 "main"
+ Name 14 "foo(vb4;vb2;"
+ Name 12 "paramb4"
+ Name 13 "paramb2"
+ Name 17 "b1"
+ Name 24 "Buffer"
+ MemberName 24(Buffer) 0 "b2"
+ Name 26 ""
+ Name 39 "Uniform"
+ MemberName 39(Uniform) 0 "b4"
+ Name 41 ""
+ Name 62 "param"
+ Name 67 "param"
+ Name 75 "fragColor"
+ MemberDecorate 24(Buffer) 0 Offset 0
+ Decorate 24(Buffer) BufferBlock
+ Decorate 26 DescriptorSet 0
+ Decorate 26 Binding 1
+ MemberDecorate 39(Uniform) 0 Offset 0
+ Decorate 39(Uniform) Block
+ Decorate 41 DescriptorSet 0
+ Decorate 41 Binding 0
+ Decorate 75(fragColor) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeBool
+ 7: TypeVector 6(bool) 4
+ 8: TypePointer Function 7(bvec4)
+ 9: TypeVector 6(bool) 2
+ 10: TypePointer Function 9(bvec2)
+ 11: TypeFunction 2 8(ptr) 10(ptr)
+ 16: TypePointer Function 6(bool)
+ 22: TypeInt 32 0
+ 23: TypeVector 22(int) 2
+ 24(Buffer): TypeStruct 23(ivec2)
+ 25: TypePointer Uniform 24(Buffer)
+ 26: 25(ptr) Variable Uniform
+ 27: TypeInt 32 1
+ 28: 27(int) Constant 0
+ 29: 6(bool) ConstantFalse
+ 30: 9(bvec2) ConstantComposite 29 29
+ 31: 22(int) Constant 0
+ 32: 23(ivec2) ConstantComposite 31 31
+ 33: 22(int) Constant 1
+ 34: 23(ivec2) ConstantComposite 33 33
+ 36: TypePointer Uniform 23(ivec2)
+ 38: TypeVector 22(int) 4
+ 39(Uniform): TypeStruct 38(ivec4)
+ 40: TypePointer Uniform 39(Uniform)
+ 41: 40(ptr) Variable Uniform
+ 42: TypePointer Uniform 38(ivec4)
+ 65: 38(ivec4) ConstantComposite 31 31 31 31
+ 72: TypeFloat 32
+ 73: TypeVector 72(float) 4
+ 74: TypePointer Output 73(fvec4)
+ 75(fragColor): 74(ptr) Variable Output
+ 87: 72(float) Constant 0
+ 88: 72(float) Constant 1065353216
+ 4(main): 2 Function None 3
+ 5: Label
+ 62(param): 8(ptr) Variable Function
+ 67(param): 10(ptr) Variable Function
+ 35: 23(ivec2) Select 30 34 32
+ 37: 36(ptr) AccessChain 26 28
+ Store 37 35
+ 43: 42(ptr) AccessChain 41 28
+ 44: 38(ivec4) Load 43
+ 45: 22(int) CompositeExtract 44 2
+ 46: 6(bool) INotEqual 45 31
+ SelectionMerge 48 None
+ BranchConditional 46 47 48
+ 47: Label
+ 49: 42(ptr) AccessChain 41 28
+ 50: 38(ivec4) Load 49
+ 51: 22(int) CompositeExtract 50 0
+ 52: 6(bool) INotEqual 51 31
+ 53: 9(bvec2) CompositeConstruct 52 52
+ 54: 23(ivec2) Select 53 34 32
+ 55: 36(ptr) AccessChain 26 28
+ Store 55 54
+ Branch 48
+ 48: Label
+ 56: 36(ptr) AccessChain 26 28
+ 57: 23(ivec2) Load 56
+ 58: 22(int) CompositeExtract 57 0
+ 59: 6(bool) INotEqual 58 31
+ SelectionMerge 61 None
+ BranchConditional 59 60 61
+ 60: Label
+ 63: 42(ptr) AccessChain 41 28
+ 64: 38(ivec4) Load 63
+ 66: 7(bvec4) INotEqual 64 65
+ Store 62(param) 66
+ 68: 2 FunctionCall 14(foo(vb4;vb2;) 62(param) 67(param)
+ 69: 9(bvec2) Load 67(param)
+ 70: 23(ivec2) Select 69 34 32
+ 71: 36(ptr) AccessChain 26 28
+ Store 71 70
+ Branch 61
+ 61: Label
+ 76: 42(ptr) AccessChain 41 28
+ 77: 38(ivec4) Load 76
+ 78: 22(int) CompositeExtract 77 0
+ 79: 6(bool) INotEqual 78 31
+ SelectionMerge 81 None
+ BranchConditional 79 80 81
+ 80: Label
+ 82: 42(ptr) AccessChain 41 28
+ 83: 38(ivec4) Load 82
+ 84: 22(int) CompositeExtract 83 1
+ 85: 6(bool) INotEqual 84 31
+ Branch 81
+ 81: Label
+ 86: 6(bool) Phi 79 61 85 80
+ 89: 72(float) Select 86 88 87
+ 90: 73(fvec4) CompositeConstruct 89 89 89 89
+ Store 75(fragColor) 90
+ 91: 42(ptr) AccessChain 41 28
+ 92: 38(ivec4) Load 91
+ 93: 22(int) CompositeExtract 92 0
+ 94: 6(bool) INotEqual 93 31
+ 95: 6(bool) LogicalNot 94
+ SelectionMerge 97 None
+ BranchConditional 95 96 97
+ 96: Label
+ 98: 42(ptr) AccessChain 41 28
+ 99: 38(ivec4) Load 98
+ 100: 22(int) CompositeExtract 99 1
+ 101: 6(bool) INotEqual 100 31
+ Branch 97
+ 97: Label
+ 102: 6(bool) Phi 94 81 101 96
+ 103: 72(float) Select 102 88 87
+ 104: 73(fvec4) CompositeConstruct 103 103 103 103
+ 105: 73(fvec4) Load 75(fragColor)
+ 106: 73(fvec4) FSub 105 104
+ Store 75(fragColor) 106
+ Return
+ FunctionEnd
+14(foo(vb4;vb2;): 2 Function None 11
+ 12(paramb4): 8(ptr) FunctionParameter
+ 13(paramb2): 10(ptr) FunctionParameter
+ 15: Label
+ 17(b1): 16(ptr) Variable Function
+ 18: 7(bvec4) Load 12(paramb4)
+ 19: 6(bool) CompositeExtract 18 2
+ Store 17(b1) 19
+ 20: 6(bool) Load 17(b1)
+ 21: 9(bvec2) CompositeConstruct 20 20
+ Store 13(paramb2) 21
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.branch-return.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.branch-return.vert.out
new file mode 100644
index 00000000000..217a863fc9f
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.branch-return.vert.out
@@ -0,0 +1,71 @@
+spv.branch-return.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 38
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 8 20
+ Source ESSL 310
+ Name 4 "main"
+ Name 8 "gl_InstanceIndex"
+ Name 18 "gl_PerVertex"
+ MemberName 18(gl_PerVertex) 0 "gl_Position"
+ MemberName 18(gl_PerVertex) 1 "gl_PointSize"
+ Name 20 ""
+ Decorate 8(gl_InstanceIndex) BuiltIn InstanceIndex
+ MemberDecorate 18(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 18(gl_PerVertex) 1 BuiltIn PointSize
+ Decorate 18(gl_PerVertex) Block
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Input 6(int)
+8(gl_InstanceIndex): 7(ptr) Variable Input
+ 16: TypeFloat 32
+ 17: TypeVector 16(float) 4
+18(gl_PerVertex): TypeStruct 17(fvec4) 16(float)
+ 19: TypePointer Output 18(gl_PerVertex)
+ 20: 19(ptr) Variable Output
+ 21: 6(int) Constant 0
+ 22: 16(float) Constant 0
+ 23: 17(fvec4) ConstantComposite 22 22 22 22
+ 24: TypePointer Output 17(fvec4)
+ 30: 16(float) Constant 1039918957
+ 31: TypeInt 32 0
+ 32: 31(int) Constant 0
+ 33: TypePointer Output 16(float)
+ 4(main): 2 Function None 3
+ 5: Label
+ 9: 6(int) Load 8(gl_InstanceIndex)
+ SelectionMerge 14 None
+ Switch 9 14
+ case 0: 10
+ case 1: 11
+ case 2: 12
+ case 3: 13
+ 10: Label
+ Return
+ 11: Label
+ 25: 24(ptr) AccessChain 20 21
+ Store 25 23
+ Branch 14
+ 12: Label
+ Return
+ 13: Label
+ Return
+ 14: Label
+ 34: 33(ptr) AccessChain 20 21 32
+ 35: 16(float) Load 34
+ 36: 16(float) FAdd 35 30
+ 37: 33(ptr) AccessChain 20 21 32
+ Store 37 36
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.conditionalDiscard.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.conditionalDiscard.frag.out
new file mode 100755
index 00000000000..ef7e3b4cf91
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.conditionalDiscard.frag.out
@@ -0,0 +1,63 @@
+spv.conditionalDiscard.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 36
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 17 34
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 400
+ Name 4 "main"
+ Name 9 "v"
+ Name 13 "tex"
+ Name 17 "coord"
+ Name 34 "gl_FragColor"
+ Decorate 13(tex) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeImage 6(float) 2D sampled format:Unknown
+ 11: TypeSampledImage 10
+ 12: TypePointer UniformConstant 11
+ 13(tex): 12(ptr) Variable UniformConstant
+ 15: TypeVector 6(float) 2
+ 16: TypePointer Input 15(fvec2)
+ 17(coord): 16(ptr) Variable Input
+ 21: 6(float) Constant 1036831949
+ 22: 6(float) Constant 1045220557
+ 23: 6(float) Constant 1050253722
+ 24: 6(float) Constant 1053609165
+ 25: 7(fvec4) ConstantComposite 21 22 23 24
+ 26: TypeBool
+ 27: TypeVector 26(bool) 4
+ 33: TypePointer Output 7(fvec4)
+34(gl_FragColor): 33(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(v): 8(ptr) Variable Function
+ 14: 11 Load 13(tex)
+ 18: 15(fvec2) Load 17(coord)
+ 19: 7(fvec4) ImageSampleImplicitLod 14 18
+ Store 9(v) 19
+ 20: 7(fvec4) Load 9(v)
+ 28: 27(bvec4) FOrdEqual 20 25
+ 29: 26(bool) All 28
+ SelectionMerge 31 None
+ BranchConditional 29 30 31
+ 30: Label
+ Kill
+ 31: Label
+ 35: 7(fvec4) Load 9(v)
+ Store 34(gl_FragColor) 35
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.conversion.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.conversion.frag.out
new file mode 100755
index 00000000000..bc91569857c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.conversion.frag.out
@@ -0,0 +1,577 @@
+spv.conversion.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 455
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 39 53 157 322 446 448 450 452 454
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 8 "b"
+ Name 11 "u_i"
+ Name 18 "u_f"
+ Name 25 "b2"
+ Name 33 "b3"
+ Name 39 "i_i"
+ Name 45 "b4"
+ Name 53 "i_f"
+ Name 58 "i"
+ Name 68 "i2"
+ Name 71 "u_f2"
+ Name 81 "i3"
+ Name 84 "u_f3"
+ Name 94 "i4"
+ Name 97 "u_f4"
+ Name 106 "f"
+ Name 110 "f2"
+ Name 114 "f3"
+ Name 118 "f4"
+ Name 157 "i_i4"
+ Name 322 "gl_FragColor"
+ Name 417 "cv2"
+ Name 418 "cv5"
+ Name 428 "u_b"
+ Name 430 "u_b2"
+ Name 432 "u_b3"
+ Name 434 "u_b4"
+ Name 436 "u_i2"
+ Name 438 "u_i3"
+ Name 440 "u_i4"
+ Name 441 "i_b"
+ Name 442 "i_b2"
+ Name 443 "i_b3"
+ Name 444 "i_b4"
+ Name 446 "i_i2"
+ Name 448 "i_i3"
+ Name 450 "i_f2"
+ Name 452 "i_f3"
+ Name 454 "i_f4"
+ Decorate 39(i_i) Flat
+ Decorate 157(i_i4) Flat
+ Decorate 446(i_i2) Flat
+ Decorate 448(i_i3) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeBool
+ 7: TypePointer Function 6(bool)
+ 9: TypeInt 32 1
+ 10: TypePointer Private 9(int)
+ 11(u_i): 10(ptr) Variable Private
+ 13: TypeInt 32 0
+ 14: 13(int) Constant 0
+ 16: TypeFloat 32
+ 17: TypePointer Private 16(float)
+ 18(u_f): 17(ptr) Variable Private
+ 20: 16(float) Constant 0
+ 23: TypeVector 6(bool) 2
+ 24: TypePointer Function 23(bvec2)
+ 31: TypeVector 6(bool) 3
+ 32: TypePointer Function 31(bvec3)
+ 38: TypePointer Input 9(int)
+ 39(i_i): 38(ptr) Variable Input
+ 43: TypeVector 6(bool) 4
+ 44: TypePointer Function 43(bvec4)
+ 52: TypePointer Input 16(float)
+ 53(i_f): 52(ptr) Variable Input
+ 57: TypePointer Function 9(int)
+ 62: 9(int) Constant 0
+ 63: 9(int) Constant 1
+ 66: TypeVector 9(int) 2
+ 67: TypePointer Function 66(ivec2)
+ 69: TypeVector 16(float) 2
+ 70: TypePointer Private 69(fvec2)
+ 71(u_f2): 70(ptr) Variable Private
+ 75: 66(ivec2) ConstantComposite 62 62
+ 76: 66(ivec2) ConstantComposite 63 63
+ 79: TypeVector 9(int) 3
+ 80: TypePointer Function 79(ivec3)
+ 82: TypeVector 16(float) 3
+ 83: TypePointer Private 82(fvec3)
+ 84(u_f3): 83(ptr) Variable Private
+ 88: 79(ivec3) ConstantComposite 62 62 62
+ 89: 79(ivec3) ConstantComposite 63 63 63
+ 92: TypeVector 9(int) 4
+ 93: TypePointer Function 92(ivec4)
+ 95: TypeVector 16(float) 4
+ 96: TypePointer Private 95(fvec4)
+ 97(u_f4): 96(ptr) Variable Private
+ 101: 92(ivec4) ConstantComposite 62 62 62 62
+ 102: 92(ivec4) ConstantComposite 63 63 63 63
+ 105: TypePointer Function 16(float)
+ 109: TypePointer Function 69(fvec2)
+ 113: TypePointer Function 82(fvec3)
+ 117: TypePointer Function 95(fvec4)
+ 124: 16(float) Constant 1065353216
+ 132: 69(fvec2) ConstantComposite 20 20
+ 133: 69(fvec2) ConstantComposite 124 124
+ 141: 82(fvec3) ConstantComposite 20 20 20
+ 142: 82(fvec3) ConstantComposite 124 124 124
+ 150: 95(fvec4) ConstantComposite 20 20 20 20
+ 151: 95(fvec4) ConstantComposite 124 124 124 124
+ 156: TypePointer Input 92(ivec4)
+ 157(i_i4): 156(ptr) Variable Input
+ 159: TypeVector 13(int) 4
+ 160: 159(ivec4) ConstantComposite 14 14 14 14
+ 315: 13(int) Constant 1
+ 321: TypePointer Output 95(fvec4)
+322(gl_FragColor): 321(ptr) Variable Output
+ 367: 13(int) Constant 2
+ 380: 13(int) Constant 3
+ 427: TypePointer Private 6(bool)
+ 428(u_b): 427(ptr) Variable Private
+ 429: TypePointer Private 23(bvec2)
+ 430(u_b2): 429(ptr) Variable Private
+ 431: TypePointer Private 31(bvec3)
+ 432(u_b3): 431(ptr) Variable Private
+ 433: TypePointer Private 43(bvec4)
+ 434(u_b4): 433(ptr) Variable Private
+ 435: TypePointer Private 66(ivec2)
+ 436(u_i2): 435(ptr) Variable Private
+ 437: TypePointer Private 79(ivec3)
+ 438(u_i3): 437(ptr) Variable Private
+ 439: TypePointer Private 92(ivec4)
+ 440(u_i4): 439(ptr) Variable Private
+ 441(i_b): 427(ptr) Variable Private
+ 442(i_b2): 429(ptr) Variable Private
+ 443(i_b3): 431(ptr) Variable Private
+ 444(i_b4): 433(ptr) Variable Private
+ 445: TypePointer Input 66(ivec2)
+ 446(i_i2): 445(ptr) Variable Input
+ 447: TypePointer Input 79(ivec3)
+ 448(i_i3): 447(ptr) Variable Input
+ 449: TypePointer Input 69(fvec2)
+ 450(i_f2): 449(ptr) Variable Input
+ 451: TypePointer Input 82(fvec3)
+ 452(i_f3): 451(ptr) Variable Input
+ 453: TypePointer Input 95(fvec4)
+ 454(i_f4): 453(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(b): 7(ptr) Variable Function
+ 25(b2): 24(ptr) Variable Function
+ 33(b3): 32(ptr) Variable Function
+ 45(b4): 44(ptr) Variable Function
+ 58(i): 57(ptr) Variable Function
+ 68(i2): 67(ptr) Variable Function
+ 81(i3): 80(ptr) Variable Function
+ 94(i4): 93(ptr) Variable Function
+ 106(f): 105(ptr) Variable Function
+ 110(f2): 109(ptr) Variable Function
+ 114(f3): 113(ptr) Variable Function
+ 118(f4): 117(ptr) Variable Function
+ 297: 105(ptr) Variable Function
+ 307: 105(ptr) Variable Function
+ 323: 117(ptr) Variable Function
+ 417(cv2): 93(ptr) Variable Function
+ 418(cv5): 44(ptr) Variable Function
+ 12: 9(int) Load 11(u_i)
+ 15: 6(bool) INotEqual 12 14
+ 19: 16(float) Load 18(u_f)
+ 21: 6(bool) FOrdNotEqual 19 20
+ 22: 6(bool) LogicalNotEqual 15 21
+ Store 8(b) 22
+ 26: 9(int) Load 11(u_i)
+ 27: 6(bool) INotEqual 26 14
+ 28: 16(float) Load 18(u_f)
+ 29: 6(bool) FOrdNotEqual 28 20
+ 30: 23(bvec2) CompositeConstruct 27 29
+ Store 25(b2) 30
+ 34: 9(int) Load 11(u_i)
+ 35: 6(bool) INotEqual 34 14
+ 36: 16(float) Load 18(u_f)
+ 37: 6(bool) FOrdNotEqual 36 20
+ 40: 9(int) Load 39(i_i)
+ 41: 6(bool) INotEqual 40 14
+ 42: 31(bvec3) CompositeConstruct 35 37 41
+ Store 33(b3) 42
+ 46: 9(int) Load 11(u_i)
+ 47: 6(bool) INotEqual 46 14
+ 48: 16(float) Load 18(u_f)
+ 49: 6(bool) FOrdNotEqual 48 20
+ 50: 9(int) Load 39(i_i)
+ 51: 6(bool) INotEqual 50 14
+ 54: 16(float) Load 53(i_f)
+ 55: 6(bool) FOrdNotEqual 54 20
+ 56: 43(bvec4) CompositeConstruct 47 49 51 55
+ Store 45(b4) 56
+ 59: 16(float) Load 18(u_f)
+ 60: 9(int) ConvertFToS 59
+ 61: 6(bool) Load 8(b)
+ 64: 9(int) Select 61 63 62
+ 65: 9(int) IAdd 60 64
+ Store 58(i) 65
+ 72: 69(fvec2) Load 71(u_f2)
+ 73: 66(ivec2) ConvertFToS 72
+ 74: 23(bvec2) Load 25(b2)
+ 77: 66(ivec2) Select 74 76 75
+ 78: 66(ivec2) IAdd 73 77
+ Store 68(i2) 78
+ 85: 82(fvec3) Load 84(u_f3)
+ 86: 79(ivec3) ConvertFToS 85
+ 87: 31(bvec3) Load 33(b3)
+ 90: 79(ivec3) Select 87 89 88
+ 91: 79(ivec3) IAdd 86 90
+ Store 81(i3) 91
+ 98: 95(fvec4) Load 97(u_f4)
+ 99: 92(ivec4) ConvertFToS 98
+ 100: 43(bvec4) Load 45(b4)
+ 103: 92(ivec4) Select 100 102 101
+ 104: 92(ivec4) IAdd 99 103
+ Store 94(i4) 104
+ 107: 9(int) Load 58(i)
+ 108: 16(float) ConvertSToF 107
+ Store 106(f) 108
+ 111: 66(ivec2) Load 68(i2)
+ 112: 69(fvec2) ConvertSToF 111
+ Store 110(f2) 112
+ 115: 79(ivec3) Load 81(i3)
+ 116: 82(fvec3) ConvertSToF 115
+ Store 114(f3) 116
+ 119: 92(ivec4) Load 94(i4)
+ 120: 95(fvec4) ConvertSToF 119
+ Store 118(f4) 120
+ 121: 9(int) Load 58(i)
+ 122: 16(float) ConvertSToF 121
+ 123: 6(bool) Load 8(b)
+ 125: 16(float) Select 123 124 20
+ 126: 16(float) FAdd 122 125
+ 127: 16(float) Load 106(f)
+ 128: 16(float) FAdd 127 126
+ Store 106(f) 128
+ 129: 66(ivec2) Load 68(i2)
+ 130: 69(fvec2) ConvertSToF 129
+ 131: 23(bvec2) Load 25(b2)
+ 134: 69(fvec2) Select 131 133 132
+ 135: 69(fvec2) FAdd 130 134
+ 136: 69(fvec2) Load 110(f2)
+ 137: 69(fvec2) FSub 136 135
+ Store 110(f2) 137
+ 138: 79(ivec3) Load 81(i3)
+ 139: 82(fvec3) ConvertSToF 138
+ 140: 31(bvec3) Load 33(b3)
+ 143: 82(fvec3) Select 140 142 141
+ 144: 82(fvec3) FAdd 139 143
+ 145: 82(fvec3) Load 114(f3)
+ 146: 82(fvec3) FDiv 145 144
+ Store 114(f3) 146
+ 147: 92(ivec4) Load 94(i4)
+ 148: 95(fvec4) ConvertSToF 147
+ 149: 43(bvec4) Load 45(b4)
+ 152: 95(fvec4) Select 149 151 150
+ 153: 95(fvec4) FAdd 148 152
+ 154: 95(fvec4) Load 118(f4)
+ 155: 95(fvec4) FAdd 154 153
+ Store 118(f4) 155
+ 158: 92(ivec4) Load 157(i_i4)
+ 161: 43(bvec4) INotEqual 158 160
+ 162: 95(fvec4) Select 161 151 150
+ 163: 95(fvec4) Load 118(f4)
+ 164: 95(fvec4) FAdd 163 162
+ Store 118(f4) 164
+ 165: 95(fvec4) Load 97(u_f4)
+ 166: 43(bvec4) FOrdNotEqual 165 150
+ 167: 95(fvec4) Select 166 151 150
+ 168: 95(fvec4) Load 118(f4)
+ 169: 95(fvec4) FAdd 168 167
+ Store 118(f4) 169
+ 170: 16(float) Load 106(f)
+ 171: 9(int) Load 58(i)
+ 172: 16(float) ConvertSToF 171
+ 173: 16(float) FSub 170 172
+ 174: 16(float) Load 106(f)
+ 175: 16(float) FAdd 174 173
+ Store 106(f) 175
+ 176: 16(float) Load 106(f)
+ 177: 9(int) Load 58(i)
+ 178: 16(float) ConvertSToF 177
+ 179: 69(fvec2) CompositeConstruct 176 178
+ 180: 66(ivec2) Load 68(i2)
+ 181: 69(fvec2) ConvertSToF 180
+ 182: 69(fvec2) FAdd 179 181
+ 183: 69(fvec2) Load 110(f2)
+ 184: 69(fvec2) FAdd 183 182
+ Store 110(f2) 184
+ 185: 79(ivec3) Load 81(i3)
+ 186: 82(fvec3) ConvertSToF 185
+ 187: 16(float) Load 106(f)
+ 188: 9(int) Load 58(i)
+ 189: 16(float) ConvertSToF 188
+ 190: 16(float) Load 106(f)
+ 191: 82(fvec3) CompositeConstruct 187 189 190
+ 192: 82(fvec3) FAdd 186 191
+ 193: 82(fvec3) Load 114(f3)
+ 194: 82(fvec3) FAdd 193 192
+ Store 114(f3) 194
+ 195: 6(bool) Load 8(b)
+ 196: 16(float) Select 195 124 20
+ 197: 9(int) Load 58(i)
+ 198: 16(float) ConvertSToF 197
+ 199: 16(float) Load 106(f)
+ 200: 9(int) Load 58(i)
+ 201: 16(float) ConvertSToF 200
+ 202: 95(fvec4) CompositeConstruct 196 198 199 201
+ 203: 92(ivec4) Load 94(i4)
+ 204: 95(fvec4) ConvertSToF 203
+ 205: 95(fvec4) FAdd 202 204
+ 206: 95(fvec4) Load 118(f4)
+ 207: 95(fvec4) FAdd 206 205
+ Store 118(f4) 207
+ 208: 16(float) Load 106(f)
+ 209: 9(int) Load 58(i)
+ 210: 16(float) ConvertSToF 209
+ 211: 69(fvec2) CompositeConstruct 208 210
+ 212: 9(int) Load 58(i)
+ 213: 16(float) ConvertSToF 212
+ 214: 69(fvec2) VectorTimesScalar 211 213
+ 215: 69(fvec2) Load 110(f2)
+ 216: 69(fvec2) FAdd 215 214
+ Store 110(f2) 216
+ 217: 16(float) Load 106(f)
+ 218: 9(int) Load 58(i)
+ 219: 16(float) ConvertSToF 218
+ 220: 16(float) Load 106(f)
+ 221: 82(fvec3) CompositeConstruct 217 219 220
+ 222: 9(int) Load 58(i)
+ 223: 16(float) ConvertSToF 222
+ 224: 82(fvec3) CompositeConstruct 223 223 223
+ 225: 82(fvec3) FAdd 221 224
+ 226: 82(fvec3) Load 114(f3)
+ 227: 82(fvec3) FAdd 226 225
+ Store 114(f3) 227
+ 228: 9(int) Load 58(i)
+ 229: 16(float) ConvertSToF 228
+ 230: 6(bool) Load 8(b)
+ 231: 16(float) Select 230 124 20
+ 232: 9(int) Load 58(i)
+ 233: 16(float) ConvertSToF 232
+ 234: 16(float) Load 106(f)
+ 235: 9(int) Load 58(i)
+ 236: 16(float) ConvertSToF 235
+ 237: 95(fvec4) CompositeConstruct 231 233 234 236
+ 238: 95(fvec4) CompositeConstruct 229 229 229 229
+ 239: 95(fvec4) FSub 238 237
+ 240: 95(fvec4) Load 118(f4)
+ 241: 95(fvec4) FAdd 240 239
+ Store 118(f4) 241
+ 242: 16(float) Load 106(f)
+ 243: 9(int) ConvertFToS 242
+ 244: 9(int) Load 58(i)
+ 245: 66(ivec2) CompositeConstruct 243 244
+ 246: 66(ivec2) Load 68(i2)
+ 247: 66(ivec2) IAdd 246 245
+ Store 68(i2) 247
+ 248: 16(float) Load 106(f)
+ 249: 9(int) ConvertFToS 248
+ 250: 9(int) Load 58(i)
+ 251: 16(float) Load 106(f)
+ 252: 9(int) ConvertFToS 251
+ 253: 79(ivec3) CompositeConstruct 249 250 252
+ 254: 79(ivec3) Load 81(i3)
+ 255: 79(ivec3) IAdd 254 253
+ Store 81(i3) 255
+ 256: 6(bool) Load 8(b)
+ 257: 9(int) Select 256 63 62
+ 258: 9(int) Load 58(i)
+ 259: 16(float) Load 106(f)
+ 260: 9(int) ConvertFToS 259
+ 261: 9(int) Load 58(i)
+ 262: 92(ivec4) CompositeConstruct 257 258 260 261
+ 263: 92(ivec4) Load 94(i4)
+ 264: 92(ivec4) IAdd 263 262
+ Store 94(i4) 264
+ 265: 16(float) Load 106(f)
+ 266: 9(int) Load 58(i)
+ 267: 16(float) ConvertSToF 266
+ 268: 6(bool) FOrdLessThan 265 267
+ 269: 6(bool) LogicalNot 268
+ SelectionMerge 271 None
+ BranchConditional 269 270 271
+ 270: Label
+ 272: 9(int) Load 58(i)
+ 273: 16(float) ConvertSToF 272
+ 274: 16(float) Load 106(f)
+ 275: 6(bool) FOrdLessThan 273 274
+ Branch 271
+ 271: Label
+ 276: 6(bool) Phi 268 5 275 270
+ 277: 6(bool) LogicalNot 276
+ SelectionMerge 279 None
+ BranchConditional 277 278 279
+ 278: Label
+ 280: 69(fvec2) Load 110(f2)
+ 281: 66(ivec2) Load 68(i2)
+ 282: 69(fvec2) ConvertSToF 281
+ 283: 23(bvec2) FOrdEqual 280 282
+ 284: 6(bool) All 283
+ Branch 279
+ 279: Label
+ 285: 6(bool) Phi 276 271 284 278
+ 286: 6(bool) LogicalNot 285
+ SelectionMerge 288 None
+ BranchConditional 286 287 288
+ 287: Label
+ 289: 79(ivec3) Load 81(i3)
+ 290: 82(fvec3) ConvertSToF 289
+ 291: 82(fvec3) Load 114(f3)
+ 292: 31(bvec3) FOrdNotEqual 290 291
+ 293: 6(bool) Any 292
+ Branch 288
+ 288: Label
+ 294: 6(bool) Phi 285 279 293 287
+ SelectionMerge 296 None
+ BranchConditional 294 295 296
+ 295: Label
+ 298: 6(bool) Load 8(b)
+ SelectionMerge 300 None
+ BranchConditional 298 299 303
+ 299: Label
+ 301: 9(int) Load 58(i)
+ 302: 16(float) ConvertSToF 301
+ Store 297 302
+ Branch 300
+ 303: Label
+ 304: 105(ptr) AccessChain 110(f2) 14
+ 305: 16(float) Load 304
+ Store 297 305
+ Branch 300
+ 300: Label
+ 306: 16(float) Load 297
+ 308: 23(bvec2) Load 25(b2)
+ 309: 6(bool) CompositeExtract 308 0
+ SelectionMerge 311 None
+ BranchConditional 309 310 314
+ 310: Label
+ 312: 105(ptr) AccessChain 114(f3) 14
+ 313: 16(float) Load 312
+ Store 307 313
+ Branch 311
+ 314: Label
+ 316: 57(ptr) AccessChain 68(i2) 315
+ 317: 9(int) Load 316
+ 318: 16(float) ConvertSToF 317
+ Store 307 318
+ Branch 311
+ 311: Label
+ 319: 16(float) Load 307
+ 320: 16(float) FAdd 306 319
+ Store 106(f) 320
+ Branch 296
+ 296: Label
+ 324: 6(bool) Load 8(b)
+ 325: 23(bvec2) Load 25(b2)
+ 326: 6(bool) CompositeExtract 325 0
+ 327: 6(bool) LogicalOr 324 326
+ 328: 23(bvec2) Load 25(b2)
+ 329: 6(bool) CompositeExtract 328 1
+ 330: 6(bool) LogicalOr 327 329
+ 331: 31(bvec3) Load 33(b3)
+ 332: 6(bool) CompositeExtract 331 0
+ 333: 6(bool) LogicalOr 330 332
+ 334: 31(bvec3) Load 33(b3)
+ 335: 6(bool) CompositeExtract 334 1
+ 336: 6(bool) LogicalOr 333 335
+ 337: 31(bvec3) Load 33(b3)
+ 338: 6(bool) CompositeExtract 337 2
+ 339: 6(bool) LogicalOr 336 338
+ 340: 43(bvec4) Load 45(b4)
+ 341: 6(bool) CompositeExtract 340 0
+ 342: 6(bool) LogicalOr 339 341
+ 343: 43(bvec4) Load 45(b4)
+ 344: 6(bool) CompositeExtract 343 1
+ 345: 6(bool) LogicalOr 342 344
+ 346: 43(bvec4) Load 45(b4)
+ 347: 6(bool) CompositeExtract 346 2
+ 348: 6(bool) LogicalOr 345 347
+ 349: 43(bvec4) Load 45(b4)
+ 350: 6(bool) CompositeExtract 349 3
+ 351: 6(bool) LogicalOr 348 350
+ SelectionMerge 353 None
+ BranchConditional 351 352 415
+ 352: Label
+ 354: 9(int) Load 58(i)
+ 355: 57(ptr) AccessChain 68(i2) 14
+ 356: 9(int) Load 355
+ 357: 9(int) IAdd 354 356
+ 358: 57(ptr) AccessChain 68(i2) 315
+ 359: 9(int) Load 358
+ 360: 9(int) IAdd 357 359
+ 361: 57(ptr) AccessChain 81(i3) 14
+ 362: 9(int) Load 361
+ 363: 9(int) IAdd 360 362
+ 364: 57(ptr) AccessChain 81(i3) 315
+ 365: 9(int) Load 364
+ 366: 9(int) IAdd 363 365
+ 368: 57(ptr) AccessChain 81(i3) 367
+ 369: 9(int) Load 368
+ 370: 9(int) IAdd 366 369
+ 371: 57(ptr) AccessChain 94(i4) 14
+ 372: 9(int) Load 371
+ 373: 9(int) IAdd 370 372
+ 374: 57(ptr) AccessChain 94(i4) 315
+ 375: 9(int) Load 374
+ 376: 9(int) IAdd 373 375
+ 377: 57(ptr) AccessChain 94(i4) 367
+ 378: 9(int) Load 377
+ 379: 9(int) IAdd 376 378
+ 381: 57(ptr) AccessChain 94(i4) 380
+ 382: 9(int) Load 381
+ 383: 9(int) IAdd 379 382
+ 384: 16(float) ConvertSToF 383
+ 385: 16(float) Load 106(f)
+ 386: 16(float) FAdd 384 385
+ 387: 105(ptr) AccessChain 110(f2) 14
+ 388: 16(float) Load 387
+ 389: 16(float) FAdd 386 388
+ 390: 105(ptr) AccessChain 110(f2) 315
+ 391: 16(float) Load 390
+ 392: 16(float) FAdd 389 391
+ 393: 105(ptr) AccessChain 114(f3) 14
+ 394: 16(float) Load 393
+ 395: 16(float) FAdd 392 394
+ 396: 105(ptr) AccessChain 114(f3) 315
+ 397: 16(float) Load 396
+ 398: 16(float) FAdd 395 397
+ 399: 105(ptr) AccessChain 114(f3) 367
+ 400: 16(float) Load 399
+ 401: 16(float) FAdd 398 400
+ 402: 105(ptr) AccessChain 118(f4) 14
+ 403: 16(float) Load 402
+ 404: 16(float) FAdd 401 403
+ 405: 105(ptr) AccessChain 118(f4) 315
+ 406: 16(float) Load 405
+ 407: 16(float) FAdd 404 406
+ 408: 105(ptr) AccessChain 118(f4) 367
+ 409: 16(float) Load 408
+ 410: 16(float) FAdd 407 409
+ 411: 105(ptr) AccessChain 118(f4) 380
+ 412: 16(float) Load 411
+ 413: 16(float) FAdd 410 412
+ 414: 95(fvec4) CompositeConstruct 413 413 413 413
+ Store 323 414
+ Branch 353
+ 415: Label
+ Store 323 151
+ Branch 353
+ 353: Label
+ 416: 95(fvec4) Load 323
+ Store 322(gl_FragColor) 416
+ Store 417(cv2) 102
+ 419: 92(ivec4) Load 417(cv2)
+ 420: 43(bvec4) INotEqual 419 160
+ Store 418(cv5) 420
+ 421: 43(bvec4) Load 418(cv5)
+ 422: 95(fvec4) Select 421 151 150
+ 423: 16(float) CompositeExtract 422 0
+ 424: 95(fvec4) Load 322(gl_FragColor)
+ 425: 95(fvec4) CompositeConstruct 423 423 423 423
+ 426: 95(fvec4) FAdd 424 425
+ Store 322(gl_FragColor) 426
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.dataOut.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.dataOut.frag.out
new file mode 100755
index 00000000000..651c96e3d15
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.dataOut.frag.out
@@ -0,0 +1,39 @@
+spv.dataOut.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 20
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 12 16
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 12 "gl_FragData"
+ Name 16 "Color"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 32
+ 10: TypeArray 7(fvec4) 9
+ 11: TypePointer Output 10
+ 12(gl_FragData): 11(ptr) Variable Output
+ 13: TypeInt 32 1
+ 14: 13(int) Constant 1
+ 15: TypePointer Input 7(fvec4)
+ 16(Color): 15(ptr) Variable Input
+ 18: TypePointer Output 7(fvec4)
+ 4(main): 2 Function None 3
+ 5: Label
+ 17: 7(fvec4) Load 16(Color)
+ 19: 18(ptr) AccessChain 12(gl_FragData) 14
+ Store 19 17
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.dataOutIndirect.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.dataOutIndirect.frag.out
new file mode 100755
index 00000000000..d1227a5bba0
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.dataOutIndirect.frag.out
@@ -0,0 +1,51 @@
+spv.dataOutIndirect.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 26
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 12 22
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 12 "fcolor"
+ Name 14 "b"
+ MemberName 14(b) 0 "i"
+ Name 16 "bName"
+ Name 22 "Color"
+ MemberDecorate 14(b) 0 Offset 0
+ Decorate 14(b) Block
+ Decorate 16(bName) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 4
+ 10: TypeArray 7(fvec4) 9
+ 11: TypePointer Output 10
+ 12(fcolor): 11(ptr) Variable Output
+ 13: TypeInt 32 1
+ 14(b): TypeStruct 13(int)
+ 15: TypePointer Uniform 14(b)
+ 16(bName): 15(ptr) Variable Uniform
+ 17: 13(int) Constant 0
+ 18: TypePointer Uniform 13(int)
+ 21: TypePointer Input 7(fvec4)
+ 22(Color): 21(ptr) Variable Input
+ 24: TypePointer Output 7(fvec4)
+ 4(main): 2 Function None 3
+ 5: Label
+ 19: 18(ptr) AccessChain 16(bName) 17
+ 20: 13(int) Load 19
+ 23: 7(fvec4) Load 22(Color)
+ 25: 24(ptr) AccessChain 12(fcolor) 20
+ Store 25 23
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.dataOutIndirect.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.dataOutIndirect.vert.out
new file mode 100755
index 00000000000..797c65180b7
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.dataOutIndirect.vert.out
@@ -0,0 +1,70 @@
+spv.dataOutIndirect.vert
+WARNING: 0:3: attribute deprecated in version 130; may be removed in future release
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 38
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 25 28 34
+ Source GLSL 140
+ Name 4 "main"
+ Name 8 "i"
+ Name 25 "colorOut"
+ Name 28 "color"
+ Name 34 "gl_Position"
+ Decorate 34(gl_Position) BuiltIn Position
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 1
+ 16: 6(int) Constant 5
+ 17: TypeBool
+ 19: TypeFloat 32
+ 20: TypeVector 19(float) 4
+ 21: TypeInt 32 0
+ 22: 21(int) Constant 6
+ 23: TypeArray 20(fvec4) 22
+ 24: TypePointer Output 23
+ 25(colorOut): 24(ptr) Variable Output
+ 27: TypePointer Input 20(fvec4)
+ 28(color): 27(ptr) Variable Input
+ 30: TypePointer Output 20(fvec4)
+ 34(gl_Position): 30(ptr) Variable Output
+ 35: 6(int) Constant 2
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ LoopMerge 12 13 None
+ Branch 14
+ 14: Label
+ 15: 6(int) Load 8(i)
+ 18: 17(bool) SLessThan 15 16
+ BranchConditional 18 11 12
+ 11: Label
+ 26: 6(int) Load 8(i)
+ 29: 20(fvec4) Load 28(color)
+ 31: 30(ptr) AccessChain 25(colorOut) 26
+ Store 31 29
+ Branch 13
+ 13: Label
+ 32: 6(int) Load 8(i)
+ 33: 6(int) IAdd 32 9
+ Store 8(i) 33
+ Branch 10
+ 12: Label
+ 36: 30(ptr) AccessChain 25(colorOut) 35
+ 37: 20(fvec4) Load 36
+ Store 34(gl_Position) 37
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.deepRvalue.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.deepRvalue.frag.out
new file mode 100644
index 00000000000..b4894383e5c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.deepRvalue.frag.out
@@ -0,0 +1,209 @@
+spv.deepRvalue.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 155
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 149
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 330
+ Name 4 "main"
+ Name 9 "v1"
+ Name 15 "v2"
+ Name 21 "v3"
+ Name 27 "v4"
+ Name 35 "m"
+ Name 63 "mm"
+ Name 80 "f"
+ Name 87 "g"
+ Name 106 "h"
+ Name 107 "i"
+ Name 111 "samp2D"
+ Name 134 "str"
+ MemberName 134(str) 0 "a"
+ MemberName 134(str) 1 "b"
+ MemberName 134(str) 2 "c"
+ Name 136 "t"
+ Name 149 "gl_FragColor"
+ Decorate 111(samp2D) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Private 7(fvec4)
+ 9(v1): 8(ptr) Variable Private
+ 10: 6(float) Constant 1073741824
+ 11: 6(float) Constant 1077936128
+ 12: 6(float) Constant 1084227584
+ 13: 6(float) Constant 1088421888
+ 14: 7(fvec4) ConstantComposite 10 11 12 13
+ 15(v2): 8(ptr) Variable Private
+ 16: 6(float) Constant 1093664768
+ 17: 6(float) Constant 1095761920
+ 18: 6(float) Constant 1099431936
+ 19: 6(float) Constant 1100480512
+ 20: 7(fvec4) ConstantComposite 16 17 18 19
+ 21(v3): 8(ptr) Variable Private
+ 22: 6(float) Constant 1102577664
+ 23: 6(float) Constant 1105723392
+ 24: 6(float) Constant 1106771968
+ 25: 6(float) Constant 1108606976
+ 26: 7(fvec4) ConstantComposite 22 23 24 25
+ 27(v4): 8(ptr) Variable Private
+ 28: 6(float) Constant 1109655552
+ 29: 6(float) Constant 1110179840
+ 30: 6(float) Constant 1111228416
+ 31: 6(float) Constant 1112801280
+ 32: 7(fvec4) ConstantComposite 28 29 30 31
+ 33: TypeMatrix 7(fvec4) 4
+ 34: TypePointer Function 33
+ 40: 6(float) Constant 1065353216
+ 41: 6(float) Constant 0
+ 79: TypePointer Function 6(float)
+ 81: TypeInt 32 1
+ 82: 81(int) Constant 1
+ 83: TypeInt 32 0
+ 84: 83(int) Constant 3
+ 103: 81(int) Constant 2
+ 104: 83(int) Constant 1
+ 108: TypeImage 6(float) 2D sampled format:Unknown
+ 109: TypeSampledImage 108
+ 110: TypePointer UniformConstant 109
+ 111(samp2D): 110(ptr) Variable UniformConstant
+ 113: TypeVector 6(float) 2
+ 114: 6(float) Constant 1056964608
+ 115: 113(fvec2) ConstantComposite 114 114
+ 118: TypePointer Function 7(fvec4)
+ 121: 6(float) Constant 1036831949
+ 122: TypeBool
+ 133: TypeArray 113(fvec2) 84
+ 134(str): TypeStruct 81(int) 133 122(bool)
+ 135: TypePointer Function 134(str)
+ 137: 113(fvec2) ConstantComposite 10 11
+ 138: 6(float) Constant 1082130432
+ 139: 113(fvec2) ConstantComposite 138 12
+ 140: 6(float) Constant 1086324736
+ 141: 113(fvec2) ConstantComposite 140 13
+ 142: 133 ConstantComposite 137 139 141
+ 143: 122(bool) ConstantTrue
+ 144: 134(str) ConstantComposite 82 142 143
+ 148: TypePointer Output 7(fvec4)
+149(gl_FragColor): 148(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 35(m): 34(ptr) Variable Function
+ 63(mm): 34(ptr) Variable Function
+ 80(f): 79(ptr) Variable Function
+ 87(g): 79(ptr) Variable Function
+ 106(h): 79(ptr) Variable Function
+ 107(i): 79(ptr) Variable Function
+ 119: 118(ptr) Variable Function
+ 136(t): 135(ptr) Variable Function
+ Store 9(v1) 14
+ Store 15(v2) 20
+ Store 21(v3) 26
+ Store 27(v4) 32
+ 36: 7(fvec4) Load 9(v1)
+ 37: 7(fvec4) Load 15(v2)
+ 38: 7(fvec4) Load 21(v3)
+ 39: 7(fvec4) Load 27(v4)
+ 42: 6(float) CompositeExtract 36 0
+ 43: 6(float) CompositeExtract 36 1
+ 44: 6(float) CompositeExtract 36 2
+ 45: 6(float) CompositeExtract 36 3
+ 46: 6(float) CompositeExtract 37 0
+ 47: 6(float) CompositeExtract 37 1
+ 48: 6(float) CompositeExtract 37 2
+ 49: 6(float) CompositeExtract 37 3
+ 50: 6(float) CompositeExtract 38 0
+ 51: 6(float) CompositeExtract 38 1
+ 52: 6(float) CompositeExtract 38 2
+ 53: 6(float) CompositeExtract 38 3
+ 54: 6(float) CompositeExtract 39 0
+ 55: 6(float) CompositeExtract 39 1
+ 56: 6(float) CompositeExtract 39 2
+ 57: 6(float) CompositeExtract 39 3
+ 58: 7(fvec4) CompositeConstruct 42 43 44 45
+ 59: 7(fvec4) CompositeConstruct 46 47 48 49
+ 60: 7(fvec4) CompositeConstruct 50 51 52 53
+ 61: 7(fvec4) CompositeConstruct 54 55 56 57
+ 62: 33 CompositeConstruct 58 59 60 61
+ Store 35(m) 62
+ 64: 33 Load 35(m)
+ 65: 33 Load 35(m)
+ 66: 7(fvec4) CompositeExtract 64 0
+ 67: 7(fvec4) CompositeExtract 65 0
+ 68: 7(fvec4) FMul 66 67
+ 69: 7(fvec4) CompositeExtract 64 1
+ 70: 7(fvec4) CompositeExtract 65 1
+ 71: 7(fvec4) FMul 69 70
+ 72: 7(fvec4) CompositeExtract 64 2
+ 73: 7(fvec4) CompositeExtract 65 2
+ 74: 7(fvec4) FMul 72 73
+ 75: 7(fvec4) CompositeExtract 64 3
+ 76: 7(fvec4) CompositeExtract 65 3
+ 77: 7(fvec4) FMul 75 76
+ 78: 33 CompositeConstruct 68 71 74 77
+ Store 63(mm) 78
+ 85: 79(ptr) AccessChain 63(mm) 82 84
+ 86: 6(float) Load 85
+ Store 80(f) 86
+ 88: 33 Load 35(m)
+ 89: 33 Load 35(m)
+ 90: 7(fvec4) CompositeExtract 88 0
+ 91: 7(fvec4) CompositeExtract 89 0
+ 92: 7(fvec4) FMul 90 91
+ 93: 7(fvec4) CompositeExtract 88 1
+ 94: 7(fvec4) CompositeExtract 89 1
+ 95: 7(fvec4) FMul 93 94
+ 96: 7(fvec4) CompositeExtract 88 2
+ 97: 7(fvec4) CompositeExtract 89 2
+ 98: 7(fvec4) FMul 96 97
+ 99: 7(fvec4) CompositeExtract 88 3
+ 100: 7(fvec4) CompositeExtract 89 3
+ 101: 7(fvec4) FMul 99 100
+ 102: 33 CompositeConstruct 92 95 98 101
+ 105: 6(float) CompositeExtract 102 2 1
+ Store 87(g) 105
+ Store 106(h) 12
+ 112: 109 Load 111(samp2D)
+ 116: 7(fvec4) ImageSampleImplicitLod 112 115
+ 117: 6(float) CompositeExtract 116 1
+ Store 107(i) 117
+ 120: 6(float) Load 107(i)
+ 123: 122(bool) FOrdGreaterThan 120 121
+ SelectionMerge 125 None
+ BranchConditional 123 124 127
+ 124: Label
+ 126: 7(fvec4) Load 9(v1)
+ Store 119 126
+ Branch 125
+ 127: Label
+ 128: 7(fvec4) Load 15(v2)
+ Store 119 128
+ Branch 125
+ 125: Label
+ 129: 79(ptr) AccessChain 119 84
+ 130: 6(float) Load 129
+ 131: 6(float) Load 107(i)
+ 132: 6(float) FAdd 131 130
+ Store 107(i) 132
+ Store 136(t) 144
+ 145: 6(float) CompositeExtract 144 1 2 1
+ 146: 6(float) Load 107(i)
+ 147: 6(float) FAdd 146 145
+ Store 107(i) 147
+ 150: 6(float) Load 80(f)
+ 151: 6(float) Load 87(g)
+ 152: 6(float) Load 106(h)
+ 153: 6(float) Load 107(i)
+ 154: 7(fvec4) CompositeConstruct 150 151 152 153
+ Store 149(gl_FragColor) 154
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.depthOut.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.depthOut.frag.out
new file mode 100755
index 00000000000..6242391fd3a
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.depthOut.frag.out
@@ -0,0 +1,40 @@
+spv.depthOut.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 15
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 8 10 14
+ ExecutionMode 4 OriginUpperLeft
+ ExecutionMode 4 DepthGreater
+ ExecutionMode 4 DepthReplacing
+ Source GLSL 450
+ Name 4 "main"
+ Name 8 "gl_FragDepth"
+ Name 10 "Depth"
+ Name 14 "Color"
+ Decorate 8(gl_FragDepth) BuiltIn FragDepth
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Output 6(float)
+ 8(gl_FragDepth): 7(ptr) Variable Output
+ 9: TypePointer Input 6(float)
+ 10(Depth): 9(ptr) Variable Input
+ 12: TypeVector 6(float) 4
+ 13: TypePointer Input 12(fvec4)
+ 14(Color): 13(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 11: 6(float) Load 10(Depth)
+ Store 8(gl_FragDepth) 11
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.discard-dce.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.discard-dce.frag.out
new file mode 100755
index 00000000000..7668233ba20
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.discard-dce.frag.out
@@ -0,0 +1,130 @@
+spv.discard-dce.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 84
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 21 59
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "white"
+ Name 12 "black"
+ Name 15 "color"
+ Name 18 "x"
+ Name 21 "tex_coord"
+ Name 30 "y"
+ Name 36 "radius"
+ Name 59 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 13: 6(float) Constant 1045220557
+ 14: 7(fvec4) ConstantComposite 13 13 13 13
+ 17: TypePointer Function 6(float)
+ 19: TypeVector 6(float) 2
+ 20: TypePointer Input 19(fvec2)
+ 21(tex_coord): 20(ptr) Variable Input
+ 22: TypeInt 32 0
+ 23: 22(int) Constant 0
+ 24: TypePointer Input 6(float)
+ 27: 6(float) Constant 1073741824
+ 31: 22(int) Constant 1
+ 46: TypeBool
+ 51: 6(float) Constant 1066192077
+ 58: TypePointer Output 7(fvec4)
+59(gl_FragColor): 58(ptr) Variable Output
+ 62: 6(float) Constant 1067030938
+ 71: 6(float) Constant 1061158912
+ 76: 6(float) Constant 1098907648
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(white): 8(ptr) Variable Function
+ 12(black): 8(ptr) Variable Function
+ 15(color): 8(ptr) Variable Function
+ 18(x): 17(ptr) Variable Function
+ 30(y): 17(ptr) Variable Function
+ 36(radius): 17(ptr) Variable Function
+ Store 9(white) 11
+ Store 12(black) 14
+ 16: 7(fvec4) Load 9(white)
+ Store 15(color) 16
+ 25: 24(ptr) AccessChain 21(tex_coord) 23
+ 26: 6(float) Load 25
+ 28: 6(float) FMul 26 27
+ 29: 6(float) FSub 28 10
+ Store 18(x) 29
+ 32: 24(ptr) AccessChain 21(tex_coord) 31
+ 33: 6(float) Load 32
+ 34: 6(float) FMul 33 27
+ 35: 6(float) FSub 34 10
+ Store 30(y) 35
+ 37: 6(float) Load 18(x)
+ 38: 6(float) Load 18(x)
+ 39: 6(float) FMul 37 38
+ 40: 6(float) Load 30(y)
+ 41: 6(float) Load 30(y)
+ 42: 6(float) FMul 40 41
+ 43: 6(float) FAdd 39 42
+ 44: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 43
+ Store 36(radius) 44
+ 45: 6(float) Load 36(radius)
+ 47: 46(bool) FOrdGreaterThan 45 10
+ SelectionMerge 49 None
+ BranchConditional 47 48 49
+ 48: Label
+ 50: 6(float) Load 36(radius)
+ 52: 46(bool) FOrdGreaterThan 50 51
+ SelectionMerge 54 None
+ BranchConditional 52 53 54
+ 53: Label
+ 55: 7(fvec4) Load 15(color)
+ 56: 7(fvec4) CompositeConstruct 10 10 10 10
+ 57: 7(fvec4) FAdd 55 56
+ Store 15(color) 57
+ Branch 54
+ 54: Label
+ 60: 7(fvec4) Load 15(color)
+ Store 59(gl_FragColor) 60
+ 61: 6(float) Load 36(radius)
+ 63: 46(bool) FOrdGreaterThan 61 62
+ SelectionMerge 65 None
+ BranchConditional 63 64 65
+ 64: Label
+ 66: 7(fvec4) Load 15(color)
+ 67: 7(fvec4) CompositeConstruct 10 10 10 10
+ 68: 7(fvec4) FAdd 66 67
+ Store 15(color) 68
+ Branch 65
+ 65: Label
+ Kill
+ 49: Label
+ 70: 6(float) Load 36(radius)
+ 72: 46(bool) FOrdGreaterThanEqual 70 71
+ SelectionMerge 74 None
+ BranchConditional 72 73 74
+ 73: Label
+ 75: 6(float) Load 36(radius)
+ 77: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 75 76
+ 78: 6(float) FDiv 77 27
+ 79: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 78
+ 80: 7(fvec4) Load 15(color)
+ 81: 7(fvec4) CompositeConstruct 79 79 79 79
+ 82: 7(fvec4) FSub 80 81
+ Store 15(color) 82
+ Branch 74
+ 74: Label
+ 83: 7(fvec4) Load 15(color)
+ Store 59(gl_FragColor) 83
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.do-simple.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.do-simple.vert.out
new file mode 100755
index 00000000000..c0862d1e199
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.do-simple.vert.out
@@ -0,0 +1,46 @@
+spv.do-simple.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 21
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main"
+ Source ESSL 310
+ Name 4 "main"
+ Name 8 "i"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 15: 6(int) Constant 1
+ 18: 6(int) Constant 10
+ 19: TypeBool
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ LoopMerge 12 13 None
+ Branch 11
+ 11: Label
+ 14: 6(int) Load 8(i)
+ 16: 6(int) IAdd 14 15
+ Store 8(i) 16
+ Branch 13
+ 13: Label
+ 17: 6(int) Load 8(i)
+ 20: 19(bool) SLessThan 17 18
+ BranchConditional 20 10 12
+ 12: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.do-while-continue-break.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.do-while-continue-break.vert.out
new file mode 100644
index 00000000000..ebfe85d0e6b
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.do-while-continue-break.vert.out
@@ -0,0 +1,84 @@
+spv.do-while-continue-break.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 43
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main"
+ Source ESSL 310
+ Name 4 "main"
+ Name 8 "i"
+ Name 14 "A"
+ Name 21 "B"
+ Name 24 "C"
+ Name 30 "D"
+ Name 33 "E"
+ Name 35 "F"
+ Name 41 "G"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 16: 6(int) Constant 2
+ 17: TypeBool
+ 22: 6(int) Constant 1
+ 26: 6(int) Constant 5
+ 31: 6(int) Constant 3
+ 34: 6(int) Constant 42
+ 36: 6(int) Constant 99
+ 39: 6(int) Constant 19
+ 42: 6(int) Constant 12
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ 14(A): 7(ptr) Variable Function
+ 21(B): 7(ptr) Variable Function
+ 24(C): 7(ptr) Variable Function
+ 30(D): 7(ptr) Variable Function
+ 33(E): 7(ptr) Variable Function
+ 35(F): 7(ptr) Variable Function
+ 41(G): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ LoopMerge 12 13 None
+ Branch 11
+ 11: Label
+ Store 14(A) 9
+ 15: 6(int) Load 8(i)
+ 18: 17(bool) IEqual 15 16
+ SelectionMerge 20 None
+ BranchConditional 18 19 20
+ 19: Label
+ Store 21(B) 22
+ Branch 13
+ 20: Label
+ 25: 6(int) Load 8(i)
+ 27: 17(bool) IEqual 25 26
+ SelectionMerge 29 None
+ BranchConditional 27 28 29
+ 28: Label
+ Store 30(D) 31
+ Branch 12
+ 29: Label
+ Store 35(F) 36
+ Branch 13
+ 13: Label
+ 37: 6(int) Load 8(i)
+ 38: 6(int) IAdd 37 22
+ Store 8(i) 38
+ 40: 17(bool) SLessThan 38 39
+ BranchConditional 40 10 12
+ 12: Label
+ Store 41(G) 42
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.doWhileLoop.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.doWhileLoop.frag.out
new file mode 100755
index 00000000000..1d12af108d4
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.doWhileLoop.frag.out
@@ -0,0 +1,63 @@
+spv.doWhileLoop.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 34
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 11 17 27 32
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 17 "bigColor"
+ Name 27 "d"
+ Name 32 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 17(bigColor): 10(ptr) Variable Input
+ 21: TypeInt 32 0
+ 22: 21(int) Constant 0
+ 23: TypePointer Function 6(float)
+ 26: TypePointer Input 6(float)
+ 27(d): 26(ptr) Variable Input
+ 29: TypeBool
+ 31: TypePointer Output 7(fvec4)
+32(gl_FragColor): 31(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(color): 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ Branch 13
+ 13: Label
+ LoopMerge 15 16 None
+ Branch 14
+ 14: Label
+ 18: 7(fvec4) Load 17(bigColor)
+ 19: 7(fvec4) Load 9(color)
+ 20: 7(fvec4) FAdd 19 18
+ Store 9(color) 20
+ Branch 16
+ 16: Label
+ 24: 23(ptr) AccessChain 9(color) 22
+ 25: 6(float) Load 24
+ 28: 6(float) Load 27(d)
+ 30: 29(bool) FOrdLessThan 25 28
+ BranchConditional 30 13 15
+ 15: Label
+ 33: 7(fvec4) Load 9(color)
+ Store 32(gl_FragColor) 33
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.double.comp.out b/chromium/third_party/glslang/src/Test/baseResults/spv.double.comp.out
new file mode 100755
index 00000000000..766f839a0bc
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.double.comp.out
@@ -0,0 +1,104 @@
+spv.double.comp
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked compute stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 60
+
+ Capability Shader
+ Capability Float64
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main" 26 33
+ ExecutionMode 4 LocalSize 1 1 1
+ Source GLSL 430
+ Name 4 "main"
+ Name 8 "bufName"
+ MemberName 8(bufName) 0 "f"
+ MemberName 8(bufName) 1 "d"
+ Name 10 "bufInst"
+ Name 22 "storePos"
+ Name 26 "gl_GlobalInvocationID"
+ Name 32 "localCoef"
+ Name 33 "gl_LocalInvocationID"
+ Name 49 "aa"
+ Name 54 "globalCoef"
+ Name 59 "destTex"
+ MemberDecorate 8(bufName) 0 Offset 0
+ MemberDecorate 8(bufName) 1 Offset 8
+ Decorate 8(bufName) BufferBlock
+ Decorate 10(bufInst) DescriptorSet 0
+ Decorate 26(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
+ Decorate 33(gl_LocalInvocationID) BuiltIn LocalInvocationId
+ Decorate 59(destTex) DescriptorSet 0
+ Decorate 59(destTex) NonReadable
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeFloat 64
+ 8(bufName): TypeStruct 6(float) 7(float)
+ 9: TypePointer Uniform 8(bufName)
+ 10(bufInst): 9(ptr) Variable Uniform
+ 11: TypeInt 32 1
+ 12: 11(int) Constant 1
+ 13: 7(float) Constant 1413754136 1074340347
+ 14: TypePointer Uniform 7(float)
+ 16: 11(int) Constant 0
+ 17: 6(float) Constant 1095307129
+ 18: TypePointer Uniform 6(float)
+ 20: TypeVector 11(int) 2
+ 21: TypePointer Function 20(ivec2)
+ 23: TypeInt 32 0
+ 24: TypeVector 23(int) 3
+ 25: TypePointer Input 24(ivec3)
+26(gl_GlobalInvocationID): 25(ptr) Variable Input
+ 27: TypeVector 23(int) 2
+ 31: TypePointer Function 7(float)
+33(gl_LocalInvocationID): 25(ptr) Variable Input
+ 37: 11(int) Constant 8
+ 40: TypeVector 6(float) 2
+ 42: 6(float) Constant 1090519040
+ 47: TypeVector 7(float) 4
+ 48: TypePointer Function 47(fvec4)
+ 50: 7(float) Constant 2576980378 1071225241
+ 51: 7(float) Constant 2576980378 1070176665
+ 52: 7(float) Constant 858993459 1070805811
+ 53: 47(fvec4) ConstantComposite 50 51 52 50
+ 55: 7(float) Constant 0 1072693248
+ 56: 7(float) Constant 3229815407 1074340298
+ 57: TypeImage 6(float) 2D nonsampled format:Unknown
+ 58: TypePointer UniformConstant 57
+ 59(destTex): 58(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 22(storePos): 21(ptr) Variable Function
+ 32(localCoef): 31(ptr) Variable Function
+ 49(aa): 48(ptr) Variable Function
+ 54(globalCoef): 31(ptr) Variable Function
+ 15: 14(ptr) AccessChain 10(bufInst) 12
+ Store 15 13
+ 19: 18(ptr) AccessChain 10(bufInst) 16
+ Store 19 17
+ 28: 24(ivec3) Load 26(gl_GlobalInvocationID)
+ 29: 27(ivec2) VectorShuffle 28 28 0 1
+ 30: 20(ivec2) Bitcast 29
+ Store 22(storePos) 30
+ 34: 24(ivec3) Load 33(gl_LocalInvocationID)
+ 35: 27(ivec2) VectorShuffle 34 34 0 1
+ 36: 20(ivec2) Bitcast 35
+ 38: 20(ivec2) CompositeConstruct 37 37
+ 39: 20(ivec2) ISub 36 38
+ 41: 40(fvec2) ConvertSToF 39
+ 43: 40(fvec2) CompositeConstruct 42 42
+ 44: 40(fvec2) FDiv 41 43
+ 45: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 44
+ 46: 7(float) FConvert 45
+ Store 32(localCoef) 46
+ Store 49(aa) 53
+ Store 54(globalCoef) 55
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.earlyReturnDiscard.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.earlyReturnDiscard.frag.out
new file mode 100755
index 00000000000..7e6409e63fa
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.earlyReturnDiscard.frag.out
@@ -0,0 +1,173 @@
+spv.earlyReturnDiscard.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 110
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 11 14 17 19 25 30 39 51 63 105 109
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 13 "color2"
+ Name 14 "otherColor"
+ Name 17 "c"
+ Name 19 "d"
+ Name 25 "bigColor"
+ Name 30 "smallColor"
+ Name 39 "minimum"
+ Name 51 "threshhold"
+ Name 63 "threshhold2"
+ Name 77 "b"
+ Name 105 "gl_FragColor"
+ Name 109 "threshhold3"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 14(otherColor): 10(ptr) Variable Input
+ 16: TypePointer Input 6(float)
+ 17(c): 16(ptr) Variable Input
+ 19(d): 16(ptr) Variable Input
+ 21: TypeBool
+ 25(bigColor): 10(ptr) Variable Input
+ 30(smallColor): 10(ptr) Variable Input
+ 34: TypeInt 32 0
+ 35: 34(int) Constant 2
+ 36: TypePointer Function 6(float)
+ 39(minimum): 16(ptr) Variable Input
+ 47: 6(float) Constant 1065353216
+ 51(threshhold): 16(ptr) Variable Input
+ 60: 34(int) Constant 3
+ 63(threshhold2): 16(ptr) Variable Input
+ 76: TypePointer Private 21(bool)
+ 77(b): 76(ptr) Variable Private
+ 85: 34(int) Constant 0
+ 104: TypePointer Output 7(fvec4)
+105(gl_FragColor): 104(ptr) Variable Output
+109(threshhold3): 16(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(color): 8(ptr) Variable Function
+ 13(color2): 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ 15: 7(fvec4) Load 14(otherColor)
+ Store 13(color2) 15
+ 18: 6(float) Load 17(c)
+ 20: 6(float) Load 19(d)
+ 22: 21(bool) FOrdGreaterThan 18 20
+ SelectionMerge 24 None
+ BranchConditional 22 23 29
+ 23: Label
+ 26: 7(fvec4) Load 25(bigColor)
+ 27: 7(fvec4) Load 9(color)
+ 28: 7(fvec4) FAdd 27 26
+ Store 9(color) 28
+ Branch 24
+ 29: Label
+ 31: 7(fvec4) Load 30(smallColor)
+ 32: 7(fvec4) Load 9(color)
+ 33: 7(fvec4) FAdd 32 31
+ Store 9(color) 33
+ Branch 24
+ 24: Label
+ 37: 36(ptr) AccessChain 9(color) 35
+ 38: 6(float) Load 37
+ 40: 6(float) Load 39(minimum)
+ 41: 21(bool) FOrdLessThan 38 40
+ SelectionMerge 43 None
+ BranchConditional 41 42 43
+ 42: Label
+ Return
+ 43: Label
+ 45: 36(ptr) AccessChain 9(color) 35
+ 46: 6(float) Load 45
+ 48: 6(float) FAdd 46 47
+ Store 45 48
+ 49: 36(ptr) AccessChain 9(color) 35
+ 50: 6(float) Load 49
+ 52: 6(float) Load 51(threshhold)
+ 53: 21(bool) FOrdGreaterThan 50 52
+ SelectionMerge 55 None
+ BranchConditional 53 54 55
+ 54: Label
+ Kill
+ 55: Label
+ 57: 7(fvec4) Load 9(color)
+ 58: 7(fvec4) CompositeConstruct 47 47 47 47
+ 59: 7(fvec4) FAdd 57 58
+ Store 9(color) 59
+ 61: 36(ptr) AccessChain 9(color) 60
+ 62: 6(float) Load 61
+ 64: 6(float) Load 63(threshhold2)
+ 65: 21(bool) FOrdGreaterThan 62 64
+ SelectionMerge 67 None
+ BranchConditional 65 66 97
+ 66: Label
+ 68: 36(ptr) AccessChain 9(color) 35
+ 69: 6(float) Load 68
+ 70: 6(float) Load 63(threshhold2)
+ 71: 21(bool) FOrdGreaterThan 69 70
+ SelectionMerge 73 None
+ BranchConditional 71 72 75
+ 72: Label
+ Return
+ 75: Label
+ 78: 21(bool) Load 77(b)
+ SelectionMerge 80 None
+ BranchConditional 78 79 84
+ 79: Label
+ 81: 36(ptr) AccessChain 9(color) 35
+ 82: 6(float) Load 81
+ 83: 6(float) FAdd 82 47
+ Store 81 83
+ Branch 80
+ 84: Label
+ 86: 36(ptr) AccessChain 9(color) 85
+ 87: 6(float) Load 86
+ 88: 6(float) Load 39(minimum)
+ 89: 21(bool) FOrdLessThan 87 88
+ SelectionMerge 91 None
+ BranchConditional 89 90 93
+ 90: Label
+ Kill
+ 93: Label
+ 94: 7(fvec4) Load 9(color)
+ 95: 7(fvec4) CompositeConstruct 47 47 47 47
+ 96: 7(fvec4) FAdd 94 95
+ Store 9(color) 96
+ Branch 91
+ 91: Label
+ Branch 80
+ 80: Label
+ Branch 73
+ 73: Label
+ Branch 67
+ 97: Label
+ 98: 21(bool) Load 77(b)
+ SelectionMerge 100 None
+ BranchConditional 98 99 102
+ 99: Label
+ Kill
+ 102: Label
+ Return
+ 100: Label
+ Branch 67
+ 67: Label
+ 106: 7(fvec4) Load 9(color)
+ 107: 7(fvec4) Load 13(color2)
+ 108: 7(fvec4) FMul 106 107
+ Store 105(gl_FragColor) 108
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.flowControl.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.flowControl.frag.out
new file mode 100755
index 00000000000..7ca61b7a9c5
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.flowControl.frag.out
@@ -0,0 +1,73 @@
+spv.flowControl.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 39
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 11 14 17 19 25 30 35
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 13 "color2"
+ Name 14 "otherColor"
+ Name 17 "c"
+ Name 19 "d"
+ Name 25 "bigColor"
+ Name 30 "smallColor"
+ Name 35 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 14(otherColor): 10(ptr) Variable Input
+ 16: TypePointer Input 6(float)
+ 17(c): 16(ptr) Variable Input
+ 19(d): 16(ptr) Variable Input
+ 21: TypeBool
+ 25(bigColor): 10(ptr) Variable Input
+ 30(smallColor): 10(ptr) Variable Input
+ 34: TypePointer Output 7(fvec4)
+35(gl_FragColor): 34(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(color): 8(ptr) Variable Function
+ 13(color2): 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ 15: 7(fvec4) Load 14(otherColor)
+ Store 13(color2) 15
+ 18: 6(float) Load 17(c)
+ 20: 6(float) Load 19(d)
+ 22: 21(bool) FOrdGreaterThan 18 20
+ SelectionMerge 24 None
+ BranchConditional 22 23 29
+ 23: Label
+ 26: 7(fvec4) Load 25(bigColor)
+ 27: 7(fvec4) Load 9(color)
+ 28: 7(fvec4) FAdd 27 26
+ Store 9(color) 28
+ Branch 24
+ 29: Label
+ 31: 7(fvec4) Load 30(smallColor)
+ 32: 7(fvec4) Load 9(color)
+ 33: 7(fvec4) FAdd 32 31
+ Store 9(color) 33
+ Branch 24
+ 24: Label
+ 36: 7(fvec4) Load 9(color)
+ 37: 7(fvec4) Load 13(color2)
+ 38: 7(fvec4) FMul 36 37
+ Store 35(gl_FragColor) 38
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.for-complex-condition.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.for-complex-condition.vert.out
new file mode 100644
index 00000000000..fab7f3d9472
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.for-complex-condition.vert.out
@@ -0,0 +1,72 @@
+spv.for-complex-condition.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 35
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 18 31
+ Source GLSL 450
+ Name 4 "main"
+ Name 8 "i"
+ Name 18 "flag"
+ Name 31 "r"
+ Decorate 18(flag) Location 0
+ Decorate 31(r) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 17: TypePointer Input 6(int)
+ 18(flag): 17(ptr) Variable Input
+ 20: 6(int) Constant 1
+ 21: TypeBool
+ 25: 6(int) Constant 10
+ 27: 6(int) Constant 15
+ 30: TypePointer Output 6(int)
+ 31(r): 30(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ 16: 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ LoopMerge 12 13 None
+ Branch 14
+ 14: Label
+ 15: 6(int) Load 8(i)
+ 19: 6(int) Load 18(flag)
+ 22: 21(bool) IEqual 19 20
+ SelectionMerge 24 None
+ BranchConditional 22 23 26
+ 23: Label
+ Store 16 25
+ Branch 24
+ 26: Label
+ Store 16 27
+ Branch 24
+ 24: Label
+ 28: 6(int) Load 16
+ 29: 21(bool) SLessThan 15 28
+ BranchConditional 29 11 12
+ 11: Label
+ 32: 6(int) Load 8(i)
+ Store 31(r) 32
+ Branch 13
+ 13: Label
+ 33: 6(int) Load 8(i)
+ 34: 6(int) IAdd 33 20
+ Store 8(i) 34
+ Branch 10
+ 12: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.for-continue-break.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.for-continue-break.vert.out
new file mode 100644
index 00000000000..0ea2f143901
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.for-continue-break.vert.out
@@ -0,0 +1,87 @@
+spv.for-continue-break.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 45
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main"
+ Source ESSL 310
+ Name 4 "main"
+ Name 8 "i"
+ Name 19 "A"
+ Name 27 "B"
+ Name 29 "C"
+ Name 36 "D"
+ Name 38 "E"
+ Name 39 "F"
+ Name 43 "G"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 16: 6(int) Constant 10
+ 17: TypeBool
+ 20: 6(int) Constant 1
+ 22: 6(int) Constant 2
+ 31: 6(int) Constant 3
+ 40: 6(int) Constant 12
+ 44: 6(int) Constant 99
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ 19(A): 7(ptr) Variable Function
+ 27(B): 7(ptr) Variable Function
+ 29(C): 7(ptr) Variable Function
+ 36(D): 7(ptr) Variable Function
+ 38(E): 7(ptr) Variable Function
+ 39(F): 7(ptr) Variable Function
+ 43(G): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ LoopMerge 12 13 None
+ Branch 14
+ 14: Label
+ 15: 6(int) Load 8(i)
+ 18: 17(bool) SLessThan 15 16
+ BranchConditional 18 11 12
+ 11: Label
+ Store 19(A) 20
+ 21: 6(int) Load 8(i)
+ 23: 6(int) SMod 21 22
+ 24: 17(bool) IEqual 23 9
+ SelectionMerge 26 None
+ BranchConditional 24 25 26
+ 25: Label
+ Store 27(B) 20
+ Branch 13
+ 26: Label
+ 30: 6(int) Load 8(i)
+ 32: 6(int) SMod 30 31
+ 33: 17(bool) IEqual 32 9
+ SelectionMerge 35 None
+ BranchConditional 33 34 35
+ 34: Label
+ Store 36(D) 20
+ Branch 12
+ 35: Label
+ Store 39(F) 40
+ Branch 13
+ 13: Label
+ 41: 6(int) Load 8(i)
+ 42: 6(int) IAdd 41 20
+ Store 8(i) 42
+ Branch 10
+ 12: Label
+ Store 43(G) 44
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.for-nobody.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.for-nobody.vert.out
new file mode 100644
index 00000000000..a127b7099c1
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.for-nobody.vert.out
@@ -0,0 +1,54 @@
+spv.for-nobody.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 25
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 23
+ Source GLSL 450
+ Name 4 "main"
+ Name 8 "i"
+ Name 23 "r"
+ Decorate 23(r) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 16: 6(int) Constant 10
+ 17: TypeBool
+ 20: 6(int) Constant 1
+ 22: TypePointer Output 6(int)
+ 23(r): 22(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ LoopMerge 12 13 None
+ Branch 14
+ 14: Label
+ 15: 6(int) Load 8(i)
+ 18: 17(bool) SLessThan 15 16
+ BranchConditional 18 11 12
+ 11: Label
+ Branch 13
+ 13: Label
+ 19: 6(int) Load 8(i)
+ 21: 6(int) IAdd 19 20
+ Store 8(i) 21
+ Branch 10
+ 12: Label
+ 24: 6(int) Load 8(i)
+ Store 23(r) 24
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.for-notest.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.for-notest.vert.out
new file mode 100644
index 00000000000..67706701ea1
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.for-notest.vert.out
@@ -0,0 +1,48 @@
+spv.for-notest.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 20
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 15
+ Source GLSL 450
+ Name 4 "main"
+ Name 8 "i"
+ Name 15 "r"
+ Decorate 15(r) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 14: TypePointer Output 6(int)
+ 15(r): 14(ptr) Variable Output
+ 18: 6(int) Constant 1
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ LoopMerge 12 13 None
+ Branch 11
+ 11: Label
+ 16: 6(int) Load 8(i)
+ Store 15(r) 16
+ Branch 13
+ 13: Label
+ 17: 6(int) Load 8(i)
+ 19: 6(int) IAdd 17 18
+ Store 8(i) 19
+ Branch 10
+ 12: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.for-simple.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.for-simple.vert.out
new file mode 100755
index 00000000000..52a047ff099
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.for-simple.vert.out
@@ -0,0 +1,52 @@
+spv.for-simple.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 24
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main"
+ Source ESSL 310
+ Name 4 "main"
+ Name 8 "i"
+ Name 19 "j"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 16: 6(int) Constant 10
+ 17: TypeBool
+ 20: 6(int) Constant 12
+ 22: 6(int) Constant 1
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ 19(j): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ LoopMerge 12 13 None
+ Branch 14
+ 14: Label
+ 15: 6(int) Load 8(i)
+ 18: 17(bool) SLessThan 15 16
+ BranchConditional 18 11 12
+ 11: Label
+ Store 19(j) 20
+ Branch 13
+ 13: Label
+ 21: 6(int) Load 8(i)
+ 23: 6(int) IAdd 21 22
+ Store 8(i) 23
+ Branch 10
+ 12: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.forLoop.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.forLoop.frag.out
new file mode 100755
index 00000000000..e606f9ccb94
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.forLoop.frag.out
@@ -0,0 +1,215 @@
+spv.forLoop.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 131
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 11 24 28 36 53 104
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 15 "i"
+ Name 24 "Count"
+ Name 28 "bigColor"
+ Name 36 "gl_FragColor"
+ Name 39 "sum"
+ Name 41 "i"
+ Name 53 "v4"
+ Name 63 "i"
+ Name 71 "tv4"
+ Name 88 "r"
+ Name 94 "i"
+ Name 104 "f"
+ Name 117 "i"
+ Decorate 24(Count) Flat
+ Decorate 53(v4) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 13: TypeInt 32 1
+ 14: TypePointer Function 13(int)
+ 16: 13(int) Constant 0
+ 23: TypePointer Input 13(int)
+ 24(Count): 23(ptr) Variable Input
+ 26: TypeBool
+ 28(bigColor): 10(ptr) Variable Input
+ 33: 13(int) Constant 1
+ 35: TypePointer Output 7(fvec4)
+36(gl_FragColor): 35(ptr) Variable Output
+ 38: TypePointer Function 6(float)
+ 40: 6(float) Constant 0
+ 48: 13(int) Constant 4
+ 50: TypeInt 32 0
+ 51: TypeVector 50(int) 4
+ 52: TypePointer Input 51(ivec4)
+ 53(v4): 52(ptr) Variable Input
+ 55: TypePointer Input 50(int)
+ 76: 50(int) Constant 4
+ 89: TypeVector 6(float) 3
+ 103: TypePointer Input 6(float)
+ 104(f): 103(ptr) Variable Input
+ 106: 50(int) Constant 3
+ 124: 13(int) Constant 16
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(color): 8(ptr) Variable Function
+ 15(i): 14(ptr) Variable Function
+ 39(sum): 38(ptr) Variable Function
+ 41(i): 14(ptr) Variable Function
+ 63(i): 14(ptr) Variable Function
+ 71(tv4): 8(ptr) Variable Function
+ 88(r): 8(ptr) Variable Function
+ 94(i): 14(ptr) Variable Function
+ 117(i): 14(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ Store 15(i) 16
+ Branch 17
+ 17: Label
+ LoopMerge 19 20 None
+ Branch 21
+ 21: Label
+ 22: 13(int) Load 15(i)
+ 25: 13(int) Load 24(Count)
+ 27: 26(bool) SLessThan 22 25
+ BranchConditional 27 18 19
+ 18: Label
+ 29: 7(fvec4) Load 28(bigColor)
+ 30: 7(fvec4) Load 9(color)
+ 31: 7(fvec4) FAdd 30 29
+ Store 9(color) 31
+ Branch 20
+ 20: Label
+ 32: 13(int) Load 15(i)
+ 34: 13(int) IAdd 32 33
+ Store 15(i) 34
+ Branch 17
+ 19: Label
+ 37: 7(fvec4) Load 9(color)
+ Store 36(gl_FragColor) 37
+ Store 39(sum) 40
+ Store 41(i) 16
+ Branch 42
+ 42: Label
+ LoopMerge 44 45 None
+ Branch 46
+ 46: Label
+ 47: 13(int) Load 41(i)
+ 49: 26(bool) SLessThan 47 48
+ BranchConditional 49 43 44
+ 43: Label
+ 54: 13(int) Load 41(i)
+ 56: 55(ptr) AccessChain 53(v4) 54
+ 57: 50(int) Load 56
+ 58: 6(float) ConvertUToF 57
+ 59: 6(float) Load 39(sum)
+ 60: 6(float) FAdd 59 58
+ Store 39(sum) 60
+ Branch 45
+ 45: Label
+ 61: 13(int) Load 41(i)
+ 62: 13(int) IAdd 61 33
+ Store 41(i) 62
+ Branch 42
+ 44: Label
+ Store 63(i) 16
+ Branch 64
+ 64: Label
+ LoopMerge 66 67 None
+ Branch 68
+ 68: Label
+ 69: 13(int) Load 63(i)
+ 70: 26(bool) SLessThan 69 48
+ BranchConditional 70 65 66
+ 65: Label
+ 72: 13(int) Load 63(i)
+ 73: 13(int) Load 63(i)
+ 74: 55(ptr) AccessChain 53(v4) 73
+ 75: 50(int) Load 74
+ 77: 50(int) IMul 75 76
+ 78: 6(float) ConvertUToF 77
+ 79: 38(ptr) AccessChain 71(tv4) 72
+ Store 79 78
+ Branch 67
+ 67: Label
+ 80: 13(int) Load 63(i)
+ 81: 13(int) IAdd 80 33
+ Store 63(i) 81
+ Branch 64
+ 66: Label
+ 82: 6(float) Load 39(sum)
+ 83: 7(fvec4) CompositeConstruct 82 82 82 82
+ 84: 7(fvec4) Load 71(tv4)
+ 85: 7(fvec4) FAdd 83 84
+ 86: 7(fvec4) Load 36(gl_FragColor)
+ 87: 7(fvec4) FAdd 86 85
+ Store 36(gl_FragColor) 87
+ 90: 7(fvec4) Load 11(BaseColor)
+ 91: 89(fvec3) VectorShuffle 90 90 0 1 2
+ 92: 7(fvec4) Load 88(r)
+ 93: 7(fvec4) VectorShuffle 92 91 4 5 6 3
+ Store 88(r) 93
+ Store 94(i) 16
+ Branch 95
+ 95: Label
+ LoopMerge 97 98 None
+ Branch 99
+ 99: Label
+ 100: 13(int) Load 94(i)
+ 101: 13(int) Load 24(Count)
+ 102: 26(bool) SLessThan 100 101
+ BranchConditional 102 96 97
+ 96: Label
+ 105: 6(float) Load 104(f)
+ 107: 38(ptr) AccessChain 88(r) 106
+ Store 107 105
+ Branch 98
+ 98: Label
+ 108: 13(int) Load 94(i)
+ 109: 13(int) IAdd 108 33
+ Store 94(i) 109
+ Branch 95
+ 97: Label
+ 110: 7(fvec4) Load 88(r)
+ 111: 89(fvec3) VectorShuffle 110 110 0 1 2
+ 112: 7(fvec4) Load 36(gl_FragColor)
+ 113: 89(fvec3) VectorShuffle 112 112 0 1 2
+ 114: 89(fvec3) FAdd 113 111
+ 115: 7(fvec4) Load 36(gl_FragColor)
+ 116: 7(fvec4) VectorShuffle 115 114 4 5 6 3
+ Store 36(gl_FragColor) 116
+ Store 117(i) 16
+ Branch 118
+ 118: Label
+ LoopMerge 120 121 None
+ Branch 122
+ 122: Label
+ 123: 13(int) Load 117(i)
+ 125: 26(bool) SLessThan 123 124
+ BranchConditional 125 119 120
+ 119: Label
+ 126: 6(float) Load 104(f)
+ 127: 7(fvec4) Load 36(gl_FragColor)
+ 128: 7(fvec4) VectorTimesScalar 127 126
+ Store 36(gl_FragColor) 128
+ Branch 121
+ 121: Label
+ 129: 13(int) Load 117(i)
+ 130: 13(int) IAdd 129 48
+ Store 117(i) 130
+ Branch 118
+ 120: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.forwardFun.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.forwardFun.frag.out
new file mode 100755
index 00000000000..346523cbce9
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.forwardFun.frag.out
@@ -0,0 +1,97 @@
+spv.forwardFun.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 60
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 20 30 36 59
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 6 "bar("
+ Name 10 "unreachableReturn("
+ Name 16 "foo(vf4;"
+ Name 15 "bar"
+ Name 18 "color"
+ Name 20 "BaseColor"
+ Name 21 "param"
+ Name 27 "f"
+ Name 30 "gl_FragColor"
+ Name 36 "d"
+ Name 59 "bigColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 8: TypeFloat 32
+ 9: TypeFunction 8(float)
+ 12: TypeVector 8(float) 4
+ 13: TypePointer Function 12(fvec4)
+ 14: TypeFunction 8(float) 13(ptr)
+ 19: TypePointer Input 12(fvec4)
+ 20(BaseColor): 19(ptr) Variable Input
+ 26: TypePointer Function 8(float)
+ 29: TypePointer Output 12(fvec4)
+30(gl_FragColor): 29(ptr) Variable Output
+ 35: TypePointer Input 8(float)
+ 36(d): 35(ptr) Variable Input
+ 38: 8(float) Constant 1082549862
+ 39: TypeBool
+ 43: 8(float) Constant 1067030938
+ 46: 8(float) Constant 1083179008
+ 49: TypeInt 32 0
+ 50: 49(int) Constant 0
+ 53: 49(int) Constant 1
+ 59(bigColor): 19(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 18(color): 13(ptr) Variable Function
+ 21(param): 13(ptr) Variable Function
+ 27(f): 26(ptr) Variable Function
+ 22: 12(fvec4) Load 20(BaseColor)
+ Store 21(param) 22
+ 23: 8(float) FunctionCall 16(foo(vf4;) 21(param)
+ 24: 12(fvec4) CompositeConstruct 23 23 23 23
+ Store 18(color) 24
+ 25: 2 FunctionCall 6(bar()
+ 28: 8(float) FunctionCall 10(unreachableReturn()
+ Store 27(f) 28
+ 31: 12(fvec4) Load 18(color)
+ 32: 8(float) Load 27(f)
+ 33: 12(fvec4) VectorTimesScalar 31 32
+ Store 30(gl_FragColor) 33
+ Return
+ FunctionEnd
+ 6(bar(): 2 Function None 3
+ 7: Label
+ Return
+ FunctionEnd
+10(unreachableReturn(): 8(float) Function None 9
+ 11: Label
+ 34: 2 FunctionCall 6(bar()
+ 37: 8(float) Load 36(d)
+ 40: 39(bool) FOrdLessThan 37 38
+ SelectionMerge 42 None
+ BranchConditional 40 41 45
+ 41: Label
+ ReturnValue 43
+ 45: Label
+ ReturnValue 46
+ 42: Label
+ 48: 8(float) Undef
+ ReturnValue 48
+ FunctionEnd
+ 16(foo(vf4;): 8(float) Function None 14
+ 15(bar): 13(ptr) FunctionParameter
+ 17: Label
+ 51: 26(ptr) AccessChain 15(bar) 50
+ 52: 8(float) Load 51
+ 54: 26(ptr) AccessChain 15(bar) 53
+ 55: 8(float) Load 54
+ 56: 8(float) FAdd 52 55
+ ReturnValue 56
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.functionCall.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.functionCall.frag.out
new file mode 100755
index 00000000000..db40dd51ae4
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.functionCall.frag.out
@@ -0,0 +1,127 @@
+spv.functionCall.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:5: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 76
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 35 58 69 75
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 11 "foo(vf4;"
+ Name 10 "bar"
+ Name 13 "bar("
+ Name 16 "unreachableReturn("
+ Name 18 "missingReturn("
+ Name 21 "h"
+ Name 35 "d"
+ Name 56 "color"
+ Name 58 "BaseColor"
+ Name 59 "param"
+ Name 64 "f"
+ Name 66 "g"
+ Name 69 "gl_FragColor"
+ Name 75 "bigColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 9: TypeFunction 6(float) 8(ptr)
+ 15: TypeFunction 6(float)
+ 20: TypePointer Private 6(float)
+ 21(h): 20(ptr) Variable Private
+ 22: 6(float) Constant 0
+ 23: TypeInt 32 0
+ 24: 23(int) Constant 0
+ 25: TypePointer Function 6(float)
+ 28: 23(int) Constant 1
+ 34: TypePointer Input 6(float)
+ 35(d): 34(ptr) Variable Input
+ 37: 6(float) Constant 1082549862
+ 38: TypeBool
+ 42: 6(float) Constant 1067030938
+ 45: 6(float) Constant 1083179008
+ 53: 6(float) Constant 1081711002
+ 57: TypePointer Input 7(fvec4)
+ 58(BaseColor): 57(ptr) Variable Input
+ 68: TypePointer Output 7(fvec4)
+69(gl_FragColor): 68(ptr) Variable Output
+ 75(bigColor): 57(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 56(color): 8(ptr) Variable Function
+ 59(param): 8(ptr) Variable Function
+ 64(f): 25(ptr) Variable Function
+ 66(g): 25(ptr) Variable Function
+ Store 21(h) 22
+ 60: 7(fvec4) Load 58(BaseColor)
+ Store 59(param) 60
+ 61: 6(float) FunctionCall 11(foo(vf4;) 59(param)
+ 62: 7(fvec4) CompositeConstruct 61 61 61 61
+ Store 56(color) 62
+ 63: 2 FunctionCall 13(bar()
+ 65: 6(float) FunctionCall 16(unreachableReturn()
+ Store 64(f) 65
+ 67: 6(float) FunctionCall 18(missingReturn()
+ Store 66(g) 67
+ 70: 7(fvec4) Load 56(color)
+ 71: 6(float) Load 64(f)
+ 72: 7(fvec4) VectorTimesScalar 70 71
+ 73: 6(float) Load 21(h)
+ 74: 7(fvec4) VectorTimesScalar 72 73
+ Store 69(gl_FragColor) 74
+ Return
+ FunctionEnd
+ 11(foo(vf4;): 6(float) Function None 9
+ 10(bar): 8(ptr) FunctionParameter
+ 12: Label
+ 26: 25(ptr) AccessChain 10(bar) 24
+ 27: 6(float) Load 26
+ 29: 25(ptr) AccessChain 10(bar) 28
+ 30: 6(float) Load 29
+ 31: 6(float) FAdd 27 30
+ ReturnValue 31
+ FunctionEnd
+ 13(bar(): 2 Function None 3
+ 14: Label
+ Return
+ FunctionEnd
+16(unreachableReturn(): 6(float) Function None 15
+ 17: Label
+ 36: 6(float) Load 35(d)
+ 39: 38(bool) FOrdLessThan 36 37
+ SelectionMerge 41 None
+ BranchConditional 39 40 44
+ 40: Label
+ ReturnValue 42
+ 44: Label
+ ReturnValue 45
+ 41: Label
+ 47: 6(float) Undef
+ ReturnValue 47
+ FunctionEnd
+18(missingReturn(): 6(float) Function None 15
+ 19: Label
+ 48: 6(float) Load 35(d)
+ 49: 38(bool) FOrdLessThan 48 45
+ SelectionMerge 51 None
+ BranchConditional 49 50 51
+ 50: Label
+ 52: 6(float) Load 35(d)
+ Store 21(h) 52
+ ReturnValue 53
+ 51: Label
+ 55: 6(float) Undef
+ ReturnValue 55
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.functionSemantics.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.functionSemantics.frag.out
new file mode 100755
index 00000000000..aa2abd847c1
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.functionSemantics.frag.out
@@ -0,0 +1,232 @@
+spv.functionSemantics.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 156
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 76 152
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 400
+ Name 4 "main"
+ Name 15 "foo(i1;i1;i1;i1;i1;i1;"
+ Name 9 "a"
+ Name 10 "b"
+ Name 11 "c"
+ Name 12 "d"
+ Name 13 "e"
+ Name 14 "f"
+ Name 25 "foo2(f1;vf3;i1;"
+ Name 22 "a"
+ Name 23 "b"
+ Name 24 "r"
+ Name 28 "foo3("
+ Name 30 "sum"
+ Name 76 "u"
+ Name 89 "t"
+ Name 92 "s"
+ MemberName 92(s) 0 "t"
+ Name 94 "f"
+ Name 98 "color"
+ Name 104 "e"
+ Name 105 "param"
+ Name 106 "param"
+ Name 107 "param"
+ Name 108 "param"
+ Name 123 "ret"
+ Name 125 "tempReturn"
+ Name 130 "tempArg"
+ Name 131 "param"
+ Name 132 "param"
+ Name 133 "param"
+ Name 136 "arg"
+ Name 152 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 8: TypeFunction 6(int) 7(ptr) 6(int) 7(ptr) 6(int) 7(ptr) 7(ptr)
+ 17: TypeFloat 32
+ 18: TypePointer Function 17(float)
+ 19: TypeVector 17(float) 3
+ 20: TypePointer Function 19(fvec3)
+ 21: TypeFunction 6(int) 18(ptr) 20(ptr) 7(ptr)
+ 27: TypeFunction 6(int)
+ 38: 6(int) Constant 64
+ 43: 6(int) Constant 1024
+ 62: 17(float) Constant 1077936128
+ 66: 17(float) Constant 1084227584
+ 67: TypeInt 32 0
+ 68: 67(int) Constant 1
+ 75: TypePointer Input 17(float)
+ 76(u): 75(ptr) Variable Input
+ 78: 17(float) Constant 1078774989
+ 79: TypeBool
+ 84: 6(int) Constant 1000000
+ 86: 6(int) Constant 2000000
+ 90: 6(int) Constant 2
+ 91: TypeVector 6(int) 4
+ 92(s): TypeStruct 91(ivec4)
+ 93: TypePointer Function 92(s)
+ 95: 6(int) Constant 0
+ 96: 6(int) Constant 32
+ 99: 6(int) Constant 1
+ 103: 6(int) Constant 8
+ 115: 6(int) Constant 128
+ 124: TypePointer Private 6(int)
+ 125(tempReturn): 124(ptr) Variable Private
+ 126: 17(float) Constant 1082130432
+ 127: 17(float) Constant 1065353216
+ 128: 17(float) Constant 1073741824
+ 129: 19(fvec3) ConstantComposite 127 128 62
+ 150: TypeVector 17(float) 4
+ 151: TypePointer Output 150(fvec4)
+152(gl_FragColor): 151(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 89(t): 7(ptr) Variable Function
+ 94(f): 93(ptr) Variable Function
+ 98(color): 7(ptr) Variable Function
+ 104(e): 7(ptr) Variable Function
+ 105(param): 7(ptr) Variable Function
+ 106(param): 7(ptr) Variable Function
+ 107(param): 7(ptr) Variable Function
+ 108(param): 7(ptr) Variable Function
+ 123(ret): 18(ptr) Variable Function
+ 130(tempArg): 7(ptr) Variable Function
+ 131(param): 18(ptr) Variable Function
+ 132(param): 20(ptr) Variable Function
+ 133(param): 7(ptr) Variable Function
+ 136(arg): 18(ptr) Variable Function
+ Store 89(t) 90
+ 97: 7(ptr) AccessChain 94(f) 95 68
+ Store 97 96
+ 100: 6(int) Load 89(t)
+ 101: 6(int) Load 89(t)
+ 102: 6(int) IAdd 100 101
+ Store 105(param) 99
+ Store 106(param) 102
+ 109: 7(ptr) AccessChain 94(f) 95 68
+ 110: 6(int) Load 109
+ Store 108(param) 110
+ 111: 6(int) FunctionCall 15(foo(i1;i1;i1;i1;i1;i1;) 105(param) 90 106(param) 103 107(param) 108(param)
+ 112: 6(int) Load 107(param)
+ Store 104(e) 112
+ 113: 6(int) Load 108(param)
+ 114: 7(ptr) AccessChain 94(f) 95 68
+ Store 114 113
+ Store 98(color) 111
+ 116: 6(int) Load 104(e)
+ 117: 7(ptr) AccessChain 94(f) 95 68
+ 118: 6(int) Load 117
+ 119: 6(int) IAdd 116 118
+ 120: 6(int) IMul 115 119
+ 121: 6(int) Load 98(color)
+ 122: 6(int) IAdd 121 120
+ Store 98(color) 122
+ Store 131(param) 126
+ Store 132(param) 129
+ 134: 6(int) FunctionCall 25(foo2(f1;vf3;i1;) 131(param) 132(param) 133(param)
+ 135: 6(int) Load 133(param)
+ Store 130(tempArg) 135
+ Store 125(tempReturn) 134
+ 137: 6(int) Load 130(tempArg)
+ 138: 17(float) ConvertSToF 137
+ Store 136(arg) 138
+ 139: 6(int) Load 125(tempReturn)
+ 140: 17(float) ConvertSToF 139
+ Store 123(ret) 140
+ 141: 17(float) Load 123(ret)
+ 142: 17(float) Load 136(arg)
+ 143: 17(float) FAdd 141 142
+ 144: 6(int) ConvertFToS 143
+ 145: 6(int) Load 98(color)
+ 146: 6(int) IAdd 145 144
+ Store 98(color) 146
+ 147: 6(int) FunctionCall 28(foo3()
+ 148: 6(int) Load 98(color)
+ 149: 6(int) IAdd 148 147
+ Store 98(color) 149
+ 153: 6(int) Load 98(color)
+ 154: 17(float) ConvertSToF 153
+ 155: 150(fvec4) CompositeConstruct 154 154 154 154
+ Store 152(gl_FragColor) 155
+ Return
+ FunctionEnd
+15(foo(i1;i1;i1;i1;i1;i1;): 6(int) Function None 8
+ 9(a): 7(ptr) FunctionParameter
+ 10(b): 6(int) FunctionParameter
+ 11(c): 7(ptr) FunctionParameter
+ 12(d): 6(int) FunctionParameter
+ 13(e): 7(ptr) FunctionParameter
+ 14(f): 7(ptr) FunctionParameter
+ 16: Label
+ 30(sum): 7(ptr) Variable Function
+ 31: 6(int) Load 9(a)
+ 32: 6(int) IAdd 31 10(b)
+ 33: 6(int) Load 11(c)
+ 34: 6(int) IAdd 32 33
+ 35: 6(int) IAdd 34 12(d)
+ 36: 6(int) Load 14(f)
+ 37: 6(int) IAdd 35 36
+ Store 30(sum) 37
+ 39: 6(int) Load 9(a)
+ 40: 6(int) IMul 39 38
+ Store 9(a) 40
+ 41: 6(int) Load 11(c)
+ 42: 6(int) IMul 41 38
+ Store 11(c) 42
+ Store 13(e) 43
+ 44: 6(int) Load 14(f)
+ 45: 6(int) IMul 44 38
+ Store 14(f) 45
+ 46: 6(int) Load 9(a)
+ 47: 6(int) IMul 38 10(b)
+ 48: 6(int) IAdd 46 47
+ 49: 6(int) Load 11(c)
+ 50: 6(int) IAdd 48 49
+ 51: 6(int) IMul 38 12(d)
+ 52: 6(int) IAdd 50 51
+ 53: 6(int) Load 13(e)
+ 54: 6(int) IAdd 52 53
+ 55: 6(int) Load 14(f)
+ 56: 6(int) IAdd 54 55
+ 57: 6(int) Load 30(sum)
+ 58: 6(int) IAdd 57 56
+ Store 30(sum) 58
+ 59: 6(int) Load 30(sum)
+ ReturnValue 59
+ FunctionEnd
+25(foo2(f1;vf3;i1;): 6(int) Function None 21
+ 22(a): 18(ptr) FunctionParameter
+ 23(b): 20(ptr) FunctionParameter
+ 24(r): 7(ptr) FunctionParameter
+ 26: Label
+ 63: 17(float) Load 22(a)
+ 64: 17(float) FMul 62 63
+ 65: 6(int) ConvertFToS 64
+ Store 24(r) 65
+ 69: 18(ptr) AccessChain 23(b) 68
+ 70: 17(float) Load 69
+ 71: 17(float) FMul 66 70
+ 72: 6(int) ConvertFToS 71
+ ReturnValue 72
+ FunctionEnd
+ 28(foo3(): 6(int) Function None 27
+ 29: Label
+ 77: 17(float) Load 76(u)
+ 80: 79(bool) FOrdGreaterThan 77 78
+ SelectionMerge 82 None
+ BranchConditional 80 81 82
+ 81: Label
+ Kill
+ 82: Label
+ ReturnValue 86
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.image.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.image.frag.out
new file mode 100644
index 00000000000..2bd26f79bbb
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.image.frag.out
@@ -0,0 +1,523 @@
+spv.image.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 378
+
+ Capability Shader
+ Capability SampledRect
+ Capability Sampled1D
+ Capability SampledCubeArray
+ Capability SampledBuffer
+ Capability ImageMSArray
+ Capability StorageImageExtendedFormats
+ Capability ImageQuery
+ Capability StorageImageWriteWithoutFormat
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 132 142 152 248 362 377
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ Name 4 "main"
+ Name 9 "iv"
+ Name 15 "i1D"
+ Name 27 "i2D"
+ Name 38 "i3D"
+ Name 45 "iCube"
+ Name 55 "iCubeArray"
+ Name 62 "i2DRect"
+ Name 72 "i1DArray"
+ Name 82 "i2DArray"
+ Name 89 "iBuffer"
+ Name 98 "i2DMS"
+ Name 108 "i2DMSArray"
+ Name 127 "v"
+ Name 132 "ic1D"
+ Name 142 "ic2D"
+ Name 152 "ic3D"
+ Name 229 "ui"
+ Name 232 "ii1D"
+ Name 245 "ui2D"
+ Name 248 "value"
+ Name 357 "wo2D"
+ Name 362 "fragData"
+ Name 377 "ic4D"
+ Decorate 15(i1D) DescriptorSet 0
+ Decorate 15(i1D) Binding 0
+ Decorate 27(i2D) DescriptorSet 0
+ Decorate 27(i2D) Binding 1
+ Decorate 38(i3D) DescriptorSet 0
+ Decorate 38(i3D) Binding 2
+ Decorate 45(iCube) DescriptorSet 0
+ Decorate 45(iCube) Binding 3
+ Decorate 55(iCubeArray) DescriptorSet 0
+ Decorate 55(iCubeArray) Binding 4
+ Decorate 62(i2DRect) DescriptorSet 0
+ Decorate 62(i2DRect) Binding 5
+ Decorate 72(i1DArray) DescriptorSet 0
+ Decorate 72(i1DArray) Binding 6
+ Decorate 82(i2DArray) DescriptorSet 0
+ Decorate 82(i2DArray) Binding 7
+ Decorate 89(iBuffer) DescriptorSet 0
+ Decorate 89(iBuffer) Binding 8
+ Decorate 98(i2DMS) DescriptorSet 0
+ Decorate 98(i2DMS) Binding 9
+ Decorate 108(i2DMSArray) DescriptorSet 0
+ Decorate 108(i2DMSArray) Binding 10
+ Decorate 132(ic1D) Flat
+ Decorate 142(ic2D) Flat
+ Decorate 152(ic3D) Flat
+ Decorate 232(ii1D) DescriptorSet 0
+ Decorate 232(ii1D) Binding 11
+ Decorate 245(ui2D) DescriptorSet 0
+ Decorate 245(ui2D) Binding 12
+ Decorate 248(value) Flat
+ Decorate 357(wo2D) DescriptorSet 0
+ Decorate 357(wo2D) Binding 1
+ Decorate 357(wo2D) NonReadable
+ Decorate 377(ic4D) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeVector 6(int) 3
+ 8: TypePointer Function 7(ivec3)
+ 10: 6(int) Constant 0
+ 11: 7(ivec3) ConstantComposite 10 10 10
+ 12: TypeFloat 32
+ 13: TypeImage 12(float) 1D nonsampled format:Rgba32f
+ 14: TypePointer UniformConstant 13
+ 15(i1D): 14(ptr) Variable UniformConstant
+ 18: TypeInt 32 0
+ 19: 18(int) Constant 0
+ 20: TypePointer Function 6(int)
+ 25: TypeImage 12(float) 2D nonsampled format:Rgba32f
+ 26: TypePointer UniformConstant 25
+ 27(i2D): 26(ptr) Variable UniformConstant
+ 29: TypeVector 6(int) 2
+ 36: TypeImage 12(float) 3D nonsampled format:Rgba32f
+ 37: TypePointer UniformConstant 36
+ 38(i3D): 37(ptr) Variable UniformConstant
+ 43: TypeImage 12(float) Cube nonsampled format:Rgba32f
+ 44: TypePointer UniformConstant 43
+ 45(iCube): 44(ptr) Variable UniformConstant
+ 53: TypeImage 12(float) Cube array nonsampled format:Rgba32f
+ 54: TypePointer UniformConstant 53
+ 55(iCubeArray): 54(ptr) Variable UniformConstant
+ 60: TypeImage 12(float) Rect nonsampled format:Rgba32f
+ 61: TypePointer UniformConstant 60
+ 62(i2DRect): 61(ptr) Variable UniformConstant
+ 70: TypeImage 12(float) 1D array nonsampled format:Rgba32f
+ 71: TypePointer UniformConstant 70
+ 72(i1DArray): 71(ptr) Variable UniformConstant
+ 80: TypeImage 12(float) 2D array nonsampled format:Rg16
+ 81: TypePointer UniformConstant 80
+ 82(i2DArray): 81(ptr) Variable UniformConstant
+ 87: TypeImage 12(float) Buffer nonsampled format:Rgba32f
+ 88: TypePointer UniformConstant 87
+ 89(iBuffer): 88(ptr) Variable UniformConstant
+ 96: TypeImage 12(float) 2D multi-sampled nonsampled format:Rgba32f
+ 97: TypePointer UniformConstant 96
+ 98(i2DMS): 97(ptr) Variable UniformConstant
+ 106: TypeImage 12(float) 2D array multi-sampled nonsampled format:Rgba32f
+ 107: TypePointer UniformConstant 106
+ 108(i2DMSArray): 107(ptr) Variable UniformConstant
+ 125: TypeVector 12(float) 4
+ 126: TypePointer Function 125(fvec4)
+ 128: 12(float) Constant 0
+ 129: 125(fvec4) ConstantComposite 128 128 128 128
+ 131: TypePointer Input 6(int)
+ 132(ic1D): 131(ptr) Variable Input
+ 141: TypePointer Input 29(ivec2)
+ 142(ic2D): 141(ptr) Variable Input
+ 151: TypePointer Input 7(ivec3)
+ 152(ic3D): 151(ptr) Variable Input
+ 210: 6(int) Constant 1
+ 216: 6(int) Constant 2
+ 220: 6(int) Constant 3
+ 226: 6(int) Constant 4
+ 228: TypePointer Function 18(int)
+ 230: TypeImage 6(int) 1D nonsampled format:R32i
+ 231: TypePointer UniformConstant 230
+ 232(ii1D): 231(ptr) Variable UniformConstant
+ 234: 6(int) Constant 10
+ 235: TypePointer Image 6(int)
+ 237: 18(int) Constant 1
+ 243: TypeImage 18(int) 2D nonsampled format:R32ui
+ 244: TypePointer UniformConstant 243
+ 245(ui2D): 244(ptr) Variable UniformConstant
+ 247: TypePointer Input 18(int)
+ 248(value): 247(ptr) Variable Input
+ 250: TypePointer Image 18(int)
+ 256: 6(int) Constant 11
+ 270: 6(int) Constant 12
+ 284: 6(int) Constant 13
+ 298: 6(int) Constant 14
+ 312: 6(int) Constant 15
+ 326: 6(int) Constant 16
+ 340: 6(int) Constant 18
+ 341: 6(int) Constant 17
+ 349: 18(int) Constant 19
+ 355: TypeImage 12(float) 2D nonsampled format:Unknown
+ 356: TypePointer UniformConstant 355
+ 357(wo2D): 356(ptr) Variable UniformConstant
+ 361: TypePointer Output 125(fvec4)
+ 362(fragData): 361(ptr) Variable Output
+ 368: TypeBool
+ 375: TypeVector 6(int) 4
+ 376: TypePointer Input 375(ivec4)
+ 377(ic4D): 376(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(iv): 8(ptr) Variable Function
+ 127(v): 126(ptr) Variable Function
+ 229(ui): 228(ptr) Variable Function
+ 363: 126(ptr) Variable Function
+ Store 9(iv) 11
+ 16: 13 Load 15(i1D)
+ 17: 6(int) ImageQuerySize 16
+ 21: 20(ptr) AccessChain 9(iv) 19
+ 22: 6(int) Load 21
+ 23: 6(int) IAdd 22 17
+ 24: 20(ptr) AccessChain 9(iv) 19
+ Store 24 23
+ 28: 25 Load 27(i2D)
+ 30: 29(ivec2) ImageQuerySize 28
+ 31: 7(ivec3) Load 9(iv)
+ 32: 29(ivec2) VectorShuffle 31 31 0 1
+ 33: 29(ivec2) IAdd 32 30
+ 34: 7(ivec3) Load 9(iv)
+ 35: 7(ivec3) VectorShuffle 34 33 3 4 2
+ Store 9(iv) 35
+ 39: 36 Load 38(i3D)
+ 40: 7(ivec3) ImageQuerySize 39
+ 41: 7(ivec3) Load 9(iv)
+ 42: 7(ivec3) IAdd 41 40
+ Store 9(iv) 42
+ 46: 43 Load 45(iCube)
+ 47: 29(ivec2) ImageQuerySize 46
+ 48: 7(ivec3) Load 9(iv)
+ 49: 29(ivec2) VectorShuffle 48 48 0 1
+ 50: 29(ivec2) IAdd 49 47
+ 51: 7(ivec3) Load 9(iv)
+ 52: 7(ivec3) VectorShuffle 51 50 3 4 2
+ Store 9(iv) 52
+ 56: 53 Load 55(iCubeArray)
+ 57: 7(ivec3) ImageQuerySize 56
+ 58: 7(ivec3) Load 9(iv)
+ 59: 7(ivec3) IAdd 58 57
+ Store 9(iv) 59
+ 63: 60 Load 62(i2DRect)
+ 64: 29(ivec2) ImageQuerySize 63
+ 65: 7(ivec3) Load 9(iv)
+ 66: 29(ivec2) VectorShuffle 65 65 0 1
+ 67: 29(ivec2) IAdd 66 64
+ 68: 7(ivec3) Load 9(iv)
+ 69: 7(ivec3) VectorShuffle 68 67 3 4 2
+ Store 9(iv) 69
+ 73: 70 Load 72(i1DArray)
+ 74: 29(ivec2) ImageQuerySize 73
+ 75: 7(ivec3) Load 9(iv)
+ 76: 29(ivec2) VectorShuffle 75 75 0 1
+ 77: 29(ivec2) IAdd 76 74
+ 78: 7(ivec3) Load 9(iv)
+ 79: 7(ivec3) VectorShuffle 78 77 3 4 2
+ Store 9(iv) 79
+ 83: 80 Load 82(i2DArray)
+ 84: 7(ivec3) ImageQuerySize 83
+ 85: 7(ivec3) Load 9(iv)
+ 86: 7(ivec3) IAdd 85 84
+ Store 9(iv) 86
+ 90: 87 Load 89(iBuffer)
+ 91: 6(int) ImageQuerySize 90
+ 92: 20(ptr) AccessChain 9(iv) 19
+ 93: 6(int) Load 92
+ 94: 6(int) IAdd 93 91
+ 95: 20(ptr) AccessChain 9(iv) 19
+ Store 95 94
+ 99: 96 Load 98(i2DMS)
+ 100: 29(ivec2) ImageQuerySize 99
+ 101: 7(ivec3) Load 9(iv)
+ 102: 29(ivec2) VectorShuffle 101 101 0 1
+ 103: 29(ivec2) IAdd 102 100
+ 104: 7(ivec3) Load 9(iv)
+ 105: 7(ivec3) VectorShuffle 104 103 3 4 2
+ Store 9(iv) 105
+ 109: 106 Load 108(i2DMSArray)
+ 110: 7(ivec3) ImageQuerySize 109
+ 111: 7(ivec3) Load 9(iv)
+ 112: 7(ivec3) IAdd 111 110
+ Store 9(iv) 112
+ 113: 96 Load 98(i2DMS)
+ 114: 6(int) ImageQuerySamples 113
+ 115: 20(ptr) AccessChain 9(iv) 19
+ 116: 6(int) Load 115
+ 117: 6(int) IAdd 116 114
+ 118: 20(ptr) AccessChain 9(iv) 19
+ Store 118 117
+ 119: 106 Load 108(i2DMSArray)
+ 120: 6(int) ImageQuerySamples 119
+ 121: 20(ptr) AccessChain 9(iv) 19
+ 122: 6(int) Load 121
+ 123: 6(int) IAdd 122 120
+ 124: 20(ptr) AccessChain 9(iv) 19
+ Store 124 123
+ Store 127(v) 129
+ 130: 13 Load 15(i1D)
+ 133: 6(int) Load 132(ic1D)
+ 134: 125(fvec4) ImageRead 130 133
+ 135: 125(fvec4) Load 127(v)
+ 136: 125(fvec4) FAdd 135 134
+ Store 127(v) 136
+ 137: 13 Load 15(i1D)
+ 138: 6(int) Load 132(ic1D)
+ 139: 125(fvec4) Load 127(v)
+ ImageWrite 137 138 139
+ 140: 25 Load 27(i2D)
+ 143: 29(ivec2) Load 142(ic2D)
+ 144: 125(fvec4) ImageRead 140 143
+ 145: 125(fvec4) Load 127(v)
+ 146: 125(fvec4) FAdd 145 144
+ Store 127(v) 146
+ 147: 25 Load 27(i2D)
+ 148: 29(ivec2) Load 142(ic2D)
+ 149: 125(fvec4) Load 127(v)
+ ImageWrite 147 148 149
+ 150: 36 Load 38(i3D)
+ 153: 7(ivec3) Load 152(ic3D)
+ 154: 125(fvec4) ImageRead 150 153
+ 155: 125(fvec4) Load 127(v)
+ 156: 125(fvec4) FAdd 155 154
+ Store 127(v) 156
+ 157: 36 Load 38(i3D)
+ 158: 7(ivec3) Load 152(ic3D)
+ 159: 125(fvec4) Load 127(v)
+ ImageWrite 157 158 159
+ 160: 43 Load 45(iCube)
+ 161: 7(ivec3) Load 152(ic3D)
+ 162: 125(fvec4) ImageRead 160 161
+ 163: 125(fvec4) Load 127(v)
+ 164: 125(fvec4) FAdd 163 162
+ Store 127(v) 164
+ 165: 43 Load 45(iCube)
+ 166: 7(ivec3) Load 152(ic3D)
+ 167: 125(fvec4) Load 127(v)
+ ImageWrite 165 166 167
+ 168: 53 Load 55(iCubeArray)
+ 169: 7(ivec3) Load 152(ic3D)
+ 170: 125(fvec4) ImageRead 168 169
+ 171: 125(fvec4) Load 127(v)
+ 172: 125(fvec4) FAdd 171 170
+ Store 127(v) 172
+ 173: 53 Load 55(iCubeArray)
+ 174: 7(ivec3) Load 152(ic3D)
+ 175: 125(fvec4) Load 127(v)
+ ImageWrite 173 174 175
+ 176: 60 Load 62(i2DRect)
+ 177: 29(ivec2) Load 142(ic2D)
+ 178: 125(fvec4) ImageRead 176 177
+ 179: 125(fvec4) Load 127(v)
+ 180: 125(fvec4) FAdd 179 178
+ Store 127(v) 180
+ 181: 60 Load 62(i2DRect)
+ 182: 29(ivec2) Load 142(ic2D)
+ 183: 125(fvec4) Load 127(v)
+ ImageWrite 181 182 183
+ 184: 70 Load 72(i1DArray)
+ 185: 29(ivec2) Load 142(ic2D)
+ 186: 125(fvec4) ImageRead 184 185
+ 187: 125(fvec4) Load 127(v)
+ 188: 125(fvec4) FAdd 187 186
+ Store 127(v) 188
+ 189: 70 Load 72(i1DArray)
+ 190: 29(ivec2) Load 142(ic2D)
+ 191: 125(fvec4) Load 127(v)
+ ImageWrite 189 190 191
+ 192: 80 Load 82(i2DArray)
+ 193: 7(ivec3) Load 152(ic3D)
+ 194: 125(fvec4) ImageRead 192 193
+ 195: 125(fvec4) Load 127(v)
+ 196: 125(fvec4) FAdd 195 194
+ Store 127(v) 196
+ 197: 80 Load 82(i2DArray)
+ 198: 7(ivec3) Load 152(ic3D)
+ 199: 125(fvec4) Load 127(v)
+ ImageWrite 197 198 199
+ 200: 87 Load 89(iBuffer)
+ 201: 6(int) Load 132(ic1D)
+ 202: 125(fvec4) ImageRead 200 201
+ 203: 125(fvec4) Load 127(v)
+ 204: 125(fvec4) FAdd 203 202
+ Store 127(v) 204
+ 205: 87 Load 89(iBuffer)
+ 206: 6(int) Load 132(ic1D)
+ 207: 125(fvec4) Load 127(v)
+ ImageWrite 205 206 207
+ 208: 96 Load 98(i2DMS)
+ 209: 29(ivec2) Load 142(ic2D)
+ 211: 125(fvec4) ImageRead 208 209 Sample 210
+ 212: 125(fvec4) Load 127(v)
+ 213: 125(fvec4) FAdd 212 211
+ Store 127(v) 213
+ 214: 96 Load 98(i2DMS)
+ 215: 29(ivec2) Load 142(ic2D)
+ 217: 125(fvec4) Load 127(v)
+ ImageWrite 214 215 217 Sample 216
+ 218: 106 Load 108(i2DMSArray)
+ 219: 7(ivec3) Load 152(ic3D)
+ 221: 125(fvec4) ImageRead 218 219 Sample 220
+ 222: 125(fvec4) Load 127(v)
+ 223: 125(fvec4) FAdd 222 221
+ Store 127(v) 223
+ 224: 106 Load 108(i2DMSArray)
+ 225: 7(ivec3) Load 152(ic3D)
+ 227: 125(fvec4) Load 127(v)
+ ImageWrite 224 225 227 Sample 226
+ Store 229(ui) 19
+ 233: 6(int) Load 132(ic1D)
+ 236: 235(ptr) ImageTexelPointer 232(ii1D) 233 19
+ 238: 6(int) AtomicIAdd 236 237 19 234
+ 239: 20(ptr) AccessChain 9(iv) 19
+ 240: 6(int) Load 239
+ 241: 6(int) IAdd 240 238
+ 242: 20(ptr) AccessChain 9(iv) 19
+ Store 242 241
+ 246: 29(ivec2) Load 142(ic2D)
+ 249: 18(int) Load 248(value)
+ 251: 250(ptr) ImageTexelPointer 245(ui2D) 246 19
+ 252: 18(int) AtomicIAdd 251 237 19 249
+ 253: 18(int) Load 229(ui)
+ 254: 18(int) IAdd 253 252
+ Store 229(ui) 254
+ 255: 6(int) Load 132(ic1D)
+ 257: 235(ptr) ImageTexelPointer 232(ii1D) 255 19
+ 258: 6(int) AtomicSMin 257 237 19 256
+ 259: 20(ptr) AccessChain 9(iv) 19
+ 260: 6(int) Load 259
+ 261: 6(int) IAdd 260 258
+ 262: 20(ptr) AccessChain 9(iv) 19
+ Store 262 261
+ 263: 29(ivec2) Load 142(ic2D)
+ 264: 18(int) Load 248(value)
+ 265: 250(ptr) ImageTexelPointer 245(ui2D) 263 19
+ 266: 18(int) AtomicUMin 265 237 19 264
+ 267: 18(int) Load 229(ui)
+ 268: 18(int) IAdd 267 266
+ Store 229(ui) 268
+ 269: 6(int) Load 132(ic1D)
+ 271: 235(ptr) ImageTexelPointer 232(ii1D) 269 19
+ 272: 6(int) AtomicSMax 271 237 19 270
+ 273: 20(ptr) AccessChain 9(iv) 19
+ 274: 6(int) Load 273
+ 275: 6(int) IAdd 274 272
+ 276: 20(ptr) AccessChain 9(iv) 19
+ Store 276 275
+ 277: 29(ivec2) Load 142(ic2D)
+ 278: 18(int) Load 248(value)
+ 279: 250(ptr) ImageTexelPointer 245(ui2D) 277 19
+ 280: 18(int) AtomicUMax 279 237 19 278
+ 281: 18(int) Load 229(ui)
+ 282: 18(int) IAdd 281 280
+ Store 229(ui) 282
+ 283: 6(int) Load 132(ic1D)
+ 285: 235(ptr) ImageTexelPointer 232(ii1D) 283 19
+ 286: 6(int) AtomicAnd 285 237 19 284
+ 287: 20(ptr) AccessChain 9(iv) 19
+ 288: 6(int) Load 287
+ 289: 6(int) IAdd 288 286
+ 290: 20(ptr) AccessChain 9(iv) 19
+ Store 290 289
+ 291: 29(ivec2) Load 142(ic2D)
+ 292: 18(int) Load 248(value)
+ 293: 250(ptr) ImageTexelPointer 245(ui2D) 291 19
+ 294: 18(int) AtomicAnd 293 237 19 292
+ 295: 18(int) Load 229(ui)
+ 296: 18(int) IAdd 295 294
+ Store 229(ui) 296
+ 297: 6(int) Load 132(ic1D)
+ 299: 235(ptr) ImageTexelPointer 232(ii1D) 297 19
+ 300: 6(int) AtomicOr 299 237 19 298
+ 301: 20(ptr) AccessChain 9(iv) 19
+ 302: 6(int) Load 301
+ 303: 6(int) IAdd 302 300
+ 304: 20(ptr) AccessChain 9(iv) 19
+ Store 304 303
+ 305: 29(ivec2) Load 142(ic2D)
+ 306: 18(int) Load 248(value)
+ 307: 250(ptr) ImageTexelPointer 245(ui2D) 305 19
+ 308: 18(int) AtomicOr 307 237 19 306
+ 309: 18(int) Load 229(ui)
+ 310: 18(int) IAdd 309 308
+ Store 229(ui) 310
+ 311: 6(int) Load 132(ic1D)
+ 313: 235(ptr) ImageTexelPointer 232(ii1D) 311 19
+ 314: 6(int) AtomicXor 313 237 19 312
+ 315: 20(ptr) AccessChain 9(iv) 19
+ 316: 6(int) Load 315
+ 317: 6(int) IAdd 316 314
+ 318: 20(ptr) AccessChain 9(iv) 19
+ Store 318 317
+ 319: 29(ivec2) Load 142(ic2D)
+ 320: 18(int) Load 248(value)
+ 321: 250(ptr) ImageTexelPointer 245(ui2D) 319 19
+ 322: 18(int) AtomicXor 321 237 19 320
+ 323: 18(int) Load 229(ui)
+ 324: 18(int) IAdd 323 322
+ Store 229(ui) 324
+ 325: 6(int) Load 132(ic1D)
+ 327: 235(ptr) ImageTexelPointer 232(ii1D) 325 19
+ 328: 6(int) AtomicExchange 327 237 19 326
+ 329: 20(ptr) AccessChain 9(iv) 19
+ 330: 6(int) Load 329
+ 331: 6(int) IAdd 330 328
+ 332: 20(ptr) AccessChain 9(iv) 19
+ Store 332 331
+ 333: 29(ivec2) Load 142(ic2D)
+ 334: 18(int) Load 248(value)
+ 335: 250(ptr) ImageTexelPointer 245(ui2D) 333 19
+ 336: 18(int) AtomicExchange 335 237 19 334
+ 337: 18(int) Load 229(ui)
+ 338: 18(int) IAdd 337 336
+ Store 229(ui) 338
+ 339: 6(int) Load 132(ic1D)
+ 342: 235(ptr) ImageTexelPointer 232(ii1D) 339 19
+ 343: 6(int) AtomicCompareExchange 342 237 19 19 341 340
+ 344: 20(ptr) AccessChain 9(iv) 19
+ 345: 6(int) Load 344
+ 346: 6(int) IAdd 345 343
+ 347: 20(ptr) AccessChain 9(iv) 19
+ Store 347 346
+ 348: 29(ivec2) Load 142(ic2D)
+ 350: 18(int) Load 248(value)
+ 351: 250(ptr) ImageTexelPointer 245(ui2D) 348 19
+ 352: 18(int) AtomicCompareExchange 351 237 19 19 350 349
+ 353: 18(int) Load 229(ui)
+ 354: 18(int) IAdd 353 352
+ Store 229(ui) 354
+ 358: 355 Load 357(wo2D)
+ 359: 29(ivec2) Load 142(ic2D)
+ 360: 125(fvec4) Load 127(v)
+ ImageWrite 358 359 360
+ 364: 18(int) Load 229(ui)
+ 365: 20(ptr) AccessChain 9(iv) 237
+ 366: 6(int) Load 365
+ 367: 18(int) Bitcast 366
+ 369: 368(bool) INotEqual 364 367
+ SelectionMerge 371 None
+ BranchConditional 369 370 373
+ 370: Label
+ 372: 125(fvec4) Load 127(v)
+ Store 363 372
+ Branch 371
+ 373: Label
+ Store 363 129
+ Branch 371
+ 371: Label
+ 374: 125(fvec4) Load 363
+ Store 362(fragData) 374
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.int64.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.int64.frag.out
new file mode 100644
index 00000000000..fe45013797b
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.int64.frag.out
@@ -0,0 +1,626 @@
+spv.int64.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+Missing functionality: shader int64
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 455
+
+ Capability Shader
+ Capability Float64
+ Capability Int64
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ SourceExtension "GL_ARB_gpu_shader_int64"
+ Name 4 "main"
+ Name 6 "literal("
+ Name 8 "typeCast("
+ Name 10 "operators("
+ Name 12 "builtinFuncs("
+ Name 16 "i64"
+ Name 24 "Uniforms"
+ MemberName 24(Uniforms) 0 "index"
+ Name 26 ""
+ Name 33 "indexable"
+ Name 38 "u64"
+ Name 47 "indexable"
+ Name 52 "i64v"
+ Name 56 "bv"
+ Name 65 "u64v"
+ Name 74 "iv"
+ Name 81 "uv"
+ Name 89 "fv"
+ Name 95 "dv"
+ Name 132 "u64v"
+ Name 137 "i64"
+ Name 157 "i"
+ Name 164 "uv"
+ Name 216 "b"
+ Name 276 "i64v"
+ Name 279 "i64"
+ Name 289 "u64v"
+ Name 291 "u64"
+ Name 363 "dv"
+ Name 382 "iv"
+ Name 387 "uv"
+ Name 391 "bv"
+ Name 452 "Block"
+ MemberName 452(Block) 0 "i64v"
+ MemberName 452(Block) 1 "u64"
+ Name 454 "block"
+ MemberDecorate 24(Uniforms) 0 Offset 0
+ Decorate 24(Uniforms) Block
+ Decorate 26 DescriptorSet 0
+ Decorate 26 Binding 0
+ MemberDecorate 452(Block) 0 Offset 0
+ MemberDecorate 452(Block) 1 Offset 24
+ Decorate 452(Block) Block
+ Decorate 454(block) DescriptorSet 0
+ Decorate 454(block) Binding 1
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 14: TypeInt 64 1
+ 15: TypePointer Function 14(int)
+ 17: TypeInt 32 0
+ 18: 17(int) Constant 3
+ 19: TypeArray 14(int) 18
+ 20: 14(int) Constant 4008636143 4008636142
+ 21: 14(int) Constant 4294967295 4294967295
+ 22: 14(int) Constant 0 1
+ 23: 19 ConstantComposite 20 21 22
+ 24(Uniforms): TypeStruct 17(int)
+ 25: TypePointer Uniform 24(Uniforms)
+ 26: 25(ptr) Variable Uniform
+ 27: TypeInt 32 1
+ 28: 27(int) Constant 0
+ 29: TypePointer Uniform 17(int)
+ 32: TypePointer Function 19
+ 36: TypeInt 64 0
+ 37: TypePointer Function 36(int)
+ 39: TypeArray 36(int) 18
+ 40: 36(int) Constant 4294967295 4294967295
+ 41: 36(int) Constant 0 1
+ 42: 36(int) Constant 4294967295 1
+ 43: 39 ConstantComposite 40 41 42
+ 46: TypePointer Function 39
+ 50: TypeVector 14(int) 2
+ 51: TypePointer Function 50(ivec2)
+ 53: TypeBool
+ 54: TypeVector 53(bool) 2
+ 55: TypePointer Function 54(bvec2)
+ 58: 14(int) Constant 0 0
+ 59: 14(int) Constant 1 0
+ 60: 50(ivec2) ConstantComposite 58 58
+ 61: 50(ivec2) ConstantComposite 59 59
+ 63: TypeVector 36(int) 2
+ 64: TypePointer Function 63(ivec2)
+ 67: 36(int) Constant 0 0
+ 68: 36(int) Constant 1 0
+ 69: 63(ivec2) ConstantComposite 67 67
+ 70: 63(ivec2) ConstantComposite 68 68
+ 72: TypeVector 27(int) 2
+ 73: TypePointer Function 72(ivec2)
+ 79: TypeVector 17(int) 2
+ 80: TypePointer Function 79(ivec2)
+ 86: TypeFloat 32
+ 87: TypeVector 86(float) 2
+ 88: TypePointer Function 87(fvec2)
+ 92: TypeFloat 64
+ 93: TypeVector 92(float) 2
+ 94: TypePointer Function 93(fvec2)
+ 130: TypeVector 36(int) 3
+ 131: TypePointer Function 130(ivec3)
+ 134: TypeVector 14(int) 3
+ 156: TypePointer Function 27(int)
+ 162: TypeVector 17(int) 3
+ 163: TypePointer Function 162(ivec3)
+ 197: TypeVector 27(int) 3
+ 200: 17(int) Constant 1
+ 201: TypePointer Function 17(int)
+ 207: 17(int) Constant 2
+ 215: TypePointer Function 53(bool)
+ 217: 17(int) Constant 0
+ 287: 50(ivec2) ConstantComposite 21 21
+ 296: 130(ivec3) ConstantComposite 67 67 67
+ 338: 53(bool) ConstantTrue
+ 345: 53(bool) ConstantFalse
+ 346: 54(bvec2) ConstantComposite 345 345
+ 358: TypeVector 53(bool) 3
+ 359: 358(bvec3) ConstantComposite 345 345 345
+ 361: TypeVector 92(float) 3
+ 362: TypePointer Function 361(fvec3)
+ 367: TypePointer Function 92(float)
+ 378: 27(int) Constant 1
+ 379: 27(int) Constant 2
+ 380: 72(ivec2) ConstantComposite 378 379
+ 385: 79(ivec2) ConstantComposite 207 18
+ 390: TypePointer Function 358(bvec3)
+ 452(Block): TypeStruct 134(ivec3) 36(int)
+ 453: TypePointer Uniform 452(Block)
+ 454(block): 453(ptr) Variable Uniform
+ 4(main): 2 Function None 3
+ 5: Label
+ Return
+ FunctionEnd
+ 6(literal(): 2 Function None 3
+ 7: Label
+ 16(i64): 15(ptr) Variable Function
+ 33(indexable): 32(ptr) Variable Function
+ 38(u64): 37(ptr) Variable Function
+ 47(indexable): 46(ptr) Variable Function
+ 30: 29(ptr) AccessChain 26 28
+ 31: 17(int) Load 30
+ Store 33(indexable) 23
+ 34: 15(ptr) AccessChain 33(indexable) 31
+ 35: 14(int) Load 34
+ Store 16(i64) 35
+ 44: 29(ptr) AccessChain 26 28
+ 45: 17(int) Load 44
+ Store 47(indexable) 43
+ 48: 37(ptr) AccessChain 47(indexable) 45
+ 49: 36(int) Load 48
+ Store 38(u64) 49
+ Return
+ FunctionEnd
+ 8(typeCast(): 2 Function None 3
+ 9: Label
+ 52(i64v): 51(ptr) Variable Function
+ 56(bv): 55(ptr) Variable Function
+ 65(u64v): 64(ptr) Variable Function
+ 74(iv): 73(ptr) Variable Function
+ 81(uv): 80(ptr) Variable Function
+ 89(fv): 88(ptr) Variable Function
+ 95(dv): 94(ptr) Variable Function
+ 57: 54(bvec2) Load 56(bv)
+ 62: 50(ivec2) Select 57 61 60
+ Store 52(i64v) 62
+ 66: 54(bvec2) Load 56(bv)
+ 71: 63(ivec2) Select 66 70 69
+ Store 65(u64v) 71
+ 75: 72(ivec2) Load 74(iv)
+ 76: 50(ivec2) SConvert 75
+ Store 52(i64v) 76
+ 77: 50(ivec2) Load 52(i64v)
+ 78: 72(ivec2) SConvert 77
+ Store 74(iv) 78
+ 82: 79(ivec2) Load 81(uv)
+ 83: 63(ivec2) UConvert 82
+ Store 65(u64v) 83
+ 84: 63(ivec2) Load 65(u64v)
+ 85: 79(ivec2) UConvert 84
+ Store 81(uv) 85
+ 90: 50(ivec2) Load 52(i64v)
+ 91: 87(fvec2) ConvertSToF 90
+ Store 89(fv) 91
+ 96: 50(ivec2) Load 52(i64v)
+ 97: 93(fvec2) ConvertSToF 96
+ Store 95(dv) 97
+ 98: 63(ivec2) Load 65(u64v)
+ 99: 87(fvec2) ConvertUToF 98
+ Store 89(fv) 99
+ 100: 63(ivec2) Load 65(u64v)
+ 101: 93(fvec2) ConvertUToF 100
+ Store 95(dv) 101
+ 102: 87(fvec2) Load 89(fv)
+ 103: 50(ivec2) ConvertFToS 102
+ Store 52(i64v) 103
+ 104: 93(fvec2) Load 95(dv)
+ 105: 50(ivec2) ConvertFToS 104
+ Store 52(i64v) 105
+ 106: 87(fvec2) Load 89(fv)
+ 107: 63(ivec2) ConvertFToU 106
+ Store 65(u64v) 107
+ 108: 93(fvec2) Load 95(dv)
+ 109: 63(ivec2) ConvertFToU 108
+ Store 65(u64v) 109
+ 110: 50(ivec2) Load 52(i64v)
+ 111: 54(bvec2) INotEqual 110 69
+ Store 56(bv) 111
+ 112: 63(ivec2) Load 65(u64v)
+ 113: 54(bvec2) INotEqual 112 69
+ Store 56(bv) 113
+ 114: 50(ivec2) Load 52(i64v)
+ 115: 63(ivec2) Bitcast 114
+ Store 65(u64v) 115
+ 116: 63(ivec2) Load 65(u64v)
+ 117: 50(ivec2) Bitcast 116
+ Store 52(i64v) 117
+ 118: 50(ivec2) Load 52(i64v)
+ 119: 72(ivec2) SConvert 118
+ 120: 79(ivec2) Bitcast 119
+ Store 81(uv) 120
+ 121: 79(ivec2) Load 81(uv)
+ 122: 63(ivec2) UConvert 121
+ 123: 50(ivec2) Bitcast 122
+ Store 52(i64v) 123
+ 124: 63(ivec2) Load 65(u64v)
+ 125: 79(ivec2) UConvert 124
+ 126: 72(ivec2) Bitcast 125
+ Store 74(iv) 126
+ 127: 72(ivec2) Load 74(iv)
+ 128: 50(ivec2) SConvert 127
+ 129: 63(ivec2) Bitcast 128
+ Store 65(u64v) 129
+ Return
+ FunctionEnd
+ 10(operators(): 2 Function None 3
+ 11: Label
+ 132(u64v): 131(ptr) Variable Function
+ 137(i64): 15(ptr) Variable Function
+ 157(i): 156(ptr) Variable Function
+ 164(uv): 163(ptr) Variable Function
+ 216(b): 215(ptr) Variable Function
+ 133: 130(ivec3) Load 132(u64v)
+ 135: 134(ivec3) CompositeConstruct 59 59 59
+ 136: 130(ivec3) IAdd 133 135
+ Store 132(u64v) 136
+ 138: 14(int) Load 137(i64)
+ 139: 14(int) ISub 138 59
+ Store 137(i64) 139
+ 140: 14(int) Load 137(i64)
+ 141: 14(int) IAdd 140 59
+ Store 137(i64) 141
+ 142: 130(ivec3) Load 132(u64v)
+ 143: 134(ivec3) CompositeConstruct 59 59 59
+ 144: 130(ivec3) ISub 142 143
+ Store 132(u64v) 144
+ 145: 130(ivec3) Load 132(u64v)
+ 146: 130(ivec3) Not 145
+ Store 132(u64v) 146
+ 147: 14(int) Load 137(i64)
+ Store 137(i64) 147
+ 148: 130(ivec3) Load 132(u64v)
+ 149: 130(ivec3) SNegate 148
+ Store 132(u64v) 149
+ 150: 14(int) Load 137(i64)
+ 151: 14(int) Load 137(i64)
+ 152: 14(int) IAdd 151 150
+ Store 137(i64) 152
+ 153: 130(ivec3) Load 132(u64v)
+ 154: 130(ivec3) Load 132(u64v)
+ 155: 130(ivec3) ISub 154 153
+ Store 132(u64v) 155
+ 158: 27(int) Load 157(i)
+ 159: 14(int) SConvert 158
+ 160: 14(int) Load 137(i64)
+ 161: 14(int) IMul 160 159
+ Store 137(i64) 161
+ 165: 162(ivec3) Load 164(uv)
+ 166: 130(ivec3) UConvert 165
+ 167: 130(ivec3) Load 132(u64v)
+ 168: 130(ivec3) UDiv 167 166
+ Store 132(u64v) 168
+ 169: 27(int) Load 157(i)
+ 170: 14(int) SConvert 169
+ 171: 36(int) Bitcast 170
+ 172: 130(ivec3) Load 132(u64v)
+ 173: 130(ivec3) CompositeConstruct 171 171 171
+ 174: 130(ivec3) UMod 172 173
+ Store 132(u64v) 174
+ 175: 130(ivec3) Load 132(u64v)
+ 176: 162(ivec3) Load 164(uv)
+ 177: 130(ivec3) UConvert 176
+ 178: 130(ivec3) IAdd 175 177
+ Store 132(u64v) 178
+ 179: 14(int) Load 137(i64)
+ 180: 27(int) Load 157(i)
+ 181: 14(int) SConvert 180
+ 182: 14(int) ISub 179 181
+ Store 137(i64) 182
+ 183: 130(ivec3) Load 132(u64v)
+ 184: 162(ivec3) Load 164(uv)
+ 185: 130(ivec3) UConvert 184
+ 186: 130(ivec3) IMul 183 185
+ Store 132(u64v) 186
+ 187: 14(int) Load 137(i64)
+ 188: 27(int) Load 157(i)
+ 189: 14(int) SConvert 188
+ 190: 14(int) IMul 187 189
+ Store 137(i64) 190
+ 191: 14(int) Load 137(i64)
+ 192: 27(int) Load 157(i)
+ 193: 14(int) SConvert 192
+ 194: 14(int) SMod 191 193
+ Store 137(i64) 194
+ 195: 27(int) Load 157(i)
+ 196: 130(ivec3) Load 132(u64v)
+ 198: 197(ivec3) CompositeConstruct 195 195 195
+ 199: 130(ivec3) ShiftLeftLogical 196 198
+ Store 132(u64v) 199
+ 202: 201(ptr) AccessChain 164(uv) 200
+ 203: 17(int) Load 202
+ 204: 14(int) Load 137(i64)
+ 205: 14(int) ShiftRightArithmetic 204 203
+ Store 137(i64) 205
+ 206: 14(int) Load 137(i64)
+ 208: 37(ptr) AccessChain 132(u64v) 207
+ 209: 36(int) Load 208
+ 210: 14(int) ShiftLeftLogical 206 209
+ Store 137(i64) 210
+ 211: 130(ivec3) Load 132(u64v)
+ 212: 14(int) Load 137(i64)
+ 213: 134(ivec3) CompositeConstruct 212 212 212
+ 214: 130(ivec3) ShiftLeftLogical 211 213
+ Store 132(u64v) 214
+ 218: 37(ptr) AccessChain 132(u64v) 217
+ 219: 36(int) Load 218
+ 220: 14(int) Load 137(i64)
+ 221: 36(int) Bitcast 220
+ 222: 53(bool) INotEqual 219 221
+ Store 216(b) 222
+ 223: 14(int) Load 137(i64)
+ 224: 36(int) Bitcast 223
+ 225: 37(ptr) AccessChain 132(u64v) 217
+ 226: 36(int) Load 225
+ 227: 53(bool) IEqual 224 226
+ Store 216(b) 227
+ 228: 37(ptr) AccessChain 132(u64v) 217
+ 229: 36(int) Load 228
+ 230: 201(ptr) AccessChain 164(uv) 200
+ 231: 17(int) Load 230
+ 232: 36(int) UConvert 231
+ 233: 53(bool) UGreaterThan 229 232
+ Store 216(b) 233
+ 234: 14(int) Load 137(i64)
+ 235: 27(int) Load 157(i)
+ 236: 14(int) SConvert 235
+ 237: 53(bool) SLessThan 234 236
+ Store 216(b) 237
+ 238: 37(ptr) AccessChain 132(u64v) 200
+ 239: 36(int) Load 238
+ 240: 201(ptr) AccessChain 164(uv) 217
+ 241: 17(int) Load 240
+ 242: 36(int) UConvert 241
+ 243: 53(bool) UGreaterThanEqual 239 242
+ Store 216(b) 243
+ 244: 14(int) Load 137(i64)
+ 245: 27(int) Load 157(i)
+ 246: 14(int) SConvert 245
+ 247: 53(bool) SLessThanEqual 244 246
+ Store 216(b) 247
+ 248: 27(int) Load 157(i)
+ 249: 14(int) SConvert 248
+ 250: 36(int) Bitcast 249
+ 251: 130(ivec3) Load 132(u64v)
+ 252: 130(ivec3) CompositeConstruct 250 250 250
+ 253: 130(ivec3) BitwiseOr 251 252
+ Store 132(u64v) 253
+ 254: 14(int) Load 137(i64)
+ 255: 27(int) Load 157(i)
+ 256: 14(int) SConvert 255
+ 257: 14(int) BitwiseOr 254 256
+ Store 137(i64) 257
+ 258: 27(int) Load 157(i)
+ 259: 14(int) SConvert 258
+ 260: 14(int) Load 137(i64)
+ 261: 14(int) BitwiseAnd 260 259
+ Store 137(i64) 261
+ 262: 130(ivec3) Load 132(u64v)
+ 263: 162(ivec3) Load 164(uv)
+ 264: 130(ivec3) UConvert 263
+ 265: 130(ivec3) BitwiseAnd 262 264
+ Store 132(u64v) 265
+ 266: 14(int) Load 137(i64)
+ 267: 36(int) Bitcast 266
+ 268: 130(ivec3) Load 132(u64v)
+ 269: 130(ivec3) CompositeConstruct 267 267 267
+ 270: 130(ivec3) BitwiseXor 268 269
+ Store 132(u64v) 270
+ 271: 130(ivec3) Load 132(u64v)
+ 272: 14(int) Load 137(i64)
+ 273: 36(int) Bitcast 272
+ 274: 130(ivec3) CompositeConstruct 273 273 273
+ 275: 130(ivec3) BitwiseXor 271 274
+ Store 132(u64v) 275
+ Return
+ FunctionEnd
+12(builtinFuncs(): 2 Function None 3
+ 13: Label
+ 276(i64v): 51(ptr) Variable Function
+ 279(i64): 15(ptr) Variable Function
+ 289(u64v): 131(ptr) Variable Function
+ 291(u64): 37(ptr) Variable Function
+ 363(dv): 362(ptr) Variable Function
+ 382(iv): 73(ptr) Variable Function
+ 387(uv): 80(ptr) Variable Function
+ 391(bv): 390(ptr) Variable Function
+ 277: 50(ivec2) Load 276(i64v)
+ 278: 50(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 277
+ Store 276(i64v) 278
+ 280: 14(int) Load 279(i64)
+ 281: 14(int) ExtInst 1(GLSL.std.450) 7(SSign) 280
+ Store 279(i64) 281
+ 282: 50(ivec2) Load 276(i64v)
+ 283: 14(int) Load 279(i64)
+ 284: 50(ivec2) CompositeConstruct 283 283
+ 285: 50(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 282 284
+ Store 276(i64v) 285
+ 286: 50(ivec2) Load 276(i64v)
+ 288: 50(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 286 287
+ Store 276(i64v) 288
+ 290: 130(ivec3) Load 289(u64v)
+ 292: 36(int) Load 291(u64)
+ 293: 130(ivec3) CompositeConstruct 292 292 292
+ 294: 130(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 290 293
+ Store 289(u64v) 294
+ 295: 130(ivec3) Load 289(u64v)
+ 297: 130(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 295 296
+ Store 289(u64v) 297
+ 298: 50(ivec2) Load 276(i64v)
+ 299: 14(int) Load 279(i64)
+ 300: 50(ivec2) CompositeConstruct 299 299
+ 301: 50(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 298 300
+ Store 276(i64v) 301
+ 302: 50(ivec2) Load 276(i64v)
+ 303: 50(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 302 287
+ Store 276(i64v) 303
+ 304: 130(ivec3) Load 289(u64v)
+ 305: 36(int) Load 291(u64)
+ 306: 130(ivec3) CompositeConstruct 305 305 305
+ 307: 130(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 304 306
+ Store 289(u64v) 307
+ 308: 130(ivec3) Load 289(u64v)
+ 309: 130(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 308 296
+ Store 289(u64v) 309
+ 310: 50(ivec2) Load 276(i64v)
+ 311: 14(int) Load 279(i64)
+ 312: 14(int) SNegate 311
+ 313: 14(int) Load 279(i64)
+ 314: 50(ivec2) CompositeConstruct 312 312
+ 315: 50(ivec2) CompositeConstruct 313 313
+ 316: 50(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 310 314 315
+ Store 276(i64v) 316
+ 317: 50(ivec2) Load 276(i64v)
+ 318: 50(ivec2) Load 276(i64v)
+ 319: 50(ivec2) SNegate 318
+ 320: 50(ivec2) Load 276(i64v)
+ 321: 50(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 317 319 320
+ Store 276(i64v) 321
+ 322: 130(ivec3) Load 289(u64v)
+ 323: 36(int) Load 291(u64)
+ 324: 36(int) SNegate 323
+ 325: 36(int) Load 291(u64)
+ 326: 130(ivec3) CompositeConstruct 324 324 324
+ 327: 130(ivec3) CompositeConstruct 325 325 325
+ 328: 130(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 322 326 327
+ Store 289(u64v) 328
+ 329: 130(ivec3) Load 289(u64v)
+ 330: 130(ivec3) Load 289(u64v)
+ 331: 130(ivec3) SNegate 330
+ 332: 130(ivec3) Load 289(u64v)
+ 333: 130(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 329 331 332
+ Store 289(u64v) 333
+ 334: 15(ptr) AccessChain 276(i64v) 217
+ 335: 14(int) Load 334
+ 336: 15(ptr) AccessChain 276(i64v) 200
+ 337: 14(int) Load 336
+ 339: 14(int) Select 338 337 335
+ Store 279(i64) 339
+ 340: 14(int) Load 279(i64)
+ 341: 50(ivec2) CompositeConstruct 340 340
+ 342: 14(int) Load 279(i64)
+ 343: 14(int) SNegate 342
+ 344: 50(ivec2) CompositeConstruct 343 343
+ 347: 50(ivec2) Select 346 344 341
+ Store 276(i64v) 347
+ 348: 37(ptr) AccessChain 289(u64v) 217
+ 349: 36(int) Load 348
+ 350: 37(ptr) AccessChain 289(u64v) 200
+ 351: 36(int) Load 350
+ 352: 36(int) Select 338 351 349
+ Store 291(u64) 352
+ 353: 36(int) Load 291(u64)
+ 354: 130(ivec3) CompositeConstruct 353 353 353
+ 355: 36(int) Load 291(u64)
+ 356: 36(int) SNegate 355
+ 357: 130(ivec3) CompositeConstruct 356 356 356
+ 360: 130(ivec3) Select 359 357 354
+ Store 289(u64v) 360
+ 364: 361(fvec3) Load 363(dv)
+ 365: 93(fvec2) VectorShuffle 364 364 0 1
+ 366: 50(ivec2) Bitcast 365
+ Store 276(i64v) 366
+ 368: 367(ptr) AccessChain 363(dv) 207
+ 369: 92(float) Load 368
+ 370: 36(int) Bitcast 369
+ 371: 37(ptr) AccessChain 289(u64v) 217
+ Store 371 370
+ 372: 50(ivec2) Load 276(i64v)
+ 373: 93(fvec2) Bitcast 372
+ 374: 361(fvec3) Load 363(dv)
+ 375: 361(fvec3) VectorShuffle 374 373 3 4 2
+ Store 363(dv) 375
+ 376: 130(ivec3) Load 289(u64v)
+ 377: 361(fvec3) Bitcast 376
+ Store 363(dv) 377
+ 381: 14(int) ExtInst 1(GLSL.std.450) 0(Unknown) 380
+ Store 279(i64) 381
+ 383: 14(int) Load 279(i64)
+ 384: 72(ivec2) ExtInst 1(GLSL.std.450) 0(Unknown) 383
+ Store 382(iv) 384
+ 386: 36(int) ExtInst 1(GLSL.std.450) 0(Unknown) 385
+ Store 291(u64) 386
+ 388: 36(int) Load 291(u64)
+ 389: 79(ivec2) ExtInst 1(GLSL.std.450) 0(Unknown) 388
+ Store 387(uv) 389
+ 392: 130(ivec3) Load 289(u64v)
+ 393: 36(int) Load 291(u64)
+ 394: 130(ivec3) CompositeConstruct 393 393 393
+ 395: 358(bvec3) ULessThan 392 394
+ Store 391(bv) 395
+ 396: 50(ivec2) Load 276(i64v)
+ 397: 14(int) Load 279(i64)
+ 398: 50(ivec2) CompositeConstruct 397 397
+ 399: 54(bvec2) SLessThan 396 398
+ 400: 358(bvec3) Load 391(bv)
+ 401: 358(bvec3) VectorShuffle 400 399 3 4 2
+ Store 391(bv) 401
+ 402: 130(ivec3) Load 289(u64v)
+ 403: 36(int) Load 291(u64)
+ 404: 130(ivec3) CompositeConstruct 403 403 403
+ 405: 358(bvec3) ULessThanEqual 402 404
+ Store 391(bv) 405
+ 406: 50(ivec2) Load 276(i64v)
+ 407: 14(int) Load 279(i64)
+ 408: 50(ivec2) CompositeConstruct 407 407
+ 409: 54(bvec2) SLessThanEqual 406 408
+ 410: 358(bvec3) Load 391(bv)
+ 411: 358(bvec3) VectorShuffle 410 409 3 4 2
+ Store 391(bv) 411
+ 412: 130(ivec3) Load 289(u64v)
+ 413: 36(int) Load 291(u64)
+ 414: 130(ivec3) CompositeConstruct 413 413 413
+ 415: 358(bvec3) UGreaterThan 412 414
+ Store 391(bv) 415
+ 416: 50(ivec2) Load 276(i64v)
+ 417: 14(int) Load 279(i64)
+ 418: 50(ivec2) CompositeConstruct 417 417
+ 419: 54(bvec2) SGreaterThan 416 418
+ 420: 358(bvec3) Load 391(bv)
+ 421: 358(bvec3) VectorShuffle 420 419 3 4 2
+ Store 391(bv) 421
+ 422: 130(ivec3) Load 289(u64v)
+ 423: 36(int) Load 291(u64)
+ 424: 130(ivec3) CompositeConstruct 423 423 423
+ 425: 358(bvec3) UGreaterThanEqual 422 424
+ Store 391(bv) 425
+ 426: 50(ivec2) Load 276(i64v)
+ 427: 14(int) Load 279(i64)
+ 428: 50(ivec2) CompositeConstruct 427 427
+ 429: 54(bvec2) SGreaterThanEqual 426 428
+ 430: 358(bvec3) Load 391(bv)
+ 431: 358(bvec3) VectorShuffle 430 429 3 4 2
+ Store 391(bv) 431
+ 432: 130(ivec3) Load 289(u64v)
+ 433: 36(int) Load 291(u64)
+ 434: 130(ivec3) CompositeConstruct 433 433 433
+ 435: 358(bvec3) IEqual 432 434
+ Store 391(bv) 435
+ 436: 50(ivec2) Load 276(i64v)
+ 437: 14(int) Load 279(i64)
+ 438: 50(ivec2) CompositeConstruct 437 437
+ 439: 54(bvec2) IEqual 436 438
+ 440: 358(bvec3) Load 391(bv)
+ 441: 358(bvec3) VectorShuffle 440 439 3 4 2
+ Store 391(bv) 441
+ 442: 130(ivec3) Load 289(u64v)
+ 443: 36(int) Load 291(u64)
+ 444: 130(ivec3) CompositeConstruct 443 443 443
+ 445: 358(bvec3) INotEqual 442 444
+ Store 391(bv) 445
+ 446: 50(ivec2) Load 276(i64v)
+ 447: 14(int) Load 279(i64)
+ 448: 50(ivec2) CompositeConstruct 447 447
+ 449: 54(bvec2) INotEqual 446 448
+ 450: 358(bvec3) Load 391(bv)
+ 451: 358(bvec3) VectorShuffle 450 449 3 4 2
+ Store 391(bv) 451
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.intOps.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.intOps.vert.out
new file mode 100644
index 00000000000..926ab7c6ca3
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.intOps.vert.out
@@ -0,0 +1,361 @@
+spv.intOps.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 268
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 9 15 21 26 47 67 83 100 121 142 146 156 173 182 247
+ Source ESSL 310
+ Name 4 "main"
+ Name 9 "iout"
+ Name 15 "uout"
+ Name 21 "fout"
+ Name 26 "u2"
+ Name 30 "u2out"
+ Name 31 "ResType"
+ Name 47 "u1"
+ Name 51 "u1out"
+ Name 52 "ResType"
+ Name 67 "u4"
+ Name 71 "u4outHi"
+ Name 72 "u4outLow"
+ Name 73 "ResType"
+ Name 83 "i4"
+ Name 87 "i4outHi"
+ Name 88 "i4outLow"
+ Name 89 "ResType"
+ Name 100 "v3"
+ Name 104 "i3out"
+ Name 105 "ResType"
+ Name 121 "v1"
+ Name 124 "i1out"
+ Name 125 "ResType"
+ Name 142 "v2"
+ Name 146 "i2"
+ Name 156 "i1"
+ Name 173 "u3"
+ Name 182 "i3"
+ Name 247 "v4"
+ Decorate 210 RelaxedPrecision
+ Decorate 216 RelaxedPrecision
+ Decorate 223 RelaxedPrecision
+ Decorate 230 RelaxedPrecision
+ Decorate 234 RelaxedPrecision
+ Decorate 240 RelaxedPrecision
+ Decorate 261 RelaxedPrecision
+ Decorate 265 RelaxedPrecision
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeVector 6(int) 4
+ 8: TypePointer Output 7(ivec4)
+ 9(iout): 8(ptr) Variable Output
+ 10: 6(int) Constant 0
+ 11: 7(ivec4) ConstantComposite 10 10 10 10
+ 12: TypeInt 32 0
+ 13: TypeVector 12(int) 4
+ 14: TypePointer Output 13(ivec4)
+ 15(uout): 14(ptr) Variable Output
+ 16: 12(int) Constant 0
+ 17: 13(ivec4) ConstantComposite 16 16 16 16
+ 18: TypeFloat 32
+ 19: TypeVector 18(float) 4
+ 20: TypePointer Output 19(fvec4)
+ 21(fout): 20(ptr) Variable Output
+ 22: 18(float) Constant 0
+ 23: 19(fvec4) ConstantComposite 22 22 22 22
+ 24: TypeVector 12(int) 2
+ 25: TypePointer Input 24(ivec2)
+ 26(u2): 25(ptr) Variable Input
+ 29: TypePointer Function 24(ivec2)
+ 31(ResType): TypeStruct 24(ivec2) 24(ivec2)
+ 46: TypePointer Input 12(int)
+ 47(u1): 46(ptr) Variable Input
+ 50: TypePointer Function 12(int)
+ 52(ResType): TypeStruct 12(int) 12(int)
+ 56: TypePointer Output 12(int)
+ 66: TypePointer Input 13(ivec4)
+ 67(u4): 66(ptr) Variable Input
+ 70: TypePointer Function 13(ivec4)
+ 73(ResType): TypeStruct 13(ivec4) 13(ivec4)
+ 82: TypePointer Input 7(ivec4)
+ 83(i4): 82(ptr) Variable Input
+ 86: TypePointer Function 7(ivec4)
+ 89(ResType): TypeStruct 7(ivec4) 7(ivec4)
+ 98: TypeVector 18(float) 3
+ 99: TypePointer Input 98(fvec3)
+ 100(v3): 99(ptr) Variable Input
+ 102: TypeVector 6(int) 3
+ 103: TypePointer Function 102(ivec3)
+ 105(ResType): TypeStruct 98(fvec3) 102(ivec3)
+ 120: TypePointer Input 18(float)
+ 121(v1): 120(ptr) Variable Input
+ 123: TypePointer Function 6(int)
+ 125(ResType): TypeStruct 18(float) 6(int)
+ 129: TypePointer Output 18(float)
+ 135: TypePointer Output 6(int)
+ 140: TypeVector 18(float) 2
+ 141: TypePointer Input 140(fvec2)
+ 142(v2): 141(ptr) Variable Input
+ 144: TypeVector 6(int) 2
+ 145: TypePointer Input 144(ivec2)
+ 146(i2): 145(ptr) Variable Input
+ 155: TypePointer Input 6(int)
+ 156(i1): 155(ptr) Variable Input
+ 164: 6(int) Constant 4
+ 165: 6(int) Constant 5
+ 171: TypeVector 12(int) 3
+ 172: TypePointer Input 171(ivec3)
+ 173(u3): 172(ptr) Variable Input
+ 181: TypePointer Input 102(ivec3)
+ 182(i3): 181(ptr) Variable Input
+ 246: TypePointer Input 19(fvec4)
+ 247(v4): 246(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 30(u2out): 29(ptr) Variable Function
+ 51(u1out): 50(ptr) Variable Function
+ 71(u4outHi): 70(ptr) Variable Function
+ 72(u4outLow): 70(ptr) Variable Function
+ 87(i4outHi): 86(ptr) Variable Function
+ 88(i4outLow): 86(ptr) Variable Function
+ 104(i3out): 103(ptr) Variable Function
+ 124(i1out): 123(ptr) Variable Function
+ Store 9(iout) 11
+ Store 15(uout) 17
+ Store 21(fout) 23
+ 27: 24(ivec2) Load 26(u2)
+ 28: 24(ivec2) Load 26(u2)
+ 32: 31(ResType) IAddCarry 27 28
+ 33: 24(ivec2) CompositeExtract 32 1
+ Store 30(u2out) 33
+ 34: 24(ivec2) CompositeExtract 32 0
+ 35: 13(ivec4) Load 15(uout)
+ 36: 24(ivec2) VectorShuffle 35 35 0 1
+ 37: 24(ivec2) IAdd 36 34
+ 38: 13(ivec4) Load 15(uout)
+ 39: 13(ivec4) VectorShuffle 38 37 4 5 2 3
+ Store 15(uout) 39
+ 40: 24(ivec2) Load 30(u2out)
+ 41: 13(ivec4) Load 15(uout)
+ 42: 24(ivec2) VectorShuffle 41 41 0 1
+ 43: 24(ivec2) IAdd 42 40
+ 44: 13(ivec4) Load 15(uout)
+ 45: 13(ivec4) VectorShuffle 44 43 4 5 2 3
+ Store 15(uout) 45
+ 48: 12(int) Load 47(u1)
+ 49: 12(int) Load 47(u1)
+ 53: 52(ResType) ISubBorrow 48 49
+ 54: 12(int) CompositeExtract 53 1
+ Store 51(u1out) 54
+ 55: 12(int) CompositeExtract 53 0
+ 57: 56(ptr) AccessChain 15(uout) 16
+ 58: 12(int) Load 57
+ 59: 12(int) IAdd 58 55
+ 60: 56(ptr) AccessChain 15(uout) 16
+ Store 60 59
+ 61: 12(int) Load 51(u1out)
+ 62: 56(ptr) AccessChain 15(uout) 16
+ 63: 12(int) Load 62
+ 64: 12(int) IAdd 63 61
+ 65: 56(ptr) AccessChain 15(uout) 16
+ Store 65 64
+ 68: 13(ivec4) Load 67(u4)
+ 69: 13(ivec4) Load 67(u4)
+ 74: 73(ResType) UMulExtended 68 69
+ 75: 13(ivec4) CompositeExtract 74 0
+ Store 72(u4outLow) 75
+ 76: 13(ivec4) CompositeExtract 74 1
+ Store 71(u4outHi) 76
+ 77: 13(ivec4) Load 71(u4outHi)
+ 78: 13(ivec4) Load 72(u4outLow)
+ 79: 13(ivec4) IAdd 77 78
+ 80: 13(ivec4) Load 15(uout)
+ 81: 13(ivec4) IAdd 80 79
+ Store 15(uout) 81
+ 84: 7(ivec4) Load 83(i4)
+ 85: 7(ivec4) Load 83(i4)
+ 90: 89(ResType) SMulExtended 84 85
+ 91: 7(ivec4) CompositeExtract 90 0
+ Store 88(i4outLow) 91
+ 92: 7(ivec4) CompositeExtract 90 1
+ Store 87(i4outHi) 92
+ 93: 7(ivec4) Load 88(i4outLow)
+ 94: 7(ivec4) Load 87(i4outHi)
+ 95: 7(ivec4) IAdd 93 94
+ 96: 7(ivec4) Load 9(iout)
+ 97: 7(ivec4) IAdd 96 95
+ Store 9(iout) 97
+ 101: 98(fvec3) Load 100(v3)
+ 106:105(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 101
+ 107: 102(ivec3) CompositeExtract 106 1
+ Store 104(i3out) 107
+ 108: 98(fvec3) CompositeExtract 106 0
+ 109: 19(fvec4) Load 21(fout)
+ 110: 98(fvec3) VectorShuffle 109 109 0 1 2
+ 111: 98(fvec3) FAdd 110 108
+ 112: 19(fvec4) Load 21(fout)
+ 113: 19(fvec4) VectorShuffle 112 111 4 5 6 3
+ Store 21(fout) 113
+ 114: 102(ivec3) Load 104(i3out)
+ 115: 7(ivec4) Load 9(iout)
+ 116: 102(ivec3) VectorShuffle 115 115 0 1 2
+ 117: 102(ivec3) IAdd 116 114
+ 118: 7(ivec4) Load 9(iout)
+ 119: 7(ivec4) VectorShuffle 118 117 4 5 6 3
+ Store 9(iout) 119
+ 122: 18(float) Load 121(v1)
+ 126:125(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 122
+ 127: 6(int) CompositeExtract 126 1
+ Store 124(i1out) 127
+ 128: 18(float) CompositeExtract 126 0
+ 130: 129(ptr) AccessChain 21(fout) 16
+ 131: 18(float) Load 130
+ 132: 18(float) FAdd 131 128
+ 133: 129(ptr) AccessChain 21(fout) 16
+ Store 133 132
+ 134: 6(int) Load 124(i1out)
+ 136: 135(ptr) AccessChain 9(iout) 16
+ 137: 6(int) Load 136
+ 138: 6(int) IAdd 137 134
+ 139: 135(ptr) AccessChain 9(iout) 16
+ Store 139 138
+ 143: 140(fvec2) Load 142(v2)
+ 147: 144(ivec2) Load 146(i2)
+ 148: 140(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 143 147
+ 149: 19(fvec4) Load 21(fout)
+ 150: 140(fvec2) VectorShuffle 149 149 0 1
+ 151: 140(fvec2) FAdd 150 148
+ 152: 19(fvec4) Load 21(fout)
+ 153: 19(fvec4) VectorShuffle 152 151 4 5 2 3
+ Store 21(fout) 153
+ 154: 18(float) Load 121(v1)
+ 157: 6(int) Load 156(i1)
+ 158: 18(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 154 157
+ 159: 129(ptr) AccessChain 21(fout) 16
+ 160: 18(float) Load 159
+ 161: 18(float) FAdd 160 158
+ 162: 129(ptr) AccessChain 21(fout) 16
+ Store 162 161
+ 163: 6(int) Load 156(i1)
+ 166: 6(int) BitFieldSExtract 163 164 165
+ 167: 135(ptr) AccessChain 9(iout) 16
+ 168: 6(int) Load 167
+ 169: 6(int) IAdd 168 166
+ 170: 135(ptr) AccessChain 9(iout) 16
+ Store 170 169
+ 174: 171(ivec3) Load 173(u3)
+ 175: 171(ivec3) BitFieldUExtract 174 164 165
+ 176: 13(ivec4) Load 15(uout)
+ 177: 171(ivec3) VectorShuffle 176 176 0 1 2
+ 178: 171(ivec3) IAdd 177 175
+ 179: 13(ivec4) Load 15(uout)
+ 180: 13(ivec4) VectorShuffle 179 178 4 5 6 3
+ Store 15(uout) 180
+ 183: 102(ivec3) Load 182(i3)
+ 184: 102(ivec3) Load 182(i3)
+ 185: 102(ivec3) BitFieldInsert 183 184 164 165
+ 186: 7(ivec4) Load 9(iout)
+ 187: 102(ivec3) VectorShuffle 186 186 0 1 2
+ 188: 102(ivec3) IAdd 187 185
+ 189: 7(ivec4) Load 9(iout)
+ 190: 7(ivec4) VectorShuffle 189 188 4 5 6 3
+ Store 9(iout) 190
+ 191: 12(int) Load 47(u1)
+ 192: 12(int) Load 47(u1)
+ 193: 12(int) BitFieldInsert 191 192 164 165
+ 194: 56(ptr) AccessChain 15(uout) 16
+ 195: 12(int) Load 194
+ 196: 12(int) IAdd 195 193
+ 197: 56(ptr) AccessChain 15(uout) 16
+ Store 197 196
+ 198: 144(ivec2) Load 146(i2)
+ 199: 144(ivec2) BitReverse 198
+ 200: 7(ivec4) Load 9(iout)
+ 201: 144(ivec2) VectorShuffle 200 200 0 1
+ 202: 144(ivec2) IAdd 201 199
+ 203: 7(ivec4) Load 9(iout)
+ 204: 7(ivec4) VectorShuffle 203 202 4 5 2 3
+ Store 9(iout) 204
+ 205: 13(ivec4) Load 67(u4)
+ 206: 13(ivec4) BitReverse 205
+ 207: 13(ivec4) Load 15(uout)
+ 208: 13(ivec4) IAdd 207 206
+ Store 15(uout) 208
+ 209: 6(int) Load 156(i1)
+ 210: 6(int) BitCount 209
+ 211: 135(ptr) AccessChain 9(iout) 16
+ 212: 6(int) Load 211
+ 213: 6(int) IAdd 212 210
+ 214: 135(ptr) AccessChain 9(iout) 16
+ Store 214 213
+ 215: 171(ivec3) Load 173(u3)
+ 216: 102(ivec3) BitCount 215
+ 217: 7(ivec4) Load 9(iout)
+ 218: 102(ivec3) VectorShuffle 217 217 0 1 2
+ 219: 102(ivec3) IAdd 218 216
+ 220: 7(ivec4) Load 9(iout)
+ 221: 7(ivec4) VectorShuffle 220 219 4 5 6 3
+ Store 9(iout) 221
+ 222: 144(ivec2) Load 146(i2)
+ 223: 144(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 222
+ 224: 7(ivec4) Load 9(iout)
+ 225: 144(ivec2) VectorShuffle 224 224 0 1
+ 226: 144(ivec2) IAdd 225 223
+ 227: 7(ivec4) Load 9(iout)
+ 228: 7(ivec4) VectorShuffle 227 226 4 5 2 3
+ Store 9(iout) 228
+ 229: 13(ivec4) Load 67(u4)
+ 230: 7(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 229
+ 231: 7(ivec4) Load 9(iout)
+ 232: 7(ivec4) IAdd 231 230
+ Store 9(iout) 232
+ 233: 6(int) Load 156(i1)
+ 234: 6(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 233
+ 235: 135(ptr) AccessChain 9(iout) 16
+ 236: 6(int) Load 235
+ 237: 6(int) IAdd 236 234
+ 238: 135(ptr) AccessChain 9(iout) 16
+ Store 238 237
+ 239: 24(ivec2) Load 26(u2)
+ 240: 144(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 239
+ 241: 7(ivec4) Load 9(iout)
+ 242: 144(ivec2) VectorShuffle 241 241 0 1
+ 243: 144(ivec2) IAdd 242 240
+ 244: 7(ivec4) Load 9(iout)
+ 245: 7(ivec4) VectorShuffle 244 243 4 5 2 3
+ Store 9(iout) 245
+ 248: 19(fvec4) Load 247(v4)
+ 249: 12(int) ExtInst 1(GLSL.std.450) 55(PackUnorm4x8) 248
+ 250: 56(ptr) AccessChain 15(uout) 16
+ 251: 12(int) Load 250
+ 252: 12(int) IAdd 251 249
+ 253: 56(ptr) AccessChain 15(uout) 16
+ Store 253 252
+ 254: 19(fvec4) Load 247(v4)
+ 255: 12(int) ExtInst 1(GLSL.std.450) 54(PackSnorm4x8) 254
+ 256: 56(ptr) AccessChain 15(uout) 16
+ 257: 12(int) Load 256
+ 258: 12(int) IAdd 257 255
+ 259: 56(ptr) AccessChain 15(uout) 16
+ Store 259 258
+ 260: 12(int) Load 47(u1)
+ 261: 19(fvec4) ExtInst 1(GLSL.std.450) 64(UnpackUnorm4x8) 260
+ 262: 19(fvec4) Load 21(fout)
+ 263: 19(fvec4) FAdd 262 261
+ Store 21(fout) 263
+ 264: 12(int) Load 47(u1)
+ 265: 19(fvec4) ExtInst 1(GLSL.std.450) 63(UnpackSnorm4x8) 264
+ 266: 19(fvec4) Load 21(fout)
+ 267: 19(fvec4) FAdd 266 265
+ Store 21(fout) 267
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.interpOps.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.interpOps.frag.out
new file mode 100644
index 00000000000..a5076421ba9
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.interpOps.frag.out
@@ -0,0 +1,143 @@
+spv.interpOps.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 100
+
+ Capability Shader
+ Capability InterpolationFunction
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 13 24 33 41 47 72 98
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ Name 4 "main"
+ Name 9 "f4"
+ Name 13 "if1"
+ Name 24 "if2"
+ Name 33 "if3"
+ Name 41 "if4"
+ Name 47 "samp"
+ Name 72 "offset"
+ Name 98 "fragColor"
+ Decorate 47(samp) Flat
+ Decorate 72(offset) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: 6(float) Constant 0
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 12: TypePointer Input 6(float)
+ 13(if1): 12(ptr) Variable Input
+ 15: TypeInt 32 0
+ 16: 15(int) Constant 0
+ 17: TypePointer Function 6(float)
+ 22: TypeVector 6(float) 2
+ 23: TypePointer Input 22(fvec2)
+ 24(if2): 23(ptr) Variable Input
+ 31: TypeVector 6(float) 3
+ 32: TypePointer Input 31(fvec3)
+ 33(if3): 32(ptr) Variable Input
+ 40: TypePointer Input 7(fvec4)
+ 41(if4): 40(ptr) Variable Input
+ 45: TypeInt 32 1
+ 46: TypePointer Input 45(int)
+ 47(samp): 46(ptr) Variable Input
+ 72(offset): 23(ptr) Variable Input
+ 97: TypePointer Output 7(fvec4)
+ 98(fragColor): 97(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(f4): 8(ptr) Variable Function
+ Store 9(f4) 11
+ 14: 6(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 13(if1)
+ 18: 17(ptr) AccessChain 9(f4) 16
+ 19: 6(float) Load 18
+ 20: 6(float) FAdd 19 14
+ 21: 17(ptr) AccessChain 9(f4) 16
+ Store 21 20
+ 25: 22(fvec2) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 24(if2)
+ 26: 7(fvec4) Load 9(f4)
+ 27: 22(fvec2) VectorShuffle 26 26 0 1
+ 28: 22(fvec2) FAdd 27 25
+ 29: 7(fvec4) Load 9(f4)
+ 30: 7(fvec4) VectorShuffle 29 28 4 5 2 3
+ Store 9(f4) 30
+ 34: 31(fvec3) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 33(if3)
+ 35: 7(fvec4) Load 9(f4)
+ 36: 31(fvec3) VectorShuffle 35 35 0 1 2
+ 37: 31(fvec3) FAdd 36 34
+ 38: 7(fvec4) Load 9(f4)
+ 39: 7(fvec4) VectorShuffle 38 37 4 5 6 3
+ Store 9(f4) 39
+ 42: 7(fvec4) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 41(if4)
+ 43: 7(fvec4) Load 9(f4)
+ 44: 7(fvec4) FAdd 43 42
+ Store 9(f4) 44
+ 48: 45(int) Load 47(samp)
+ 49: 6(float) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 13(if1) 48
+ 50: 17(ptr) AccessChain 9(f4) 16
+ 51: 6(float) Load 50
+ 52: 6(float) FAdd 51 49
+ 53: 17(ptr) AccessChain 9(f4) 16
+ Store 53 52
+ 54: 45(int) Load 47(samp)
+ 55: 22(fvec2) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 24(if2) 54
+ 56: 7(fvec4) Load 9(f4)
+ 57: 22(fvec2) VectorShuffle 56 56 0 1
+ 58: 22(fvec2) FAdd 57 55
+ 59: 7(fvec4) Load 9(f4)
+ 60: 7(fvec4) VectorShuffle 59 58 4 5 2 3
+ Store 9(f4) 60
+ 61: 45(int) Load 47(samp)
+ 62: 31(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 33(if3) 61
+ 63: 7(fvec4) Load 9(f4)
+ 64: 31(fvec3) VectorShuffle 63 63 0 1 2
+ 65: 31(fvec3) FAdd 64 62
+ 66: 7(fvec4) Load 9(f4)
+ 67: 7(fvec4) VectorShuffle 66 65 4 5 6 3
+ Store 9(f4) 67
+ 68: 45(int) Load 47(samp)
+ 69: 7(fvec4) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 41(if4) 68
+ 70: 7(fvec4) Load 9(f4)
+ 71: 7(fvec4) FAdd 70 69
+ Store 9(f4) 71
+ 73: 22(fvec2) Load 72(offset)
+ 74: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 13(if1) 73
+ 75: 17(ptr) AccessChain 9(f4) 16
+ 76: 6(float) Load 75
+ 77: 6(float) FAdd 76 74
+ 78: 17(ptr) AccessChain 9(f4) 16
+ Store 78 77
+ 79: 22(fvec2) Load 72(offset)
+ 80: 22(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 24(if2) 79
+ 81: 7(fvec4) Load 9(f4)
+ 82: 22(fvec2) VectorShuffle 81 81 0 1
+ 83: 22(fvec2) FAdd 82 80
+ 84: 7(fvec4) Load 9(f4)
+ 85: 7(fvec4) VectorShuffle 84 83 4 5 2 3
+ Store 9(f4) 85
+ 86: 22(fvec2) Load 72(offset)
+ 87: 31(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 33(if3) 86
+ 88: 7(fvec4) Load 9(f4)
+ 89: 31(fvec3) VectorShuffle 88 88 0 1 2
+ 90: 31(fvec3) FAdd 89 87
+ 91: 7(fvec4) Load 9(f4)
+ 92: 7(fvec4) VectorShuffle 91 90 4 5 6 3
+ Store 9(f4) 92
+ 93: 22(fvec2) Load 72(offset)
+ 94: 7(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 41(if4) 93
+ 95: 7(fvec4) Load 9(f4)
+ 96: 7(fvec4) FAdd 95 94
+ Store 9(f4) 96
+ 99: 7(fvec4) Load 9(f4)
+ Store 98(fragColor) 99
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.layoutNested.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.layoutNested.vert.out
new file mode 100644
index 00000000000..4f3d67c146c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.layoutNested.vert.out
@@ -0,0 +1,242 @@
+spv.layoutNested.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 67
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 63 66
+ Source GLSL 450
+ Name 4 "main"
+ Name 14 "S"
+ MemberName 14(S) 0 "a"
+ MemberName 14(S) 1 "b"
+ MemberName 14(S) 2 "c"
+ Name 19 "Block140"
+ MemberName 19(Block140) 0 "u"
+ MemberName 19(Block140) 1 "s"
+ MemberName 19(Block140) 2 "v"
+ Name 21 "inst140"
+ Name 23 "S"
+ MemberName 23(S) 0 "a"
+ MemberName 23(S) 1 "b"
+ MemberName 23(S) 2 "c"
+ Name 26 "Block430"
+ MemberName 26(Block430) 0 "u"
+ MemberName 26(Block430) 1 "s"
+ MemberName 26(Block430) 2 "v"
+ Name 28 "inst430"
+ Name 29 "S"
+ MemberName 29(S) 0 "a"
+ MemberName 29(S) 1 "b"
+ MemberName 29(S) 2 "c"
+ Name 31 "s"
+ Name 32 "T"
+ MemberName 32(T) 0 "m"
+ MemberName 32(T) 1 "a"
+ Name 34 "t"
+ Name 35 "T"
+ MemberName 35(T) 0 "m"
+ MemberName 35(T) 1 "a"
+ Name 36 "Nestor"
+ MemberName 36(Nestor) 0 "nestorT"
+ Name 37 "Bt1"
+ MemberName 37(Bt1) 0 "nt"
+ Name 39 "Btn1"
+ Name 40 "T"
+ MemberName 40(T) 0 "m"
+ MemberName 40(T) 1 "a"
+ Name 41 "Nestor"
+ MemberName 41(Nestor) 0 "nestorT"
+ Name 42 "Bt2"
+ MemberName 42(Bt2) 0 "nt"
+ Name 44 "Btn2"
+ Name 45 "Bt3"
+ MemberName 45(Bt3) 0 "ntcol"
+ MemberName 45(Bt3) 1 "ntrow"
+ Name 47 "Btn3"
+ Name 48 "T"
+ MemberName 48(T) 0 "m"
+ MemberName 48(T) 1 "a"
+ Name 49 "Nestor"
+ MemberName 49(Nestor) 0 "nestorT"
+ Name 50 "bBt1"
+ MemberName 50(bBt1) 0 "nt"
+ Name 52 "bBtn1"
+ Name 53 "T"
+ MemberName 53(T) 0 "m"
+ MemberName 53(T) 1 "a"
+ Name 54 "Nestor"
+ MemberName 54(Nestor) 0 "nestorT"
+ Name 55 "bBt2"
+ MemberName 55(bBt2) 0 "nt"
+ Name 57 "bBtn2"
+ Name 58 "bBt3"
+ MemberName 58(bBt3) 0 "ntcol"
+ MemberName 58(bBt3) 1 "ntrow"
+ Name 60 "bBtn3"
+ Name 61 "S"
+ MemberName 61(S) 0 "a"
+ MemberName 61(S) 1 "b"
+ MemberName 61(S) 2 "c"
+ Name 63 "sout"
+ Name 64 "S"
+ MemberName 64(S) 0 "a"
+ MemberName 64(S) 1 "b"
+ MemberName 64(S) 2 "c"
+ Name 66 "soutinv"
+ Decorate 13 ArrayStride 32
+ MemberDecorate 14(S) 0 Offset 0
+ MemberDecorate 14(S) 1 ColMajor
+ MemberDecorate 14(S) 1 Offset 16
+ MemberDecorate 14(S) 1 MatrixStride 16
+ MemberDecorate 14(S) 2 Offset 144
+ Decorate 16 ArrayStride 160
+ Decorate 18 ArrayStride 480
+ MemberDecorate 19(Block140) 0 Offset 0
+ MemberDecorate 19(Block140) 1 Offset 16
+ MemberDecorate 19(Block140) 2 Offset 976
+ Decorate 19(Block140) Block
+ Decorate 21(inst140) DescriptorSet 0
+ Decorate 21(inst140) Binding 0
+ Decorate 22 ArrayStride 16
+ MemberDecorate 23(S) 0 Offset 0
+ MemberDecorate 23(S) 1 ColMajor
+ MemberDecorate 23(S) 1 Offset 16
+ MemberDecorate 23(S) 1 MatrixStride 8
+ MemberDecorate 23(S) 2 Offset 80
+ Decorate 24 ArrayStride 96
+ Decorate 25 ArrayStride 288
+ MemberDecorate 26(Block430) 0 Offset 0
+ MemberDecorate 26(Block430) 1 Offset 16
+ MemberDecorate 26(Block430) 2 Offset 592
+ Decorate 26(Block430) BufferBlock
+ Decorate 28(inst430) DescriptorSet 0
+ Decorate 28(inst430) Binding 1
+ MemberDecorate 35(T) 0 RowMajor
+ MemberDecorate 35(T) 0 Offset 0
+ MemberDecorate 35(T) 0 MatrixStride 16
+ MemberDecorate 35(T) 1 Offset 32
+ MemberDecorate 36(Nestor) 0 Offset 0
+ MemberDecorate 37(Bt1) 0 Offset 0
+ Decorate 37(Bt1) Block
+ Decorate 39(Btn1) DescriptorSet 1
+ Decorate 39(Btn1) Binding 0
+ MemberDecorate 40(T) 0 ColMajor
+ MemberDecorate 40(T) 0 Offset 0
+ MemberDecorate 40(T) 0 MatrixStride 16
+ MemberDecorate 40(T) 1 Offset 32
+ MemberDecorate 41(Nestor) 0 Offset 0
+ MemberDecorate 42(Bt2) 0 Offset 0
+ Decorate 42(Bt2) Block
+ Decorate 44(Btn2) DescriptorSet 1
+ Decorate 44(Btn2) Binding 0
+ MemberDecorate 45(Bt3) 0 Offset 0
+ MemberDecorate 45(Bt3) 1 Offset 48
+ Decorate 45(Bt3) Block
+ Decorate 47(Btn3) DescriptorSet 1
+ Decorate 47(Btn3) Binding 0
+ MemberDecorate 48(T) 0 RowMajor
+ MemberDecorate 48(T) 0 Offset 0
+ MemberDecorate 48(T) 0 MatrixStride 8
+ MemberDecorate 48(T) 1 Offset 16
+ MemberDecorate 49(Nestor) 0 Offset 0
+ MemberDecorate 50(bBt1) 0 Offset 0
+ Decorate 50(bBt1) BufferBlock
+ Decorate 52(bBtn1) DescriptorSet 1
+ Decorate 52(bBtn1) Binding 0
+ MemberDecorate 53(T) 0 ColMajor
+ MemberDecorate 53(T) 0 Offset 0
+ MemberDecorate 53(T) 0 MatrixStride 8
+ MemberDecorate 53(T) 1 Offset 16
+ MemberDecorate 54(Nestor) 0 Offset 0
+ MemberDecorate 55(bBt2) 0 Offset 0
+ Decorate 55(bBt2) BufferBlock
+ Decorate 57(bBtn2) DescriptorSet 1
+ Decorate 57(bBtn2) Binding 0
+ MemberDecorate 58(bBt3) 0 Offset 0
+ MemberDecorate 58(bBt3) 1 Offset 24
+ Decorate 58(bBt3) BufferBlock
+ Decorate 60(bBtn3) DescriptorSet 1
+ Decorate 60(bBtn3) Binding 0
+ MemberDecorate 61(S) 0 Flat
+ MemberDecorate 61(S) 1 Flat
+ MemberDecorate 61(S) 2 Flat
+ MemberDecorate 64(S) 0 Invariant
+ MemberDecorate 64(S) 1 Invariant
+ MemberDecorate 64(S) 2 Invariant
+ Decorate 66(soutinv) Invariant
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeInt 32 0
+ 8: TypeVector 7(int) 3
+ 9: TypeFloat 32
+ 10: TypeVector 9(float) 2
+ 11: TypeMatrix 10(fvec2) 2
+ 12: 7(int) Constant 4
+ 13: TypeArray 11 12
+ 14(S): TypeStruct 8(ivec3) 13 7(int)
+ 15: 7(int) Constant 3
+ 16: TypeArray 14(S) 15
+ 17: 7(int) Constant 2
+ 18: TypeArray 16 17
+ 19(Block140): TypeStruct 6(int) 18 10(fvec2)
+ 20: TypePointer Uniform 19(Block140)
+ 21(inst140): 20(ptr) Variable Uniform
+ 22: TypeArray 11 12
+ 23(S): TypeStruct 8(ivec3) 22 7(int)
+ 24: TypeArray 23(S) 15
+ 25: TypeArray 24 17
+ 26(Block430): TypeStruct 6(int) 25 10(fvec2)
+ 27: TypePointer Uniform 26(Block430)
+ 28(inst430): 27(ptr) Variable Uniform
+ 29(S): TypeStruct 8(ivec3) 13 7(int)
+ 30: TypePointer Private 29(S)
+ 31(s): 30(ptr) Variable Private
+ 32(T): TypeStruct 11 6(int)
+ 33: TypePointer Private 32(T)
+ 34(t): 33(ptr) Variable Private
+ 35(T): TypeStruct 11 6(int)
+ 36(Nestor): TypeStruct 35(T)
+ 37(Bt1): TypeStruct 36(Nestor)
+ 38: TypePointer Uniform 37(Bt1)
+ 39(Btn1): 38(ptr) Variable Uniform
+ 40(T): TypeStruct 11 6(int)
+ 41(Nestor): TypeStruct 40(T)
+ 42(Bt2): TypeStruct 41(Nestor)
+ 43: TypePointer Uniform 42(Bt2)
+ 44(Btn2): 43(ptr) Variable Uniform
+ 45(Bt3): TypeStruct 41(Nestor) 36(Nestor)
+ 46: TypePointer Uniform 45(Bt3)
+ 47(Btn3): 46(ptr) Variable Uniform
+ 48(T): TypeStruct 11 6(int)
+ 49(Nestor): TypeStruct 48(T)
+ 50(bBt1): TypeStruct 49(Nestor)
+ 51: TypePointer Uniform 50(bBt1)
+ 52(bBtn1): 51(ptr) Variable Uniform
+ 53(T): TypeStruct 11 6(int)
+ 54(Nestor): TypeStruct 53(T)
+ 55(bBt2): TypeStruct 54(Nestor)
+ 56: TypePointer Uniform 55(bBt2)
+ 57(bBtn2): 56(ptr) Variable Uniform
+ 58(bBt3): TypeStruct 49(Nestor) 54(Nestor)
+ 59: TypePointer Uniform 58(bBt3)
+ 60(bBtn3): 59(ptr) Variable Uniform
+ 61(S): TypeStruct 8(ivec3) 13 7(int)
+ 62: TypePointer Output 61(S)
+ 63(sout): 62(ptr) Variable Output
+ 64(S): TypeStruct 8(ivec3) 13 7(int)
+ 65: TypePointer Output 64(S)
+ 66(soutinv): 65(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.length.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.length.frag.out
new file mode 100755
index 00000000000..81f98a61c2b
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.length.frag.out
@@ -0,0 +1,55 @@
+spv.length.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 33
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 14 26
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "t"
+ Name 14 "v"
+ Name 26 "gl_FragColor"
+ Name 32 "u"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypePointer Function 7(fvec2)
+ 10: TypeInt 32 0
+ 11: 10(int) Constant 2
+ 12: TypeArray 7(fvec2) 11
+ 13: TypePointer Input 12
+ 14(v): 13(ptr) Variable Input
+ 15: TypeInt 32 1
+ 16: 15(int) Constant 0
+ 17: TypePointer Input 7(fvec2)
+ 20: 15(int) Constant 1
+ 24: TypeVector 6(float) 4
+ 25: TypePointer Output 24(fvec4)
+26(gl_FragColor): 25(ptr) Variable Output
+ 27: 6(float) Constant 1106247680
+ 28: 24(fvec4) ConstantComposite 27 27 27 27
+ 29: 10(int) Constant 3
+ 30: TypeArray 24(fvec4) 29
+ 31: TypePointer Private 30
+ 32(u): 31(ptr) Variable Private
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(t): 8(ptr) Variable Function
+ 18: 17(ptr) AccessChain 14(v) 16
+ 19: 7(fvec2) Load 18
+ 21: 17(ptr) AccessChain 14(v) 20
+ 22: 7(fvec2) Load 21
+ 23: 7(fvec2) FAdd 19 22
+ Store 9(t) 23
+ Store 26(gl_FragColor) 28
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.localAggregates.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.localAggregates.frag.out
new file mode 100755
index 00000000000..cd8afedca0d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.localAggregates.frag.out
@@ -0,0 +1,256 @@
+spv.localAggregates.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 143
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 18 43 93 101 111 138 142
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 400
+ Name 4 "main"
+ Name 8 "s1"
+ MemberName 8(s1) 0 "i"
+ MemberName 8(s1) 1 "f"
+ Name 10 "s2"
+ MemberName 10(s2) 0 "i"
+ MemberName 10(s2) 1 "f"
+ MemberName 10(s2) 2 "s1_1"
+ MemberName 10(s2) 3 "bleh"
+ Name 12 "locals2"
+ Name 13 "s1"
+ MemberName 13(s1) 0 "i"
+ MemberName 13(s1) 1 "f"
+ Name 14 "s2"
+ MemberName 14(s2) 0 "i"
+ MemberName 14(s2) 1 "f"
+ MemberName 14(s2) 2 "s1_1"
+ MemberName 14(s2) 3 "bleh"
+ Name 15 "s1"
+ MemberName 15(s1) 0 "i"
+ MemberName 15(s1) 1 "f"
+ Name 16 "s3"
+ MemberName 16(s3) 0 "s2_1"
+ MemberName 16(s3) 1 "i"
+ MemberName 16(s3) 2 "f"
+ MemberName 16(s3) 3 "s1_1"
+ Name 18 "foo3"
+ Name 39 "localFArray"
+ Name 43 "coord"
+ Name 52 "localIArray"
+ Name 71 "x"
+ Name 73 "localArray"
+ Name 78 "i"
+ Name 87 "a"
+ Name 93 "condition"
+ Name 101 "color"
+ Name 111 "gl_FragColor"
+ Name 131 "samp2D"
+ Name 136 "s1"
+ MemberName 136(s1) 0 "i"
+ MemberName 136(s1) 1 "f"
+ Name 138 "foo"
+ Name 139 "s1"
+ MemberName 139(s1) 0 "i"
+ MemberName 139(s1) 1 "f"
+ Name 140 "s2"
+ MemberName 140(s2) 0 "i"
+ MemberName 140(s2) 1 "f"
+ MemberName 140(s2) 2 "s1_1"
+ MemberName 140(s2) 3 "bleh"
+ Name 142 "foo2"
+ MemberDecorate 16(s3) 0 Flat
+ MemberDecorate 16(s3) 1 Flat
+ MemberDecorate 16(s3) 2 Flat
+ MemberDecorate 16(s3) 3 Flat
+ Decorate 93(condition) Flat
+ Decorate 131(samp2D) DescriptorSet 0
+ MemberDecorate 136(s1) 0 Flat
+ MemberDecorate 136(s1) 1 Flat
+ MemberDecorate 140(s2) 0 Flat
+ MemberDecorate 140(s2) 1 Flat
+ MemberDecorate 140(s2) 2 Flat
+ MemberDecorate 140(s2) 3 Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeFloat 32
+ 8(s1): TypeStruct 6(int) 7(float)
+ 9: TypeVector 7(float) 4
+ 10(s2): TypeStruct 6(int) 7(float) 8(s1) 9(fvec4)
+ 11: TypePointer Function 10(s2)
+ 13(s1): TypeStruct 6(int) 7(float)
+ 14(s2): TypeStruct 6(int) 7(float) 13(s1) 9(fvec4)
+ 15(s1): TypeStruct 6(int) 7(float)
+ 16(s3): TypeStruct 14(s2) 6(int) 7(float) 15(s1)
+ 17: TypePointer Input 16(s3)
+ 18(foo3): 17(ptr) Variable Input
+ 19: 6(int) Constant 0
+ 20: TypePointer Input 14(s2)
+ 23: TypePointer Input 6(int)
+ 26: TypeBool
+ 30: 6(int) Constant 2
+ 31: 6(int) Constant 1
+ 32: 7(float) Constant 1065353216
+ 33: TypePointer Function 7(float)
+ 35: TypeInt 32 0
+ 36: 35(int) Constant 16
+ 37: TypeArray 7(float) 36
+ 38: TypePointer Function 37
+ 40: 6(int) Constant 4
+ 41: TypeVector 7(float) 2
+ 42: TypePointer Input 41(fvec2)
+ 43(coord): 42(ptr) Variable Input
+ 44: 35(int) Constant 0
+ 45: TypePointer Input 7(float)
+ 49: 35(int) Constant 8
+ 50: TypeArray 6(int) 49
+ 51: TypePointer Function 50
+ 55: TypePointer Function 6(int)
+ 72: 6(int) Constant 5
+ 85: 6(int) Constant 16
+ 89: 7(float) Constant 0
+ 93(condition): 23(ptr) Variable Input
+ 99: 6(int) Constant 3
+ 100: TypePointer Input 9(fvec4)
+ 101(color): 100(ptr) Variable Input
+ 103: TypePointer Function 9(fvec4)
+ 105: 35(int) Constant 1
+ 108: 35(int) Constant 2
+ 110: TypePointer Output 9(fvec4)
+111(gl_FragColor): 110(ptr) Variable Output
+ 128: TypeImage 7(float) 2D sampled format:Unknown
+ 129: TypeSampledImage 128
+ 130: TypePointer UniformConstant 129
+ 131(samp2D): 130(ptr) Variable UniformConstant
+ 136(s1): TypeStruct 6(int) 7(float)
+ 137: TypePointer Input 136(s1)
+ 138(foo): 137(ptr) Variable Input
+ 139(s1): TypeStruct 6(int) 7(float)
+ 140(s2): TypeStruct 6(int) 7(float) 139(s1) 9(fvec4)
+ 141: TypePointer Input 140(s2)
+ 142(foo2): 141(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 12(locals2): 11(ptr) Variable Function
+ 39(localFArray): 38(ptr) Variable Function
+ 52(localIArray): 51(ptr) Variable Function
+ 71(x): 55(ptr) Variable Function
+ 73(localArray): 38(ptr) Variable Function
+ 78(i): 55(ptr) Variable Function
+ 87(a): 38(ptr) Variable Function
+ 21: 20(ptr) AccessChain 18(foo3) 19
+ 22: 14(s2) Load 21
+ Store 12(locals2) 22
+ 24: 23(ptr) AccessChain 18(foo3) 19 19
+ 25: 6(int) Load 24
+ 27: 26(bool) SGreaterThan 25 19
+ SelectionMerge 29 None
+ BranchConditional 27 28 57
+ 28: Label
+ 34: 33(ptr) AccessChain 12(locals2) 30 31
+ Store 34 32
+ 46: 45(ptr) AccessChain 43(coord) 44
+ 47: 7(float) Load 46
+ 48: 33(ptr) AccessChain 39(localFArray) 40
+ Store 48 47
+ 53: 23(ptr) AccessChain 18(foo3) 19 19
+ 54: 6(int) Load 53
+ 56: 55(ptr) AccessChain 52(localIArray) 30
+ Store 56 54
+ Branch 29
+ 57: Label
+ 58: 45(ptr) AccessChain 43(coord) 44
+ 59: 7(float) Load 58
+ 60: 33(ptr) AccessChain 12(locals2) 30 31
+ Store 60 59
+ 61: 33(ptr) AccessChain 39(localFArray) 40
+ Store 61 32
+ 62: 55(ptr) AccessChain 52(localIArray) 30
+ Store 62 19
+ Branch 29
+ 29: Label
+ 63: 55(ptr) AccessChain 52(localIArray) 30
+ 64: 6(int) Load 63
+ 65: 26(bool) IEqual 64 19
+ SelectionMerge 67 None
+ BranchConditional 65 66 67
+ 66: Label
+ 68: 33(ptr) AccessChain 39(localFArray) 40
+ 69: 7(float) Load 68
+ 70: 7(float) FAdd 69 32
+ Store 68 70
+ Branch 67
+ 67: Label
+ Store 71(x) 72
+ 74: 6(int) Load 71(x)
+ 75: 45(ptr) AccessChain 43(coord) 44
+ 76: 7(float) Load 75
+ 77: 33(ptr) AccessChain 73(localArray) 74
+ Store 77 76
+ Store 78(i) 19
+ Branch 79
+ 79: Label
+ LoopMerge 81 82 None
+ Branch 83
+ 83: Label
+ 84: 6(int) Load 78(i)
+ 86: 26(bool) SLessThan 84 85
+ BranchConditional 86 80 81
+ 80: Label
+ 88: 6(int) Load 78(i)
+ 90: 33(ptr) AccessChain 87(a) 88
+ Store 90 89
+ Branch 82
+ 82: Label
+ 91: 6(int) Load 78(i)
+ 92: 6(int) IAdd 91 31
+ Store 78(i) 92
+ Branch 79
+ 81: Label
+ 94: 6(int) Load 93(condition)
+ 95: 26(bool) IEqual 94 31
+ SelectionMerge 97 None
+ BranchConditional 95 96 97
+ 96: Label
+ 98: 37 Load 73(localArray)
+ Store 87(a) 98
+ Branch 97
+ 97: Label
+ 102: 9(fvec4) Load 101(color)
+ 104: 103(ptr) AccessChain 12(locals2) 99
+ Store 104 102
+ 106: 45(ptr) AccessChain 43(coord) 105
+ 107: 7(float) Load 106
+ 109: 33(ptr) AccessChain 12(locals2) 99 108
+ Store 109 107
+ 112: 103(ptr) AccessChain 12(locals2) 99
+ 113: 9(fvec4) Load 112
+ 114: 33(ptr) AccessChain 39(localFArray) 40
+ 115: 7(float) Load 114
+ 116: 33(ptr) AccessChain 12(locals2) 30 31
+ 117: 7(float) Load 116
+ 118: 7(float) FAdd 115 117
+ 119: 6(int) Load 71(x)
+ 120: 33(ptr) AccessChain 73(localArray) 119
+ 121: 7(float) Load 120
+ 122: 7(float) FAdd 118 121
+ 123: 6(int) Load 71(x)
+ 124: 33(ptr) AccessChain 87(a) 123
+ 125: 7(float) Load 124
+ 126: 7(float) FAdd 122 125
+ 127: 9(fvec4) VectorTimesScalar 113 126
+ 132: 129 Load 131(samp2D)
+ 133: 41(fvec2) Load 43(coord)
+ 134: 9(fvec4) ImageSampleImplicitLod 132 133
+ 135: 9(fvec4) FMul 127 134
+ Store 111(gl_FragColor) 135
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.loops.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.loops.frag.out
new file mode 100755
index 00000000000..952f7941790
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.loops.frag.out
@@ -0,0 +1,1108 @@
+spv.loops.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 725
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 11 54 57 71 106 114 118 131 137 157 160 171 308 344 350 366 380 418 450 469 512 544 552 562 588 615 624 629 649 687 698
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 54 "d"
+ Name 57 "bigColor"
+ Name 71 "bigColor1_1"
+ Name 106 "d2"
+ Name 114 "d3"
+ Name 118 "bigColor1_2"
+ Name 131 "bigColor1_3"
+ Name 137 "d4"
+ Name 148 "i"
+ Name 157 "Count"
+ Name 160 "bigColor2"
+ Name 171 "bigColor3"
+ Name 179 "i"
+ Name 195 "i"
+ Name 231 "i"
+ Name 254 "i"
+ Name 279 "i"
+ Name 308 "bigColor4"
+ Name 344 "bigColor5"
+ Name 350 "d5"
+ Name 366 "d6"
+ Name 380 "bigColor6"
+ Name 418 "d7"
+ Name 450 "bigColor7"
+ Name 469 "d8"
+ Name 512 "d9"
+ Name 544 "d10"
+ Name 552 "d11"
+ Name 562 "d12"
+ Name 588 "bigColor8"
+ Name 615 "gl_FragColor"
+ Name 624 "d14"
+ Name 629 "d15"
+ Name 649 "d16"
+ Name 687 "d18"
+ Name 698 "d17"
+ Decorate 157(Count) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 18: TypeBool
+ 19: 18(bool) ConstantTrue
+ 20: TypeInt 32 0
+ 21: 20(int) Constant 0
+ 22: TypePointer Function 6(float)
+ 25: 6(float) Constant 1051260355
+ 29: 7(fvec4) ConstantComposite 25 25 25 25
+ 35: 6(float) Constant 1059648963
+ 39: 7(fvec4) ConstantComposite 35 35 35 35
+ 53: TypePointer Input 6(float)
+ 54(d): 53(ptr) Variable Input
+ 57(bigColor): 10(ptr) Variable Input
+ 66: 20(int) Constant 2
+ 71(bigColor1_1): 10(ptr) Variable Input
+ 75: 20(int) Constant 3
+ 93: 6(float) Constant 1109917696
+ 96: 6(float) Constant 1065353216
+ 106(d2): 53(ptr) Variable Input
+ 111: 20(int) Constant 1
+ 114(d3): 53(ptr) Variable Input
+118(bigColor1_2): 10(ptr) Variable Input
+131(bigColor1_3): 10(ptr) Variable Input
+ 137(d4): 53(ptr) Variable Input
+ 146: TypeInt 32 1
+ 147: TypePointer Function 146(int)
+ 149: 146(int) Constant 0
+ 156: TypePointer Input 146(int)
+ 157(Count): 156(ptr) Variable Input
+ 160(bigColor2): 10(ptr) Variable Input
+ 165: 146(int) Constant 1
+ 171(bigColor3): 10(ptr) Variable Input
+ 186: 146(int) Constant 42
+ 202: 146(int) Constant 100
+ 206: 6(float) Constant 1101004800
+ 238: 146(int) Constant 120
+ 308(bigColor4): 10(ptr) Variable Input
+ 344(bigColor5): 10(ptr) Variable Input
+ 350(d5): 53(ptr) Variable Input
+ 366(d6): 53(ptr) Variable Input
+ 380(bigColor6): 10(ptr) Variable Input
+ 418(d7): 53(ptr) Variable Input
+ 445: 6(float) Constant 0
+ 450(bigColor7): 10(ptr) Variable Input
+ 469(d8): 53(ptr) Variable Input
+ 486: 6(float) Constant 1073741824
+ 512(d9): 53(ptr) Variable Input
+ 528: 6(float) Constant 1084227584
+ 544(d10): 53(ptr) Variable Input
+ 552(d11): 53(ptr) Variable Input
+ 562(d12): 53(ptr) Variable Input
+ 586: 6(float) Constant 1092616192
+ 588(bigColor8): 10(ptr) Variable Input
+ 614: TypePointer Output 7(fvec4)
+615(gl_FragColor): 614(ptr) Variable Output
+ 624(d14): 53(ptr) Variable Input
+ 629(d15): 53(ptr) Variable Input
+ 649(d16): 53(ptr) Variable Input
+ 687(d18): 53(ptr) Variable Input
+ 698(d17): 53(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(color): 8(ptr) Variable Function
+ 148(i): 147(ptr) Variable Function
+ 179(i): 147(ptr) Variable Function
+ 195(i): 147(ptr) Variable Function
+ 231(i): 147(ptr) Variable Function
+ 254(i): 147(ptr) Variable Function
+ 279(i): 147(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ Branch 13
+ 13: Label
+ LoopMerge 15 16 None
+ Branch 17
+ 17: Label
+ BranchConditional 19 14 15
+ 14: Label
+ 23: 22(ptr) AccessChain 9(color) 21
+ 24: 6(float) Load 23
+ 26: 18(bool) FOrdLessThan 24 25
+ SelectionMerge 28 None
+ BranchConditional 26 27 28
+ 27: Label
+ 30: 7(fvec4) Load 9(color)
+ 31: 7(fvec4) FAdd 30 29
+ Store 9(color) 31
+ Branch 15
+ 28: Label
+ 33: 22(ptr) AccessChain 9(color) 21
+ 34: 6(float) Load 33
+ 36: 18(bool) FOrdLessThan 34 35
+ SelectionMerge 38 None
+ BranchConditional 36 37 38
+ 37: Label
+ 40: 7(fvec4) Load 9(color)
+ 41: 7(fvec4) FAdd 40 39
+ Store 9(color) 41
+ Branch 15
+ 38: Label
+ 43: 7(fvec4) Load 9(color)
+ 44: 7(fvec4) FAdd 43 29
+ Store 9(color) 44
+ Branch 15
+ 16: Label
+ Branch 13
+ 15: Label
+ Branch 46
+ 46: Label
+ LoopMerge 48 49 None
+ Branch 50
+ 50: Label
+ 51: 22(ptr) AccessChain 9(color) 21
+ 52: 6(float) Load 51
+ 55: 6(float) Load 54(d)
+ 56: 18(bool) FOrdLessThan 52 55
+ BranchConditional 56 47 48
+ 47: Label
+ 58: 7(fvec4) Load 57(bigColor)
+ 59: 7(fvec4) Load 9(color)
+ 60: 7(fvec4) FAdd 59 58
+ Store 9(color) 60
+ Branch 49
+ 49: Label
+ Branch 46
+ 48: Label
+ Branch 61
+ 61: Label
+ LoopMerge 63 64 None
+ Branch 65
+ 65: Label
+ 67: 22(ptr) AccessChain 9(color) 66
+ 68: 6(float) Load 67
+ 69: 6(float) Load 54(d)
+ 70: 18(bool) FOrdLessThan 68 69
+ BranchConditional 70 62 63
+ 62: Label
+ 72: 7(fvec4) Load 71(bigColor1_1)
+ 73: 7(fvec4) Load 9(color)
+ 74: 7(fvec4) FAdd 73 72
+ Store 9(color) 74
+ 76: 22(ptr) AccessChain 9(color) 75
+ 77: 6(float) Load 76
+ 78: 6(float) Load 54(d)
+ 79: 18(bool) FOrdLessThan 77 78
+ SelectionMerge 81 None
+ BranchConditional 79 80 81
+ 80: Label
+ Branch 64
+ 81: Label
+ 83: 7(fvec4) Load 71(bigColor1_1)
+ 84: 7(fvec4) Load 9(color)
+ 85: 7(fvec4) FAdd 84 83
+ Store 9(color) 85
+ Branch 64
+ 64: Label
+ Branch 61
+ 63: Label
+ Branch 86
+ 86: Label
+ LoopMerge 88 89 None
+ Branch 90
+ 90: Label
+ 91: 22(ptr) AccessChain 9(color) 21
+ 92: 6(float) Load 91
+ 94: 18(bool) FOrdLessThan 92 93
+ BranchConditional 94 87 88
+ 87: Label
+ 95: 7(fvec4) Load 9(color)
+ 97: 7(fvec4) CompositeConstruct 96 96 96 96
+ 98: 7(fvec4) FAdd 95 97
+ Store 9(color) 98
+ Branch 89
+ 89: Label
+ Branch 86
+ 88: Label
+ Branch 99
+ 99: Label
+ LoopMerge 101 102 None
+ Branch 103
+ 103: Label
+ 104: 22(ptr) AccessChain 9(color) 75
+ 105: 6(float) Load 104
+ 107: 6(float) Load 106(d2)
+ 108: 18(bool) FOrdLessThan 105 107
+ SelectionMerge 110 None
+ BranchConditional 108 109 110
+ 109: Label
+ 112: 22(ptr) AccessChain 9(color) 111
+ 113: 6(float) Load 112
+ 115: 6(float) Load 114(d3)
+ 116: 18(bool) FOrdLessThan 113 115
+ Branch 110
+ 110: Label
+ 117: 18(bool) Phi 108 103 116 109
+ BranchConditional 117 100 101
+ 100: Label
+ 119: 7(fvec4) Load 118(bigColor1_2)
+ 120: 7(fvec4) Load 9(color)
+ 121: 7(fvec4) FAdd 120 119
+ Store 9(color) 121
+ Branch 102
+ 102: Label
+ Branch 99
+ 101: Label
+ Branch 122
+ 122: Label
+ LoopMerge 124 125 None
+ Branch 126
+ 126: Label
+ 127: 22(ptr) AccessChain 9(color) 66
+ 128: 6(float) Load 127
+ 129: 6(float) Load 114(d3)
+ 130: 18(bool) FOrdLessThan 128 129
+ BranchConditional 130 123 124
+ 123: Label
+ 132: 7(fvec4) Load 131(bigColor1_3)
+ 133: 7(fvec4) Load 9(color)
+ 134: 7(fvec4) FAdd 133 132
+ Store 9(color) 134
+ 135: 22(ptr) AccessChain 9(color) 111
+ 136: 6(float) Load 135
+ 138: 6(float) Load 137(d4)
+ 139: 18(bool) FOrdLessThan 136 138
+ SelectionMerge 141 None
+ BranchConditional 139 140 141
+ 140: Label
+ Branch 124
+ 141: Label
+ 143: 7(fvec4) Load 131(bigColor1_3)
+ 144: 7(fvec4) Load 9(color)
+ 145: 7(fvec4) FAdd 144 143
+ Store 9(color) 145
+ Branch 125
+ 125: Label
+ Branch 122
+ 124: Label
+ Store 148(i) 149
+ Branch 150
+ 150: Label
+ LoopMerge 152 153 None
+ Branch 154
+ 154: Label
+ 155: 146(int) Load 148(i)
+ 158: 146(int) Load 157(Count)
+ 159: 18(bool) SLessThan 155 158
+ BranchConditional 159 151 152
+ 151: Label
+ 161: 7(fvec4) Load 160(bigColor2)
+ 162: 7(fvec4) Load 9(color)
+ 163: 7(fvec4) FAdd 162 161
+ Store 9(color) 163
+ Branch 153
+ 153: Label
+ 164: 146(int) Load 148(i)
+ 166: 146(int) IAdd 164 165
+ Store 148(i) 166
+ Branch 150
+ 152: Label
+ Branch 167
+ 167: Label
+ LoopMerge 169 170 None
+ Branch 168
+ 168: Label
+ 172: 7(fvec4) Load 171(bigColor3)
+ 173: 7(fvec4) Load 9(color)
+ 174: 7(fvec4) FAdd 173 172
+ Store 9(color) 174
+ Branch 170
+ 170: Label
+ 175: 22(ptr) AccessChain 9(color) 21
+ 176: 6(float) Load 175
+ 177: 6(float) Load 106(d2)
+ 178: 18(bool) FOrdLessThan 176 177
+ BranchConditional 178 167 169
+ 169: Label
+ Store 179(i) 149
+ Branch 180
+ 180: Label
+ LoopMerge 182 183 None
+ Branch 184
+ 184: Label
+ 185: 146(int) Load 179(i)
+ 187: 18(bool) SLessThan 185 186
+ BranchConditional 187 181 182
+ 181: Label
+ 188: 6(float) Load 114(d3)
+ 189: 22(ptr) AccessChain 9(color) 66
+ 190: 6(float) Load 189
+ 191: 6(float) FAdd 190 188
+ 192: 22(ptr) AccessChain 9(color) 66
+ Store 192 191
+ Branch 183
+ 183: Label
+ 193: 146(int) Load 179(i)
+ 194: 146(int) IAdd 193 165
+ Store 179(i) 194
+ Branch 180
+ 182: Label
+ Store 195(i) 149
+ Branch 196
+ 196: Label
+ LoopMerge 198 199 None
+ Branch 200
+ 200: Label
+ 201: 146(int) Load 195(i)
+ 203: 18(bool) SLessThan 201 202
+ BranchConditional 203 197 198
+ 197: Label
+ 204: 22(ptr) AccessChain 9(color) 66
+ 205: 6(float) Load 204
+ 207: 18(bool) FOrdLessThan 205 206
+ SelectionMerge 209 None
+ BranchConditional 207 208 213
+ 208: Label
+ 210: 22(ptr) AccessChain 9(color) 21
+ 211: 6(float) Load 210
+ 212: 6(float) FAdd 211 96
+ Store 210 212
+ Branch 209
+ 213: Label
+ 214: 22(ptr) AccessChain 9(color) 111
+ 215: 6(float) Load 214
+ 216: 6(float) FAdd 215 96
+ Store 214 216
+ Branch 209
+ 209: Label
+ 217: 22(ptr) AccessChain 9(color) 75
+ 218: 6(float) Load 217
+ 219: 18(bool) FOrdLessThan 218 206
+ SelectionMerge 221 None
+ BranchConditional 219 220 221
+ 220: Label
+ 222: 22(ptr) AccessChain 9(color) 66
+ 223: 6(float) Load 222
+ 224: 22(ptr) AccessChain 9(color) 111
+ 225: 6(float) Load 224
+ 226: 18(bool) FOrdGreaterThan 223 225
+ SelectionMerge 228 None
+ BranchConditional 226 227 228
+ 227: Label
+ Branch 228
+ 228: Label
+ Branch 221
+ 221: Label
+ Branch 199
+ 199: Label
+ 229: 146(int) Load 195(i)
+ 230: 146(int) IAdd 229 165
+ Store 195(i) 230
+ Branch 196
+ 198: Label
+ Store 231(i) 149
+ Branch 232
+ 232: Label
+ LoopMerge 234 235 None
+ Branch 236
+ 236: Label
+ 237: 146(int) Load 231(i)
+ 239: 18(bool) SLessThan 237 238
+ BranchConditional 239 233 234
+ 233: Label
+ 240: 22(ptr) AccessChain 9(color) 66
+ 241: 6(float) Load 240
+ 242: 18(bool) FOrdLessThan 241 206
+ SelectionMerge 244 None
+ BranchConditional 242 243 248
+ 243: Label
+ 245: 22(ptr) AccessChain 9(color) 21
+ 246: 6(float) Load 245
+ 247: 6(float) FAdd 246 96
+ Store 245 247
+ Branch 244
+ 248: Label
+ 249: 22(ptr) AccessChain 9(color) 111
+ 250: 6(float) Load 249
+ 251: 6(float) FAdd 250 96
+ Store 249 251
+ Branch 244
+ 244: Label
+ Branch 235
+ 235: Label
+ 252: 146(int) Load 231(i)
+ 253: 146(int) IAdd 252 165
+ Store 231(i) 253
+ Branch 232
+ 234: Label
+ Store 254(i) 149
+ Branch 255
+ 255: Label
+ LoopMerge 257 258 None
+ Branch 259
+ 259: Label
+ 260: 146(int) Load 254(i)
+ 261: 18(bool) SLessThan 260 186
+ BranchConditional 261 256 257
+ 256: Label
+ 262: 6(float) Load 114(d3)
+ 263: 22(ptr) AccessChain 9(color) 66
+ 264: 6(float) Load 263
+ 265: 6(float) FAdd 264 262
+ 266: 22(ptr) AccessChain 9(color) 66
+ Store 266 265
+ 267: 22(ptr) AccessChain 9(color) 21
+ 268: 6(float) Load 267
+ 269: 6(float) Load 137(d4)
+ 270: 18(bool) FOrdLessThan 268 269
+ SelectionMerge 272 None
+ BranchConditional 270 271 272
+ 271: Label
+ Branch 258
+ 272: Label
+ 274: 22(ptr) AccessChain 9(color) 75
+ 275: 6(float) Load 274
+ 276: 6(float) FAdd 275 96
+ Store 274 276
+ Branch 258
+ 258: Label
+ 277: 146(int) Load 254(i)
+ 278: 146(int) IAdd 277 165
+ Store 254(i) 278
+ Branch 255
+ 257: Label
+ Store 279(i) 149
+ Branch 280
+ 280: Label
+ LoopMerge 282 283 None
+ Branch 284
+ 284: Label
+ 285: 146(int) Load 279(i)
+ 286: 18(bool) SLessThan 285 186
+ BranchConditional 286 281 282
+ 281: Label
+ 287: 6(float) Load 114(d3)
+ 288: 22(ptr) AccessChain 9(color) 66
+ 289: 6(float) Load 288
+ 290: 6(float) FAdd 289 287
+ 291: 22(ptr) AccessChain 9(color) 66
+ Store 291 290
+ 292: 22(ptr) AccessChain 9(color) 21
+ 293: 6(float) Load 292
+ 294: 6(float) Load 137(d4)
+ 295: 18(bool) FOrdLessThan 293 294
+ SelectionMerge 297 None
+ BranchConditional 295 296 297
+ 296: Label
+ Branch 282
+ 297: Label
+ 299: 22(ptr) AccessChain 9(color) 75
+ 300: 6(float) Load 299
+ 301: 6(float) FAdd 300 96
+ Store 299 301
+ Branch 283
+ 283: Label
+ 302: 146(int) Load 279(i)
+ 303: 146(int) IAdd 302 165
+ Store 279(i) 303
+ Branch 280
+ 282: Label
+ Branch 304
+ 304: Label
+ LoopMerge 306 307 None
+ Branch 305
+ 305: Label
+ 309: 7(fvec4) Load 308(bigColor4)
+ 310: 7(fvec4) Load 9(color)
+ 311: 7(fvec4) FAdd 310 309
+ Store 9(color) 311
+ 312: 22(ptr) AccessChain 9(color) 21
+ 313: 6(float) Load 312
+ 314: 6(float) Load 137(d4)
+ 315: 18(bool) FOrdLessThan 313 314
+ SelectionMerge 317 None
+ BranchConditional 315 316 317
+ 316: Label
+ Branch 307
+ 317: Label
+ 319: 22(ptr) AccessChain 9(color) 111
+ 320: 6(float) Load 319
+ 321: 6(float) Load 137(d4)
+ 322: 18(bool) FOrdLessThan 320 321
+ SelectionMerge 324 None
+ BranchConditional 322 323 330
+ 323: Label
+ 325: 6(float) Load 137(d4)
+ 326: 22(ptr) AccessChain 9(color) 111
+ 327: 6(float) Load 326
+ 328: 6(float) FAdd 327 325
+ 329: 22(ptr) AccessChain 9(color) 111
+ Store 329 328
+ Branch 324
+ 330: Label
+ 331: 6(float) Load 137(d4)
+ 332: 22(ptr) AccessChain 9(color) 21
+ 333: 6(float) Load 332
+ 334: 6(float) FAdd 333 331
+ 335: 22(ptr) AccessChain 9(color) 21
+ Store 335 334
+ Branch 324
+ 324: Label
+ Branch 307
+ 307: Label
+ 336: 22(ptr) AccessChain 9(color) 66
+ 337: 6(float) Load 336
+ 338: 6(float) Load 137(d4)
+ 339: 18(bool) FOrdLessThan 337 338
+ BranchConditional 339 304 306
+ 306: Label
+ Branch 340
+ 340: Label
+ LoopMerge 342 343 None
+ Branch 341
+ 341: Label
+ 345: 7(fvec4) Load 344(bigColor5)
+ 346: 7(fvec4) Load 9(color)
+ 347: 7(fvec4) FAdd 346 345
+ Store 9(color) 347
+ 348: 22(ptr) AccessChain 9(color) 111
+ 349: 6(float) Load 348
+ 351: 6(float) Load 350(d5)
+ 352: 18(bool) FOrdLessThan 349 351
+ SelectionMerge 354 None
+ BranchConditional 352 353 354
+ 353: Label
+ 355: 6(float) Load 350(d5)
+ 356: 22(ptr) AccessChain 9(color) 111
+ 357: 6(float) Load 356
+ 358: 6(float) FAdd 357 355
+ 359: 22(ptr) AccessChain 9(color) 111
+ Store 359 358
+ Branch 354
+ 354: Label
+ Branch 343
+ 343: Label
+ 360: 22(ptr) AccessChain 9(color) 21
+ 361: 6(float) Load 360
+ 362: 6(float) Load 350(d5)
+ 363: 18(bool) FOrdLessThan 361 362
+ BranchConditional 363 340 342
+ 342: Label
+ 364: 22(ptr) AccessChain 9(color) 21
+ 365: 6(float) Load 364
+ 367: 6(float) Load 366(d6)
+ 368: 18(bool) FOrdLessThan 365 367
+ SelectionMerge 370 None
+ BranchConditional 368 369 384
+ 369: Label
+ Branch 371
+ 371: Label
+ LoopMerge 373 374 None
+ Branch 375
+ 375: Label
+ 376: 22(ptr) AccessChain 9(color) 111
+ 377: 6(float) Load 376
+ 378: 6(float) Load 366(d6)
+ 379: 18(bool) FOrdLessThan 377 378
+ BranchConditional 379 372 373
+ 372: Label
+ 381: 7(fvec4) Load 380(bigColor6)
+ 382: 7(fvec4) Load 9(color)
+ 383: 7(fvec4) FAdd 382 381
+ Store 9(color) 383
+ Branch 374
+ 374: Label
+ Branch 371
+ 373: Label
+ Branch 370
+ 384: Label
+ Branch 385
+ 385: Label
+ LoopMerge 387 388 None
+ Branch 389
+ 389: Label
+ 390: 22(ptr) AccessChain 9(color) 66
+ 391: 6(float) Load 390
+ 392: 6(float) Load 366(d6)
+ 393: 18(bool) FOrdLessThan 391 392
+ BranchConditional 393 386 387
+ 386: Label
+ 394: 53(ptr) AccessChain 380(bigColor6) 66
+ 395: 6(float) Load 394
+ 396: 22(ptr) AccessChain 9(color) 66
+ 397: 6(float) Load 396
+ 398: 6(float) FAdd 397 395
+ 399: 22(ptr) AccessChain 9(color) 66
+ Store 399 398
+ Branch 388
+ 388: Label
+ Branch 385
+ 387: Label
+ Branch 370
+ 370: Label
+ 400: 22(ptr) AccessChain 9(color) 21
+ 401: 6(float) Load 400
+ 402: 6(float) Load 366(d6)
+ 403: 18(bool) FOrdLessThan 401 402
+ SelectionMerge 405 None
+ BranchConditional 403 404 424
+ 404: Label
+ Branch 406
+ 406: Label
+ LoopMerge 408 409 None
+ Branch 410
+ 410: Label
+ 411: 22(ptr) AccessChain 9(color) 111
+ 412: 6(float) Load 411
+ 413: 6(float) Load 366(d6)
+ 414: 18(bool) FOrdLessThan 412 413
+ BranchConditional 414 407 408
+ 407: Label
+ 415: 7(fvec4) Load 380(bigColor6)
+ 416: 7(fvec4) Load 9(color)
+ 417: 7(fvec4) FAdd 416 415
+ Store 9(color) 417
+ 419: 6(float) Load 418(d7)
+ 420: 18(bool) FOrdLessThan 419 96
+ SelectionMerge 422 None
+ BranchConditional 420 421 422
+ 421: Label
+ Branch 408
+ 422: Label
+ Branch 409
+ 409: Label
+ Branch 406
+ 408: Label
+ Branch 405
+ 424: Label
+ Branch 425
+ 425: Label
+ LoopMerge 427 428 None
+ Branch 429
+ 429: Label
+ 430: 22(ptr) AccessChain 9(color) 66
+ 431: 6(float) Load 430
+ 432: 6(float) Load 366(d6)
+ 433: 18(bool) FOrdLessThan 431 432
+ BranchConditional 433 426 427
+ 426: Label
+ 434: 53(ptr) AccessChain 380(bigColor6) 66
+ 435: 6(float) Load 434
+ 436: 22(ptr) AccessChain 9(color) 66
+ 437: 6(float) Load 436
+ 438: 6(float) FAdd 437 435
+ 439: 22(ptr) AccessChain 9(color) 66
+ Store 439 438
+ Branch 428
+ 428: Label
+ Branch 425
+ 427: Label
+ Branch 405
+ 405: Label
+ Branch 440
+ 440: Label
+ LoopMerge 442 443 None
+ Branch 441
+ 441: Label
+ 444: 6(float) Load 418(d7)
+ 446: 18(bool) FOrdLessThan 444 445
+ SelectionMerge 448 None
+ BranchConditional 446 447 448
+ 447: Label
+ Branch 442
+ 448: Label
+ 451: 7(fvec4) Load 450(bigColor7)
+ 452: 7(fvec4) Load 9(color)
+ 453: 7(fvec4) FAdd 452 451
+ Store 9(color) 453
+ 454: 6(float) Load 418(d7)
+ 455: 18(bool) FOrdLessThan 454 96
+ SelectionMerge 457 None
+ BranchConditional 455 456 457
+ 456: Label
+ 458: 22(ptr) AccessChain 9(color) 66
+ 459: 6(float) Load 458
+ 460: 6(float) FAdd 459 96
+ Store 458 460
+ Branch 442
+ 457: Label
+ 462: 7(fvec4) Load 11(BaseColor)
+ 463: 7(fvec4) Load 9(color)
+ 464: 7(fvec4) FAdd 463 462
+ Store 9(color) 464
+ Branch 443
+ 443: Label
+ BranchConditional 19 440 442
+ 442: Label
+ Branch 465
+ 465: Label
+ LoopMerge 467 468 None
+ Branch 466
+ 466: Label
+ 470: 6(float) Load 469(d8)
+ 471: 18(bool) FOrdLessThan 470 445
+ SelectionMerge 473 None
+ BranchConditional 471 472 473
+ 472: Label
+ Branch 467
+ 473: Label
+ 475: 7(fvec4) Load 450(bigColor7)
+ 476: 7(fvec4) Load 9(color)
+ 477: 7(fvec4) FAdd 476 475
+ Store 9(color) 477
+ 478: 6(float) Load 469(d8)
+ 479: 18(bool) FOrdLessThan 478 96
+ SelectionMerge 481 None
+ BranchConditional 479 480 481
+ 480: Label
+ 482: 22(ptr) AccessChain 9(color) 66
+ 483: 6(float) Load 482
+ 484: 6(float) FAdd 483 96
+ Store 482 484
+ 485: 6(float) Load 469(d8)
+ 487: 18(bool) FOrdLessThan 485 486
+ SelectionMerge 489 None
+ BranchConditional 487 488 493
+ 488: Label
+ 490: 22(ptr) AccessChain 9(color) 111
+ 491: 6(float) Load 490
+ 492: 6(float) FAdd 491 96
+ Store 490 492
+ Branch 489
+ 493: Label
+ 494: 22(ptr) AccessChain 9(color) 21
+ 495: 6(float) Load 494
+ 496: 6(float) FAdd 495 96
+ Store 494 496
+ Branch 489
+ 489: Label
+ Branch 467
+ 481: Label
+ 498: 7(fvec4) Load 11(BaseColor)
+ 499: 7(fvec4) Load 9(color)
+ 500: 7(fvec4) FAdd 499 498
+ Store 9(color) 500
+ Branch 468
+ 468: Label
+ 501: 22(ptr) AccessChain 9(color) 66
+ 502: 6(float) Load 501
+ 503: 6(float) Load 469(d8)
+ 504: 18(bool) FOrdLessThan 502 503
+ BranchConditional 504 465 467
+ 467: Label
+ Branch 505
+ 505: Label
+ LoopMerge 507 508 None
+ Branch 509
+ 509: Label
+ 510: 22(ptr) AccessChain 9(color) 75
+ 511: 6(float) Load 510
+ 513: 6(float) Load 512(d9)
+ 514: 18(bool) FOrdLessThan 511 513
+ BranchConditional 514 506 507
+ 506: Label
+ 515: 6(float) Load 512(d9)
+ 516: 6(float) Load 469(d8)
+ 517: 18(bool) FOrdGreaterThan 515 516
+ SelectionMerge 519 None
+ BranchConditional 517 518 519
+ 518: Label
+ 520: 22(ptr) AccessChain 9(color) 21
+ 521: 6(float) Load 520
+ 522: 6(float) Load 418(d7)
+ 523: 18(bool) FOrdLessThanEqual 521 522
+ SelectionMerge 525 None
+ BranchConditional 523 524 525
+ 524: Label
+ 526: 22(ptr) AccessChain 9(color) 66
+ 527: 6(float) Load 526
+ 529: 18(bool) FOrdEqual 527 528
+ SelectionMerge 531 None
+ BranchConditional 529 530 535
+ 530: Label
+ 532: 22(ptr) AccessChain 9(color) 75
+ 533: 6(float) Load 532
+ 534: 6(float) FAdd 533 96
+ Store 532 534
+ Branch 531
+ 535: Label
+ Branch 507
+ 531: Label
+ Branch 525
+ 525: Label
+ Branch 519
+ 519: Label
+ Branch 508
+ 508: Label
+ Branch 505
+ 507: Label
+ Branch 537
+ 537: Label
+ LoopMerge 539 540 None
+ Branch 541
+ 541: Label
+ 542: 22(ptr) AccessChain 9(color) 66
+ 543: 6(float) Load 542
+ 545: 6(float) Load 544(d10)
+ 546: 18(bool) FOrdLessThan 543 545
+ BranchConditional 546 538 539
+ 538: Label
+ 547: 22(ptr) AccessChain 9(color) 111
+ 548: 6(float) Load 547
+ 549: 6(float) FAdd 548 96
+ Store 547 549
+ 550: 22(ptr) AccessChain 9(color) 111
+ 551: 6(float) Load 550
+ 553: 6(float) Load 552(d11)
+ 554: 18(bool) FOrdLessThan 551 553
+ SelectionMerge 556 None
+ BranchConditional 554 555 556
+ 555: Label
+ 557: 22(ptr) AccessChain 9(color) 66
+ 558: 6(float) Load 557
+ 559: 6(float) FAdd 558 96
+ Store 557 559
+ 560: 22(ptr) AccessChain 9(color) 75
+ 561: 6(float) Load 560
+ 563: 6(float) Load 562(d12)
+ 564: 18(bool) FOrdLessThan 561 563
+ SelectionMerge 566 None
+ BranchConditional 564 565 570
+ 565: Label
+ 567: 22(ptr) AccessChain 9(color) 75
+ 568: 6(float) Load 567
+ 569: 6(float) FAdd 568 96
+ Store 567 569
+ Branch 566
+ 570: Label
+ 571: 22(ptr) AccessChain 9(color) 21
+ 572: 6(float) Load 571
+ 573: 6(float) FAdd 572 96
+ Store 571 573
+ Branch 566
+ 566: Label
+ Branch 540
+ 556: Label
+ 575: 7(fvec4) Load 9(color)
+ 576: 7(fvec4) CompositeConstruct 96 96 96 96
+ 577: 7(fvec4) FAdd 575 576
+ Store 9(color) 577
+ Branch 539
+ 540: Label
+ Branch 537
+ 539: Label
+ Branch 579
+ 579: Label
+ LoopMerge 581 582 None
+ Branch 583
+ 583: Label
+ 584: 22(ptr) AccessChain 9(color) 21
+ 585: 6(float) Load 584
+ 587: 18(bool) FOrdLessThan 585 586
+ BranchConditional 587 580 581
+ 580: Label
+ 589: 7(fvec4) Load 588(bigColor8)
+ 590: 7(fvec4) Load 9(color)
+ 591: 7(fvec4) FAdd 590 589
+ Store 9(color) 591
+ 592: 22(ptr) AccessChain 9(color) 66
+ 593: 6(float) Load 592
+ 594: 6(float) Load 469(d8)
+ 595: 18(bool) FOrdLessThan 593 594
+ SelectionMerge 597 None
+ BranchConditional 595 596 597
+ 596: Label
+ 598: 22(ptr) AccessChain 9(color) 75
+ 599: 6(float) Load 598
+ 600: 6(float) Load 366(d6)
+ 601: 18(bool) FOrdLessThan 599 600
+ SelectionMerge 603 None
+ BranchConditional 601 602 603
+ 602: Label
+ Branch 582
+ 603: Label
+ Branch 597
+ 597: Label
+ 605: 53(ptr) AccessChain 588(bigColor8) 21
+ 606: 6(float) Load 605
+ 607: 22(ptr) AccessChain 9(color) 111
+ 608: 6(float) Load 607
+ 609: 6(float) FAdd 608 606
+ 610: 22(ptr) AccessChain 9(color) 111
+ Store 610 609
+ Branch 582
+ 582: Label
+ Branch 579
+ 581: Label
+ 611: 7(fvec4) Load 9(color)
+ 612: 7(fvec4) CompositeConstruct 96 96 96 96
+ 613: 7(fvec4) FAdd 611 612
+ Store 9(color) 613
+ 616: 7(fvec4) Load 9(color)
+ Store 615(gl_FragColor) 616
+ Branch 617
+ 617: Label
+ LoopMerge 619 620 None
+ Branch 621
+ 621: Label
+ 622: 22(ptr) AccessChain 9(color) 21
+ 623: 6(float) Load 622
+ 625: 6(float) Load 624(d14)
+ 626: 18(bool) FOrdLessThan 623 625
+ BranchConditional 626 618 619
+ 618: Label
+ 627: 22(ptr) AccessChain 9(color) 111
+ 628: 6(float) Load 627
+ 630: 6(float) Load 629(d15)
+ 631: 18(bool) FOrdLessThan 628 630
+ SelectionMerge 633 None
+ BranchConditional 631 632 635
+ 632: Label
+ Return
+ 635: Label
+ 636: 7(fvec4) Load 9(color)
+ 637: 7(fvec4) CompositeConstruct 96 96 96 96
+ 638: 7(fvec4) FAdd 636 637
+ Store 9(color) 638
+ Branch 633
+ 633: Label
+ Branch 620
+ 620: Label
+ Branch 617
+ 619: Label
+ 639: 7(fvec4) Load 9(color)
+ 640: 7(fvec4) CompositeConstruct 96 96 96 96
+ 641: 7(fvec4) FAdd 639 640
+ Store 9(color) 641
+ Branch 642
+ 642: Label
+ LoopMerge 644 645 None
+ Branch 646
+ 646: Label
+ 647: 22(ptr) AccessChain 9(color) 75
+ 648: 6(float) Load 647
+ 650: 6(float) Load 649(d16)
+ 651: 18(bool) FOrdLessThan 648 650
+ BranchConditional 651 643 644
+ 643: Label
+ 652: 22(ptr) AccessChain 9(color) 75
+ 653: 6(float) Load 652
+ 654: 6(float) FAdd 653 96
+ Store 652 654
+ Branch 645
+ 645: Label
+ Branch 642
+ 644: Label
+ Branch 655
+ 655: Label
+ LoopMerge 657 658 None
+ Branch 659
+ 659: Label
+ 660: 22(ptr) AccessChain 9(color) 75
+ 661: 6(float) Load 660
+ 662: 6(float) Load 106(d2)
+ 663: 18(bool) FOrdLessThan 661 662
+ SelectionMerge 665 None
+ BranchConditional 663 664 665
+ 664: Label
+ 666: 22(ptr) AccessChain 9(color) 111
+ 667: 6(float) Load 666
+ 668: 6(float) Load 114(d3)
+ 669: 18(bool) FOrdLessThan 667 668
+ Branch 665
+ 665: Label
+ 670: 18(bool) Phi 663 659 669 664
+ BranchConditional 670 656 657
+ 656: Label
+ 671: 7(fvec4) Load 118(bigColor1_2)
+ 672: 7(fvec4) Load 9(color)
+ 673: 7(fvec4) FAdd 672 671
+ Store 9(color) 673
+ 674: 22(ptr) AccessChain 9(color) 66
+ 675: 6(float) Load 674
+ 676: 6(float) Load 114(d3)
+ 677: 18(bool) FOrdLessThan 675 676
+ SelectionMerge 679 None
+ BranchConditional 677 678 679
+ 678: Label
+ Return
+ 679: Label
+ Branch 658
+ 658: Label
+ Branch 655
+ 657: Label
+ Branch 681
+ 681: Label
+ LoopMerge 683 684 None
+ Branch 682
+ 682: Label
+ 685: 22(ptr) AccessChain 9(color) 111
+ 686: 6(float) Load 685
+ 688: 6(float) Load 687(d18)
+ 689: 18(bool) FOrdLessThan 686 688
+ SelectionMerge 691 None
+ BranchConditional 689 690 691
+ 690: Label
+ Return
+ 691: Label
+ 693: 7(fvec4) Load 9(color)
+ 694: 7(fvec4) CompositeConstruct 96 96 96 96
+ 695: 7(fvec4) FAdd 693 694
+ Store 9(color) 695
+ Branch 684
+ 684: Label
+ 696: 22(ptr) AccessChain 9(color) 21
+ 697: 6(float) Load 696
+ 699: 6(float) Load 698(d17)
+ 700: 18(bool) FOrdLessThan 697 699
+ BranchConditional 700 681 683
+ 683: Label
+ Branch 701
+ 701: Label
+ LoopMerge 703 704 None
+ Branch 705
+ 705: Label
+ 706: 22(ptr) AccessChain 9(color) 111
+ 707: 6(float) Load 706
+ 708: 6(float) Load 649(d16)
+ 709: 18(bool) FOrdLessThan 707 708
+ BranchConditional 709 702 703
+ 702: Label
+ 710: 22(ptr) AccessChain 9(color) 75
+ 711: 6(float) Load 710
+ 712: 6(float) Load 649(d16)
+ 713: 18(bool) FOrdLessThan 711 712
+ SelectionMerge 715 None
+ BranchConditional 713 714 717
+ 714: Label
+ Kill
+ 717: Label
+ 718: 7(fvec4) Load 9(color)
+ 719: 7(fvec4) CompositeConstruct 96 96 96 96
+ 720: 7(fvec4) FAdd 718 719
+ Store 9(color) 720
+ Branch 715
+ 715: Label
+ Branch 704
+ 704: Label
+ Branch 701
+ 703: Label
+ 721: 7(fvec4) Load 9(color)
+ 722: 7(fvec4) CompositeConstruct 96 96 96 96
+ 723: 7(fvec4) FAdd 721 722
+ Store 9(color) 723
+ 724: 7(fvec4) Load 9(color)
+ Store 615(gl_FragColor) 724
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.loopsArtificial.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.loopsArtificial.frag.out
new file mode 100755
index 00000000000..5f10bd35901
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.loopsArtificial.frag.out
@@ -0,0 +1,243 @@
+spv.loopsArtificial.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 158
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 11 17 27 80 140 142 143 144 145 146 147 148 149 150 151 152 153 154 157
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 17 "bigColor4"
+ Name 27 "d4"
+ Name 80 "d13"
+ Name 140 "gl_FragColor"
+ Name 142 "bigColor"
+ Name 143 "bigColor1_1"
+ Name 144 "bigColor1_2"
+ Name 145 "bigColor1_3"
+ Name 146 "bigColor2"
+ Name 147 "bigColor3"
+ Name 148 "bigColor5"
+ Name 149 "bigColor6"
+ Name 150 "bigColor7"
+ Name 151 "bigColor8"
+ Name 152 "d"
+ Name 153 "d2"
+ Name 154 "d3"
+ Name 157 "Count"
+ Decorate 157(Count) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 17(bigColor4): 10(ptr) Variable Input
+ 21: TypeInt 32 0
+ 22: 21(int) Constant 0
+ 23: TypePointer Function 6(float)
+ 26: TypePointer Input 6(float)
+ 27(d4): 26(ptr) Variable Input
+ 29: TypeBool
+ 33: 6(float) Constant 1073741824
+ 34: 21(int) Constant 2
+ 47: 6(float) Constant 1065353216
+ 50: 21(int) Constant 1
+ 77: 21(int) Constant 3
+ 80(d13): 26(ptr) Variable Input
+ 139: TypePointer Output 7(fvec4)
+140(gl_FragColor): 139(ptr) Variable Output
+ 142(bigColor): 10(ptr) Variable Input
+143(bigColor1_1): 10(ptr) Variable Input
+144(bigColor1_2): 10(ptr) Variable Input
+145(bigColor1_3): 10(ptr) Variable Input
+ 146(bigColor2): 10(ptr) Variable Input
+ 147(bigColor3): 10(ptr) Variable Input
+ 148(bigColor5): 10(ptr) Variable Input
+ 149(bigColor6): 10(ptr) Variable Input
+ 150(bigColor7): 10(ptr) Variable Input
+ 151(bigColor8): 10(ptr) Variable Input
+ 152(d): 26(ptr) Variable Input
+ 153(d2): 26(ptr) Variable Input
+ 154(d3): 26(ptr) Variable Input
+ 155: TypeInt 32 1
+ 156: TypePointer Input 155(int)
+ 157(Count): 156(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(color): 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ Branch 13
+ 13: Label
+ LoopMerge 15 16 None
+ Branch 14
+ 14: Label
+ 18: 7(fvec4) Load 17(bigColor4)
+ 19: 7(fvec4) Load 9(color)
+ 20: 7(fvec4) FAdd 19 18
+ Store 9(color) 20
+ 24: 23(ptr) AccessChain 9(color) 22
+ 25: 6(float) Load 24
+ 28: 6(float) Load 27(d4)
+ 30: 29(bool) FOrdLessThan 25 28
+ SelectionMerge 32 None
+ BranchConditional 30 31 32
+ 31: Label
+ 35: 23(ptr) AccessChain 9(color) 34
+ 36: 6(float) Load 35
+ 37: 6(float) FAdd 36 33
+ 38: 23(ptr) AccessChain 9(color) 34
+ Store 38 37
+ 39: 23(ptr) AccessChain 9(color) 34
+ 40: 6(float) Load 39
+ 41: 6(float) Load 27(d4)
+ 42: 29(bool) FOrdLessThan 40 41
+ SelectionMerge 44 None
+ BranchConditional 42 43 44
+ 43: Label
+ 45: 23(ptr) AccessChain 9(color) 22
+ 46: 6(float) Load 45
+ 48: 6(float) FAdd 46 47
+ Store 45 48
+ Branch 16
+ 44: Label
+ Branch 32
+ 32: Label
+ 51: 23(ptr) AccessChain 9(color) 50
+ 52: 6(float) Load 51
+ 53: 6(float) Load 27(d4)
+ 54: 29(bool) FOrdLessThan 52 53
+ SelectionMerge 56 None
+ BranchConditional 54 55 62
+ 55: Label
+ 57: 6(float) Load 27(d4)
+ 58: 23(ptr) AccessChain 9(color) 50
+ 59: 6(float) Load 58
+ 60: 6(float) FAdd 59 57
+ 61: 23(ptr) AccessChain 9(color) 50
+ Store 61 60
+ Branch 56
+ 62: Label
+ 63: 6(float) Load 27(d4)
+ 64: 23(ptr) AccessChain 9(color) 22
+ 65: 6(float) Load 64
+ 66: 6(float) FAdd 65 63
+ 67: 23(ptr) AccessChain 9(color) 22
+ Store 67 66
+ Branch 56
+ 56: Label
+ Branch 16
+ 16: Label
+ 68: 23(ptr) AccessChain 9(color) 34
+ 69: 6(float) Load 68
+ 70: 6(float) Load 27(d4)
+ 71: 29(bool) FOrdLessThan 69 70
+ BranchConditional 71 13 15
+ 15: Label
+ Branch 72
+ 72: Label
+ LoopMerge 74 75 None
+ Branch 76
+ 76: Label
+ 78: 23(ptr) AccessChain 9(color) 77
+ 79: 6(float) Load 78
+ 81: 6(float) Load 80(d13)
+ 82: 29(bool) FOrdLessThan 79 81
+ BranchConditional 82 73 74
+ 73: Label
+ 83: 23(ptr) AccessChain 9(color) 34
+ 84: 6(float) Load 83
+ 85: 6(float) Load 80(d13)
+ 86: 29(bool) FOrdLessThan 84 85
+ SelectionMerge 88 None
+ BranchConditional 86 87 92
+ 87: Label
+ 89: 7(fvec4) Load 9(color)
+ 90: 7(fvec4) CompositeConstruct 47 47 47 47
+ 91: 7(fvec4) FAdd 89 90
+ Store 9(color) 91
+ Branch 88
+ 92: Label
+ 93: 7(fvec4) Load 9(color)
+ 94: 7(fvec4) CompositeConstruct 47 47 47 47
+ 95: 7(fvec4) FSub 93 94
+ Store 9(color) 95
+ Branch 88
+ 88: Label
+ 96: 7(fvec4) Load 17(bigColor4)
+ 97: 7(fvec4) Load 9(color)
+ 98: 7(fvec4) FAdd 97 96
+ Store 9(color) 98
+ 99: 23(ptr) AccessChain 9(color) 22
+ 100: 6(float) Load 99
+ 101: 6(float) Load 27(d4)
+ 102: 29(bool) FOrdLessThan 100 101
+ SelectionMerge 104 None
+ BranchConditional 102 103 104
+ 103: Label
+ 105: 23(ptr) AccessChain 9(color) 34
+ 106: 6(float) Load 105
+ 107: 6(float) FAdd 106 33
+ 108: 23(ptr) AccessChain 9(color) 34
+ Store 108 107
+ 109: 23(ptr) AccessChain 9(color) 34
+ 110: 6(float) Load 109
+ 111: 6(float) Load 27(d4)
+ 112: 29(bool) FOrdLessThan 110 111
+ SelectionMerge 114 None
+ BranchConditional 112 113 114
+ 113: Label
+ 115: 23(ptr) AccessChain 9(color) 22
+ 116: 6(float) Load 115
+ 117: 6(float) FAdd 116 47
+ Store 115 117
+ Branch 75
+ 114: Label
+ Branch 104
+ 104: Label
+ 119: 23(ptr) AccessChain 9(color) 50
+ 120: 6(float) Load 119
+ 121: 6(float) Load 27(d4)
+ 122: 29(bool) FOrdLessThan 120 121
+ SelectionMerge 124 None
+ BranchConditional 122 123 130
+ 123: Label
+ 125: 6(float) Load 27(d4)
+ 126: 23(ptr) AccessChain 9(color) 50
+ 127: 6(float) Load 126
+ 128: 6(float) FAdd 127 125
+ 129: 23(ptr) AccessChain 9(color) 50
+ Store 129 128
+ Branch 124
+ 130: Label
+ 131: 6(float) Load 27(d4)
+ 132: 23(ptr) AccessChain 9(color) 22
+ 133: 6(float) Load 132
+ 134: 6(float) FAdd 133 131
+ 135: 23(ptr) AccessChain 9(color) 22
+ Store 135 134
+ Branch 124
+ 124: Label
+ Branch 75
+ 75: Label
+ Branch 72
+ 74: Label
+ 136: 7(fvec4) Load 9(color)
+ 137: 7(fvec4) CompositeConstruct 47 47 47 47
+ 138: 7(fvec4) FAdd 136 137
+ Store 9(color) 138
+ 141: 7(fvec4) Load 9(color)
+ Store 140(gl_FragColor) 141
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.matFun.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.matFun.vert.out
new file mode 100755
index 00000000000..0aa0a52da90
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.matFun.vert.out
@@ -0,0 +1,161 @@
+spv.matFun.vert
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 103
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 76 81
+ Source GLSL 400
+ Name 4 "main"
+ Name 14 "xf(mf33;vf3;"
+ Name 12 "m"
+ Name 13 "v"
+ Name 21 "Mat3(mf44;"
+ Name 20 "m"
+ Name 26 "mxv(mf44;vf3;"
+ Name 24 "m4"
+ Name 25 "v"
+ Name 65 "param"
+ Name 74 "gl_PerVertex"
+ MemberName 74(gl_PerVertex) 0 "gl_Position"
+ MemberName 74(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 74(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 76 ""
+ Name 77 "bl"
+ MemberName 77(bl) 0 "m4"
+ MemberName 77(bl) 1 "m3"
+ Name 79 "bName"
+ Name 81 "v3"
+ Name 82 "param"
+ Name 86 "param"
+ Name 89 "param"
+ Name 93 "param"
+ MemberDecorate 74(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 74(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 74(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 74(gl_PerVertex) Block
+ MemberDecorate 77(bl) 0 ColMajor
+ MemberDecorate 77(bl) 0 Offset 0
+ MemberDecorate 77(bl) 0 MatrixStride 16
+ MemberDecorate 77(bl) 1 ColMajor
+ MemberDecorate 77(bl) 1 Offset 64
+ MemberDecorate 77(bl) 1 MatrixStride 16
+ Decorate 77(bl) Block
+ Decorate 79(bName) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 3
+ 8: TypeMatrix 7(fvec3) 3
+ 9: TypePointer Function 8
+ 10: TypePointer Function 7(fvec3)
+ 11: TypeFunction 7(fvec3) 9(ptr) 10(ptr)
+ 16: TypeVector 6(float) 4
+ 17: TypeMatrix 16(fvec4) 4
+ 18: TypePointer Function 17
+ 19: TypeFunction 8 18(ptr)
+ 23: TypeFunction 7(fvec3) 18(ptr) 10(ptr)
+ 33: TypeInt 32 1
+ 34: 33(int) Constant 0
+ 35: TypePointer Function 16(fvec4)
+ 39: 33(int) Constant 1
+ 43: 33(int) Constant 2
+ 47: 6(float) Constant 1065353216
+ 48: 6(float) Constant 0
+ 71: TypeInt 32 0
+ 72: 71(int) Constant 1
+ 73: TypeArray 6(float) 72
+74(gl_PerVertex): TypeStruct 16(fvec4) 6(float) 73
+ 75: TypePointer Output 74(gl_PerVertex)
+ 76: 75(ptr) Variable Output
+ 77(bl): TypeStruct 17 8
+ 78: TypePointer Uniform 77(bl)
+ 79(bName): 78(ptr) Variable Uniform
+ 80: TypePointer Input 7(fvec3)
+ 81(v3): 80(ptr) Variable Input
+ 83: TypePointer Uniform 17
+ 90: TypePointer Uniform 8
+ 101: TypePointer Output 16(fvec4)
+ 4(main): 2 Function None 3
+ 5: Label
+ 82(param): 18(ptr) Variable Function
+ 86(param): 10(ptr) Variable Function
+ 89(param): 9(ptr) Variable Function
+ 93(param): 10(ptr) Variable Function
+ 84: 83(ptr) AccessChain 79(bName) 34
+ 85: 17 Load 84
+ Store 82(param) 85
+ 87: 7(fvec3) Load 81(v3)
+ Store 86(param) 87
+ 88: 7(fvec3) FunctionCall 26(mxv(mf44;vf3;) 82(param) 86(param)
+ 91: 90(ptr) AccessChain 79(bName) 39
+ 92: 8 Load 91
+ Store 89(param) 92
+ 94: 7(fvec3) Load 81(v3)
+ Store 93(param) 94
+ 95: 7(fvec3) FunctionCall 14(xf(mf33;vf3;) 89(param) 93(param)
+ 96: 7(fvec3) FAdd 88 95
+ 97: 6(float) CompositeExtract 96 0
+ 98: 6(float) CompositeExtract 96 1
+ 99: 6(float) CompositeExtract 96 2
+ 100: 16(fvec4) CompositeConstruct 97 98 99 47
+ 102: 101(ptr) AccessChain 76 34
+ Store 102 100
+ Return
+ FunctionEnd
+14(xf(mf33;vf3;): 7(fvec3) Function None 11
+ 12(m): 9(ptr) FunctionParameter
+ 13(v): 10(ptr) FunctionParameter
+ 15: Label
+ 28: 7(fvec3) Load 13(v)
+ 29: 8 Load 12(m)
+ 30: 7(fvec3) VectorTimesMatrix 28 29
+ ReturnValue 30
+ FunctionEnd
+ 21(Mat3(mf44;): 8 Function None 19
+ 20(m): 18(ptr) FunctionParameter
+ 22: Label
+ 36: 35(ptr) AccessChain 20(m) 34
+ 37: 16(fvec4) Load 36
+ 38: 7(fvec3) VectorShuffle 37 37 0 1 2
+ 40: 35(ptr) AccessChain 20(m) 39
+ 41: 16(fvec4) Load 40
+ 42: 7(fvec3) VectorShuffle 41 41 0 1 2
+ 44: 35(ptr) AccessChain 20(m) 43
+ 45: 16(fvec4) Load 44
+ 46: 7(fvec3) VectorShuffle 45 45 0 1 2
+ 49: 6(float) CompositeExtract 38 0
+ 50: 6(float) CompositeExtract 38 1
+ 51: 6(float) CompositeExtract 38 2
+ 52: 6(float) CompositeExtract 42 0
+ 53: 6(float) CompositeExtract 42 1
+ 54: 6(float) CompositeExtract 42 2
+ 55: 6(float) CompositeExtract 46 0
+ 56: 6(float) CompositeExtract 46 1
+ 57: 6(float) CompositeExtract 46 2
+ 58: 7(fvec3) CompositeConstruct 49 50 51
+ 59: 7(fvec3) CompositeConstruct 52 53 54
+ 60: 7(fvec3) CompositeConstruct 55 56 57
+ 61: 8 CompositeConstruct 58 59 60
+ ReturnValue 61
+ FunctionEnd
+26(mxv(mf44;vf3;): 7(fvec3) Function None 23
+ 24(m4): 18(ptr) FunctionParameter
+ 25(v): 10(ptr) FunctionParameter
+ 27: Label
+ 65(param): 18(ptr) Variable Function
+ 64: 7(fvec3) Load 25(v)
+ 66: 17 Load 24(m4)
+ Store 65(param) 66
+ 67: 8 FunctionCall 21(Mat3(mf44;) 65(param)
+ 68: 7(fvec3) VectorTimesMatrix 64 67
+ ReturnValue 68
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.matrix.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.matrix.frag.out
new file mode 100644
index 00000000000..7b34fca4dec
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.matrix.frag.out
@@ -0,0 +1,313 @@
+spv.matrix.frag
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 261
+
+ Capability Shader
+ Capability Float64
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 12 14 28 161 169 187
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 420
+ Name 4 "main"
+ Name 10 "sum34"
+ Name 12 "m1"
+ Name 14 "m2"
+ Name 28 "f"
+ Name 140 "dm"
+ Name 159 "sum3"
+ Name 161 "v4"
+ Name 166 "sum4"
+ Name 169 "v3"
+ Name 174 "m43"
+ Name 179 "m4"
+ Name 187 "color"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeMatrix 7(fvec4) 3
+ 9: TypePointer Function 8
+ 11: TypePointer Input 8
+ 12(m1): 11(ptr) Variable Input
+ 14(m2): 11(ptr) Variable Input
+ 27: TypePointer Input 6(float)
+ 28(f): 27(ptr) Variable Input
+ 81: 6(float) Constant 1065353216
+ 136: TypeFloat 64
+ 137: TypeVector 136(float) 4
+ 138: TypeMatrix 137(fvec4) 3
+ 139: TypePointer Function 138
+ 157: TypeVector 6(float) 3
+ 158: TypePointer Function 157(fvec3)
+ 160: TypePointer Input 7(fvec4)
+ 161(v4): 160(ptr) Variable Input
+ 165: TypePointer Function 7(fvec4)
+ 168: TypePointer Input 157(fvec3)
+ 169(v3): 168(ptr) Variable Input
+ 172: TypeMatrix 157(fvec3) 4
+ 173: TypePointer Function 172
+ 177: TypeMatrix 7(fvec4) 4
+ 178: TypePointer Function 177
+ 186: TypePointer Output 7(fvec4)
+ 187(color): 186(ptr) Variable Output
+ 208: 6(float) Constant 0
+ 4(main): 2 Function None 3
+ 5: Label
+ 10(sum34): 9(ptr) Variable Function
+ 140(dm): 139(ptr) Variable Function
+ 159(sum3): 158(ptr) Variable Function
+ 166(sum4): 165(ptr) Variable Function
+ 174(m43): 173(ptr) Variable Function
+ 179(m4): 178(ptr) Variable Function
+ 13: 8 Load 12(m1)
+ 15: 8 Load 14(m2)
+ 16: 7(fvec4) CompositeExtract 13 0
+ 17: 7(fvec4) CompositeExtract 15 0
+ 18: 7(fvec4) FSub 16 17
+ 19: 7(fvec4) CompositeExtract 13 1
+ 20: 7(fvec4) CompositeExtract 15 1
+ 21: 7(fvec4) FSub 19 20
+ 22: 7(fvec4) CompositeExtract 13 2
+ 23: 7(fvec4) CompositeExtract 15 2
+ 24: 7(fvec4) FSub 22 23
+ 25: 8 CompositeConstruct 18 21 24
+ Store 10(sum34) 25
+ 26: 8 Load 12(m1)
+ 29: 6(float) Load 28(f)
+ 30: 8 MatrixTimesScalar 26 29
+ 31: 8 Load 10(sum34)
+ 32: 7(fvec4) CompositeExtract 31 0
+ 33: 7(fvec4) CompositeExtract 30 0
+ 34: 7(fvec4) FAdd 32 33
+ 35: 7(fvec4) CompositeExtract 31 1
+ 36: 7(fvec4) CompositeExtract 30 1
+ 37: 7(fvec4) FAdd 35 36
+ 38: 7(fvec4) CompositeExtract 31 2
+ 39: 7(fvec4) CompositeExtract 30 2
+ 40: 7(fvec4) FAdd 38 39
+ 41: 8 CompositeConstruct 34 37 40
+ Store 10(sum34) 41
+ 42: 6(float) Load 28(f)
+ 43: 8 Load 12(m1)
+ 44: 8 MatrixTimesScalar 43 42
+ 45: 8 Load 10(sum34)
+ 46: 7(fvec4) CompositeExtract 45 0
+ 47: 7(fvec4) CompositeExtract 44 0
+ 48: 7(fvec4) FAdd 46 47
+ 49: 7(fvec4) CompositeExtract 45 1
+ 50: 7(fvec4) CompositeExtract 44 1
+ 51: 7(fvec4) FAdd 49 50
+ 52: 7(fvec4) CompositeExtract 45 2
+ 53: 7(fvec4) CompositeExtract 44 2
+ 54: 7(fvec4) FAdd 52 53
+ 55: 8 CompositeConstruct 48 51 54
+ Store 10(sum34) 55
+ 56: 8 Load 12(m1)
+ 57: 8 Load 14(m2)
+ 58: 7(fvec4) CompositeExtract 56 0
+ 59: 7(fvec4) CompositeExtract 57 0
+ 60: 7(fvec4) FMul 58 59
+ 61: 7(fvec4) CompositeExtract 56 1
+ 62: 7(fvec4) CompositeExtract 57 1
+ 63: 7(fvec4) FMul 61 62
+ 64: 7(fvec4) CompositeExtract 56 2
+ 65: 7(fvec4) CompositeExtract 57 2
+ 66: 7(fvec4) FMul 64 65
+ 67: 8 CompositeConstruct 60 63 66
+ 68: 8 Load 10(sum34)
+ 69: 7(fvec4) CompositeExtract 68 0
+ 70: 7(fvec4) CompositeExtract 67 0
+ 71: 7(fvec4) FDiv 69 70
+ 72: 7(fvec4) CompositeExtract 68 1
+ 73: 7(fvec4) CompositeExtract 67 1
+ 74: 7(fvec4) FDiv 72 73
+ 75: 7(fvec4) CompositeExtract 68 2
+ 76: 7(fvec4) CompositeExtract 67 2
+ 77: 7(fvec4) FDiv 75 76
+ 78: 8 CompositeConstruct 71 74 77
+ Store 10(sum34) 78
+ 79: 8 Load 12(m1)
+ 80: 6(float) Load 28(f)
+ 82: 6(float) FDiv 81 80
+ 83: 8 MatrixTimesScalar 79 82
+ 84: 8 Load 10(sum34)
+ 85: 7(fvec4) CompositeExtract 84 0
+ 86: 7(fvec4) CompositeExtract 83 0
+ 87: 7(fvec4) FAdd 85 86
+ 88: 7(fvec4) CompositeExtract 84 1
+ 89: 7(fvec4) CompositeExtract 83 1
+ 90: 7(fvec4) FAdd 88 89
+ 91: 7(fvec4) CompositeExtract 84 2
+ 92: 7(fvec4) CompositeExtract 83 2
+ 93: 7(fvec4) FAdd 91 92
+ 94: 8 CompositeConstruct 87 90 93
+ Store 10(sum34) 94
+ 95: 6(float) Load 28(f)
+ 96: 8 Load 12(m1)
+ 97: 7(fvec4) CompositeConstruct 95 95 95 95
+ 98: 7(fvec4) CompositeExtract 96 0
+ 99: 7(fvec4) FDiv 97 98
+ 100: 7(fvec4) CompositeExtract 96 1
+ 101: 7(fvec4) FDiv 97 100
+ 102: 7(fvec4) CompositeExtract 96 2
+ 103: 7(fvec4) FDiv 97 102
+ 104: 8 CompositeConstruct 99 101 103
+ 105: 8 Load 10(sum34)
+ 106: 7(fvec4) CompositeExtract 105 0
+ 107: 7(fvec4) CompositeExtract 104 0
+ 108: 7(fvec4) FAdd 106 107
+ 109: 7(fvec4) CompositeExtract 105 1
+ 110: 7(fvec4) CompositeExtract 104 1
+ 111: 7(fvec4) FAdd 109 110
+ 112: 7(fvec4) CompositeExtract 105 2
+ 113: 7(fvec4) CompositeExtract 104 2
+ 114: 7(fvec4) FAdd 112 113
+ 115: 8 CompositeConstruct 108 111 114
+ Store 10(sum34) 115
+ 116: 6(float) Load 28(f)
+ 117: 8 Load 10(sum34)
+ 118: 7(fvec4) CompositeConstruct 116 116 116 116
+ 119: 7(fvec4) CompositeExtract 117 0
+ 120: 7(fvec4) FAdd 119 118
+ 121: 7(fvec4) CompositeExtract 117 1
+ 122: 7(fvec4) FAdd 121 118
+ 123: 7(fvec4) CompositeExtract 117 2
+ 124: 7(fvec4) FAdd 123 118
+ 125: 8 CompositeConstruct 120 122 124
+ Store 10(sum34) 125
+ 126: 6(float) Load 28(f)
+ 127: 8 Load 10(sum34)
+ 128: 7(fvec4) CompositeConstruct 126 126 126 126
+ 129: 7(fvec4) CompositeExtract 127 0
+ 130: 7(fvec4) FSub 129 128
+ 131: 7(fvec4) CompositeExtract 127 1
+ 132: 7(fvec4) FSub 131 128
+ 133: 7(fvec4) CompositeExtract 127 2
+ 134: 7(fvec4) FSub 133 128
+ 135: 8 CompositeConstruct 130 132 134
+ Store 10(sum34) 135
+ 141: 8 Load 10(sum34)
+ 142: 7(fvec4) CompositeExtract 141 0
+ 143: 137(fvec4) FConvert 142
+ 144: 7(fvec4) CompositeExtract 141 1
+ 145: 137(fvec4) FConvert 144
+ 146: 7(fvec4) CompositeExtract 141 2
+ 147: 137(fvec4) FConvert 146
+ 148: 138 CompositeConstruct 143 145 147
+ Store 140(dm) 148
+ 149: 138 Load 140(dm)
+ 150: 137(fvec4) CompositeExtract 149 0
+ 151: 7(fvec4) FConvert 150
+ 152: 137(fvec4) CompositeExtract 149 1
+ 153: 7(fvec4) FConvert 152
+ 154: 137(fvec4) CompositeExtract 149 2
+ 155: 7(fvec4) FConvert 154
+ 156: 8 CompositeConstruct 151 153 155
+ Store 10(sum34) 156
+ 162: 7(fvec4) Load 161(v4)
+ 163: 8 Load 14(m2)
+ 164: 157(fvec3) VectorTimesMatrix 162 163
+ Store 159(sum3) 164
+ 167: 8 Load 14(m2)
+ 170: 157(fvec3) Load 169(v3)
+ 171: 7(fvec4) MatrixTimesVector 167 170
+ Store 166(sum4) 171
+ 175: 8 Load 10(sum34)
+ 176: 172 Transpose 175
+ Store 174(m43) 176
+ 180: 8 Load 12(m1)
+ 181: 172 Load 174(m43)
+ 182: 177 MatrixTimesMatrix 180 181
+ Store 179(m4) 182
+ 183: 7(fvec4) Load 161(v4)
+ 184: 177 Load 179(m4)
+ 185: 7(fvec4) VectorTimesMatrix 183 184
+ Store 166(sum4) 185
+ 188: 7(fvec4) Load 166(sum4)
+ Store 187(color) 188
+ 189: 8 Load 10(sum34)
+ 190: 7(fvec4) CompositeConstruct 81 81 81 81
+ 191: 7(fvec4) CompositeExtract 189 0
+ 192: 7(fvec4) FAdd 191 190
+ 193: 7(fvec4) CompositeExtract 189 1
+ 194: 7(fvec4) FAdd 193 190
+ 195: 7(fvec4) CompositeExtract 189 2
+ 196: 7(fvec4) FAdd 195 190
+ 197: 8 CompositeConstruct 192 194 196
+ Store 10(sum34) 197
+ 198: 8 Load 10(sum34)
+ 199: 7(fvec4) CompositeConstruct 81 81 81 81
+ 200: 7(fvec4) CompositeExtract 198 0
+ 201: 7(fvec4) FSub 200 199
+ 202: 7(fvec4) CompositeExtract 198 1
+ 203: 7(fvec4) FSub 202 199
+ 204: 7(fvec4) CompositeExtract 198 2
+ 205: 7(fvec4) FSub 204 199
+ 206: 8 CompositeConstruct 201 203 205
+ Store 10(sum34) 206
+ 207: 6(float) Load 28(f)
+ 209: 7(fvec4) CompositeConstruct 207 208 208 208
+ 210: 7(fvec4) CompositeConstruct 208 207 208 208
+ 211: 7(fvec4) CompositeConstruct 208 208 207 208
+ 212: 8 CompositeConstruct 209 210 211
+ 213: 8 Load 10(sum34)
+ 214: 7(fvec4) CompositeExtract 213 0
+ 215: 7(fvec4) CompositeExtract 212 0
+ 216: 7(fvec4) FAdd 214 215
+ 217: 7(fvec4) CompositeExtract 213 1
+ 218: 7(fvec4) CompositeExtract 212 1
+ 219: 7(fvec4) FAdd 217 218
+ 220: 7(fvec4) CompositeExtract 213 2
+ 221: 7(fvec4) CompositeExtract 212 2
+ 222: 7(fvec4) FAdd 220 221
+ 223: 8 CompositeConstruct 216 219 222
+ Store 10(sum34) 223
+ 224: 157(fvec3) Load 169(v3)
+ 225: 6(float) Load 28(f)
+ 226: 157(fvec3) Load 169(v3)
+ 227: 6(float) Load 28(f)
+ 228: 157(fvec3) Load 169(v3)
+ 229: 6(float) Load 28(f)
+ 230: 6(float) CompositeExtract 224 0
+ 231: 6(float) CompositeExtract 224 1
+ 232: 6(float) CompositeExtract 224 2
+ 233: 6(float) CompositeExtract 226 0
+ 234: 6(float) CompositeExtract 226 1
+ 235: 6(float) CompositeExtract 226 2
+ 236: 6(float) CompositeExtract 228 0
+ 237: 6(float) CompositeExtract 228 1
+ 238: 6(float) CompositeExtract 228 2
+ 239: 7(fvec4) CompositeConstruct 230 231 232 225
+ 240: 7(fvec4) CompositeConstruct 233 234 235 227
+ 241: 7(fvec4) CompositeConstruct 236 237 238 229
+ 242: 8 CompositeConstruct 239 240 241
+ 243: 8 Load 10(sum34)
+ 244: 7(fvec4) CompositeExtract 243 0
+ 245: 7(fvec4) CompositeExtract 242 0
+ 246: 7(fvec4) FAdd 244 245
+ 247: 7(fvec4) CompositeExtract 243 1
+ 248: 7(fvec4) CompositeExtract 242 1
+ 249: 7(fvec4) FAdd 247 248
+ 250: 7(fvec4) CompositeExtract 243 2
+ 251: 7(fvec4) CompositeExtract 242 2
+ 252: 7(fvec4) FAdd 250 251
+ 253: 8 CompositeConstruct 246 249 252
+ Store 10(sum34) 253
+ 254: 157(fvec3) Load 159(sum3)
+ 255: 172 Load 174(m43)
+ 256: 7(fvec4) VectorTimesMatrix 254 255
+ 257: 7(fvec4) Load 166(sum4)
+ 258: 7(fvec4) FAdd 256 257
+ 259: 7(fvec4) Load 187(color)
+ 260: 7(fvec4) FAdd 259 258
+ Store 187(color) 260
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.matrix2.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.matrix2.frag.out
new file mode 100644
index 00000000000..e0497b09d3c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.matrix2.frag.out
@@ -0,0 +1,273 @@
+spv.matrix2.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 221
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 12 16 37 38 65 87 147 158 181 218 219 220
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 150
+ Name 4 "main"
+ Name 10 "m34"
+ Name 12 "v"
+ Name 16 "u"
+ Name 37 "FragColor"
+ Name 38 "Color"
+ Name 63 "m44"
+ Name 65 "un34"
+ Name 87 "um43"
+ Name 147 "um4"
+ Name 156 "inv"
+ Name 158 "um2"
+ Name 179 "inv3"
+ Name 181 "um3"
+ Name 190 "inv4"
+ Name 218 "colorTransform"
+ Name 219 "m"
+ Name 220 "n"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeMatrix 7(fvec4) 3
+ 9: TypePointer Function 8
+ 11: TypePointer Input 7(fvec4)
+ 12(v): 11(ptr) Variable Input
+ 14: TypeVector 6(float) 3
+ 15: TypePointer Input 14(fvec3)
+ 16(u): 15(ptr) Variable Input
+ 19: 6(float) Constant 1082759578
+ 20: 6(float) Constant 0
+ 21: 7(fvec4) ConstantComposite 19 20 20 20
+ 22: 7(fvec4) ConstantComposite 20 19 20 20
+ 23: 7(fvec4) ConstantComposite 20 20 19 20
+ 24: 8 ConstantComposite 21 22 23
+ 36: TypePointer Output 7(fvec4)
+ 37(FragColor): 36(ptr) Variable Output
+ 38(Color): 15(ptr) Variable Input
+ 40: 6(float) Constant 1065353216
+ 54: TypeInt 32 0
+ 55: 54(int) Constant 0
+ 56: TypePointer Input 6(float)
+ 61: TypeMatrix 7(fvec4) 4
+ 62: TypePointer Function 61
+ 64: TypePointer Input 8
+ 65(un34): 64(ptr) Variable Input
+ 85: TypeMatrix 14(fvec3) 4
+ 86: TypePointer Input 85
+ 87(um43): 86(ptr) Variable Input
+ 146: TypePointer Input 61
+ 147(um4): 146(ptr) Variable Input
+ 153: TypeVector 6(float) 2
+ 154: TypeMatrix 153(fvec2) 2
+ 155: TypePointer Function 154
+ 157: TypePointer Input 154
+ 158(um2): 157(ptr) Variable Input
+ 161: TypeInt 32 1
+ 162: 161(int) Constant 0
+ 163: TypePointer Function 6(float)
+ 166: 161(int) Constant 1
+ 169: 54(int) Constant 1
+ 177: TypeMatrix 14(fvec3) 3
+ 178: TypePointer Function 177
+ 180: TypePointer Input 177
+ 181(um3): 180(ptr) Variable Input
+ 184: 161(int) Constant 2
+ 210: 54(int) Constant 3
+ 211: TypePointer Output 6(float)
+218(colorTransform): 180(ptr) Variable Input
+ 219(m): 146(ptr) Variable Input
+ 220(n): 146(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 10(m34): 9(ptr) Variable Function
+ 63(m44): 62(ptr) Variable Function
+ 156(inv): 155(ptr) Variable Function
+ 179(inv3): 178(ptr) Variable Function
+ 190(inv4): 62(ptr) Variable Function
+ 13: 7(fvec4) Load 12(v)
+ 17: 14(fvec3) Load 16(u)
+ 18: 8 OuterProduct 13 17
+ Store 10(m34) 18
+ 25: 8 Load 10(m34)
+ 26: 7(fvec4) CompositeExtract 25 0
+ 27: 7(fvec4) CompositeExtract 24 0
+ 28: 7(fvec4) FAdd 26 27
+ 29: 7(fvec4) CompositeExtract 25 1
+ 30: 7(fvec4) CompositeExtract 24 1
+ 31: 7(fvec4) FAdd 29 30
+ 32: 7(fvec4) CompositeExtract 25 2
+ 33: 7(fvec4) CompositeExtract 24 2
+ 34: 7(fvec4) FAdd 32 33
+ 35: 8 CompositeConstruct 28 31 34
+ Store 10(m34) 35
+ 39: 14(fvec3) Load 38(Color)
+ 41: 6(float) CompositeExtract 39 0
+ 42: 6(float) CompositeExtract 39 1
+ 43: 6(float) CompositeExtract 39 2
+ 44: 7(fvec4) CompositeConstruct 41 42 43 40
+ Store 37(FragColor) 44
+ 45: 7(fvec4) Load 37(FragColor)
+ 46: 8 Load 10(m34)
+ 47: 14(fvec3) VectorTimesMatrix 45 46
+ 48: 6(float) CompositeExtract 47 0
+ 49: 6(float) CompositeExtract 47 1
+ 50: 6(float) CompositeExtract 47 2
+ 51: 7(fvec4) CompositeConstruct 48 49 50 40
+ 52: 7(fvec4) Load 37(FragColor)
+ 53: 7(fvec4) FMul 52 51
+ Store 37(FragColor) 53
+ 57: 56(ptr) AccessChain 12(v) 55
+ 58: 6(float) Load 57
+ 59: 8 Load 10(m34)
+ 60: 8 MatrixTimesScalar 59 58
+ Store 10(m34) 60
+ 66: 8 Load 65(un34)
+ 67: 6(float) CompositeExtract 66 0 0
+ 68: 6(float) CompositeExtract 66 0 1
+ 69: 6(float) CompositeExtract 66 0 2
+ 70: 6(float) CompositeExtract 66 0 3
+ 71: 6(float) CompositeExtract 66 1 0
+ 72: 6(float) CompositeExtract 66 1 1
+ 73: 6(float) CompositeExtract 66 1 2
+ 74: 6(float) CompositeExtract 66 1 3
+ 75: 6(float) CompositeExtract 66 2 0
+ 76: 6(float) CompositeExtract 66 2 1
+ 77: 6(float) CompositeExtract 66 2 2
+ 78: 6(float) CompositeExtract 66 2 3
+ 79: 7(fvec4) CompositeConstruct 67 68 69 70
+ 80: 7(fvec4) CompositeConstruct 71 72 73 74
+ 81: 7(fvec4) CompositeConstruct 75 76 77 78
+ 82: 7(fvec4) CompositeConstruct 20 20 20 40
+ 83: 61 CompositeConstruct 79 80 81 82
+ Store 63(m44) 83
+ 84: 8 Load 10(m34)
+ 88: 85 Load 87(um43)
+ 89: 61 MatrixTimesMatrix 84 88
+ 90: 61 Load 63(m44)
+ 91: 7(fvec4) CompositeExtract 90 0
+ 92: 7(fvec4) CompositeExtract 89 0
+ 93: 7(fvec4) FAdd 91 92
+ 94: 7(fvec4) CompositeExtract 90 1
+ 95: 7(fvec4) CompositeExtract 89 1
+ 96: 7(fvec4) FAdd 94 95
+ 97: 7(fvec4) CompositeExtract 90 2
+ 98: 7(fvec4) CompositeExtract 89 2
+ 99: 7(fvec4) FAdd 97 98
+ 100: 7(fvec4) CompositeExtract 90 3
+ 101: 7(fvec4) CompositeExtract 89 3
+ 102: 7(fvec4) FAdd 100 101
+ 103: 61 CompositeConstruct 93 96 99 102
+ Store 63(m44) 103
+ 104: 61 Load 63(m44)
+ 105: 7(fvec4) CompositeExtract 104 0
+ 106: 7(fvec4) FNegate 105
+ 107: 7(fvec4) CompositeExtract 104 1
+ 108: 7(fvec4) FNegate 107
+ 109: 7(fvec4) CompositeExtract 104 2
+ 110: 7(fvec4) FNegate 109
+ 111: 7(fvec4) CompositeExtract 104 3
+ 112: 7(fvec4) FNegate 111
+ 113: 61 CompositeConstruct 106 108 110 112
+ 114: 7(fvec4) Load 12(v)
+ 115: 7(fvec4) MatrixTimesVector 113 114
+ 116: 7(fvec4) Load 37(FragColor)
+ 117: 7(fvec4) FAdd 116 115
+ Store 37(FragColor) 117
+ 118: 61 Load 63(m44)
+ 119: 61 Load 63(m44)
+ 120: 7(fvec4) CompositeExtract 118 0
+ 121: 7(fvec4) CompositeExtract 119 0
+ 122: 7(fvec4) FMul 120 121
+ 123: 7(fvec4) CompositeExtract 118 1
+ 124: 7(fvec4) CompositeExtract 119 1
+ 125: 7(fvec4) FMul 123 124
+ 126: 7(fvec4) CompositeExtract 118 2
+ 127: 7(fvec4) CompositeExtract 119 2
+ 128: 7(fvec4) FMul 126 127
+ 129: 7(fvec4) CompositeExtract 118 3
+ 130: 7(fvec4) CompositeExtract 119 3
+ 131: 7(fvec4) FMul 129 130
+ 132: 61 CompositeConstruct 122 125 128 131
+ 133: 7(fvec4) Load 37(FragColor)
+ 134: 7(fvec4) VectorTimesMatrix 133 132
+ Store 37(FragColor) 134
+ 135: 85 Load 87(um43)
+ 136: 8 Transpose 135
+ Store 10(m34) 136
+ 137: 7(fvec4) Load 37(FragColor)
+ 138: 8 Load 10(m34)
+ 139: 14(fvec3) VectorTimesMatrix 137 138
+ 140: 6(float) CompositeExtract 139 0
+ 141: 6(float) CompositeExtract 139 1
+ 142: 6(float) CompositeExtract 139 2
+ 143: 7(fvec4) CompositeConstruct 140 141 142 40
+ 144: 7(fvec4) Load 37(FragColor)
+ 145: 7(fvec4) FMul 144 143
+ Store 37(FragColor) 145
+ 148: 61 Load 147(um4)
+ 149: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 148
+ 150: 7(fvec4) CompositeConstruct 149 149 149 149
+ 151: 7(fvec4) Load 37(FragColor)
+ 152: 7(fvec4) FMul 151 150
+ Store 37(FragColor) 152
+ 159: 154 Load 158(um2)
+ 160: 154 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 159
+ Store 156(inv) 160
+ 164: 163(ptr) AccessChain 156(inv) 162 55
+ 165: 6(float) Load 164
+ 167: 163(ptr) AccessChain 156(inv) 166 55
+ 168: 6(float) Load 167
+ 170: 163(ptr) AccessChain 156(inv) 162 169
+ 171: 6(float) Load 170
+ 172: 163(ptr) AccessChain 156(inv) 166 169
+ 173: 6(float) Load 172
+ 174: 7(fvec4) CompositeConstruct 165 168 171 173
+ 175: 7(fvec4) Load 37(FragColor)
+ 176: 7(fvec4) FMul 175 174
+ Store 37(FragColor) 176
+ 182: 177 Load 181(um3)
+ 183: 177 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 182
+ Store 179(inv3) 183
+ 185: 163(ptr) AccessChain 179(inv3) 184 169
+ 186: 6(float) Load 185
+ 187: 7(fvec4) CompositeConstruct 186 186 186 186
+ 188: 7(fvec4) Load 37(FragColor)
+ 189: 7(fvec4) FMul 188 187
+ Store 37(FragColor) 189
+ 191: 61 Load 147(um4)
+ 192: 61 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 191
+ Store 190(inv4) 192
+ 193: 61 Load 190(inv4)
+ 194: 7(fvec4) Load 37(FragColor)
+ 195: 7(fvec4) VectorTimesMatrix 194 193
+ Store 37(FragColor) 195
+ 196: 7(fvec4) Load 37(FragColor)
+ 197: 8 Load 65(un34)
+ 198: 8 Load 65(un34)
+ 199: 7(fvec4) CompositeExtract 197 0
+ 200: 7(fvec4) CompositeExtract 198 0
+ 201: 7(fvec4) FMul 199 200
+ 202: 7(fvec4) CompositeExtract 197 1
+ 203: 7(fvec4) CompositeExtract 198 1
+ 204: 7(fvec4) FMul 202 203
+ 205: 7(fvec4) CompositeExtract 197 2
+ 206: 7(fvec4) CompositeExtract 198 2
+ 207: 7(fvec4) FMul 205 206
+ 208: 8 CompositeConstruct 201 204 207
+ 209: 14(fvec3) VectorTimesMatrix 196 208
+ 212: 211(ptr) AccessChain 37(FragColor) 210
+ 213: 6(float) Load 212
+ 214: 6(float) CompositeExtract 209 0
+ 215: 6(float) CompositeExtract 209 1
+ 216: 6(float) CompositeExtract 209 2
+ 217: 7(fvec4) CompositeConstruct 214 215 216 213
+ Store 37(FragColor) 217
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.memoryQualifier.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.memoryQualifier.frag.out
new file mode 100644
index 00000000000..e2bfb392948
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.memoryQualifier.frag.out
@@ -0,0 +1,181 @@
+spv.memoryQualifier.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 97
+
+ Capability Shader
+ Capability SampledRect
+ Capability Sampled1D
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ Name 4 "main"
+ Name 9 "texel"
+ Name 12 "i1D"
+ Name 19 "i2D"
+ Name 28 "i2DRect"
+ Name 35 "i3D"
+ Name 44 "iCube"
+ Name 49 "Data"
+ MemberName 49(Data) 0 "f1"
+ MemberName 49(Data) 1 "f2"
+ Name 50 "Buffer"
+ MemberName 50(Buffer) 0 "f1"
+ MemberName 50(Buffer) 1 "f2"
+ MemberName 50(Buffer) 2 "f3"
+ MemberName 50(Buffer) 3 "f4"
+ MemberName 50(Buffer) 4 "i1"
+ MemberName 50(Buffer) 5 "data"
+ Name 52 ""
+ Decorate 12(i1D) DescriptorSet 0
+ Decorate 12(i1D) Binding 0
+ Decorate 12(i1D) Coherent
+ Decorate 19(i2D) DescriptorSet 0
+ Decorate 19(i2D) Binding 1
+ Decorate 19(i2D) Volatile
+ Decorate 28(i2DRect) DescriptorSet 0
+ Decorate 28(i2DRect) Binding 2
+ Decorate 28(i2DRect) Restrict
+ Decorate 35(i3D) DescriptorSet 0
+ Decorate 35(i3D) Binding 3
+ Decorate 35(i3D) NonWritable
+ Decorate 44(iCube) DescriptorSet 0
+ Decorate 44(iCube) Binding 3
+ Decorate 44(iCube) NonReadable
+ MemberDecorate 49(Data) 0 Coherent
+ MemberDecorate 49(Data) 0 Offset 0
+ MemberDecorate 49(Data) 1 Coherent
+ MemberDecorate 49(Data) 1 Offset 8
+ MemberDecorate 50(Buffer) 0 Coherent
+ MemberDecorate 50(Buffer) 0 Volatile
+ MemberDecorate 50(Buffer) 0 Offset 0
+ MemberDecorate 50(Buffer) 1 Coherent
+ MemberDecorate 50(Buffer) 1 Restrict
+ MemberDecorate 50(Buffer) 1 Offset 8
+ MemberDecorate 50(Buffer) 2 Coherent
+ MemberDecorate 50(Buffer) 2 NonWritable
+ MemberDecorate 50(Buffer) 2 Offset 16
+ MemberDecorate 50(Buffer) 3 Coherent
+ MemberDecorate 50(Buffer) 3 NonReadable
+ MemberDecorate 50(Buffer) 3 Offset 32
+ MemberDecorate 50(Buffer) 4 Coherent
+ MemberDecorate 50(Buffer) 4 Offset 48
+ MemberDecorate 50(Buffer) 5 Coherent
+ MemberDecorate 50(Buffer) 5 Offset 56
+ Decorate 50(Buffer) BufferBlock
+ Decorate 52 DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeImage 6(float) 1D nonsampled format:R32f
+ 11: TypePointer UniformConstant 10
+ 12(i1D): 11(ptr) Variable UniformConstant
+ 14: TypeInt 32 1
+ 15: 14(int) Constant 1
+ 17: TypeImage 6(float) 2D nonsampled format:R32f
+ 18: TypePointer UniformConstant 17
+ 19(i2D): 18(ptr) Variable UniformConstant
+ 21: TypeVector 14(int) 2
+ 22: 21(ivec2) ConstantComposite 15 15
+ 26: TypeImage 6(float) Rect nonsampled format:R32f
+ 27: TypePointer UniformConstant 26
+ 28(i2DRect): 27(ptr) Variable UniformConstant
+ 33: TypeImage 6(float) 3D nonsampled format:R32f
+ 34: TypePointer UniformConstant 33
+ 35(i3D): 34(ptr) Variable UniformConstant
+ 37: TypeVector 14(int) 3
+ 38: 37(ivec3) ConstantComposite 15 15 15
+ 42: TypeImage 6(float) Cube nonsampled format:R32f
+ 43: TypePointer UniformConstant 42
+ 44(iCube): 43(ptr) Variable UniformConstant
+ 47: TypeVector 6(float) 2
+ 48: TypeVector 6(float) 3
+ 49(Data): TypeStruct 6(float) 47(fvec2)
+ 50(Buffer): TypeStruct 6(float) 47(fvec2) 48(fvec3) 7(fvec4) 14(int) 49(Data)
+ 51: TypePointer Uniform 50(Buffer)
+ 52: 51(ptr) Variable Uniform
+ 53: 14(int) Constant 4
+ 54: TypePointer Uniform 14(int)
+ 57: 14(int) Constant 0
+ 58: TypePointer Uniform 6(float)
+ 61: TypePointer Function 6(float)
+ 63: TypePointer Uniform 47(fvec2)
+ 71: 14(int) Constant 2
+ 72: TypePointer Uniform 48(fvec3)
+ 80: 14(int) Constant 5
+ 83: TypeInt 32 0
+ 84: 83(int) Constant 1
+ 88: 83(int) Constant 3
+ 93: 14(int) Constant 3
+ 95: TypePointer Uniform 7(fvec4)
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(texel): 8(ptr) Variable Function
+ 13: 10 Load 12(i1D)
+ 16: 7(fvec4) ImageRead 13 15
+ Store 9(texel) 16
+ 20: 17 Load 19(i2D)
+ 23: 7(fvec4) ImageRead 20 22
+ 24: 7(fvec4) Load 9(texel)
+ 25: 7(fvec4) FAdd 24 23
+ Store 9(texel) 25
+ 29: 26 Load 28(i2DRect)
+ 30: 7(fvec4) ImageRead 29 22
+ 31: 7(fvec4) Load 9(texel)
+ 32: 7(fvec4) FAdd 31 30
+ Store 9(texel) 32
+ 36: 33 Load 35(i3D)
+ 39: 7(fvec4) ImageRead 36 38
+ 40: 7(fvec4) Load 9(texel)
+ 41: 7(fvec4) FAdd 40 39
+ Store 9(texel) 41
+ 45: 42 Load 44(iCube)
+ 46: 7(fvec4) Load 9(texel)
+ ImageWrite 45 38 46
+ 55: 54(ptr) AccessChain 52 53
+ 56: 14(int) Load 55
+ 59: 58(ptr) AccessChain 52 57
+ 60: 6(float) Load 59
+ 62: 61(ptr) AccessChain 9(texel) 56
+ Store 62 60
+ 64: 63(ptr) AccessChain 52 15
+ 65: 47(fvec2) Load 64
+ 66: 7(fvec4) Load 9(texel)
+ 67: 47(fvec2) VectorShuffle 66 66 0 1
+ 68: 47(fvec2) FAdd 67 65
+ 69: 7(fvec4) Load 9(texel)
+ 70: 7(fvec4) VectorShuffle 69 68 4 5 2 3
+ Store 9(texel) 70
+ 73: 72(ptr) AccessChain 52 71
+ 74: 48(fvec3) Load 73
+ 75: 7(fvec4) Load 9(texel)
+ 76: 48(fvec3) VectorShuffle 75 75 0 1 2
+ 77: 48(fvec3) FSub 76 74
+ 78: 7(fvec4) Load 9(texel)
+ 79: 7(fvec4) VectorShuffle 78 77 4 5 6 3
+ Store 9(texel) 79
+ 81: 58(ptr) AccessChain 52 80 57
+ 82: 6(float) Load 81
+ 85: 58(ptr) AccessChain 52 80 15 84
+ 86: 6(float) Load 85
+ 87: 6(float) FAdd 82 86
+ 89: 61(ptr) AccessChain 9(texel) 88
+ 90: 6(float) Load 89
+ 91: 6(float) FAdd 90 87
+ 92: 61(ptr) AccessChain 9(texel) 88
+ Store 92 91
+ 94: 7(fvec4) Load 9(texel)
+ 96: 95(ptr) AccessChain 52 93
+ Store 96 94
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.merge-unreachable.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.merge-unreachable.frag.out
new file mode 100644
index 00000000000..6e326187b21
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.merge-unreachable.frag.out
@@ -0,0 +1,47 @@
+spv.merge-unreachable.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 25
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 9
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ Name 4 "main"
+ Name 9 "v"
+ Decorate 9(v) Location 1
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Input 7(fvec4)
+ 9(v): 8(ptr) Variable Input
+ 11: 6(float) Constant 1036831949
+ 12: 6(float) Constant 1045220557
+ 13: 6(float) Constant 1050253722
+ 14: 6(float) Constant 1053609165
+ 15: 7(fvec4) ConstantComposite 11 12 13 14
+ 16: TypeBool
+ 17: TypeVector 16(bool) 4
+ 4(main): 2 Function None 3
+ 5: Label
+ 10: 7(fvec4) Load 9(v)
+ 18: 17(bvec4) FOrdEqual 10 15
+ 19: 16(bool) All 18
+ SelectionMerge 21 None
+ BranchConditional 19 20 23
+ 20: Label
+ Kill
+ 23: Label
+ Return
+ 21: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.newTexture.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.newTexture.frag.out
new file mode 100755
index 00000000000..4390e26d401
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.newTexture.frag.out
@@ -0,0 +1,385 @@
+spv.newTexture.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 282
+
+ Capability Shader
+ Capability SampledRect
+ Capability SampledCubeArray
+ Capability ImageQuery
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 17 26 29 55 81 84 92 251 281
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 430
+ Name 4 "main"
+ Name 9 "v"
+ Name 13 "s2D"
+ Name 17 "c2D"
+ Name 23 "sCubeArrayShadow"
+ Name 26 "c4D"
+ Name 29 "c1D"
+ Name 42 "s3D"
+ Name 51 "s2DArray"
+ Name 55 "c3D"
+ Name 64 "s2DShadow"
+ Name 81 "ic3D"
+ Name 84 "ic1D"
+ Name 92 "ic2D"
+ Name 102 "sr"
+ Name 128 "sCube"
+ Name 139 "s2DArrayShadow"
+ Name 167 "iv"
+ Name 171 "is2D"
+ Name 206 "is3D"
+ Name 218 "isCube"
+ Name 230 "is2DArray"
+ Name 241 "iv2"
+ Name 245 "sCubeShadow"
+ Name 251 "FragData"
+ Name 263 "is2Dms"
+ Name 267 "us2D"
+ Name 271 "us3D"
+ Name 275 "usCube"
+ Name 279 "us2DArray"
+ Name 281 "ic4D"
+ Decorate 13(s2D) DescriptorSet 0
+ Decorate 23(sCubeArrayShadow) DescriptorSet 0
+ Decorate 42(s3D) DescriptorSet 0
+ Decorate 51(s2DArray) DescriptorSet 0
+ Decorate 64(s2DShadow) DescriptorSet 0
+ Decorate 81(ic3D) Flat
+ Decorate 84(ic1D) Flat
+ Decorate 92(ic2D) Flat
+ Decorate 102(sr) DescriptorSet 0
+ Decorate 128(sCube) DescriptorSet 0
+ Decorate 139(s2DArrayShadow) DescriptorSet 0
+ Decorate 171(is2D) DescriptorSet 0
+ Decorate 206(is3D) DescriptorSet 0
+ Decorate 218(isCube) DescriptorSet 0
+ Decorate 230(is2DArray) DescriptorSet 0
+ Decorate 245(sCubeShadow) DescriptorSet 0
+ Decorate 263(is2Dms) DescriptorSet 0
+ Decorate 267(us2D) DescriptorSet 0
+ Decorate 271(us3D) DescriptorSet 0
+ Decorate 275(usCube) DescriptorSet 0
+ Decorate 279(us2DArray) DescriptorSet 0
+ Decorate 281(ic4D) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeImage 6(float) 2D sampled format:Unknown
+ 11: TypeSampledImage 10
+ 12: TypePointer UniformConstant 11
+ 13(s2D): 12(ptr) Variable UniformConstant
+ 15: TypeVector 6(float) 2
+ 16: TypePointer Input 15(fvec2)
+ 17(c2D): 16(ptr) Variable Input
+ 20: TypeImage 6(float) Cube depth array sampled format:Unknown
+ 21: TypeSampledImage 20
+ 22: TypePointer UniformConstant 21
+23(sCubeArrayShadow): 22(ptr) Variable UniformConstant
+ 25: TypePointer Input 7(fvec4)
+ 26(c4D): 25(ptr) Variable Input
+ 28: TypePointer Input 6(float)
+ 29(c1D): 28(ptr) Variable Input
+ 32: TypeInt 32 0
+ 33: 32(int) Constant 1
+ 34: TypePointer Function 6(float)
+ 39: TypeImage 6(float) 3D sampled format:Unknown
+ 40: TypeSampledImage 39
+ 41: TypePointer UniformConstant 40
+ 42(s3D): 41(ptr) Variable UniformConstant
+ 48: TypeImage 6(float) 2D array sampled format:Unknown
+ 49: TypeSampledImage 48
+ 50: TypePointer UniformConstant 49
+ 51(s2DArray): 50(ptr) Variable UniformConstant
+ 53: TypeVector 6(float) 3
+ 54: TypePointer Input 53(fvec3)
+ 55(c3D): 54(ptr) Variable Input
+ 57: 6(float) Constant 1067030938
+ 61: TypeImage 6(float) 2D depth sampled format:Unknown
+ 62: TypeSampledImage 61
+ 63: TypePointer UniformConstant 62
+ 64(s2DShadow): 63(ptr) Variable UniformConstant
+ 67: TypeInt 32 1
+ 68: TypeVector 67(int) 2
+ 69: 67(int) Constant 3
+ 70: 68(ivec2) ConstantComposite 69 69
+ 79: TypeVector 67(int) 3
+ 80: TypePointer Input 79(ivec3)
+ 81(ic3D): 80(ptr) Variable Input
+ 83: TypePointer Input 67(int)
+ 84(ic1D): 83(ptr) Variable Input
+ 91: TypePointer Input 68(ivec2)
+ 92(ic2D): 91(ptr) Variable Input
+ 94: 67(int) Constant 4
+ 99: TypeImage 6(float) Rect sampled format:Unknown
+ 100: TypeSampledImage 99
+ 101: TypePointer UniformConstant 100
+ 102(sr): 101(ptr) Variable UniformConstant
+ 105: 68(ivec2) ConstantComposite 94 94
+ 125: TypeImage 6(float) Cube sampled format:Unknown
+ 126: TypeSampledImage 125
+ 127: TypePointer UniformConstant 126
+ 128(sCube): 127(ptr) Variable UniformConstant
+ 136: TypeImage 6(float) 2D depth array sampled format:Unknown
+ 137: TypeSampledImage 136
+ 138: TypePointer UniformConstant 137
+139(s2DArrayShadow): 138(ptr) Variable UniformConstant
+ 146: 32(int) Constant 0
+ 165: TypeVector 67(int) 4
+ 166: TypePointer Function 165(ivec4)
+ 168: TypeImage 67(int) 2D sampled format:Unknown
+ 169: TypeSampledImage 168
+ 170: TypePointer UniformConstant 169
+ 171(is2D): 170(ptr) Variable UniformConstant
+ 203: TypeImage 67(int) 3D sampled format:Unknown
+ 204: TypeSampledImage 203
+ 205: TypePointer UniformConstant 204
+ 206(is3D): 205(ptr) Variable UniformConstant
+ 209: 6(float) Constant 1082549862
+ 215: TypeImage 67(int) Cube sampled format:Unknown
+ 216: TypeSampledImage 215
+ 217: TypePointer UniformConstant 216
+ 218(isCube): 217(ptr) Variable UniformConstant
+ 227: TypeImage 67(int) 2D array sampled format:Unknown
+ 228: TypeSampledImage 227
+ 229: TypePointer UniformConstant 228
+ 230(is2DArray): 229(ptr) Variable UniformConstant
+ 240: TypePointer Function 68(ivec2)
+ 242: TypeImage 6(float) Cube depth sampled format:Unknown
+ 243: TypeSampledImage 242
+ 244: TypePointer UniformConstant 243
+245(sCubeShadow): 244(ptr) Variable UniformConstant
+ 247: 67(int) Constant 2
+ 250: TypePointer Output 7(fvec4)
+ 251(FragData): 250(ptr) Variable Output
+ 255: 6(float) Constant 0
+ 260: TypeImage 67(int) 2D multi-sampled sampled format:Unknown
+ 261: TypeSampledImage 260
+ 262: TypePointer UniformConstant 261
+ 263(is2Dms): 262(ptr) Variable UniformConstant
+ 264: TypeImage 32(int) 2D sampled format:Unknown
+ 265: TypeSampledImage 264
+ 266: TypePointer UniformConstant 265
+ 267(us2D): 266(ptr) Variable UniformConstant
+ 268: TypeImage 32(int) 3D sampled format:Unknown
+ 269: TypeSampledImage 268
+ 270: TypePointer UniformConstant 269
+ 271(us3D): 270(ptr) Variable UniformConstant
+ 272: TypeImage 32(int) Cube sampled format:Unknown
+ 273: TypeSampledImage 272
+ 274: TypePointer UniformConstant 273
+ 275(usCube): 274(ptr) Variable UniformConstant
+ 276: TypeImage 32(int) 2D array sampled format:Unknown
+ 277: TypeSampledImage 276
+ 278: TypePointer UniformConstant 277
+ 279(us2DArray): 278(ptr) Variable UniformConstant
+ 280: TypePointer Input 165(ivec4)
+ 281(ic4D): 280(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(v): 8(ptr) Variable Function
+ 167(iv): 166(ptr) Variable Function
+ 241(iv2): 240(ptr) Variable Function
+ 14: 11 Load 13(s2D)
+ 18: 15(fvec2) Load 17(c2D)
+ 19: 7(fvec4) ImageSampleImplicitLod 14 18
+ Store 9(v) 19
+ 24: 21 Load 23(sCubeArrayShadow)
+ 27: 7(fvec4) Load 26(c4D)
+ 30: 6(float) Load 29(c1D)
+ 31: 6(float) ImageSampleDrefImplicitLod 24 27 30
+ 35: 34(ptr) AccessChain 9(v) 33
+ 36: 6(float) Load 35
+ 37: 6(float) FAdd 36 31
+ 38: 34(ptr) AccessChain 9(v) 33
+ Store 38 37
+ 43: 40 Load 42(s3D)
+ 44: 7(fvec4) Load 26(c4D)
+ 45: 7(fvec4) ImageSampleProjImplicitLod 43 44
+ 46: 7(fvec4) Load 9(v)
+ 47: 7(fvec4) FAdd 46 45
+ Store 9(v) 47
+ 52: 49 Load 51(s2DArray)
+ 56: 53(fvec3) Load 55(c3D)
+ 58: 7(fvec4) ImageSampleExplicitLod 52 56 Lod 57
+ 59: 7(fvec4) Load 9(v)
+ 60: 7(fvec4) FAdd 59 58
+ Store 9(v) 60
+ 65: 62 Load 64(s2DShadow)
+ 66: 53(fvec3) Load 55(c3D)
+ 71: 6(float) Load 29(c1D)
+ 72: 6(float) CompositeExtract 66 2
+ 73: 6(float) ImageSampleDrefImplicitLod 65 66 72 Bias ConstOffset 71 70
+ 74: 34(ptr) AccessChain 9(v) 33
+ 75: 6(float) Load 74
+ 76: 6(float) FAdd 75 73
+ 77: 34(ptr) AccessChain 9(v) 33
+ Store 77 76
+ 78: 40 Load 42(s3D)
+ 82: 79(ivec3) Load 81(ic3D)
+ 85: 67(int) Load 84(ic1D)
+ 86: 39 Image 78
+ 87: 7(fvec4) ImageFetch 86 82 Lod 85
+ 88: 7(fvec4) Load 9(v)
+ 89: 7(fvec4) FAdd 88 87
+ Store 9(v) 89
+ 90: 11 Load 13(s2D)
+ 93: 68(ivec2) Load 92(ic2D)
+ 95: 10 Image 90
+ 96: 7(fvec4) ImageFetch 95 93 Lod ConstOffset 94 70
+ 97: 7(fvec4) Load 9(v)
+ 98: 7(fvec4) FAdd 97 96
+ Store 9(v) 98
+ 103: 100 Load 102(sr)
+ 104: 68(ivec2) Load 92(ic2D)
+ 106: 99 Image 103
+ 107: 7(fvec4) ImageFetch 106 104 ConstOffset 105
+ 108: 7(fvec4) Load 9(v)
+ 109: 7(fvec4) FAdd 108 107
+ Store 9(v) 109
+ 110: 62 Load 64(s2DShadow)
+ 111: 53(fvec3) Load 55(c3D)
+ 112: 6(float) Load 29(c1D)
+ 113: 6(float) CompositeExtract 111 2
+ 114: 6(float) ImageSampleDrefExplicitLod 110 111 113 Lod ConstOffset 112 70
+ 115: 34(ptr) AccessChain 9(v) 33
+ 116: 6(float) Load 115
+ 117: 6(float) FAdd 116 114
+ 118: 34(ptr) AccessChain 9(v) 33
+ Store 118 117
+ 119: 11 Load 13(s2D)
+ 120: 53(fvec3) Load 55(c3D)
+ 121: 6(float) Load 29(c1D)
+ 122: 7(fvec4) ImageSampleProjExplicitLod 119 120 Lod ConstOffset 121 70
+ 123: 7(fvec4) Load 9(v)
+ 124: 7(fvec4) FAdd 123 122
+ Store 9(v) 124
+ 129: 126 Load 128(sCube)
+ 130: 53(fvec3) Load 55(c3D)
+ 131: 53(fvec3) Load 55(c3D)
+ 132: 53(fvec3) Load 55(c3D)
+ 133: 7(fvec4) ImageSampleExplicitLod 129 130 Grad 131 132
+ 134: 7(fvec4) Load 9(v)
+ 135: 7(fvec4) FAdd 134 133
+ Store 9(v) 135
+ 140: 137 Load 139(s2DArrayShadow)
+ 141: 7(fvec4) Load 26(c4D)
+ 142: 15(fvec2) Load 17(c2D)
+ 143: 15(fvec2) Load 17(c2D)
+ 144: 6(float) CompositeExtract 141 3
+ 145: 6(float) ImageSampleDrefExplicitLod 140 141 144 Grad ConstOffset 142 143 70
+ 147: 34(ptr) AccessChain 9(v) 146
+ 148: 6(float) Load 147
+ 149: 6(float) FAdd 148 145
+ 150: 34(ptr) AccessChain 9(v) 146
+ Store 150 149
+ 151: 40 Load 42(s3D)
+ 152: 7(fvec4) Load 26(c4D)
+ 153: 53(fvec3) Load 55(c3D)
+ 154: 53(fvec3) Load 55(c3D)
+ 155: 7(fvec4) ImageSampleProjExplicitLod 151 152 Grad 153 154
+ 156: 7(fvec4) Load 9(v)
+ 157: 7(fvec4) FAdd 156 155
+ Store 9(v) 157
+ 158: 11 Load 13(s2D)
+ 159: 53(fvec3) Load 55(c3D)
+ 160: 15(fvec2) Load 17(c2D)
+ 161: 15(fvec2) Load 17(c2D)
+ 162: 7(fvec4) ImageSampleProjExplicitLod 158 159 Grad ConstOffset 160 161 70
+ 163: 7(fvec4) Load 9(v)
+ 164: 7(fvec4) FAdd 163 162
+ Store 9(v) 164
+ 172: 169 Load 171(is2D)
+ 173: 15(fvec2) Load 17(c2D)
+ 174: 165(ivec4) ImageSampleImplicitLod 172 173
+ Store 167(iv) 174
+ 175: 165(ivec4) Load 167(iv)
+ 176: 7(fvec4) ConvertSToF 175
+ 177: 7(fvec4) Load 9(v)
+ 178: 7(fvec4) FAdd 177 176
+ Store 9(v) 178
+ 179: 169 Load 171(is2D)
+ 180: 7(fvec4) Load 26(c4D)
+ 181: 165(ivec4) ImageSampleProjImplicitLod 179 180 ConstOffset 70
+ Store 167(iv) 181
+ 182: 165(ivec4) Load 167(iv)
+ 183: 7(fvec4) ConvertSToF 182
+ 184: 7(fvec4) Load 9(v)
+ 185: 7(fvec4) FAdd 184 183
+ Store 9(v) 185
+ 186: 169 Load 171(is2D)
+ 187: 53(fvec3) Load 55(c3D)
+ 188: 6(float) Load 29(c1D)
+ 189: 165(ivec4) ImageSampleProjExplicitLod 186 187 Lod 188
+ Store 167(iv) 189
+ 190: 165(ivec4) Load 167(iv)
+ 191: 7(fvec4) ConvertSToF 190
+ 192: 7(fvec4) Load 9(v)
+ 193: 7(fvec4) FAdd 192 191
+ Store 9(v) 193
+ 194: 169 Load 171(is2D)
+ 195: 53(fvec3) Load 55(c3D)
+ 196: 15(fvec2) Load 17(c2D)
+ 197: 15(fvec2) Load 17(c2D)
+ 198: 165(ivec4) ImageSampleProjExplicitLod 194 195 Grad 196 197
+ Store 167(iv) 198
+ 199: 165(ivec4) Load 167(iv)
+ 200: 7(fvec4) ConvertSToF 199
+ 201: 7(fvec4) Load 9(v)
+ 202: 7(fvec4) FAdd 201 200
+ Store 9(v) 202
+ 207: 204 Load 206(is3D)
+ 208: 53(fvec3) Load 55(c3D)
+ 210: 165(ivec4) ImageSampleImplicitLod 207 208 Bias 209
+ Store 167(iv) 210
+ 211: 165(ivec4) Load 167(iv)
+ 212: 7(fvec4) ConvertSToF 211
+ 213: 7(fvec4) Load 9(v)
+ 214: 7(fvec4) FAdd 213 212
+ Store 9(v) 214
+ 219: 216 Load 218(isCube)
+ 220: 53(fvec3) Load 55(c3D)
+ 221: 6(float) Load 29(c1D)
+ 222: 165(ivec4) ImageSampleExplicitLod 219 220 Lod 221
+ Store 167(iv) 222
+ 223: 165(ivec4) Load 167(iv)
+ 224: 7(fvec4) ConvertSToF 223
+ 225: 7(fvec4) Load 9(v)
+ 226: 7(fvec4) FAdd 225 224
+ Store 9(v) 226
+ 231: 228 Load 230(is2DArray)
+ 232: 79(ivec3) Load 81(ic3D)
+ 233: 67(int) Load 84(ic1D)
+ 234: 227 Image 231
+ 235: 165(ivec4) ImageFetch 234 232 Lod 233
+ Store 167(iv) 235
+ 236: 165(ivec4) Load 167(iv)
+ 237: 7(fvec4) ConvertSToF 236
+ 238: 7(fvec4) Load 9(v)
+ 239: 7(fvec4) FAdd 238 237
+ Store 9(v) 239
+ 246: 243 Load 245(sCubeShadow)
+ 248: 242 Image 246
+ 249: 68(ivec2) ImageQuerySizeLod 248 247
+ Store 241(iv2) 249
+ 252: 7(fvec4) Load 9(v)
+ 253: 68(ivec2) Load 241(iv2)
+ 254: 15(fvec2) ConvertSToF 253
+ 256: 6(float) CompositeExtract 254 0
+ 257: 6(float) CompositeExtract 254 1
+ 258: 7(fvec4) CompositeConstruct 256 257 255 255
+ 259: 7(fvec4) FAdd 252 258
+ Store 251(FragData) 259
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.noDeadDecorations.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.noDeadDecorations.vert.out
new file mode 100644
index 00000000000..e9b23566a4b
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.noDeadDecorations.vert.out
@@ -0,0 +1,64 @@
+spv.noDeadDecorations.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 32
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 22
+ Source ESSL 310
+ Name 4 "main"
+ Name 10 "func(f1;"
+ Name 9 "a"
+ Name 20 "gl_PerVertex"
+ MemberName 20(gl_PerVertex) 0 "gl_Position"
+ MemberName 20(gl_PerVertex) 1 "gl_PointSize"
+ Name 22 ""
+ Name 26 "param"
+ Decorate 10(func(f1;) RelaxedPrecision
+ Decorate 9(a) RelaxedPrecision
+ Decorate 12 RelaxedPrecision
+ Decorate 13 RelaxedPrecision
+ MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize
+ Decorate 20(gl_PerVertex) Block
+ Decorate 27 RelaxedPrecision
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 8: TypeFunction 6(float) 7(ptr)
+ 16: 6(float) Constant 3212836864
+ 19: TypeVector 6(float) 4
+20(gl_PerVertex): TypeStruct 19(fvec4) 6(float)
+ 21: TypePointer Output 20(gl_PerVertex)
+ 22: 21(ptr) Variable Output
+ 23: TypeInt 32 1
+ 24: 23(int) Constant 0
+ 25: 6(float) Constant 0
+ 28: TypeInt 32 0
+ 29: 28(int) Constant 0
+ 30: TypePointer Output 6(float)
+ 4(main): 2 Function None 3
+ 5: Label
+ 26(param): 7(ptr) Variable Function
+ Store 26(param) 25
+ 27: 6(float) FunctionCall 10(func(f1;) 26(param)
+ 31: 30(ptr) AccessChain 22 24 29
+ Store 31 27
+ Return
+ FunctionEnd
+ 10(func(f1;): 6(float) Function None 8
+ 9(a): 7(ptr) FunctionParameter
+ 11: Label
+ 12: 6(float) Load 9(a)
+ 13: 6(float) FNegate 12
+ ReturnValue 13
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.nonSquare.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.nonSquare.vert.out
new file mode 100755
index 00000000000..329a71cb299
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.nonSquare.vert.out
@@ -0,0 +1,116 @@
+spv.nonSquare.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 90
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 12 22 28 55
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "a"
+ Name 12 "v3"
+ Name 16 "m23"
+ Name 19 "b"
+ Name 22 "m32"
+ Name 28 "gl_Position"
+ Name 55 "v4"
+ Decorate 28(gl_Position) BuiltIn Position
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypePointer Function 7(fvec2)
+ 10: TypeVector 6(float) 3
+ 11: TypePointer Input 10(fvec3)
+ 12(v3): 11(ptr) Variable Input
+ 14: TypeMatrix 10(fvec3) 2
+ 15: TypePointer Function 14
+ 20: TypeMatrix 7(fvec2) 3
+ 21: TypePointer Output 20
+ 22(m32): 21(ptr) Variable Output
+ 26: TypeVector 6(float) 4
+ 27: TypePointer Output 26(fvec4)
+ 28(gl_Position): 27(ptr) Variable Output
+ 31: TypeMatrix 10(fvec3) 3
+ 35: 6(float) Constant 0
+ 40: TypeMatrix 26(fvec4) 4
+ 41: 6(float) Constant 1077936128
+ 42: 6(float) Constant 1086324736
+ 43: 26(fvec4) ConstantComposite 41 42 35 35
+ 44: 6(float) Constant 1091567616
+ 45: 6(float) Constant 1094713344
+ 46: 26(fvec4) ConstantComposite 44 45 35 35
+ 47: 6(float) Constant 1097859072
+ 48: 6(float) Constant 1099956224
+ 49: 26(fvec4) ConstantComposite 47 48 35 35
+ 50: 6(float) Constant 1101529088
+ 51: 6(float) Constant 1103101952
+ 52: 26(fvec4) ConstantComposite 50 51 35 35
+ 53: 40 ConstantComposite 43 46 49 52
+ 54: TypePointer Input 26(fvec4)
+ 55(v4): 54(ptr) Variable Input
+ 59: 6(float) Constant 1112014848
+ 60: 6(float) Constant 1121714176
+ 61: 6(float) Constant 1126825984
+ 62: 6(float) Constant 1130758144
+ 63: 26(fvec4) ConstantComposite 59 60 61 62
+ 65: 6(float) Constant 1106247680
+ 66: 6(float) Constant 1114636288
+ 67: 26(fvec4) ConstantComposite 65 66 35 35
+ 69: 6(float) Constant 1101004800
+ 70: 6(float) Constant 1092616192
+ 71: 6(float) Constant 1084227584
+ 72: 26(fvec4) ConstantComposite 69 70 42 71
+ 74: 7(fvec2) ConstantComposite 70 69
+ 75: TypeMatrix 26(fvec4) 2
+ 76: 26(fvec4) ConstantComposite 41 35 35 35
+ 77: 26(fvec4) ConstantComposite 35 41 35 35
+ 78: 75 ConstantComposite 76 77
+ 79: TypeMatrix 7(fvec2) 4
+ 80: 6(float) Constant 1065353216
+ 81: 6(float) Constant 1073741824
+ 82: 7(fvec2) ConstantComposite 80 81
+ 83: 6(float) Constant 1082130432
+ 84: 7(fvec2) ConstantComposite 41 83
+ 85: 7(fvec2) ConstantComposite 71 42
+ 86: 6(float) Constant 1088421888
+ 87: 6(float) Constant 1090519040
+ 88: 7(fvec2) ConstantComposite 86 87
+ 89: 79 ConstantComposite 82 84 85 88
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(a): 8(ptr) Variable Function
+ 16(m23): 15(ptr) Variable Function
+ 19(b): 8(ptr) Variable Function
+ 13: 10(fvec3) Load 12(v3)
+ 17: 14 Load 16(m23)
+ 18: 7(fvec2) VectorTimesMatrix 13 17
+ Store 9(a) 18
+ 23: 20 Load 22(m32)
+ 24: 10(fvec3) Load 12(v3)
+ 25: 7(fvec2) MatrixTimesVector 23 24
+ Store 19(b) 25
+ 29: 14 Load 16(m23)
+ 30: 20 Load 22(m32)
+ 32: 31 MatrixTimesMatrix 29 30
+ 33: 10(fvec3) Load 12(v3)
+ 34: 10(fvec3) MatrixTimesVector 32 33
+ 36: 6(float) CompositeExtract 34 0
+ 37: 6(float) CompositeExtract 34 1
+ 38: 6(float) CompositeExtract 34 2
+ 39: 26(fvec4) CompositeConstruct 36 37 38 35
+ 56: 26(fvec4) Load 55(v4)
+ 57: 26(fvec4) MatrixTimesVector 53 56
+ 58: 26(fvec4) FAdd 39 57
+ 64: 26(fvec4) FAdd 58 63
+ 68: 26(fvec4) FAdd 64 67
+ 73: 26(fvec4) FAdd 68 72
+ Store 28(gl_Position) 73
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.precise.tesc.out b/chromium/third_party/glslang/src/Test/baseResults/spv.precise.tesc.out
new file mode 100644
index 00000000000..0331a14ac00
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.precise.tesc.out
@@ -0,0 +1,122 @@
+spv.precise.tesc
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked tessellation control stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 72
+
+ Capability Tessellation
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint TessellationControl 4 "main" 12 15 20 30 40 45
+ ExecutionMode 4 OutputVertices 3
+ Source ESSL 310
+ SourceExtension "GL_EXT_gpu_shader5"
+ SourceExtension "GL_EXT_shader_io_blocks"
+ SourceExtension "GL_EXT_tessellation_shader"
+ Name 4 "main"
+ Name 12 "in_te_position"
+ Name 15 "gl_InvocationID"
+ Name 20 "in_tc_position"
+ Name 30 "gl_TessLevelInner"
+ Name 40 "gl_TessLevelOuter"
+ Name 45 "in_tc_tessParam"
+ Decorate 12(in_te_position) Location 0
+ Decorate 15(gl_InvocationID) BuiltIn InvocationId
+ Decorate 20(in_tc_position) Location 0
+ Decorate 30(gl_TessLevelInner) Patch
+ Decorate 30(gl_TessLevelInner) BuiltIn TessLevelInner
+ Decorate 40(gl_TessLevelOuter) Patch
+ Decorate 40(gl_TessLevelOuter) BuiltIn TessLevelOuter
+ Decorate 45(in_tc_tessParam) Location 1
+ Decorate 52 NoContraction
+ Decorate 53 NoContraction
+ Decorate 54 NoContraction
+ Decorate 60 NoContraction
+ Decorate 61 NoContraction
+ Decorate 62 NoContraction
+ Decorate 68 NoContraction
+ Decorate 69 NoContraction
+ Decorate 70 NoContraction
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 3
+ 10: TypeArray 7(fvec2) 9
+ 11: TypePointer Output 10
+12(in_te_position): 11(ptr) Variable Output
+ 13: TypeInt 32 1
+ 14: TypePointer Input 13(int)
+15(gl_InvocationID): 14(ptr) Variable Input
+ 17: 8(int) Constant 32
+ 18: TypeArray 7(fvec2) 17
+ 19: TypePointer Input 18
+20(in_tc_position): 19(ptr) Variable Input
+ 22: TypePointer Input 7(fvec2)
+ 25: TypePointer Output 7(fvec2)
+ 27: 8(int) Constant 2
+ 28: TypeArray 6(float) 27
+ 29: TypePointer Output 28
+30(gl_TessLevelInner): 29(ptr) Variable Output
+ 31: 13(int) Constant 0
+ 32: 6(float) Constant 1084227584
+ 33: TypePointer Output 6(float)
+ 35: 13(int) Constant 1
+ 37: 8(int) Constant 4
+ 38: TypeArray 6(float) 37
+ 39: TypePointer Output 38
+40(gl_TessLevelOuter): 39(ptr) Variable Output
+ 41: 6(float) Constant 1065353216
+ 42: 6(float) Constant 1105985536
+ 43: TypeArray 6(float) 17
+ 44: TypePointer Input 43
+45(in_tc_tessParam): 44(ptr) Variable Input
+ 46: TypePointer Input 6(float)
+ 49: 13(int) Constant 2
+ 4(main): 2 Function None 3
+ 5: Label
+ 16: 13(int) Load 15(gl_InvocationID)
+ 21: 13(int) Load 15(gl_InvocationID)
+ 23: 22(ptr) AccessChain 20(in_tc_position) 21
+ 24: 7(fvec2) Load 23
+ 26: 25(ptr) AccessChain 12(in_te_position) 16
+ Store 26 24
+ 34: 33(ptr) AccessChain 30(gl_TessLevelInner) 31
+ Store 34 32
+ 36: 33(ptr) AccessChain 30(gl_TessLevelInner) 35
+ Store 36 32
+ 47: 46(ptr) AccessChain 45(in_tc_tessParam) 35
+ 48: 6(float) Load 47
+ 50: 46(ptr) AccessChain 45(in_tc_tessParam) 49
+ 51: 6(float) Load 50
+ 52: 6(float) FAdd 48 51
+ 53: 6(float) FMul 42 52
+ 54: 6(float) FAdd 41 53
+ 55: 33(ptr) AccessChain 40(gl_TessLevelOuter) 31
+ Store 55 54
+ 56: 46(ptr) AccessChain 45(in_tc_tessParam) 49
+ 57: 6(float) Load 56
+ 58: 46(ptr) AccessChain 45(in_tc_tessParam) 31
+ 59: 6(float) Load 58
+ 60: 6(float) FAdd 57 59
+ 61: 6(float) FMul 42 60
+ 62: 6(float) FAdd 41 61
+ 63: 33(ptr) AccessChain 40(gl_TessLevelOuter) 35
+ Store 63 62
+ 64: 46(ptr) AccessChain 45(in_tc_tessParam) 31
+ 65: 6(float) Load 64
+ 66: 46(ptr) AccessChain 45(in_tc_tessParam) 35
+ 67: 6(float) Load 66
+ 68: 6(float) FAdd 65 67
+ 69: 6(float) FMul 42 68
+ 70: 6(float) FAdd 41 69
+ 71: 33(ptr) AccessChain 40(gl_TessLevelOuter) 49
+ Store 71 70
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.precise.tese.out b/chromium/third_party/glslang/src/Test/baseResults/spv.precise.tese.out
new file mode 100644
index 00000000000..40339812283
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.precise.tese.out
@@ -0,0 +1,191 @@
+spv.precise.tese
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked tessellation evaluation stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 119
+
+ Capability Tessellation
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint TessellationEvaluation 4 "main" 12 21 62 112
+ ExecutionMode 4 Triangles
+ ExecutionMode 4 SpacingEqual
+ ExecutionMode 4 VertexOrderCcw
+ Source ESSL 310
+ SourceExtension "GL_EXT_gpu_shader5"
+ SourceExtension "GL_EXT_shader_io_blocks"
+ SourceExtension "GL_EXT_tessellation_shader"
+ Name 4 "main"
+ Name 9 "pos"
+ Name 12 "gl_TessCoord"
+ Name 21 "in_te_position"
+ Name 45 "f"
+ Name 62 "in_f_color"
+ Name 73 "bits"
+ Name 77 "numBits"
+ Name 78 "i"
+ Name 110 "gl_PerVertex"
+ MemberName 110(gl_PerVertex) 0 "gl_Position"
+ MemberName 110(gl_PerVertex) 1 "gl_PointSize"
+ Name 112 ""
+ Decorate 12(gl_TessCoord) BuiltIn TessCoord
+ Decorate 21(in_te_position) Location 0
+ Decorate 27 NoContraction
+ Decorate 34 NoContraction
+ Decorate 35 NoContraction
+ Decorate 42 NoContraction
+ Decorate 43 NoContraction
+ Decorate 62(in_f_color) RelaxedPrecision
+ Decorate 62(in_f_color) Location 0
+ Decorate 67 RelaxedPrecision
+ Decorate 68 RelaxedPrecision
+ Decorate 69 RelaxedPrecision
+ Decorate 70 RelaxedPrecision
+ Decorate 97 NoContraction
+ Decorate 99 NoContraction
+ Decorate 101 NoContraction
+ Decorate 106 NoContraction
+ Decorate 109 NoContraction
+ MemberDecorate 110(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 110(gl_PerVertex) 1 BuiltIn PointSize
+ Decorate 110(gl_PerVertex) Block
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypePointer Function 7(fvec2)
+ 10: TypeVector 6(float) 3
+ 11: TypePointer Input 10(fvec3)
+12(gl_TessCoord): 11(ptr) Variable Input
+ 13: TypeInt 32 0
+ 14: 13(int) Constant 0
+ 15: TypePointer Input 6(float)
+ 18: 13(int) Constant 32
+ 19: TypeArray 7(fvec2) 18
+ 20: TypePointer Input 19
+21(in_te_position): 20(ptr) Variable Input
+ 22: TypeInt 32 1
+ 23: 22(int) Constant 0
+ 24: TypePointer Input 7(fvec2)
+ 28: 13(int) Constant 1
+ 31: 22(int) Constant 1
+ 36: 13(int) Constant 2
+ 39: 22(int) Constant 2
+ 44: TypePointer Function 6(float)
+ 46: 6(float) Constant 1077936128
+ 57: 6(float) Constant 1056964608
+ 60: TypeVector 6(float) 4
+ 61: TypePointer Output 60(fvec4)
+ 62(in_f_color): 61(ptr) Variable Output
+ 66: 6(float) Constant 1065353216
+ 71: TypeVector 13(int) 2
+ 72: TypePointer Function 71(ivec2)
+ 76: TypePointer Function 13(int)
+ 85: TypeBool
+ 105: 6(float) Constant 1025758986
+110(gl_PerVertex): TypeStruct 60(fvec4) 6(float)
+ 111: TypePointer Output 110(gl_PerVertex)
+ 112: 111(ptr) Variable Output
+ 114: 6(float) Constant 0
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(pos): 8(ptr) Variable Function
+ 45(f): 44(ptr) Variable Function
+ 73(bits): 72(ptr) Variable Function
+ 77(numBits): 76(ptr) Variable Function
+ 78(i): 76(ptr) Variable Function
+ 16: 15(ptr) AccessChain 12(gl_TessCoord) 14
+ 17: 6(float) Load 16
+ 25: 24(ptr) AccessChain 21(in_te_position) 23
+ 26: 7(fvec2) Load 25
+ 27: 7(fvec2) VectorTimesScalar 26 17
+ 29: 15(ptr) AccessChain 12(gl_TessCoord) 28
+ 30: 6(float) Load 29
+ 32: 24(ptr) AccessChain 21(in_te_position) 31
+ 33: 7(fvec2) Load 32
+ 34: 7(fvec2) VectorTimesScalar 33 30
+ 35: 7(fvec2) FAdd 27 34
+ 37: 15(ptr) AccessChain 12(gl_TessCoord) 36
+ 38: 6(float) Load 37
+ 40: 24(ptr) AccessChain 21(in_te_position) 39
+ 41: 7(fvec2) Load 40
+ 42: 7(fvec2) VectorTimesScalar 41 38
+ 43: 7(fvec2) FAdd 35 42
+ Store 9(pos) 43
+ 47: 15(ptr) AccessChain 12(gl_TessCoord) 14
+ 48: 6(float) Load 47
+ 49: 15(ptr) AccessChain 12(gl_TessCoord) 28
+ 50: 6(float) Load 49
+ 51: 15(ptr) AccessChain 12(gl_TessCoord) 36
+ 52: 6(float) Load 51
+ 53: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 50 52
+ 54: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 48 53
+ 55: 6(float) FMul 46 54
+ 56: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 55
+ 58: 6(float) FMul 56 57
+ 59: 6(float) FAdd 58 57
+ Store 45(f) 59
+ 63: 10(fvec3) Load 12(gl_TessCoord)
+ 64: 6(float) Load 45(f)
+ 65: 10(fvec3) VectorTimesScalar 63 64
+ 67: 6(float) CompositeExtract 65 0
+ 68: 6(float) CompositeExtract 65 1
+ 69: 6(float) CompositeExtract 65 2
+ 70: 60(fvec4) CompositeConstruct 67 68 69 66
+ Store 62(in_f_color) 70
+ 74: 7(fvec2) Load 9(pos)
+ 75: 71(ivec2) Bitcast 74
+ Store 73(bits) 75
+ Store 77(numBits) 14
+ Store 78(i) 14
+ Branch 79
+ 79: Label
+ LoopMerge 81 82 None
+ Branch 83
+ 83: Label
+ 84: 13(int) Load 78(i)
+ 86: 85(bool) ULessThan 84 18
+ BranchConditional 86 80 81
+ 80: Label
+ 87: 76(ptr) AccessChain 73(bits) 14
+ 88: 13(int) Load 87
+ 89: 13(int) Load 78(i)
+ 90: 13(int) ShiftLeftLogical 88 89
+ 91: 13(int) BitwiseAnd 90 28
+ 92: 76(ptr) AccessChain 73(bits) 28
+ 93: 13(int) Load 92
+ 94: 13(int) Load 78(i)
+ 95: 13(int) ShiftLeftLogical 93 94
+ 96: 13(int) BitwiseAnd 95 28
+ 97: 13(int) IAdd 91 96
+ 98: 13(int) Load 77(numBits)
+ 99: 13(int) IAdd 98 97
+ Store 77(numBits) 99
+ Branch 82
+ 82: Label
+ 100: 13(int) Load 78(i)
+ 101: 13(int) IAdd 100 31
+ Store 78(i) 101
+ Branch 79
+ 81: Label
+ 102: 13(int) Load 77(numBits)
+ 103: 13(int) BitwiseAnd 102 28
+ 104: 6(float) ConvertUToF 103
+ 106: 6(float) FMul 104 105
+ 107: 7(fvec2) Load 9(pos)
+ 108: 7(fvec2) CompositeConstruct 106 106
+ 109: 7(fvec2) FAdd 107 108
+ Store 9(pos) 109
+ 113: 7(fvec2) Load 9(pos)
+ 115: 6(float) CompositeExtract 113 0
+ 116: 6(float) CompositeExtract 113 1
+ 117: 60(fvec4) CompositeConstruct 115 116 114 66
+ 118: 61(ptr) AccessChain 112 23
+ Store 118 117
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.precision.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.precision.frag.out
new file mode 100755
index 00000000000..33e4fb204ad
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.precision.frag.out
@@ -0,0 +1,234 @@
+spv.precision.frag
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 127
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 23 59 61 73 116
+ ExecutionMode 4 OriginUpperLeft
+ Source ESSL 310
+ Name 4 "main"
+ Name 12 "foo(vf3;"
+ Name 11 "mv3"
+ Name 19 "boolfun(vb2;"
+ Name 18 "bv2"
+ Name 23 "highfin"
+ Name 38 "sum"
+ Name 40 "uniform_medium"
+ Name 42 "uniform_high"
+ Name 48 "uniform_low"
+ Name 53 "arg1"
+ Name 55 "arg2"
+ Name 57 "d"
+ Name 59 "lowfin"
+ Name 61 "mediumfin"
+ Name 65 "global_highp"
+ Name 69 "local_highp"
+ Name 73 "mediumfout"
+ Name 104 "ub2"
+ Name 105 "param"
+ Name 114 "S"
+ MemberName 114(S) 0 "a"
+ MemberName 114(S) 1 "b"
+ Name 116 "s"
+ Decorate 12(foo(vf3;) RelaxedPrecision
+ Decorate 11(mv3) RelaxedPrecision
+ Decorate 38(sum) RelaxedPrecision
+ Decorate 40(uniform_medium) RelaxedPrecision
+ Decorate 41 RelaxedPrecision
+ Decorate 46 RelaxedPrecision
+ Decorate 48(uniform_low) RelaxedPrecision
+ Decorate 49 RelaxedPrecision
+ Decorate 50 RelaxedPrecision
+ Decorate 51 RelaxedPrecision
+ Decorate 53(arg1) RelaxedPrecision
+ Decorate 55(arg2) RelaxedPrecision
+ Decorate 57(d) RelaxedPrecision
+ Decorate 59(lowfin) RelaxedPrecision
+ Decorate 60 RelaxedPrecision
+ Decorate 61(mediumfin) RelaxedPrecision
+ Decorate 62 RelaxedPrecision
+ Decorate 63 RelaxedPrecision
+ Decorate 73(mediumfout) RelaxedPrecision
+ Decorate 74 RelaxedPrecision
+ Decorate 75 RelaxedPrecision
+ Decorate 76 RelaxedPrecision
+ Decorate 77 RelaxedPrecision
+ Decorate 78 RelaxedPrecision
+ Decorate 79 RelaxedPrecision
+ Decorate 83 RelaxedPrecision
+ Decorate 85 RelaxedPrecision
+ Decorate 87 RelaxedPrecision
+ Decorate 88 RelaxedPrecision
+ Decorate 90 RelaxedPrecision
+ Decorate 91 RelaxedPrecision
+ Decorate 94 RelaxedPrecision
+ Decorate 95 RelaxedPrecision
+ Decorate 96 RelaxedPrecision
+ Decorate 97 RelaxedPrecision
+ Decorate 98 RelaxedPrecision
+ Decorate 99 RelaxedPrecision
+ Decorate 100 RelaxedPrecision
+ Decorate 101 RelaxedPrecision
+ Decorate 102 RelaxedPrecision
+ Decorate 110 RelaxedPrecision
+ Decorate 112 RelaxedPrecision
+ Decorate 113 RelaxedPrecision
+ MemberDecorate 114(S) 1 RelaxedPrecision
+ Decorate 120 RelaxedPrecision
+ Decorate 124 RelaxedPrecision
+ Decorate 125 RelaxedPrecision
+ Decorate 126 RelaxedPrecision
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 3
+ 8: TypePointer Function 7(fvec3)
+ 9: TypeVector 6(float) 2
+ 10: TypeFunction 9(fvec2) 8(ptr)
+ 14: TypeBool
+ 15: TypeVector 14(bool) 2
+ 16: TypePointer Function 15(bvec2)
+ 17: TypeFunction 14(bool) 16(ptr)
+ 21: TypeVector 6(float) 4
+ 22: TypePointer Input 21(fvec4)
+ 23(highfin): 22(ptr) Variable Input
+ 29: 14(bool) ConstantFalse
+ 30: 14(bool) ConstantTrue
+ 31: 15(bvec2) ConstantComposite 29 30
+ 36: TypeInt 32 1
+ 37: TypePointer Function 36(int)
+ 39: TypePointer Private 36(int)
+40(uniform_medium): 39(ptr) Variable Private
+42(uniform_high): 39(ptr) Variable Private
+ 48(uniform_low): 39(ptr) Variable Private
+ 52: TypePointer Function 6(float)
+ 54: 6(float) Constant 1078774989
+ 56: 6(float) Constant 1232730691
+ 58: TypePointer Input 6(float)
+ 59(lowfin): 58(ptr) Variable Input
+ 61(mediumfin): 58(ptr) Variable Input
+ 64: TypePointer Private 6(float)
+65(global_highp): 64(ptr) Variable Private
+ 68: TypePointer Function 21(fvec4)
+ 72: TypePointer Output 21(fvec4)
+ 73(mediumfout): 72(ptr) Variable Output
+ 82: 36(int) Constant 4
+ 84: TypeVector 36(int) 2
+ 92: TypeInt 32 0
+ 93: 92(int) Constant 0
+ 103: TypePointer Private 15(bvec2)
+ 104(ub2): 103(ptr) Variable Private
+ 111: 6(float) Constant 1065353216
+ 114(S): TypeStruct 6(float) 6(float)
+ 115: TypePointer Input 114(S)
+ 116(s): 115(ptr) Variable Input
+ 117: 36(int) Constant 0
+ 122: 36(int) Constant 1
+ 4(main): 2 Function None 3
+ 5: Label
+ 38(sum): 37(ptr) Variable Function
+ 53(arg1): 52(ptr) Variable Function
+ 55(arg2): 52(ptr) Variable Function
+ 57(d): 52(ptr) Variable Function
+ 69(local_highp): 68(ptr) Variable Function
+ 105(param): 16(ptr) Variable Function
+ 41: 36(int) Load 40(uniform_medium)
+ 43: 36(int) Load 42(uniform_high)
+ 44: 36(int) IAdd 41 43
+ Store 38(sum) 44
+ 45: 36(int) Load 42(uniform_high)
+ 46: 36(int) Load 38(sum)
+ 47: 36(int) IAdd 46 45
+ Store 38(sum) 47
+ 49: 36(int) Load 48(uniform_low)
+ 50: 36(int) Load 38(sum)
+ 51: 36(int) IAdd 50 49
+ Store 38(sum) 51
+ Store 53(arg1) 54
+ Store 55(arg2) 56
+ 60: 6(float) Load 59(lowfin)
+ 62: 6(float) Load 61(mediumfin)
+ 63: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 60 62
+ Store 57(d) 63
+ 66: 21(fvec4) Load 23(highfin)
+ 67: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 66
+ Store 65(global_highp) 67
+ 70: 6(float) Load 65(global_highp)
+ 71: 21(fvec4) CompositeConstruct 70 70 70 70
+ Store 69(local_highp) 71
+ 74: 6(float) Load 57(d)
+ 75: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 74
+ 76: 21(fvec4) CompositeConstruct 75 75 75 75
+ 77: 6(float) Load 55(arg2)
+ 78: 21(fvec4) CompositeConstruct 77 77 77 77
+ 79: 21(fvec4) FAdd 76 78
+ 80: 21(fvec4) Load 69(local_highp)
+ 81: 21(fvec4) FAdd 79 80
+ Store 73(mediumfout) 81
+ 83: 36(int) Load 48(uniform_low)
+ 85: 84(ivec2) CompositeConstruct 83 83
+ 86: 36(int) Load 42(uniform_high)
+ 87: 84(ivec2) CompositeConstruct 86 86
+ 88: 84(ivec2) IMul 85 87
+ 89: 36(int) Load 42(uniform_high)
+ 90: 84(ivec2) CompositeConstruct 89 89
+ 91: 84(ivec2) IAdd 88 90
+ 94: 36(int) CompositeExtract 91 0
+ 95: 36(int) IAdd 82 94
+ 96: 36(int) Load 38(sum)
+ 97: 36(int) IAdd 96 95
+ Store 38(sum) 97
+ 98: 36(int) Load 38(sum)
+ 99: 6(float) ConvertSToF 98
+ 100: 21(fvec4) CompositeConstruct 99 99 99 99
+ 101: 21(fvec4) Load 73(mediumfout)
+ 102: 21(fvec4) FAdd 101 100
+ Store 73(mediumfout) 102
+ 106: 15(bvec2) Load 104(ub2)
+ Store 105(param) 106
+ 107: 14(bool) FunctionCall 19(boolfun(vb2;) 105(param)
+ SelectionMerge 109 None
+ BranchConditional 107 108 109
+ 108: Label
+ 110: 21(fvec4) Load 73(mediumfout)
+ 112: 21(fvec4) CompositeConstruct 111 111 111 111
+ 113: 21(fvec4) FAdd 110 112
+ Store 73(mediumfout) 113
+ Branch 109
+ 109: Label
+ 118: 58(ptr) AccessChain 116(s) 117
+ 119: 6(float) Load 118
+ 120: 21(fvec4) Load 73(mediumfout)
+ 121: 21(fvec4) VectorTimesScalar 120 119
+ Store 73(mediumfout) 121
+ 123: 58(ptr) AccessChain 116(s) 122
+ 124: 6(float) Load 123
+ 125: 21(fvec4) Load 73(mediumfout)
+ 126: 21(fvec4) VectorTimesScalar 125 124
+ Store 73(mediumfout) 126
+ Return
+ FunctionEnd
+ 12(foo(vf3;): 9(fvec2) Function None 10
+ 11(mv3): 8(ptr) FunctionParameter
+ 13: Label
+ 24: 21(fvec4) Load 23(highfin)
+ 25: 9(fvec2) VectorShuffle 24 24 0 1
+ ReturnValue 25
+ FunctionEnd
+19(boolfun(vb2;): 14(bool) Function None 17
+ 18(bv2): 16(ptr) FunctionParameter
+ 20: Label
+ 28: 15(bvec2) Load 18(bv2)
+ 32: 15(bvec2) LogicalEqual 28 31
+ 33: 14(bool) All 32
+ ReturnValue 33
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.prepost.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.prepost.frag.out
new file mode 100755
index 00000000000..9581267ba71
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.prepost.frag.out
@@ -0,0 +1,147 @@
+spv.prepost.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 94
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 90
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 8 "index"
+ Name 14 "s"
+ MemberName 14(s) 0 "y"
+ Name 16 "str"
+ Name 22 "t"
+ Name 50 "x"
+ Name 61 "y"
+ Name 66 "z"
+ Name 73 "v"
+ Name 90 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 5
+ 10: TypeFloat 32
+ 11: TypeInt 32 0
+ 12: 11(int) Constant 5
+ 13: TypeArray 10(float) 12
+ 14(s): TypeStruct 13
+ 15: TypePointer Function 14(s)
+ 17: 6(int) Constant 0
+ 18: 6(int) Constant 4
+ 19: 10(float) Constant 1073741824
+ 20: TypePointer Function 10(float)
+ 24: 6(int) Constant 1
+ 28: 10(float) Constant 1065353216
+ 71: TypeVector 10(float) 4
+ 72: TypePointer Function 71(fvec4)
+ 74: 10(float) Constant 1077936128
+ 75: 10(float) Constant 1082130432
+ 76: 71(fvec4) ConstantComposite 28 19 74 75
+ 77: 11(int) Constant 2
+ 81: 11(int) Constant 1
+ 83: 11(int) Constant 3
+ 87: 11(int) Constant 0
+ 89: TypePointer Output 71(fvec4)
+90(gl_FragColor): 89(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(index): 7(ptr) Variable Function
+ 16(str): 15(ptr) Variable Function
+ 22(t): 20(ptr) Variable Function
+ 50(x): 20(ptr) Variable Function
+ 61(y): 20(ptr) Variable Function
+ 66(z): 20(ptr) Variable Function
+ 73(v): 72(ptr) Variable Function
+ Store 8(index) 9
+ 21: 20(ptr) AccessChain 16(str) 17 18
+ Store 21 19
+ 23: 6(int) Load 8(index)
+ 25: 6(int) ISub 23 24
+ Store 8(index) 25
+ 26: 20(ptr) AccessChain 16(str) 17 25
+ 27: 10(float) Load 26
+ 29: 10(float) FAdd 27 28
+ Store 26 29
+ Store 22(t) 29
+ 30: 10(float) Load 22(t)
+ 31: 20(ptr) AccessChain 16(str) 17 18
+ 32: 10(float) Load 31
+ 33: 10(float) FAdd 32 30
+ 34: 20(ptr) AccessChain 16(str) 17 18
+ Store 34 33
+ 35: 20(ptr) AccessChain 16(str) 17 18
+ 36: 10(float) Load 35
+ 37: 10(float) FSub 36 28
+ Store 35 37
+ Store 22(t) 36
+ 38: 6(int) Load 8(index)
+ 39: 6(int) IAdd 38 24
+ Store 8(index) 39
+ 40: 10(float) Load 22(t)
+ 41: 20(ptr) AccessChain 16(str) 17 38
+ 42: 10(float) Load 41
+ 43: 10(float) FAdd 42 40
+ 44: 20(ptr) AccessChain 16(str) 17 38
+ Store 44 43
+ 45: 6(int) Load 8(index)
+ 46: 6(int) ISub 45 24
+ Store 8(index) 46
+ 47: 20(ptr) AccessChain 16(str) 17 46
+ 48: 10(float) Load 47
+ 49: 10(float) FSub 48 28
+ Store 47 49
+ 51: 20(ptr) AccessChain 16(str) 17 18
+ 52: 10(float) Load 51
+ Store 50(x) 52
+ 53: 10(float) Load 50(x)
+ 54: 10(float) FAdd 53 28
+ Store 50(x) 54
+ 55: 10(float) Load 50(x)
+ 56: 10(float) FSub 55 28
+ Store 50(x) 56
+ 57: 10(float) Load 50(x)
+ 58: 10(float) FAdd 57 28
+ Store 50(x) 58
+ 59: 10(float) Load 50(x)
+ 60: 10(float) FSub 59 28
+ Store 50(x) 60
+ 62: 10(float) Load 50(x)
+ 63: 10(float) Load 50(x)
+ 64: 10(float) FAdd 63 28
+ Store 50(x) 64
+ 65: 10(float) FMul 62 64
+ Store 61(y) 65
+ 67: 10(float) Load 61(y)
+ 68: 10(float) Load 50(x)
+ 69: 10(float) FSub 68 28
+ Store 50(x) 69
+ 70: 10(float) FMul 67 68
+ Store 66(z) 70
+ Store 73(v) 76
+ 78: 20(ptr) AccessChain 73(v) 77
+ 79: 10(float) Load 78
+ 80: 10(float) FSub 79 28
+ Store 78 80
+ 82: 20(ptr) AccessChain 73(v) 81
+ Store 82 79
+ 84: 20(ptr) AccessChain 73(v) 83
+ 85: 10(float) Load 84
+ 86: 10(float) FSub 85 28
+ Store 84 86
+ 88: 20(ptr) AccessChain 73(v) 87
+ Store 88 86
+ 91: 10(float) Load 66(z)
+ 92: 71(fvec4) Load 73(v)
+ 93: 71(fvec4) VectorTimesScalar 92 91
+ Store 90(gl_FragColor) 93
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.pushConstant.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.pushConstant.vert.out
new file mode 100644
index 00000000000..6b314e082ec
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.pushConstant.vert.out
@@ -0,0 +1,67 @@
+spv.pushConstant.vert
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 35
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 24
+ Source GLSL 400
+ Name 4 "main"
+ Name 11 "Material"
+ MemberName 11(Material) 0 "kind"
+ MemberName 11(Material) 1 "fa"
+ Name 13 "matInst"
+ Name 24 "color"
+ Decorate 10 ArrayStride 4
+ MemberDecorate 11(Material) 0 Offset 0
+ MemberDecorate 11(Material) 1 Offset 4
+ Decorate 11(Material) Block
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeFloat 32
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 3
+ 10: TypeArray 7(float) 9
+ 11(Material): TypeStruct 6(int) 10
+ 12: TypePointer PushConstant 11(Material)
+ 13(matInst): 12(ptr) Variable PushConstant
+ 14: 6(int) Constant 0
+ 15: TypePointer PushConstant 6(int)
+ 22: TypeVector 7(float) 4
+ 23: TypePointer Output 22(fvec4)
+ 24(color): 23(ptr) Variable Output
+ 25: 7(float) Constant 1045220557
+ 26: 22(fvec4) ConstantComposite 25 25 25 25
+ 28: 7(float) Constant 1056964608
+ 29: 22(fvec4) ConstantComposite 28 28 28 28
+ 31: 7(float) Constant 0
+ 32: 22(fvec4) ConstantComposite 31 31 31 31
+ 4(main): 2 Function None 3
+ 5: Label
+ 16: 15(ptr) AccessChain 13(matInst) 14
+ 17: 6(int) Load 16
+ SelectionMerge 21 None
+ Switch 17 20
+ case 1: 18
+ case 2: 19
+ 20: Label
+ Store 24(color) 32
+ Branch 21
+ 18: Label
+ Store 24(color) 26
+ Branch 21
+ 19: Label
+ Store 24(color) 29
+ Branch 21
+ 21: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.qualifiers.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.qualifiers.vert.out
new file mode 100755
index 00000000000..d2baf7229ff
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.qualifiers.vert.out
@@ -0,0 +1,54 @@
+spv.qualifiers.vert
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 21
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 9 11 13 15 17 19
+ Source GLSL 430
+ Name 4 "main"
+ Name 9 "outVc"
+ Name 11 "inV"
+ Name 13 "outVs"
+ Name 15 "outVf"
+ Name 17 "outVn"
+ Name 19 "outVcn"
+ Decorate 9(outVc) Centroid
+ Decorate 15(outVf) Flat
+ Decorate 17(outVn) NoPerspective
+ Decorate 19(outVcn) NoPerspective
+ Decorate 19(outVcn) Centroid
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(outVc): 8(ptr) Variable Output
+ 10: TypePointer Input 7(fvec4)
+ 11(inV): 10(ptr) Variable Input
+ 13(outVs): 8(ptr) Variable Output
+ 15(outVf): 8(ptr) Variable Output
+ 17(outVn): 8(ptr) Variable Output
+ 19(outVcn): 8(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 12: 7(fvec4) Load 11(inV)
+ Store 9(outVc) 12
+ 14: 7(fvec4) Load 11(inV)
+ Store 13(outVs) 14
+ 16: 7(fvec4) Load 11(inV)
+ Store 15(outVf) 16
+ 18: 7(fvec4) Load 11(inV)
+ Store 17(outVn) 18
+ 20: 7(fvec4) Load 11(inV)
+ Store 19(outVcn) 20
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.queryL.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.queryL.frag.out
new file mode 100755
index 00000000000..6d2b2b97d26
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.queryL.frag.out
@@ -0,0 +1,331 @@
+spv.queryL.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 237
+
+ Capability Shader
+ Capability SampledRect
+ Capability Sampled1D
+ Capability SampledCubeArray
+ Capability SampledBuffer
+ Capability ImageQuery
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 430
+ Name 4 "main"
+ Name 9 "lod"
+ Name 13 "samp1D"
+ Name 16 "pf"
+ Name 24 "isamp2D"
+ Name 26 "pf2"
+ Name 36 "usamp3D"
+ Name 40 "pf3"
+ Name 49 "sampCube"
+ Name 59 "isamp1DA"
+ Name 69 "usamp2DA"
+ Name 79 "isampCubeA"
+ Name 89 "samp1Ds"
+ Name 99 "samp2Ds"
+ Name 109 "sampCubes"
+ Name 119 "samp1DAs"
+ Name 129 "samp2DAs"
+ Name 139 "sampCubeAs"
+ Name 147 "levels"
+ Name 154 "usamp2D"
+ Name 163 "isamp3D"
+ Name 172 "isampCube"
+ Name 186 "samp2DA"
+ Name 195 "usampCubeA"
+ Name 232 "sampBuf"
+ Name 236 "sampRect"
+ Decorate 13(samp1D) DescriptorSet 0
+ Decorate 24(isamp2D) DescriptorSet 0
+ Decorate 36(usamp3D) DescriptorSet 0
+ Decorate 49(sampCube) DescriptorSet 0
+ Decorate 59(isamp1DA) DescriptorSet 0
+ Decorate 69(usamp2DA) DescriptorSet 0
+ Decorate 79(isampCubeA) DescriptorSet 0
+ Decorate 89(samp1Ds) DescriptorSet 0
+ Decorate 99(samp2Ds) DescriptorSet 0
+ Decorate 109(sampCubes) DescriptorSet 0
+ Decorate 119(samp1DAs) DescriptorSet 0
+ Decorate 129(samp2DAs) DescriptorSet 0
+ Decorate 139(sampCubeAs) DescriptorSet 0
+ Decorate 154(usamp2D) DescriptorSet 0
+ Decorate 163(isamp3D) DescriptorSet 0
+ Decorate 172(isampCube) DescriptorSet 0
+ Decorate 186(samp2DA) DescriptorSet 0
+ Decorate 195(usampCubeA) DescriptorSet 0
+ Decorate 232(sampBuf) DescriptorSet 0
+ Decorate 236(sampRect) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypePointer Function 7(fvec2)
+ 10: TypeImage 6(float) 1D sampled format:Unknown
+ 11: TypeSampledImage 10
+ 12: TypePointer UniformConstant 11
+ 13(samp1D): 12(ptr) Variable UniformConstant
+ 15: TypePointer Function 6(float)
+ 20: TypeInt 32 1
+ 21: TypeImage 20(int) 2D sampled format:Unknown
+ 22: TypeSampledImage 21
+ 23: TypePointer UniformConstant 22
+ 24(isamp2D): 23(ptr) Variable UniformConstant
+ 32: TypeInt 32 0
+ 33: TypeImage 32(int) 3D sampled format:Unknown
+ 34: TypeSampledImage 33
+ 35: TypePointer UniformConstant 34
+ 36(usamp3D): 35(ptr) Variable UniformConstant
+ 38: TypeVector 6(float) 3
+ 39: TypePointer Function 38(fvec3)
+ 46: TypeImage 6(float) Cube sampled format:Unknown
+ 47: TypeSampledImage 46
+ 48: TypePointer UniformConstant 47
+ 49(sampCube): 48(ptr) Variable UniformConstant
+ 56: TypeImage 20(int) 1D array sampled format:Unknown
+ 57: TypeSampledImage 56
+ 58: TypePointer UniformConstant 57
+ 59(isamp1DA): 58(ptr) Variable UniformConstant
+ 66: TypeImage 32(int) 2D array sampled format:Unknown
+ 67: TypeSampledImage 66
+ 68: TypePointer UniformConstant 67
+ 69(usamp2DA): 68(ptr) Variable UniformConstant
+ 76: TypeImage 20(int) Cube array sampled format:Unknown
+ 77: TypeSampledImage 76
+ 78: TypePointer UniformConstant 77
+ 79(isampCubeA): 78(ptr) Variable UniformConstant
+ 86: TypeImage 6(float) 1D depth sampled format:Unknown
+ 87: TypeSampledImage 86
+ 88: TypePointer UniformConstant 87
+ 89(samp1Ds): 88(ptr) Variable UniformConstant
+ 96: TypeImage 6(float) 2D depth sampled format:Unknown
+ 97: TypeSampledImage 96
+ 98: TypePointer UniformConstant 97
+ 99(samp2Ds): 98(ptr) Variable UniformConstant
+ 106: TypeImage 6(float) Cube depth sampled format:Unknown
+ 107: TypeSampledImage 106
+ 108: TypePointer UniformConstant 107
+ 109(sampCubes): 108(ptr) Variable UniformConstant
+ 116: TypeImage 6(float) 1D depth array sampled format:Unknown
+ 117: TypeSampledImage 116
+ 118: TypePointer UniformConstant 117
+ 119(samp1DAs): 118(ptr) Variable UniformConstant
+ 126: TypeImage 6(float) 2D depth array sampled format:Unknown
+ 127: TypeSampledImage 126
+ 128: TypePointer UniformConstant 127
+ 129(samp2DAs): 128(ptr) Variable UniformConstant
+ 136: TypeImage 6(float) Cube depth array sampled format:Unknown
+ 137: TypeSampledImage 136
+ 138: TypePointer UniformConstant 137
+ 139(sampCubeAs): 138(ptr) Variable UniformConstant
+ 146: TypePointer Function 20(int)
+ 151: TypeImage 32(int) 2D sampled format:Unknown
+ 152: TypeSampledImage 151
+ 153: TypePointer UniformConstant 152
+ 154(usamp2D): 153(ptr) Variable UniformConstant
+ 160: TypeImage 20(int) 3D sampled format:Unknown
+ 161: TypeSampledImage 160
+ 162: TypePointer UniformConstant 161
+ 163(isamp3D): 162(ptr) Variable UniformConstant
+ 169: TypeImage 20(int) Cube sampled format:Unknown
+ 170: TypeSampledImage 169
+ 171: TypePointer UniformConstant 170
+ 172(isampCube): 171(ptr) Variable UniformConstant
+ 183: TypeImage 6(float) 2D array sampled format:Unknown
+ 184: TypeSampledImage 183
+ 185: TypePointer UniformConstant 184
+ 186(samp2DA): 185(ptr) Variable UniformConstant
+ 192: TypeImage 32(int) Cube array sampled format:Unknown
+ 193: TypeSampledImage 192
+ 194: TypePointer UniformConstant 193
+ 195(usampCubeA): 194(ptr) Variable UniformConstant
+ 229: TypeImage 6(float) Buffer sampled format:Unknown
+ 230: TypeSampledImage 229
+ 231: TypePointer UniformConstant 230
+ 232(sampBuf): 231(ptr) Variable UniformConstant
+ 233: TypeImage 6(float) Rect sampled format:Unknown
+ 234: TypeSampledImage 233
+ 235: TypePointer UniformConstant 234
+ 236(sampRect): 235(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(lod): 8(ptr) Variable Function
+ 16(pf): 15(ptr) Variable Function
+ 26(pf2): 8(ptr) Variable Function
+ 40(pf3): 39(ptr) Variable Function
+ 147(levels): 146(ptr) Variable Function
+ 14: 11 Load 13(samp1D)
+ 17: 6(float) Load 16(pf)
+ 18: 10 Image 14
+ 19: 7(fvec2) ImageQueryLod 18 17
+ Store 9(lod) 19
+ 25: 22 Load 24(isamp2D)
+ 27: 7(fvec2) Load 26(pf2)
+ 28: 21 Image 25
+ 29: 7(fvec2) ImageQueryLod 28 27
+ 30: 7(fvec2) Load 9(lod)
+ 31: 7(fvec2) FAdd 30 29
+ Store 9(lod) 31
+ 37: 34 Load 36(usamp3D)
+ 41: 38(fvec3) Load 40(pf3)
+ 42: 33 Image 37
+ 43: 7(fvec2) ImageQueryLod 42 41
+ 44: 7(fvec2) Load 9(lod)
+ 45: 7(fvec2) FAdd 44 43
+ Store 9(lod) 45
+ 50: 47 Load 49(sampCube)
+ 51: 38(fvec3) Load 40(pf3)
+ 52: 46 Image 50
+ 53: 7(fvec2) ImageQueryLod 52 51
+ 54: 7(fvec2) Load 9(lod)
+ 55: 7(fvec2) FAdd 54 53
+ Store 9(lod) 55
+ 60: 57 Load 59(isamp1DA)
+ 61: 6(float) Load 16(pf)
+ 62: 56 Image 60
+ 63: 7(fvec2) ImageQueryLod 62 61
+ 64: 7(fvec2) Load 9(lod)
+ 65: 7(fvec2) FAdd 64 63
+ Store 9(lod) 65
+ 70: 67 Load 69(usamp2DA)
+ 71: 7(fvec2) Load 26(pf2)
+ 72: 66 Image 70
+ 73: 7(fvec2) ImageQueryLod 72 71
+ 74: 7(fvec2) Load 9(lod)
+ 75: 7(fvec2) FAdd 74 73
+ Store 9(lod) 75
+ 80: 77 Load 79(isampCubeA)
+ 81: 38(fvec3) Load 40(pf3)
+ 82: 76 Image 80
+ 83: 7(fvec2) ImageQueryLod 82 81
+ 84: 7(fvec2) Load 9(lod)
+ 85: 7(fvec2) FAdd 84 83
+ Store 9(lod) 85
+ 90: 87 Load 89(samp1Ds)
+ 91: 6(float) Load 16(pf)
+ 92: 86 Image 90
+ 93: 7(fvec2) ImageQueryLod 92 91
+ 94: 7(fvec2) Load 9(lod)
+ 95: 7(fvec2) FAdd 94 93
+ Store 9(lod) 95
+ 100: 97 Load 99(samp2Ds)
+ 101: 7(fvec2) Load 26(pf2)
+ 102: 96 Image 100
+ 103: 7(fvec2) ImageQueryLod 102 101
+ 104: 7(fvec2) Load 9(lod)
+ 105: 7(fvec2) FAdd 104 103
+ Store 9(lod) 105
+ 110: 107 Load 109(sampCubes)
+ 111: 38(fvec3) Load 40(pf3)
+ 112: 106 Image 110
+ 113: 7(fvec2) ImageQueryLod 112 111
+ 114: 7(fvec2) Load 9(lod)
+ 115: 7(fvec2) FAdd 114 113
+ Store 9(lod) 115
+ 120: 117 Load 119(samp1DAs)
+ 121: 6(float) Load 16(pf)
+ 122: 116 Image 120
+ 123: 7(fvec2) ImageQueryLod 122 121
+ 124: 7(fvec2) Load 9(lod)
+ 125: 7(fvec2) FAdd 124 123
+ Store 9(lod) 125
+ 130: 127 Load 129(samp2DAs)
+ 131: 7(fvec2) Load 26(pf2)
+ 132: 126 Image 130
+ 133: 7(fvec2) ImageQueryLod 132 131
+ 134: 7(fvec2) Load 9(lod)
+ 135: 7(fvec2) FAdd 134 133
+ Store 9(lod) 135
+ 140: 137 Load 139(sampCubeAs)
+ 141: 38(fvec3) Load 40(pf3)
+ 142: 136 Image 140
+ 143: 7(fvec2) ImageQueryLod 142 141
+ 144: 7(fvec2) Load 9(lod)
+ 145: 7(fvec2) FAdd 144 143
+ Store 9(lod) 145
+ 148: 11 Load 13(samp1D)
+ 149: 10 Image 148
+ 150: 20(int) ImageQueryLevels 149
+ Store 147(levels) 150
+ 155: 152 Load 154(usamp2D)
+ 156: 151 Image 155
+ 157: 20(int) ImageQueryLevels 156
+ 158: 20(int) Load 147(levels)
+ 159: 20(int) IAdd 158 157
+ Store 147(levels) 159
+ 164: 161 Load 163(isamp3D)
+ 165: 160 Image 164
+ 166: 20(int) ImageQueryLevels 165
+ 167: 20(int) Load 147(levels)
+ 168: 20(int) IAdd 167 166
+ Store 147(levels) 168
+ 173: 170 Load 172(isampCube)
+ 174: 169 Image 173
+ 175: 20(int) ImageQueryLevels 174
+ 176: 20(int) Load 147(levels)
+ 177: 20(int) IAdd 176 175
+ Store 147(levels) 177
+ 178: 57 Load 59(isamp1DA)
+ 179: 56 Image 178
+ 180: 20(int) ImageQueryLevels 179
+ 181: 20(int) Load 147(levels)
+ 182: 20(int) IAdd 181 180
+ Store 147(levels) 182
+ 187: 184 Load 186(samp2DA)
+ 188: 183 Image 187
+ 189: 20(int) ImageQueryLevels 188
+ 190: 20(int) Load 147(levels)
+ 191: 20(int) IAdd 190 189
+ Store 147(levels) 191
+ 196: 193 Load 195(usampCubeA)
+ 197: 192 Image 196
+ 198: 20(int) ImageQueryLevels 197
+ 199: 20(int) Load 147(levels)
+ 200: 20(int) IAdd 199 198
+ Store 147(levels) 200
+ 201: 87 Load 89(samp1Ds)
+ 202: 86 Image 201
+ 203: 20(int) ImageQueryLevels 202
+ Store 147(levels) 203
+ 204: 97 Load 99(samp2Ds)
+ 205: 96 Image 204
+ 206: 20(int) ImageQueryLevels 205
+ 207: 20(int) Load 147(levels)
+ 208: 20(int) IAdd 207 206
+ Store 147(levels) 208
+ 209: 107 Load 109(sampCubes)
+ 210: 106 Image 209
+ 211: 20(int) ImageQueryLevels 210
+ 212: 20(int) Load 147(levels)
+ 213: 20(int) IAdd 212 211
+ Store 147(levels) 213
+ 214: 117 Load 119(samp1DAs)
+ 215: 116 Image 214
+ 216: 20(int) ImageQueryLevels 215
+ 217: 20(int) Load 147(levels)
+ 218: 20(int) IAdd 217 216
+ Store 147(levels) 218
+ 219: 127 Load 129(samp2DAs)
+ 220: 126 Image 219
+ 221: 20(int) ImageQueryLevels 220
+ 222: 20(int) Load 147(levels)
+ 223: 20(int) IAdd 222 221
+ Store 147(levels) 223
+ 224: 137 Load 139(sampCubeAs)
+ 225: 136 Image 224
+ 226: 20(int) ImageQueryLevels 225
+ 227: 20(int) Load 147(levels)
+ 228: 20(int) IAdd 227 226
+ Store 147(levels) 228
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.separate.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.separate.frag.out
new file mode 100644
index 00000000000..2a71a019ece
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.separate.frag.out
@@ -0,0 +1,427 @@
+spv.separate.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 319
+
+ Capability Shader
+ Capability SampledRect
+ Capability Sampled1D
+ Capability SampledCubeArray
+ Capability SampledBuffer
+ Capability ImageMSArray
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 11 34
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 400
+ Name 4 "main"
+ Name 6 "foo("
+ Name 11 "color"
+ Name 14 "t2d"
+ Name 18 "s"
+ Name 31 "t3d"
+ Name 34 "i"
+ Name 41 "sA"
+ Name 58 "tex2D"
+ Name 64 "texCube"
+ Name 71 "texCubeArray"
+ Name 77 "sShadow"
+ Name 84 "itexCubeArray"
+ Name 91 "utexCubeArray"
+ Name 98 "tex1DArray"
+ Name 106 "itex1DArray"
+ Name 113 "utex1D"
+ Name 120 "itex1D"
+ Name 127 "utex1DArray"
+ Name 134 "texBuffer"
+ Name 146 "tex2DArray"
+ Name 158 "itex2D"
+ Name 165 "itex3D"
+ Name 172 "itexCube"
+ Name 179 "itex2DArray"
+ Name 186 "utex2D"
+ Name 193 "utex3D"
+ Name 200 "utexCube"
+ Name 207 "utex2DArray"
+ Name 214 "itex2DRect"
+ Name 221 "utex2DRect"
+ Name 228 "itexBuffer"
+ Name 235 "utexBuffer"
+ Name 242 "tex2DMS"
+ Name 249 "itex2DMS"
+ Name 256 "utex2DMS"
+ Name 263 "tex2DMSArray"
+ Name 270 "itex2DMSArray"
+ Name 277 "utex2DMSArray"
+ Name 284 "tex1D"
+ Name 294 "tex3D"
+ Name 305 "tex2DRect"
+ Decorate 14(t2d) DescriptorSet 0
+ Decorate 18(s) DescriptorSet 0
+ Decorate 31(t3d) DescriptorSet 0
+ Decorate 34(i) Flat
+ Decorate 41(sA) DescriptorSet 0
+ Decorate 58(tex2D) DescriptorSet 0
+ Decorate 64(texCube) DescriptorSet 0
+ Decorate 71(texCubeArray) DescriptorSet 0
+ Decorate 77(sShadow) DescriptorSet 0
+ Decorate 84(itexCubeArray) DescriptorSet 0
+ Decorate 91(utexCubeArray) DescriptorSet 0
+ Decorate 98(tex1DArray) DescriptorSet 0
+ Decorate 106(itex1DArray) DescriptorSet 0
+ Decorate 113(utex1D) DescriptorSet 0
+ Decorate 120(itex1D) DescriptorSet 0
+ Decorate 127(utex1DArray) DescriptorSet 0
+ Decorate 134(texBuffer) DescriptorSet 0
+ Decorate 146(tex2DArray) DescriptorSet 0
+ Decorate 158(itex2D) DescriptorSet 0
+ Decorate 165(itex3D) DescriptorSet 0
+ Decorate 172(itexCube) DescriptorSet 0
+ Decorate 179(itex2DArray) DescriptorSet 0
+ Decorate 186(utex2D) DescriptorSet 0
+ Decorate 193(utex3D) DescriptorSet 0
+ Decorate 200(utexCube) DescriptorSet 0
+ Decorate 207(utex2DArray) DescriptorSet 0
+ Decorate 214(itex2DRect) DescriptorSet 0
+ Decorate 221(utex2DRect) DescriptorSet 0
+ Decorate 228(itexBuffer) DescriptorSet 0
+ Decorate 235(utexBuffer) DescriptorSet 0
+ Decorate 242(tex2DMS) DescriptorSet 0
+ Decorate 249(itex2DMS) DescriptorSet 0
+ Decorate 256(utex2DMS) DescriptorSet 0
+ Decorate 263(tex2DMSArray) DescriptorSet 0
+ Decorate 270(itex2DMSArray) DescriptorSet 0
+ Decorate 277(utex2DMSArray) DescriptorSet 0
+ Decorate 284(tex1D) DescriptorSet 0
+ Decorate 294(tex3D) DescriptorSet 0
+ Decorate 305(tex2DRect) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 8: TypeFloat 32
+ 9: TypeVector 8(float) 4
+ 10: TypePointer Output 9(fvec4)
+ 11(color): 10(ptr) Variable Output
+ 12: TypeImage 8(float) 2D sampled format:Unknown
+ 13: TypePointer UniformConstant 12
+ 14(t2d): 13(ptr) Variable UniformConstant
+ 16: TypeSampler
+ 17: TypePointer UniformConstant 16
+ 18(s): 17(ptr) Variable UniformConstant
+ 20: TypeSampledImage 12
+ 22: TypeVector 8(float) 2
+ 23: 8(float) Constant 1056964608
+ 24: 22(fvec2) ConstantComposite 23 23
+ 26: TypeImage 8(float) 3D sampled format:Unknown
+ 27: TypeInt 32 0
+ 28: 27(int) Constant 4
+ 29: TypeArray 26 28
+ 30: TypePointer UniformConstant 29
+ 31(t3d): 30(ptr) Variable UniformConstant
+ 32: TypeInt 32 1
+ 33: TypePointer Input 32(int)
+ 34(i): 33(ptr) Variable Input
+ 36: TypePointer UniformConstant 26
+ 39: TypeArray 16 28
+ 40: TypePointer UniformConstant 39
+ 41(sA): 40(ptr) Variable UniformConstant
+ 42: 32(int) Constant 2
+ 45: TypeSampledImage 26
+ 47: TypeVector 8(float) 3
+ 48: 47(fvec3) ConstantComposite 23 23 23
+ 58(tex2D): 13(ptr) Variable UniformConstant
+ 62: TypeImage 8(float) Cube sampled format:Unknown
+ 63: TypePointer UniformConstant 62
+ 64(texCube): 63(ptr) Variable UniformConstant
+ 67: TypeSampledImage 62
+ 69: TypeImage 8(float) Cube array sampled format:Unknown
+ 70: TypePointer UniformConstant 69
+71(texCubeArray): 70(ptr) Variable UniformConstant
+ 74: TypeSampledImage 69
+ 77(sShadow): 17(ptr) Variable UniformConstant
+ 79: TypeImage 8(float) Cube depth array sampled format:Unknown
+ 80: TypeSampledImage 79
+ 82: TypeImage 32(int) Cube array sampled format:Unknown
+ 83: TypePointer UniformConstant 82
+84(itexCubeArray): 83(ptr) Variable UniformConstant
+ 87: TypeSampledImage 82
+ 89: TypeImage 27(int) Cube array sampled format:Unknown
+ 90: TypePointer UniformConstant 89
+91(utexCubeArray): 90(ptr) Variable UniformConstant
+ 94: TypeSampledImage 89
+ 96: TypeImage 8(float) 1D array sampled format:Unknown
+ 97: TypePointer UniformConstant 96
+ 98(tex1DArray): 97(ptr) Variable UniformConstant
+ 101: TypeImage 8(float) 1D depth array sampled format:Unknown
+ 102: TypeSampledImage 101
+ 104: TypeImage 32(int) 1D array sampled format:Unknown
+ 105: TypePointer UniformConstant 104
+106(itex1DArray): 105(ptr) Variable UniformConstant
+ 109: TypeSampledImage 104
+ 111: TypeImage 27(int) 1D sampled format:Unknown
+ 112: TypePointer UniformConstant 111
+ 113(utex1D): 112(ptr) Variable UniformConstant
+ 116: TypeSampledImage 111
+ 118: TypeImage 32(int) 1D sampled format:Unknown
+ 119: TypePointer UniformConstant 118
+ 120(itex1D): 119(ptr) Variable UniformConstant
+ 123: TypeSampledImage 118
+ 125: TypeImage 27(int) 1D array sampled format:Unknown
+ 126: TypePointer UniformConstant 125
+127(utex1DArray): 126(ptr) Variable UniformConstant
+ 130: TypeSampledImage 125
+ 132: TypeImage 8(float) Buffer sampled format:Unknown
+ 133: TypePointer UniformConstant 132
+ 134(texBuffer): 133(ptr) Variable UniformConstant
+ 137: TypeSampledImage 132
+ 141: TypeImage 8(float) Cube depth sampled format:Unknown
+ 142: TypeSampledImage 141
+ 144: TypeImage 8(float) 2D array sampled format:Unknown
+ 145: TypePointer UniformConstant 144
+ 146(tex2DArray): 145(ptr) Variable UniformConstant
+ 149: TypeSampledImage 144
+ 153: TypeImage 8(float) 2D depth array sampled format:Unknown
+ 154: TypeSampledImage 153
+ 156: TypeImage 32(int) 2D sampled format:Unknown
+ 157: TypePointer UniformConstant 156
+ 158(itex2D): 157(ptr) Variable UniformConstant
+ 161: TypeSampledImage 156
+ 163: TypeImage 32(int) 3D sampled format:Unknown
+ 164: TypePointer UniformConstant 163
+ 165(itex3D): 164(ptr) Variable UniformConstant
+ 168: TypeSampledImage 163
+ 170: TypeImage 32(int) Cube sampled format:Unknown
+ 171: TypePointer UniformConstant 170
+ 172(itexCube): 171(ptr) Variable UniformConstant
+ 175: TypeSampledImage 170
+ 177: TypeImage 32(int) 2D array sampled format:Unknown
+ 178: TypePointer UniformConstant 177
+179(itex2DArray): 178(ptr) Variable UniformConstant
+ 182: TypeSampledImage 177
+ 184: TypeImage 27(int) 2D sampled format:Unknown
+ 185: TypePointer UniformConstant 184
+ 186(utex2D): 185(ptr) Variable UniformConstant
+ 189: TypeSampledImage 184
+ 191: TypeImage 27(int) 3D sampled format:Unknown
+ 192: TypePointer UniformConstant 191
+ 193(utex3D): 192(ptr) Variable UniformConstant
+ 196: TypeSampledImage 191
+ 198: TypeImage 27(int) Cube sampled format:Unknown
+ 199: TypePointer UniformConstant 198
+ 200(utexCube): 199(ptr) Variable UniformConstant
+ 203: TypeSampledImage 198
+ 205: TypeImage 27(int) 2D array sampled format:Unknown
+ 206: TypePointer UniformConstant 205
+207(utex2DArray): 206(ptr) Variable UniformConstant
+ 210: TypeSampledImage 205
+ 212: TypeImage 32(int) Rect sampled format:Unknown
+ 213: TypePointer UniformConstant 212
+ 214(itex2DRect): 213(ptr) Variable UniformConstant
+ 217: TypeSampledImage 212
+ 219: TypeImage 27(int) Rect sampled format:Unknown
+ 220: TypePointer UniformConstant 219
+ 221(utex2DRect): 220(ptr) Variable UniformConstant
+ 224: TypeSampledImage 219
+ 226: TypeImage 32(int) Buffer sampled format:Unknown
+ 227: TypePointer UniformConstant 226
+ 228(itexBuffer): 227(ptr) Variable UniformConstant
+ 231: TypeSampledImage 226
+ 233: TypeImage 27(int) Buffer sampled format:Unknown
+ 234: TypePointer UniformConstant 233
+ 235(utexBuffer): 234(ptr) Variable UniformConstant
+ 238: TypeSampledImage 233
+ 240: TypeImage 8(float) 2D multi-sampled sampled format:Unknown
+ 241: TypePointer UniformConstant 240
+ 242(tex2DMS): 241(ptr) Variable UniformConstant
+ 245: TypeSampledImage 240
+ 247: TypeImage 32(int) 2D multi-sampled sampled format:Unknown
+ 248: TypePointer UniformConstant 247
+ 249(itex2DMS): 248(ptr) Variable UniformConstant
+ 252: TypeSampledImage 247
+ 254: TypeImage 27(int) 2D multi-sampled sampled format:Unknown
+ 255: TypePointer UniformConstant 254
+ 256(utex2DMS): 255(ptr) Variable UniformConstant
+ 259: TypeSampledImage 254
+ 261: TypeImage 8(float) 2D array multi-sampled sampled format:Unknown
+ 262: TypePointer UniformConstant 261
+263(tex2DMSArray): 262(ptr) Variable UniformConstant
+ 266: TypeSampledImage 261
+ 268: TypeImage 32(int) 2D array multi-sampled sampled format:Unknown
+ 269: TypePointer UniformConstant 268
+270(itex2DMSArray): 269(ptr) Variable UniformConstant
+ 273: TypeSampledImage 268
+ 275: TypeImage 27(int) 2D array multi-sampled sampled format:Unknown
+ 276: TypePointer UniformConstant 275
+277(utex2DMSArray): 276(ptr) Variable UniformConstant
+ 280: TypeSampledImage 275
+ 282: TypeImage 8(float) 1D sampled format:Unknown
+ 283: TypePointer UniformConstant 282
+ 284(tex1D): 283(ptr) Variable UniformConstant
+ 287: TypeSampledImage 282
+ 291: TypeImage 8(float) 1D depth sampled format:Unknown
+ 292: TypeSampledImage 291
+ 294(tex3D): 36(ptr) Variable UniformConstant
+ 300: TypeImage 8(float) 2D depth sampled format:Unknown
+ 301: TypeSampledImage 300
+ 303: TypeImage 8(float) Rect sampled format:Unknown
+ 304: TypePointer UniformConstant 303
+ 305(tex2DRect): 304(ptr) Variable UniformConstant
+ 308: TypeSampledImage 303
+ 312: TypeImage 8(float) Rect depth sampled format:Unknown
+ 313: TypeSampledImage 312
+ 317: TypeSampledImage 96
+ 4(main): 2 Function None 3
+ 5: Label
+ 15: 12 Load 14(t2d)
+ 19: 16 Load 18(s)
+ 21: 20 SampledImage 15 19
+ 25: 9(fvec4) ImageSampleImplicitLod 21 24
+ Store 11(color) 25
+ 35: 32(int) Load 34(i)
+ 37: 36(ptr) AccessChain 31(t3d) 35
+ 38: 26 Load 37
+ 43: 17(ptr) AccessChain 41(sA) 42
+ 44: 16 Load 43
+ 46: 45 SampledImage 38 44
+ 49: 9(fvec4) ImageSampleImplicitLod 46 48
+ 50: 9(fvec4) Load 11(color)
+ 51: 9(fvec4) FAdd 50 49
+ Store 11(color) 51
+ 52: 12 Load 14(t2d)
+ 53: 16 Load 18(s)
+ 54: 20 SampledImage 52 53
+ 55: 9(fvec4) ImageSampleImplicitLod 54 24
+ 56: 9(fvec4) Load 11(color)
+ 57: 9(fvec4) FAdd 56 55
+ Store 11(color) 57
+ Return
+ FunctionEnd
+ 6(foo(): 2 Function None 3
+ 7: Label
+ 59: 12 Load 58(tex2D)
+ 60: 16 Load 18(s)
+ 61: 20 SampledImage 59 60
+ 65: 62 Load 64(texCube)
+ 66: 16 Load 18(s)
+ 68: 67 SampledImage 65 66
+ 72: 69 Load 71(texCubeArray)
+ 73: 16 Load 18(s)
+ 75: 74 SampledImage 72 73
+ 76: 69 Load 71(texCubeArray)
+ 78: 16 Load 77(sShadow)
+ 81: 80 SampledImage 76 78
+ 85: 82 Load 84(itexCubeArray)
+ 86: 16 Load 18(s)
+ 88: 87 SampledImage 85 86
+ 92: 89 Load 91(utexCubeArray)
+ 93: 16 Load 18(s)
+ 95: 94 SampledImage 92 93
+ 99: 96 Load 98(tex1DArray)
+ 100: 16 Load 77(sShadow)
+ 103: 102 SampledImage 99 100
+ 107: 104 Load 106(itex1DArray)
+ 108: 16 Load 18(s)
+ 110: 109 SampledImage 107 108
+ 114: 111 Load 113(utex1D)
+ 115: 16 Load 18(s)
+ 117: 116 SampledImage 114 115
+ 121: 118 Load 120(itex1D)
+ 122: 16 Load 18(s)
+ 124: 123 SampledImage 121 122
+ 128: 125 Load 127(utex1DArray)
+ 129: 16 Load 18(s)
+ 131: 130 SampledImage 128 129
+ 135: 132 Load 134(texBuffer)
+ 136: 16 Load 18(s)
+ 138: 137 SampledImage 135 136
+ 139: 62 Load 64(texCube)
+ 140: 16 Load 77(sShadow)
+ 143: 142 SampledImage 139 140
+ 147: 144 Load 146(tex2DArray)
+ 148: 16 Load 18(s)
+ 150: 149 SampledImage 147 148
+ 151: 144 Load 146(tex2DArray)
+ 152: 16 Load 77(sShadow)
+ 155: 154 SampledImage 151 152
+ 159: 156 Load 158(itex2D)
+ 160: 16 Load 18(s)
+ 162: 161 SampledImage 159 160
+ 166: 163 Load 165(itex3D)
+ 167: 16 Load 18(s)
+ 169: 168 SampledImage 166 167
+ 173: 170 Load 172(itexCube)
+ 174: 16 Load 18(s)
+ 176: 175 SampledImage 173 174
+ 180: 177 Load 179(itex2DArray)
+ 181: 16 Load 18(s)
+ 183: 182 SampledImage 180 181
+ 187: 184 Load 186(utex2D)
+ 188: 16 Load 18(s)
+ 190: 189 SampledImage 187 188
+ 194: 191 Load 193(utex3D)
+ 195: 16 Load 18(s)
+ 197: 196 SampledImage 194 195
+ 201: 198 Load 200(utexCube)
+ 202: 16 Load 18(s)
+ 204: 203 SampledImage 201 202
+ 208: 205 Load 207(utex2DArray)
+ 209: 16 Load 18(s)
+ 211: 210 SampledImage 208 209
+ 215: 212 Load 214(itex2DRect)
+ 216: 16 Load 18(s)
+ 218: 217 SampledImage 215 216
+ 222: 219 Load 221(utex2DRect)
+ 223: 16 Load 18(s)
+ 225: 224 SampledImage 222 223
+ 229: 226 Load 228(itexBuffer)
+ 230: 16 Load 18(s)
+ 232: 231 SampledImage 229 230
+ 236: 233 Load 235(utexBuffer)
+ 237: 16 Load 18(s)
+ 239: 238 SampledImage 236 237
+ 243: 240 Load 242(tex2DMS)
+ 244: 16 Load 18(s)
+ 246: 245 SampledImage 243 244
+ 250: 247 Load 249(itex2DMS)
+ 251: 16 Load 18(s)
+ 253: 252 SampledImage 250 251
+ 257: 254 Load 256(utex2DMS)
+ 258: 16 Load 18(s)
+ 260: 259 SampledImage 257 258
+ 264: 261 Load 263(tex2DMSArray)
+ 265: 16 Load 18(s)
+ 267: 266 SampledImage 264 265
+ 271: 268 Load 270(itex2DMSArray)
+ 272: 16 Load 18(s)
+ 274: 273 SampledImage 271 272
+ 278: 275 Load 277(utex2DMSArray)
+ 279: 16 Load 18(s)
+ 281: 280 SampledImage 278 279
+ 285: 282 Load 284(tex1D)
+ 286: 16 Load 18(s)
+ 288: 287 SampledImage 285 286
+ 289: 282 Load 284(tex1D)
+ 290: 16 Load 77(sShadow)
+ 293: 292 SampledImage 289 290
+ 295: 26 Load 294(tex3D)
+ 296: 16 Load 18(s)
+ 297: 45 SampledImage 295 296
+ 298: 12 Load 58(tex2D)
+ 299: 16 Load 77(sShadow)
+ 302: 301 SampledImage 298 299
+ 306: 303 Load 305(tex2DRect)
+ 307: 16 Load 18(s)
+ 309: 308 SampledImage 306 307
+ 310: 303 Load 305(tex2DRect)
+ 311: 16 Load 77(sShadow)
+ 314: 313 SampledImage 310 311
+ 315: 96 Load 98(tex1DArray)
+ 316: 16 Load 18(s)
+ 318: 317 SampledImage 315 316
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.set.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.set.vert.out
new file mode 100755
index 00000000000..72fbaa70dcc
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.set.vert.out
@@ -0,0 +1,51 @@
+spv.set.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 22
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 9
+ Source GLSL 450
+ Name 4 "main"
+ Name 9 "color"
+ Name 10 "setBuf"
+ MemberName 10(setBuf) 0 "color"
+ Name 12 "setBufInst"
+ Name 21 "samp2D"
+ MemberDecorate 10(setBuf) 0 Offset 0
+ Decorate 10(setBuf) BufferBlock
+ Decorate 12(setBufInst) DescriptorSet 0
+ Decorate 12(setBufInst) Binding 8
+ Decorate 21(samp2D) DescriptorSet 4
+ Decorate 21(samp2D) Binding 7
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(color): 8(ptr) Variable Output
+ 10(setBuf): TypeStruct 7(fvec4)
+ 11: TypePointer Uniform 10(setBuf)
+ 12(setBufInst): 11(ptr) Variable Uniform
+ 13: TypeInt 32 1
+ 14: 13(int) Constant 0
+ 15: TypePointer Uniform 7(fvec4)
+ 18: TypeImage 6(float) 2D sampled format:Unknown
+ 19: TypeSampledImage 18
+ 20: TypePointer UniformConstant 19
+ 21(samp2D): 20(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 16: 15(ptr) AccessChain 12(setBufInst) 14
+ 17: 7(fvec4) Load 16
+ Store 9(color) 17
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.shaderBallot.comp.out b/chromium/third_party/glslang/src/Test/baseResults/spv.shaderBallot.comp.out
new file mode 100644
index 00000000000..cb2e0130ab2
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.shaderBallot.comp.out
@@ -0,0 +1,314 @@
+spv.shaderBallot.comp
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked compute stage:
+
+
+Missing functionality: shader ballot
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 241
+
+ Capability Shader
+ Capability Int64
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main" 10 22 24 27 30 33
+ ExecutionMode 4 LocalSize 8 8 1
+ Source GLSL 450
+ SourceExtension "GL_ARB_gpu_shader_int64"
+ SourceExtension "GL_ARB_shader_ballot"
+ Name 4 "main"
+ Name 8 "invocation"
+ Name 10 "gl_SubGroupInvocationARB"
+ Name 13 "gl_SubGroupSizeARB"
+ Name 20 "relMask"
+ Name 22 "gl_SubGroupEqMaskARB"
+ Name 24 "gl_SubGroupGeMaskARB"
+ Name 27 "gl_SubGroupGtMaskARB"
+ Name 30 "gl_SubGroupLeMaskARB"
+ Name 33 "gl_SubGroupLtMaskARB"
+ Name 48 "Buffers"
+ MemberName 48(Buffers) 0 "f4"
+ MemberName 48(Buffers) 1 "i4"
+ MemberName 48(Buffers) 2 "u4"
+ Name 51 "data"
+ MemberDecorate 48(Buffers) 0 Offset 0
+ MemberDecorate 48(Buffers) 1 Offset 16
+ MemberDecorate 48(Buffers) 2 Offset 32
+ Decorate 48(Buffers) BufferBlock
+ Decorate 51(data) DescriptorSet 0
+ Decorate 51(data) Binding 0
+ Decorate 240 BuiltIn WorkgroupSize
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: TypePointer Function 6(int)
+ 9: TypePointer Input 6(int)
+10(gl_SubGroupInvocationARB): 9(ptr) Variable Input
+ 12: TypePointer UniformConstant 6(int)
+13(gl_SubGroupSizeARB): 12(ptr) Variable UniformConstant
+ 16: 6(int) Constant 4
+ 18: TypeInt 64 0
+ 19: TypePointer Function 18(int)
+ 21: TypePointer Input 18(int)
+22(gl_SubGroupEqMaskARB): 21(ptr) Variable Input
+24(gl_SubGroupGeMaskARB): 21(ptr) Variable Input
+27(gl_SubGroupGtMaskARB): 21(ptr) Variable Input
+30(gl_SubGroupLeMaskARB): 21(ptr) Variable Input
+33(gl_SubGroupLtMaskARB): 21(ptr) Variable Input
+ 37: TypeBool
+ 38: 37(bool) ConstantTrue
+ 43: TypeFloat 32
+ 44: TypeVector 43(float) 4
+ 45: TypeInt 32 1
+ 46: TypeVector 45(int) 4
+ 47: TypeVector 6(int) 4
+ 48(Buffers): TypeStruct 44(fvec4) 46(ivec4) 47(ivec4)
+ 49: TypeArray 48(Buffers) 16
+ 50: TypePointer Uniform 49
+ 51(data): 50(ptr) Variable Uniform
+ 53: 45(int) Constant 0
+ 54: 6(int) Constant 0
+ 55: TypePointer Uniform 43(float)
+ 62: 45(int) Constant 1
+ 63: TypeVector 43(float) 2
+ 64: TypePointer Uniform 44(fvec4)
+ 74: 45(int) Constant 2
+ 75: TypeVector 43(float) 3
+ 85: 45(int) Constant 3
+ 92: TypePointer Uniform 45(int)
+ 99: TypeVector 45(int) 2
+ 100: TypePointer Uniform 46(ivec4)
+ 110: TypeVector 45(int) 3
+ 126: TypePointer Uniform 6(int)
+ 133: TypeVector 6(int) 2
+ 134: TypePointer Uniform 47(ivec4)
+ 144: TypeVector 6(int) 3
+ 238: 6(int) Constant 8
+ 239: 6(int) Constant 1
+ 240: 144(ivec3) ConstantComposite 238 238 239
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(invocation): 7(ptr) Variable Function
+ 20(relMask): 19(ptr) Variable Function
+ 11: 6(int) Load 10(gl_SubGroupInvocationARB)
+ 14: 6(int) Load 13(gl_SubGroupSizeARB)
+ 15: 6(int) IAdd 11 14
+ 17: 6(int) UMod 15 16
+ Store 8(invocation) 17
+ 23: 18(int) Load 22(gl_SubGroupEqMaskARB)
+ 25: 18(int) Load 24(gl_SubGroupGeMaskARB)
+ 26: 18(int) IAdd 23 25
+ 28: 18(int) Load 27(gl_SubGroupGtMaskARB)
+ 29: 18(int) IAdd 26 28
+ 31: 18(int) Load 30(gl_SubGroupLeMaskARB)
+ 32: 18(int) IAdd 29 31
+ 34: 18(int) Load 33(gl_SubGroupLtMaskARB)
+ 35: 18(int) IAdd 32 34
+ Store 20(relMask) 35
+ 36: 18(int) Load 20(relMask)
+ 39: 18(int) ExtInst 1(GLSL.std.450) 0(Unknown) 38
+ 40: 37(bool) IEqual 36 39
+ SelectionMerge 42 None
+ BranchConditional 40 41 159
+ 41: Label
+ 52: 6(int) Load 8(invocation)
+ 56: 55(ptr) AccessChain 51(data) 53 53 54
+ 57: 43(float) Load 56
+ 58: 6(int) Load 8(invocation)
+ 59: 43(float) ExtInst 1(GLSL.std.450) 0(Unknown) 57 58
+ 60: 55(ptr) AccessChain 51(data) 52 53 54
+ Store 60 59
+ 61: 6(int) Load 8(invocation)
+ 65: 64(ptr) AccessChain 51(data) 62 53
+ 66: 44(fvec4) Load 65
+ 67: 63(fvec2) VectorShuffle 66 66 0 1
+ 68: 6(int) Load 8(invocation)
+ 69: 63(fvec2) ExtInst 1(GLSL.std.450) 0(Unknown) 67 68
+ 70: 64(ptr) AccessChain 51(data) 61 53
+ 71: 44(fvec4) Load 70
+ 72: 44(fvec4) VectorShuffle 71 69 4 5 2 3
+ Store 70 72
+ 73: 6(int) Load 8(invocation)
+ 76: 64(ptr) AccessChain 51(data) 74 53
+ 77: 44(fvec4) Load 76
+ 78: 75(fvec3) VectorShuffle 77 77 0 1 2
+ 79: 6(int) Load 8(invocation)
+ 80: 75(fvec3) ExtInst 1(GLSL.std.450) 0(Unknown) 78 79
+ 81: 64(ptr) AccessChain 51(data) 73 53
+ 82: 44(fvec4) Load 81
+ 83: 44(fvec4) VectorShuffle 82 80 4 5 6 3
+ Store 81 83
+ 84: 6(int) Load 8(invocation)
+ 86: 64(ptr) AccessChain 51(data) 85 53
+ 87: 44(fvec4) Load 86
+ 88: 6(int) Load 8(invocation)
+ 89: 44(fvec4) ExtInst 1(GLSL.std.450) 0(Unknown) 87 88
+ 90: 64(ptr) AccessChain 51(data) 84 53
+ Store 90 89
+ 91: 6(int) Load 8(invocation)
+ 93: 92(ptr) AccessChain 51(data) 53 62 54
+ 94: 45(int) Load 93
+ 95: 6(int) Load 8(invocation)
+ 96: 45(int) ExtInst 1(GLSL.std.450) 0(Unknown) 94 95
+ 97: 92(ptr) AccessChain 51(data) 91 62 54
+ Store 97 96
+ 98: 6(int) Load 8(invocation)
+ 101: 100(ptr) AccessChain 51(data) 62 62
+ 102: 46(ivec4) Load 101
+ 103: 99(ivec2) VectorShuffle 102 102 0 1
+ 104: 6(int) Load 8(invocation)
+ 105: 99(ivec2) ExtInst 1(GLSL.std.450) 0(Unknown) 103 104
+ 106: 100(ptr) AccessChain 51(data) 98 62
+ 107: 46(ivec4) Load 106
+ 108: 46(ivec4) VectorShuffle 107 105 4 5 2 3
+ Store 106 108
+ 109: 6(int) Load 8(invocation)
+ 111: 100(ptr) AccessChain 51(data) 74 62
+ 112: 46(ivec4) Load 111
+ 113: 110(ivec3) VectorShuffle 112 112 0 1 2
+ 114: 6(int) Load 8(invocation)
+ 115: 110(ivec3) ExtInst 1(GLSL.std.450) 0(Unknown) 113 114
+ 116: 100(ptr) AccessChain 51(data) 109 62
+ 117: 46(ivec4) Load 116
+ 118: 46(ivec4) VectorShuffle 117 115 4 5 6 3
+ Store 116 118
+ 119: 6(int) Load 8(invocation)
+ 120: 100(ptr) AccessChain 51(data) 85 62
+ 121: 46(ivec4) Load 120
+ 122: 6(int) Load 8(invocation)
+ 123: 46(ivec4) ExtInst 1(GLSL.std.450) 0(Unknown) 121 122
+ 124: 100(ptr) AccessChain 51(data) 119 62
+ Store 124 123
+ 125: 6(int) Load 8(invocation)
+ 127: 126(ptr) AccessChain 51(data) 53 74 54
+ 128: 6(int) Load 127
+ 129: 6(int) Load 8(invocation)
+ 130: 6(int) ExtInst 1(GLSL.std.450) 0(Unknown) 128 129
+ 131: 126(ptr) AccessChain 51(data) 125 74 54
+ Store 131 130
+ 132: 6(int) Load 8(invocation)
+ 135: 134(ptr) AccessChain 51(data) 62 74
+ 136: 47(ivec4) Load 135
+ 137: 133(ivec2) VectorShuffle 136 136 0 1
+ 138: 6(int) Load 8(invocation)
+ 139: 133(ivec2) ExtInst 1(GLSL.std.450) 0(Unknown) 137 138
+ 140: 134(ptr) AccessChain 51(data) 132 74
+ 141: 47(ivec4) Load 140
+ 142: 47(ivec4) VectorShuffle 141 139 4 5 2 3
+ Store 140 142
+ 143: 6(int) Load 8(invocation)
+ 145: 134(ptr) AccessChain 51(data) 74 74
+ 146: 47(ivec4) Load 145
+ 147: 144(ivec3) VectorShuffle 146 146 0 1 2
+ 148: 6(int) Load 8(invocation)
+ 149: 144(ivec3) ExtInst 1(GLSL.std.450) 0(Unknown) 147 148
+ 150: 134(ptr) AccessChain 51(data) 143 74
+ 151: 47(ivec4) Load 150
+ 152: 47(ivec4) VectorShuffle 151 149 4 5 6 3
+ Store 150 152
+ 153: 6(int) Load 8(invocation)
+ 154: 134(ptr) AccessChain 51(data) 85 74
+ 155: 47(ivec4) Load 154
+ 156: 6(int) Load 8(invocation)
+ 157: 47(ivec4) ExtInst 1(GLSL.std.450) 0(Unknown) 155 156
+ 158: 134(ptr) AccessChain 51(data) 153 74
+ Store 158 157
+ Branch 42
+ 159: Label
+ 160: 6(int) Load 8(invocation)
+ 161: 55(ptr) AccessChain 51(data) 53 53 54
+ 162: 43(float) Load 161
+ 163: 43(float) ExtInst 1(GLSL.std.450) 0(Unknown) 162
+ 164: 55(ptr) AccessChain 51(data) 160 53 54
+ Store 164 163
+ 165: 6(int) Load 8(invocation)
+ 166: 64(ptr) AccessChain 51(data) 62 53
+ 167: 44(fvec4) Load 166
+ 168: 63(fvec2) VectorShuffle 167 167 0 1
+ 169: 63(fvec2) ExtInst 1(GLSL.std.450) 0(Unknown) 168
+ 170: 64(ptr) AccessChain 51(data) 165 53
+ 171: 44(fvec4) Load 170
+ 172: 44(fvec4) VectorShuffle 171 169 4 5 2 3
+ Store 170 172
+ 173: 6(int) Load 8(invocation)
+ 174: 64(ptr) AccessChain 51(data) 74 53
+ 175: 44(fvec4) Load 174
+ 176: 75(fvec3) VectorShuffle 175 175 0 1 2
+ 177: 75(fvec3) ExtInst 1(GLSL.std.450) 0(Unknown) 176
+ 178: 64(ptr) AccessChain 51(data) 173 53
+ 179: 44(fvec4) Load 178
+ 180: 44(fvec4) VectorShuffle 179 177 4 5 6 3
+ Store 178 180
+ 181: 6(int) Load 8(invocation)
+ 182: 64(ptr) AccessChain 51(data) 85 53
+ 183: 44(fvec4) Load 182
+ 184: 44(fvec4) ExtInst 1(GLSL.std.450) 0(Unknown) 183
+ 185: 64(ptr) AccessChain 51(data) 181 53
+ Store 185 184
+ 186: 6(int) Load 8(invocation)
+ 187: 92(ptr) AccessChain 51(data) 53 62 54
+ 188: 45(int) Load 187
+ 189: 45(int) ExtInst 1(GLSL.std.450) 0(Unknown) 188
+ 190: 92(ptr) AccessChain 51(data) 186 62 54
+ Store 190 189
+ 191: 6(int) Load 8(invocation)
+ 192: 100(ptr) AccessChain 51(data) 62 62
+ 193: 46(ivec4) Load 192
+ 194: 99(ivec2) VectorShuffle 193 193 0 1
+ 195: 99(ivec2) ExtInst 1(GLSL.std.450) 0(Unknown) 194
+ 196: 100(ptr) AccessChain 51(data) 191 62
+ 197: 46(ivec4) Load 196
+ 198: 46(ivec4) VectorShuffle 197 195 4 5 2 3
+ Store 196 198
+ 199: 6(int) Load 8(invocation)
+ 200: 100(ptr) AccessChain 51(data) 74 62
+ 201: 46(ivec4) Load 200
+ 202: 110(ivec3) VectorShuffle 201 201 0 1 2
+ 203: 110(ivec3) ExtInst 1(GLSL.std.450) 0(Unknown) 202
+ 204: 100(ptr) AccessChain 51(data) 199 62
+ 205: 46(ivec4) Load 204
+ 206: 46(ivec4) VectorShuffle 205 203 4 5 6 3
+ Store 204 206
+ 207: 6(int) Load 8(invocation)
+ 208: 100(ptr) AccessChain 51(data) 85 62
+ 209: 46(ivec4) Load 208
+ 210: 46(ivec4) ExtInst 1(GLSL.std.450) 0(Unknown) 209
+ 211: 100(ptr) AccessChain 51(data) 207 62
+ Store 211 210
+ 212: 6(int) Load 8(invocation)
+ 213: 126(ptr) AccessChain 51(data) 53 74 54
+ 214: 6(int) Load 213
+ 215: 6(int) ExtInst 1(GLSL.std.450) 0(Unknown) 214
+ 216: 126(ptr) AccessChain 51(data) 212 74 54
+ Store 216 215
+ 217: 6(int) Load 8(invocation)
+ 218: 134(ptr) AccessChain 51(data) 62 74
+ 219: 47(ivec4) Load 218
+ 220: 133(ivec2) VectorShuffle 219 219 0 1
+ 221: 133(ivec2) ExtInst 1(GLSL.std.450) 0(Unknown) 220
+ 222: 134(ptr) AccessChain 51(data) 217 74
+ 223: 47(ivec4) Load 222
+ 224: 47(ivec4) VectorShuffle 223 221 4 5 2 3
+ Store 222 224
+ 225: 6(int) Load 8(invocation)
+ 226: 134(ptr) AccessChain 51(data) 74 74
+ 227: 47(ivec4) Load 226
+ 228: 144(ivec3) VectorShuffle 227 227 0 1 2
+ 229: 144(ivec3) ExtInst 1(GLSL.std.450) 0(Unknown) 228
+ 230: 134(ptr) AccessChain 51(data) 225 74
+ 231: 47(ivec4) Load 230
+ 232: 47(ivec4) VectorShuffle 231 229 4 5 6 3
+ Store 230 232
+ 233: 6(int) Load 8(invocation)
+ 234: 134(ptr) AccessChain 51(data) 85 74
+ 235: 47(ivec4) Load 234
+ 236: 47(ivec4) ExtInst 1(GLSL.std.450) 0(Unknown) 235
+ 237: 134(ptr) AccessChain 51(data) 233 74
+ Store 237 236
+ Branch 42
+ 42: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.shaderGroupVote.comp.out b/chromium/third_party/glslang/src/Test/baseResults/spv.shaderGroupVote.comp.out
new file mode 100644
index 00000000000..e63164d024e
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.shaderGroupVote.comp.out
@@ -0,0 +1,71 @@
+spv.shaderGroupVote.comp
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked compute stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 37
+
+ Capability Shader
+ Capability Groups
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main"
+ ExecutionMode 4 LocalSize 4 4 1
+ Source GLSL 450
+ SourceExtension "GL_ARB_shader_group_vote"
+ Name 4 "main"
+ Name 8 "b1"
+ Name 10 "Buffers"
+ MemberName 10(Buffers) 0 "b"
+ Name 12 ""
+ MemberDecorate 10(Buffers) 0 Offset 0
+ Decorate 10(Buffers) BufferBlock
+ Decorate 12 DescriptorSet 0
+ Decorate 12 Binding 0
+ Decorate 36 BuiltIn WorkgroupSize
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeBool
+ 7: TypePointer Function 6(bool)
+ 9: TypeInt 32 0
+ 10(Buffers): TypeStruct 9(int)
+ 11: TypePointer Uniform 10(Buffers)
+ 12: 11(ptr) Variable Uniform
+ 13: TypeInt 32 1
+ 14: 13(int) Constant 0
+ 15: TypePointer Uniform 9(int)
+ 18: 9(int) Constant 0
+ 21: 9(int) Constant 3
+ 31: 9(int) Constant 1
+ 34: TypeVector 9(int) 3
+ 35: 9(int) Constant 4
+ 36: 34(ivec3) ConstantComposite 35 35 31
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(b1): 7(ptr) Variable Function
+ 16: 15(ptr) AccessChain 12 14
+ 17: 9(int) Load 16
+ 19: 6(bool) INotEqual 17 18
+ Store 8(b1) 19
+ 20: 6(bool) Load 8(b1)
+ 22: 6(bool) GroupAny 21 20
+ Store 8(b1) 22
+ 23: 6(bool) Load 8(b1)
+ 24: 6(bool) GroupAll 21 23
+ Store 8(b1) 24
+ 25: 6(bool) Load 8(b1)
+ 26: 6(bool) GroupAll 21 25
+ 27: 6(bool) GroupAny 21 25
+ 28: 6(bool) LogicalNot 27
+ 29: 6(bool) LogicalOr 26 28
+ Store 8(b1) 29
+ 30: 6(bool) Load 8(b1)
+ 32: 9(int) Select 30 31 18
+ 33: 15(ptr) AccessChain 12 14
+ Store 33 32
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.shiftOps.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.shiftOps.frag.out
new file mode 100644
index 00000000000..39e40ece737
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.shiftOps.frag.out
@@ -0,0 +1,70 @@
+spv.shiftOps.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 38
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 9 11 15 25 27 30
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ Name 4 "main"
+ Name 9 "icolor"
+ Name 11 "i3"
+ Name 15 "u1"
+ Name 25 "ucolor"
+ Name 27 "u3"
+ Name 30 "i1"
+ Decorate 11(i3) Flat
+ Decorate 15(u1) Flat
+ Decorate 27(u3) Flat
+ Decorate 30(i1) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeVector 6(int) 3
+ 8: TypePointer Output 7(ivec3)
+ 9(icolor): 8(ptr) Variable Output
+ 10: TypePointer Input 7(ivec3)
+ 11(i3): 10(ptr) Variable Input
+ 13: TypeInt 32 0
+ 14: TypePointer Input 13(int)
+ 15(u1): 14(ptr) Variable Input
+ 17: TypeVector 13(int) 3
+ 20: 13(int) Constant 4
+ 24: TypePointer Output 17(ivec3)
+ 25(ucolor): 24(ptr) Variable Output
+ 26: TypePointer Input 17(ivec3)
+ 27(u3): 26(ptr) Variable Input
+ 29: TypePointer Input 6(int)
+ 30(i1): 29(ptr) Variable Input
+ 34: 6(int) Constant 5
+ 4(main): 2 Function None 3
+ 5: Label
+ 12: 7(ivec3) Load 11(i3)
+ 16: 13(int) Load 15(u1)
+ 18: 17(ivec3) CompositeConstruct 16 16 16
+ 19: 7(ivec3) ShiftLeftLogical 12 18
+ Store 9(icolor) 19
+ 21: 7(ivec3) Load 9(icolor)
+ 22: 17(ivec3) CompositeConstruct 20 20 20
+ 23: 7(ivec3) ShiftLeftLogical 21 22
+ Store 9(icolor) 23
+ 28: 17(ivec3) Load 27(u3)
+ 31: 6(int) Load 30(i1)
+ 32: 7(ivec3) CompositeConstruct 31 31 31
+ 33: 17(ivec3) ShiftRightLogical 28 32
+ Store 25(ucolor) 33
+ 35: 17(ivec3) Load 25(ucolor)
+ 36: 7(ivec3) CompositeConstruct 34 34 34
+ 37: 17(ivec3) ShiftRightLogical 35 36
+ Store 25(ucolor) 37
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.shortCircuit.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.shortCircuit.frag.out
new file mode 100644
index 00000000000..5b39b1cba56
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.shortCircuit.frag.out
@@ -0,0 +1,241 @@
+spv.shortCircuit.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 147
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 12 24 34 113 140 142
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 400
+ Name 4 "main"
+ Name 8 "foo("
+ Name 12 "of1"
+ Name 24 "of4"
+ Name 27 "ub"
+ Name 34 "ui"
+ Name 44 "uba"
+ Name 113 "uf"
+ Name 140 "uiv4"
+ Name 142 "uv4"
+ Name 145 "ub41"
+ Name 146 "ub42"
+ Decorate 34(ui) Flat
+ Decorate 140(uiv4) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeBool
+ 7: TypeFunction 6(bool)
+ 10: TypeFloat 32
+ 11: TypePointer Output 10(float)
+ 12(of1): 11(ptr) Variable Output
+ 14: 10(float) Constant 1065353216
+ 17: 10(float) Constant 1092616192
+ 21: 10(float) Constant 0
+ 22: TypeVector 10(float) 4
+ 23: TypePointer Output 22(fvec4)
+ 24(of4): 23(ptr) Variable Output
+ 25: 22(fvec4) ConstantComposite 21 21 21 21
+ 26: TypePointer Private 6(bool)
+ 27(ub): 26(ptr) Variable Private
+ 32: TypeInt 32 1
+ 33: TypePointer Input 32(int)
+ 34(ui): 33(ptr) Variable Input
+ 36: 32(int) Constant 2
+ 44(uba): 26(ptr) Variable Private
+ 112: TypePointer Input 10(float)
+ 113(uf): 112(ptr) Variable Input
+ 116: 10(float) Constant 1082130432
+ 138: TypeVector 32(int) 4
+ 139: TypePointer Input 138(ivec4)
+ 140(uiv4): 139(ptr) Variable Input
+ 141: TypePointer Input 22(fvec4)
+ 142(uv4): 141(ptr) Variable Input
+ 143: TypeVector 6(bool) 4
+ 144: TypePointer Private 143(bvec4)
+ 145(ub41): 144(ptr) Variable Private
+ 146(ub42): 144(ptr) Variable Private
+ 4(main): 2 Function None 3
+ 5: Label
+ Store 12(of1) 21
+ Store 24(of4) 25
+ 28: 6(bool) Load 27(ub)
+ 29: 6(bool) LogicalNot 28
+ SelectionMerge 31 None
+ BranchConditional 29 30 31
+ 30: Label
+ 35: 32(int) Load 34(ui)
+ 37: 6(bool) SGreaterThan 35 36
+ Branch 31
+ 31: Label
+ 38: 6(bool) Phi 28 5 37 30
+ SelectionMerge 40 None
+ BranchConditional 38 39 40
+ 39: Label
+ 41: 10(float) Load 12(of1)
+ 42: 10(float) FAdd 41 14
+ Store 12(of1) 42
+ Branch 40
+ 40: Label
+ 43: 6(bool) Load 27(ub)
+ 45: 6(bool) Load 44(uba)
+ 46: 6(bool) LogicalNot 45
+ 47: 6(bool) LogicalAnd 43 46
+ SelectionMerge 49 None
+ BranchConditional 47 48 49
+ 48: Label
+ 50: 10(float) Load 12(of1)
+ 51: 10(float) FAdd 50 14
+ Store 12(of1) 51
+ Branch 49
+ 49: Label
+ 52: 6(bool) Load 27(ub)
+ 53: 6(bool) LogicalNot 52
+ SelectionMerge 55 None
+ BranchConditional 53 54 55
+ 54: Label
+ 56: 6(bool) FunctionCall 8(foo()
+ Branch 55
+ 55: Label
+ 57: 6(bool) Phi 52 49 56 54
+ SelectionMerge 59 None
+ BranchConditional 57 58 59
+ 58: Label
+ 60: 10(float) Load 12(of1)
+ 61: 10(float) FAdd 60 14
+ Store 12(of1) 61
+ Branch 59
+ 59: Label
+ 62: 6(bool) Load 27(ub)
+ SelectionMerge 64 None
+ BranchConditional 62 63 64
+ 63: Label
+ 65: 6(bool) FunctionCall 8(foo()
+ Branch 64
+ 64: Label
+ 66: 6(bool) Phi 62 59 65 63
+ SelectionMerge 68 None
+ BranchConditional 66 67 68
+ 67: Label
+ 69: 10(float) Load 12(of1)
+ 70: 10(float) FAdd 69 14
+ Store 12(of1) 70
+ Branch 68
+ 68: Label
+ 71: 6(bool) FunctionCall 8(foo()
+ 72: 6(bool) Load 27(ub)
+ 73: 6(bool) LogicalOr 71 72
+ SelectionMerge 75 None
+ BranchConditional 73 74 75
+ 74: Label
+ 76: 10(float) Load 12(of1)
+ 77: 10(float) FAdd 76 14
+ Store 12(of1) 77
+ Branch 75
+ 75: Label
+ 78: 6(bool) FunctionCall 8(foo()
+ 79: 6(bool) Load 27(ub)
+ 80: 6(bool) LogicalAnd 78 79
+ SelectionMerge 82 None
+ BranchConditional 80 81 82
+ 81: Label
+ 83: 10(float) Load 12(of1)
+ 84: 10(float) FAdd 83 14
+ Store 12(of1) 84
+ Branch 82
+ 82: Label
+ 85: 6(bool) Load 27(ub)
+ 86: 6(bool) LogicalNot 85
+ SelectionMerge 88 None
+ BranchConditional 86 87 88
+ 87: Label
+ 89: 10(float) Load 12(of1)
+ 90: 10(float) FAdd 89 14
+ Store 12(of1) 90
+ 91: 6(bool) FOrdGreaterThan 90 14
+ Branch 88
+ 88: Label
+ 92: 6(bool) Phi 85 82 91 87
+ SelectionMerge 94 None
+ BranchConditional 92 93 94
+ 93: Label
+ 95: 22(fvec4) Load 24(of4)
+ 96: 22(fvec4) CompositeConstruct 14 14 14 14
+ 97: 22(fvec4) FAdd 95 96
+ Store 24(of4) 97
+ Branch 94
+ 94: Label
+ 98: 10(float) Load 12(of1)
+ 99: 10(float) FAdd 98 14
+ Store 12(of1) 99
+ 100: 6(bool) FOrdGreaterThan 99 14
+ 101: 6(bool) Load 27(ub)
+ 102: 6(bool) LogicalOr 100 101
+ SelectionMerge 104 None
+ BranchConditional 102 103 104
+ 103: Label
+ 105: 22(fvec4) Load 24(of4)
+ 106: 22(fvec4) CompositeConstruct 14 14 14 14
+ 107: 22(fvec4) FAdd 105 106
+ Store 24(of4) 107
+ Branch 104
+ 104: Label
+ 108: 6(bool) Load 27(ub)
+ 109: 6(bool) LogicalNot 108
+ SelectionMerge 111 None
+ BranchConditional 109 110 111
+ 110: Label
+ 114: 10(float) Load 113(uf)
+ 115: 10(float) ExtInst 1(GLSL.std.450) 13(Sin) 114
+ 117: 10(float) FMul 115 116
+ 118: 10(float) Load 12(of1)
+ 119: 6(bool) FOrdGreaterThan 117 118
+ Branch 111
+ 111: Label
+ 120: 6(bool) Phi 108 104 119 110
+ SelectionMerge 122 None
+ BranchConditional 120 121 122
+ 121: Label
+ 123: 10(float) Load 12(of1)
+ 124: 10(float) FAdd 123 14
+ Store 12(of1) 124
+ Branch 122
+ 122: Label
+ 125: 6(bool) Load 27(ub)
+ SelectionMerge 127 None
+ BranchConditional 125 126 127
+ 126: Label
+ 128: 10(float) Load 113(uf)
+ 129: 10(float) ExtInst 1(GLSL.std.450) 13(Sin) 128
+ 130: 10(float) FMul 129 116
+ 131: 10(float) Load 12(of1)
+ 132: 6(bool) FOrdGreaterThan 130 131
+ Branch 127
+ 127: Label
+ 133: 6(bool) Phi 125 122 132 126
+ SelectionMerge 135 None
+ BranchConditional 133 134 135
+ 134: Label
+ 136: 10(float) Load 12(of1)
+ 137: 10(float) FAdd 136 14
+ Store 12(of1) 137
+ Branch 135
+ 135: Label
+ Return
+ FunctionEnd
+ 8(foo(): 6(bool) Function None 7
+ 9: Label
+ 13: 10(float) Load 12(of1)
+ 15: 10(float) FAdd 13 14
+ Store 12(of1) 15
+ 16: 10(float) Load 12(of1)
+ 18: 6(bool) FOrdGreaterThan 16 17
+ ReturnValue 18
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.simpleFunctionCall.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.simpleFunctionCall.frag.out
new file mode 100755
index 00000000000..458a90dbac1
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.simpleFunctionCall.frag.out
@@ -0,0 +1,39 @@
+spv.simpleFunctionCall.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 19
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 12 17
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 150
+ Name 4 "main"
+ Name 9 "foo("
+ Name 12 "BaseColor"
+ Name 17 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeFunction 7(fvec4)
+ 11: TypePointer Input 7(fvec4)
+ 12(BaseColor): 11(ptr) Variable Input
+ 16: TypePointer Output 7(fvec4)
+17(gl_FragColor): 16(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 18: 7(fvec4) FunctionCall 9(foo()
+ Store 17(gl_FragColor) 18
+ Return
+ FunctionEnd
+ 9(foo(): 7(fvec4) Function None 8
+ 10: Label
+ 13: 7(fvec4) Load 12(BaseColor)
+ ReturnValue 13
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.simpleMat.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.simpleMat.vert.out
new file mode 100755
index 00000000000..3e0f05e19c6
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.simpleMat.vert.out
@@ -0,0 +1,64 @@
+spv.simpleMat.vert
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 39
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 9 12 15 19 23 34
+ Source GLSL 330
+ Name 4 "main"
+ Name 9 "glPos"
+ Name 12 "mvp"
+ Name 15 "v"
+ Name 19 "f"
+ Name 23 "am3"
+ Name 34 "arraym"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(glPos): 8(ptr) Variable Output
+ 10: TypeMatrix 7(fvec4) 4
+ 11: TypePointer Output 10
+ 12(mvp): 11(ptr) Variable Output
+ 14: TypePointer Input 7(fvec4)
+ 15(v): 14(ptr) Variable Input
+ 18: TypePointer Output 6(float)
+ 19(f): 18(ptr) Variable Output
+ 20: TypeVector 6(float) 3
+ 21: TypeMatrix 20(fvec3) 3
+ 22: TypePointer Input 21
+ 23(am3): 22(ptr) Variable Input
+ 24: TypeInt 32 1
+ 25: 24(int) Constant 2
+ 26: TypeInt 32 0
+ 27: 26(int) Constant 1
+ 28: TypePointer Input 6(float)
+ 31: 26(int) Constant 3
+ 32: TypeArray 10 31
+ 33: TypePointer Input 32
+ 34(arraym): 33(ptr) Variable Input
+ 35: 24(int) Constant 1
+ 4(main): 2 Function None 3
+ 5: Label
+ 13: 10 Load 12(mvp)
+ 16: 7(fvec4) Load 15(v)
+ 17: 7(fvec4) MatrixTimesVector 13 16
+ Store 9(glPos) 17
+ 29: 28(ptr) AccessChain 23(am3) 25 27
+ 30: 6(float) Load 29
+ 36: 28(ptr) AccessChain 34(arraym) 35 25 31
+ 37: 6(float) Load 36
+ 38: 6(float) FAdd 30 37
+ Store 19(f) 38
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.sparseTexture.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.sparseTexture.frag.out
new file mode 100644
index 00000000000..ae48f41d72d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.sparseTexture.frag.out
@@ -0,0 +1,593 @@
+spv.sparseTexture.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 438
+
+ Capability Shader
+ Capability SampledRect
+ Capability SparseResidency
+ Capability SampledCubeArray
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 33 48 89 365 393 405 423
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ SourceExtension "GL_ARB_sparse_texture2"
+ Name 4 "main"
+ Name 8 "resident"
+ Name 13 "texel"
+ Name 18 "itexel"
+ Name 23 "utexel"
+ Name 29 "s2D"
+ Name 33 "c2"
+ Name 35 "ResType"
+ Name 44 "s3D"
+ Name 48 "c3"
+ Name 59 "isCube"
+ Name 62 "ResType"
+ Name 71 "s2DShadow"
+ Name 77 "ResType"
+ Name 86 "sCubeArrayShadow"
+ Name 89 "c4"
+ Name 108 "usCubeArray"
+ Name 111 "ResType"
+ Name 140 "us2DRect"
+ Name 154 "s2DArrayShadow"
+ Name 188 "s2DMS"
+ Name 228 "is2DArray"
+ Name 261 "sCubeShadow"
+ Name 294 "s2DRectShadow"
+ Name 365 "offsets"
+ Name 390 "i2D"
+ Name 393 "ic2"
+ Name 402 "ii3D"
+ Name 405 "ic3"
+ Name 414 "i2DMS"
+ Name 423 "outColor"
+ Decorate 29(s2D) DescriptorSet 0
+ Decorate 44(s3D) DescriptorSet 0
+ Decorate 59(isCube) DescriptorSet 0
+ Decorate 71(s2DShadow) DescriptorSet 0
+ Decorate 86(sCubeArrayShadow) DescriptorSet 0
+ Decorate 108(usCubeArray) DescriptorSet 0
+ Decorate 140(us2DRect) DescriptorSet 0
+ Decorate 154(s2DArrayShadow) DescriptorSet 0
+ Decorate 188(s2DMS) DescriptorSet 0
+ Decorate 228(is2DArray) DescriptorSet 0
+ Decorate 261(sCubeShadow) DescriptorSet 0
+ Decorate 294(s2DRectShadow) DescriptorSet 0
+ Decorate 365(offsets) Flat
+ Decorate 390(i2D) DescriptorSet 0
+ Decorate 393(ic2) Flat
+ Decorate 402(ii3D) DescriptorSet 0
+ Decorate 405(ic3) Flat
+ Decorate 414(i2DMS) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 10: TypeFloat 32
+ 11: TypeVector 10(float) 4
+ 12: TypePointer Function 11(fvec4)
+ 14: 10(float) Constant 0
+ 15: 11(fvec4) ConstantComposite 14 14 14 14
+ 16: TypeVector 6(int) 4
+ 17: TypePointer Function 16(ivec4)
+ 19: 16(ivec4) ConstantComposite 9 9 9 9
+ 20: TypeInt 32 0
+ 21: TypeVector 20(int) 4
+ 22: TypePointer Function 21(ivec4)
+ 24: 20(int) Constant 0
+ 25: 21(ivec4) ConstantComposite 24 24 24 24
+ 26: TypeImage 10(float) 2D sampled format:Unknown
+ 27: TypeSampledImage 26
+ 28: TypePointer UniformConstant 27
+ 29(s2D): 28(ptr) Variable UniformConstant
+ 31: TypeVector 10(float) 2
+ 32: TypePointer Input 31(fvec2)
+ 33(c2): 32(ptr) Variable Input
+ 35(ResType): TypeStruct 6(int) 11(fvec4)
+ 41: TypeImage 10(float) 3D sampled format:Unknown
+ 42: TypeSampledImage 41
+ 43: TypePointer UniformConstant 42
+ 44(s3D): 43(ptr) Variable UniformConstant
+ 46: TypeVector 10(float) 3
+ 47: TypePointer Input 46(fvec3)
+ 48(c3): 47(ptr) Variable Input
+ 50: 10(float) Constant 1073741824
+ 56: TypeImage 6(int) Cube sampled format:Unknown
+ 57: TypeSampledImage 56
+ 58: TypePointer UniformConstant 57
+ 59(isCube): 58(ptr) Variable UniformConstant
+ 62(ResType): TypeStruct 6(int) 16(ivec4)
+ 68: TypeImage 10(float) 2D depth sampled format:Unknown
+ 69: TypeSampledImage 68
+ 70: TypePointer UniformConstant 69
+ 71(s2DShadow): 70(ptr) Variable UniformConstant
+ 74: TypePointer Function 10(float)
+ 77(ResType): TypeStruct 6(int) 10(float)
+ 83: TypeImage 10(float) Cube depth array sampled format:Unknown
+ 84: TypeSampledImage 83
+ 85: TypePointer UniformConstant 84
+86(sCubeArrayShadow): 85(ptr) Variable UniformConstant
+ 88: TypePointer Input 11(fvec4)
+ 89(c4): 88(ptr) Variable Input
+ 91: 10(float) Constant 1065353216
+ 105: TypeImage 20(int) Cube array sampled format:Unknown
+ 106: TypeSampledImage 105
+ 107: TypePointer UniformConstant 106
+108(usCubeArray): 107(ptr) Variable UniformConstant
+ 111(ResType): TypeStruct 6(int) 21(ivec4)
+ 119: 20(int) Constant 1
+ 129: TypeVector 6(int) 3
+ 130: 6(int) Constant 2
+ 131: 129(ivec3) ConstantComposite 130 130 130
+ 137: TypeImage 20(int) Rect sampled format:Unknown
+ 138: TypeSampledImage 137
+ 139: TypePointer UniformConstant 138
+ 140(us2DRect): 139(ptr) Variable UniformConstant
+ 143: TypeVector 6(int) 2
+ 144: 6(int) Constant 3
+ 145: 143(ivec2) ConstantComposite 144 144
+ 151: TypeImage 10(float) 2D depth array sampled format:Unknown
+ 152: TypeSampledImage 151
+ 153: TypePointer UniformConstant 152
+154(s2DArrayShadow): 153(ptr) Variable UniformConstant
+ 157: 6(int) Constant 5
+ 158: 143(ivec2) ConstantComposite 157 157
+ 159: 20(int) Constant 2
+ 185: TypeImage 10(float) 2D multi-sampled sampled format:Unknown
+ 186: TypeSampledImage 185
+ 187: TypePointer UniformConstant 186
+ 188(s2DMS): 187(ptr) Variable UniformConstant
+ 192: 6(int) Constant 4
+ 202: 129(ivec3) ConstantComposite 192 192 192
+ 225: TypeImage 6(int) 2D array sampled format:Unknown
+ 226: TypeSampledImage 225
+ 227: TypePointer UniformConstant 226
+ 228(is2DArray): 227(ptr) Variable UniformConstant
+ 231: 6(int) Constant 6
+ 232: 143(ivec2) ConstantComposite 231 231
+ 240: 6(int) Constant 7
+ 241: 143(ivec2) ConstantComposite 240 240
+ 258: TypeImage 10(float) Cube depth sampled format:Unknown
+ 259: TypeSampledImage 258
+ 260: TypePointer UniformConstant 259
+261(sCubeShadow): 260(ptr) Variable UniformConstant
+ 291: TypeImage 10(float) Rect depth sampled format:Unknown
+ 292: TypeSampledImage 291
+ 293: TypePointer UniformConstant 292
+294(s2DRectShadow): 293(ptr) Variable UniformConstant
+ 299: 20(int) Constant 3
+ 311: 143(ivec2) ConstantComposite 130 130
+ 340: 143(ivec2) ConstantComposite 192 192
+ 362: 20(int) Constant 4
+ 363: TypeArray 143(ivec2) 362
+ 364: TypePointer Input 363
+ 365(offsets): 364(ptr) Variable Input
+ 388: TypeImage 10(float) 2D nonsampled format:Rgba32f
+ 389: TypePointer UniformConstant 388
+ 390(i2D): 389(ptr) Variable UniformConstant
+ 392: TypePointer Input 143(ivec2)
+ 393(ic2): 392(ptr) Variable Input
+ 400: TypeImage 6(int) 3D nonsampled format:Rgba32i
+ 401: TypePointer UniformConstant 400
+ 402(ii3D): 401(ptr) Variable UniformConstant
+ 404: TypePointer Input 129(ivec3)
+ 405(ic3): 404(ptr) Variable Input
+ 412: TypeImage 10(float) 2D multi-sampled nonsampled format:Rgba32f
+ 413: TypePointer UniformConstant 412
+ 414(i2DMS): 413(ptr) Variable UniformConstant
+ 422: TypePointer Output 11(fvec4)
+ 423(outColor): 422(ptr) Variable Output
+ 426: TypeBool
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(resident): 7(ptr) Variable Function
+ 13(texel): 12(ptr) Variable Function
+ 18(itexel): 17(ptr) Variable Function
+ 23(utexel): 22(ptr) Variable Function
+ 424: 12(ptr) Variable Function
+ Store 8(resident) 9
+ Store 13(texel) 15
+ Store 18(itexel) 19
+ Store 23(utexel) 25
+ 30: 27 Load 29(s2D)
+ 34: 31(fvec2) Load 33(c2)
+ 36: 35(ResType) ImageSparseSampleImplicitLod 30 34
+ 37: 11(fvec4) CompositeExtract 36 1
+ Store 13(texel) 37
+ 38: 6(int) CompositeExtract 36 0
+ 39: 6(int) Load 8(resident)
+ 40: 6(int) BitwiseOr 39 38
+ Store 8(resident) 40
+ 45: 42 Load 44(s3D)
+ 49: 46(fvec3) Load 48(c3)
+ 51: 35(ResType) ImageSparseSampleImplicitLod 45 49 Bias 50
+ 52: 11(fvec4) CompositeExtract 51 1
+ Store 13(texel) 52
+ 53: 6(int) CompositeExtract 51 0
+ 54: 6(int) Load 8(resident)
+ 55: 6(int) BitwiseOr 54 53
+ Store 8(resident) 55
+ 60: 57 Load 59(isCube)
+ 61: 46(fvec3) Load 48(c3)
+ 63: 62(ResType) ImageSparseSampleImplicitLod 60 61
+ 64: 16(ivec4) CompositeExtract 63 1
+ Store 18(itexel) 64
+ 65: 6(int) CompositeExtract 63 0
+ 66: 6(int) Load 8(resident)
+ 67: 6(int) BitwiseOr 66 65
+ Store 8(resident) 67
+ 72: 69 Load 71(s2DShadow)
+ 73: 46(fvec3) Load 48(c3)
+ 75: 74(ptr) AccessChain 13(texel) 24
+ 76: 10(float) CompositeExtract 73 2
+ 78: 77(ResType) ImageSparseSampleDrefImplicitLod 72 73 76
+ 79: 10(float) CompositeExtract 78 1
+ Store 75 79
+ 80: 6(int) CompositeExtract 78 0
+ 81: 6(int) Load 8(resident)
+ 82: 6(int) BitwiseOr 81 80
+ Store 8(resident) 82
+ 87: 84 Load 86(sCubeArrayShadow)
+ 90: 11(fvec4) Load 89(c4)
+ 92: 74(ptr) AccessChain 13(texel) 24
+ 93: 77(ResType) ImageSparseSampleDrefImplicitLod 87 90 91
+ 94: 10(float) CompositeExtract 93 1
+ Store 92 94
+ 95: 6(int) CompositeExtract 93 0
+ 96: 6(int) Load 8(resident)
+ 97: 6(int) BitwiseOr 96 95
+ Store 8(resident) 97
+ 98: 27 Load 29(s2D)
+ 99: 31(fvec2) Load 33(c2)
+ 100: 35(ResType) ImageSparseSampleExplicitLod 98 99 Lod 50
+ 101: 11(fvec4) CompositeExtract 100 1
+ Store 13(texel) 101
+ 102: 6(int) CompositeExtract 100 0
+ 103: 6(int) Load 8(resident)
+ 104: 6(int) BitwiseOr 103 102
+ Store 8(resident) 104
+ 109: 106 Load 108(usCubeArray)
+ 110: 11(fvec4) Load 89(c4)
+ 112:111(ResType) ImageSparseSampleExplicitLod 109 110 Lod 91
+ 113: 21(ivec4) CompositeExtract 112 1
+ Store 23(utexel) 113
+ 114: 6(int) CompositeExtract 112 0
+ 115: 6(int) Load 8(resident)
+ 116: 6(int) BitwiseOr 115 114
+ Store 8(resident) 116
+ 117: 69 Load 71(s2DShadow)
+ 118: 46(fvec3) Load 48(c3)
+ 120: 74(ptr) AccessChain 13(texel) 119
+ 121: 10(float) CompositeExtract 118 2
+ 122: 77(ResType) ImageSparseSampleDrefExplicitLod 117 118 121 Lod 50
+ 123: 10(float) CompositeExtract 122 1
+ Store 120 123
+ 124: 6(int) CompositeExtract 122 0
+ 125: 6(int) Load 8(resident)
+ 126: 6(int) BitwiseOr 125 124
+ Store 8(resident) 126
+ 127: 42 Load 44(s3D)
+ 128: 46(fvec3) Load 48(c3)
+ 132: 35(ResType) ImageSparseSampleImplicitLod 127 128 Bias ConstOffset 50 131
+ 133: 11(fvec4) CompositeExtract 132 1
+ Store 13(texel) 133
+ 134: 6(int) CompositeExtract 132 0
+ 135: 6(int) Load 8(resident)
+ 136: 6(int) BitwiseOr 135 134
+ Store 8(resident) 136
+ 141: 138 Load 140(us2DRect)
+ 142: 31(fvec2) Load 33(c2)
+ 146:111(ResType) ImageSparseSampleImplicitLod 141 142 ConstOffset 145
+ 147: 21(ivec4) CompositeExtract 146 1
+ Store 23(utexel) 147
+ 148: 6(int) CompositeExtract 146 0
+ 149: 6(int) Load 8(resident)
+ 150: 6(int) BitwiseOr 149 148
+ Store 8(resident) 150
+ 155: 152 Load 154(s2DArrayShadow)
+ 156: 11(fvec4) Load 89(c4)
+ 160: 74(ptr) AccessChain 13(texel) 159
+ 161: 10(float) CompositeExtract 156 3
+ 162: 77(ResType) ImageSparseSampleDrefImplicitLod 155 156 161 ConstOffset 158
+ 163: 10(float) CompositeExtract 162 1
+ Store 160 163
+ 164: 6(int) CompositeExtract 162 0
+ 165: 6(int) Load 8(resident)
+ 166: 6(int) BitwiseOr 165 164
+ Store 8(resident) 166
+ 167: 27 Load 29(s2D)
+ 168: 31(fvec2) Load 33(c2)
+ 169: 143(ivec2) ConvertFToS 168
+ 170: 26 Image 167
+ 171: 35(ResType) ImageSparseFetch 170 169 Lod 130
+ 172: 11(fvec4) CompositeExtract 171 1
+ Store 13(texel) 172
+ 173: 6(int) CompositeExtract 171 0
+ 174: 6(int) Load 8(resident)
+ 175: 6(int) BitwiseOr 174 173
+ Store 8(resident) 175
+ 176: 138 Load 140(us2DRect)
+ 177: 31(fvec2) Load 33(c2)
+ 178: 143(ivec2) ConvertFToS 177
+ 179: 137 Image 176
+ 180:111(ResType) ImageSparseFetch 179 178
+ 181: 21(ivec4) CompositeExtract 180 1
+ Store 23(utexel) 181
+ 182: 6(int) CompositeExtract 180 0
+ 183: 6(int) Load 8(resident)
+ 184: 6(int) BitwiseOr 183 182
+ Store 8(resident) 184
+ 189: 186 Load 188(s2DMS)
+ 190: 31(fvec2) Load 33(c2)
+ 191: 143(ivec2) ConvertFToS 190
+ 193: 185 Image 189
+ 194: 35(ResType) ImageSparseFetch 193 191 Sample 192
+ 195: 11(fvec4) CompositeExtract 194 1
+ Store 13(texel) 195
+ 196: 6(int) CompositeExtract 194 0
+ 197: 6(int) Load 8(resident)
+ 198: 6(int) BitwiseOr 197 196
+ Store 8(resident) 198
+ 199: 42 Load 44(s3D)
+ 200: 46(fvec3) Load 48(c3)
+ 201: 129(ivec3) ConvertFToS 200
+ 203: 41 Image 199
+ 204: 35(ResType) ImageSparseFetch 203 201 Lod ConstOffset 130 202
+ 205: 11(fvec4) CompositeExtract 204 1
+ Store 13(texel) 205
+ 206: 6(int) CompositeExtract 204 0
+ 207: 6(int) Load 8(resident)
+ 208: 6(int) BitwiseOr 207 206
+ Store 8(resident) 208
+ 209: 138 Load 140(us2DRect)
+ 210: 31(fvec2) Load 33(c2)
+ 211: 143(ivec2) ConvertFToS 210
+ 212: 137 Image 209
+ 213:111(ResType) ImageSparseFetch 212 211 ConstOffset 145
+ 214: 21(ivec4) CompositeExtract 213 1
+ Store 23(utexel) 214
+ 215: 6(int) CompositeExtract 213 0
+ 216: 6(int) Load 8(resident)
+ 217: 6(int) BitwiseOr 216 215
+ Store 8(resident) 217
+ 218: 27 Load 29(s2D)
+ 219: 31(fvec2) Load 33(c2)
+ 220: 35(ResType) ImageSparseSampleExplicitLod 218 219 Lod ConstOffset 50 158
+ 221: 11(fvec4) CompositeExtract 220 1
+ Store 13(texel) 221
+ 222: 6(int) CompositeExtract 220 0
+ 223: 6(int) Load 8(resident)
+ 224: 6(int) BitwiseOr 223 222
+ Store 8(resident) 224
+ 229: 226 Load 228(is2DArray)
+ 230: 46(fvec3) Load 48(c3)
+ 233: 62(ResType) ImageSparseSampleExplicitLod 229 230 Lod ConstOffset 50 232
+ 234: 16(ivec4) CompositeExtract 233 1
+ Store 18(itexel) 234
+ 235: 6(int) CompositeExtract 233 0
+ 236: 6(int) Load 8(resident)
+ 237: 6(int) BitwiseOr 236 235
+ Store 8(resident) 237
+ 238: 69 Load 71(s2DShadow)
+ 239: 46(fvec3) Load 48(c3)
+ 242: 74(ptr) AccessChain 13(texel) 159
+ 243: 10(float) CompositeExtract 239 2
+ 244: 77(ResType) ImageSparseSampleDrefExplicitLod 238 239 243 Lod ConstOffset 50 241
+ 245: 10(float) CompositeExtract 244 1
+ Store 242 245
+ 246: 6(int) CompositeExtract 244 0
+ 247: 6(int) Load 8(resident)
+ 248: 6(int) BitwiseOr 247 246
+ Store 8(resident) 248
+ 249: 42 Load 44(s3D)
+ 250: 46(fvec3) Load 48(c3)
+ 251: 46(fvec3) Load 48(c3)
+ 252: 46(fvec3) Load 48(c3)
+ 253: 35(ResType) ImageSparseSampleExplicitLod 249 250 Grad 251 252
+ 254: 11(fvec4) CompositeExtract 253 1
+ Store 13(texel) 254
+ 255: 6(int) CompositeExtract 253 0
+ 256: 6(int) Load 8(resident)
+ 257: 6(int) BitwiseOr 256 255
+ Store 8(resident) 257
+ 262: 259 Load 261(sCubeShadow)
+ 263: 11(fvec4) Load 89(c4)
+ 264: 46(fvec3) Load 48(c3)
+ 265: 46(fvec3) Load 48(c3)
+ 266: 74(ptr) AccessChain 13(texel) 119
+ 267: 10(float) CompositeExtract 263 3
+ 268: 77(ResType) ImageSparseSampleDrefExplicitLod 262 263 267 Grad 264 265
+ 269: 10(float) CompositeExtract 268 1
+ Store 266 269
+ 270: 6(int) CompositeExtract 268 0
+ 271: 6(int) Load 8(resident)
+ 272: 6(int) BitwiseOr 271 270
+ Store 8(resident) 272
+ 273: 106 Load 108(usCubeArray)
+ 274: 11(fvec4) Load 89(c4)
+ 275: 46(fvec3) Load 48(c3)
+ 276: 46(fvec3) Load 48(c3)
+ 277:111(ResType) ImageSparseSampleExplicitLod 273 274 Grad 275 276
+ 278: 21(ivec4) CompositeExtract 277 1
+ Store 23(utexel) 278
+ 279: 6(int) CompositeExtract 277 0
+ 280: 6(int) Load 8(resident)
+ 281: 6(int) BitwiseOr 280 279
+ Store 8(resident) 281
+ 282: 27 Load 29(s2D)
+ 283: 31(fvec2) Load 33(c2)
+ 284: 31(fvec2) Load 33(c2)
+ 285: 31(fvec2) Load 33(c2)
+ 286: 35(ResType) ImageSparseSampleExplicitLod 282 283 Grad ConstOffset 284 285 158
+ 287: 11(fvec4) CompositeExtract 286 1
+ Store 13(texel) 287
+ 288: 6(int) CompositeExtract 286 0
+ 289: 6(int) Load 8(resident)
+ 290: 6(int) BitwiseOr 289 288
+ Store 8(resident) 290
+ 295: 292 Load 294(s2DRectShadow)
+ 296: 46(fvec3) Load 48(c3)
+ 297: 31(fvec2) Load 33(c2)
+ 298: 31(fvec2) Load 33(c2)
+ 300: 74(ptr) AccessChain 13(texel) 299
+ 301: 10(float) CompositeExtract 296 2
+ 302: 77(ResType) ImageSparseSampleDrefExplicitLod 295 296 301 Grad ConstOffset 297 298 232
+ 303: 10(float) CompositeExtract 302 1
+ Store 300 303
+ 304: 6(int) CompositeExtract 302 0
+ 305: 6(int) Load 8(resident)
+ 306: 6(int) BitwiseOr 305 304
+ Store 8(resident) 306
+ 307: 226 Load 228(is2DArray)
+ 308: 46(fvec3) Load 48(c3)
+ 309: 31(fvec2) Load 33(c2)
+ 310: 31(fvec2) Load 33(c2)
+ 312: 62(ResType) ImageSparseSampleExplicitLod 307 308 Grad ConstOffset 309 310 311
+ 313: 16(ivec4) CompositeExtract 312 1
+ Store 18(itexel) 313
+ 314: 6(int) CompositeExtract 312 0
+ 315: 6(int) Load 8(resident)
+ 316: 6(int) BitwiseOr 315 314
+ Store 8(resident) 316
+ 317: 27 Load 29(s2D)
+ 318: 31(fvec2) Load 33(c2)
+ 319: 35(ResType) ImageSparseGather 317 318 9
+ 320: 11(fvec4) CompositeExtract 319 1
+ Store 13(texel) 320
+ 321: 6(int) CompositeExtract 319 0
+ 322: 6(int) Load 8(resident)
+ 323: 6(int) BitwiseOr 322 321
+ Store 8(resident) 323
+ 324: 226 Load 228(is2DArray)
+ 325: 46(fvec3) Load 48(c3)
+ 326: 62(ResType) ImageSparseGather 324 325 130
+ 327: 16(ivec4) CompositeExtract 326 1
+ Store 18(itexel) 327
+ 328: 6(int) CompositeExtract 326 0
+ 329: 6(int) Load 8(resident)
+ 330: 6(int) BitwiseOr 329 328
+ Store 8(resident) 330
+ 331: 152 Load 154(s2DArrayShadow)
+ 332: 46(fvec3) Load 48(c3)
+ 333: 35(ResType) ImageSparseDrefGather 331 332 50
+ 334: 11(fvec4) CompositeExtract 333 1
+ Store 13(texel) 334
+ 335: 6(int) CompositeExtract 333 0
+ 336: 6(int) Load 8(resident)
+ 337: 6(int) BitwiseOr 336 335
+ Store 8(resident) 337
+ 338: 27 Load 29(s2D)
+ 339: 31(fvec2) Load 33(c2)
+ 341: 35(ResType) ImageSparseGather 338 339 9 ConstOffset 340
+ 342: 11(fvec4) CompositeExtract 341 1
+ Store 13(texel) 342
+ 343: 6(int) CompositeExtract 341 0
+ 344: 6(int) Load 8(resident)
+ 345: 6(int) BitwiseOr 344 343
+ Store 8(resident) 345
+ 346: 226 Load 228(is2DArray)
+ 347: 46(fvec3) Load 48(c3)
+ 348: 62(ResType) ImageSparseGather 346 347 130 ConstOffset 158
+ 349: 16(ivec4) CompositeExtract 348 1
+ Store 18(itexel) 349
+ 350: 6(int) CompositeExtract 348 0
+ 351: 6(int) Load 8(resident)
+ 352: 6(int) BitwiseOr 351 350
+ Store 8(resident) 352
+ 353: 292 Load 294(s2DRectShadow)
+ 354: 31(fvec2) Load 33(c2)
+ 355: 35(ResType) ImageSparseDrefGather 353 354 50 ConstOffset 241
+ 356: 11(fvec4) CompositeExtract 355 1
+ Store 13(texel) 356
+ 357: 6(int) CompositeExtract 355 0
+ 358: 6(int) Load 8(resident)
+ 359: 6(int) BitwiseOr 358 357
+ Store 8(resident) 359
+ 360: 27 Load 29(s2D)
+ 361: 31(fvec2) Load 33(c2)
+ 366: 363 Load 365(offsets)
+ 367: 35(ResType) ImageSparseGather 360 361 9 ConstOffsets 366
+ 368: 11(fvec4) CompositeExtract 367 1
+ Store 13(texel) 368
+ 369: 6(int) CompositeExtract 367 0
+ 370: 6(int) Load 8(resident)
+ 371: 6(int) BitwiseOr 370 369
+ Store 8(resident) 371
+ 372: 226 Load 228(is2DArray)
+ 373: 46(fvec3) Load 48(c3)
+ 374: 363 Load 365(offsets)
+ 375: 62(ResType) ImageSparseGather 372 373 130 ConstOffsets 374
+ 376: 16(ivec4) CompositeExtract 375 1
+ Store 18(itexel) 376
+ 377: 6(int) CompositeExtract 375 0
+ 378: 6(int) Load 8(resident)
+ 379: 6(int) BitwiseOr 378 377
+ Store 8(resident) 379
+ 380: 292 Load 294(s2DRectShadow)
+ 381: 31(fvec2) Load 33(c2)
+ 382: 363 Load 365(offsets)
+ 383: 35(ResType) ImageSparseDrefGather 380 381 50 ConstOffsets 382
+ 384: 11(fvec4) CompositeExtract 383 1
+ Store 13(texel) 384
+ 385: 6(int) CompositeExtract 383 0
+ 386: 6(int) Load 8(resident)
+ 387: 6(int) BitwiseOr 386 385
+ Store 8(resident) 387
+ 391: 388 Load 390(i2D)
+ 394: 143(ivec2) Load 393(ic2)
+ 395: 35(ResType) ImageSparseRead 391 394
+ 396: 11(fvec4) CompositeExtract 395 1
+ Store 13(texel) 396
+ 397: 6(int) CompositeExtract 395 0
+ 398: 6(int) Load 8(resident)
+ 399: 6(int) BitwiseOr 398 397
+ Store 8(resident) 399
+ 403: 400 Load 402(ii3D)
+ 406: 129(ivec3) Load 405(ic3)
+ 407: 62(ResType) ImageSparseRead 403 406
+ 408: 16(ivec4) CompositeExtract 407 1
+ Store 18(itexel) 408
+ 409: 6(int) CompositeExtract 407 0
+ 410: 6(int) Load 8(resident)
+ 411: 6(int) BitwiseOr 410 409
+ Store 8(resident) 411
+ 415: 412 Load 414(i2DMS)
+ 416: 143(ivec2) Load 393(ic2)
+ 417: 35(ResType) ImageSparseRead 415 416 Sample 144
+ 418: 11(fvec4) CompositeExtract 417 1
+ Store 13(texel) 418
+ 419: 6(int) CompositeExtract 417 0
+ 420: 6(int) Load 8(resident)
+ 421: 6(int) BitwiseOr 420 419
+ Store 8(resident) 421
+ 425: 6(int) Load 8(resident)
+ 427: 426(bool) ImageSparseTexelsResident 425
+ SelectionMerge 429 None
+ BranchConditional 427 428 431
+ 428: Label
+ 430: 11(fvec4) Load 13(texel)
+ Store 424 430
+ Branch 429
+ 431: Label
+ 432: 16(ivec4) Load 18(itexel)
+ 433: 11(fvec4) ConvertSToF 432
+ 434: 21(ivec4) Load 23(utexel)
+ 435: 11(fvec4) ConvertUToF 434
+ 436: 11(fvec4) FAdd 433 435
+ Store 424 436
+ Branch 429
+ 429: Label
+ 437: 11(fvec4) Load 424
+ Store 423(outColor) 437
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.sparseTextureClamp.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.sparseTextureClamp.frag.out
new file mode 100644
index 00000000000..1922ac12548
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.sparseTextureClamp.frag.out
@@ -0,0 +1,471 @@
+spv.sparseTextureClamp.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 360
+
+ Capability Shader
+ Capability SampledRect
+ Capability SparseResidency
+ Capability MinLod
+ Capability SampledCubeArray
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 33 36 51 95 345
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ SourceExtension "GL_ARB_sparse_texture_clamp"
+ Name 4 "main"
+ Name 8 "resident"
+ Name 13 "texel"
+ Name 18 "itexel"
+ Name 23 "utexel"
+ Name 29 "s2D"
+ Name 33 "c2"
+ Name 36 "lodClamp"
+ Name 38 "ResType"
+ Name 47 "s3D"
+ Name 51 "c3"
+ Name 63 "isCube"
+ Name 67 "ResType"
+ Name 76 "s2DShadow"
+ Name 83 "ResType"
+ Name 92 "sCubeArrayShadow"
+ Name 95 "c4"
+ Name 154 "us2DRect"
+ Name 161 "ResType"
+ Name 170 "s2DArrayShadow"
+ Name 218 "sCubeShadow"
+ Name 235 "usCubeArray"
+ Name 286 "s2DRectShadow"
+ Name 305 "is2DArray"
+ Name 345 "outColor"
+ Decorate 29(s2D) DescriptorSet 0
+ Decorate 47(s3D) DescriptorSet 0
+ Decorate 63(isCube) DescriptorSet 0
+ Decorate 76(s2DShadow) DescriptorSet 0
+ Decorate 92(sCubeArrayShadow) DescriptorSet 0
+ Decorate 154(us2DRect) DescriptorSet 0
+ Decorate 170(s2DArrayShadow) DescriptorSet 0
+ Decorate 218(sCubeShadow) DescriptorSet 0
+ Decorate 235(usCubeArray) DescriptorSet 0
+ Decorate 286(s2DRectShadow) DescriptorSet 0
+ Decorate 305(is2DArray) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 10: TypeFloat 32
+ 11: TypeVector 10(float) 4
+ 12: TypePointer Function 11(fvec4)
+ 14: 10(float) Constant 0
+ 15: 11(fvec4) ConstantComposite 14 14 14 14
+ 16: TypeVector 6(int) 4
+ 17: TypePointer Function 16(ivec4)
+ 19: 16(ivec4) ConstantComposite 9 9 9 9
+ 20: TypeInt 32 0
+ 21: TypeVector 20(int) 4
+ 22: TypePointer Function 21(ivec4)
+ 24: 20(int) Constant 0
+ 25: 21(ivec4) ConstantComposite 24 24 24 24
+ 26: TypeImage 10(float) 2D sampled format:Unknown
+ 27: TypeSampledImage 26
+ 28: TypePointer UniformConstant 27
+ 29(s2D): 28(ptr) Variable UniformConstant
+ 31: TypeVector 10(float) 2
+ 32: TypePointer Input 31(fvec2)
+ 33(c2): 32(ptr) Variable Input
+ 35: TypePointer Input 10(float)
+ 36(lodClamp): 35(ptr) Variable Input
+ 38(ResType): TypeStruct 6(int) 11(fvec4)
+ 44: TypeImage 10(float) 3D sampled format:Unknown
+ 45: TypeSampledImage 44
+ 46: TypePointer UniformConstant 45
+ 47(s3D): 46(ptr) Variable UniformConstant
+ 49: TypeVector 10(float) 3
+ 50: TypePointer Input 49(fvec3)
+ 51(c3): 50(ptr) Variable Input
+ 54: 10(float) Constant 1073741824
+ 60: TypeImage 6(int) Cube sampled format:Unknown
+ 61: TypeSampledImage 60
+ 62: TypePointer UniformConstant 61
+ 63(isCube): 62(ptr) Variable UniformConstant
+ 67(ResType): TypeStruct 6(int) 16(ivec4)
+ 73: TypeImage 10(float) 2D depth sampled format:Unknown
+ 74: TypeSampledImage 73
+ 75: TypePointer UniformConstant 74
+ 76(s2DShadow): 75(ptr) Variable UniformConstant
+ 80: TypePointer Function 10(float)
+ 83(ResType): TypeStruct 6(int) 10(float)
+ 89: TypeImage 10(float) Cube depth array sampled format:Unknown
+ 90: TypeSampledImage 89
+ 91: TypePointer UniformConstant 90
+92(sCubeArrayShadow): 91(ptr) Variable UniformConstant
+ 94: TypePointer Input 11(fvec4)
+ 95(c4): 94(ptr) Variable Input
+ 97: 10(float) Constant 1065353216
+ 142: TypeVector 6(int) 3
+ 143: 6(int) Constant 2
+ 144: 142(ivec3) ConstantComposite 143 143 143
+ 151: TypeImage 20(int) Rect sampled format:Unknown
+ 152: TypeSampledImage 151
+ 153: TypePointer UniformConstant 152
+ 154(us2DRect): 153(ptr) Variable UniformConstant
+ 157: TypeVector 6(int) 2
+ 158: 6(int) Constant 3
+ 159: 157(ivec2) ConstantComposite 158 158
+ 161(ResType): TypeStruct 6(int) 21(ivec4)
+ 167: TypeImage 10(float) 2D depth array sampled format:Unknown
+ 168: TypeSampledImage 167
+ 169: TypePointer UniformConstant 168
+170(s2DArrayShadow): 169(ptr) Variable UniformConstant
+ 173: 6(int) Constant 5
+ 174: 157(ivec2) ConstantComposite 173 173
+ 176: 20(int) Constant 2
+ 215: TypeImage 10(float) Cube depth sampled format:Unknown
+ 216: TypeSampledImage 215
+ 217: TypePointer UniformConstant 216
+218(sCubeShadow): 217(ptr) Variable UniformConstant
+ 224: 20(int) Constant 1
+ 232: TypeImage 20(int) Cube array sampled format:Unknown
+ 233: TypeSampledImage 232
+ 234: TypePointer UniformConstant 233
+235(usCubeArray): 234(ptr) Variable UniformConstant
+ 283: TypeImage 10(float) Rect depth sampled format:Unknown
+ 284: TypeSampledImage 283
+ 285: TypePointer UniformConstant 284
+286(s2DRectShadow): 285(ptr) Variable UniformConstant
+ 291: 6(int) Constant 6
+ 292: 157(ivec2) ConstantComposite 291 291
+ 294: 20(int) Constant 3
+ 302: TypeImage 6(int) 2D array sampled format:Unknown
+ 303: TypeSampledImage 302
+ 304: TypePointer UniformConstant 303
+ 305(is2DArray): 304(ptr) Variable UniformConstant
+ 310: 157(ivec2) ConstantComposite 143 143
+ 344: TypePointer Output 11(fvec4)
+ 345(outColor): 344(ptr) Variable Output
+ 348: TypeBool
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(resident): 7(ptr) Variable Function
+ 13(texel): 12(ptr) Variable Function
+ 18(itexel): 17(ptr) Variable Function
+ 23(utexel): 22(ptr) Variable Function
+ 346: 12(ptr) Variable Function
+ Store 8(resident) 9
+ Store 13(texel) 15
+ Store 18(itexel) 19
+ Store 23(utexel) 25
+ 30: 27 Load 29(s2D)
+ 34: 31(fvec2) Load 33(c2)
+ 37: 10(float) Load 36(lodClamp)
+ 39: 38(ResType) ImageSparseSampleImplicitLod 30 34 MinLod 37
+ 40: 11(fvec4) CompositeExtract 39 1
+ Store 13(texel) 40
+ 41: 6(int) CompositeExtract 39 0
+ 42: 6(int) Load 8(resident)
+ 43: 6(int) BitwiseOr 42 41
+ Store 8(resident) 43
+ 48: 45 Load 47(s3D)
+ 52: 49(fvec3) Load 51(c3)
+ 53: 10(float) Load 36(lodClamp)
+ 55: 38(ResType) ImageSparseSampleImplicitLod 48 52 Bias MinLod 54 53
+ 56: 11(fvec4) CompositeExtract 55 1
+ Store 13(texel) 56
+ 57: 6(int) CompositeExtract 55 0
+ 58: 6(int) Load 8(resident)
+ 59: 6(int) BitwiseOr 58 57
+ Store 8(resident) 59
+ 64: 61 Load 63(isCube)
+ 65: 49(fvec3) Load 51(c3)
+ 66: 10(float) Load 36(lodClamp)
+ 68: 67(ResType) ImageSparseSampleImplicitLod 64 65 MinLod 66
+ 69: 16(ivec4) CompositeExtract 68 1
+ Store 18(itexel) 69
+ 70: 6(int) CompositeExtract 68 0
+ 71: 6(int) Load 8(resident)
+ 72: 6(int) BitwiseOr 71 70
+ Store 8(resident) 72
+ 77: 74 Load 76(s2DShadow)
+ 78: 49(fvec3) Load 51(c3)
+ 79: 10(float) Load 36(lodClamp)
+ 81: 80(ptr) AccessChain 13(texel) 24
+ 82: 10(float) CompositeExtract 78 2
+ 84: 83(ResType) ImageSparseSampleDrefImplicitLod 77 78 82 MinLod 79
+ 85: 10(float) CompositeExtract 84 1
+ Store 81 85
+ 86: 6(int) CompositeExtract 84 0
+ 87: 6(int) Load 8(resident)
+ 88: 6(int) BitwiseOr 87 86
+ Store 8(resident) 88
+ 93: 90 Load 92(sCubeArrayShadow)
+ 96: 11(fvec4) Load 95(c4)
+ 98: 10(float) Load 36(lodClamp)
+ 99: 80(ptr) AccessChain 13(texel) 24
+ 100: 83(ResType) ImageSparseSampleDrefImplicitLod 93 96 97 MinLod 98
+ 101: 10(float) CompositeExtract 100 1
+ Store 99 101
+ 102: 6(int) CompositeExtract 100 0
+ 103: 6(int) Load 8(resident)
+ 104: 6(int) BitwiseOr 103 102
+ Store 8(resident) 104
+ 105: 27 Load 29(s2D)
+ 106: 31(fvec2) Load 33(c2)
+ 107: 10(float) Load 36(lodClamp)
+ 108: 11(fvec4) ImageSampleImplicitLod 105 106 MinLod 107
+ 109: 11(fvec4) Load 13(texel)
+ 110: 11(fvec4) FAdd 109 108
+ Store 13(texel) 110
+ 111: 45 Load 47(s3D)
+ 112: 49(fvec3) Load 51(c3)
+ 113: 10(float) Load 36(lodClamp)
+ 114: 11(fvec4) ImageSampleImplicitLod 111 112 Bias MinLod 54 113
+ 115: 11(fvec4) Load 13(texel)
+ 116: 11(fvec4) FAdd 115 114
+ Store 13(texel) 116
+ 117: 61 Load 63(isCube)
+ 118: 49(fvec3) Load 51(c3)
+ 119: 10(float) Load 36(lodClamp)
+ 120: 16(ivec4) ImageSampleImplicitLod 117 118 MinLod 119
+ 121: 16(ivec4) Load 18(itexel)
+ 122: 16(ivec4) IAdd 121 120
+ Store 18(itexel) 122
+ 123: 74 Load 76(s2DShadow)
+ 124: 49(fvec3) Load 51(c3)
+ 125: 10(float) Load 36(lodClamp)
+ 126: 10(float) CompositeExtract 124 2
+ 127: 10(float) ImageSampleDrefImplicitLod 123 124 126 MinLod 125
+ 128: 80(ptr) AccessChain 13(texel) 24
+ 129: 10(float) Load 128
+ 130: 10(float) FAdd 129 127
+ 131: 80(ptr) AccessChain 13(texel) 24
+ Store 131 130
+ 132: 90 Load 92(sCubeArrayShadow)
+ 133: 11(fvec4) Load 95(c4)
+ 134: 10(float) Load 36(lodClamp)
+ 135: 10(float) ImageSampleDrefImplicitLod 132 133 97 MinLod 134
+ 136: 80(ptr) AccessChain 13(texel) 24
+ 137: 10(float) Load 136
+ 138: 10(float) FAdd 137 135
+ 139: 80(ptr) AccessChain 13(texel) 24
+ Store 139 138
+ 140: 45 Load 47(s3D)
+ 141: 49(fvec3) Load 51(c3)
+ 145: 10(float) Load 36(lodClamp)
+ 146: 38(ResType) ImageSparseSampleImplicitLod 140 141 Bias ConstOffset MinLod 54 144 145
+ 147: 11(fvec4) CompositeExtract 146 1
+ Store 13(texel) 147
+ 148: 6(int) CompositeExtract 146 0
+ 149: 6(int) Load 8(resident)
+ 150: 6(int) BitwiseOr 149 148
+ Store 8(resident) 150
+ 155: 152 Load 154(us2DRect)
+ 156: 31(fvec2) Load 33(c2)
+ 160: 10(float) Load 36(lodClamp)
+ 162:161(ResType) ImageSparseSampleImplicitLod 155 156 ConstOffset MinLod 159 160
+ 163: 21(ivec4) CompositeExtract 162 1
+ Store 23(utexel) 163
+ 164: 6(int) CompositeExtract 162 0
+ 165: 6(int) Load 8(resident)
+ 166: 6(int) BitwiseOr 165 164
+ Store 8(resident) 166
+ 171: 168 Load 170(s2DArrayShadow)
+ 172: 11(fvec4) Load 95(c4)
+ 175: 10(float) Load 36(lodClamp)
+ 177: 80(ptr) AccessChain 13(texel) 176
+ 178: 10(float) CompositeExtract 172 3
+ 179: 83(ResType) ImageSparseSampleDrefImplicitLod 171 172 178 ConstOffset MinLod 174 175
+ 180: 10(float) CompositeExtract 179 1
+ Store 177 180
+ 181: 6(int) CompositeExtract 179 0
+ 182: 6(int) Load 8(resident)
+ 183: 6(int) BitwiseOr 182 181
+ Store 8(resident) 183
+ 184: 45 Load 47(s3D)
+ 185: 49(fvec3) Load 51(c3)
+ 186: 10(float) Load 36(lodClamp)
+ 187: 11(fvec4) ImageSampleImplicitLod 184 185 Bias ConstOffset MinLod 54 144 186
+ 188: 11(fvec4) Load 13(texel)
+ 189: 11(fvec4) FAdd 188 187
+ Store 13(texel) 189
+ 190: 152 Load 154(us2DRect)
+ 191: 31(fvec2) Load 33(c2)
+ 192: 10(float) Load 36(lodClamp)
+ 193: 21(ivec4) ImageSampleImplicitLod 190 191 ConstOffset MinLod 159 192
+ 194: 21(ivec4) Load 23(utexel)
+ 195: 21(ivec4) IAdd 194 193
+ Store 23(utexel) 195
+ 196: 168 Load 170(s2DArrayShadow)
+ 197: 11(fvec4) Load 95(c4)
+ 198: 10(float) Load 36(lodClamp)
+ 199: 10(float) CompositeExtract 197 3
+ 200: 10(float) ImageSampleDrefImplicitLod 196 197 199 ConstOffset MinLod 174 198
+ 201: 80(ptr) AccessChain 13(texel) 176
+ 202: 10(float) Load 201
+ 203: 10(float) FAdd 202 200
+ 204: 80(ptr) AccessChain 13(texel) 176
+ Store 204 203
+ 205: 45 Load 47(s3D)
+ 206: 49(fvec3) Load 51(c3)
+ 207: 49(fvec3) Load 51(c3)
+ 208: 49(fvec3) Load 51(c3)
+ 209: 10(float) Load 36(lodClamp)
+ 210: 38(ResType) ImageSparseSampleExplicitLod 205 206 Grad MinLod 207 208 209
+ 211: 11(fvec4) CompositeExtract 210 1
+ Store 13(texel) 211
+ 212: 6(int) CompositeExtract 210 0
+ 213: 6(int) Load 8(resident)
+ 214: 6(int) BitwiseOr 213 212
+ Store 8(resident) 214
+ 219: 216 Load 218(sCubeShadow)
+ 220: 11(fvec4) Load 95(c4)
+ 221: 49(fvec3) Load 51(c3)
+ 222: 49(fvec3) Load 51(c3)
+ 223: 10(float) Load 36(lodClamp)
+ 225: 80(ptr) AccessChain 13(texel) 224
+ 226: 10(float) CompositeExtract 220 3
+ 227: 83(ResType) ImageSparseSampleDrefExplicitLod 219 220 226 Grad MinLod 221 222 223
+ 228: 10(float) CompositeExtract 227 1
+ Store 225 228
+ 229: 6(int) CompositeExtract 227 0
+ 230: 6(int) Load 8(resident)
+ 231: 6(int) BitwiseOr 230 229
+ Store 8(resident) 231
+ 236: 233 Load 235(usCubeArray)
+ 237: 11(fvec4) Load 95(c4)
+ 238: 49(fvec3) Load 51(c3)
+ 239: 49(fvec3) Load 51(c3)
+ 240: 10(float) Load 36(lodClamp)
+ 241:161(ResType) ImageSparseSampleExplicitLod 236 237 Grad MinLod 238 239 240
+ 242: 21(ivec4) CompositeExtract 241 1
+ Store 23(utexel) 242
+ 243: 6(int) CompositeExtract 241 0
+ 244: 6(int) Load 8(resident)
+ 245: 6(int) BitwiseOr 244 243
+ Store 8(resident) 245
+ 246: 45 Load 47(s3D)
+ 247: 49(fvec3) Load 51(c3)
+ 248: 49(fvec3) Load 51(c3)
+ 249: 49(fvec3) Load 51(c3)
+ 250: 10(float) Load 36(lodClamp)
+ 251: 11(fvec4) ImageSampleExplicitLod 246 247 Grad MinLod 248 249 250
+ 252: 11(fvec4) Load 13(texel)
+ 253: 11(fvec4) FAdd 252 251
+ Store 13(texel) 253
+ 254: 216 Load 218(sCubeShadow)
+ 255: 11(fvec4) Load 95(c4)
+ 256: 49(fvec3) Load 51(c3)
+ 257: 49(fvec3) Load 51(c3)
+ 258: 10(float) Load 36(lodClamp)
+ 259: 10(float) CompositeExtract 255 3
+ 260: 10(float) ImageSampleDrefExplicitLod 254 255 259 Grad MinLod 256 257 258
+ 261: 80(ptr) AccessChain 13(texel) 224
+ 262: 10(float) Load 261
+ 263: 10(float) FAdd 262 260
+ 264: 80(ptr) AccessChain 13(texel) 224
+ Store 264 263
+ 265: 233 Load 235(usCubeArray)
+ 266: 11(fvec4) Load 95(c4)
+ 267: 49(fvec3) Load 51(c3)
+ 268: 49(fvec3) Load 51(c3)
+ 269: 10(float) Load 36(lodClamp)
+ 270: 21(ivec4) ImageSampleExplicitLod 265 266 Grad MinLod 267 268 269
+ 271: 21(ivec4) Load 23(utexel)
+ 272: 21(ivec4) IAdd 271 270
+ Store 23(utexel) 272
+ 273: 27 Load 29(s2D)
+ 274: 31(fvec2) Load 33(c2)
+ 275: 31(fvec2) Load 33(c2)
+ 276: 31(fvec2) Load 33(c2)
+ 277: 10(float) Load 36(lodClamp)
+ 278: 38(ResType) ImageSparseSampleExplicitLod 273 274 Grad ConstOffset MinLod 275 276 174 277
+ 279: 11(fvec4) CompositeExtract 278 1
+ Store 13(texel) 279
+ 280: 6(int) CompositeExtract 278 0
+ 281: 6(int) Load 8(resident)
+ 282: 6(int) BitwiseOr 281 280
+ Store 8(resident) 282
+ 287: 284 Load 286(s2DRectShadow)
+ 288: 49(fvec3) Load 51(c3)
+ 289: 31(fvec2) Load 33(c2)
+ 290: 31(fvec2) Load 33(c2)
+ 293: 10(float) Load 36(lodClamp)
+ 295: 80(ptr) AccessChain 13(texel) 294
+ 296: 10(float) CompositeExtract 288 2
+ 297: 83(ResType) ImageSparseSampleDrefExplicitLod 287 288 296 Grad ConstOffset MinLod 289 290 292 293
+ 298: 10(float) CompositeExtract 297 1
+ Store 295 298
+ 299: 6(int) CompositeExtract 297 0
+ 300: 6(int) Load 8(resident)
+ 301: 6(int) BitwiseOr 300 299
+ Store 8(resident) 301
+ 306: 303 Load 305(is2DArray)
+ 307: 49(fvec3) Load 51(c3)
+ 308: 31(fvec2) Load 33(c2)
+ 309: 31(fvec2) Load 33(c2)
+ 311: 10(float) Load 36(lodClamp)
+ 312: 67(ResType) ImageSparseSampleExplicitLod 306 307 Grad ConstOffset MinLod 308 309 310 311
+ 313: 16(ivec4) CompositeExtract 312 1
+ Store 18(itexel) 313
+ 314: 6(int) CompositeExtract 312 0
+ 315: 6(int) Load 8(resident)
+ 316: 6(int) BitwiseOr 315 314
+ Store 8(resident) 316
+ 317: 27 Load 29(s2D)
+ 318: 31(fvec2) Load 33(c2)
+ 319: 31(fvec2) Load 33(c2)
+ 320: 31(fvec2) Load 33(c2)
+ 321: 10(float) Load 36(lodClamp)
+ 322: 11(fvec4) ImageSampleExplicitLod 317 318 Grad ConstOffset MinLod 319 320 174 321
+ 323: 11(fvec4) Load 13(texel)
+ 324: 11(fvec4) FAdd 323 322
+ Store 13(texel) 324
+ 325: 284 Load 286(s2DRectShadow)
+ 326: 49(fvec3) Load 51(c3)
+ 327: 31(fvec2) Load 33(c2)
+ 328: 31(fvec2) Load 33(c2)
+ 329: 10(float) Load 36(lodClamp)
+ 330: 10(float) CompositeExtract 326 2
+ 331: 10(float) ImageSampleDrefExplicitLod 325 326 330 Grad ConstOffset MinLod 327 328 292 329
+ 332: 80(ptr) AccessChain 13(texel) 294
+ 333: 10(float) Load 332
+ 334: 10(float) FAdd 333 331
+ 335: 80(ptr) AccessChain 13(texel) 294
+ Store 335 334
+ 336: 303 Load 305(is2DArray)
+ 337: 49(fvec3) Load 51(c3)
+ 338: 31(fvec2) Load 33(c2)
+ 339: 31(fvec2) Load 33(c2)
+ 340: 10(float) Load 36(lodClamp)
+ 341: 16(ivec4) ImageSampleExplicitLod 336 337 Grad ConstOffset MinLod 338 339 310 340
+ 342: 16(ivec4) Load 18(itexel)
+ 343: 16(ivec4) IAdd 342 341
+ Store 18(itexel) 343
+ 347: 6(int) Load 8(resident)
+ 349: 348(bool) ImageSparseTexelsResident 347
+ SelectionMerge 351 None
+ BranchConditional 349 350 353
+ 350: Label
+ 352: 11(fvec4) Load 13(texel)
+ Store 346 352
+ Branch 351
+ 353: Label
+ 354: 16(ivec4) Load 18(itexel)
+ 355: 11(fvec4) ConvertSToF 354
+ 356: 21(ivec4) Load 23(utexel)
+ 357: 11(fvec4) ConvertUToF 356
+ 358: 11(fvec4) FAdd 355 357
+ Store 346 358
+ Branch 351
+ 351: Label
+ 359: 11(fvec4) Load 346
+ Store 345(outColor) 359
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.specConstant.comp.out b/chromium/third_party/glslang/src/Test/baseResults/spv.specConstant.comp.out
new file mode 100644
index 00000000000..2f16f04d4a7
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.specConstant.comp.out
@@ -0,0 +1,55 @@
+spv.specConstant.comp
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked compute stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 27
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main"
+ ExecutionMode 4 LocalSize 32 32 1
+ Source GLSL 450
+ Name 4 "main"
+ Name 7 "bn"
+ MemberName 7(bn) 0 "a"
+ Name 9 "bi"
+ MemberDecorate 7(bn) 0 Offset 0
+ Decorate 7(bn) BufferBlock
+ Decorate 9(bi) DescriptorSet 0
+ Decorate 12 SpecId 18
+ Decorate 14 SpecId 19
+ Decorate 16 BuiltIn WorkgroupSize
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7(bn): TypeStruct 6(int)
+ 8: TypePointer Uniform 7(bn)
+ 9(bi): 8(ptr) Variable Uniform
+ 10: TypeInt 32 1
+ 11: 10(int) Constant 0
+ 12: 6(int) SpecConstant 32
+ 13: 6(int) Constant 32
+ 14: 6(int) SpecConstant 1
+ 15: TypeVector 6(int) 3
+ 16: 15(ivec3) SpecConstantComposite 12 13 14
+ 17: 6(int) Constant 0
+ 18: 6(int) SpecConstantOp 81 16 0
+ 19: 6(int) Constant 1
+ 20: 6(int) SpecConstantOp 81 16 1(GLSL.std.450)
+ 21: 6(int) SpecConstantOp 132 18 20
+ 22: 6(int) Constant 2
+ 23: 6(int) SpecConstantOp 81 16 2
+ 24: 6(int) SpecConstantOp 132 21 23
+ 25: TypePointer Uniform 6(int)
+ 4(main): 2 Function None 3
+ 5: Label
+ 26: 25(ptr) AccessChain 9(bi) 11
+ Store 26 24
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.specConstant.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.specConstant.vert.out
new file mode 100644
index 00000000000..fb7c70a7309
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.specConstant.vert.out
@@ -0,0 +1,137 @@
+spv.specConstant.vert
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 81
+
+ Capability Shader
+ Capability Float64
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 20 22 28 53
+ Source GLSL 400
+ Name 4 "main"
+ Name 14 "foo(vf4[s1516];"
+ Name 13 "p"
+ Name 17 "builtin_spec_constant("
+ Name 20 "color"
+ Name 22 "ucol"
+ Name 28 "size"
+ Name 47 "param"
+ Name 53 "dupUcol"
+ Name 76 "result"
+ Decorate 9 SpecId 16
+ Decorate 30 SpecId 17
+ Decorate 34 SpecId 22
+ Decorate 39 SpecId 19
+ Decorate 40 SpecId 18
+ Decorate 50 SpecId 116
+ Decorate 60 SpecId 117
+ Decorate 63 SpecId 122
+ Decorate 67 SpecId 119
+ Decorate 68 SpecId 118
+ Decorate 77 SpecId 24
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 1
+ 9: 8(int) SpecConstant 5
+ 10: TypeArray 7(fvec4) 9
+ 11: TypePointer Function 10
+ 12: TypeFunction 2 11(ptr)
+ 16: TypeFunction 8(int)
+ 19: TypePointer Output 7(fvec4)
+ 20(color): 19(ptr) Variable Output
+ 21: TypePointer Input 10
+ 22(ucol): 21(ptr) Variable Input
+ 23: 8(int) Constant 2
+ 24: TypePointer Input 7(fvec4)
+ 27: TypePointer Output 8(int)
+ 28(size): 27(ptr) Variable Output
+ 29: TypeBool
+ 30: 29(bool) SpecConstantTrue
+ 33: TypeInt 32 0
+ 34: 33(int) SpecConstant 2
+ 38: TypeFloat 64
+ 39: 38(float) SpecConstant 1413754136 1074340347
+ 40: 6(float) SpecConstant 1078523331
+ 50: 8(int) SpecConstant 12
+ 51: TypeArray 7(fvec4) 50
+ 52: TypePointer Input 51
+ 53(dupUcol): 52(ptr) Variable Input
+ 60: 29(bool) SpecConstantTrue
+ 63: 33(int) SpecConstant 2
+ 67: 38(float) SpecConstant 1413754136 1074340347
+ 68: 6(float) SpecConstant 1078523331
+ 75: TypePointer Function 8(int)
+ 77: 8(int) SpecConstant 8
+ 4(main): 2 Function None 3
+ 5: Label
+ 47(param): 11(ptr) Variable Function
+ 25: 24(ptr) AccessChain 22(ucol) 23
+ 26: 7(fvec4) Load 25
+ Store 20(color) 26
+ Store 28(size) 9
+ SelectionMerge 32 None
+ BranchConditional 30 31 32
+ 31: Label
+ 35: 6(float) ConvertUToF 34
+ 36: 7(fvec4) Load 20(color)
+ 37: 7(fvec4) VectorTimesScalar 36 35
+ Store 20(color) 37
+ Branch 32
+ 32: Label
+ 41: 38(float) FConvert 40
+ 42: 38(float) FDiv 39 41
+ 43: 6(float) FConvert 42
+ 44: 7(fvec4) Load 20(color)
+ 45: 7(fvec4) CompositeConstruct 43 43 43 43
+ 46: 7(fvec4) FAdd 44 45
+ Store 20(color) 46
+ 48: 10 Load 22(ucol)
+ Store 47(param) 48
+ 49: 2 FunctionCall 14(foo(vf4[s1516];) 47(param)
+ Return
+ FunctionEnd
+14(foo(vf4[s1516];): 2 Function None 12
+ 13(p): 11(ptr) FunctionParameter
+ 15: Label
+ 54: 24(ptr) AccessChain 53(dupUcol) 23
+ 55: 7(fvec4) Load 54
+ 56: 7(fvec4) Load 20(color)
+ 57: 7(fvec4) FAdd 56 55
+ Store 20(color) 57
+ 58: 8(int) Load 28(size)
+ 59: 8(int) IAdd 58 50
+ Store 28(size) 59
+ SelectionMerge 62 None
+ BranchConditional 60 61 62
+ 61: Label
+ 64: 6(float) ConvertUToF 63
+ 65: 7(fvec4) Load 20(color)
+ 66: 7(fvec4) VectorTimesScalar 65 64
+ Store 20(color) 66
+ Branch 62
+ 62: Label
+ 69: 38(float) FConvert 68
+ 70: 38(float) FDiv 67 69
+ 71: 6(float) FConvert 70
+ 72: 7(fvec4) Load 20(color)
+ 73: 7(fvec4) CompositeConstruct 71 71 71 71
+ 74: 7(fvec4) FAdd 72 73
+ Store 20(color) 74
+ Return
+ FunctionEnd
+17(builtin_spec_constant(): 8(int) Function None 16
+ 18: Label
+ 76(result): 75(ptr) Variable Function
+ Store 76(result) 77
+ 78: 8(int) Load 76(result)
+ ReturnValue 78
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.specConstantComposite.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.specConstantComposite.vert.out
new file mode 100644
index 00000000000..c4585e40da1
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.specConstantComposite.vert.out
@@ -0,0 +1,89 @@
+spv.specConstantComposite.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 43
+
+ Capability Shader
+ Capability Float64
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 27 42
+ Source GLSL 450
+ Name 4 "main"
+ Name 6 "refer_primary_spec_const("
+ Name 8 "refer_composite_spec_const("
+ Name 10 "refer_copmosite_dot_dereference("
+ Name 12 "refer_composite_bracket_dereference("
+ Name 16 "refer_spec_const_array_length("
+ Name 18 "declare_spec_const_in_func("
+ Name 27 "color"
+ Name 33 "len"
+ Name 42 "global_vec4_array_with_spec_length"
+ Decorate 21 SpecId 203
+ Decorate 28 SpecId 200
+ Decorate 37 SpecId 201
+ Decorate 39 SpecId 202
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 14: TypeInt 32 1
+ 15: TypeFunction 14(int)
+ 20: TypeBool
+ 21: 20(bool) SpecConstantTrue
+ 24: TypeFloat 32
+ 25: TypeVector 24(float) 4
+ 26: TypePointer Output 25(fvec4)
+ 27(color): 26(ptr) Variable Output
+ 28: 14(int) SpecConstant 3
+ 32: TypePointer Function 14(int)
+ 37: 24(float) SpecConstant 1078523331
+ 38: TypeFloat 64
+ 39: 38(float) SpecConstant 1413754136 1074340347
+ 40: TypeArray 25(fvec4) 28
+ 41: TypePointer Input 40
+42(global_vec4_array_with_spec_length): 41(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ Return
+ FunctionEnd
+6(refer_primary_spec_const(): 2 Function None 3
+ 7: Label
+ SelectionMerge 23 None
+ BranchConditional 21 22 23
+ 22: Label
+ 29: 24(float) ConvertSToF 28
+ 30: 25(fvec4) Load 27(color)
+ 31: 25(fvec4) VectorTimesScalar 30 29
+ Store 27(color) 31
+ Branch 23
+ 23: Label
+ Return
+ FunctionEnd
+8(refer_composite_spec_const(): 2 Function None 3
+ 9: Label
+ Return
+ FunctionEnd
+10(refer_copmosite_dot_dereference(): 2 Function None 3
+ 11: Label
+ Return
+ FunctionEnd
+12(refer_composite_bracket_dereference(): 2 Function None 3
+ 13: Label
+ Return
+ FunctionEnd
+16(refer_spec_const_array_length(): 14(int) Function None 15
+ 17: Label
+ 33(len): 32(ptr) Variable Function
+ Store 33(len) 28
+ 34: 14(int) Load 33(len)
+ ReturnValue 34
+ FunctionEnd
+18(declare_spec_const_in_func(): 2 Function None 3
+ 19: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.specConstantOperations.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.specConstantOperations.vert.out
new file mode 100644
index 00000000000..ea4c69a2d99
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.specConstantOperations.vert.out
@@ -0,0 +1,164 @@
+spv.specConstantOperations.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 131
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main"
+ Source GLSL 450
+ Name 4 "main"
+ Name 8 "non_const_array_size_from_spec_const("
+ Name 11 "i"
+ Name 27 "array"
+ Decorate 19 SpecId 201
+ Decorate 40 SpecId 200
+ Decorate 42 SpecId 202
+ Decorate 43 SpecId 203
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeFunction 6(int)
+ 10: TypePointer Function 6(int)
+ 12: 6(int) Constant 0
+ 19: 6(int) SpecConstant 10
+ 20: 6(int) Constant 2
+ 21: 6(int) SpecConstantOp 128 19 20
+ 22: TypeBool
+ 24: 6(int) SpecConstantOp 128 19 20
+ 25: TypeArray 6(int) 24
+ 26: TypePointer Function 25
+ 29: 6(int) Constant 1023
+ 32: 6(int) Constant 1
+ 34: 6(int) SpecConstantOp 128 19 32
+ 39: TypeFloat 32
+ 40: 39(float) SpecConstant 1078530010
+ 41: TypeInt 32 0
+ 42: 41(int) SpecConstant 100
+ 43: 6(int) SpecConstant 4294967286
+ 44: 41(int) Constant 0
+ 45: 22(bool) SpecConstantOp 171 19 44
+ 46: 22(bool) SpecConstantOp 171 42 44
+ 47: 6(int) SpecConstantOp 169 45 32 12
+ 48: 41(int) Constant 1
+ 49: 41(int) SpecConstantOp 169 45 48 44
+ 50: 41(int) SpecConstantOp 128 43 44
+ 51: 6(int) SpecConstantOp 128 42 44
+ 52: 6(int) SpecConstantOp 126 19
+ 53: 6(int) SpecConstantOp 200 19
+ 54: 6(int) SpecConstantOp 128 19 20
+ 55: 6(int) SpecConstantOp 128 19 20
+ 56: 6(int) Constant 3
+ 57: 6(int) SpecConstantOp 130 55 56
+ 58: 6(int) Constant 4
+ 59: 6(int) SpecConstantOp 130 54 58
+ 60: 6(int) SpecConstantOp 132 43 20
+ 61: 41(int) Constant 2
+ 62: 41(int) SpecConstantOp 132 42 61
+ 63: 6(int) Constant 5
+ 64: 6(int) SpecConstantOp 135 60 63
+ 65: 41(int) Constant 5
+ 66: 41(int) SpecConstantOp 134 62 65
+ 67: 6(int) SpecConstantOp 139 43 58
+ 68: 41(int) Constant 4
+ 69: 41(int) SpecConstantOp 137 42 68
+ 70: 6(int) SpecConstantOp 132 43 56
+ 71: 6(int) SpecConstantOp 135 70 63
+ 72: 6(int) Constant 10
+ 73: 6(int) SpecConstantOp 195 43 72
+ 74: 6(int) Constant 20
+ 75: 41(int) SpecConstantOp 194 42 74
+ 76: 6(int) SpecConstantOp 196 43 32
+ 77: 41(int) SpecConstantOp 196 42 20
+ 78: 6(int) Constant 256
+ 79: 6(int) SpecConstantOp 197 43 78
+ 80: 41(int) Constant 512
+ 81: 41(int) SpecConstantOp 198 42 80
+ 82: 22(bool) SpecConstantOp 177 19 43
+ 83: 22(bool) SpecConstantOp 170 42 42
+ 84: 22(bool) SpecConstantOp 173 19 43
+ 85: 6(int) Constant 30
+ 86: TypeVector 6(int) 4
+ 87: 86(ivec4) SpecConstantComposite 74 85 19 19
+ 88: 41(int) Constant 4294967295
+ 89: 41(int) Constant 4294967294
+ 90: TypeVector 41(int) 4
+ 91: 90(ivec4) SpecConstantComposite 42 42 88 89
+ 92: TypeVector 22(bool) 4
+ 93: 90(ivec4) ConstantComposite 44 44 44 44
+ 94: 92(bvec4) SpecConstantOp 171 87 93
+ 95: 92(bvec4) SpecConstantOp 171 91 93
+ 96: 86(ivec4) ConstantComposite 12 12 12 12
+ 97: 86(ivec4) ConstantComposite 32 32 32 32
+ 98: 86(ivec4) SpecConstantOp 169 94 97 96
+ 99: 90(ivec4) ConstantComposite 48 48 48 48
+ 100: 90(ivec4) SpecConstantOp 169 94 99 93
+ 101: 90(ivec4) SpecConstantOp 128 87 93
+ 102: 86(ivec4) SpecConstantOp 128 91 93
+ 103: 86(ivec4) SpecConstantOp 200 87
+ 104: 86(ivec4) SpecConstantOp 126 87
+ 105: 86(ivec4) ConstantComposite 20 20 20 20
+ 106: 86(ivec4) SpecConstantOp 128 87 105
+ 107: 86(ivec4) SpecConstantOp 128 87 105
+ 108: 86(ivec4) ConstantComposite 56 56 56 56
+ 109: 86(ivec4) SpecConstantOp 130 107 108
+ 110: 86(ivec4) ConstantComposite 58 58 58 58
+ 111: 86(ivec4) SpecConstantOp 130 109 110
+ 112: 86(ivec4) SpecConstantOp 132 87 105
+ 113: 86(ivec4) ConstantComposite 63 63 63 63
+ 114: 86(ivec4) SpecConstantOp 135 112 113
+ 115: 86(ivec4) SpecConstantOp 139 87 110
+ 116: 86(ivec4) ConstantComposite 72 72 72 72
+ 117: 86(ivec4) SpecConstantOp 195 87 116
+ 118: 86(ivec4) SpecConstantOp 196 87 105
+ 119: 6(int) Constant 1024
+ 120: 86(ivec4) ConstantComposite 119 119 119 119
+ 121: 86(ivec4) SpecConstantOp 197 87 120
+ 122: 41(int) Constant 2048
+ 123: 90(ivec4) ConstantComposite 122 122 122 122
+ 124: 90(ivec4) SpecConstantOp 198 91 123
+ 125: 6(int) SpecConstantOp 81 87 0
+ 126: TypeVector 6(int) 2
+ 127: 126(ivec2) SpecConstantOp 79 87 87 1(GLSL.std.450) 0
+ 128: TypeVector 6(int) 3
+ 129: 128(ivec3) SpecConstantOp 79 87 87 2 1(GLSL.std.450) 0
+ 130: 86(ivec4) SpecConstantOp 79 87 87 1(GLSL.std.450) 2 0 3
+ 4(main): 2 Function None 3
+ 5: Label
+ Return
+ FunctionEnd
+8(non_const_array_size_from_spec_const(): 6(int) Function None 7
+ 9: Label
+ 11(i): 10(ptr) Variable Function
+ 27(array): 26(ptr) Variable Function
+ Store 11(i) 12
+ Branch 13
+ 13: Label
+ LoopMerge 15 16 None
+ Branch 17
+ 17: Label
+ 18: 6(int) Load 11(i)
+ 23: 22(bool) SLessThan 18 21
+ BranchConditional 23 14 15
+ 14: Label
+ 28: 6(int) Load 11(i)
+ 30: 10(ptr) AccessChain 27(array) 28
+ Store 30 29
+ Branch 16
+ 16: Label
+ 31: 6(int) Load 11(i)
+ 33: 6(int) IAdd 31 32
+ Store 11(i) 33
+ Branch 13
+ 15: Label
+ 35: 10(ptr) AccessChain 27(array) 34
+ 36: 6(int) Load 35
+ ReturnValue 36
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.structAssignment.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.structAssignment.frag.out
new file mode 100755
index 00000000000..7c28e103c6b
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.structAssignment.frag.out
@@ -0,0 +1,93 @@
+spv.structAssignment.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 50
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 31 44
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 8 "lunarStruct1"
+ MemberName 8(lunarStruct1) 0 "i"
+ MemberName 8(lunarStruct1) 1 "f"
+ Name 9 "lunarStruct2"
+ MemberName 9(lunarStruct2) 0 "i"
+ MemberName 9(lunarStruct2) 1 "f"
+ MemberName 9(lunarStruct2) 2 "s1_1"
+ Name 10 "lunarStruct3"
+ MemberName 10(lunarStruct3) 0 "s2_1"
+ MemberName 10(lunarStruct3) 1 "i"
+ MemberName 10(lunarStruct3) 2 "f"
+ MemberName 10(lunarStruct3) 3 "s1_1"
+ Name 12 "foo3"
+ Name 22 "locals2"
+ Name 27 "foo2"
+ Name 31 "gl_FragColor"
+ Name 40 "samp2D"
+ Name 44 "coord"
+ Name 49 "foo"
+ Decorate 40(samp2D) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeFloat 32
+ 8(lunarStruct1): TypeStruct 6(int) 7(float)
+ 9(lunarStruct2): TypeStruct 6(int) 7(float) 8(lunarStruct1)
+10(lunarStruct3): TypeStruct 9(lunarStruct2) 6(int) 7(float) 8(lunarStruct1)
+ 11: TypePointer Private 10(lunarStruct3)
+ 12(foo3): 11(ptr) Variable Private
+ 13: 6(int) Constant 0
+ 14: TypePointer Private 6(int)
+ 17: TypeBool
+ 21: TypePointer Function 9(lunarStruct2)
+ 23: TypePointer Private 9(lunarStruct2)
+ 27(foo2): 23(ptr) Variable Private
+ 29: TypeVector 7(float) 4
+ 30: TypePointer Output 29(fvec4)
+31(gl_FragColor): 30(ptr) Variable Output
+ 32: 6(int) Constant 2
+ 33: 6(int) Constant 1
+ 34: TypePointer Function 7(float)
+ 37: TypeImage 7(float) 2D sampled format:Unknown
+ 38: TypeSampledImage 37
+ 39: TypePointer UniformConstant 38
+ 40(samp2D): 39(ptr) Variable UniformConstant
+ 42: TypeVector 7(float) 2
+ 43: TypePointer Input 42(fvec2)
+ 44(coord): 43(ptr) Variable Input
+ 48: TypePointer Private 8(lunarStruct1)
+ 49(foo): 48(ptr) Variable Private
+ 4(main): 2 Function None 3
+ 5: Label
+ 22(locals2): 21(ptr) Variable Function
+ 15: 14(ptr) AccessChain 12(foo3) 13 13
+ 16: 6(int) Load 15
+ 18: 17(bool) SGreaterThan 16 13
+ SelectionMerge 20 None
+ BranchConditional 18 19 26
+ 19: Label
+ 24: 23(ptr) AccessChain 12(foo3) 13
+ 25:9(lunarStruct2) Load 24
+ Store 22(locals2) 25
+ Branch 20
+ 26: Label
+ 28:9(lunarStruct2) Load 27(foo2)
+ Store 22(locals2) 28
+ Branch 20
+ 20: Label
+ 35: 34(ptr) AccessChain 22(locals2) 32 33
+ 36: 7(float) Load 35
+ 41: 38 Load 40(samp2D)
+ 45: 42(fvec2) Load 44(coord)
+ 46: 29(fvec4) ImageSampleImplicitLod 41 45
+ 47: 29(fvec4) VectorTimesScalar 46 36
+ Store 31(gl_FragColor) 47
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.structDeref.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.structDeref.frag.out
new file mode 100755
index 00000000000..78ebdc635f1
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.structDeref.frag.out
@@ -0,0 +1,191 @@
+spv.structDeref.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 123
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 61 99
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 8 "s0"
+ MemberName 8(s0) 0 "i"
+ Name 9 "s1"
+ MemberName 9(s1) 0 "i"
+ MemberName 9(s1) 1 "f"
+ MemberName 9(s1) 2 "s0_1"
+ Name 10 "s2"
+ MemberName 10(s2) 0 "i"
+ MemberName 10(s2) 1 "f"
+ MemberName 10(s2) 2 "s1_1"
+ Name 14 "s3"
+ MemberName 14(s3) 0 "s2_1"
+ MemberName 14(s3) 1 "i"
+ MemberName 14(s3) 2 "f"
+ MemberName 14(s3) 3 "s1_1"
+ Name 16 "foo3"
+ Name 27 "locals2"
+ Name 40 "fArray"
+ Name 46 "locals1Array"
+ Name 49 "foo1"
+ Name 53 "locals0"
+ Name 54 "s00"
+ MemberName 54(s00) 0 "s0_0"
+ Name 56 "locals00"
+ Name 61 "coord"
+ Name 71 "foo0"
+ Name 86 "foo00"
+ Name 99 "gl_FragColor"
+ Name 116 "samp2D"
+ Name 122 "foo2"
+ Decorate 116(samp2D) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeFloat 32
+ 8(s0): TypeStruct 6(int)
+ 9(s1): TypeStruct 6(int) 7(float) 8(s0)
+ 10(s2): TypeStruct 6(int) 7(float) 9(s1)
+ 11: TypeInt 32 0
+ 12: 11(int) Constant 12
+ 13: TypeArray 10(s2) 12
+ 14(s3): TypeStruct 13 6(int) 7(float) 9(s1)
+ 15: TypePointer Private 14(s3)
+ 16(foo3): 15(ptr) Variable Private
+ 17: 6(int) Constant 0
+ 18: 6(int) Constant 9
+ 19: TypePointer Private 6(int)
+ 22: TypeBool
+ 26: TypePointer Function 10(s2)
+ 28: 6(int) Constant 1
+ 29: 7(float) Constant 1065353216
+ 30: TypePointer Function 7(float)
+ 32: 6(int) Constant 2
+ 33: 8(s0) ConstantComposite 17
+ 34: 9(s1) ConstantComposite 17 29 33
+ 35: TypePointer Function 9(s1)
+ 37: 11(int) Constant 6
+ 38: TypeArray 7(float) 37
+ 39: TypePointer Function 38
+ 41: 7(float) Constant 0
+ 42: 38 ConstantComposite 41 41 41 41 41 41
+ 43: 11(int) Constant 10
+ 44: TypeArray 9(s1) 43
+ 45: TypePointer Function 44
+ 47: 6(int) Constant 6
+ 48: TypePointer Private 9(s1)
+ 49(foo1): 48(ptr) Variable Private
+ 52: TypePointer Function 8(s0)
+ 54(s00): TypeStruct 8(s0)
+ 55: TypePointer Function 54(s00)
+ 57: 54(s00) ConstantComposite 33
+ 59: TypeVector 7(float) 2
+ 60: TypePointer Input 59(fvec2)
+ 61(coord): 60(ptr) Variable Input
+ 62: 11(int) Constant 0
+ 63: TypePointer Input 7(float)
+ 67: 11(int) Constant 1
+ 70: TypePointer Private 8(s0)
+ 71(foo0): 70(ptr) Variable Private
+ 75: 7(float) Constant 1073741824
+ 76: 7(float) Constant 1077936128
+ 77: 7(float) Constant 1082130432
+ 78: 7(float) Constant 1084227584
+ 79: 38 ConstantComposite 41 29 75 76 77 78
+ 85: TypePointer Private 54(s00)
+ 86(foo00): 85(ptr) Variable Private
+ 88: TypePointer Function 6(int)
+ 91: 6(int) Constant 5
+ 97: TypeVector 7(float) 4
+ 98: TypePointer Output 97(fvec4)
+99(gl_FragColor): 98(ptr) Variable Output
+ 106: 6(int) Constant 3
+ 113: TypeImage 7(float) 2D sampled format:Unknown
+ 114: TypeSampledImage 113
+ 115: TypePointer UniformConstant 114
+ 116(samp2D): 115(ptr) Variable UniformConstant
+ 121: TypePointer Private 10(s2)
+ 122(foo2): 121(ptr) Variable Private
+ 4(main): 2 Function None 3
+ 5: Label
+ 27(locals2): 26(ptr) Variable Function
+ 40(fArray): 39(ptr) Variable Function
+46(locals1Array): 45(ptr) Variable Function
+ 53(locals0): 52(ptr) Variable Function
+ 56(locals00): 55(ptr) Variable Function
+ 20: 19(ptr) AccessChain 16(foo3) 17 18 17
+ 21: 6(int) Load 20
+ 23: 22(bool) SGreaterThan 21 17
+ SelectionMerge 25 None
+ BranchConditional 23 24 58
+ 24: Label
+ 31: 30(ptr) AccessChain 27(locals2) 28
+ Store 31 29
+ 36: 35(ptr) AccessChain 27(locals2) 32
+ Store 36 34
+ Store 40(fArray) 42
+ 50: 9(s1) Load 49(foo1)
+ 51: 35(ptr) AccessChain 46(locals1Array) 47
+ Store 51 50
+ Store 53(locals0) 33
+ Store 56(locals00) 57
+ Branch 25
+ 58: Label
+ 64: 63(ptr) AccessChain 61(coord) 62
+ 65: 7(float) Load 64
+ 66: 30(ptr) AccessChain 27(locals2) 28
+ Store 66 65
+ 68: 63(ptr) AccessChain 61(coord) 67
+ 69: 7(float) Load 68
+ 72: 8(s0) Load 71(foo0)
+ 73: 9(s1) CompositeConstruct 28 69 72
+ 74: 35(ptr) AccessChain 27(locals2) 32
+ Store 74 73
+ Store 40(fArray) 79
+ 80: 35(ptr) AccessChain 27(locals2) 32
+ 81: 9(s1) Load 80
+ 82: 35(ptr) AccessChain 46(locals1Array) 47
+ Store 82 81
+ 83: 70(ptr) AccessChain 49(foo1) 32
+ 84: 8(s0) Load 83
+ Store 53(locals0) 84
+ 87: 54(s00) Load 86(foo00)
+ Store 56(locals00) 87
+ Branch 25
+ 25: Label
+ 89: 88(ptr) AccessChain 53(locals0) 17
+ 90: 6(int) Load 89
+ 92: 22(bool) SGreaterThan 90 91
+ SelectionMerge 94 None
+ BranchConditional 92 93 94
+ 93: Label
+ 95: 52(ptr) AccessChain 56(locals00) 17
+ 96: 8(s0) Load 95
+ Store 53(locals0) 96
+ Branch 94
+ 94: Label
+ 100: 88(ptr) AccessChain 53(locals0) 17
+ 101: 6(int) Load 100
+ 102: 7(float) ConvertSToF 101
+ 103: 30(ptr) AccessChain 46(locals1Array) 47 28
+ 104: 7(float) Load 103
+ 105: 7(float) FAdd 102 104
+ 107: 30(ptr) AccessChain 40(fArray) 106
+ 108: 7(float) Load 107
+ 109: 7(float) FAdd 105 108
+ 110: 30(ptr) AccessChain 27(locals2) 32 28
+ 111: 7(float) Load 110
+ 112: 7(float) FAdd 109 111
+ 117: 114 Load 116(samp2D)
+ 118: 59(fvec2) Load 61(coord)
+ 119: 97(fvec4) ImageSampleImplicitLod 117 118
+ 120: 97(fvec4) VectorTimesScalar 119 112
+ Store 99(gl_FragColor) 120
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.structure.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.structure.frag.out
new file mode 100755
index 00000000000..8d91ed043af
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.structure.frag.out
@@ -0,0 +1,99 @@
+spv.structure.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 60
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 45 54
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 8 "scale"
+ Name 18 "lunarStruct1"
+ MemberName 18(lunarStruct1) 0 "i"
+ MemberName 18(lunarStruct1) 1 "f"
+ MemberName 18(lunarStruct1) 2 "color"
+ Name 21 "lunarStruct2"
+ MemberName 21(lunarStruct2) 0 "i"
+ MemberName 21(lunarStruct2) 1 "f"
+ MemberName 21(lunarStruct2) 2 "s1_1"
+ Name 24 "foo2"
+ Name 45 "gl_FragColor"
+ Name 50 "samp2D"
+ Name 54 "coord"
+ Name 59 "foo"
+ Decorate 50(samp2D) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: 6(float) Constant 0
+ 10: TypeInt 32 1
+ 11: TypeInt 32 0
+ 12: 11(int) Constant 5
+ 13: TypeArray 10(int) 12
+ 14: 11(int) Constant 4
+ 15: TypeArray 6(float) 14
+ 16: TypeVector 6(float) 4
+ 17: TypeArray 16(fvec4) 12
+18(lunarStruct1): TypeStruct 10(int) 15 17
+ 19: 11(int) Constant 7
+ 20: TypeArray 18(lunarStruct1) 19
+21(lunarStruct2): TypeStruct 13 6(float) 20
+ 22: TypeArray 21(lunarStruct2) 12
+ 23: TypePointer Private 22
+ 24(foo2): 23(ptr) Variable Private
+ 25: 10(int) Constant 3
+ 26: 10(int) Constant 0
+ 27: 10(int) Constant 4
+ 28: TypePointer Private 10(int)
+ 31: TypeBool
+ 35: 10(int) Constant 2
+ 36: 11(int) Constant 0
+ 37: TypePointer Private 6(float)
+ 41: 10(int) Constant 1
+ 44: TypePointer Output 16(fvec4)
+45(gl_FragColor): 44(ptr) Variable Output
+ 47: TypeImage 6(float) 2D sampled format:Unknown
+ 48: TypeSampledImage 47
+ 49: TypePointer UniformConstant 48
+ 50(samp2D): 49(ptr) Variable UniformConstant
+ 52: TypeVector 6(float) 2
+ 53: TypePointer Input 52(fvec2)
+ 54(coord): 53(ptr) Variable Input
+ 58: TypePointer Private 18(lunarStruct1)
+ 59(foo): 58(ptr) Variable Private
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(scale): 7(ptr) Variable Function
+ Store 8(scale) 9
+ 29: 28(ptr) AccessChain 24(foo2) 25 26 27
+ 30: 10(int) Load 29
+ 32: 31(bool) SGreaterThan 30 26
+ SelectionMerge 34 None
+ BranchConditional 32 33 40
+ 33: Label
+ 38: 37(ptr) AccessChain 24(foo2) 25 35 35 35 25 36
+ 39: 6(float) Load 38
+ Store 8(scale) 39
+ Branch 34
+ 40: Label
+ 42: 37(ptr) AccessChain 24(foo2) 25 35 35 41 25
+ 43: 6(float) Load 42
+ Store 8(scale) 43
+ Branch 34
+ 34: Label
+ 46: 6(float) Load 8(scale)
+ 51: 48 Load 50(samp2D)
+ 55: 52(fvec2) Load 54(coord)
+ 56: 16(fvec4) ImageSampleImplicitLod 51 55
+ 57: 16(fvec4) VectorTimesScalar 56 46
+ Store 45(gl_FragColor) 57
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.subpass.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.subpass.frag.out
new file mode 100644
index 00000000000..93d680c71ab
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.subpass.frag.out
@@ -0,0 +1,118 @@
+spv.subpass.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 67
+
+ Capability Shader
+ Capability InputAttachment
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 15 27 53
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 400
+ Name 4 "main"
+ Name 11 "foo(iIPM1;"
+ Name 10 "sb"
+ Name 15 "icolor"
+ Name 27 "color"
+ Name 30 "sub"
+ Name 35 "subMS"
+ Name 42 "isub"
+ Name 45 "isubMS"
+ Name 53 "ucolor"
+ Name 56 "usub"
+ Name 61 "usubMS"
+ Decorate 30(sub) DescriptorSet 0
+ Decorate 30(sub) InputAttachmentIndex 1
+ Decorate 35(subMS) DescriptorSet 0
+ Decorate 35(subMS) InputAttachmentIndex 2
+ Decorate 42(isub) DescriptorSet 0
+ Decorate 42(isub) InputAttachmentIndex 3
+ Decorate 45(isubMS) DescriptorSet 0
+ Decorate 45(isubMS) InputAttachmentIndex 4
+ Decorate 56(usub) DescriptorSet 0
+ Decorate 56(usub) InputAttachmentIndex 5
+ Decorate 61(usubMS) DescriptorSet 0
+ Decorate 61(usubMS) InputAttachmentIndex 6
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeImage 6(int) SubpassData multi-sampled nonsampled format:Unknown
+ 8: TypePointer UniformConstant 7
+ 9: TypeFunction 2 8(ptr)
+ 13: TypeVector 6(int) 4
+ 14: TypePointer Output 13(ivec4)
+ 15(icolor): 14(ptr) Variable Output
+ 17: 6(int) Constant 3
+ 18: 6(int) Constant 0
+ 19: TypeVector 6(int) 2
+ 20: 19(ivec2) ConstantComposite 18 18
+ 24: TypeFloat 32
+ 25: TypeVector 24(float) 4
+ 26: TypePointer Output 25(fvec4)
+ 27(color): 26(ptr) Variable Output
+ 28: TypeImage 24(float) SubpassData nonsampled format:Unknown
+ 29: TypePointer UniformConstant 28
+ 30(sub): 29(ptr) Variable UniformConstant
+ 33: TypeImage 24(float) SubpassData multi-sampled nonsampled format:Unknown
+ 34: TypePointer UniformConstant 33
+ 35(subMS): 34(ptr) Variable UniformConstant
+ 40: TypeImage 6(int) SubpassData nonsampled format:Unknown
+ 41: TypePointer UniformConstant 40
+ 42(isub): 41(ptr) Variable UniformConstant
+ 45(isubMS): 8(ptr) Variable UniformConstant
+ 50: TypeInt 32 0
+ 51: TypeVector 50(int) 4
+ 52: TypePointer Output 51(ivec4)
+ 53(ucolor): 52(ptr) Variable Output
+ 54: TypeImage 50(int) SubpassData nonsampled format:Unknown
+ 55: TypePointer UniformConstant 54
+ 56(usub): 55(ptr) Variable UniformConstant
+ 59: TypeImage 50(int) SubpassData multi-sampled nonsampled format:Unknown
+ 60: TypePointer UniformConstant 59
+ 61(usubMS): 60(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 31: 28 Load 30(sub)
+ 32: 25(fvec4) ImageRead 31 20
+ Store 27(color) 32
+ 36: 33 Load 35(subMS)
+ 37: 25(fvec4) ImageRead 36 20 Sample 17
+ 38: 25(fvec4) Load 27(color)
+ 39: 25(fvec4) FAdd 38 37
+ Store 27(color) 39
+ 43: 40 Load 42(isub)
+ 44: 13(ivec4) ImageRead 43 20
+ Store 15(icolor) 44
+ 46: 7 Load 45(isubMS)
+ 47: 13(ivec4) ImageRead 46 20 Sample 17
+ 48: 13(ivec4) Load 15(icolor)
+ 49: 13(ivec4) IAdd 48 47
+ Store 15(icolor) 49
+ 57: 54 Load 56(usub)
+ 58: 51(ivec4) ImageRead 57 20
+ Store 53(ucolor) 58
+ 62: 59 Load 61(usubMS)
+ 63: 51(ivec4) ImageRead 62 20 Sample 17
+ 64: 51(ivec4) Load 53(ucolor)
+ 65: 51(ivec4) IAdd 64 63
+ Store 53(ucolor) 65
+ 66: 2 FunctionCall 11(foo(iIPM1;) 45(isubMS)
+ Return
+ FunctionEnd
+ 11(foo(iIPM1;): 2 Function None 9
+ 10(sb): 8(ptr) FunctionParameter
+ 12: Label
+ 16: 7 Load 10(sb)
+ 21: 13(ivec4) ImageRead 16 20 Sample 17
+ 22: 13(ivec4) Load 15(icolor)
+ 23: 13(ivec4) IAdd 22 21
+ Store 15(icolor) 23
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.switch.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.switch.frag.out
new file mode 100755
index 00000000000..87ea4c87ea7
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.switch.frag.out
@@ -0,0 +1,532 @@
+spv.switch.frag
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+WARNING: 0:121: 'switch' : last case/default label not followed by statements
+WARNING: 0:134: 'switch' : last case/default label not followed by statements
+WARNING: 0:139: 'switch' : last case/default label not followed by statements
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 269
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 62 75 129 227 233
+ ExecutionMode 4 OriginUpperLeft
+ Source ESSL 310
+ Name 4 "main"
+ Name 15 "foo1(vf4;vf4;i1;"
+ Name 12 "v1"
+ Name 13 "v2"
+ Name 14 "i1"
+ Name 20 "foo2(vf4;vf4;i1;"
+ Name 17 "v1"
+ Name 18 "v2"
+ Name 19 "i1"
+ Name 60 "local"
+ Name 62 "c"
+ Name 73 "f"
+ Name 75 "x"
+ Name 129 "d"
+ Name 155 "i"
+ Name 175 "j"
+ Name 227 "color"
+ Name 233 "v"
+ Name 234 "param"
+ Name 236 "param"
+ Name 238 "param"
+ Name 246 "param"
+ Name 248 "param"
+ Name 250 "param"
+ Decorate 15(foo1(vf4;vf4;i1;) RelaxedPrecision
+ Decorate 12(v1) RelaxedPrecision
+ Decorate 13(v2) RelaxedPrecision
+ Decorate 14(i1) RelaxedPrecision
+ Decorate 20(foo2(vf4;vf4;i1;) RelaxedPrecision
+ Decorate 17(v1) RelaxedPrecision
+ Decorate 18(v2) RelaxedPrecision
+ Decorate 19(i1) RelaxedPrecision
+ Decorate 22 RelaxedPrecision
+ Decorate 27 RelaxedPrecision
+ Decorate 29 RelaxedPrecision
+ Decorate 31 RelaxedPrecision
+ Decorate 32 RelaxedPrecision
+ Decorate 33 RelaxedPrecision
+ Decorate 40 RelaxedPrecision
+ Decorate 46 RelaxedPrecision
+ Decorate 51 RelaxedPrecision
+ Decorate 53 RelaxedPrecision
+ Decorate 54 RelaxedPrecision
+ Decorate 55 RelaxedPrecision
+ Decorate 60(local) RelaxedPrecision
+ Decorate 62(c) RelaxedPrecision
+ Decorate 62(c) Flat
+ Decorate 63 RelaxedPrecision
+ Decorate 64 RelaxedPrecision
+ Decorate 66 RelaxedPrecision
+ Decorate 67 RelaxedPrecision
+ Decorate 73(f) RelaxedPrecision
+ Decorate 75(x) RelaxedPrecision
+ Decorate 76 RelaxedPrecision
+ Decorate 77 RelaxedPrecision
+ Decorate 79 RelaxedPrecision
+ Decorate 80 RelaxedPrecision
+ Decorate 82 RelaxedPrecision
+ Decorate 83 RelaxedPrecision
+ Decorate 85 RelaxedPrecision
+ Decorate 90 RelaxedPrecision
+ Decorate 91 RelaxedPrecision
+ Decorate 92 RelaxedPrecision
+ Decorate 93 RelaxedPrecision
+ Decorate 94 RelaxedPrecision
+ Decorate 95 RelaxedPrecision
+ Decorate 96 RelaxedPrecision
+ Decorate 97 RelaxedPrecision
+ Decorate 99 RelaxedPrecision
+ Decorate 100 RelaxedPrecision
+ Decorate 101 RelaxedPrecision
+ Decorate 102 RelaxedPrecision
+ Decorate 104 RelaxedPrecision
+ Decorate 108 RelaxedPrecision
+ Decorate 109 RelaxedPrecision
+ Decorate 110 RelaxedPrecision
+ Decorate 111 RelaxedPrecision
+ Decorate 113 RelaxedPrecision
+ Decorate 114 RelaxedPrecision
+ Decorate 115 RelaxedPrecision
+ Decorate 116 RelaxedPrecision
+ Decorate 119 RelaxedPrecision
+ Decorate 124 RelaxedPrecision
+ Decorate 125 RelaxedPrecision
+ Decorate 126 RelaxedPrecision
+ Decorate 127 RelaxedPrecision
+ Decorate 129(d) RelaxedPrecision
+ Decorate 129(d) Flat
+ Decorate 130 RelaxedPrecision
+ Decorate 134 RelaxedPrecision
+ Decorate 135 RelaxedPrecision
+ Decorate 136 RelaxedPrecision
+ Decorate 137 RelaxedPrecision
+ Decorate 138 RelaxedPrecision
+ Decorate 139 RelaxedPrecision
+ Decorate 140 RelaxedPrecision
+ Decorate 142 RelaxedPrecision
+ Decorate 143 RelaxedPrecision
+ Decorate 144 RelaxedPrecision
+ Decorate 145 RelaxedPrecision
+ Decorate 146 RelaxedPrecision
+ Decorate 150 RelaxedPrecision
+ Decorate 151 RelaxedPrecision
+ Decorate 152 RelaxedPrecision
+ Decorate 153 RelaxedPrecision
+ Decorate 155(i) RelaxedPrecision
+ Decorate 162 RelaxedPrecision
+ Decorate 166 RelaxedPrecision
+ Decorate 171 RelaxedPrecision
+ Decorate 172 RelaxedPrecision
+ Decorate 173 RelaxedPrecision
+ Decorate 174 RelaxedPrecision
+ Decorate 175(j) RelaxedPrecision
+ Decorate 182 RelaxedPrecision
+ Decorate 185 RelaxedPrecision
+ Decorate 186 RelaxedPrecision
+ Decorate 187 RelaxedPrecision
+ Decorate 193 RelaxedPrecision
+ Decorate 194 RelaxedPrecision
+ Decorate 196 RelaxedPrecision
+ Decorate 197 RelaxedPrecision
+ Decorate 198 RelaxedPrecision
+ Decorate 199 RelaxedPrecision
+ Decorate 202 RelaxedPrecision
+ Decorate 203 RelaxedPrecision
+ Decorate 204 RelaxedPrecision
+ Decorate 205 RelaxedPrecision
+ Decorate 207 RelaxedPrecision
+ Decorate 213 RelaxedPrecision
+ Decorate 214 RelaxedPrecision
+ Decorate 215 RelaxedPrecision
+ Decorate 219 RelaxedPrecision
+ Decorate 220 RelaxedPrecision
+ Decorate 221 RelaxedPrecision
+ Decorate 222 RelaxedPrecision
+ Decorate 227(color) RelaxedPrecision
+ Decorate 228 RelaxedPrecision
+ Decorate 229 RelaxedPrecision
+ Decorate 230 RelaxedPrecision
+ Decorate 231 RelaxedPrecision
+ Decorate 233(v) RelaxedPrecision
+ Decorate 235 RelaxedPrecision
+ Decorate 237 RelaxedPrecision
+ Decorate 239 RelaxedPrecision
+ Decorate 240 RelaxedPrecision
+ Decorate 243 RelaxedPrecision
+ Decorate 244 RelaxedPrecision
+ Decorate 245 RelaxedPrecision
+ Decorate 247 RelaxedPrecision
+ Decorate 249 RelaxedPrecision
+ Decorate 251 RelaxedPrecision
+ Decorate 252 RelaxedPrecision
+ Decorate 254 RelaxedPrecision
+ Decorate 255 RelaxedPrecision
+ Decorate 256 RelaxedPrecision
+ Decorate 257 RelaxedPrecision
+ Decorate 264 RelaxedPrecision
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 9: TypeInt 32 1
+ 10: TypePointer Function 9(int)
+ 11: TypeFunction 7(fvec4) 8(ptr) 8(ptr) 10(ptr)
+ 36: 6(float) Constant 0
+ 37: 7(fvec4) ConstantComposite 36 36 36 36
+ 48: 6(float) Constant 1065353216
+ 49: 7(fvec4) ConstantComposite 48 48 48 48
+ 61: TypePointer Input 9(int)
+ 62(c): 61(ptr) Variable Input
+ 65: 9(int) Constant 1
+ 72: TypePointer Function 6(float)
+ 74: TypePointer Input 6(float)
+ 75(x): 74(ptr) Variable Input
+ 129(d): 61(ptr) Variable Input
+ 156: 9(int) Constant 0
+ 163: 9(int) Constant 10
+ 164: TypeBool
+ 176: 9(int) Constant 20
+ 183: 9(int) Constant 30
+ 188: 6(float) Constant 1120429670
+ 208: 6(float) Constant 1079739679
+ 226: TypePointer Output 6(float)
+ 227(color): 226(ptr) Variable Output
+ 232: TypePointer Input 7(fvec4)
+ 233(v): 232(ptr) Variable Input
+ 241: TypeInt 32 0
+ 242: 241(int) Constant 1
+ 253: 241(int) Constant 2
+ 4(main): 2 Function None 3
+ 5: Label
+ 60(local): 10(ptr) Variable Function
+ 73(f): 72(ptr) Variable Function
+ 155(i): 10(ptr) Variable Function
+ 175(j): 10(ptr) Variable Function
+ 234(param): 8(ptr) Variable Function
+ 236(param): 8(ptr) Variable Function
+ 238(param): 10(ptr) Variable Function
+ 246(param): 8(ptr) Variable Function
+ 248(param): 8(ptr) Variable Function
+ 250(param): 10(ptr) Variable Function
+ 63: 9(int) Load 62(c)
+ Store 60(local) 63
+ 64: 9(int) Load 60(local)
+ 66: 9(int) IAdd 64 65
+ Store 60(local) 66
+ 67: 9(int) Load 62(c)
+ SelectionMerge 71 None
+ Switch 67 70
+ case 1: 68
+ case 2: 69
+ 70: Label
+ 82: 6(float) Load 75(x)
+ 83: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 82
+ Store 73(f) 83
+ Branch 71
+ 68: Label
+ 76: 6(float) Load 75(x)
+ 77: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 76
+ Store 73(f) 77
+ Branch 71
+ 69: Label
+ 79: 6(float) Load 75(x)
+ 80: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 79
+ Store 73(f) 80
+ Branch 71
+ 71: Label
+ 85: 9(int) Load 62(c)
+ SelectionMerge 89 None
+ Switch 85 88
+ case 1: 86
+ case 2: 87
+ 88: Label
+ 99: 6(float) Load 75(x)
+ 100: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 99
+ 101: 6(float) Load 73(f)
+ 102: 6(float) FAdd 101 100
+ Store 73(f) 102
+ Branch 89
+ 86: Label
+ 90: 6(float) Load 75(x)
+ 91: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 90
+ 92: 6(float) Load 73(f)
+ 93: 6(float) FAdd 92 91
+ Store 73(f) 93
+ Branch 87
+ 87: Label
+ 94: 6(float) Load 75(x)
+ 95: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 94
+ 96: 6(float) Load 73(f)
+ 97: 6(float) FAdd 96 95
+ Store 73(f) 97
+ Branch 89
+ 89: Label
+ 104: 9(int) Load 62(c)
+ SelectionMerge 107 None
+ Switch 104 107
+ case 1: 105
+ case 2: 106
+ 105: Label
+ 108: 6(float) Load 75(x)
+ 109: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 108
+ 110: 6(float) Load 73(f)
+ 111: 6(float) FAdd 110 109
+ Store 73(f) 111
+ Branch 107
+ 106: Label
+ 113: 6(float) Load 75(x)
+ 114: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 113
+ 115: 6(float) Load 73(f)
+ 116: 6(float) FAdd 115 114
+ Store 73(f) 116
+ Branch 107
+ 107: Label
+ 119: 9(int) Load 62(c)
+ SelectionMerge 123 None
+ Switch 119 122
+ case 1: 120
+ case 2: 121
+ 122: Label
+ 150: 6(float) Load 75(x)
+ 151: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 150
+ 152: 6(float) Load 73(f)
+ 153: 6(float) FAdd 152 151
+ Store 73(f) 153
+ Branch 123
+ 120: Label
+ 124: 6(float) Load 75(x)
+ 125: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 124
+ 126: 6(float) Load 73(f)
+ 127: 6(float) FAdd 126 125
+ Store 73(f) 127
+ Branch 123
+ 121: Label
+ 130: 9(int) Load 129(d)
+ SelectionMerge 133 None
+ Switch 130 133
+ case 1: 131
+ case 2: 132
+ 131: Label
+ 134: 6(float) Load 75(x)
+ 135: 6(float) Load 75(x)
+ 136: 6(float) FMul 134 135
+ 137: 6(float) Load 75(x)
+ 138: 6(float) FMul 136 137
+ 139: 6(float) Load 73(f)
+ 140: 6(float) FAdd 139 138
+ Store 73(f) 140
+ Branch 133
+ 132: Label
+ 142: 6(float) Load 75(x)
+ 143: 6(float) Load 75(x)
+ 144: 6(float) FMul 142 143
+ 145: 6(float) Load 73(f)
+ 146: 6(float) FAdd 145 144
+ Store 73(f) 146
+ Branch 133
+ 133: Label
+ Branch 123
+ 123: Label
+ Store 155(i) 156
+ Branch 157
+ 157: Label
+ LoopMerge 159 160 None
+ Branch 161
+ 161: Label
+ 162: 9(int) Load 155(i)
+ 165: 164(bool) SLessThan 162 163
+ BranchConditional 165 158 159
+ 158: Label
+ 166: 9(int) Load 62(c)
+ SelectionMerge 170 None
+ Switch 166 169
+ case 1: 167
+ case 2: 168
+ 169: Label
+ 202: 6(float) Load 75(x)
+ 203: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 202
+ 204: 6(float) Load 73(f)
+ 205: 6(float) FAdd 204 203
+ Store 73(f) 205
+ Branch 170
+ 167: Label
+ 171: 6(float) Load 75(x)
+ 172: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 171
+ 173: 6(float) Load 73(f)
+ 174: 6(float) FAdd 173 172
+ Store 73(f) 174
+ Store 175(j) 176
+ Branch 177
+ 177: Label
+ LoopMerge 179 180 None
+ Branch 181
+ 181: Label
+ 182: 9(int) Load 175(j)
+ 184: 164(bool) SLessThan 182 183
+ BranchConditional 184 178 179
+ 178: Label
+ 185: 6(float) Load 73(f)
+ 186: 6(float) FAdd 185 48
+ Store 73(f) 186
+ 187: 6(float) Load 73(f)
+ 189: 164(bool) FOrdLessThan 187 188
+ SelectionMerge 191 None
+ BranchConditional 189 190 191
+ 190: Label
+ Branch 179
+ 191: Label
+ Branch 180
+ 180: Label
+ 193: 9(int) Load 175(j)
+ 194: 9(int) IAdd 193 65
+ Store 175(j) 194
+ Branch 177
+ 179: Label
+ Branch 170
+ 168: Label
+ 196: 6(float) Load 75(x)
+ 197: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 196
+ 198: 6(float) Load 73(f)
+ 199: 6(float) FAdd 198 197
+ Store 73(f) 199
+ Branch 170
+ 170: Label
+ 207: 6(float) Load 73(f)
+ 209: 164(bool) FOrdLessThan 207 208
+ SelectionMerge 211 None
+ BranchConditional 209 210 211
+ 210: Label
+ Branch 159
+ 211: Label
+ Branch 160
+ 160: Label
+ 213: 9(int) Load 155(i)
+ 214: 9(int) IAdd 213 65
+ Store 155(i) 214
+ Branch 157
+ 159: Label
+ 215: 9(int) Load 62(c)
+ SelectionMerge 218 None
+ Switch 215 218
+ case 1: 216
+ case 2: 217
+ 216: Label
+ 219: 6(float) Load 75(x)
+ 220: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 219
+ 221: 6(float) Load 73(f)
+ 222: 6(float) FAdd 221 220
+ Store 73(f) 222
+ Branch 218
+ 217: Label
+ Branch 218
+ 218: Label
+ 228: 6(float) Load 73(f)
+ 229: 9(int) Load 60(local)
+ 230: 6(float) ConvertSToF 229
+ 231: 6(float) FAdd 228 230
+ Store 227(color) 231
+ 235: 7(fvec4) Load 233(v)
+ Store 234(param) 235
+ 237: 7(fvec4) Load 233(v)
+ Store 236(param) 237
+ 239: 9(int) Load 62(c)
+ Store 238(param) 239
+ 240: 7(fvec4) FunctionCall 15(foo1(vf4;vf4;i1;) 234(param) 236(param) 238(param)
+ 243: 6(float) CompositeExtract 240 1
+ 244: 6(float) Load 227(color)
+ 245: 6(float) FAdd 244 243
+ Store 227(color) 245
+ 247: 7(fvec4) Load 233(v)
+ Store 246(param) 247
+ 249: 7(fvec4) Load 233(v)
+ Store 248(param) 249
+ 251: 9(int) Load 62(c)
+ Store 250(param) 251
+ 252: 7(fvec4) FunctionCall 20(foo2(vf4;vf4;i1;) 246(param) 248(param) 250(param)
+ 254: 6(float) CompositeExtract 252 2
+ 255: 6(float) Load 227(color)
+ 256: 6(float) FAdd 255 254
+ Store 227(color) 256
+ 257: 9(int) Load 62(c)
+ SelectionMerge 260 None
+ Switch 257 259
+ case 0: 258
+ 259: Label
+ Branch 260
+ 258: Label
+ Branch 260
+ 260: Label
+ 264: 9(int) Load 62(c)
+ SelectionMerge 266 None
+ Switch 264 265
+ 265: Label
+ Branch 266
+ 266: Label
+ Return
+ FunctionEnd
+15(foo1(vf4;vf4;i1;): 7(fvec4) Function None 11
+ 12(v1): 8(ptr) FunctionParameter
+ 13(v2): 8(ptr) FunctionParameter
+ 14(i1): 10(ptr) FunctionParameter
+ 16: Label
+ 22: 9(int) Load 14(i1)
+ SelectionMerge 26 None
+ Switch 22 26
+ case 0: 23
+ case 2: 24
+ case 1: 24
+ case 3: 25
+ 23: Label
+ 27: 7(fvec4) Load 12(v1)
+ ReturnValue 27
+ 24: Label
+ 29: 7(fvec4) Load 13(v2)
+ ReturnValue 29
+ 25: Label
+ 31: 7(fvec4) Load 12(v1)
+ 32: 7(fvec4) Load 13(v2)
+ 33: 7(fvec4) FMul 31 32
+ ReturnValue 33
+ 26: Label
+ ReturnValue 37
+ FunctionEnd
+20(foo2(vf4;vf4;i1;): 7(fvec4) Function None 11
+ 17(v1): 8(ptr) FunctionParameter
+ 18(v2): 8(ptr) FunctionParameter
+ 19(i1): 10(ptr) FunctionParameter
+ 21: Label
+ 40: 9(int) Load 19(i1)
+ SelectionMerge 45 None
+ Switch 40 45
+ case 0: 41
+ case 2: 42
+ case 1: 43
+ case 3: 44
+ 41: Label
+ 46: 7(fvec4) Load 17(v1)
+ ReturnValue 46
+ 42: Label
+ ReturnValue 49
+ 43: Label
+ 51: 7(fvec4) Load 18(v2)
+ ReturnValue 51
+ 44: Label
+ 53: 7(fvec4) Load 17(v1)
+ 54: 7(fvec4) Load 18(v2)
+ 55: 7(fvec4) FMul 53 54
+ ReturnValue 55
+ 45: Label
+ ReturnValue 37
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.swizzle.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.swizzle.frag.out
new file mode 100755
index 00000000000..471fed1128c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.swizzle.frag.out
@@ -0,0 +1,170 @@
+spv.swizzle.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 108
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 14 30 69 107
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 8 "blendscale"
+ Name 12 "w"
+ Name 14 "u"
+ Name 16 "w_dep"
+ Name 18 "w_reorder"
+ Name 20 "w2"
+ Name 22 "w_flow"
+ Name 30 "t"
+ Name 49 "w_undef"
+ Name 56 "p"
+ Name 69 "gl_FragColor"
+ Name 81 "c"
+ Name 83 "rep"
+ Name 107 "blend"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: 6(float) Constant 1071971828
+ 10: TypeVector 6(float) 4
+ 11: TypePointer Function 10(fvec4)
+ 13: TypePointer Input 10(fvec4)
+ 14(u): 13(ptr) Variable Input
+ 25: TypeInt 32 0
+ 26: 25(int) Constant 2
+ 28: TypeVector 6(float) 2
+ 29: TypePointer Input 28(fvec2)
+ 30(t): 29(ptr) Variable Input
+ 35: 25(int) Constant 0
+ 40: 25(int) Constant 1
+ 54: TypeBool
+ 55: TypePointer Private 54(bool)
+ 56(p): 55(ptr) Variable Private
+ 60: TypePointer Input 6(float)
+ 68: TypePointer Output 10(fvec4)
+69(gl_FragColor): 68(ptr) Variable Output
+ 80: TypePointer Function 28(fvec2)
+ 84: 6(float) Constant 0
+ 85: 6(float) Constant 1065353216
+ 86: 10(fvec4) ConstantComposite 84 84 84 85
+ 92: 6(float) Constant 3212836864
+ 102: 6(float) Constant 1079613850
+ 107(blend): 60(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(blendscale): 7(ptr) Variable Function
+ 12(w): 11(ptr) Variable Function
+ 16(w_dep): 11(ptr) Variable Function
+ 18(w_reorder): 11(ptr) Variable Function
+ 20(w2): 11(ptr) Variable Function
+ 22(w_flow): 11(ptr) Variable Function
+ 49(w_undef): 11(ptr) Variable Function
+ 81(c): 80(ptr) Variable Function
+ 83(rep): 11(ptr) Variable Function
+ Store 8(blendscale) 9
+ 15: 10(fvec4) Load 14(u)
+ Store 12(w) 15
+ 17: 10(fvec4) Load 14(u)
+ Store 16(w_dep) 17
+ 19: 10(fvec4) Load 14(u)
+ Store 18(w_reorder) 19
+ 21: 10(fvec4) Load 14(u)
+ Store 20(w2) 21
+ 23: 10(fvec4) Load 14(u)
+ Store 22(w_flow) 23
+ 24: 6(float) Load 8(blendscale)
+ 27: 7(ptr) AccessChain 18(w_reorder) 26
+ Store 27 24
+ 31: 28(fvec2) Load 30(t)
+ 32: 10(fvec4) Load 12(w)
+ 33: 10(fvec4) VectorShuffle 32 31 0 5 2 4
+ Store 12(w) 33
+ 34: 6(float) Load 8(blendscale)
+ 36: 7(ptr) AccessChain 18(w_reorder) 35
+ Store 36 34
+ 37: 10(fvec4) Load 14(u)
+ 38: 10(fvec4) VectorShuffle 37 37 2 3 0 1
+ Store 20(w2) 38
+ 39: 6(float) Load 8(blendscale)
+ 41: 7(ptr) AccessChain 18(w_reorder) 40
+ Store 41 39
+ 42: 10(fvec4) Load 20(w2)
+ 43: 28(fvec2) VectorShuffle 42 42 0 2
+ 44: 10(fvec4) Load 16(w_dep)
+ 45: 10(fvec4) VectorShuffle 44 43 4 5 2 3
+ Store 16(w_dep) 45
+ 46: 28(fvec2) Load 30(t)
+ 47: 10(fvec4) Load 16(w_dep)
+ 48: 10(fvec4) VectorShuffle 47 46 0 1 4 5
+ Store 16(w_dep) 48
+ 50: 10(fvec4) Load 14(u)
+ 51: 28(fvec2) VectorShuffle 50 50 2 3
+ 52: 10(fvec4) Load 49(w_undef)
+ 53: 10(fvec4) VectorShuffle 52 51 4 5 2 3
+ Store 49(w_undef) 53
+ 57: 54(bool) Load 56(p)
+ SelectionMerge 59 None
+ BranchConditional 57 58 64
+ 58: Label
+ 61: 60(ptr) AccessChain 30(t) 35
+ 62: 6(float) Load 61
+ 63: 7(ptr) AccessChain 22(w_flow) 35
+ Store 63 62
+ Branch 59
+ 64: Label
+ 65: 60(ptr) AccessChain 30(t) 40
+ 66: 6(float) Load 65
+ 67: 7(ptr) AccessChain 22(w_flow) 35
+ Store 67 66
+ Branch 59
+ 59: Label
+ 70: 10(fvec4) Load 18(w_reorder)
+ 71: 10(fvec4) Load 49(w_undef)
+ 72: 10(fvec4) Load 12(w)
+ 73: 10(fvec4) Load 20(w2)
+ 74: 10(fvec4) FMul 72 73
+ 75: 10(fvec4) Load 16(w_dep)
+ 76: 10(fvec4) FMul 74 75
+ 77: 10(fvec4) Load 22(w_flow)
+ 78: 10(fvec4) FMul 76 77
+ 79: 10(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 70 71 78
+ Store 69(gl_FragColor) 79
+ 82: 28(fvec2) Load 30(t)
+ Store 81(c) 82
+ Store 83(rep) 86
+ 87: 7(ptr) AccessChain 81(c) 35
+ 88: 6(float) Load 87
+ 89: 54(bool) FOrdLessThan 88 84
+ SelectionMerge 91 None
+ BranchConditional 89 90 91
+ 90: Label
+ 93: 7(ptr) AccessChain 81(c) 35
+ 94: 6(float) Load 93
+ 95: 6(float) FMul 94 92
+ 96: 7(ptr) AccessChain 81(c) 35
+ Store 96 95
+ Branch 91
+ 91: Label
+ 97: 7(ptr) AccessChain 81(c) 35
+ 98: 6(float) Load 97
+ 99: 54(bool) FOrdLessThanEqual 98 85
+ SelectionMerge 101 None
+ BranchConditional 99 100 101
+ 100: Label
+ 103: 7(ptr) AccessChain 83(rep) 35
+ Store 103 102
+ Branch 101
+ 101: Label
+ 104: 10(fvec4) Load 83(rep)
+ 105: 10(fvec4) Load 69(gl_FragColor)
+ 106: 10(fvec4) FAdd 105 104
+ Store 69(gl_FragColor) 106
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.test.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.test.frag.out
new file mode 100644
index 00000000000..8f1c5260bba
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.test.frag.out
@@ -0,0 +1,90 @@
+spv.test.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 55
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 20 22 37 43 46 49
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 400
+ Name 4 "main"
+ Name 8 "blendscale"
+ Name 12 "v"
+ Name 16 "texSampler2D"
+ Name 20 "t"
+ Name 22 "scale"
+ Name 29 "w"
+ Name 33 "texSampler3D"
+ Name 37 "coords"
+ Name 43 "gl_FragColor"
+ Name 46 "u"
+ Name 49 "blend"
+ Decorate 16(texSampler2D) DescriptorSet 0
+ Decorate 33(texSampler3D) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: 6(float) Constant 1071971828
+ 10: TypeVector 6(float) 4
+ 11: TypePointer Function 10(fvec4)
+ 13: TypeImage 6(float) 2D sampled format:Unknown
+ 14: TypeSampledImage 13
+ 15: TypePointer UniformConstant 14
+16(texSampler2D): 15(ptr) Variable UniformConstant
+ 18: TypeVector 6(float) 2
+ 19: TypePointer Input 18(fvec2)
+ 20(t): 19(ptr) Variable Input
+ 22(scale): 19(ptr) Variable Input
+ 30: TypeImage 6(float) 3D sampled format:Unknown
+ 31: TypeSampledImage 30
+ 32: TypePointer UniformConstant 31
+33(texSampler3D): 32(ptr) Variable UniformConstant
+ 35: TypeVector 6(float) 3
+ 36: TypePointer Input 35(fvec3)
+ 37(coords): 36(ptr) Variable Input
+ 42: TypePointer Output 10(fvec4)
+43(gl_FragColor): 42(ptr) Variable Output
+ 45: TypePointer Input 10(fvec4)
+ 46(u): 45(ptr) Variable Input
+ 48: TypePointer Input 6(float)
+ 49(blend): 48(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(blendscale): 7(ptr) Variable Function
+ 12(v): 11(ptr) Variable Function
+ 29(w): 11(ptr) Variable Function
+ Store 8(blendscale) 9
+ 17: 14 Load 16(texSampler2D)
+ 21: 18(fvec2) Load 20(t)
+ 23: 18(fvec2) Load 22(scale)
+ 24: 18(fvec2) FAdd 21 23
+ 25: 18(fvec2) Load 22(scale)
+ 26: 18(fvec2) FDiv 24 25
+ 27: 10(fvec4) ImageSampleImplicitLod 17 26
+ 28: 10(fvec4) VectorShuffle 27 27 3 2 1 0
+ Store 12(v) 28
+ 34: 31 Load 33(texSampler3D)
+ 38: 35(fvec3) Load 37(coords)
+ 39: 10(fvec4) ImageSampleImplicitLod 34 38
+ 40: 10(fvec4) Load 12(v)
+ 41: 10(fvec4) FAdd 39 40
+ Store 29(w) 41
+ 44: 10(fvec4) Load 29(w)
+ 47: 10(fvec4) Load 46(u)
+ 50: 6(float) Load 49(blend)
+ 51: 6(float) Load 8(blendscale)
+ 52: 6(float) FMul 50 51
+ 53: 10(fvec4) CompositeConstruct 52 52 52 52
+ 54: 10(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 44 47 53
+ Store 43(gl_FragColor) 54
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.test.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.test.vert.out
new file mode 100644
index 00000000000..697e468d4fd
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.test.vert.out
@@ -0,0 +1,49 @@
+spv.test.vert
+WARNING: 0:5: attribute deprecated in version 130; may be removed in future release
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 24
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 9 11 15 18 21
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "uv"
+ Name 11 "uv_in"
+ Name 15 "gl_Position"
+ Name 18 "transform"
+ Name 21 "position"
+ Decorate 15(gl_Position) BuiltIn Position
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypePointer Output 7(fvec2)
+ 9(uv): 8(ptr) Variable Output
+ 10: TypePointer Input 7(fvec2)
+ 11(uv_in): 10(ptr) Variable Input
+ 13: TypeVector 6(float) 4
+ 14: TypePointer Output 13(fvec4)
+ 15(gl_Position): 14(ptr) Variable Output
+ 16: TypeMatrix 13(fvec4) 4
+ 17: TypePointer Input 16
+ 18(transform): 17(ptr) Variable Input
+ 20: TypePointer Input 13(fvec4)
+ 21(position): 20(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 12: 7(fvec2) Load 11(uv_in)
+ Store 9(uv) 12
+ 19: 16 Load 18(transform)
+ 22: 13(fvec4) Load 21(position)
+ 23: 13(fvec4) MatrixTimesVector 19 22
+ Store 15(gl_Position) 23
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.texture.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.texture.frag.out
new file mode 100755
index 00000000000..b5794751f5a
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.texture.frag.out
@@ -0,0 +1,385 @@
+spv.texture.frag
+WARNING: 0:10: varying deprecated in version 130; may be removed in future release
+WARNING: 0:11: varying deprecated in version 130; may be removed in future release
+WARNING: 0:12: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 291
+
+ Capability Shader
+ Capability Sampled1D
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 47 277 280 283 289 290
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 8 "blendscale"
+ Name 10 "bias"
+ Name 12 "lod"
+ Name 14 "proj"
+ Name 15 "coords1D"
+ Name 18 "coords3D"
+ Name 24 "coords4D"
+ Name 26 "color"
+ Name 32 "texSampler1D"
+ Name 47 "coords2D"
+ Name 72 "texSampler2D"
+ Name 98 "texSampler3D"
+ Name 124 "texSamplerCube"
+ Name 139 "shadowSampler1D"
+ Name 158 "shadowSampler2D"
+ Name 207 "iCoords2D"
+ Name 212 "iLod"
+ Name 222 "gradX"
+ Name 225 "gradY"
+ Name 277 "gl_FragColor"
+ Name 280 "u"
+ Name 283 "blend"
+ Name 289 "scale"
+ Name 290 "t"
+ Decorate 32(texSampler1D) DescriptorSet 0
+ Decorate 72(texSampler2D) DescriptorSet 0
+ Decorate 98(texSampler3D) DescriptorSet 0
+ Decorate 124(texSamplerCube) DescriptorSet 0
+ Decorate 139(shadowSampler1D) DescriptorSet 0
+ Decorate 158(shadowSampler2D) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: 6(float) Constant 1071971828
+ 11: 6(float) Constant 1073741824
+ 13: 6(float) Constant 1077936128
+ 16: TypeVector 6(float) 3
+ 17: TypePointer Function 16(fvec3)
+ 19: 6(float) Constant 1076753334
+ 20: 6(float) Constant 1079836148
+ 21: 16(fvec3) ConstantComposite 9 19 20
+ 22: TypeVector 6(float) 4
+ 23: TypePointer Function 22(fvec4)
+ 25: 22(fvec4) ConstantComposite 9 19 20 11
+ 27: 6(float) Constant 0
+ 28: 22(fvec4) ConstantComposite 27 27 27 27
+ 29: TypeImage 6(float) 1D sampled format:Unknown
+ 30: TypeSampledImage 29
+ 31: TypePointer UniformConstant 30
+32(texSampler1D): 31(ptr) Variable UniformConstant
+ 45: TypeVector 6(float) 2
+ 46: TypePointer Input 45(fvec2)
+ 47(coords2D): 46(ptr) Variable Input
+ 69: TypeImage 6(float) 2D sampled format:Unknown
+ 70: TypeSampledImage 69
+ 71: TypePointer UniformConstant 70
+72(texSampler2D): 71(ptr) Variable UniformConstant
+ 95: TypeImage 6(float) 3D sampled format:Unknown
+ 96: TypeSampledImage 95
+ 97: TypePointer UniformConstant 96
+98(texSampler3D): 97(ptr) Variable UniformConstant
+ 121: TypeImage 6(float) Cube sampled format:Unknown
+ 122: TypeSampledImage 121
+ 123: TypePointer UniformConstant 122
+124(texSamplerCube): 123(ptr) Variable UniformConstant
+ 136: TypeImage 6(float) 1D depth sampled format:Unknown
+ 137: TypeSampledImage 136
+ 138: TypePointer UniformConstant 137
+139(shadowSampler1D): 138(ptr) Variable UniformConstant
+ 155: TypeImage 6(float) 2D depth sampled format:Unknown
+ 156: TypeSampledImage 155
+ 157: TypePointer UniformConstant 156
+158(shadowSampler2D): 157(ptr) Variable UniformConstant
+ 204: TypeInt 32 1
+ 205: TypeVector 204(int) 2
+ 206: TypePointer Function 205(ivec2)
+ 208: 204(int) Constant 0
+ 209: 204(int) Constant 5
+ 210: 205(ivec2) ConstantComposite 208 209
+ 211: TypePointer Function 204(int)
+ 213: 204(int) Constant 1
+ 221: TypePointer Function 45(fvec2)
+ 250: 204(int) Constant 3
+ 251: 204(int) Constant 4294967289
+ 252: 205(ivec2) ConstantComposite 250 251
+ 276: TypePointer Output 22(fvec4)
+277(gl_FragColor): 276(ptr) Variable Output
+ 279: TypePointer Input 22(fvec4)
+ 280(u): 279(ptr) Variable Input
+ 282: TypePointer Input 6(float)
+ 283(blend): 282(ptr) Variable Input
+ 289(scale): 46(ptr) Variable Input
+ 290(t): 46(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(blendscale): 7(ptr) Variable Function
+ 10(bias): 7(ptr) Variable Function
+ 12(lod): 7(ptr) Variable Function
+ 14(proj): 7(ptr) Variable Function
+ 15(coords1D): 7(ptr) Variable Function
+ 18(coords3D): 17(ptr) Variable Function
+ 24(coords4D): 23(ptr) Variable Function
+ 26(color): 23(ptr) Variable Function
+ 207(iCoords2D): 206(ptr) Variable Function
+ 212(iLod): 211(ptr) Variable Function
+ 222(gradX): 221(ptr) Variable Function
+ 225(gradY): 221(ptr) Variable Function
+ Store 8(blendscale) 9
+ Store 10(bias) 11
+ Store 12(lod) 13
+ Store 14(proj) 11
+ Store 15(coords1D) 9
+ Store 18(coords3D) 21
+ Store 24(coords4D) 25
+ Store 26(color) 28
+ 33: 30 Load 32(texSampler1D)
+ 34: 6(float) Load 15(coords1D)
+ 35: 22(fvec4) ImageSampleImplicitLod 33 34
+ 36: 22(fvec4) Load 26(color)
+ 37: 22(fvec4) FAdd 36 35
+ Store 26(color) 37
+ 38: 30 Load 32(texSampler1D)
+ 39: 6(float) Load 15(coords1D)
+ 40: 6(float) Load 10(bias)
+ 41: 22(fvec4) ImageSampleImplicitLod 38 39 Bias 40
+ 42: 22(fvec4) Load 26(color)
+ 43: 22(fvec4) FAdd 42 41
+ Store 26(color) 43
+ 44: 30 Load 32(texSampler1D)
+ 48: 45(fvec2) Load 47(coords2D)
+ 49: 22(fvec4) ImageSampleProjImplicitLod 44 48
+ 50: 22(fvec4) Load 26(color)
+ 51: 22(fvec4) FAdd 50 49
+ Store 26(color) 51
+ 52: 30 Load 32(texSampler1D)
+ 53: 22(fvec4) Load 24(coords4D)
+ 54: 22(fvec4) ImageSampleProjImplicitLod 52 53
+ 55: 22(fvec4) Load 26(color)
+ 56: 22(fvec4) FAdd 55 54
+ Store 26(color) 56
+ 57: 30 Load 32(texSampler1D)
+ 58: 45(fvec2) Load 47(coords2D)
+ 59: 6(float) Load 10(bias)
+ 60: 22(fvec4) ImageSampleProjImplicitLod 57 58 Bias 59
+ 61: 22(fvec4) Load 26(color)
+ 62: 22(fvec4) FAdd 61 60
+ Store 26(color) 62
+ 63: 30 Load 32(texSampler1D)
+ 64: 22(fvec4) Load 24(coords4D)
+ 65: 6(float) Load 10(bias)
+ 66: 22(fvec4) ImageSampleProjImplicitLod 63 64 Bias 65
+ 67: 22(fvec4) Load 26(color)
+ 68: 22(fvec4) FAdd 67 66
+ Store 26(color) 68
+ 73: 70 Load 72(texSampler2D)
+ 74: 45(fvec2) Load 47(coords2D)
+ 75: 22(fvec4) ImageSampleImplicitLod 73 74
+ 76: 22(fvec4) Load 26(color)
+ 77: 22(fvec4) FAdd 76 75
+ Store 26(color) 77
+ 78: 70 Load 72(texSampler2D)
+ 79: 45(fvec2) Load 47(coords2D)
+ 80: 6(float) Load 10(bias)
+ 81: 22(fvec4) ImageSampleImplicitLod 78 79 Bias 80
+ 82: 22(fvec4) Load 26(color)
+ 83: 22(fvec4) FAdd 82 81
+ Store 26(color) 83
+ 84: 70 Load 72(texSampler2D)
+ 85: 16(fvec3) Load 18(coords3D)
+ 86: 22(fvec4) ImageSampleProjImplicitLod 84 85
+ 87: 22(fvec4) Load 26(color)
+ 88: 22(fvec4) FAdd 87 86
+ Store 26(color) 88
+ 89: 70 Load 72(texSampler2D)
+ 90: 22(fvec4) Load 24(coords4D)
+ 91: 6(float) Load 10(bias)
+ 92: 22(fvec4) ImageSampleProjImplicitLod 89 90 Bias 91
+ 93: 22(fvec4) Load 26(color)
+ 94: 22(fvec4) FAdd 93 92
+ Store 26(color) 94
+ 99: 96 Load 98(texSampler3D)
+ 100: 16(fvec3) Load 18(coords3D)
+ 101: 22(fvec4) ImageSampleImplicitLod 99 100
+ 102: 22(fvec4) Load 26(color)
+ 103: 22(fvec4) FAdd 102 101
+ Store 26(color) 103
+ 104: 96 Load 98(texSampler3D)
+ 105: 16(fvec3) Load 18(coords3D)
+ 106: 6(float) Load 10(bias)
+ 107: 22(fvec4) ImageSampleImplicitLod 104 105 Bias 106
+ 108: 22(fvec4) Load 26(color)
+ 109: 22(fvec4) FAdd 108 107
+ Store 26(color) 109
+ 110: 96 Load 98(texSampler3D)
+ 111: 22(fvec4) Load 24(coords4D)
+ 112: 22(fvec4) ImageSampleProjImplicitLod 110 111
+ 113: 22(fvec4) Load 26(color)
+ 114: 22(fvec4) FAdd 113 112
+ Store 26(color) 114
+ 115: 96 Load 98(texSampler3D)
+ 116: 22(fvec4) Load 24(coords4D)
+ 117: 6(float) Load 10(bias)
+ 118: 22(fvec4) ImageSampleProjImplicitLod 115 116 Bias 117
+ 119: 22(fvec4) Load 26(color)
+ 120: 22(fvec4) FAdd 119 118
+ Store 26(color) 120
+ 125: 122 Load 124(texSamplerCube)
+ 126: 16(fvec3) Load 18(coords3D)
+ 127: 22(fvec4) ImageSampleImplicitLod 125 126
+ 128: 22(fvec4) Load 26(color)
+ 129: 22(fvec4) FAdd 128 127
+ Store 26(color) 129
+ 130: 122 Load 124(texSamplerCube)
+ 131: 16(fvec3) Load 18(coords3D)
+ 132: 6(float) Load 10(bias)
+ 133: 22(fvec4) ImageSampleImplicitLod 130 131 Bias 132
+ 134: 22(fvec4) Load 26(color)
+ 135: 22(fvec4) FAdd 134 133
+ Store 26(color) 135
+ 140: 137 Load 139(shadowSampler1D)
+ 141: 16(fvec3) Load 18(coords3D)
+ 142: 6(float) CompositeExtract 141 2
+ 143: 6(float) ImageSampleDrefImplicitLod 140 141 142
+ 144: 22(fvec4) Load 26(color)
+ 145: 22(fvec4) CompositeConstruct 143 143 143 143
+ 146: 22(fvec4) FAdd 144 145
+ Store 26(color) 146
+ 147: 137 Load 139(shadowSampler1D)
+ 148: 16(fvec3) Load 18(coords3D)
+ 149: 6(float) Load 10(bias)
+ 150: 6(float) CompositeExtract 148 2
+ 151: 6(float) ImageSampleDrefImplicitLod 147 148 150 Bias 149
+ 152: 22(fvec4) Load 26(color)
+ 153: 22(fvec4) CompositeConstruct 151 151 151 151
+ 154: 22(fvec4) FAdd 152 153
+ Store 26(color) 154
+ 159: 156 Load 158(shadowSampler2D)
+ 160: 16(fvec3) Load 18(coords3D)
+ 161: 6(float) CompositeExtract 160 2
+ 162: 6(float) ImageSampleDrefImplicitLod 159 160 161
+ 163: 22(fvec4) Load 26(color)
+ 164: 22(fvec4) CompositeConstruct 162 162 162 162
+ 165: 22(fvec4) FAdd 163 164
+ Store 26(color) 165
+ 166: 156 Load 158(shadowSampler2D)
+ 167: 16(fvec3) Load 18(coords3D)
+ 168: 6(float) Load 10(bias)
+ 169: 6(float) CompositeExtract 167 2
+ 170: 6(float) ImageSampleDrefImplicitLod 166 167 169 Bias 168
+ 171: 22(fvec4) Load 26(color)
+ 172: 22(fvec4) CompositeConstruct 170 170 170 170
+ 173: 22(fvec4) FAdd 171 172
+ Store 26(color) 173
+ 174: 137 Load 139(shadowSampler1D)
+ 175: 22(fvec4) Load 24(coords4D)
+ 176: 6(float) CompositeExtract 175 2
+ 177: 6(float) ImageSampleProjDrefImplicitLod 174 175 176
+ 178: 22(fvec4) Load 26(color)
+ 179: 22(fvec4) CompositeConstruct 177 177 177 177
+ 180: 22(fvec4) FAdd 178 179
+ Store 26(color) 180
+ 181: 137 Load 139(shadowSampler1D)
+ 182: 22(fvec4) Load 24(coords4D)
+ 183: 6(float) Load 10(bias)
+ 184: 6(float) CompositeExtract 182 2
+ 185: 6(float) ImageSampleProjDrefImplicitLod 181 182 184 Bias 183
+ 186: 22(fvec4) Load 26(color)
+ 187: 22(fvec4) CompositeConstruct 185 185 185 185
+ 188: 22(fvec4) FAdd 186 187
+ Store 26(color) 188
+ 189: 156 Load 158(shadowSampler2D)
+ 190: 22(fvec4) Load 24(coords4D)
+ 191: 6(float) CompositeExtract 190 2
+ 192: 6(float) ImageSampleProjDrefImplicitLod 189 190 191
+ 193: 22(fvec4) Load 26(color)
+ 194: 22(fvec4) CompositeConstruct 192 192 192 192
+ 195: 22(fvec4) FAdd 193 194
+ Store 26(color) 195
+ 196: 156 Load 158(shadowSampler2D)
+ 197: 22(fvec4) Load 24(coords4D)
+ 198: 6(float) Load 10(bias)
+ 199: 6(float) CompositeExtract 197 2
+ 200: 6(float) ImageSampleProjDrefImplicitLod 196 197 199 Bias 198
+ 201: 22(fvec4) Load 26(color)
+ 202: 22(fvec4) CompositeConstruct 200 200 200 200
+ 203: 22(fvec4) FAdd 201 202
+ Store 26(color) 203
+ Store 207(iCoords2D) 210
+ Store 212(iLod) 213
+ 214: 70 Load 72(texSampler2D)
+ 215: 205(ivec2) Load 207(iCoords2D)
+ 216: 204(int) Load 212(iLod)
+ 217: 69 Image 214
+ 218: 22(fvec4) ImageFetch 217 215 Lod 216
+ 219: 22(fvec4) Load 26(color)
+ 220: 22(fvec4) FAdd 219 218
+ Store 26(color) 220
+ 223: 45(fvec2) Load 47(coords2D)
+ 224: 45(fvec2) DPdx 223
+ Store 222(gradX) 224
+ 226: 45(fvec2) Load 47(coords2D)
+ 227: 45(fvec2) DPdy 226
+ Store 225(gradY) 227
+ 228: 70 Load 72(texSampler2D)
+ 229: 45(fvec2) Load 47(coords2D)
+ 230: 45(fvec2) Load 222(gradX)
+ 231: 45(fvec2) Load 225(gradY)
+ 232: 22(fvec4) ImageSampleExplicitLod 228 229 Grad 230 231
+ 233: 22(fvec4) Load 26(color)
+ 234: 22(fvec4) FAdd 233 232
+ Store 26(color) 234
+ 235: 70 Load 72(texSampler2D)
+ 236: 45(fvec2) Load 47(coords2D)
+ 237: 6(float) Load 14(proj)
+ 238: 6(float) CompositeExtract 236 0
+ 239: 6(float) CompositeExtract 236 1
+ 240: 16(fvec3) CompositeConstruct 238 239 237
+ 241: 45(fvec2) Load 222(gradX)
+ 242: 45(fvec2) Load 225(gradY)
+ 243: 22(fvec4) ImageSampleProjExplicitLod 235 240 Grad 241 242
+ 244: 22(fvec4) Load 26(color)
+ 245: 22(fvec4) FAdd 244 243
+ Store 26(color) 245
+ 246: 70 Load 72(texSampler2D)
+ 247: 45(fvec2) Load 47(coords2D)
+ 248: 45(fvec2) Load 222(gradX)
+ 249: 45(fvec2) Load 225(gradY)
+ 253: 22(fvec4) ImageSampleExplicitLod 246 247 Grad ConstOffset 248 249 252
+ 254: 22(fvec4) Load 26(color)
+ 255: 22(fvec4) FAdd 254 253
+ Store 26(color) 255
+ 256: 70 Load 72(texSampler2D)
+ 257: 16(fvec3) Load 18(coords3D)
+ 258: 45(fvec2) Load 222(gradX)
+ 259: 45(fvec2) Load 225(gradY)
+ 260: 22(fvec4) ImageSampleProjExplicitLod 256 257 Grad ConstOffset 258 259 252
+ 261: 22(fvec4) Load 26(color)
+ 262: 22(fvec4) FAdd 261 260
+ Store 26(color) 262
+ 263: 156 Load 158(shadowSampler2D)
+ 264: 45(fvec2) Load 47(coords2D)
+ 265: 6(float) Load 12(lod)
+ 266: 6(float) CompositeExtract 264 0
+ 267: 6(float) CompositeExtract 264 1
+ 268: 16(fvec3) CompositeConstruct 266 267 265
+ 269: 45(fvec2) Load 222(gradX)
+ 270: 45(fvec2) Load 225(gradY)
+ 271: 6(float) CompositeExtract 268 2
+ 272: 6(float) ImageSampleDrefExplicitLod 263 268 271 Grad 269 270
+ 273: 22(fvec4) Load 26(color)
+ 274: 22(fvec4) CompositeConstruct 272 272 272 272
+ 275: 22(fvec4) FAdd 273 274
+ Store 26(color) 275
+ 278: 22(fvec4) Load 26(color)
+ 281: 22(fvec4) Load 280(u)
+ 284: 6(float) Load 283(blend)
+ 285: 6(float) Load 8(blendscale)
+ 286: 6(float) FMul 284 285
+ 287: 22(fvec4) CompositeConstruct 286 286 286 286
+ 288: 22(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 278 281 287
+ Store 277(gl_FragColor) 288
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.texture.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.texture.vert.out
new file mode 100755
index 00000000000..179e567d4da
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.texture.vert.out
@@ -0,0 +1,197 @@
+spv.texture.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 142
+
+ Capability Shader
+ Capability Sampled1D
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 39 140
+ Source GLSL 140
+ Name 4 "main"
+ Name 8 "lod"
+ Name 10 "coords1D"
+ Name 14 "coords3D"
+ Name 20 "coords4D"
+ Name 23 "color"
+ Name 29 "texSampler1D"
+ Name 39 "coords2D"
+ Name 54 "texSampler2D"
+ Name 76 "texSampler3D"
+ Name 92 "texSamplerCube"
+ Name 102 "shadowSampler1D"
+ Name 114 "shadowSampler2D"
+ Name 140 "gl_Position"
+ Decorate 29(texSampler1D) DescriptorSet 0
+ Decorate 54(texSampler2D) DescriptorSet 0
+ Decorate 76(texSampler3D) DescriptorSet 0
+ Decorate 92(texSamplerCube) DescriptorSet 0
+ Decorate 102(shadowSampler1D) DescriptorSet 0
+ Decorate 114(shadowSampler2D) DescriptorSet 0
+ Decorate 140(gl_Position) BuiltIn Position
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: 6(float) Constant 1077936128
+ 11: 6(float) Constant 1071971828
+ 12: TypeVector 6(float) 3
+ 13: TypePointer Function 12(fvec3)
+ 15: 6(float) Constant 1076753334
+ 16: 6(float) Constant 1079836148
+ 17: 12(fvec3) ConstantComposite 11 15 16
+ 18: TypeVector 6(float) 4
+ 19: TypePointer Function 18(fvec4)
+ 21: 6(float) Constant 1073741824
+ 22: 18(fvec4) ConstantComposite 11 15 16 21
+ 24: 6(float) Constant 0
+ 25: 18(fvec4) ConstantComposite 24 24 24 24
+ 26: TypeImage 6(float) 1D sampled format:Unknown
+ 27: TypeSampledImage 26
+ 28: TypePointer UniformConstant 27
+29(texSampler1D): 28(ptr) Variable UniformConstant
+ 37: TypeVector 6(float) 2
+ 38: TypePointer Input 37(fvec2)
+ 39(coords2D): 38(ptr) Variable Input
+ 51: TypeImage 6(float) 2D sampled format:Unknown
+ 52: TypeSampledImage 51
+ 53: TypePointer UniformConstant 52
+54(texSampler2D): 53(ptr) Variable UniformConstant
+ 73: TypeImage 6(float) 3D sampled format:Unknown
+ 74: TypeSampledImage 73
+ 75: TypePointer UniformConstant 74
+76(texSampler3D): 75(ptr) Variable UniformConstant
+ 89: TypeImage 6(float) Cube sampled format:Unknown
+ 90: TypeSampledImage 89
+ 91: TypePointer UniformConstant 90
+92(texSamplerCube): 91(ptr) Variable UniformConstant
+ 99: TypeImage 6(float) 1D depth sampled format:Unknown
+ 100: TypeSampledImage 99
+ 101: TypePointer UniformConstant 100
+102(shadowSampler1D): 101(ptr) Variable UniformConstant
+ 111: TypeImage 6(float) 2D depth sampled format:Unknown
+ 112: TypeSampledImage 111
+ 113: TypePointer UniformConstant 112
+114(shadowSampler2D): 113(ptr) Variable UniformConstant
+ 139: TypePointer Output 18(fvec4)
+140(gl_Position): 139(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(lod): 7(ptr) Variable Function
+ 10(coords1D): 7(ptr) Variable Function
+ 14(coords3D): 13(ptr) Variable Function
+ 20(coords4D): 19(ptr) Variable Function
+ 23(color): 19(ptr) Variable Function
+ Store 8(lod) 9
+ Store 10(coords1D) 11
+ Store 14(coords3D) 17
+ Store 20(coords4D) 22
+ Store 23(color) 25
+ 30: 27 Load 29(texSampler1D)
+ 31: 6(float) Load 10(coords1D)
+ 32: 6(float) Load 8(lod)
+ 33: 18(fvec4) ImageSampleExplicitLod 30 31 Lod 32
+ 34: 18(fvec4) Load 23(color)
+ 35: 18(fvec4) FAdd 34 33
+ Store 23(color) 35
+ 36: 27 Load 29(texSampler1D)
+ 40: 37(fvec2) Load 39(coords2D)
+ 41: 6(float) Load 8(lod)
+ 42: 18(fvec4) ImageSampleProjExplicitLod 36 40 Lod 41
+ 43: 18(fvec4) Load 23(color)
+ 44: 18(fvec4) FAdd 43 42
+ Store 23(color) 44
+ 45: 27 Load 29(texSampler1D)
+ 46: 18(fvec4) Load 20(coords4D)
+ 47: 6(float) Load 8(lod)
+ 48: 18(fvec4) ImageSampleProjExplicitLod 45 46 Lod 47
+ 49: 18(fvec4) Load 23(color)
+ 50: 18(fvec4) FAdd 49 48
+ Store 23(color) 50
+ 55: 52 Load 54(texSampler2D)
+ 56: 37(fvec2) Load 39(coords2D)
+ 57: 6(float) Load 8(lod)
+ 58: 18(fvec4) ImageSampleExplicitLod 55 56 Lod 57
+ 59: 18(fvec4) Load 23(color)
+ 60: 18(fvec4) FAdd 59 58
+ Store 23(color) 60
+ 61: 52 Load 54(texSampler2D)
+ 62: 12(fvec3) Load 14(coords3D)
+ 63: 6(float) Load 8(lod)
+ 64: 18(fvec4) ImageSampleProjExplicitLod 61 62 Lod 63
+ 65: 18(fvec4) Load 23(color)
+ 66: 18(fvec4) FAdd 65 64
+ Store 23(color) 66
+ 67: 52 Load 54(texSampler2D)
+ 68: 18(fvec4) Load 20(coords4D)
+ 69: 6(float) Load 8(lod)
+ 70: 18(fvec4) ImageSampleProjExplicitLod 67 68 Lod 69
+ 71: 18(fvec4) Load 23(color)
+ 72: 18(fvec4) FAdd 71 70
+ Store 23(color) 72
+ 77: 74 Load 76(texSampler3D)
+ 78: 12(fvec3) Load 14(coords3D)
+ 79: 6(float) Load 8(lod)
+ 80: 18(fvec4) ImageSampleExplicitLod 77 78 Lod 79
+ 81: 18(fvec4) Load 23(color)
+ 82: 18(fvec4) FAdd 81 80
+ Store 23(color) 82
+ 83: 74 Load 76(texSampler3D)
+ 84: 18(fvec4) Load 20(coords4D)
+ 85: 6(float) Load 8(lod)
+ 86: 18(fvec4) ImageSampleProjExplicitLod 83 84 Lod 85
+ 87: 18(fvec4) Load 23(color)
+ 88: 18(fvec4) FAdd 87 86
+ Store 23(color) 88
+ 93: 90 Load 92(texSamplerCube)
+ 94: 12(fvec3) Load 14(coords3D)
+ 95: 6(float) Load 8(lod)
+ 96: 18(fvec4) ImageSampleExplicitLod 93 94 Lod 95
+ 97: 18(fvec4) Load 23(color)
+ 98: 18(fvec4) FAdd 97 96
+ Store 23(color) 98
+ 103: 100 Load 102(shadowSampler1D)
+ 104: 12(fvec3) Load 14(coords3D)
+ 105: 6(float) Load 8(lod)
+ 106: 6(float) CompositeExtract 104 2
+ 107: 6(float) ImageSampleDrefExplicitLod 103 104 106 Lod 105
+ 108: 18(fvec4) Load 23(color)
+ 109: 18(fvec4) CompositeConstruct 107 107 107 107
+ 110: 18(fvec4) FAdd 108 109
+ Store 23(color) 110
+ 115: 112 Load 114(shadowSampler2D)
+ 116: 12(fvec3) Load 14(coords3D)
+ 117: 6(float) Load 8(lod)
+ 118: 6(float) CompositeExtract 116 2
+ 119: 6(float) ImageSampleDrefExplicitLod 115 116 118 Lod 117
+ 120: 18(fvec4) Load 23(color)
+ 121: 18(fvec4) CompositeConstruct 119 119 119 119
+ 122: 18(fvec4) FAdd 120 121
+ Store 23(color) 122
+ 123: 100 Load 102(shadowSampler1D)
+ 124: 18(fvec4) Load 20(coords4D)
+ 125: 6(float) Load 8(lod)
+ 126: 6(float) CompositeExtract 124 2
+ 127: 6(float) ImageSampleProjDrefExplicitLod 123 124 126 Lod 125
+ 128: 18(fvec4) Load 23(color)
+ 129: 18(fvec4) CompositeConstruct 127 127 127 127
+ 130: 18(fvec4) FAdd 128 129
+ Store 23(color) 130
+ 131: 112 Load 114(shadowSampler2D)
+ 132: 18(fvec4) Load 20(coords4D)
+ 133: 6(float) Load 8(lod)
+ 134: 6(float) CompositeExtract 132 2
+ 135: 6(float) ImageSampleProjDrefExplicitLod 131 132 134 Lod 133
+ 136: 18(fvec4) Load 23(color)
+ 137: 18(fvec4) CompositeConstruct 135 135 135 135
+ 138: 18(fvec4) FAdd 136 137
+ Store 23(color) 138
+ 141: 18(fvec4) Load 23(color)
+ Store 140(gl_Position) 141
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.types.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.types.frag.out
new file mode 100755
index 00000000000..4295370d385
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.types.frag.out
@@ -0,0 +1,340 @@
+spv.types.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 260
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 91 93 100 102 109 111 118 120 127 129 136 138 145 147 154 156 160
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 8 "b"
+ Name 10 "u_b"
+ Name 12 "i_b"
+ Name 17 "b2"
+ Name 19 "u_b2"
+ Name 22 "i_b2"
+ Name 35 "b3"
+ Name 37 "u_b3"
+ Name 40 "i_b3"
+ Name 59 "b4"
+ Name 61 "u_b4"
+ Name 64 "i_b4"
+ Name 89 "i"
+ Name 91 "u_i"
+ Name 93 "i_i"
+ Name 98 "i2"
+ Name 100 "u_i2"
+ Name 102 "i_i2"
+ Name 107 "i3"
+ Name 109 "u_i3"
+ Name 111 "i_i3"
+ Name 116 "i4"
+ Name 118 "u_i4"
+ Name 120 "i_i4"
+ Name 125 "f"
+ Name 127 "u_f"
+ Name 129 "i_f"
+ Name 134 "f2"
+ Name 136 "u_f2"
+ Name 138 "i_f2"
+ Name 143 "f3"
+ Name 145 "u_f3"
+ Name 147 "i_f3"
+ Name 152 "f4"
+ Name 154 "u_f4"
+ Name 156 "i_f4"
+ Name 160 "gl_FragColor"
+ Decorate 91(u_i) Flat
+ Decorate 93(i_i) Flat
+ Decorate 100(u_i2) Flat
+ Decorate 102(i_i2) Flat
+ Decorate 109(u_i3) Flat
+ Decorate 111(i_i3) Flat
+ Decorate 118(u_i4) Flat
+ Decorate 120(i_i4) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeBool
+ 7: TypePointer Function 6(bool)
+ 9: TypePointer Private 6(bool)
+ 10(u_b): 9(ptr) Variable Private
+ 12(i_b): 9(ptr) Variable Private
+ 15: TypeVector 6(bool) 2
+ 16: TypePointer Function 15(bvec2)
+ 18: TypePointer Private 15(bvec2)
+ 19(u_b2): 18(ptr) Variable Private
+ 22(i_b2): 18(ptr) Variable Private
+ 33: TypeVector 6(bool) 3
+ 34: TypePointer Function 33(bvec3)
+ 36: TypePointer Private 33(bvec3)
+ 37(u_b3): 36(ptr) Variable Private
+ 40(i_b3): 36(ptr) Variable Private
+ 57: TypeVector 6(bool) 4
+ 58: TypePointer Function 57(bvec4)
+ 60: TypePointer Private 57(bvec4)
+ 61(u_b4): 60(ptr) Variable Private
+ 64(i_b4): 60(ptr) Variable Private
+ 87: TypeInt 32 1
+ 88: TypePointer Function 87(int)
+ 90: TypePointer Input 87(int)
+ 91(u_i): 90(ptr) Variable Input
+ 93(i_i): 90(ptr) Variable Input
+ 96: TypeVector 87(int) 2
+ 97: TypePointer Function 96(ivec2)
+ 99: TypePointer Input 96(ivec2)
+ 100(u_i2): 99(ptr) Variable Input
+ 102(i_i2): 99(ptr) Variable Input
+ 105: TypeVector 87(int) 3
+ 106: TypePointer Function 105(ivec3)
+ 108: TypePointer Input 105(ivec3)
+ 109(u_i3): 108(ptr) Variable Input
+ 111(i_i3): 108(ptr) Variable Input
+ 114: TypeVector 87(int) 4
+ 115: TypePointer Function 114(ivec4)
+ 117: TypePointer Input 114(ivec4)
+ 118(u_i4): 117(ptr) Variable Input
+ 120(i_i4): 117(ptr) Variable Input
+ 123: TypeFloat 32
+ 124: TypePointer Function 123(float)
+ 126: TypePointer Input 123(float)
+ 127(u_f): 126(ptr) Variable Input
+ 129(i_f): 126(ptr) Variable Input
+ 132: TypeVector 123(float) 2
+ 133: TypePointer Function 132(fvec2)
+ 135: TypePointer Input 132(fvec2)
+ 136(u_f2): 135(ptr) Variable Input
+ 138(i_f2): 135(ptr) Variable Input
+ 141: TypeVector 123(float) 3
+ 142: TypePointer Function 141(fvec3)
+ 144: TypePointer Input 141(fvec3)
+ 145(u_f3): 144(ptr) Variable Input
+ 147(i_f3): 144(ptr) Variable Input
+ 150: TypeVector 123(float) 4
+ 151: TypePointer Function 150(fvec4)
+ 153: TypePointer Input 150(fvec4)
+ 154(u_f4): 153(ptr) Variable Input
+ 156(i_f4): 153(ptr) Variable Input
+ 159: TypePointer Output 150(fvec4)
+160(gl_FragColor): 159(ptr) Variable Output
+ 193: TypeInt 32 0
+ 194: 193(int) Constant 0
+ 198: 193(int) Constant 1
+ 208: 193(int) Constant 2
+ 221: 193(int) Constant 3
+ 257: 123(float) Constant 1065353216
+ 258: 150(fvec4) ConstantComposite 257 257 257 257
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(b): 7(ptr) Variable Function
+ 17(b2): 16(ptr) Variable Function
+ 35(b3): 34(ptr) Variable Function
+ 59(b4): 58(ptr) Variable Function
+ 89(i): 88(ptr) Variable Function
+ 98(i2): 97(ptr) Variable Function
+ 107(i3): 106(ptr) Variable Function
+ 116(i4): 115(ptr) Variable Function
+ 125(f): 124(ptr) Variable Function
+ 134(f2): 133(ptr) Variable Function
+ 143(f3): 142(ptr) Variable Function
+ 152(f4): 151(ptr) Variable Function
+ 161: 151(ptr) Variable Function
+ 11: 6(bool) Load 10(u_b)
+ 13: 6(bool) Load 12(i_b)
+ 14: 6(bool) LogicalAnd 11 13
+ Store 8(b) 14
+ 20: 15(bvec2) Load 19(u_b2)
+ 21: 6(bool) CompositeExtract 20 0
+ 23: 15(bvec2) Load 22(i_b2)
+ 24: 6(bool) CompositeExtract 23 0
+ 25: 6(bool) LogicalAnd 21 24
+ 26: 15(bvec2) Load 19(u_b2)
+ 27: 6(bool) CompositeExtract 26 1
+ 28: 6(bool) LogicalAnd 25 27
+ 29: 15(bvec2) Load 22(i_b2)
+ 30: 6(bool) CompositeExtract 29 1
+ 31: 6(bool) LogicalAnd 28 30
+ 32: 15(bvec2) CompositeConstruct 31 31
+ Store 17(b2) 32
+ 38: 33(bvec3) Load 37(u_b3)
+ 39: 6(bool) CompositeExtract 38 0
+ 41: 33(bvec3) Load 40(i_b3)
+ 42: 6(bool) CompositeExtract 41 0
+ 43: 6(bool) LogicalAnd 39 42
+ 44: 33(bvec3) Load 37(u_b3)
+ 45: 6(bool) CompositeExtract 44 1
+ 46: 6(bool) LogicalAnd 43 45
+ 47: 33(bvec3) Load 40(i_b3)
+ 48: 6(bool) CompositeExtract 47 1
+ 49: 6(bool) LogicalAnd 46 48
+ 50: 33(bvec3) Load 37(u_b3)
+ 51: 6(bool) CompositeExtract 50 2
+ 52: 6(bool) LogicalAnd 49 51
+ 53: 33(bvec3) Load 40(i_b3)
+ 54: 6(bool) CompositeExtract 53 2
+ 55: 6(bool) LogicalAnd 52 54
+ 56: 33(bvec3) CompositeConstruct 55 55 55
+ Store 35(b3) 56
+ 62: 57(bvec4) Load 61(u_b4)
+ 63: 6(bool) CompositeExtract 62 0
+ 65: 57(bvec4) Load 64(i_b4)
+ 66: 6(bool) CompositeExtract 65 0
+ 67: 6(bool) LogicalAnd 63 66
+ 68: 57(bvec4) Load 61(u_b4)
+ 69: 6(bool) CompositeExtract 68 1
+ 70: 6(bool) LogicalAnd 67 69
+ 71: 57(bvec4) Load 64(i_b4)
+ 72: 6(bool) CompositeExtract 71 1
+ 73: 6(bool) LogicalAnd 70 72
+ 74: 57(bvec4) Load 61(u_b4)
+ 75: 6(bool) CompositeExtract 74 2
+ 76: 6(bool) LogicalAnd 73 75
+ 77: 57(bvec4) Load 64(i_b4)
+ 78: 6(bool) CompositeExtract 77 2
+ 79: 6(bool) LogicalAnd 76 78
+ 80: 57(bvec4) Load 61(u_b4)
+ 81: 6(bool) CompositeExtract 80 3
+ 82: 6(bool) LogicalAnd 79 81
+ 83: 57(bvec4) Load 64(i_b4)
+ 84: 6(bool) CompositeExtract 83 3
+ 85: 6(bool) LogicalAnd 82 84
+ 86: 57(bvec4) CompositeConstruct 85 85 85 85
+ Store 59(b4) 86
+ 92: 87(int) Load 91(u_i)
+ 94: 87(int) Load 93(i_i)
+ 95: 87(int) IAdd 92 94
+ Store 89(i) 95
+ 101: 96(ivec2) Load 100(u_i2)
+ 103: 96(ivec2) Load 102(i_i2)
+ 104: 96(ivec2) IAdd 101 103
+ Store 98(i2) 104
+ 110: 105(ivec3) Load 109(u_i3)
+ 112: 105(ivec3) Load 111(i_i3)
+ 113: 105(ivec3) IAdd 110 112
+ Store 107(i3) 113
+ 119: 114(ivec4) Load 118(u_i4)
+ 121: 114(ivec4) Load 120(i_i4)
+ 122: 114(ivec4) IAdd 119 121
+ Store 116(i4) 122
+ 128: 123(float) Load 127(u_f)
+ 130: 123(float) Load 129(i_f)
+ 131: 123(float) FAdd 128 130
+ Store 125(f) 131
+ 137: 132(fvec2) Load 136(u_f2)
+ 139: 132(fvec2) Load 138(i_f2)
+ 140: 132(fvec2) FAdd 137 139
+ Store 134(f2) 140
+ 146: 141(fvec3) Load 145(u_f3)
+ 148: 141(fvec3) Load 147(i_f3)
+ 149: 141(fvec3) FAdd 146 148
+ Store 143(f3) 149
+ 155: 150(fvec4) Load 154(u_f4)
+ 157: 150(fvec4) Load 156(i_f4)
+ 158: 150(fvec4) FAdd 155 157
+ Store 152(f4) 158
+ 162: 6(bool) Load 8(b)
+ 163: 15(bvec2) Load 17(b2)
+ 164: 6(bool) CompositeExtract 163 0
+ 165: 6(bool) LogicalOr 162 164
+ 166: 15(bvec2) Load 17(b2)
+ 167: 6(bool) CompositeExtract 166 1
+ 168: 6(bool) LogicalOr 165 167
+ 169: 33(bvec3) Load 35(b3)
+ 170: 6(bool) CompositeExtract 169 0
+ 171: 6(bool) LogicalOr 168 170
+ 172: 33(bvec3) Load 35(b3)
+ 173: 6(bool) CompositeExtract 172 1
+ 174: 6(bool) LogicalOr 171 173
+ 175: 33(bvec3) Load 35(b3)
+ 176: 6(bool) CompositeExtract 175 2
+ 177: 6(bool) LogicalOr 174 176
+ 178: 57(bvec4) Load 59(b4)
+ 179: 6(bool) CompositeExtract 178 0
+ 180: 6(bool) LogicalOr 177 179
+ 181: 57(bvec4) Load 59(b4)
+ 182: 6(bool) CompositeExtract 181 1
+ 183: 6(bool) LogicalOr 180 182
+ 184: 57(bvec4) Load 59(b4)
+ 185: 6(bool) CompositeExtract 184 2
+ 186: 6(bool) LogicalOr 183 185
+ 187: 57(bvec4) Load 59(b4)
+ 188: 6(bool) CompositeExtract 187 3
+ 189: 6(bool) LogicalOr 186 188
+ SelectionMerge 191 None
+ BranchConditional 189 190 256
+ 190: Label
+ 192: 87(int) Load 89(i)
+ 195: 88(ptr) AccessChain 98(i2) 194
+ 196: 87(int) Load 195
+ 197: 87(int) IAdd 192 196
+ 199: 88(ptr) AccessChain 98(i2) 198
+ 200: 87(int) Load 199
+ 201: 87(int) IAdd 197 200
+ 202: 88(ptr) AccessChain 107(i3) 194
+ 203: 87(int) Load 202
+ 204: 87(int) IAdd 201 203
+ 205: 88(ptr) AccessChain 107(i3) 198
+ 206: 87(int) Load 205
+ 207: 87(int) IAdd 204 206
+ 209: 88(ptr) AccessChain 107(i3) 208
+ 210: 87(int) Load 209
+ 211: 87(int) IAdd 207 210
+ 212: 88(ptr) AccessChain 116(i4) 194
+ 213: 87(int) Load 212
+ 214: 87(int) IAdd 211 213
+ 215: 88(ptr) AccessChain 116(i4) 198
+ 216: 87(int) Load 215
+ 217: 87(int) IAdd 214 216
+ 218: 88(ptr) AccessChain 116(i4) 208
+ 219: 87(int) Load 218
+ 220: 87(int) IAdd 217 219
+ 222: 88(ptr) AccessChain 116(i4) 221
+ 223: 87(int) Load 222
+ 224: 87(int) IAdd 220 223
+ 225: 123(float) ConvertSToF 224
+ 226: 123(float) Load 125(f)
+ 227: 123(float) FAdd 225 226
+ 228: 124(ptr) AccessChain 134(f2) 194
+ 229: 123(float) Load 228
+ 230: 123(float) FAdd 227 229
+ 231: 124(ptr) AccessChain 134(f2) 198
+ 232: 123(float) Load 231
+ 233: 123(float) FAdd 230 232
+ 234: 124(ptr) AccessChain 143(f3) 194
+ 235: 123(float) Load 234
+ 236: 123(float) FAdd 233 235
+ 237: 124(ptr) AccessChain 143(f3) 198
+ 238: 123(float) Load 237
+ 239: 123(float) FAdd 236 238
+ 240: 124(ptr) AccessChain 143(f3) 208
+ 241: 123(float) Load 240
+ 242: 123(float) FAdd 239 241
+ 243: 124(ptr) AccessChain 152(f4) 194
+ 244: 123(float) Load 243
+ 245: 123(float) FAdd 242 244
+ 246: 124(ptr) AccessChain 152(f4) 198
+ 247: 123(float) Load 246
+ 248: 123(float) FAdd 245 247
+ 249: 124(ptr) AccessChain 152(f4) 208
+ 250: 123(float) Load 249
+ 251: 123(float) FAdd 248 250
+ 252: 124(ptr) AccessChain 152(f4) 221
+ 253: 123(float) Load 252
+ 254: 123(float) FAdd 251 253
+ 255: 150(fvec4) CompositeConstruct 254 254 254 254
+ Store 161 255
+ Branch 191
+ 256: Label
+ Store 161 258
+ Branch 191
+ 191: Label
+ 259: 150(fvec4) Load 161
+ Store 160(gl_FragColor) 259
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.uint.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.uint.frag.out
new file mode 100755
index 00000000000..7d934ff1ddc
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.uint.frag.out
@@ -0,0 +1,438 @@
+spv.uint.frag
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 207
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 15 68 77 200 202 204
+ ExecutionMode 4 OriginUpperLeft
+ Source ESSL 310
+ Name 4 "main"
+ Name 8 "count"
+ Name 12 "u"
+ Name 15 "t"
+ Name 55 "shiftedii"
+ Name 57 "shiftedui"
+ Name 59 "shiftediu"
+ Name 60 "shifteduu"
+ Name 68 "c"
+ Name 72 "usampler"
+ Name 77 "tc"
+ Name 111 "af"
+ Name 115 "ab"
+ Name 118 "ai"
+ Name 152 "mask1"
+ Name 154 "mask2"
+ Name 156 "mask3"
+ Name 160 "mask4"
+ Name 200 "f"
+ Name 202 "v"
+ Name 204 "i"
+ Name 206 "b"
+ Decorate 8(count) RelaxedPrecision
+ Decorate 12(u) RelaxedPrecision
+ Decorate 15(t) RelaxedPrecision
+ Decorate 15(t) Flat
+ Decorate 19 RelaxedPrecision
+ Decorate 21 RelaxedPrecision
+ Decorate 27 RelaxedPrecision
+ Decorate 28 RelaxedPrecision
+ Decorate 32 RelaxedPrecision
+ Decorate 33 RelaxedPrecision
+ Decorate 38 RelaxedPrecision
+ Decorate 39 RelaxedPrecision
+ Decorate 43 RelaxedPrecision
+ Decorate 44 RelaxedPrecision
+ Decorate 48 RelaxedPrecision
+ Decorate 49 RelaxedPrecision
+ Decorate 53 RelaxedPrecision
+ Decorate 54 RelaxedPrecision
+ Decorate 55(shiftedii) RelaxedPrecision
+ Decorate 57(shiftedui) RelaxedPrecision
+ Decorate 59(shiftediu) RelaxedPrecision
+ Decorate 60(shifteduu) RelaxedPrecision
+ Decorate 61 RelaxedPrecision
+ Decorate 62 RelaxedPrecision
+ Decorate 68(c) RelaxedPrecision
+ Decorate 72(usampler) RelaxedPrecision
+ Decorate 72(usampler) DescriptorSet 0
+ Decorate 73 RelaxedPrecision
+ Decorate 77(tc) RelaxedPrecision
+ Decorate 78 RelaxedPrecision
+ Decorate 79 RelaxedPrecision
+ Decorate 80 RelaxedPrecision
+ Decorate 81 RelaxedPrecision
+ Decorate 85 RelaxedPrecision
+ Decorate 86 RelaxedPrecision
+ Decorate 88 RelaxedPrecision
+ Decorate 89 RelaxedPrecision
+ Decorate 90 RelaxedPrecision
+ Decorate 91 RelaxedPrecision
+ Decorate 92 RelaxedPrecision
+ Decorate 97 RelaxedPrecision
+ Decorate 98 RelaxedPrecision
+ Decorate 101 RelaxedPrecision
+ Decorate 102 RelaxedPrecision
+ Decorate 105 RelaxedPrecision
+ Decorate 111(af) RelaxedPrecision
+ Decorate 112 RelaxedPrecision
+ Decorate 113 RelaxedPrecision
+ Decorate 116 RelaxedPrecision
+ Decorate 118(ai) RelaxedPrecision
+ Decorate 119 RelaxedPrecision
+ Decorate 120 RelaxedPrecision
+ Decorate 121 RelaxedPrecision
+ Decorate 122 RelaxedPrecision
+ Decorate 124 RelaxedPrecision
+ Decorate 125 RelaxedPrecision
+ Decorate 126 RelaxedPrecision
+ Decorate 127 RelaxedPrecision
+ Decorate 128 RelaxedPrecision
+ Decorate 129 RelaxedPrecision
+ Decorate 130 RelaxedPrecision
+ Decorate 131 RelaxedPrecision
+ Decorate 135 RelaxedPrecision
+ Decorate 136 RelaxedPrecision
+ Decorate 140 RelaxedPrecision
+ Decorate 141 RelaxedPrecision
+ Decorate 145 RelaxedPrecision
+ Decorate 146 RelaxedPrecision
+ Decorate 150 RelaxedPrecision
+ Decorate 151 RelaxedPrecision
+ Decorate 152(mask1) RelaxedPrecision
+ Decorate 154(mask2) RelaxedPrecision
+ Decorate 156(mask3) RelaxedPrecision
+ Decorate 157 RelaxedPrecision
+ Decorate 159 RelaxedPrecision
+ Decorate 160(mask4) RelaxedPrecision
+ Decorate 162 RelaxedPrecision
+ Decorate 163 RelaxedPrecision
+ Decorate 167 RelaxedPrecision
+ Decorate 168 RelaxedPrecision
+ Decorate 169 RelaxedPrecision
+ Decorate 170 RelaxedPrecision
+ Decorate 171 RelaxedPrecision
+ Decorate 175 RelaxedPrecision
+ Decorate 176 RelaxedPrecision
+ Decorate 177 RelaxedPrecision
+ Decorate 178 RelaxedPrecision
+ Decorate 179 RelaxedPrecision
+ Decorate 180 RelaxedPrecision
+ Decorate 184 RelaxedPrecision
+ Decorate 185 RelaxedPrecision
+ Decorate 186 RelaxedPrecision
+ Decorate 187 RelaxedPrecision
+ Decorate 188 RelaxedPrecision
+ Decorate 192 RelaxedPrecision
+ Decorate 193 RelaxedPrecision
+ Decorate 194 RelaxedPrecision
+ Decorate 195 RelaxedPrecision
+ Decorate 196 RelaxedPrecision
+ Decorate 197 RelaxedPrecision
+ Decorate 198 RelaxedPrecision
+ Decorate 200(f) RelaxedPrecision
+ Decorate 202(v) RelaxedPrecision
+ Decorate 202(v) Flat
+ Decorate 204(i) RelaxedPrecision
+ Decorate 204(i) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 1
+ 10: TypeInt 32 0
+ 11: TypePointer Function 10(int)
+ 13: TypeVector 10(int) 2
+ 14: TypePointer Input 13(ivec2)
+ 15(t): 14(ptr) Variable Input
+ 16: 10(int) Constant 1
+ 17: TypePointer Input 10(int)
+ 20: 10(int) Constant 3
+ 22: TypeBool
+ 23: 22(bool) ConstantTrue
+ 26: 6(int) Constant 2
+ 31: 6(int) Constant 3
+ 34: 22(bool) ConstantFalse
+ 37: 6(int) Constant 5
+ 42: 6(int) Constant 7
+ 47: 6(int) Constant 11
+ 52: 6(int) Constant 13
+ 56: 6(int) Constant 4294967295
+ 58: 10(int) Constant 4194303
+ 66: TypeVector 10(int) 4
+ 67: TypePointer Output 66(ivec4)
+ 68(c): 67(ptr) Variable Output
+ 69: TypeImage 10(int) 2D sampled format:Unknown
+ 70: TypeSampledImage 69
+ 71: TypePointer UniformConstant 70
+ 72(usampler): 71(ptr) Variable UniformConstant
+ 74: TypeFloat 32
+ 75: TypeVector 74(float) 2
+ 76: TypePointer Input 75(fvec2)
+ 77(tc): 76(ptr) Variable Input
+ 87: 74(float) Constant 1065353216
+ 99: 74(float) Constant 1073741824
+ 100: 75(fvec2) ConstantComposite 99 99
+ 103: 10(int) Constant 0
+ 106: 10(int) Constant 4
+ 110: TypePointer Function 74(float)
+ 114: TypePointer Function 22(bool)
+ 134: 6(int) Constant 17
+ 139: 6(int) Constant 19
+ 144: 6(int) Constant 23
+ 149: 6(int) Constant 27
+ 153: 10(int) Constant 161
+ 155: 10(int) Constant 2576
+ 158: 6(int) Constant 4
+ 161: 10(int) Constant 2737
+ 199: TypePointer Input 74(float)
+ 200(f): 199(ptr) Variable Input
+ 201: TypePointer Input 66(ivec4)
+ 202(v): 201(ptr) Variable Input
+ 203: TypePointer Input 6(int)
+ 204(i): 203(ptr) Variable Input
+ 205: TypePointer Private 22(bool)
+ 206(b): 205(ptr) Variable Private
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(count): 7(ptr) Variable Function
+ 12(u): 11(ptr) Variable Function
+ 55(shiftedii): 7(ptr) Variable Function
+ 57(shiftedui): 11(ptr) Variable Function
+ 59(shiftediu): 7(ptr) Variable Function
+ 60(shifteduu): 11(ptr) Variable Function
+ 111(af): 110(ptr) Variable Function
+ 115(ab): 114(ptr) Variable Function
+ 118(ai): 7(ptr) Variable Function
+ 152(mask1): 11(ptr) Variable Function
+ 154(mask2): 11(ptr) Variable Function
+ 156(mask3): 11(ptr) Variable Function
+ 160(mask4): 11(ptr) Variable Function
+ Store 8(count) 9
+ 18: 17(ptr) AccessChain 15(t) 16
+ 19: 10(int) Load 18
+ 21: 10(int) IAdd 19 20
+ Store 12(u) 21
+ SelectionMerge 25 None
+ BranchConditional 23 24 25
+ 24: Label
+ 27: 6(int) Load 8(count)
+ 28: 6(int) IMul 27 26
+ Store 8(count) 28
+ Branch 25
+ 25: Label
+ SelectionMerge 30 None
+ BranchConditional 23 29 30
+ 29: Label
+ 32: 6(int) Load 8(count)
+ 33: 6(int) IMul 32 31
+ Store 8(count) 33
+ Branch 30
+ 30: Label
+ SelectionMerge 36 None
+ BranchConditional 34 35 36
+ 35: Label
+ 38: 6(int) Load 8(count)
+ 39: 6(int) IMul 38 37
+ Store 8(count) 39
+ Branch 36
+ 36: Label
+ SelectionMerge 41 None
+ BranchConditional 23 40 41
+ 40: Label
+ 43: 6(int) Load 8(count)
+ 44: 6(int) IMul 43 42
+ Store 8(count) 44
+ Branch 41
+ 41: Label
+ SelectionMerge 46 None
+ BranchConditional 23 45 46
+ 45: Label
+ 48: 6(int) Load 8(count)
+ 49: 6(int) IMul 48 47
+ Store 8(count) 49
+ Branch 46
+ 46: Label
+ SelectionMerge 51 None
+ BranchConditional 34 50 51
+ 50: Label
+ 53: 6(int) Load 8(count)
+ 54: 6(int) IMul 53 52
+ Store 8(count) 54
+ Branch 51
+ 51: Label
+ Store 55(shiftedii) 56
+ Store 57(shiftedui) 58
+ Store 59(shiftediu) 56
+ Store 60(shifteduu) 58
+ 61: 6(int) Load 55(shiftedii)
+ 62: 6(int) Load 59(shiftediu)
+ 63: 22(bool) IEqual 61 62
+ SelectionMerge 65 None
+ BranchConditional 63 64 65
+ 64: Label
+ 73: 70 Load 72(usampler)
+ 78: 75(fvec2) Load 77(tc)
+ 79: 66(ivec4) ImageSampleImplicitLod 73 78
+ Store 68(c) 79
+ Branch 65
+ 65: Label
+ 80: 10(int) Load 57(shiftedui)
+ 81: 10(int) Load 60(shifteduu)
+ 82: 22(bool) IEqual 80 81
+ SelectionMerge 84 None
+ BranchConditional 82 83 84
+ 83: Label
+ 85: 70 Load 72(usampler)
+ 86: 75(fvec2) Load 77(tc)
+ 88: 75(fvec2) CompositeConstruct 87 87
+ 89: 75(fvec2) FAdd 86 88
+ 90: 66(ivec4) ImageSampleImplicitLod 85 89
+ Store 68(c) 90
+ Branch 84
+ 84: Label
+ 91: 6(int) Load 55(shiftedii)
+ 92: 10(int) Load 57(shiftedui)
+ 93: 6(int) Bitcast 92
+ 94: 22(bool) IEqual 91 93
+ SelectionMerge 96 None
+ BranchConditional 94 95 96
+ 95: Label
+ 97: 70 Load 72(usampler)
+ 98: 75(fvec2) Load 77(tc)
+ 101: 75(fvec2) FSub 98 100
+ 102: 66(ivec4) ImageSampleImplicitLod 97 101
+ Store 68(c) 102
+ Branch 96
+ 96: Label
+ 104: 17(ptr) AccessChain 15(t) 103
+ 105: 10(int) Load 104
+ 107: 22(bool) UGreaterThan 105 106
+ SelectionMerge 109 None
+ BranchConditional 107 108 109
+ 108: Label
+ 112: 10(int) Load 12(u)
+ 113: 74(float) ConvertUToF 112
+ Store 111(af) 113
+ 116: 10(int) Load 12(u)
+ 117: 22(bool) INotEqual 116 103
+ Store 115(ab) 117
+ 119: 10(int) Load 12(u)
+ 120: 6(int) Bitcast 119
+ Store 118(ai) 120
+ 121: 74(float) Load 111(af)
+ 122: 10(int) ConvertFToU 121
+ 123: 22(bool) Load 115(ab)
+ 124: 10(int) Select 123 16 103
+ 125: 6(int) Load 118(ai)
+ 126: 10(int) Bitcast 125
+ 127: 6(int) Load 8(count)
+ 128: 10(int) Bitcast 127
+ 129: 66(ivec4) CompositeConstruct 122 124 126 128
+ 130: 66(ivec4) Load 68(c)
+ 131: 66(ivec4) IAdd 130 129
+ Store 68(c) 131
+ Branch 109
+ 109: Label
+ SelectionMerge 133 None
+ BranchConditional 23 132 133
+ 132: Label
+ 135: 6(int) Load 8(count)
+ 136: 6(int) IMul 135 134
+ Store 8(count) 136
+ Branch 133
+ 133: Label
+ SelectionMerge 138 None
+ BranchConditional 34 137 138
+ 137: Label
+ 140: 6(int) Load 8(count)
+ 141: 6(int) IMul 140 139
+ Store 8(count) 141
+ Branch 138
+ 138: Label
+ SelectionMerge 143 None
+ BranchConditional 23 142 143
+ 142: Label
+ 145: 6(int) Load 8(count)
+ 146: 6(int) IMul 145 144
+ Store 8(count) 146
+ Branch 143
+ 143: Label
+ SelectionMerge 148 None
+ BranchConditional 23 147 148
+ 147: Label
+ 150: 6(int) Load 8(count)
+ 151: 6(int) IMul 150 149
+ Store 8(count) 151
+ Branch 148
+ 148: Label
+ Store 152(mask1) 153
+ Store 154(mask2) 155
+ 157: 10(int) Load 152(mask1)
+ 159: 10(int) ShiftLeftLogical 157 158
+ Store 156(mask3) 159
+ Store 160(mask4) 161
+ 162: 10(int) Load 156(mask3)
+ 163: 10(int) Load 154(mask2)
+ 164: 22(bool) IEqual 162 163
+ SelectionMerge 166 None
+ BranchConditional 164 165 166
+ 165: Label
+ 167: 6(int) Load 8(count)
+ 168: 6(int) IMul 167 26
+ Store 8(count) 168
+ Branch 166
+ 166: Label
+ 169: 10(int) Load 156(mask3)
+ 170: 10(int) Load 152(mask1)
+ 171: 10(int) BitwiseAnd 169 170
+ 172: 22(bool) INotEqual 171 103
+ SelectionMerge 174 None
+ BranchConditional 172 173 174
+ 173: Label
+ 175: 6(int) Load 8(count)
+ 176: 6(int) IMul 175 31
+ Store 8(count) 176
+ Branch 174
+ 174: Label
+ 177: 10(int) Load 152(mask1)
+ 178: 10(int) Load 156(mask3)
+ 179: 10(int) BitwiseOr 177 178
+ 180: 10(int) Load 160(mask4)
+ 181: 22(bool) IEqual 179 180
+ SelectionMerge 183 None
+ BranchConditional 181 182 183
+ 182: Label
+ 184: 6(int) Load 8(count)
+ 185: 6(int) IMul 184 37
+ Store 8(count) 185
+ Branch 183
+ 183: Label
+ 186: 10(int) Load 152(mask1)
+ 187: 10(int) Load 160(mask4)
+ 188: 10(int) BitwiseXor 186 187
+ 189: 22(bool) IEqual 188 155
+ SelectionMerge 191 None
+ BranchConditional 189 190 191
+ 190: Label
+ 192: 6(int) Load 8(count)
+ 193: 6(int) IMul 192 42
+ Store 8(count) 193
+ Branch 191
+ 191: Label
+ 194: 6(int) Load 8(count)
+ 195: 10(int) Bitcast 194
+ 196: 66(ivec4) CompositeConstruct 195 195 195 195
+ 197: 66(ivec4) Load 68(c)
+ 198: 66(ivec4) IAdd 197 196
+ Store 68(c) 198
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.uniformArray.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.uniformArray.frag.out
new file mode 100644
index 00000000000..e66eda6b109
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.uniformArray.frag.out
@@ -0,0 +1,80 @@
+spv.uniformArray.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 53
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 14 25 35 47
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "texColor"
+ Name 14 "color"
+ Name 25 "inColor"
+ Name 35 "alpha"
+ Name 47 "gl_FragColor"
+ Name 52 "texSampler2D"
+ Decorate 52(texSampler2D) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeInt 32 0
+ 11: 10(int) Constant 6
+ 12: TypeArray 7(fvec4) 11
+ 13: TypePointer Input 12
+ 14(color): 13(ptr) Variable Input
+ 15: TypeInt 32 1
+ 16: 15(int) Constant 1
+ 17: TypePointer Input 7(fvec4)
+ 23: TypeVector 6(float) 3
+ 24: TypePointer Input 23(fvec3)
+ 25(inColor): 24(ptr) Variable Input
+ 32: 10(int) Constant 16
+ 33: TypeArray 6(float) 32
+ 34: TypePointer Input 33
+ 35(alpha): 34(ptr) Variable Input
+ 36: 15(int) Constant 12
+ 37: TypePointer Input 6(float)
+ 40: 10(int) Constant 3
+ 41: TypePointer Function 6(float)
+ 46: TypePointer Output 7(fvec4)
+47(gl_FragColor): 46(ptr) Variable Output
+ 49: TypeImage 6(float) 2D sampled format:Unknown
+ 50: TypeSampledImage 49
+ 51: TypePointer UniformConstant 50
+52(texSampler2D): 51(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(texColor): 8(ptr) Variable Function
+ 18: 17(ptr) AccessChain 14(color) 16
+ 19: 7(fvec4) Load 18
+ 20: 17(ptr) AccessChain 14(color) 16
+ 21: 7(fvec4) Load 20
+ 22: 7(fvec4) FAdd 19 21
+ Store 9(texColor) 22
+ 26: 23(fvec3) Load 25(inColor)
+ 27: 7(fvec4) Load 9(texColor)
+ 28: 23(fvec3) VectorShuffle 27 27 0 1 2
+ 29: 23(fvec3) FAdd 28 26
+ 30: 7(fvec4) Load 9(texColor)
+ 31: 7(fvec4) VectorShuffle 30 29 4 5 6 3
+ Store 9(texColor) 31
+ 38: 37(ptr) AccessChain 35(alpha) 36
+ 39: 6(float) Load 38
+ 42: 41(ptr) AccessChain 9(texColor) 40
+ 43: 6(float) Load 42
+ 44: 6(float) FAdd 43 39
+ 45: 41(ptr) AccessChain 9(texColor) 40
+ Store 45 44
+ 48: 7(fvec4) Load 9(texColor)
+ Store 47(gl_FragColor) 48
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.variableArrayIndex.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.variableArrayIndex.frag.out
new file mode 100755
index 00000000000..43df45f52c0
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.variableArrayIndex.frag.out
@@ -0,0 +1,172 @@
+spv.variableArrayIndex.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 97
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 10 21 37 40 58 67
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 400
+ Name 4 "main"
+ Name 8 "iLocal"
+ Name 10 "Count"
+ Name 13 "lunarStruct1"
+ MemberName 13(lunarStruct1) 0 "i"
+ MemberName 13(lunarStruct1) 1 "f"
+ Name 14 "lunarStruct2"
+ MemberName 14(lunarStruct2) 0 "i"
+ MemberName 14(lunarStruct2) 1 "f"
+ MemberName 14(lunarStruct2) 2 "s1_1"
+ Name 18 "lunarStruct1"
+ MemberName 18(lunarStruct1) 0 "i"
+ MemberName 18(lunarStruct1) 1 "f"
+ Name 19 "lunarStruct3"
+ MemberName 19(lunarStruct3) 0 "s2_1"
+ MemberName 19(lunarStruct3) 1 "i"
+ MemberName 19(lunarStruct3) 2 "f"
+ MemberName 19(lunarStruct3) 3 "s1_1"
+ Name 21 "foo3"
+ Name 31 "scale"
+ Name 32 "lunarStruct1"
+ MemberName 32(lunarStruct1) 0 "i"
+ MemberName 32(lunarStruct1) 1 "f"
+ Name 33 "lunarStruct2"
+ MemberName 33(lunarStruct2) 0 "i"
+ MemberName 33(lunarStruct2) 1 "f"
+ MemberName 33(lunarStruct2) 2 "s1_1"
+ Name 37 "foo2"
+ Name 38 "lunarStruct1"
+ MemberName 38(lunarStruct1) 0 "i"
+ MemberName 38(lunarStruct1) 1 "f"
+ Name 40 "foo"
+ Name 58 "gl_FragColor"
+ Name 63 "samp2D"
+ Name 67 "coord"
+ Name 73 "constructed"
+ Decorate 10(Count) Flat
+ MemberDecorate 19(lunarStruct3) 0 Flat
+ MemberDecorate 19(lunarStruct3) 1 Flat
+ MemberDecorate 19(lunarStruct3) 2 Flat
+ MemberDecorate 19(lunarStruct3) 3 Flat
+ MemberDecorate 33(lunarStruct2) 0 Flat
+ MemberDecorate 33(lunarStruct2) 1 Flat
+ MemberDecorate 33(lunarStruct2) 2 Flat
+ MemberDecorate 38(lunarStruct1) 0 Flat
+ MemberDecorate 38(lunarStruct1) 1 Flat
+ Decorate 63(samp2D) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: TypePointer Input 6(int)
+ 10(Count): 9(ptr) Variable Input
+ 12: TypeFloat 32
+13(lunarStruct1): TypeStruct 6(int) 12(float)
+14(lunarStruct2): TypeStruct 6(int) 12(float) 13(lunarStruct1)
+ 15: TypeInt 32 0
+ 16: 15(int) Constant 3
+ 17: TypeArray 14(lunarStruct2) 16
+18(lunarStruct1): TypeStruct 6(int) 12(float)
+19(lunarStruct3): TypeStruct 17 6(int) 12(float) 18(lunarStruct1)
+ 20: TypePointer Input 19(lunarStruct3)
+ 21(foo3): 20(ptr) Variable Input
+ 22: 6(int) Constant 0
+ 23: 6(int) Constant 1
+ 26: TypeBool
+ 30: TypePointer Function 12(float)
+32(lunarStruct1): TypeStruct 6(int) 12(float)
+33(lunarStruct2): TypeStruct 6(int) 12(float) 32(lunarStruct1)
+ 34: 15(int) Constant 5
+ 35: TypeArray 33(lunarStruct2) 34
+ 36: TypePointer Input 35
+ 37(foo2): 36(ptr) Variable Input
+38(lunarStruct1): TypeStruct 6(int) 12(float)
+ 39: TypePointer Input 38(lunarStruct1)
+ 40(foo): 39(ptr) Variable Input
+ 45: 6(int) Constant 2
+ 50: TypePointer Input 12(float)
+ 56: TypeVector 12(float) 4
+ 57: TypePointer Output 56(fvec4)
+58(gl_FragColor): 57(ptr) Variable Output
+ 60: TypeImage 12(float) 2D sampled format:Unknown
+ 61: TypeSampledImage 60
+ 62: TypePointer UniformConstant 61
+ 63(samp2D): 62(ptr) Variable UniformConstant
+ 65: TypeVector 12(float) 2
+ 66: TypePointer Input 65(fvec2)
+ 67(coord): 66(ptr) Variable Input
+ 71: TypeArray 65(fvec2) 16
+ 72: TypePointer Function 71
+ 77: 12(float) Constant 1065353216
+ 78: 12(float) Constant 1073741824
+ 79: 65(fvec2) ConstantComposite 77 78
+ 83: TypePointer Function 65(fvec2)
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(iLocal): 7(ptr) Variable Function
+ 31(scale): 30(ptr) Variable Function
+ 73(constructed): 72(ptr) Variable Function
+ 11: 6(int) Load 10(Count)
+ Store 8(iLocal) 11
+ 24: 9(ptr) AccessChain 21(foo3) 22 23 22
+ 25: 6(int) Load 24
+ 27: 26(bool) SGreaterThan 25 22
+ SelectionMerge 29 None
+ BranchConditional 27 28 53
+ 28: Label
+ 41: 9(ptr) AccessChain 40(foo) 22
+ 42: 6(int) Load 41
+ 43: 9(ptr) AccessChain 21(foo3) 22 42 22
+ 44: 6(int) Load 43
+ 46: 6(int) IAdd 44 45
+ 47: 6(int) Load 8(iLocal)
+ 48: 6(int) IAdd 47 23
+ Store 8(iLocal) 48
+ 49: 6(int) IAdd 46 48
+ 51: 50(ptr) AccessChain 37(foo2) 49 45 23
+ 52: 12(float) Load 51
+ Store 31(scale) 52
+ Branch 29
+ 53: Label
+ 54: 50(ptr) AccessChain 21(foo3) 22 22 45 23
+ 55: 12(float) Load 54
+ Store 31(scale) 55
+ Branch 29
+ 29: Label
+ 59: 12(float) Load 31(scale)
+ 64: 61 Load 63(samp2D)
+ 68: 65(fvec2) Load 67(coord)
+ 69: 56(fvec4) ImageSampleImplicitLod 64 68
+ 70: 56(fvec4) VectorTimesScalar 69 59
+ Store 58(gl_FragColor) 70
+ 74: 65(fvec2) Load 67(coord)
+ 75: 12(float) Load 31(scale)
+ 76: 65(fvec2) CompositeConstruct 75 75
+ 80: 71 CompositeConstruct 74 76 79
+ Store 73(constructed) 80
+ 81: 9(ptr) AccessChain 40(foo) 22
+ 82: 6(int) Load 81
+ 84: 83(ptr) AccessChain 73(constructed) 82
+ 85: 65(fvec2) Load 84
+ 86: 9(ptr) AccessChain 40(foo) 22
+ 87: 6(int) Load 86
+ 88: 83(ptr) AccessChain 73(constructed) 87
+ 89: 65(fvec2) Load 88
+ 90: 12(float) CompositeExtract 85 0
+ 91: 12(float) CompositeExtract 85 1
+ 92: 12(float) CompositeExtract 89 0
+ 93: 12(float) CompositeExtract 89 1
+ 94: 56(fvec4) CompositeConstruct 90 91 92 93
+ 95: 56(fvec4) Load 58(gl_FragColor)
+ 96: 56(fvec4) FAdd 95 94
+ Store 58(gl_FragColor) 96
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.varyingArray.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.varyingArray.frag.out
new file mode 100755
index 00000000000..4a7d2ee6268
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.varyingArray.frag.out
@@ -0,0 +1,89 @@
+spv.varyingArray.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 61
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 19 34 39 45 48
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "texColor"
+ Name 13 "texSampler2D"
+ Name 19 "TexCoord"
+ Name 34 "color"
+ Name 39 "alpha"
+ Name 45 "gl_FragColor"
+ Name 48 "foo"
+ Decorate 13(texSampler2D) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeImage 6(float) 2D sampled format:Unknown
+ 11: TypeSampledImage 10
+ 12: TypePointer UniformConstant 11
+13(texSampler2D): 12(ptr) Variable UniformConstant
+ 15: TypeInt 32 0
+ 16: 15(int) Constant 6
+ 17: TypeArray 7(fvec4) 16
+ 18: TypePointer Input 17
+ 19(TexCoord): 18(ptr) Variable Input
+ 20: TypeInt 32 1
+ 21: 20(int) Constant 4
+ 22: TypePointer Input 7(fvec4)
+ 25: 20(int) Constant 5
+ 29: TypeVector 6(float) 2
+ 34(color): 22(ptr) Variable Input
+ 38: TypePointer Input 6(float)
+ 39(alpha): 38(ptr) Variable Input
+ 41: 15(int) Constant 3
+ 42: TypePointer Function 6(float)
+ 44: TypePointer Output 7(fvec4)
+45(gl_FragColor): 44(ptr) Variable Output
+ 46: TypeArray 7(fvec4) 41
+ 47: TypePointer Input 46
+ 48(foo): 47(ptr) Variable Input
+ 49: 20(int) Constant 1
+ 52: 20(int) Constant 0
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(texColor): 8(ptr) Variable Function
+ 14: 11 Load 13(texSampler2D)
+ 23: 22(ptr) AccessChain 19(TexCoord) 21
+ 24: 7(fvec4) Load 23
+ 26: 22(ptr) AccessChain 19(TexCoord) 25
+ 27: 7(fvec4) Load 26
+ 28: 7(fvec4) FAdd 24 27
+ 30: 6(float) CompositeExtract 28 0
+ 31: 6(float) CompositeExtract 28 1
+ 32: 29(fvec2) CompositeConstruct 30 31
+ 33: 7(fvec4) ImageSampleImplicitLod 14 32
+ Store 9(texColor) 33
+ 35: 7(fvec4) Load 34(color)
+ 36: 7(fvec4) Load 9(texColor)
+ 37: 7(fvec4) FAdd 36 35
+ Store 9(texColor) 37
+ 40: 6(float) Load 39(alpha)
+ 43: 42(ptr) AccessChain 9(texColor) 41
+ Store 43 40
+ 50: 22(ptr) AccessChain 48(foo) 49
+ 51: 7(fvec4) Load 50
+ 53: 22(ptr) AccessChain 19(TexCoord) 52
+ 54: 7(fvec4) Load 53
+ 55: 7(fvec4) FAdd 51 54
+ 56: 22(ptr) AccessChain 19(TexCoord) 21
+ 57: 7(fvec4) Load 56
+ 58: 7(fvec4) FAdd 55 57
+ 59: 7(fvec4) Load 9(texColor)
+ 60: 7(fvec4) FAdd 58 59
+ Store 45(gl_FragColor) 60
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.varyingArrayIndirect.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.varyingArrayIndirect.frag.out
new file mode 100755
index 00000000000..410fd3c46a1
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.varyingArrayIndirect.frag.out
@@ -0,0 +1,102 @@
+spv.varyingArrayIndirect.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 70
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 19 22 30 31 45 50 56
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "texColor"
+ Name 13 "texSampler2D"
+ Name 19 "userIn"
+ Name 22 "b"
+ Name 30 "TexCoord"
+ Name 31 "a"
+ Name 45 "color"
+ Name 50 "alpha"
+ Name 56 "gl_FragColor"
+ Decorate 13(texSampler2D) DescriptorSet 0
+ Decorate 22(b) Flat
+ Decorate 31(a) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeImage 6(float) 2D sampled format:Unknown
+ 11: TypeSampledImage 10
+ 12: TypePointer UniformConstant 11
+13(texSampler2D): 12(ptr) Variable UniformConstant
+ 15: TypeInt 32 0
+ 16: 15(int) Constant 2
+ 17: TypeArray 7(fvec4) 16
+ 18: TypePointer Input 17
+ 19(userIn): 18(ptr) Variable Input
+ 20: TypeInt 32 1
+ 21: TypePointer Input 20(int)
+ 22(b): 21(ptr) Variable Input
+ 24: TypePointer Input 7(fvec4)
+ 27: 15(int) Constant 6
+ 28: TypeArray 7(fvec4) 27
+ 29: TypePointer Input 28
+ 30(TexCoord): 29(ptr) Variable Input
+ 31(a): 21(ptr) Variable Input
+ 36: 20(int) Constant 5
+ 40: TypeVector 6(float) 2
+ 45(color): 24(ptr) Variable Input
+ 49: TypePointer Input 6(float)
+ 50(alpha): 49(ptr) Variable Input
+ 52: 15(int) Constant 3
+ 53: TypePointer Function 6(float)
+ 55: TypePointer Output 7(fvec4)
+56(gl_FragColor): 55(ptr) Variable Output
+ 57: 20(int) Constant 0
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(texColor): 8(ptr) Variable Function
+ 14: 11 Load 13(texSampler2D)
+ 23: 20(int) Load 22(b)
+ 25: 24(ptr) AccessChain 19(userIn) 23
+ 26: 7(fvec4) Load 25
+ 32: 20(int) Load 31(a)
+ 33: 24(ptr) AccessChain 30(TexCoord) 32
+ 34: 7(fvec4) Load 33
+ 35: 7(fvec4) FAdd 26 34
+ 37: 24(ptr) AccessChain 30(TexCoord) 36
+ 38: 7(fvec4) Load 37
+ 39: 7(fvec4) FAdd 35 38
+ 41: 6(float) CompositeExtract 39 0
+ 42: 6(float) CompositeExtract 39 1
+ 43: 40(fvec2) CompositeConstruct 41 42
+ 44: 7(fvec4) ImageSampleImplicitLod 14 43
+ Store 9(texColor) 44
+ 46: 7(fvec4) Load 45(color)
+ 47: 7(fvec4) Load 9(texColor)
+ 48: 7(fvec4) FAdd 47 46
+ Store 9(texColor) 48
+ 51: 6(float) Load 50(alpha)
+ 54: 53(ptr) AccessChain 9(texColor) 52
+ Store 54 51
+ 58: 24(ptr) AccessChain 30(TexCoord) 57
+ 59: 7(fvec4) Load 58
+ 60: 20(int) Load 22(b)
+ 61: 24(ptr) AccessChain 30(TexCoord) 60
+ 62: 7(fvec4) Load 61
+ 63: 7(fvec4) FAdd 59 62
+ 64: 7(fvec4) Load 9(texColor)
+ 65: 7(fvec4) FAdd 63 64
+ 66: 20(int) Load 31(a)
+ 67: 24(ptr) AccessChain 19(userIn) 66
+ 68: 7(fvec4) Load 67
+ 69: 7(fvec4) FAdd 65 68
+ Store 56(gl_FragColor) 69
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.voidFunction.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.voidFunction.frag.out
new file mode 100755
index 00000000000..1d4b694b3fe
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.voidFunction.frag.out
@@ -0,0 +1,77 @@
+spv.voidFunction.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 43
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 24 37 40 42
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 400
+ Name 4 "main"
+ Name 6 "foo("
+ Name 8 "foo2("
+ Name 12 "bar"
+ Name 22 "outColor"
+ Name 24 "bigColor"
+ Name 37 "gl_FragColor"
+ Name 40 "BaseColor"
+ Name 42 "d"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 10: TypeFloat 32
+ 11: TypePointer Private 10(float)
+ 12(bar): 11(ptr) Variable Private
+ 13: 10(float) Constant 1073741824
+ 15: 10(float) Constant 1065353216
+ 20: TypeVector 10(float) 4
+ 21: TypePointer Function 20(fvec4)
+ 23: TypePointer Input 20(fvec4)
+ 24(bigColor): 23(ptr) Variable Input
+ 29: TypeInt 32 0
+ 30: 29(int) Constant 0
+ 31: TypePointer Function 10(float)
+ 36: TypePointer Output 20(fvec4)
+37(gl_FragColor): 36(ptr) Variable Output
+ 40(BaseColor): 23(ptr) Variable Input
+ 41: TypePointer Input 10(float)
+ 42(d): 41(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 22(outColor): 21(ptr) Variable Function
+ Store 12(bar) 13
+ 25: 20(fvec4) Load 24(bigColor)
+ Store 22(outColor) 25
+ 26: 2 FunctionCall 6(foo()
+ 27: 2 FunctionCall 8(foo2()
+ 28: 10(float) Load 12(bar)
+ 32: 31(ptr) AccessChain 22(outColor) 30
+ 33: 10(float) Load 32
+ 34: 10(float) FAdd 33 28
+ 35: 31(ptr) AccessChain 22(outColor) 30
+ Store 35 34
+ 38: 20(fvec4) Load 22(outColor)
+ Store 37(gl_FragColor) 38
+ Return
+ FunctionEnd
+ 6(foo(): 2 Function None 3
+ 7: Label
+ 14: 10(float) Load 12(bar)
+ 16: 10(float) FAdd 14 15
+ Store 12(bar) 16
+ Return
+ FunctionEnd
+ 8(foo2(): 2 Function None 3
+ 9: Label
+ 18: 10(float) Load 12(bar)
+ 19: 10(float) FAdd 18 15
+ Store 12(bar) 19
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.while-continue-break.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.while-continue-break.vert.out
new file mode 100644
index 00000000000..2ec331024b0
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.while-continue-break.vert.out
@@ -0,0 +1,79 @@
+spv.while-continue-break.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 41
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main"
+ Source ESSL 310
+ Name 4 "main"
+ Name 8 "i"
+ Name 19 "A"
+ Name 27 "B"
+ Name 29 "C"
+ Name 39 "D"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 16: 6(int) Constant 10
+ 17: TypeBool
+ 20: 6(int) Constant 1
+ 22: 6(int) Constant 2
+ 31: 6(int) Constant 5
+ 40: 6(int) Constant 3
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ 19(A): 7(ptr) Variable Function
+ 27(B): 7(ptr) Variable Function
+ 29(C): 7(ptr) Variable Function
+ 39(D): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ LoopMerge 12 13 None
+ Branch 14
+ 14: Label
+ 15: 6(int) Load 8(i)
+ 18: 17(bool) SLessThan 15 16
+ BranchConditional 18 11 12
+ 11: Label
+ Store 19(A) 20
+ 21: 6(int) Load 8(i)
+ 23: 6(int) SMod 21 22
+ 24: 17(bool) IEqual 23 9
+ SelectionMerge 26 None
+ BranchConditional 24 25 26
+ 25: Label
+ Store 27(B) 22
+ Branch 13
+ 26: Label
+ 30: 6(int) Load 8(i)
+ 32: 6(int) SMod 30 31
+ 33: 17(bool) IEqual 32 9
+ SelectionMerge 35 None
+ BranchConditional 33 34 35
+ 34: Label
+ Store 27(B) 22
+ Branch 12
+ 35: Label
+ 37: 6(int) Load 8(i)
+ 38: 6(int) IAdd 37 20
+ Store 8(i) 38
+ Branch 13
+ 13: Label
+ Branch 10
+ 12: Label
+ Store 39(D) 40
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.while-simple.vert.out b/chromium/third_party/glslang/src/Test/baseResults/spv.while-simple.vert.out
new file mode 100755
index 00000000000..0c1c822179f
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.while-simple.vert.out
@@ -0,0 +1,48 @@
+spv.while-simple.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 22
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main"
+ Source ESSL 310
+ Name 4 "main"
+ Name 8 "i"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 16: 6(int) Constant 10
+ 17: TypeBool
+ 20: 6(int) Constant 1
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ LoopMerge 12 13 None
+ Branch 14
+ 14: Label
+ 15: 6(int) Load 8(i)
+ 18: 17(bool) SLessThan 15 16
+ BranchConditional 18 11 12
+ 11: Label
+ 19: 6(int) Load 8(i)
+ 21: 6(int) IAdd 19 20
+ Store 8(i) 21
+ Branch 13
+ 13: Label
+ Branch 10
+ 12: Label
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/spv.whileLoop.frag.out b/chromium/third_party/glslang/src/Test/baseResults/spv.whileLoop.frag.out
new file mode 100755
index 00000000000..8de5e956e0d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/spv.whileLoop.frag.out
@@ -0,0 +1,65 @@
+spv.whileLoop.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 35
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 11 24 28 33
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 24 "d"
+ Name 28 "bigColor"
+ Name 33 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 18: TypeInt 32 0
+ 19: 18(int) Constant 0
+ 20: TypePointer Function 6(float)
+ 23: TypePointer Input 6(float)
+ 24(d): 23(ptr) Variable Input
+ 26: TypeBool
+ 28(bigColor): 10(ptr) Variable Input
+ 32: TypePointer Output 7(fvec4)
+33(gl_FragColor): 32(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(color): 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ Branch 13
+ 13: Label
+ LoopMerge 15 16 None
+ Branch 17
+ 17: Label
+ 21: 20(ptr) AccessChain 9(color) 19
+ 22: 6(float) Load 21
+ 25: 6(float) Load 24(d)
+ 27: 26(bool) FOrdLessThan 22 25
+ BranchConditional 27 14 15
+ 14: Label
+ 29: 7(fvec4) Load 28(bigColor)
+ 30: 7(fvec4) Load 9(color)
+ 31: 7(fvec4) FAdd 30 29
+ Store 9(color) 31
+ Branch 16
+ 16: Label
+ Branch 13
+ 15: Label
+ 34: 7(fvec4) Load 9(color)
+ Store 33(gl_FragColor) 34
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/structAssignment.frag.out b/chromium/third_party/glslang/src/Test/baseResults/structAssignment.frag.out
new file mode 100644
index 00000000000..75cc44c2b6b
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/structAssignment.frag.out
@@ -0,0 +1,103 @@
+structAssignment.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:29 Function Definition: main( (global void)
+0:29 Function Parameters:
+0:? Sequence
+0:33 Test condition and select (temp void)
+0:33 Condition
+0:33 Compare Greater Than (temp bool)
+0:33 i: direct index for structure (global int)
+0:33 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:33 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:33 Constant:
+0:33 0 (const int)
+0:33 Constant:
+0:33 0 (const int)
+0:33 Constant:
+0:33 0 (const int)
+0:33 true case
+0:34 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 Constant:
+0:34 0 (const int)
+0:33 false case
+0:36 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:36 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:36 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:38 move second child to first child (temp 4-component vector of float)
+0:38 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:38 vector-scale (temp 4-component vector of float)
+0:38 f: direct index for structure (global float)
+0:38 s1_1: direct index for structure (global structure{global int i, global float f})
+0:38 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:38 Constant:
+0:38 2 (const int)
+0:38 Constant:
+0:38 1 (const int)
+0:38 texture (global 4-component vector of float)
+0:38 'sampler' (uniform sampler2D)
+0:38 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo' (uniform structure{global int i, global float f})
+0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:29 Function Definition: main( (global void)
+0:29 Function Parameters:
+0:? Sequence
+0:33 Test condition and select (temp void)
+0:33 Condition
+0:33 Compare Greater Than (temp bool)
+0:33 i: direct index for structure (global int)
+0:33 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:33 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:33 Constant:
+0:33 0 (const int)
+0:33 Constant:
+0:33 0 (const int)
+0:33 Constant:
+0:33 0 (const int)
+0:33 true case
+0:34 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 Constant:
+0:34 0 (const int)
+0:33 false case
+0:36 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:36 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:36 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:38 move second child to first child (temp 4-component vector of float)
+0:38 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:38 vector-scale (temp 4-component vector of float)
+0:38 f: direct index for structure (global float)
+0:38 s1_1: direct index for structure (global structure{global int i, global float f})
+0:38 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:38 Constant:
+0:38 2 (const int)
+0:38 Constant:
+0:38 1 (const int)
+0:38 texture (global 4-component vector of float)
+0:38 'sampler' (uniform sampler2D)
+0:38 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo' (uniform structure{global int i, global float f})
+0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/structDeref.frag.out b/chromium/third_party/glslang/src/Test/baseResults/structDeref.frag.out
new file mode 100644
index 00000000000..fc9d3778e55
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/structDeref.frag.out
@@ -0,0 +1,345 @@
+structDeref.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:41 Function Definition: main( (global void)
+0:41 Function Parameters:
+0:? Sequence
+0:51 Test condition and select (temp void)
+0:51 Condition
+0:51 Compare Greater Than (temp bool)
+0:51 i: direct index for structure (global int)
+0:51 direct index (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:51 s2_1: direct index for structure (global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:51 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:51 Constant:
+0:51 0 (const int)
+0:51 Constant:
+0:51 9 (const int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 true case
+0:52 Sequence
+0:52 move second child to first child (temp float)
+0:52 f: direct index for structure (global float)
+0:52 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:52 Constant:
+0:52 1 (const int)
+0:52 Constant:
+0:52 1.000000
+0:53 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:53 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:53 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:53 Constant:
+0:53 2 (const int)
+0:53 Constant:
+0:53 0 (const int)
+0:53 1.000000
+0:53 0 (const int)
+0:54 move second child to first child (temp 6-element array of float)
+0:54 'fArray' (temp 6-element array of float)
+0:54 Constant:
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:55 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:55 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:55 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
+0:55 Constant:
+0:55 6 (const int)
+0:55 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
+0:56 move second child to first child (temp structure{global int i})
+0:56 'locals0' (temp structure{global int i})
+0:56 Constant:
+0:56 0 (const int)
+0:57 move second child to first child (temp structure{global structure{global int i} s0_0})
+0:57 'locals00' (temp structure{global structure{global int i} s0_0})
+0:57 Constant:
+0:57 0 (const int)
+0:51 false case
+0:59 Sequence
+0:59 move second child to first child (temp float)
+0:59 f: direct index for structure (global float)
+0:59 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:59 Constant:
+0:59 1 (const int)
+0:59 direct index (temp float)
+0:59 'coord' (smooth in 2-component vector of float)
+0:59 Constant:
+0:59 0 (const int)
+0:60 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:60 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:60 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:60 Constant:
+0:60 2 (const int)
+0:60 Construct structure (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:60 Constant:
+0:60 1 (const int)
+0:60 direct index (temp float)
+0:60 'coord' (smooth in 2-component vector of float)
+0:60 Constant:
+0:60 1 (const int)
+0:60 'foo0' (uniform structure{global int i})
+0:61 move second child to first child (temp 6-element array of float)
+0:61 'fArray' (temp 6-element array of float)
+0:61 Constant:
+0:61 0.000000
+0:61 1.000000
+0:61 2.000000
+0:61 3.000000
+0:61 4.000000
+0:61 5.000000
+0:62 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 Constant:
+0:62 6 (const int)
+0:62 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:62 Constant:
+0:62 2 (const int)
+0:63 move second child to first child (temp structure{global int i})
+0:63 'locals0' (temp structure{global int i})
+0:63 s0_1: direct index for structure (global structure{global int i})
+0:63 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
+0:63 Constant:
+0:63 2 (const int)
+0:64 move second child to first child (temp structure{global structure{global int i} s0_0})
+0:64 'locals00' (temp structure{global structure{global int i} s0_0})
+0:64 'foo00' (uniform structure{global structure{global int i} s0_0})
+0:67 Test condition and select (temp void)
+0:67 Condition
+0:67 Compare Greater Than (temp bool)
+0:67 i: direct index for structure (global int)
+0:67 'locals0' (temp structure{global int i})
+0:67 Constant:
+0:67 0 (const int)
+0:67 Constant:
+0:67 5 (const int)
+0:67 true case
+0:68 move second child to first child (temp structure{global int i})
+0:68 'locals0' (temp structure{global int i})
+0:68 s0_0: direct index for structure (global structure{global int i})
+0:68 'locals00' (temp structure{global structure{global int i} s0_0})
+0:68 Constant:
+0:68 0 (const int)
+0:70 move second child to first child (temp 4-component vector of float)
+0:70 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:70 vector-scale (temp 4-component vector of float)
+0:70 add (temp float)
+0:70 add (temp float)
+0:70 add (temp float)
+0:70 Convert int to float (temp float)
+0:70 i: direct index for structure (global int)
+0:70 'locals0' (temp structure{global int i})
+0:70 Constant:
+0:70 0 (const int)
+0:70 f: direct index for structure (global float)
+0:70 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:70 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
+0:70 Constant:
+0:70 6 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:70 direct index (temp float)
+0:70 'fArray' (temp 6-element array of float)
+0:70 Constant:
+0:70 3 (const int)
+0:70 f: direct index for structure (global float)
+0:70 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:70 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:70 Constant:
+0:70 2 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:70 texture (global 4-component vector of float)
+0:70 'sampler' (uniform sampler2D)
+0:70 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo0' (uniform structure{global int i})
+0:? 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
+0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:? 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:? 'foo00' (uniform structure{global structure{global int i} s0_0})
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:41 Function Definition: main( (global void)
+0:41 Function Parameters:
+0:? Sequence
+0:51 Test condition and select (temp void)
+0:51 Condition
+0:51 Compare Greater Than (temp bool)
+0:51 i: direct index for structure (global int)
+0:51 direct index (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:51 s2_1: direct index for structure (global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:51 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:51 Constant:
+0:51 0 (const int)
+0:51 Constant:
+0:51 9 (const int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 true case
+0:52 Sequence
+0:52 move second child to first child (temp float)
+0:52 f: direct index for structure (global float)
+0:52 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:52 Constant:
+0:52 1 (const int)
+0:52 Constant:
+0:52 1.000000
+0:53 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:53 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:53 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:53 Constant:
+0:53 2 (const int)
+0:53 Constant:
+0:53 0 (const int)
+0:53 1.000000
+0:53 0 (const int)
+0:54 move second child to first child (temp 6-element array of float)
+0:54 'fArray' (temp 6-element array of float)
+0:54 Constant:
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:55 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:55 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:55 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
+0:55 Constant:
+0:55 6 (const int)
+0:55 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
+0:56 move second child to first child (temp structure{global int i})
+0:56 'locals0' (temp structure{global int i})
+0:56 Constant:
+0:56 0 (const int)
+0:57 move second child to first child (temp structure{global structure{global int i} s0_0})
+0:57 'locals00' (temp structure{global structure{global int i} s0_0})
+0:57 Constant:
+0:57 0 (const int)
+0:51 false case
+0:59 Sequence
+0:59 move second child to first child (temp float)
+0:59 f: direct index for structure (global float)
+0:59 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:59 Constant:
+0:59 1 (const int)
+0:59 direct index (temp float)
+0:59 'coord' (smooth in 2-component vector of float)
+0:59 Constant:
+0:59 0 (const int)
+0:60 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:60 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:60 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:60 Constant:
+0:60 2 (const int)
+0:60 Construct structure (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:60 Constant:
+0:60 1 (const int)
+0:60 direct index (temp float)
+0:60 'coord' (smooth in 2-component vector of float)
+0:60 Constant:
+0:60 1 (const int)
+0:60 'foo0' (uniform structure{global int i})
+0:61 move second child to first child (temp 6-element array of float)
+0:61 'fArray' (temp 6-element array of float)
+0:61 Constant:
+0:61 0.000000
+0:61 1.000000
+0:61 2.000000
+0:61 3.000000
+0:61 4.000000
+0:61 5.000000
+0:62 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 Constant:
+0:62 6 (const int)
+0:62 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:62 Constant:
+0:62 2 (const int)
+0:63 move second child to first child (temp structure{global int i})
+0:63 'locals0' (temp structure{global int i})
+0:63 s0_1: direct index for structure (global structure{global int i})
+0:63 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
+0:63 Constant:
+0:63 2 (const int)
+0:64 move second child to first child (temp structure{global structure{global int i} s0_0})
+0:64 'locals00' (temp structure{global structure{global int i} s0_0})
+0:64 'foo00' (uniform structure{global structure{global int i} s0_0})
+0:67 Test condition and select (temp void)
+0:67 Condition
+0:67 Compare Greater Than (temp bool)
+0:67 i: direct index for structure (global int)
+0:67 'locals0' (temp structure{global int i})
+0:67 Constant:
+0:67 0 (const int)
+0:67 Constant:
+0:67 5 (const int)
+0:67 true case
+0:68 move second child to first child (temp structure{global int i})
+0:68 'locals0' (temp structure{global int i})
+0:68 s0_0: direct index for structure (global structure{global int i})
+0:68 'locals00' (temp structure{global structure{global int i} s0_0})
+0:68 Constant:
+0:68 0 (const int)
+0:70 move second child to first child (temp 4-component vector of float)
+0:70 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:70 vector-scale (temp 4-component vector of float)
+0:70 add (temp float)
+0:70 add (temp float)
+0:70 add (temp float)
+0:70 Convert int to float (temp float)
+0:70 i: direct index for structure (global int)
+0:70 'locals0' (temp structure{global int i})
+0:70 Constant:
+0:70 0 (const int)
+0:70 f: direct index for structure (global float)
+0:70 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:70 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
+0:70 Constant:
+0:70 6 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:70 direct index (temp float)
+0:70 'fArray' (temp 6-element array of float)
+0:70 Constant:
+0:70 3 (const int)
+0:70 f: direct index for structure (global float)
+0:70 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:70 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:70 Constant:
+0:70 2 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:70 texture (global 4-component vector of float)
+0:70 'sampler' (uniform sampler2D)
+0:70 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo0' (uniform structure{global int i})
+0:? 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
+0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:? 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:? 'foo00' (uniform structure{global structure{global int i} s0_0})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/structure.frag.out b/chromium/third_party/glslang/src/Test/baseResults/structure.frag.out
new file mode 100644
index 00000000000..666b140724b
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/structure.frag.out
@@ -0,0 +1,165 @@
+structure.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:22 Sequence
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'scale' (temp float)
+0:22 Constant:
+0:22 0.000000
+0:24 Test condition and select (temp void)
+0:24 Condition
+0:24 Compare Greater Than (temp bool)
+0:24 direct index (temp int)
+0:24 i: direct index for structure (global 5-element array of int)
+0:24 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:24 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:24 Constant:
+0:24 3 (const int)
+0:24 Constant:
+0:24 0 (const int)
+0:24 Constant:
+0:24 4 (const int)
+0:24 Constant:
+0:24 0 (const int)
+0:24 true case
+0:25 move second child to first child (temp float)
+0:25 'scale' (temp float)
+0:25 direct index (temp float)
+0:25 direct index (temp 4-component vector of float)
+0:25 color: direct index for structure (global 5-element array of 4-component vector of float)
+0:25 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:25 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:25 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:25 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:25 Constant:
+0:25 3 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 3 (const int)
+0:25 Constant:
+0:25 0 (const int)
+0:24 false case
+0:27 move second child to first child (temp float)
+0:27 'scale' (temp float)
+0:27 direct index (temp float)
+0:27 f: direct index for structure (global 4-element array of float)
+0:27 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:27 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:27 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:27 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:27 Constant:
+0:27 3 (const int)
+0:27 Constant:
+0:27 2 (const int)
+0:27 Constant:
+0:27 2 (const int)
+0:27 Constant:
+0:27 1 (const int)
+0:27 Constant:
+0:27 3 (const int)
+0:29 move second child to first child (temp 4-component vector of float)
+0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:29 vector-scale (temp 4-component vector of float)
+0:29 'scale' (temp float)
+0:29 texture (global 4-component vector of float)
+0:29 'sampler' (uniform sampler2D)
+0:29 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo' (uniform structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:? 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:22 Sequence
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'scale' (temp float)
+0:22 Constant:
+0:22 0.000000
+0:24 Test condition and select (temp void)
+0:24 Condition
+0:24 Compare Greater Than (temp bool)
+0:24 direct index (temp int)
+0:24 i: direct index for structure (global 5-element array of int)
+0:24 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:24 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:24 Constant:
+0:24 3 (const int)
+0:24 Constant:
+0:24 0 (const int)
+0:24 Constant:
+0:24 4 (const int)
+0:24 Constant:
+0:24 0 (const int)
+0:24 true case
+0:25 move second child to first child (temp float)
+0:25 'scale' (temp float)
+0:25 direct index (temp float)
+0:25 direct index (temp 4-component vector of float)
+0:25 color: direct index for structure (global 5-element array of 4-component vector of float)
+0:25 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:25 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:25 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:25 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:25 Constant:
+0:25 3 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 3 (const int)
+0:25 Constant:
+0:25 0 (const int)
+0:24 false case
+0:27 move second child to first child (temp float)
+0:27 'scale' (temp float)
+0:27 direct index (temp float)
+0:27 f: direct index for structure (global 4-element array of float)
+0:27 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:27 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:27 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:27 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:27 Constant:
+0:27 3 (const int)
+0:27 Constant:
+0:27 2 (const int)
+0:27 Constant:
+0:27 2 (const int)
+0:27 Constant:
+0:27 1 (const int)
+0:27 Constant:
+0:27 3 (const int)
+0:29 move second child to first child (temp 4-component vector of float)
+0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:29 vector-scale (temp 4-component vector of float)
+0:29 'scale' (temp float)
+0:29 texture (global 4-component vector of float)
+0:29 'sampler' (uniform sampler2D)
+0:29 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo' (uniform structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:? 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/switch.frag.out b/chromium/third_party/glslang/src/Test/baseResults/switch.frag.out
new file mode 100644
index 00000000000..f8b179c0918
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/switch.frag.out
@@ -0,0 +1,691 @@
+switch.frag
+ERROR: 0:11: 'switch' : condition must be a scalar integer expression
+ERROR: 0:14: 'switch' : condition must be a scalar integer expression
+ERROR: 0:21: 'switch' : last case/default label not followed by statements
+ERROR: 0:28: 'switch' : cannot have statements before first case/default label
+ERROR: 0:43: 'default' : duplicate label
+ERROR: 0:63: 'case' : duplicated value
+ERROR: 0:65: 'case' : scalar integer expression required
+ERROR: 0:67: 'case' : constant expression required
+ERROR: 0:89: '' : break statement only allowed in switch and loops
+ERROR: 0:99: 'case' : cannot be nested inside control flow
+ERROR: 0:104: 'case' : cannot be nested inside control flow
+ERROR: 0:108: 'case' : cannot be nested inside control flow
+ERROR: 0:115: 'default' : cannot be nested inside control flow
+ERROR: 0:119: 'case' : cannot appear outside switch statement
+ERROR: 0:120: 'default' : cannot appear outside switch statement
+ERROR: 0:126: 'onlyInSwitch' : undeclared identifier
+ERROR: 0:128: 'switch' : last case/default label not followed by statements
+ERROR: 0:140: 'nestedX' : undeclared identifier
+ERROR: 0:157: 'nestedZ' : undeclared identifier
+ERROR: 19 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:? Sequence
+0:11 'f' (temp highp float)
+0:14 'a' (temp 2-element array of mediump int)
+0:17 'c' (uniform mediump int)
+0:21 switch
+0:21 condition
+0:21 'c' (uniform mediump int)
+0:21 body
+0:21 Sequence
+0:23 case: with expression
+0:23 Constant:
+0:23 2 (const int)
+0:21 Sequence
+0:21 Branch: Break
+0:26 switch
+0:26 condition
+0:26 'c' (uniform mediump int)
+0:26 body
+0:26 Sequence
+0:28 Sequence
+0:28 move second child to first child (temp highp float)
+0:28 'f' (temp highp float)
+0:28 sine (global highp float)
+0:28 'x' (smooth in highp float)
+0:29 case: with expression
+0:29 Constant:
+0:29 2 (const int)
+0:? Sequence
+0:30 move second child to first child (temp highp float)
+0:30 'f' (temp highp float)
+0:30 cosine (global highp float)
+0:30 'x' (smooth in highp float)
+0:31 Branch: Break
+0:34 switch
+0:34 condition
+0:34 'c' (uniform mediump int)
+0:34 body
+0:34 Sequence
+0:35 default:
+0:? Sequence
+0:36 Branch: Break
+0:37 case: with expression
+0:37 Constant:
+0:37 1 (const int)
+0:? Sequence
+0:38 move second child to first child (temp highp float)
+0:38 'f' (temp highp float)
+0:38 sine (global highp float)
+0:38 'x' (smooth in highp float)
+0:39 Branch: Break
+0:40 case: with expression
+0:40 Constant:
+0:40 2 (const int)
+0:? Sequence
+0:41 move second child to first child (temp highp float)
+0:41 'f' (temp highp float)
+0:41 cosine (global highp float)
+0:41 'x' (smooth in highp float)
+0:42 Branch: Break
+0:43 default:
+0:? Sequence
+0:44 move second child to first child (temp highp float)
+0:44 'f' (temp highp float)
+0:44 tangent (global highp float)
+0:44 'x' (smooth in highp float)
+0:47 switch
+0:47 condition
+0:47 'c' (uniform mediump int)
+0:47 body
+0:47 Sequence
+0:48 case: with expression
+0:48 Constant:
+0:48 1 (const int)
+0:? Sequence
+0:49 move second child to first child (temp highp float)
+0:49 'f' (temp highp float)
+0:49 sine (global highp float)
+0:49 'x' (smooth in highp float)
+0:50 Branch: Break
+0:51 case: with expression
+0:51 Constant:
+0:51 2 (const int)
+0:? Sequence
+0:52 switch
+0:52 condition
+0:52 'd' (uniform mediump int)
+0:52 body
+0:52 Sequence
+0:53 case: with expression
+0:53 Constant:
+0:53 1 (const int)
+0:? Sequence
+0:54 move second child to first child (temp highp float)
+0:54 'f' (temp highp float)
+0:54 component-wise multiply (temp highp float)
+0:54 component-wise multiply (temp highp float)
+0:54 'x' (smooth in highp float)
+0:54 'x' (smooth in highp float)
+0:54 'x' (smooth in highp float)
+0:55 Branch: Break
+0:56 case: with expression
+0:56 Constant:
+0:56 2 (const int)
+0:? Sequence
+0:57 move second child to first child (temp highp float)
+0:57 'f' (temp highp float)
+0:57 component-wise multiply (temp highp float)
+0:57 'x' (smooth in highp float)
+0:57 'x' (smooth in highp float)
+0:58 Branch: Break
+0:60 Branch: Break
+0:61 default:
+0:? Sequence
+0:62 move second child to first child (temp highp float)
+0:62 'f' (temp highp float)
+0:62 tangent (global highp float)
+0:62 'x' (smooth in highp float)
+0:63 case: with expression
+0:63 Constant:
+0:63 1 (const int)
+0:? Sequence
+0:64 Branch: Break
+0:65 case: with expression
+0:65 Constant:
+0:65 3.800000
+0:? Sequence
+0:66 Branch: Break
+0:67 case: with expression
+0:67 'c' (uniform mediump int)
+0:? Sequence
+0:68 Branch: Break
+0:71 switch
+0:71 condition
+0:71 'c' (uniform mediump int)
+0:71 body
+0:71 Sequence
+0:72 case: with expression
+0:72 Constant:
+0:72 1 (const int)
+0:? Sequence
+0:73 move second child to first child (temp highp float)
+0:73 'f' (temp highp float)
+0:73 sine (global highp float)
+0:73 'x' (smooth in highp float)
+0:74 Branch: Break
+0:75 case: with expression
+0:75 Constant:
+0:75 2 (const int)
+0:? Sequence
+0:76 switch
+0:76 condition
+0:76 'd' (uniform mediump int)
+0:76 body
+0:76 Sequence
+0:77 case: with expression
+0:77 Constant:
+0:77 1 (const int)
+0:? Sequence
+0:78 move second child to first child (temp highp float)
+0:78 'f' (temp highp float)
+0:78 component-wise multiply (temp highp float)
+0:78 component-wise multiply (temp highp float)
+0:78 'x' (smooth in highp float)
+0:78 'x' (smooth in highp float)
+0:78 'x' (smooth in highp float)
+0:79 Branch: Break
+0:80 case: with expression
+0:80 Constant:
+0:80 2 (const int)
+0:? Sequence
+0:81 move second child to first child (temp highp float)
+0:81 'f' (temp highp float)
+0:81 component-wise multiply (temp highp float)
+0:81 'x' (smooth in highp float)
+0:81 'x' (smooth in highp float)
+0:82 Branch: Break
+0:84 Branch: Break
+0:85 default:
+0:? Sequence
+0:86 move second child to first child (temp highp float)
+0:86 'f' (temp highp float)
+0:86 tangent (global highp float)
+0:86 'x' (smooth in highp float)
+0:89 Branch: Break
+0:91 switch
+0:91 condition
+0:91 'c' (uniform mediump int)
+0:91 body
+0:91 Sequence
+0:92 case: with expression
+0:92 Constant:
+0:92 1 (const int)
+0:? Sequence
+0:93 move second child to first child (temp highp float)
+0:93 'f' (temp highp float)
+0:93 sine (global highp float)
+0:93 'x' (smooth in highp float)
+0:94 Branch: Break
+0:95 case: with expression
+0:95 Constant:
+0:95 2 (const int)
+0:? Sequence
+0:96 switch
+0:96 condition
+0:96 'd' (uniform mediump int)
+0:96 body
+0:96 Sequence
+0:97 case: with expression
+0:97 Constant:
+0:97 1 (const int)
+0:? Sequence
+0:? Sequence
+0:100 Branch: Break
+0:102 move second child to first child (temp highp float)
+0:102 'f' (temp highp float)
+0:102 component-wise multiply (temp highp float)
+0:102 component-wise multiply (temp highp float)
+0:102 'x' (smooth in highp float)
+0:102 'x' (smooth in highp float)
+0:102 'x' (smooth in highp float)
+0:103 Test condition and select (temp void)
+0:103 Condition
+0:103 Compare Less Than (temp bool)
+0:103 'c' (uniform mediump int)
+0:103 'd' (uniform mediump int)
+0:103 true case
+0:? Sequence
+0:105 move second child to first child (temp highp float)
+0:105 'f' (temp highp float)
+0:105 component-wise multiply (temp highp float)
+0:105 'x' (smooth in highp float)
+0:105 'x' (smooth in highp float)
+0:107 Test condition and select (temp void)
+0:107 Condition
+0:107 Compare Less Than (temp bool)
+0:107 'd' (uniform mediump int)
+0:107 'c' (uniform mediump int)
+0:107 true case is null
+0:109 Branch: Break
+0:111 Branch: Break
+0:112 case: with expression
+0:112 Constant:
+0:112 4 (const int)
+0:? Sequence
+0:113 move second child to first child (temp highp float)
+0:113 'f' (temp highp float)
+0:113 tangent (global highp float)
+0:113 'x' (smooth in highp float)
+0:114 Test condition and select (temp void)
+0:114 Condition
+0:114 Compare Less Than (temp bool)
+0:114 'f' (temp highp float)
+0:114 Constant:
+0:114 0.000000
+0:114 true case is null
+0:116 Branch: Break
+0:122 switch
+0:122 condition
+0:122 Constant:
+0:122 0 (const int)
+0:122 body
+0:122 Sequence
+0:123 default:
+0:? Sequence
+0:124 Sequence
+0:124 move second child to first child (temp mediump int)
+0:124 'onlyInSwitch' (temp mediump int)
+0:124 Constant:
+0:124 0 (const int)
+0:126 'onlyInSwitch' (temp float)
+0:128 switch
+0:128 condition
+0:128 Constant:
+0:128 0 (const int)
+0:128 body
+0:128 Sequence
+0:129 default:
+0:128 Sequence
+0:128 Branch: Break
+0:133 switch
+0:133 condition
+0:133 'c' (uniform mediump int)
+0:133 body
+0:133 Sequence
+0:134 case: with expression
+0:134 Constant:
+0:134 1 (const int)
+0:? Sequence
+0:? Sequence
+0:137 Branch: Break
+0:139 case: with expression
+0:139 Constant:
+0:139 2 (const int)
+0:? Sequence
+0:140 'nestedX' (temp float)
+0:143 Branch: Break
+0:144 case: with expression
+0:144 Constant:
+0:144 3 (const int)
+0:? Sequence
+0:146 Branch: Break
+0:147 Branch: Break
+0:148 case: with expression
+0:148 Constant:
+0:148 4 (const int)
+0:? Sequence
+0:149 Sequence
+0:149 move second child to first child (temp mediump int)
+0:149 'linearY' (temp mediump int)
+0:149 'linearZ' (temp mediump int)
+0:150 Branch: Break
+0:151 case: with expression
+0:151 Constant:
+0:151 5 (const int)
+0:? Sequence
+0:153 Branch: Break
+0:154 case: with expression
+0:154 Constant:
+0:154 6 (const int)
+0:? Sequence
+0:155 Constant:
+0:155 4 (const int)
+0:157 'nestedZ' (temp float)
+0:? Linker Objects
+0:? 'c' (uniform mediump int)
+0:? 'd' (uniform mediump int)
+0:? 'x' (smooth in highp float)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:? Sequence
+0:11 'f' (temp highp float)
+0:14 'a' (temp 2-element array of mediump int)
+0:17 'c' (uniform mediump int)
+0:21 switch
+0:21 condition
+0:21 'c' (uniform mediump int)
+0:21 body
+0:21 Sequence
+0:23 case: with expression
+0:23 Constant:
+0:23 2 (const int)
+0:21 Sequence
+0:21 Branch: Break
+0:26 switch
+0:26 condition
+0:26 'c' (uniform mediump int)
+0:26 body
+0:26 Sequence
+0:28 Sequence
+0:28 move second child to first child (temp highp float)
+0:28 'f' (temp highp float)
+0:28 sine (global highp float)
+0:28 'x' (smooth in highp float)
+0:29 case: with expression
+0:29 Constant:
+0:29 2 (const int)
+0:? Sequence
+0:30 move second child to first child (temp highp float)
+0:30 'f' (temp highp float)
+0:30 cosine (global highp float)
+0:30 'x' (smooth in highp float)
+0:31 Branch: Break
+0:34 switch
+0:34 condition
+0:34 'c' (uniform mediump int)
+0:34 body
+0:34 Sequence
+0:35 default:
+0:? Sequence
+0:36 Branch: Break
+0:37 case: with expression
+0:37 Constant:
+0:37 1 (const int)
+0:? Sequence
+0:38 move second child to first child (temp highp float)
+0:38 'f' (temp highp float)
+0:38 sine (global highp float)
+0:38 'x' (smooth in highp float)
+0:39 Branch: Break
+0:40 case: with expression
+0:40 Constant:
+0:40 2 (const int)
+0:? Sequence
+0:41 move second child to first child (temp highp float)
+0:41 'f' (temp highp float)
+0:41 cosine (global highp float)
+0:41 'x' (smooth in highp float)
+0:42 Branch: Break
+0:43 default:
+0:? Sequence
+0:44 move second child to first child (temp highp float)
+0:44 'f' (temp highp float)
+0:44 tangent (global highp float)
+0:44 'x' (smooth in highp float)
+0:47 switch
+0:47 condition
+0:47 'c' (uniform mediump int)
+0:47 body
+0:47 Sequence
+0:48 case: with expression
+0:48 Constant:
+0:48 1 (const int)
+0:? Sequence
+0:49 move second child to first child (temp highp float)
+0:49 'f' (temp highp float)
+0:49 sine (global highp float)
+0:49 'x' (smooth in highp float)
+0:50 Branch: Break
+0:51 case: with expression
+0:51 Constant:
+0:51 2 (const int)
+0:? Sequence
+0:52 switch
+0:52 condition
+0:52 'd' (uniform mediump int)
+0:52 body
+0:52 Sequence
+0:53 case: with expression
+0:53 Constant:
+0:53 1 (const int)
+0:? Sequence
+0:54 move second child to first child (temp highp float)
+0:54 'f' (temp highp float)
+0:54 component-wise multiply (temp highp float)
+0:54 component-wise multiply (temp highp float)
+0:54 'x' (smooth in highp float)
+0:54 'x' (smooth in highp float)
+0:54 'x' (smooth in highp float)
+0:55 Branch: Break
+0:56 case: with expression
+0:56 Constant:
+0:56 2 (const int)
+0:? Sequence
+0:57 move second child to first child (temp highp float)
+0:57 'f' (temp highp float)
+0:57 component-wise multiply (temp highp float)
+0:57 'x' (smooth in highp float)
+0:57 'x' (smooth in highp float)
+0:58 Branch: Break
+0:60 Branch: Break
+0:61 default:
+0:? Sequence
+0:62 move second child to first child (temp highp float)
+0:62 'f' (temp highp float)
+0:62 tangent (global highp float)
+0:62 'x' (smooth in highp float)
+0:63 case: with expression
+0:63 Constant:
+0:63 1 (const int)
+0:? Sequence
+0:64 Branch: Break
+0:65 case: with expression
+0:65 Constant:
+0:65 3.800000
+0:? Sequence
+0:66 Branch: Break
+0:67 case: with expression
+0:67 'c' (uniform mediump int)
+0:? Sequence
+0:68 Branch: Break
+0:71 switch
+0:71 condition
+0:71 'c' (uniform mediump int)
+0:71 body
+0:71 Sequence
+0:72 case: with expression
+0:72 Constant:
+0:72 1 (const int)
+0:? Sequence
+0:73 move second child to first child (temp highp float)
+0:73 'f' (temp highp float)
+0:73 sine (global highp float)
+0:73 'x' (smooth in highp float)
+0:74 Branch: Break
+0:75 case: with expression
+0:75 Constant:
+0:75 2 (const int)
+0:? Sequence
+0:76 switch
+0:76 condition
+0:76 'd' (uniform mediump int)
+0:76 body
+0:76 Sequence
+0:77 case: with expression
+0:77 Constant:
+0:77 1 (const int)
+0:? Sequence
+0:78 move second child to first child (temp highp float)
+0:78 'f' (temp highp float)
+0:78 component-wise multiply (temp highp float)
+0:78 component-wise multiply (temp highp float)
+0:78 'x' (smooth in highp float)
+0:78 'x' (smooth in highp float)
+0:78 'x' (smooth in highp float)
+0:79 Branch: Break
+0:80 case: with expression
+0:80 Constant:
+0:80 2 (const int)
+0:? Sequence
+0:81 move second child to first child (temp highp float)
+0:81 'f' (temp highp float)
+0:81 component-wise multiply (temp highp float)
+0:81 'x' (smooth in highp float)
+0:81 'x' (smooth in highp float)
+0:82 Branch: Break
+0:84 Branch: Break
+0:85 default:
+0:? Sequence
+0:86 move second child to first child (temp highp float)
+0:86 'f' (temp highp float)
+0:86 tangent (global highp float)
+0:86 'x' (smooth in highp float)
+0:89 Branch: Break
+0:91 switch
+0:91 condition
+0:91 'c' (uniform mediump int)
+0:91 body
+0:91 Sequence
+0:92 case: with expression
+0:92 Constant:
+0:92 1 (const int)
+0:? Sequence
+0:93 move second child to first child (temp highp float)
+0:93 'f' (temp highp float)
+0:93 sine (global highp float)
+0:93 'x' (smooth in highp float)
+0:94 Branch: Break
+0:95 case: with expression
+0:95 Constant:
+0:95 2 (const int)
+0:? Sequence
+0:96 switch
+0:96 condition
+0:96 'd' (uniform mediump int)
+0:96 body
+0:96 Sequence
+0:97 case: with expression
+0:97 Constant:
+0:97 1 (const int)
+0:? Sequence
+0:? Sequence
+0:100 Branch: Break
+0:102 move second child to first child (temp highp float)
+0:102 'f' (temp highp float)
+0:102 component-wise multiply (temp highp float)
+0:102 component-wise multiply (temp highp float)
+0:102 'x' (smooth in highp float)
+0:102 'x' (smooth in highp float)
+0:102 'x' (smooth in highp float)
+0:103 Test condition and select (temp void)
+0:103 Condition
+0:103 Compare Less Than (temp bool)
+0:103 'c' (uniform mediump int)
+0:103 'd' (uniform mediump int)
+0:103 true case
+0:? Sequence
+0:105 move second child to first child (temp highp float)
+0:105 'f' (temp highp float)
+0:105 component-wise multiply (temp highp float)
+0:105 'x' (smooth in highp float)
+0:105 'x' (smooth in highp float)
+0:107 Test condition and select (temp void)
+0:107 Condition
+0:107 Compare Less Than (temp bool)
+0:107 'd' (uniform mediump int)
+0:107 'c' (uniform mediump int)
+0:107 true case is null
+0:109 Branch: Break
+0:111 Branch: Break
+0:112 case: with expression
+0:112 Constant:
+0:112 4 (const int)
+0:? Sequence
+0:113 move second child to first child (temp highp float)
+0:113 'f' (temp highp float)
+0:113 tangent (global highp float)
+0:113 'x' (smooth in highp float)
+0:114 Test condition and select (temp void)
+0:114 Condition
+0:114 Compare Less Than (temp bool)
+0:114 'f' (temp highp float)
+0:114 Constant:
+0:114 0.000000
+0:114 true case is null
+0:116 Branch: Break
+0:122 switch
+0:122 condition
+0:122 Constant:
+0:122 0 (const int)
+0:122 body
+0:122 Sequence
+0:123 default:
+0:? Sequence
+0:124 Sequence
+0:124 move second child to first child (temp mediump int)
+0:124 'onlyInSwitch' (temp mediump int)
+0:124 Constant:
+0:124 0 (const int)
+0:126 'onlyInSwitch' (temp float)
+0:128 switch
+0:128 condition
+0:128 Constant:
+0:128 0 (const int)
+0:128 body
+0:128 Sequence
+0:129 default:
+0:128 Sequence
+0:128 Branch: Break
+0:133 switch
+0:133 condition
+0:133 'c' (uniform mediump int)
+0:133 body
+0:133 Sequence
+0:134 case: with expression
+0:134 Constant:
+0:134 1 (const int)
+0:? Sequence
+0:? Sequence
+0:137 Branch: Break
+0:139 case: with expression
+0:139 Constant:
+0:139 2 (const int)
+0:? Sequence
+0:140 'nestedX' (temp float)
+0:143 Branch: Break
+0:144 case: with expression
+0:144 Constant:
+0:144 3 (const int)
+0:? Sequence
+0:146 Branch: Break
+0:147 Branch: Break
+0:148 case: with expression
+0:148 Constant:
+0:148 4 (const int)
+0:? Sequence
+0:149 Sequence
+0:149 move second child to first child (temp mediump int)
+0:149 'linearY' (temp mediump int)
+0:149 'linearZ' (temp mediump int)
+0:150 Branch: Break
+0:151 case: with expression
+0:151 Constant:
+0:151 5 (const int)
+0:? Sequence
+0:153 Branch: Break
+0:154 case: with expression
+0:154 Constant:
+0:154 6 (const int)
+0:? Sequence
+0:155 Constant:
+0:155 4 (const int)
+0:157 'nestedZ' (temp float)
+0:? Linker Objects
+0:? 'c' (uniform mediump int)
+0:? 'd' (uniform mediump int)
+0:? 'x' (smooth in highp float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/swizzle.frag.out b/chromium/third_party/glslang/src/Test/baseResults/swizzle.frag.out
new file mode 100644
index 00000000000..8e1b759c0b7
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/swizzle.frag.out
@@ -0,0 +1,423 @@
+swizzle.frag
+Shader version: 110
+0:? Sequence
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'blendscale' (temp float)
+0:11 Constant:
+0:11 1.789000
+0:13 Sequence
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'w' (temp 4-component vector of float)
+0:13 'u' (uniform 4-component vector of float)
+0:15 Sequence
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'w_dep' (temp 4-component vector of float)
+0:15 'u' (uniform 4-component vector of float)
+0:16 Sequence
+0:16 move second child to first child (temp 4-component vector of float)
+0:16 'w_reorder' (temp 4-component vector of float)
+0:16 'u' (uniform 4-component vector of float)
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'w2' (temp 4-component vector of float)
+0:17 'u' (uniform 4-component vector of float)
+0:18 Sequence
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'w_flow' (temp 4-component vector of float)
+0:18 'u' (uniform 4-component vector of float)
+0:20 move second child to first child (temp float)
+0:20 direct index (temp float)
+0:20 'w_reorder' (temp 4-component vector of float)
+0:20 Constant:
+0:20 2 (const int)
+0:20 'blendscale' (temp float)
+0:22 move second child to first child (temp 2-component vector of float)
+0:22 vector swizzle (temp 2-component vector of float)
+0:22 'w' (temp 4-component vector of float)
+0:22 Sequence
+0:22 Constant:
+0:22 3 (const int)
+0:22 Constant:
+0:22 1 (const int)
+0:22 't' (smooth in 2-component vector of float)
+0:24 move second child to first child (temp float)
+0:24 direct index (temp float)
+0:24 'w_reorder' (temp 4-component vector of float)
+0:24 Constant:
+0:24 0 (const int)
+0:24 'blendscale' (temp float)
+0:26 move second child to first child (temp 4-component vector of float)
+0:26 vector swizzle (temp 4-component vector of float)
+0:26 'w2' (temp 4-component vector of float)
+0:26 Sequence
+0:26 Constant:
+0:26 0 (const int)
+0:26 Constant:
+0:26 1 (const int)
+0:26 Constant:
+0:26 2 (const int)
+0:26 Constant:
+0:26 3 (const int)
+0:26 vector swizzle (temp 4-component vector of float)
+0:26 'u' (uniform 4-component vector of float)
+0:26 Sequence
+0:26 Constant:
+0:26 2 (const int)
+0:26 Constant:
+0:26 3 (const int)
+0:26 Constant:
+0:26 0 (const int)
+0:26 Constant:
+0:26 1 (const int)
+0:28 move second child to first child (temp float)
+0:28 direct index (temp float)
+0:28 'w_reorder' (temp 4-component vector of float)
+0:28 Constant:
+0:28 1 (const int)
+0:28 'blendscale' (temp float)
+0:30 move second child to first child (temp 2-component vector of float)
+0:30 vector swizzle (temp 2-component vector of float)
+0:30 'w_dep' (temp 4-component vector of float)
+0:30 Sequence
+0:30 Constant:
+0:30 0 (const int)
+0:30 Constant:
+0:30 1 (const int)
+0:30 vector swizzle (temp 2-component vector of float)
+0:30 'w2' (temp 4-component vector of float)
+0:30 Sequence
+0:30 Constant:
+0:30 0 (const int)
+0:30 Constant:
+0:30 2 (const int)
+0:31 move second child to first child (temp 2-component vector of float)
+0:31 vector swizzle (temp 2-component vector of float)
+0:31 'w_dep' (temp 4-component vector of float)
+0:31 Sequence
+0:31 Constant:
+0:31 2 (const int)
+0:31 Constant:
+0:31 3 (const int)
+0:31 't' (smooth in 2-component vector of float)
+0:33 move second child to first child (temp 2-component vector of float)
+0:33 vector swizzle (temp 2-component vector of float)
+0:33 'w_undef' (temp 4-component vector of float)
+0:33 Sequence
+0:33 Constant:
+0:33 0 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:33 vector swizzle (temp 2-component vector of float)
+0:33 'u' (uniform 4-component vector of float)
+0:33 Sequence
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 3 (const int)
+0:35 Test condition and select (temp void)
+0:35 Condition
+0:35 'p' (uniform bool)
+0:35 true case
+0:36 move second child to first child (temp float)
+0:36 direct index (temp float)
+0:36 'w_flow' (temp 4-component vector of float)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp float)
+0:36 't' (smooth in 2-component vector of float)
+0:36 Constant:
+0:36 0 (const int)
+0:35 false case
+0:38 move second child to first child (temp float)
+0:38 direct index (temp float)
+0:38 'w_flow' (temp 4-component vector of float)
+0:38 Constant:
+0:38 0 (const int)
+0:38 direct index (temp float)
+0:38 't' (smooth in 2-component vector of float)
+0:38 Constant:
+0:38 1 (const int)
+0:40 move second child to first child (temp 4-component vector of float)
+0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:40 mix (global 4-component vector of float)
+0:40 'w_reorder' (temp 4-component vector of float)
+0:40 'w_undef' (temp 4-component vector of float)
+0:40 component-wise multiply (temp 4-component vector of float)
+0:40 component-wise multiply (temp 4-component vector of float)
+0:40 component-wise multiply (temp 4-component vector of float)
+0:40 'w' (temp 4-component vector of float)
+0:40 'w2' (temp 4-component vector of float)
+0:40 'w_dep' (temp 4-component vector of float)
+0:40 'w_flow' (temp 4-component vector of float)
+0:42 Sequence
+0:42 move second child to first child (temp 2-component vector of float)
+0:42 'c' (temp 2-component vector of float)
+0:42 't' (smooth in 2-component vector of float)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of float)
+0:43 'rep' (temp 4-component vector of float)
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:45 Test condition and select (temp void)
+0:45 Condition
+0:45 Compare Less Than (temp bool)
+0:45 direct index (temp float)
+0:45 'c' (temp 2-component vector of float)
+0:45 Constant:
+0:45 0 (const int)
+0:45 Constant:
+0:45 0.000000
+0:45 true case
+0:46 multiply second child into first child (temp float)
+0:46 direct index (temp float)
+0:46 'c' (temp 2-component vector of float)
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 -1.000000
+0:48 Test condition and select (temp void)
+0:48 Condition
+0:48 Compare Less Than or Equal (temp bool)
+0:48 direct index (temp float)
+0:48 'c' (temp 2-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:48 Constant:
+0:48 1.000000
+0:48 true case
+0:49 move second child to first child (temp float)
+0:49 direct index (temp float)
+0:49 'rep' (temp 4-component vector of float)
+0:49 Constant:
+0:49 0 (const int)
+0:49 Constant:
+0:49 3.400000
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:51 'rep' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'blend' (uniform float)
+0:? 'u' (uniform 4-component vector of float)
+0:? 'p' (uniform bool)
+0:? 't' (smooth in 2-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'blendscale' (temp float)
+0:11 Constant:
+0:11 1.789000
+0:13 Sequence
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'w' (temp 4-component vector of float)
+0:13 'u' (uniform 4-component vector of float)
+0:15 Sequence
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'w_dep' (temp 4-component vector of float)
+0:15 'u' (uniform 4-component vector of float)
+0:16 Sequence
+0:16 move second child to first child (temp 4-component vector of float)
+0:16 'w_reorder' (temp 4-component vector of float)
+0:16 'u' (uniform 4-component vector of float)
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'w2' (temp 4-component vector of float)
+0:17 'u' (uniform 4-component vector of float)
+0:18 Sequence
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'w_flow' (temp 4-component vector of float)
+0:18 'u' (uniform 4-component vector of float)
+0:20 move second child to first child (temp float)
+0:20 direct index (temp float)
+0:20 'w_reorder' (temp 4-component vector of float)
+0:20 Constant:
+0:20 2 (const int)
+0:20 'blendscale' (temp float)
+0:22 move second child to first child (temp 2-component vector of float)
+0:22 vector swizzle (temp 2-component vector of float)
+0:22 'w' (temp 4-component vector of float)
+0:22 Sequence
+0:22 Constant:
+0:22 3 (const int)
+0:22 Constant:
+0:22 1 (const int)
+0:22 't' (smooth in 2-component vector of float)
+0:24 move second child to first child (temp float)
+0:24 direct index (temp float)
+0:24 'w_reorder' (temp 4-component vector of float)
+0:24 Constant:
+0:24 0 (const int)
+0:24 'blendscale' (temp float)
+0:26 move second child to first child (temp 4-component vector of float)
+0:26 vector swizzle (temp 4-component vector of float)
+0:26 'w2' (temp 4-component vector of float)
+0:26 Sequence
+0:26 Constant:
+0:26 0 (const int)
+0:26 Constant:
+0:26 1 (const int)
+0:26 Constant:
+0:26 2 (const int)
+0:26 Constant:
+0:26 3 (const int)
+0:26 vector swizzle (temp 4-component vector of float)
+0:26 'u' (uniform 4-component vector of float)
+0:26 Sequence
+0:26 Constant:
+0:26 2 (const int)
+0:26 Constant:
+0:26 3 (const int)
+0:26 Constant:
+0:26 0 (const int)
+0:26 Constant:
+0:26 1 (const int)
+0:28 move second child to first child (temp float)
+0:28 direct index (temp float)
+0:28 'w_reorder' (temp 4-component vector of float)
+0:28 Constant:
+0:28 1 (const int)
+0:28 'blendscale' (temp float)
+0:30 move second child to first child (temp 2-component vector of float)
+0:30 vector swizzle (temp 2-component vector of float)
+0:30 'w_dep' (temp 4-component vector of float)
+0:30 Sequence
+0:30 Constant:
+0:30 0 (const int)
+0:30 Constant:
+0:30 1 (const int)
+0:30 vector swizzle (temp 2-component vector of float)
+0:30 'w2' (temp 4-component vector of float)
+0:30 Sequence
+0:30 Constant:
+0:30 0 (const int)
+0:30 Constant:
+0:30 2 (const int)
+0:31 move second child to first child (temp 2-component vector of float)
+0:31 vector swizzle (temp 2-component vector of float)
+0:31 'w_dep' (temp 4-component vector of float)
+0:31 Sequence
+0:31 Constant:
+0:31 2 (const int)
+0:31 Constant:
+0:31 3 (const int)
+0:31 't' (smooth in 2-component vector of float)
+0:33 move second child to first child (temp 2-component vector of float)
+0:33 vector swizzle (temp 2-component vector of float)
+0:33 'w_undef' (temp 4-component vector of float)
+0:33 Sequence
+0:33 Constant:
+0:33 0 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:33 vector swizzle (temp 2-component vector of float)
+0:33 'u' (uniform 4-component vector of float)
+0:33 Sequence
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 3 (const int)
+0:35 Test condition and select (temp void)
+0:35 Condition
+0:35 'p' (uniform bool)
+0:35 true case
+0:36 move second child to first child (temp float)
+0:36 direct index (temp float)
+0:36 'w_flow' (temp 4-component vector of float)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp float)
+0:36 't' (smooth in 2-component vector of float)
+0:36 Constant:
+0:36 0 (const int)
+0:35 false case
+0:38 move second child to first child (temp float)
+0:38 direct index (temp float)
+0:38 'w_flow' (temp 4-component vector of float)
+0:38 Constant:
+0:38 0 (const int)
+0:38 direct index (temp float)
+0:38 't' (smooth in 2-component vector of float)
+0:38 Constant:
+0:38 1 (const int)
+0:40 move second child to first child (temp 4-component vector of float)
+0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:40 mix (global 4-component vector of float)
+0:40 'w_reorder' (temp 4-component vector of float)
+0:40 'w_undef' (temp 4-component vector of float)
+0:40 component-wise multiply (temp 4-component vector of float)
+0:40 component-wise multiply (temp 4-component vector of float)
+0:40 component-wise multiply (temp 4-component vector of float)
+0:40 'w' (temp 4-component vector of float)
+0:40 'w2' (temp 4-component vector of float)
+0:40 'w_dep' (temp 4-component vector of float)
+0:40 'w_flow' (temp 4-component vector of float)
+0:42 Sequence
+0:42 move second child to first child (temp 2-component vector of float)
+0:42 'c' (temp 2-component vector of float)
+0:42 't' (smooth in 2-component vector of float)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of float)
+0:43 'rep' (temp 4-component vector of float)
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:45 Test condition and select (temp void)
+0:45 Condition
+0:45 Compare Less Than (temp bool)
+0:45 direct index (temp float)
+0:45 'c' (temp 2-component vector of float)
+0:45 Constant:
+0:45 0 (const int)
+0:45 Constant:
+0:45 0.000000
+0:45 true case
+0:46 multiply second child into first child (temp float)
+0:46 direct index (temp float)
+0:46 'c' (temp 2-component vector of float)
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 -1.000000
+0:48 Test condition and select (temp void)
+0:48 Condition
+0:48 Compare Less Than or Equal (temp bool)
+0:48 direct index (temp float)
+0:48 'c' (temp 2-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:48 Constant:
+0:48 1.000000
+0:48 true case
+0:49 move second child to first child (temp float)
+0:49 direct index (temp float)
+0:49 'rep' (temp 4-component vector of float)
+0:49 Constant:
+0:49 0 (const int)
+0:49 Constant:
+0:49 3.400000
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:51 'rep' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'blend' (uniform float)
+0:? 'u' (uniform 4-component vector of float)
+0:? 'p' (uniform bool)
+0:? 't' (smooth in 2-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/syntaxError.frag.out b/chromium/third_party/glslang/src/Test/baseResults/syntaxError.frag.out
new file mode 100644
index 00000000000..af0e7323539
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/syntaxError.frag.out
@@ -0,0 +1,24 @@
+syntaxError.frag
+ERROR: 0:9: 'vec5' : undeclared identifier
+ERROR: 0:9: '' : syntax error
+ERROR: 2 compilation errors. No code generated.
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
+
+Linked fragment stage:
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/test.conf b/chromium/third_party/glslang/src/Test/baseResults/test.conf
new file mode 100644
index 00000000000..f156c5c6d5c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/test.conf
@@ -0,0 +1,92 @@
+MaxLights 32
+MaxClipPlanes 6
+MaxTextureUnits 32
+MaxTextureCoords 32
+MaxVertexAttribs 64
+MaxVertexUniformComponents 4096
+MaxVaryingFloats 64
+MaxVertexTextureImageUnits 32
+MaxCombinedTextureImageUnits 80
+MaxTextureImageUnits 32
+MaxFragmentUniformComponents 4096
+MaxDrawBuffers 32
+MaxVertexUniformVectors 128
+MaxVaryingVectors 8
+MaxFragmentUniformVectors 16
+MaxVertexOutputVectors 16
+MaxFragmentInputVectors 15
+MinProgramTexelOffset -8
+MaxProgramTexelOffset 7
+MaxClipDistances 8
+MaxComputeWorkGroupCountX 65535
+MaxComputeWorkGroupCountY 65535
+MaxComputeWorkGroupCountZ 65535
+MaxComputeWorkGroupSizeX 1024
+MaxComputeWorkGroupSizeY 1024
+MaxComputeWorkGroupSizeZ 64
+MaxComputeUniformComponents 1024
+MaxComputeTextureImageUnits 16
+MaxComputeImageUniforms 8
+MaxComputeAtomicCounters 8
+MaxComputeAtomicCounterBuffers 1
+MaxVaryingComponents 60
+MaxVertexOutputComponents 64
+MaxGeometryInputComponents 64
+MaxGeometryOutputComponents 128
+MaxFragmentInputComponents 128
+MaxImageUnits 8
+MaxCombinedImageUnitsAndFragmentOutputs 8
+MaxCombinedShaderOutputResources 8
+MaxImageSamples 0
+MaxVertexImageUniforms 0
+MaxTessControlImageUniforms 0
+MaxTessEvaluationImageUniforms 0
+MaxGeometryImageUniforms 0
+MaxFragmentImageUniforms 8
+MaxCombinedImageUniforms 8
+MaxGeometryTextureImageUnits 16
+MaxGeometryOutputVertices 256
+MaxGeometryTotalOutputComponents 1024
+MaxGeometryUniformComponents 1024
+MaxGeometryVaryingComponents 64
+MaxTessControlInputComponents 128
+MaxTessControlOutputComponents 128
+MaxTessControlTextureImageUnits 16
+MaxTessControlUniformComponents 1024
+MaxTessControlTotalOutputComponents 4096
+MaxTessEvaluationInputComponents 128
+MaxTessEvaluationOutputComponents 128
+MaxTessEvaluationTextureImageUnits 16
+MaxTessEvaluationUniformComponents 1024
+MaxTessPatchComponents 120
+MaxPatchVertices 32
+MaxTessGenLevel 64
+MaxViewports 16
+MaxVertexAtomicCounters 0
+MaxTessControlAtomicCounters 0
+MaxTessEvaluationAtomicCounters 0
+MaxGeometryAtomicCounters 0
+MaxFragmentAtomicCounters 8
+MaxCombinedAtomicCounters 8
+MaxAtomicCounterBindings 1
+MaxVertexAtomicCounterBuffers 0
+MaxTessControlAtomicCounterBuffers 0
+MaxTessEvaluationAtomicCounterBuffers 0
+MaxGeometryAtomicCounterBuffers 0
+MaxFragmentAtomicCounterBuffers 1
+MaxCombinedAtomicCounterBuffers 1
+MaxAtomicCounterBufferSize 16384
+MaxTransformFeedbackBuffers 4
+MaxTransformFeedbackInterleavedComponents 64
+MaxCullDistances 8
+MaxCombinedClipAndCullDistances 8
+MaxSamples 4
+nonInductiveForLoops 1
+whileLoops 1
+doWhileLoops 1
+generalUniformIndexing 1
+generalAttributeMatrixVectorIndexing 1
+generalVaryingIndexing 1
+generalSamplerIndexing 1
+generalVariableIndexing 1
+generalConstantMatrixVectorIndexing 1
diff --git a/chromium/third_party/glslang/src/Test/baseResults/test.frag.out b/chromium/third_party/glslang/src/Test/baseResults/test.frag.out
new file mode 100644
index 00000000000..e6b98766f36
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/test.frag.out
@@ -0,0 +1,115 @@
+test.frag
+Shader version: 110
+0:? Sequence
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:15 Sequence
+0:15 Sequence
+0:15 move second child to first child (temp float)
+0:15 'blendscale' (temp float)
+0:15 Constant:
+0:15 1.789000
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'v' (temp 4-component vector of float)
+0:17 vector swizzle (temp 4-component vector of float)
+0:17 texture (global 4-component vector of float)
+0:17 'texSampler2D' (uniform sampler2D)
+0:17 divide (temp 2-component vector of float)
+0:17 add (temp 2-component vector of float)
+0:17 't' (smooth in 2-component vector of float)
+0:17 'scale' (uniform 2-component vector of float)
+0:17 'scale' (uniform 2-component vector of float)
+0:17 Sequence
+0:17 Constant:
+0:17 3 (const int)
+0:17 Constant:
+0:17 2 (const int)
+0:17 Constant:
+0:17 1 (const int)
+0:17 Constant:
+0:17 0 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp 4-component vector of float)
+0:19 'w' (temp 4-component vector of float)
+0:19 add (temp 4-component vector of float)
+0:19 texture (global 4-component vector of float)
+0:19 'texSampler3D' (uniform sampler3D)
+0:19 'coords' (smooth in 3-component vector of float)
+0:19 'v' (temp 4-component vector of float)
+0:21 move second child to first child (temp 4-component vector of float)
+0:21 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:21 mix (global 4-component vector of float)
+0:21 'w' (temp 4-component vector of float)
+0:21 'u' (uniform 4-component vector of float)
+0:21 component-wise multiply (temp float)
+0:21 'blend' (uniform float)
+0:21 'blendscale' (temp float)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'texSampler3D' (uniform sampler3D)
+0:? 'blend' (uniform float)
+0:? 'scale' (uniform 2-component vector of float)
+0:? 'u' (uniform 4-component vector of float)
+0:? 't' (smooth in 2-component vector of float)
+0:? 'coords' (smooth in 3-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:15 Sequence
+0:15 Sequence
+0:15 move second child to first child (temp float)
+0:15 'blendscale' (temp float)
+0:15 Constant:
+0:15 1.789000
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'v' (temp 4-component vector of float)
+0:17 vector swizzle (temp 4-component vector of float)
+0:17 texture (global 4-component vector of float)
+0:17 'texSampler2D' (uniform sampler2D)
+0:17 divide (temp 2-component vector of float)
+0:17 add (temp 2-component vector of float)
+0:17 't' (smooth in 2-component vector of float)
+0:17 'scale' (uniform 2-component vector of float)
+0:17 'scale' (uniform 2-component vector of float)
+0:17 Sequence
+0:17 Constant:
+0:17 3 (const int)
+0:17 Constant:
+0:17 2 (const int)
+0:17 Constant:
+0:17 1 (const int)
+0:17 Constant:
+0:17 0 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp 4-component vector of float)
+0:19 'w' (temp 4-component vector of float)
+0:19 add (temp 4-component vector of float)
+0:19 texture (global 4-component vector of float)
+0:19 'texSampler3D' (uniform sampler3D)
+0:19 'coords' (smooth in 3-component vector of float)
+0:19 'v' (temp 4-component vector of float)
+0:21 move second child to first child (temp 4-component vector of float)
+0:21 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:21 mix (global 4-component vector of float)
+0:21 'w' (temp 4-component vector of float)
+0:21 'u' (uniform 4-component vector of float)
+0:21 component-wise multiply (temp float)
+0:21 'blend' (uniform float)
+0:21 'blendscale' (temp float)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'texSampler3D' (uniform sampler3D)
+0:? 'blend' (uniform float)
+0:? 'scale' (uniform 2-component vector of float)
+0:? 'u' (uniform 4-component vector of float)
+0:? 't' (smooth in 2-component vector of float)
+0:? 'coords' (smooth in 3-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/texture.frag.out b/chromium/third_party/glslang/src/Test/baseResults/texture.frag.out
new file mode 100644
index 00000000000..5e886095d19
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/texture.frag.out
@@ -0,0 +1,564 @@
+texture.frag
+WARNING: 0:14: varying deprecated in version 130; may be removed in future release
+WARNING: 0:15: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:17 Function Definition: main( (global void)
+0:17 Function Parameters:
+0:19 Sequence
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'blendscale' (temp float)
+0:19 Constant:
+0:19 1.789000
+0:20 Sequence
+0:20 move second child to first child (temp float)
+0:20 'bias' (temp float)
+0:20 Constant:
+0:20 2.000000
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'lod' (temp float)
+0:21 Constant:
+0:21 3.000000
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'proj' (temp float)
+0:22 Constant:
+0:22 2.000000
+0:23 Sequence
+0:23 move second child to first child (temp float)
+0:23 'coords1D' (temp float)
+0:23 Constant:
+0:23 1.789000
+0:24 Sequence
+0:24 move second child to first child (temp 3-component vector of float)
+0:24 'coords3D' (temp 3-component vector of float)
+0:24 Constant:
+0:24 1.789000
+0:24 2.718000
+0:24 3.453000
+0:25 Sequence
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 'coords4D' (temp 4-component vector of float)
+0:25 Constant:
+0:25 1.789000
+0:25 2.718000
+0:25 3.453000
+0:25 2.000000
+0:26 Sequence
+0:26 move second child to first child (temp 4-component vector of float)
+0:26 'color' (temp 4-component vector of float)
+0:26 Constant:
+0:26 0.000000
+0:26 0.000000
+0:26 0.000000
+0:26 0.000000
+0:28 add second child into first child (temp 4-component vector of float)
+0:28 'color' (temp 4-component vector of float)
+0:28 texture (global 4-component vector of float)
+0:28 'texSampler1D' (uniform sampler1D)
+0:28 'coords1D' (temp float)
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'color' (temp 4-component vector of float)
+0:29 texture (global 4-component vector of float)
+0:29 'texSampler1D' (uniform sampler1D)
+0:29 'coords1D' (temp float)
+0:29 'bias' (temp float)
+0:30 add second child into first child (temp 4-component vector of float)
+0:30 'color' (temp 4-component vector of float)
+0:30 textureProj (global 4-component vector of float)
+0:30 'texSampler1D' (uniform sampler1D)
+0:30 'coords2D' (smooth in 2-component vector of float)
+0:31 add second child into first child (temp 4-component vector of float)
+0:31 'color' (temp 4-component vector of float)
+0:31 textureProj (global 4-component vector of float)
+0:31 'texSampler1D' (uniform sampler1D)
+0:31 'coords4D' (temp 4-component vector of float)
+0:32 add second child into first child (temp 4-component vector of float)
+0:32 'color' (temp 4-component vector of float)
+0:32 textureProj (global 4-component vector of float)
+0:32 'texSampler1D' (uniform sampler1D)
+0:32 'coords2D' (smooth in 2-component vector of float)
+0:32 'bias' (temp float)
+0:33 add second child into first child (temp 4-component vector of float)
+0:33 'color' (temp 4-component vector of float)
+0:33 textureProj (global 4-component vector of float)
+0:33 'texSampler1D' (uniform sampler1D)
+0:33 'coords4D' (temp 4-component vector of float)
+0:33 'bias' (temp float)
+0:35 add second child into first child (temp 4-component vector of float)
+0:35 'color' (temp 4-component vector of float)
+0:35 texture (global 4-component vector of float)
+0:35 'texSampler2D' (uniform sampler2D)
+0:35 'coords2D' (smooth in 2-component vector of float)
+0:36 add second child into first child (temp 4-component vector of float)
+0:36 'color' (temp 4-component vector of float)
+0:36 texture (global 4-component vector of float)
+0:36 'texSampler2D' (uniform sampler2D)
+0:36 'coords2D' (smooth in 2-component vector of float)
+0:36 'bias' (temp float)
+0:37 add second child into first child (temp 4-component vector of float)
+0:37 'color' (temp 4-component vector of float)
+0:37 textureProj (global 4-component vector of float)
+0:37 'texSampler2D' (uniform sampler2D)
+0:37 'coords3D' (temp 3-component vector of float)
+0:38 add second child into first child (temp 4-component vector of float)
+0:38 'color' (temp 4-component vector of float)
+0:38 textureProj (global 4-component vector of float)
+0:38 'texSampler2D' (uniform sampler2D)
+0:38 'coords4D' (temp 4-component vector of float)
+0:38 'bias' (temp float)
+0:40 add second child into first child (temp 4-component vector of float)
+0:40 'color' (temp 4-component vector of float)
+0:40 texture (global 4-component vector of float)
+0:40 'texSampler3D' (uniform sampler3D)
+0:40 'coords3D' (temp 3-component vector of float)
+0:41 add second child into first child (temp 4-component vector of float)
+0:41 'color' (temp 4-component vector of float)
+0:41 texture (global 4-component vector of float)
+0:41 'texSampler3D' (uniform sampler3D)
+0:41 'coords3D' (temp 3-component vector of float)
+0:41 'bias' (temp float)
+0:42 add second child into first child (temp 4-component vector of float)
+0:42 'color' (temp 4-component vector of float)
+0:42 textureProj (global 4-component vector of float)
+0:42 'texSampler3D' (uniform sampler3D)
+0:42 'coords4D' (temp 4-component vector of float)
+0:43 add second child into first child (temp 4-component vector of float)
+0:43 'color' (temp 4-component vector of float)
+0:43 textureProj (global 4-component vector of float)
+0:43 'texSampler3D' (uniform sampler3D)
+0:43 'coords4D' (temp 4-component vector of float)
+0:43 'bias' (temp float)
+0:45 add second child into first child (temp 4-component vector of float)
+0:45 'color' (temp 4-component vector of float)
+0:45 texture (global 4-component vector of float)
+0:45 'texSamplerCube' (uniform samplerCube)
+0:45 'coords3D' (temp 3-component vector of float)
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'color' (temp 4-component vector of float)
+0:46 texture (global 4-component vector of float)
+0:46 'texSamplerCube' (uniform samplerCube)
+0:46 'coords3D' (temp 3-component vector of float)
+0:46 'bias' (temp float)
+0:48 add second child into first child (temp 4-component vector of float)
+0:48 'color' (temp 4-component vector of float)
+0:48 texture (global 4-component vector of float)
+0:48 'shadowSampler1D' (uniform sampler1DShadow)
+0:48 'coords3D' (temp 3-component vector of float)
+0:49 add second child into first child (temp 4-component vector of float)
+0:49 'color' (temp 4-component vector of float)
+0:49 texture (global 4-component vector of float)
+0:49 'shadowSampler1D' (uniform sampler1DShadow)
+0:49 'coords3D' (temp 3-component vector of float)
+0:49 'bias' (temp float)
+0:50 add second child into first child (temp 4-component vector of float)
+0:50 'color' (temp 4-component vector of float)
+0:50 texture (global 4-component vector of float)
+0:50 'shadowSampler2D' (uniform sampler2DShadow)
+0:50 'coords3D' (temp 3-component vector of float)
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'color' (temp 4-component vector of float)
+0:51 texture (global 4-component vector of float)
+0:51 'shadowSampler2D' (uniform sampler2DShadow)
+0:51 'coords3D' (temp 3-component vector of float)
+0:51 'bias' (temp float)
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'color' (temp 4-component vector of float)
+0:52 textureProj (global 4-component vector of float)
+0:52 'shadowSampler1D' (uniform sampler1DShadow)
+0:52 'coords4D' (temp 4-component vector of float)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'color' (temp 4-component vector of float)
+0:53 textureProj (global 4-component vector of float)
+0:53 'shadowSampler1D' (uniform sampler1DShadow)
+0:53 'coords4D' (temp 4-component vector of float)
+0:53 'bias' (temp float)
+0:54 add second child into first child (temp 4-component vector of float)
+0:54 'color' (temp 4-component vector of float)
+0:54 textureProj (global 4-component vector of float)
+0:54 'shadowSampler2D' (uniform sampler2DShadow)
+0:54 'coords4D' (temp 4-component vector of float)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'color' (temp 4-component vector of float)
+0:55 textureProj (global 4-component vector of float)
+0:55 'shadowSampler2D' (uniform sampler2DShadow)
+0:55 'coords4D' (temp 4-component vector of float)
+0:55 'bias' (temp float)
+0:57 Sequence
+0:57 move second child to first child (temp 2-component vector of int)
+0:57 'iCoords2D' (temp 2-component vector of int)
+0:57 Constant:
+0:57 0 (const int)
+0:57 5 (const int)
+0:58 Sequence
+0:58 move second child to first child (temp int)
+0:58 'iLod' (temp int)
+0:58 Constant:
+0:58 1 (const int)
+0:60 add second child into first child (temp 4-component vector of float)
+0:60 'color' (temp 4-component vector of float)
+0:60 textureFetch (global 4-component vector of float)
+0:60 'texSampler2D' (uniform sampler2D)
+0:60 'iCoords2D' (temp 2-component vector of int)
+0:60 'iLod' (temp int)
+0:62 Sequence
+0:62 move second child to first child (temp 2-component vector of float)
+0:62 'gradX' (temp 2-component vector of float)
+0:62 dPdx (global 2-component vector of float)
+0:62 'coords2D' (smooth in 2-component vector of float)
+0:63 Sequence
+0:63 move second child to first child (temp 2-component vector of float)
+0:63 'gradY' (temp 2-component vector of float)
+0:63 dPdy (global 2-component vector of float)
+0:63 'coords2D' (smooth in 2-component vector of float)
+0:66 add second child into first child (temp 4-component vector of float)
+0:66 'color' (temp 4-component vector of float)
+0:66 textureGrad (global 4-component vector of float)
+0:66 'texSampler2D' (uniform sampler2D)
+0:66 'coords2D' (smooth in 2-component vector of float)
+0:66 'gradX' (temp 2-component vector of float)
+0:66 'gradY' (temp 2-component vector of float)
+0:67 add second child into first child (temp 4-component vector of float)
+0:67 'color' (temp 4-component vector of float)
+0:67 textureProjGrad (global 4-component vector of float)
+0:67 'texSampler2D' (uniform sampler2D)
+0:67 Construct vec3 (temp 3-component vector of float)
+0:67 'coords2D' (smooth in 2-component vector of float)
+0:67 'proj' (temp float)
+0:67 'gradX' (temp 2-component vector of float)
+0:67 'gradY' (temp 2-component vector of float)
+0:68 add second child into first child (temp 4-component vector of float)
+0:68 'color' (temp 4-component vector of float)
+0:68 textureGradOffset (global 4-component vector of float)
+0:68 'texSampler2D' (uniform sampler2D)
+0:68 'coords2D' (smooth in 2-component vector of float)
+0:68 'gradX' (temp 2-component vector of float)
+0:68 'gradY' (temp 2-component vector of float)
+0:68 Constant:
+0:68 3 (const int)
+0:68 -7 (const int)
+0:69 add second child into first child (temp 4-component vector of float)
+0:69 'color' (temp 4-component vector of float)
+0:69 textureProjGradOffset (global 4-component vector of float)
+0:69 'texSampler2D' (uniform sampler2D)
+0:69 'coords3D' (temp 3-component vector of float)
+0:69 'gradX' (temp 2-component vector of float)
+0:69 'gradY' (temp 2-component vector of float)
+0:69 Constant:
+0:69 3 (const int)
+0:69 -7 (const int)
+0:70 add second child into first child (temp 4-component vector of float)
+0:70 'color' (temp 4-component vector of float)
+0:70 textureGrad (global float)
+0:70 'shadowSampler2D' (uniform sampler2DShadow)
+0:70 Construct vec3 (temp 3-component vector of float)
+0:70 'coords2D' (smooth in 2-component vector of float)
+0:70 'lod' (temp float)
+0:70 'gradX' (temp 2-component vector of float)
+0:70 'gradY' (temp 2-component vector of float)
+0:72 move second child to first child (temp 4-component vector of float)
+0:72 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:72 mix (global 4-component vector of float)
+0:72 'color' (temp 4-component vector of float)
+0:72 'u' (uniform 4-component vector of float)
+0:72 component-wise multiply (temp float)
+0:72 'blend' (uniform float)
+0:72 'blendscale' (temp float)
+0:? Linker Objects
+0:? 'texSampler1D' (uniform sampler1D)
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'texSampler3D' (uniform sampler3D)
+0:? 'texSamplerCube' (uniform samplerCube)
+0:? 'shadowSampler1D' (uniform sampler1DShadow)
+0:? 'shadowSampler2D' (uniform sampler2DShadow)
+0:? 'blend' (uniform float)
+0:? 'scale' (uniform 2-component vector of float)
+0:? 'u' (uniform 4-component vector of float)
+0:? 't' (smooth in 2-component vector of float)
+0:? 'coords2D' (smooth in 2-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:17 Function Definition: main( (global void)
+0:17 Function Parameters:
+0:19 Sequence
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'blendscale' (temp float)
+0:19 Constant:
+0:19 1.789000
+0:20 Sequence
+0:20 move second child to first child (temp float)
+0:20 'bias' (temp float)
+0:20 Constant:
+0:20 2.000000
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'lod' (temp float)
+0:21 Constant:
+0:21 3.000000
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'proj' (temp float)
+0:22 Constant:
+0:22 2.000000
+0:23 Sequence
+0:23 move second child to first child (temp float)
+0:23 'coords1D' (temp float)
+0:23 Constant:
+0:23 1.789000
+0:24 Sequence
+0:24 move second child to first child (temp 3-component vector of float)
+0:24 'coords3D' (temp 3-component vector of float)
+0:24 Constant:
+0:24 1.789000
+0:24 2.718000
+0:24 3.453000
+0:25 Sequence
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 'coords4D' (temp 4-component vector of float)
+0:25 Constant:
+0:25 1.789000
+0:25 2.718000
+0:25 3.453000
+0:25 2.000000
+0:26 Sequence
+0:26 move second child to first child (temp 4-component vector of float)
+0:26 'color' (temp 4-component vector of float)
+0:26 Constant:
+0:26 0.000000
+0:26 0.000000
+0:26 0.000000
+0:26 0.000000
+0:28 add second child into first child (temp 4-component vector of float)
+0:28 'color' (temp 4-component vector of float)
+0:28 texture (global 4-component vector of float)
+0:28 'texSampler1D' (uniform sampler1D)
+0:28 'coords1D' (temp float)
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'color' (temp 4-component vector of float)
+0:29 texture (global 4-component vector of float)
+0:29 'texSampler1D' (uniform sampler1D)
+0:29 'coords1D' (temp float)
+0:29 'bias' (temp float)
+0:30 add second child into first child (temp 4-component vector of float)
+0:30 'color' (temp 4-component vector of float)
+0:30 textureProj (global 4-component vector of float)
+0:30 'texSampler1D' (uniform sampler1D)
+0:30 'coords2D' (smooth in 2-component vector of float)
+0:31 add second child into first child (temp 4-component vector of float)
+0:31 'color' (temp 4-component vector of float)
+0:31 textureProj (global 4-component vector of float)
+0:31 'texSampler1D' (uniform sampler1D)
+0:31 'coords4D' (temp 4-component vector of float)
+0:32 add second child into first child (temp 4-component vector of float)
+0:32 'color' (temp 4-component vector of float)
+0:32 textureProj (global 4-component vector of float)
+0:32 'texSampler1D' (uniform sampler1D)
+0:32 'coords2D' (smooth in 2-component vector of float)
+0:32 'bias' (temp float)
+0:33 add second child into first child (temp 4-component vector of float)
+0:33 'color' (temp 4-component vector of float)
+0:33 textureProj (global 4-component vector of float)
+0:33 'texSampler1D' (uniform sampler1D)
+0:33 'coords4D' (temp 4-component vector of float)
+0:33 'bias' (temp float)
+0:35 add second child into first child (temp 4-component vector of float)
+0:35 'color' (temp 4-component vector of float)
+0:35 texture (global 4-component vector of float)
+0:35 'texSampler2D' (uniform sampler2D)
+0:35 'coords2D' (smooth in 2-component vector of float)
+0:36 add second child into first child (temp 4-component vector of float)
+0:36 'color' (temp 4-component vector of float)
+0:36 texture (global 4-component vector of float)
+0:36 'texSampler2D' (uniform sampler2D)
+0:36 'coords2D' (smooth in 2-component vector of float)
+0:36 'bias' (temp float)
+0:37 add second child into first child (temp 4-component vector of float)
+0:37 'color' (temp 4-component vector of float)
+0:37 textureProj (global 4-component vector of float)
+0:37 'texSampler2D' (uniform sampler2D)
+0:37 'coords3D' (temp 3-component vector of float)
+0:38 add second child into first child (temp 4-component vector of float)
+0:38 'color' (temp 4-component vector of float)
+0:38 textureProj (global 4-component vector of float)
+0:38 'texSampler2D' (uniform sampler2D)
+0:38 'coords4D' (temp 4-component vector of float)
+0:38 'bias' (temp float)
+0:40 add second child into first child (temp 4-component vector of float)
+0:40 'color' (temp 4-component vector of float)
+0:40 texture (global 4-component vector of float)
+0:40 'texSampler3D' (uniform sampler3D)
+0:40 'coords3D' (temp 3-component vector of float)
+0:41 add second child into first child (temp 4-component vector of float)
+0:41 'color' (temp 4-component vector of float)
+0:41 texture (global 4-component vector of float)
+0:41 'texSampler3D' (uniform sampler3D)
+0:41 'coords3D' (temp 3-component vector of float)
+0:41 'bias' (temp float)
+0:42 add second child into first child (temp 4-component vector of float)
+0:42 'color' (temp 4-component vector of float)
+0:42 textureProj (global 4-component vector of float)
+0:42 'texSampler3D' (uniform sampler3D)
+0:42 'coords4D' (temp 4-component vector of float)
+0:43 add second child into first child (temp 4-component vector of float)
+0:43 'color' (temp 4-component vector of float)
+0:43 textureProj (global 4-component vector of float)
+0:43 'texSampler3D' (uniform sampler3D)
+0:43 'coords4D' (temp 4-component vector of float)
+0:43 'bias' (temp float)
+0:45 add second child into first child (temp 4-component vector of float)
+0:45 'color' (temp 4-component vector of float)
+0:45 texture (global 4-component vector of float)
+0:45 'texSamplerCube' (uniform samplerCube)
+0:45 'coords3D' (temp 3-component vector of float)
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'color' (temp 4-component vector of float)
+0:46 texture (global 4-component vector of float)
+0:46 'texSamplerCube' (uniform samplerCube)
+0:46 'coords3D' (temp 3-component vector of float)
+0:46 'bias' (temp float)
+0:48 add second child into first child (temp 4-component vector of float)
+0:48 'color' (temp 4-component vector of float)
+0:48 texture (global 4-component vector of float)
+0:48 'shadowSampler1D' (uniform sampler1DShadow)
+0:48 'coords3D' (temp 3-component vector of float)
+0:49 add second child into first child (temp 4-component vector of float)
+0:49 'color' (temp 4-component vector of float)
+0:49 texture (global 4-component vector of float)
+0:49 'shadowSampler1D' (uniform sampler1DShadow)
+0:49 'coords3D' (temp 3-component vector of float)
+0:49 'bias' (temp float)
+0:50 add second child into first child (temp 4-component vector of float)
+0:50 'color' (temp 4-component vector of float)
+0:50 texture (global 4-component vector of float)
+0:50 'shadowSampler2D' (uniform sampler2DShadow)
+0:50 'coords3D' (temp 3-component vector of float)
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'color' (temp 4-component vector of float)
+0:51 texture (global 4-component vector of float)
+0:51 'shadowSampler2D' (uniform sampler2DShadow)
+0:51 'coords3D' (temp 3-component vector of float)
+0:51 'bias' (temp float)
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'color' (temp 4-component vector of float)
+0:52 textureProj (global 4-component vector of float)
+0:52 'shadowSampler1D' (uniform sampler1DShadow)
+0:52 'coords4D' (temp 4-component vector of float)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'color' (temp 4-component vector of float)
+0:53 textureProj (global 4-component vector of float)
+0:53 'shadowSampler1D' (uniform sampler1DShadow)
+0:53 'coords4D' (temp 4-component vector of float)
+0:53 'bias' (temp float)
+0:54 add second child into first child (temp 4-component vector of float)
+0:54 'color' (temp 4-component vector of float)
+0:54 textureProj (global 4-component vector of float)
+0:54 'shadowSampler2D' (uniform sampler2DShadow)
+0:54 'coords4D' (temp 4-component vector of float)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'color' (temp 4-component vector of float)
+0:55 textureProj (global 4-component vector of float)
+0:55 'shadowSampler2D' (uniform sampler2DShadow)
+0:55 'coords4D' (temp 4-component vector of float)
+0:55 'bias' (temp float)
+0:57 Sequence
+0:57 move second child to first child (temp 2-component vector of int)
+0:57 'iCoords2D' (temp 2-component vector of int)
+0:57 Constant:
+0:57 0 (const int)
+0:57 5 (const int)
+0:58 Sequence
+0:58 move second child to first child (temp int)
+0:58 'iLod' (temp int)
+0:58 Constant:
+0:58 1 (const int)
+0:60 add second child into first child (temp 4-component vector of float)
+0:60 'color' (temp 4-component vector of float)
+0:60 textureFetch (global 4-component vector of float)
+0:60 'texSampler2D' (uniform sampler2D)
+0:60 'iCoords2D' (temp 2-component vector of int)
+0:60 'iLod' (temp int)
+0:62 Sequence
+0:62 move second child to first child (temp 2-component vector of float)
+0:62 'gradX' (temp 2-component vector of float)
+0:62 dPdx (global 2-component vector of float)
+0:62 'coords2D' (smooth in 2-component vector of float)
+0:63 Sequence
+0:63 move second child to first child (temp 2-component vector of float)
+0:63 'gradY' (temp 2-component vector of float)
+0:63 dPdy (global 2-component vector of float)
+0:63 'coords2D' (smooth in 2-component vector of float)
+0:66 add second child into first child (temp 4-component vector of float)
+0:66 'color' (temp 4-component vector of float)
+0:66 textureGrad (global 4-component vector of float)
+0:66 'texSampler2D' (uniform sampler2D)
+0:66 'coords2D' (smooth in 2-component vector of float)
+0:66 'gradX' (temp 2-component vector of float)
+0:66 'gradY' (temp 2-component vector of float)
+0:67 add second child into first child (temp 4-component vector of float)
+0:67 'color' (temp 4-component vector of float)
+0:67 textureProjGrad (global 4-component vector of float)
+0:67 'texSampler2D' (uniform sampler2D)
+0:67 Construct vec3 (temp 3-component vector of float)
+0:67 'coords2D' (smooth in 2-component vector of float)
+0:67 'proj' (temp float)
+0:67 'gradX' (temp 2-component vector of float)
+0:67 'gradY' (temp 2-component vector of float)
+0:68 add second child into first child (temp 4-component vector of float)
+0:68 'color' (temp 4-component vector of float)
+0:68 textureGradOffset (global 4-component vector of float)
+0:68 'texSampler2D' (uniform sampler2D)
+0:68 'coords2D' (smooth in 2-component vector of float)
+0:68 'gradX' (temp 2-component vector of float)
+0:68 'gradY' (temp 2-component vector of float)
+0:68 Constant:
+0:68 3 (const int)
+0:68 -7 (const int)
+0:69 add second child into first child (temp 4-component vector of float)
+0:69 'color' (temp 4-component vector of float)
+0:69 textureProjGradOffset (global 4-component vector of float)
+0:69 'texSampler2D' (uniform sampler2D)
+0:69 'coords3D' (temp 3-component vector of float)
+0:69 'gradX' (temp 2-component vector of float)
+0:69 'gradY' (temp 2-component vector of float)
+0:69 Constant:
+0:69 3 (const int)
+0:69 -7 (const int)
+0:70 add second child into first child (temp 4-component vector of float)
+0:70 'color' (temp 4-component vector of float)
+0:70 textureGrad (global float)
+0:70 'shadowSampler2D' (uniform sampler2DShadow)
+0:70 Construct vec3 (temp 3-component vector of float)
+0:70 'coords2D' (smooth in 2-component vector of float)
+0:70 'lod' (temp float)
+0:70 'gradX' (temp 2-component vector of float)
+0:70 'gradY' (temp 2-component vector of float)
+0:72 move second child to first child (temp 4-component vector of float)
+0:72 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:72 mix (global 4-component vector of float)
+0:72 'color' (temp 4-component vector of float)
+0:72 'u' (uniform 4-component vector of float)
+0:72 component-wise multiply (temp float)
+0:72 'blend' (uniform float)
+0:72 'blendscale' (temp float)
+0:? Linker Objects
+0:? 'texSampler1D' (uniform sampler1D)
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'texSampler3D' (uniform sampler3D)
+0:? 'texSamplerCube' (uniform samplerCube)
+0:? 'shadowSampler1D' (uniform sampler1DShadow)
+0:? 'shadowSampler2D' (uniform sampler2DShadow)
+0:? 'blend' (uniform float)
+0:? 'scale' (uniform 2-component vector of float)
+0:? 'u' (uniform 4-component vector of float)
+0:? 't' (smooth in 2-component vector of float)
+0:? 'coords2D' (smooth in 2-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/tokenLength.vert.out b/chromium/third_party/glslang/src/Test/baseResults/tokenLength.vert.out
new file mode 100644
index 00000000000..26dabf0c08c
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/tokenLength.vert.out
@@ -0,0 +1,222 @@
+tokenLength.vert
+ERROR: 0:9: '' : numeric literal too big
+ERROR: 0:10: '' : numeric literal too big
+ERROR: 0:13: '' : octal literal too big
+ERROR: 0:14: '' : hexidecimal literal too big
+ERROR: 0:23: '' : float literal too long
+ERROR: 0:32: '' : name too long
+ERROR: 0:33: '' : hexidecimal literal too big
+ERROR: 0:34: '' : numeric literal too long
+ERROR: 0:34: '' : octal literal too big
+ERROR: 0:35: '' : numeric literal too long
+ERROR: 0:35: '' : numeric literal too big
+ERROR: 0:36: '' : float literal too long
+ERROR: 0:36: '' : float literal too long
+ERROR: 0:36: '' : float literal too long
+WARNING: 0:39: '#extension' : extension not supported: a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhooooooooooooooooooooooooooooooohhhhhhhhhhhhhhhhh01234
+ERROR: 0:40: '' : name too long
+WARNING: 0:40: '#extension' : extension not supported: a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhooooooooooooooooooooooooooooooohhhhhhhhhhhhhhhhh01234
+ERROR: 0:43: '' : name too long
+ERROR: 0:44: '#extension' : ':' missing after extension name
+ERROR: 0:47: '#error' : in long non - zero # if
+ERROR: 0:50: '#error' : in long zero # if
+ERROR: 0:52: '' : numeric literal too long
+ERROR: 0:53: '#error' : in too long # if
+ERROR: 0:56: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
+ERROR: 0:59: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+ERROR: 0:62: '' : name too long
+ERROR: 0:62: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+ERROR: 0:67: '' : numeric literal too long
+ERROR: 0:70: '' : name too long
+ERROR: 0:70: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+ERROR: 28 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:9 Sequence
+0:9 move second child to first child (temp highp int)
+0:9 'E1' (global highp int)
+0:9 Constant:
+0:9 -1 (const int)
+0:10 Sequence
+0:10 move second child to first child (temp highp int)
+0:10 'E2' (global highp int)
+0:10 Constant:
+0:10 -1 (const int)
+0:11 Sequence
+0:11 move second child to first child (temp highp int)
+0:11 'B' (global highp int)
+0:11 Constant:
+0:11 -1 (const int)
+0:13 Sequence
+0:13 move second child to first child (temp highp int)
+0:13 'OE' (global highp int)
+0:13 Constant:
+0:13 1073741823 (const int)
+0:14 Sequence
+0:14 move second child to first child (temp highp int)
+0:14 'HE' (global highp int)
+0:14 Constant:
+0:14 -1 (const int)
+0:17 Sequence
+0:17 move second child to first child (temp highp float)
+0:17 'F' (global highp float)
+0:17 Constant:
+0:17 1.012346
+0:20 Sequence
+0:20 move second child to first child (temp highp float)
+0:20 'G' (global highp float)
+0:20 Constant:
+0:20 1.012346
+0:23 Sequence
+0:23 move second child to first child (temp highp float)
+0:23 'E3' (global highp float)
+0:23 Constant:
+0:23 12.000000
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 move second child to first child (temp highp 4-component vector of float)
+0:27 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:28 Construct vec4 (temp highp 4-component vector of float)
+0:27 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
+0:28 Convert int to float (temp highp float)
+0:28 'B' (global highp int)
+0:28 'F' (global highp float)
+0:28 'G' (global highp float)
+0:33 Sequence
+0:33 move second child to first child (temp highp int)
+0:33 'superH' (global highp int)
+0:33 Constant:
+0:33 -1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp highp int)
+0:34 'superO' (global highp int)
+0:34 Constant:
+0:34 1073741823 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp highp int)
+0:35 'superI' (global highp int)
+0:35 Constant:
+0:35 -1 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp highp float)
+0:36 'superF' (global highp float)
+0:36 Constant:
+0:36 inf
+0:? Linker Objects
+0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
+0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
+0:? 'E1' (global highp int)
+0:? 'E2' (global highp int)
+0:? 'B' (global highp int)
+0:? 'OE' (global highp int)
+0:? 'HE' (global highp int)
+0:? 'F' (global highp float)
+0:? 'G' (global highp float)
+0:? 'E3' (global highp float)
+0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789B' (global highp float)
+0:? 'superH' (global highp int)
+0:? 'superO' (global highp int)
+0:? 'superI' (global highp int)
+0:? 'superF' (global highp float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:9 Sequence
+0:9 move second child to first child (temp highp int)
+0:9 'E1' (global highp int)
+0:9 Constant:
+0:9 -1 (const int)
+0:10 Sequence
+0:10 move second child to first child (temp highp int)
+0:10 'E2' (global highp int)
+0:10 Constant:
+0:10 -1 (const int)
+0:11 Sequence
+0:11 move second child to first child (temp highp int)
+0:11 'B' (global highp int)
+0:11 Constant:
+0:11 -1 (const int)
+0:13 Sequence
+0:13 move second child to first child (temp highp int)
+0:13 'OE' (global highp int)
+0:13 Constant:
+0:13 1073741823 (const int)
+0:14 Sequence
+0:14 move second child to first child (temp highp int)
+0:14 'HE' (global highp int)
+0:14 Constant:
+0:14 -1 (const int)
+0:17 Sequence
+0:17 move second child to first child (temp highp float)
+0:17 'F' (global highp float)
+0:17 Constant:
+0:17 1.012346
+0:20 Sequence
+0:20 move second child to first child (temp highp float)
+0:20 'G' (global highp float)
+0:20 Constant:
+0:20 1.012346
+0:23 Sequence
+0:23 move second child to first child (temp highp float)
+0:23 'E3' (global highp float)
+0:23 Constant:
+0:23 12.000000
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 move second child to first child (temp highp 4-component vector of float)
+0:27 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:28 Construct vec4 (temp highp 4-component vector of float)
+0:27 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
+0:28 Convert int to float (temp highp float)
+0:28 'B' (global highp int)
+0:28 'F' (global highp float)
+0:28 'G' (global highp float)
+0:33 Sequence
+0:33 move second child to first child (temp highp int)
+0:33 'superH' (global highp int)
+0:33 Constant:
+0:33 -1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp highp int)
+0:34 'superO' (global highp int)
+0:34 Constant:
+0:34 1073741823 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp highp int)
+0:35 'superI' (global highp int)
+0:35 Constant:
+0:35 -1 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp highp float)
+0:36 'superF' (global highp float)
+0:36 Constant:
+0:36 inf
+0:? Linker Objects
+0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
+0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
+0:? 'E1' (global highp int)
+0:? 'E2' (global highp int)
+0:? 'B' (global highp int)
+0:? 'OE' (global highp int)
+0:? 'HE' (global highp int)
+0:? 'F' (global highp float)
+0:? 'G' (global highp float)
+0:? 'E3' (global highp float)
+0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789B' (global highp float)
+0:? 'superH' (global highp int)
+0:? 'superO' (global highp int)
+0:? 'superI' (global highp int)
+0:? 'superF' (global highp float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/types.frag.out b/chromium/third_party/glslang/src/Test/baseResults/types.frag.out
new file mode 100644
index 00000000000..475a989c7e4
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/types.frag.out
@@ -0,0 +1,677 @@
+types.frag
+Shader version: 130
+0:? Sequence
+0:33 Function Definition: main( (global void)
+0:33 Function Parameters:
+0:35 Sequence
+0:35 Sequence
+0:35 move second child to first child (temp bool)
+0:35 'b' (temp bool)
+0:35 logical-and (temp bool)
+0:35 'u_b' (uniform bool)
+0:35 'i_b' (uniform bool)
+0:36 Sequence
+0:36 move second child to first child (temp 2-component vector of bool)
+0:36 'b2' (temp 2-component vector of bool)
+0:36 Construct bvec2 (temp 2-component vector of bool)
+0:36 logical-and (temp bool)
+0:36 logical-and (temp bool)
+0:36 logical-and (temp bool)
+0:36 direct index (temp bool)
+0:36 'u_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp bool)
+0:36 'i_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp bool)
+0:36 'u_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 1 (const int)
+0:36 direct index (temp bool)
+0:36 'i_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 1 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp 3-component vector of bool)
+0:37 'b3' (temp 3-component vector of bool)
+0:37 Construct bvec3 (temp 3-component vector of bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 direct index (temp bool)
+0:37 'u_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 0 (const int)
+0:37 direct index (temp bool)
+0:37 'i_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 0 (const int)
+0:37 direct index (temp bool)
+0:37 'u_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 1 (const int)
+0:37 direct index (temp bool)
+0:37 'i_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 1 (const int)
+0:37 direct index (temp bool)
+0:37 'u_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 2 (const int)
+0:37 direct index (temp bool)
+0:37 'i_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 2 (const int)
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of bool)
+0:38 'b4' (temp 4-component vector of bool)
+0:38 Construct bvec4 (temp 4-component vector of bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 0 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 0 (const int)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 1 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 1 (const int)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 2 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 2 (const int)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 3 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 3 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp int)
+0:40 'i' (temp int)
+0:40 add (temp int)
+0:40 'u_i' (uniform int)
+0:40 'i_i' (flat in int)
+0:41 Sequence
+0:41 move second child to first child (temp 2-component vector of int)
+0:41 'i2' (temp 2-component vector of int)
+0:41 add (temp 2-component vector of int)
+0:41 'u_i2' (uniform 2-component vector of int)
+0:41 'i_i2' (flat in 2-component vector of int)
+0:42 Sequence
+0:42 move second child to first child (temp 3-component vector of int)
+0:42 'i3' (temp 3-component vector of int)
+0:42 add (temp 3-component vector of int)
+0:42 'u_i3' (uniform 3-component vector of int)
+0:42 'i_i3' (flat in 3-component vector of int)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of int)
+0:43 'i4' (temp 4-component vector of int)
+0:43 add (temp 4-component vector of int)
+0:43 'u_i4' (uniform 4-component vector of int)
+0:43 'i_i4' (flat in 4-component vector of int)
+0:45 Sequence
+0:45 move second child to first child (temp float)
+0:45 'f' (temp float)
+0:45 add (temp float)
+0:45 'u_f' (uniform float)
+0:45 'i_f' (smooth in float)
+0:46 Sequence
+0:46 move second child to first child (temp 2-component vector of float)
+0:46 'f2' (temp 2-component vector of float)
+0:46 add (temp 2-component vector of float)
+0:46 'u_f2' (uniform 2-component vector of float)
+0:46 'i_f2' (smooth in 2-component vector of float)
+0:47 Sequence
+0:47 move second child to first child (temp 3-component vector of float)
+0:47 'f3' (temp 3-component vector of float)
+0:47 add (temp 3-component vector of float)
+0:47 'u_f3' (uniform 3-component vector of float)
+0:47 'i_f3' (smooth in 3-component vector of float)
+0:48 Sequence
+0:48 move second child to first child (temp 4-component vector of float)
+0:48 'f4' (temp 4-component vector of float)
+0:48 add (temp 4-component vector of float)
+0:48 'u_f4' (uniform 4-component vector of float)
+0:48 'i_f4' (smooth in 4-component vector of float)
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:60 Test condition and select (temp 4-component vector of float)
+0:60 Condition
+0:59 logical-or (temp bool)
+0:58 logical-or (temp bool)
+0:57 logical-or (temp bool)
+0:56 logical-or (temp bool)
+0:55 logical-or (temp bool)
+0:54 logical-or (temp bool)
+0:53 logical-or (temp bool)
+0:52 logical-or (temp bool)
+0:51 logical-or (temp bool)
+0:51 'b' (temp bool)
+0:52 direct index (temp bool)
+0:52 'b2' (temp 2-component vector of bool)
+0:52 Constant:
+0:52 0 (const int)
+0:53 direct index (temp bool)
+0:53 'b2' (temp 2-component vector of bool)
+0:53 Constant:
+0:53 1 (const int)
+0:54 direct index (temp bool)
+0:54 'b3' (temp 3-component vector of bool)
+0:54 Constant:
+0:54 0 (const int)
+0:55 direct index (temp bool)
+0:55 'b3' (temp 3-component vector of bool)
+0:55 Constant:
+0:55 1 (const int)
+0:56 direct index (temp bool)
+0:56 'b3' (temp 3-component vector of bool)
+0:56 Constant:
+0:56 2 (const int)
+0:57 direct index (temp bool)
+0:57 'b4' (temp 4-component vector of bool)
+0:57 Constant:
+0:57 0 (const int)
+0:58 direct index (temp bool)
+0:58 'b4' (temp 4-component vector of bool)
+0:58 Constant:
+0:58 1 (const int)
+0:59 direct index (temp bool)
+0:59 'b4' (temp 4-component vector of bool)
+0:59 Constant:
+0:59 2 (const int)
+0:60 direct index (temp bool)
+0:60 'b4' (temp 4-component vector of bool)
+0:60 Constant:
+0:60 3 (const int)
+0:60 true case
+0:79 Construct vec4 (temp 4-component vector of float)
+0:79 add (temp float)
+0:78 add (temp float)
+0:77 add (temp float)
+0:76 add (temp float)
+0:75 add (temp float)
+0:74 add (temp float)
+0:73 add (temp float)
+0:72 add (temp float)
+0:71 add (temp float)
+0:70 add (temp float)
+0:69 Convert int to float (temp float)
+0:69 add (temp int)
+0:68 add (temp int)
+0:67 add (temp int)
+0:66 add (temp int)
+0:65 add (temp int)
+0:64 add (temp int)
+0:63 add (temp int)
+0:62 add (temp int)
+0:61 add (temp int)
+0:61 'i' (temp int)
+0:62 direct index (temp int)
+0:62 'i2' (temp 2-component vector of int)
+0:62 Constant:
+0:62 0 (const int)
+0:63 direct index (temp int)
+0:63 'i2' (temp 2-component vector of int)
+0:63 Constant:
+0:63 1 (const int)
+0:64 direct index (temp int)
+0:64 'i3' (temp 3-component vector of int)
+0:64 Constant:
+0:64 0 (const int)
+0:65 direct index (temp int)
+0:65 'i3' (temp 3-component vector of int)
+0:65 Constant:
+0:65 1 (const int)
+0:66 direct index (temp int)
+0:66 'i3' (temp 3-component vector of int)
+0:66 Constant:
+0:66 2 (const int)
+0:67 direct index (temp int)
+0:67 'i4' (temp 4-component vector of int)
+0:67 Constant:
+0:67 0 (const int)
+0:68 direct index (temp int)
+0:68 'i4' (temp 4-component vector of int)
+0:68 Constant:
+0:68 1 (const int)
+0:69 direct index (temp int)
+0:69 'i4' (temp 4-component vector of int)
+0:69 Constant:
+0:69 2 (const int)
+0:70 direct index (temp int)
+0:70 'i4' (temp 4-component vector of int)
+0:70 Constant:
+0:70 3 (const int)
+0:71 'f' (temp float)
+0:72 direct index (temp float)
+0:72 'f2' (temp 2-component vector of float)
+0:72 Constant:
+0:72 0 (const int)
+0:73 direct index (temp float)
+0:73 'f2' (temp 2-component vector of float)
+0:73 Constant:
+0:73 1 (const int)
+0:74 direct index (temp float)
+0:74 'f3' (temp 3-component vector of float)
+0:74 Constant:
+0:74 0 (const int)
+0:75 direct index (temp float)
+0:75 'f3' (temp 3-component vector of float)
+0:75 Constant:
+0:75 1 (const int)
+0:76 direct index (temp float)
+0:76 'f3' (temp 3-component vector of float)
+0:76 Constant:
+0:76 2 (const int)
+0:77 direct index (temp float)
+0:77 'f4' (temp 4-component vector of float)
+0:77 Constant:
+0:77 0 (const int)
+0:78 direct index (temp float)
+0:78 'f4' (temp 4-component vector of float)
+0:78 Constant:
+0:78 1 (const int)
+0:79 direct index (temp float)
+0:79 'f4' (temp 4-component vector of float)
+0:79 Constant:
+0:79 2 (const int)
+0:80 direct index (temp float)
+0:80 'f4' (temp 4-component vector of float)
+0:80 Constant:
+0:80 3 (const int)
+0:60 false case
+0:80 Constant:
+0:80 1.000000
+0:80 1.000000
+0:80 1.000000
+0:80 1.000000
+0:? Linker Objects
+0:? 'u_b' (uniform bool)
+0:? 'u_b2' (uniform 2-component vector of bool)
+0:? 'u_b3' (uniform 3-component vector of bool)
+0:? 'u_b4' (uniform 4-component vector of bool)
+0:? 'u_i' (uniform int)
+0:? 'u_i2' (uniform 2-component vector of int)
+0:? 'u_i3' (uniform 3-component vector of int)
+0:? 'u_i4' (uniform 4-component vector of int)
+0:? 'u_f' (uniform float)
+0:? 'u_f2' (uniform 2-component vector of float)
+0:? 'u_f3' (uniform 3-component vector of float)
+0:? 'u_f4' (uniform 4-component vector of float)
+0:? 'i_b' (uniform bool)
+0:? 'i_b2' (uniform 2-component vector of bool)
+0:? 'i_b3' (uniform 3-component vector of bool)
+0:? 'i_b4' (uniform 4-component vector of bool)
+0:? 'i_i' (flat in int)
+0:? 'i_i2' (flat in 2-component vector of int)
+0:? 'i_i3' (flat in 3-component vector of int)
+0:? 'i_i4' (flat in 4-component vector of int)
+0:? 'i_f' (smooth in float)
+0:? 'i_f2' (smooth in 2-component vector of float)
+0:? 'i_f3' (smooth in 3-component vector of float)
+0:? 'i_f4' (smooth in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:33 Function Definition: main( (global void)
+0:33 Function Parameters:
+0:35 Sequence
+0:35 Sequence
+0:35 move second child to first child (temp bool)
+0:35 'b' (temp bool)
+0:35 logical-and (temp bool)
+0:35 'u_b' (uniform bool)
+0:35 'i_b' (uniform bool)
+0:36 Sequence
+0:36 move second child to first child (temp 2-component vector of bool)
+0:36 'b2' (temp 2-component vector of bool)
+0:36 Construct bvec2 (temp 2-component vector of bool)
+0:36 logical-and (temp bool)
+0:36 logical-and (temp bool)
+0:36 logical-and (temp bool)
+0:36 direct index (temp bool)
+0:36 'u_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp bool)
+0:36 'i_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp bool)
+0:36 'u_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 1 (const int)
+0:36 direct index (temp bool)
+0:36 'i_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 1 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp 3-component vector of bool)
+0:37 'b3' (temp 3-component vector of bool)
+0:37 Construct bvec3 (temp 3-component vector of bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 direct index (temp bool)
+0:37 'u_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 0 (const int)
+0:37 direct index (temp bool)
+0:37 'i_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 0 (const int)
+0:37 direct index (temp bool)
+0:37 'u_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 1 (const int)
+0:37 direct index (temp bool)
+0:37 'i_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 1 (const int)
+0:37 direct index (temp bool)
+0:37 'u_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 2 (const int)
+0:37 direct index (temp bool)
+0:37 'i_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 2 (const int)
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of bool)
+0:38 'b4' (temp 4-component vector of bool)
+0:38 Construct bvec4 (temp 4-component vector of bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 0 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 0 (const int)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 1 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 1 (const int)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 2 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 2 (const int)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 3 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 3 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp int)
+0:40 'i' (temp int)
+0:40 add (temp int)
+0:40 'u_i' (uniform int)
+0:40 'i_i' (flat in int)
+0:41 Sequence
+0:41 move second child to first child (temp 2-component vector of int)
+0:41 'i2' (temp 2-component vector of int)
+0:41 add (temp 2-component vector of int)
+0:41 'u_i2' (uniform 2-component vector of int)
+0:41 'i_i2' (flat in 2-component vector of int)
+0:42 Sequence
+0:42 move second child to first child (temp 3-component vector of int)
+0:42 'i3' (temp 3-component vector of int)
+0:42 add (temp 3-component vector of int)
+0:42 'u_i3' (uniform 3-component vector of int)
+0:42 'i_i3' (flat in 3-component vector of int)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of int)
+0:43 'i4' (temp 4-component vector of int)
+0:43 add (temp 4-component vector of int)
+0:43 'u_i4' (uniform 4-component vector of int)
+0:43 'i_i4' (flat in 4-component vector of int)
+0:45 Sequence
+0:45 move second child to first child (temp float)
+0:45 'f' (temp float)
+0:45 add (temp float)
+0:45 'u_f' (uniform float)
+0:45 'i_f' (smooth in float)
+0:46 Sequence
+0:46 move second child to first child (temp 2-component vector of float)
+0:46 'f2' (temp 2-component vector of float)
+0:46 add (temp 2-component vector of float)
+0:46 'u_f2' (uniform 2-component vector of float)
+0:46 'i_f2' (smooth in 2-component vector of float)
+0:47 Sequence
+0:47 move second child to first child (temp 3-component vector of float)
+0:47 'f3' (temp 3-component vector of float)
+0:47 add (temp 3-component vector of float)
+0:47 'u_f3' (uniform 3-component vector of float)
+0:47 'i_f3' (smooth in 3-component vector of float)
+0:48 Sequence
+0:48 move second child to first child (temp 4-component vector of float)
+0:48 'f4' (temp 4-component vector of float)
+0:48 add (temp 4-component vector of float)
+0:48 'u_f4' (uniform 4-component vector of float)
+0:48 'i_f4' (smooth in 4-component vector of float)
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:60 Test condition and select (temp 4-component vector of float)
+0:60 Condition
+0:59 logical-or (temp bool)
+0:58 logical-or (temp bool)
+0:57 logical-or (temp bool)
+0:56 logical-or (temp bool)
+0:55 logical-or (temp bool)
+0:54 logical-or (temp bool)
+0:53 logical-or (temp bool)
+0:52 logical-or (temp bool)
+0:51 logical-or (temp bool)
+0:51 'b' (temp bool)
+0:52 direct index (temp bool)
+0:52 'b2' (temp 2-component vector of bool)
+0:52 Constant:
+0:52 0 (const int)
+0:53 direct index (temp bool)
+0:53 'b2' (temp 2-component vector of bool)
+0:53 Constant:
+0:53 1 (const int)
+0:54 direct index (temp bool)
+0:54 'b3' (temp 3-component vector of bool)
+0:54 Constant:
+0:54 0 (const int)
+0:55 direct index (temp bool)
+0:55 'b3' (temp 3-component vector of bool)
+0:55 Constant:
+0:55 1 (const int)
+0:56 direct index (temp bool)
+0:56 'b3' (temp 3-component vector of bool)
+0:56 Constant:
+0:56 2 (const int)
+0:57 direct index (temp bool)
+0:57 'b4' (temp 4-component vector of bool)
+0:57 Constant:
+0:57 0 (const int)
+0:58 direct index (temp bool)
+0:58 'b4' (temp 4-component vector of bool)
+0:58 Constant:
+0:58 1 (const int)
+0:59 direct index (temp bool)
+0:59 'b4' (temp 4-component vector of bool)
+0:59 Constant:
+0:59 2 (const int)
+0:60 direct index (temp bool)
+0:60 'b4' (temp 4-component vector of bool)
+0:60 Constant:
+0:60 3 (const int)
+0:60 true case
+0:79 Construct vec4 (temp 4-component vector of float)
+0:79 add (temp float)
+0:78 add (temp float)
+0:77 add (temp float)
+0:76 add (temp float)
+0:75 add (temp float)
+0:74 add (temp float)
+0:73 add (temp float)
+0:72 add (temp float)
+0:71 add (temp float)
+0:70 add (temp float)
+0:69 Convert int to float (temp float)
+0:69 add (temp int)
+0:68 add (temp int)
+0:67 add (temp int)
+0:66 add (temp int)
+0:65 add (temp int)
+0:64 add (temp int)
+0:63 add (temp int)
+0:62 add (temp int)
+0:61 add (temp int)
+0:61 'i' (temp int)
+0:62 direct index (temp int)
+0:62 'i2' (temp 2-component vector of int)
+0:62 Constant:
+0:62 0 (const int)
+0:63 direct index (temp int)
+0:63 'i2' (temp 2-component vector of int)
+0:63 Constant:
+0:63 1 (const int)
+0:64 direct index (temp int)
+0:64 'i3' (temp 3-component vector of int)
+0:64 Constant:
+0:64 0 (const int)
+0:65 direct index (temp int)
+0:65 'i3' (temp 3-component vector of int)
+0:65 Constant:
+0:65 1 (const int)
+0:66 direct index (temp int)
+0:66 'i3' (temp 3-component vector of int)
+0:66 Constant:
+0:66 2 (const int)
+0:67 direct index (temp int)
+0:67 'i4' (temp 4-component vector of int)
+0:67 Constant:
+0:67 0 (const int)
+0:68 direct index (temp int)
+0:68 'i4' (temp 4-component vector of int)
+0:68 Constant:
+0:68 1 (const int)
+0:69 direct index (temp int)
+0:69 'i4' (temp 4-component vector of int)
+0:69 Constant:
+0:69 2 (const int)
+0:70 direct index (temp int)
+0:70 'i4' (temp 4-component vector of int)
+0:70 Constant:
+0:70 3 (const int)
+0:71 'f' (temp float)
+0:72 direct index (temp float)
+0:72 'f2' (temp 2-component vector of float)
+0:72 Constant:
+0:72 0 (const int)
+0:73 direct index (temp float)
+0:73 'f2' (temp 2-component vector of float)
+0:73 Constant:
+0:73 1 (const int)
+0:74 direct index (temp float)
+0:74 'f3' (temp 3-component vector of float)
+0:74 Constant:
+0:74 0 (const int)
+0:75 direct index (temp float)
+0:75 'f3' (temp 3-component vector of float)
+0:75 Constant:
+0:75 1 (const int)
+0:76 direct index (temp float)
+0:76 'f3' (temp 3-component vector of float)
+0:76 Constant:
+0:76 2 (const int)
+0:77 direct index (temp float)
+0:77 'f4' (temp 4-component vector of float)
+0:77 Constant:
+0:77 0 (const int)
+0:78 direct index (temp float)
+0:78 'f4' (temp 4-component vector of float)
+0:78 Constant:
+0:78 1 (const int)
+0:79 direct index (temp float)
+0:79 'f4' (temp 4-component vector of float)
+0:79 Constant:
+0:79 2 (const int)
+0:80 direct index (temp float)
+0:80 'f4' (temp 4-component vector of float)
+0:80 Constant:
+0:80 3 (const int)
+0:60 false case
+0:80 Constant:
+0:80 1.000000
+0:80 1.000000
+0:80 1.000000
+0:80 1.000000
+0:? Linker Objects
+0:? 'u_b' (uniform bool)
+0:? 'u_b2' (uniform 2-component vector of bool)
+0:? 'u_b3' (uniform 3-component vector of bool)
+0:? 'u_b4' (uniform 4-component vector of bool)
+0:? 'u_i' (uniform int)
+0:? 'u_i2' (uniform 2-component vector of int)
+0:? 'u_i3' (uniform 3-component vector of int)
+0:? 'u_i4' (uniform 4-component vector of int)
+0:? 'u_f' (uniform float)
+0:? 'u_f2' (uniform 2-component vector of float)
+0:? 'u_f3' (uniform 3-component vector of float)
+0:? 'u_f4' (uniform 4-component vector of float)
+0:? 'i_b' (uniform bool)
+0:? 'i_b2' (uniform 2-component vector of bool)
+0:? 'i_b3' (uniform 3-component vector of bool)
+0:? 'i_b4' (uniform 4-component vector of bool)
+0:? 'i_i' (flat in int)
+0:? 'i_i2' (flat in 2-component vector of int)
+0:? 'i_i3' (flat in 3-component vector of int)
+0:? 'i_i4' (flat in 4-component vector of int)
+0:? 'i_f' (smooth in float)
+0:? 'i_f2' (smooth in 2-component vector of float)
+0:? 'i_f3' (smooth in 3-component vector of float)
+0:? 'i_f4' (smooth in 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/uint.frag.out b/chromium/third_party/glslang/src/Test/baseResults/uint.frag.out
new file mode 100644
index 00000000000..dbe9578d285
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/uint.frag.out
@@ -0,0 +1,607 @@
+uint.frag
+ERROR: 0:2: 'uint' : must be qualified as flat in
+ERROR: 0:6: 'in' : cannot be bool
+ERROR: 0:20: 'const' : non-matching or non-convertible constant type for const initializer
+ERROR: 0:24: 'const' : non-matching or non-convertible constant type for const initializer
+ERROR: 0:34: 'const' : non-matching or non-convertible constant type for const initializer
+ERROR: 0:37: 'const' : non-matching or non-convertible constant type for const initializer
+ERROR: 0:48: '=' : cannot convert from 'const int' to 'temp mediump uint'
+ERROR: 0:51: '=' : cannot convert from 'const int' to 'temp mediump uint'
+ERROR: 0:63: 'float' : type requires declaration of default precision qualifier
+ERROR: 9 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp mediump int)
+0:17 'count' (temp mediump int)
+0:17 Constant:
+0:17 1 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp mediump uint)
+0:19 'u' (temp mediump uint)
+0:19 add (temp mediump uint)
+0:19 direct index (temp mediump uint)
+0:19 't' (flat in mediump 2-component vector of uint)
+0:19 Constant:
+0:19 1 (const int)
+0:19 Constant:
+0:19 3 (const uint)
+0:27 Test condition and select (temp void)
+0:27 Condition
+0:27 Constant:
+0:27 true (const bool)
+0:27 true case
+0:28 multiply second child into first child (temp mediump int)
+0:28 'count' (temp mediump int)
+0:28 Constant:
+0:28 2 (const int)
+0:29 Test condition and select (temp void)
+0:29 Condition
+0:29 Constant:
+0:29 true (const bool)
+0:29 true case
+0:30 multiply second child into first child (temp mediump int)
+0:30 'count' (temp mediump int)
+0:30 Constant:
+0:30 3 (const int)
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Constant:
+0:31 false (const bool)
+0:31 true case
+0:32 multiply second child into first child (temp mediump int)
+0:32 'count' (temp mediump int)
+0:32 Constant:
+0:32 5 (const int)
+0:41 Test condition and select (temp void)
+0:41 Condition
+0:41 Constant:
+0:41 true (const bool)
+0:41 true case
+0:42 multiply second child into first child (temp mediump int)
+0:42 'count' (temp mediump int)
+0:42 Constant:
+0:42 7 (const int)
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:43 Constant:
+0:43 true (const bool)
+0:43 true case
+0:44 multiply second child into first child (temp mediump int)
+0:44 'count' (temp mediump int)
+0:44 Constant:
+0:44 11 (const int)
+0:45 Test condition and select (temp void)
+0:45 Condition
+0:45 Constant:
+0:45 false (const bool)
+0:45 true case
+0:46 multiply second child into first child (temp mediump int)
+0:46 'count' (temp mediump int)
+0:46 Constant:
+0:46 13 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp mediump int)
+0:49 'shiftedii' (temp mediump int)
+0:49 Constant:
+0:49 -1 (const int)
+0:50 Sequence
+0:50 move second child to first child (temp mediump uint)
+0:50 'shiftedui' (temp mediump uint)
+0:50 Constant:
+0:50 4194303 (const uint)
+0:52 Sequence
+0:52 move second child to first child (temp mediump int)
+0:52 'shiftediu' (temp mediump int)
+0:52 Constant:
+0:52 -1 (const int)
+0:53 Sequence
+0:53 move second child to first child (temp mediump uint)
+0:53 'shifteduu' (temp mediump uint)
+0:53 Constant:
+0:53 4194303 (const uint)
+0:55 Test condition and select (temp void)
+0:55 Condition
+0:55 Compare Equal (temp bool)
+0:55 'shiftedii' (temp mediump int)
+0:55 'shiftediu' (temp mediump int)
+0:55 true case
+0:56 move second child to first child (temp mediump 4-component vector of uint)
+0:56 'c' (out mediump 4-component vector of uint)
+0:56 texture (global lowp 4-component vector of uint)
+0:56 'usampler' (uniform lowp usampler2D)
+0:56 'tc' (smooth in highp 2-component vector of float)
+0:57 Test condition and select (temp void)
+0:57 Condition
+0:57 Compare Equal (temp bool)
+0:57 'shiftedui' (temp mediump uint)
+0:57 'shifteduu' (temp mediump uint)
+0:57 true case
+0:58 move second child to first child (temp mediump 4-component vector of uint)
+0:58 'c' (out mediump 4-component vector of uint)
+0:58 texture (global lowp 4-component vector of uint)
+0:58 'usampler' (uniform lowp usampler2D)
+0:58 add (temp highp 2-component vector of float)
+0:58 'tc' (smooth in highp 2-component vector of float)
+0:58 Constant:
+0:58 1.000000
+0:59 Test condition and select (temp void)
+0:59 Condition
+0:59 Compare Equal (temp bool)
+0:59 'shiftedii' (temp mediump int)
+0:59 Convert uint to int (temp int)
+0:59 'shiftedui' (temp mediump uint)
+0:59 true case
+0:60 move second child to first child (temp mediump 4-component vector of uint)
+0:60 'c' (out mediump 4-component vector of uint)
+0:60 texture (global lowp 4-component vector of uint)
+0:60 'usampler' (uniform lowp usampler2D)
+0:60 subtract (temp highp 2-component vector of float)
+0:60 'tc' (smooth in highp 2-component vector of float)
+0:60 Constant:
+0:60 2.000000
+0:60 2.000000
+0:62 Test condition and select (temp void)
+0:62 Condition
+0:62 Compare Greater Than (temp bool)
+0:62 direct index (temp mediump uint)
+0:62 't' (flat in mediump 2-component vector of uint)
+0:62 Constant:
+0:62 0 (const int)
+0:62 Constant:
+0:62 4 (const uint)
+0:62 true case
+0:63 Sequence
+0:63 Sequence
+0:63 move second child to first child (temp mediump float)
+0:63 'af' (temp mediump float)
+0:63 Convert uint to float (temp mediump float)
+0:63 'u' (temp mediump uint)
+0:64 Sequence
+0:64 move second child to first child (temp bool)
+0:64 'ab' (temp bool)
+0:64 Convert uint to bool (temp bool)
+0:64 'u' (temp mediump uint)
+0:65 Sequence
+0:65 move second child to first child (temp mediump int)
+0:65 'ai' (temp mediump int)
+0:65 Convert uint to int (temp mediump int)
+0:65 'u' (temp mediump uint)
+0:67 add second child into first child (temp mediump 4-component vector of uint)
+0:67 'c' (out mediump 4-component vector of uint)
+0:67 Construct uvec4 (temp mediump 4-component vector of uint)
+0:67 Convert float to uint (temp mediump uint)
+0:67 'af' (temp mediump float)
+0:67 Convert bool to uint (temp mediump uint)
+0:67 'ab' (temp bool)
+0:67 Convert int to uint (temp mediump uint)
+0:67 'ai' (temp mediump int)
+0:67 Convert int to uint (temp mediump uint)
+0:67 'count' (temp mediump int)
+0:75 Test condition and select (temp void)
+0:75 Condition
+0:75 Constant:
+0:75 true (const bool)
+0:75 true case
+0:76 multiply second child into first child (temp mediump int)
+0:76 'count' (temp mediump int)
+0:76 Constant:
+0:76 17 (const int)
+0:78 Test condition and select (temp void)
+0:78 Condition
+0:78 Constant:
+0:78 false (const bool)
+0:78 true case
+0:79 multiply second child into first child (temp mediump int)
+0:79 'count' (temp mediump int)
+0:79 Constant:
+0:79 19 (const int)
+0:81 Test condition and select (temp void)
+0:81 Condition
+0:81 Constant:
+0:81 true (const bool)
+0:81 true case
+0:82 multiply second child into first child (temp mediump int)
+0:82 'count' (temp mediump int)
+0:82 Constant:
+0:82 23 (const int)
+0:84 Test condition and select (temp void)
+0:84 Condition
+0:84 Constant:
+0:84 true (const bool)
+0:84 true case
+0:85 multiply second child into first child (temp mediump int)
+0:85 'count' (temp mediump int)
+0:85 Constant:
+0:85 27 (const int)
+0:87 Sequence
+0:87 move second child to first child (temp mediump uint)
+0:87 'mask1' (temp mediump uint)
+0:87 Constant:
+0:87 161 (const uint)
+0:88 Sequence
+0:88 move second child to first child (temp mediump uint)
+0:88 'mask2' (temp mediump uint)
+0:88 Constant:
+0:88 2576 (const uint)
+0:89 Sequence
+0:89 move second child to first child (temp mediump uint)
+0:89 'mask3' (temp mediump uint)
+0:89 left-shift (temp mediump uint)
+0:89 'mask1' (temp mediump uint)
+0:89 Constant:
+0:89 4 (const int)
+0:90 Sequence
+0:90 move second child to first child (temp mediump uint)
+0:90 'mask4' (temp mediump uint)
+0:90 Constant:
+0:90 2737 (const uint)
+0:92 Test condition and select (temp void)
+0:92 Condition
+0:92 Compare Equal (temp bool)
+0:92 'mask3' (temp mediump uint)
+0:92 'mask2' (temp mediump uint)
+0:92 true case
+0:93 multiply second child into first child (temp mediump int)
+0:93 'count' (temp mediump int)
+0:93 Constant:
+0:93 100 (const int)
+0:95 Test condition and select (temp void)
+0:95 Condition
+0:95 Compare Not Equal (temp bool)
+0:95 bitwise and (temp mediump uint)
+0:95 'mask3' (temp mediump uint)
+0:95 'mask1' (temp mediump uint)
+0:95 Constant:
+0:95 0 (const uint)
+0:95 true case
+0:96 multiply second child into first child (temp mediump int)
+0:96 'count' (temp mediump int)
+0:96 Constant:
+0:96 101 (const int)
+0:98 Test condition and select (temp void)
+0:98 Condition
+0:98 Compare Equal (temp bool)
+0:98 inclusive-or (temp mediump uint)
+0:98 'mask1' (temp mediump uint)
+0:98 'mask3' (temp mediump uint)
+0:98 'mask4' (temp mediump uint)
+0:98 true case
+0:99 multiply second child into first child (temp mediump int)
+0:99 'count' (temp mediump int)
+0:99 Constant:
+0:99 102 (const int)
+0:101 Test condition and select (temp void)
+0:101 Condition
+0:101 Compare Equal (temp bool)
+0:101 exclusive-or (temp mediump uint)
+0:101 'mask1' (temp mediump uint)
+0:101 'mask4' (temp mediump uint)
+0:101 Constant:
+0:101 2576 (const uint)
+0:101 true case
+0:102 multiply second child into first child (temp mediump int)
+0:102 'count' (temp mediump int)
+0:102 Constant:
+0:102 103 (const int)
+0:104 add second child into first child (temp mediump 4-component vector of uint)
+0:104 'c' (out mediump 4-component vector of uint)
+0:104 Construct uvec4 (temp mediump 4-component vector of uint)
+0:104 Convert int to uint (temp mediump uint)
+0:104 'count' (temp mediump int)
+0:? Linker Objects
+0:? 'badu' (smooth in mediump 2-component vector of uint)
+0:? 't' (flat in mediump 2-component vector of uint)
+0:? 'f' (smooth in highp float)
+0:? 'tc' (smooth in highp 2-component vector of float)
+0:? 'bad' (smooth in bool)
+0:? 'v' (uniform mediump 4-component vector of uint)
+0:? 'i' (uniform mediump int)
+0:? 'b' (uniform bool)
+0:? 'c' (out mediump 4-component vector of uint)
+0:? 'usampler' (uniform lowp usampler2D)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp mediump int)
+0:17 'count' (temp mediump int)
+0:17 Constant:
+0:17 1 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp mediump uint)
+0:19 'u' (temp mediump uint)
+0:19 add (temp mediump uint)
+0:19 direct index (temp mediump uint)
+0:19 't' (flat in mediump 2-component vector of uint)
+0:19 Constant:
+0:19 1 (const int)
+0:19 Constant:
+0:19 3 (const uint)
+0:27 Test condition and select (temp void)
+0:27 Condition
+0:27 Constant:
+0:27 true (const bool)
+0:27 true case
+0:28 multiply second child into first child (temp mediump int)
+0:28 'count' (temp mediump int)
+0:28 Constant:
+0:28 2 (const int)
+0:29 Test condition and select (temp void)
+0:29 Condition
+0:29 Constant:
+0:29 true (const bool)
+0:29 true case
+0:30 multiply second child into first child (temp mediump int)
+0:30 'count' (temp mediump int)
+0:30 Constant:
+0:30 3 (const int)
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Constant:
+0:31 false (const bool)
+0:31 true case
+0:32 multiply second child into first child (temp mediump int)
+0:32 'count' (temp mediump int)
+0:32 Constant:
+0:32 5 (const int)
+0:41 Test condition and select (temp void)
+0:41 Condition
+0:41 Constant:
+0:41 true (const bool)
+0:41 true case
+0:42 multiply second child into first child (temp mediump int)
+0:42 'count' (temp mediump int)
+0:42 Constant:
+0:42 7 (const int)
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:43 Constant:
+0:43 true (const bool)
+0:43 true case
+0:44 multiply second child into first child (temp mediump int)
+0:44 'count' (temp mediump int)
+0:44 Constant:
+0:44 11 (const int)
+0:45 Test condition and select (temp void)
+0:45 Condition
+0:45 Constant:
+0:45 false (const bool)
+0:45 true case
+0:46 multiply second child into first child (temp mediump int)
+0:46 'count' (temp mediump int)
+0:46 Constant:
+0:46 13 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp mediump int)
+0:49 'shiftedii' (temp mediump int)
+0:49 Constant:
+0:49 -1 (const int)
+0:50 Sequence
+0:50 move second child to first child (temp mediump uint)
+0:50 'shiftedui' (temp mediump uint)
+0:50 Constant:
+0:50 4194303 (const uint)
+0:52 Sequence
+0:52 move second child to first child (temp mediump int)
+0:52 'shiftediu' (temp mediump int)
+0:52 Constant:
+0:52 -1 (const int)
+0:53 Sequence
+0:53 move second child to first child (temp mediump uint)
+0:53 'shifteduu' (temp mediump uint)
+0:53 Constant:
+0:53 4194303 (const uint)
+0:55 Test condition and select (temp void)
+0:55 Condition
+0:55 Compare Equal (temp bool)
+0:55 'shiftedii' (temp mediump int)
+0:55 'shiftediu' (temp mediump int)
+0:55 true case
+0:56 move second child to first child (temp mediump 4-component vector of uint)
+0:56 'c' (out mediump 4-component vector of uint)
+0:56 texture (global lowp 4-component vector of uint)
+0:56 'usampler' (uniform lowp usampler2D)
+0:56 'tc' (smooth in highp 2-component vector of float)
+0:57 Test condition and select (temp void)
+0:57 Condition
+0:57 Compare Equal (temp bool)
+0:57 'shiftedui' (temp mediump uint)
+0:57 'shifteduu' (temp mediump uint)
+0:57 true case
+0:58 move second child to first child (temp mediump 4-component vector of uint)
+0:58 'c' (out mediump 4-component vector of uint)
+0:58 texture (global lowp 4-component vector of uint)
+0:58 'usampler' (uniform lowp usampler2D)
+0:58 add (temp highp 2-component vector of float)
+0:58 'tc' (smooth in highp 2-component vector of float)
+0:58 Constant:
+0:58 1.000000
+0:59 Test condition and select (temp void)
+0:59 Condition
+0:59 Compare Equal (temp bool)
+0:59 'shiftedii' (temp mediump int)
+0:59 Convert uint to int (temp int)
+0:59 'shiftedui' (temp mediump uint)
+0:59 true case
+0:60 move second child to first child (temp mediump 4-component vector of uint)
+0:60 'c' (out mediump 4-component vector of uint)
+0:60 texture (global lowp 4-component vector of uint)
+0:60 'usampler' (uniform lowp usampler2D)
+0:60 subtract (temp highp 2-component vector of float)
+0:60 'tc' (smooth in highp 2-component vector of float)
+0:60 Constant:
+0:60 2.000000
+0:60 2.000000
+0:62 Test condition and select (temp void)
+0:62 Condition
+0:62 Compare Greater Than (temp bool)
+0:62 direct index (temp mediump uint)
+0:62 't' (flat in mediump 2-component vector of uint)
+0:62 Constant:
+0:62 0 (const int)
+0:62 Constant:
+0:62 4 (const uint)
+0:62 true case
+0:63 Sequence
+0:63 Sequence
+0:63 move second child to first child (temp mediump float)
+0:63 'af' (temp mediump float)
+0:63 Convert uint to float (temp mediump float)
+0:63 'u' (temp mediump uint)
+0:64 Sequence
+0:64 move second child to first child (temp bool)
+0:64 'ab' (temp bool)
+0:64 Convert uint to bool (temp bool)
+0:64 'u' (temp mediump uint)
+0:65 Sequence
+0:65 move second child to first child (temp mediump int)
+0:65 'ai' (temp mediump int)
+0:65 Convert uint to int (temp mediump int)
+0:65 'u' (temp mediump uint)
+0:67 add second child into first child (temp mediump 4-component vector of uint)
+0:67 'c' (out mediump 4-component vector of uint)
+0:67 Construct uvec4 (temp mediump 4-component vector of uint)
+0:67 Convert float to uint (temp mediump uint)
+0:67 'af' (temp mediump float)
+0:67 Convert bool to uint (temp mediump uint)
+0:67 'ab' (temp bool)
+0:67 Convert int to uint (temp mediump uint)
+0:67 'ai' (temp mediump int)
+0:67 Convert int to uint (temp mediump uint)
+0:67 'count' (temp mediump int)
+0:75 Test condition and select (temp void)
+0:75 Condition
+0:75 Constant:
+0:75 true (const bool)
+0:75 true case
+0:76 multiply second child into first child (temp mediump int)
+0:76 'count' (temp mediump int)
+0:76 Constant:
+0:76 17 (const int)
+0:78 Test condition and select (temp void)
+0:78 Condition
+0:78 Constant:
+0:78 false (const bool)
+0:78 true case
+0:79 multiply second child into first child (temp mediump int)
+0:79 'count' (temp mediump int)
+0:79 Constant:
+0:79 19 (const int)
+0:81 Test condition and select (temp void)
+0:81 Condition
+0:81 Constant:
+0:81 true (const bool)
+0:81 true case
+0:82 multiply second child into first child (temp mediump int)
+0:82 'count' (temp mediump int)
+0:82 Constant:
+0:82 23 (const int)
+0:84 Test condition and select (temp void)
+0:84 Condition
+0:84 Constant:
+0:84 true (const bool)
+0:84 true case
+0:85 multiply second child into first child (temp mediump int)
+0:85 'count' (temp mediump int)
+0:85 Constant:
+0:85 27 (const int)
+0:87 Sequence
+0:87 move second child to first child (temp mediump uint)
+0:87 'mask1' (temp mediump uint)
+0:87 Constant:
+0:87 161 (const uint)
+0:88 Sequence
+0:88 move second child to first child (temp mediump uint)
+0:88 'mask2' (temp mediump uint)
+0:88 Constant:
+0:88 2576 (const uint)
+0:89 Sequence
+0:89 move second child to first child (temp mediump uint)
+0:89 'mask3' (temp mediump uint)
+0:89 left-shift (temp mediump uint)
+0:89 'mask1' (temp mediump uint)
+0:89 Constant:
+0:89 4 (const int)
+0:90 Sequence
+0:90 move second child to first child (temp mediump uint)
+0:90 'mask4' (temp mediump uint)
+0:90 Constant:
+0:90 2737 (const uint)
+0:92 Test condition and select (temp void)
+0:92 Condition
+0:92 Compare Equal (temp bool)
+0:92 'mask3' (temp mediump uint)
+0:92 'mask2' (temp mediump uint)
+0:92 true case
+0:93 multiply second child into first child (temp mediump int)
+0:93 'count' (temp mediump int)
+0:93 Constant:
+0:93 100 (const int)
+0:95 Test condition and select (temp void)
+0:95 Condition
+0:95 Compare Not Equal (temp bool)
+0:95 bitwise and (temp mediump uint)
+0:95 'mask3' (temp mediump uint)
+0:95 'mask1' (temp mediump uint)
+0:95 Constant:
+0:95 0 (const uint)
+0:95 true case
+0:96 multiply second child into first child (temp mediump int)
+0:96 'count' (temp mediump int)
+0:96 Constant:
+0:96 101 (const int)
+0:98 Test condition and select (temp void)
+0:98 Condition
+0:98 Compare Equal (temp bool)
+0:98 inclusive-or (temp mediump uint)
+0:98 'mask1' (temp mediump uint)
+0:98 'mask3' (temp mediump uint)
+0:98 'mask4' (temp mediump uint)
+0:98 true case
+0:99 multiply second child into first child (temp mediump int)
+0:99 'count' (temp mediump int)
+0:99 Constant:
+0:99 102 (const int)
+0:101 Test condition and select (temp void)
+0:101 Condition
+0:101 Compare Equal (temp bool)
+0:101 exclusive-or (temp mediump uint)
+0:101 'mask1' (temp mediump uint)
+0:101 'mask4' (temp mediump uint)
+0:101 Constant:
+0:101 2576 (const uint)
+0:101 true case
+0:102 multiply second child into first child (temp mediump int)
+0:102 'count' (temp mediump int)
+0:102 Constant:
+0:102 103 (const int)
+0:104 add second child into first child (temp mediump 4-component vector of uint)
+0:104 'c' (out mediump 4-component vector of uint)
+0:104 Construct uvec4 (temp mediump 4-component vector of uint)
+0:104 Convert int to uint (temp mediump uint)
+0:104 'count' (temp mediump int)
+0:? Linker Objects
+0:? 'badu' (smooth in mediump 2-component vector of uint)
+0:? 't' (flat in mediump 2-component vector of uint)
+0:? 'f' (smooth in highp float)
+0:? 'tc' (smooth in highp 2-component vector of float)
+0:? 'bad' (smooth in bool)
+0:? 'v' (uniform mediump 4-component vector of uint)
+0:? 'i' (uniform mediump int)
+0:? 'b' (uniform bool)
+0:? 'c' (out mediump 4-component vector of uint)
+0:? 'usampler' (uniform lowp usampler2D)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/uniformArray.frag.out b/chromium/third_party/glslang/src/Test/baseResults/uniformArray.frag.out
new file mode 100644
index 00000000000..4e8ace841e1
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/uniformArray.frag.out
@@ -0,0 +1,97 @@
+uniformArray.frag
+Shader version: 130
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'texColor' (temp 4-component vector of float)
+0:9 add (temp 4-component vector of float)
+0:9 direct index (temp 4-component vector of float)
+0:9 'color' (uniform 6-element array of 4-component vector of float)
+0:9 Constant:
+0:9 1 (const int)
+0:9 direct index (temp 4-component vector of float)
+0:9 'color' (uniform 6-element array of 4-component vector of float)
+0:9 Constant:
+0:9 1 (const int)
+0:11 add second child into first child (temp 3-component vector of float)
+0:11 vector swizzle (temp 3-component vector of float)
+0:11 'texColor' (temp 4-component vector of float)
+0:11 Sequence
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 1 (const int)
+0:11 Constant:
+0:11 2 (const int)
+0:11 'inColor' (uniform 3-component vector of float)
+0:13 add second child into first child (temp float)
+0:13 direct index (temp float)
+0:13 'texColor' (temp 4-component vector of float)
+0:13 Constant:
+0:13 3 (const int)
+0:13 direct index (temp float)
+0:13 'alpha' (uniform 16-element array of float)
+0:13 Constant:
+0:13 12 (const int)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:15 'texColor' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'inColor' (uniform 3-component vector of float)
+0:? 'color' (uniform 6-element array of 4-component vector of float)
+0:? 'alpha' (uniform 16-element array of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'texColor' (temp 4-component vector of float)
+0:9 add (temp 4-component vector of float)
+0:9 direct index (temp 4-component vector of float)
+0:9 'color' (uniform 6-element array of 4-component vector of float)
+0:9 Constant:
+0:9 1 (const int)
+0:9 direct index (temp 4-component vector of float)
+0:9 'color' (uniform 6-element array of 4-component vector of float)
+0:9 Constant:
+0:9 1 (const int)
+0:11 add second child into first child (temp 3-component vector of float)
+0:11 vector swizzle (temp 3-component vector of float)
+0:11 'texColor' (temp 4-component vector of float)
+0:11 Sequence
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 1 (const int)
+0:11 Constant:
+0:11 2 (const int)
+0:11 'inColor' (uniform 3-component vector of float)
+0:13 add second child into first child (temp float)
+0:13 direct index (temp float)
+0:13 'texColor' (temp 4-component vector of float)
+0:13 Constant:
+0:13 3 (const int)
+0:13 direct index (temp float)
+0:13 'alpha' (uniform 16-element array of float)
+0:13 Constant:
+0:13 12 (const int)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:15 'texColor' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'inColor' (uniform 3-component vector of float)
+0:? 'color' (uniform 6-element array of 4-component vector of float)
+0:? 'alpha' (uniform 16-element array of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/variableArrayIndex.frag.out b/chromium/third_party/glslang/src/Test/baseResults/variableArrayIndex.frag.out
new file mode 100644
index 00000000000..2a63d115b1b
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/variableArrayIndex.frag.out
@@ -0,0 +1,225 @@
+variableArrayIndex.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:29 Function Definition: main( (global void)
+0:29 Function Parameters:
+0:? Sequence
+0:32 Sequence
+0:32 move second child to first child (temp int)
+0:32 'iLocal' (temp int)
+0:32 'Count' (uniform int)
+0:34 Test condition and select (temp void)
+0:34 Condition
+0:34 Compare Greater Than (temp bool)
+0:34 i: direct index for structure (global int)
+0:34 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 Constant:
+0:34 0 (const int)
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 true case
+0:35 move second child to first child (temp float)
+0:35 'scale' (temp float)
+0:35 f: direct index for structure (global float)
+0:35 s1_1: direct index for structure (global structure{global int i, global float f})
+0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 add (temp int)
+0:35 add (temp int)
+0:35 i: direct index for structure (global int)
+0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 Constant:
+0:35 0 (const int)
+0:35 i: direct index for structure (global int)
+0:35 'foo' (uniform structure{global int i, global float f})
+0:35 Constant:
+0:35 0 (const int)
+0:35 Constant:
+0:35 0 (const int)
+0:35 Constant:
+0:35 2 (const int)
+0:35 Pre-Increment (temp int)
+0:35 'iLocal' (temp int)
+0:35 Constant:
+0:35 2 (const int)
+0:35 Constant:
+0:35 1 (const int)
+0:34 false case
+0:37 move second child to first child (temp float)
+0:37 'scale' (temp float)
+0:37 f: direct index for structure (global float)
+0:37 s1_1: direct index for structure (global structure{global int i, global float f})
+0:37 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:37 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:37 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 2 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:43 move second child to first child (temp 4-component vector of float)
+0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:43 vector-scale (temp 4-component vector of float)
+0:43 'scale' (temp float)
+0:43 texture (global 4-component vector of float)
+0:43 'sampler' (uniform sampler2D)
+0:43 'coord' (smooth in 2-component vector of float)
+0:45 Sequence
+0:45 move second child to first child (temp 3-element array of 2-component vector of float)
+0:45 'constructed' (temp 3-element array of 2-component vector of float)
+0:45 Construct vec2 (temp 3-element array of 2-component vector of float)
+0:45 'coord' (smooth in 2-component vector of float)
+0:45 Construct vec2 (temp 2-component vector of float)
+0:45 'scale' (temp float)
+0:45 Constant:
+0:45 1.000000
+0:45 2.000000
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:46 Construct vec4 (temp 4-component vector of float)
+0:46 indirect index (temp 2-component vector of float)
+0:46 'constructed' (temp 3-element array of 2-component vector of float)
+0:46 i: direct index for structure (global int)
+0:46 'foo' (uniform structure{global int i, global float f})
+0:46 Constant:
+0:46 0 (const int)
+0:46 indirect index (temp 2-component vector of float)
+0:46 'constructed' (temp 3-element array of 2-component vector of float)
+0:46 i: direct index for structure (global int)
+0:46 'foo' (uniform structure{global int i, global float f})
+0:46 Constant:
+0:46 0 (const int)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo' (uniform structure{global int i, global float f})
+0:? 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'Count' (uniform int)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:29 Function Definition: main( (global void)
+0:29 Function Parameters:
+0:? Sequence
+0:32 Sequence
+0:32 move second child to first child (temp int)
+0:32 'iLocal' (temp int)
+0:32 'Count' (uniform int)
+0:34 Test condition and select (temp void)
+0:34 Condition
+0:34 Compare Greater Than (temp bool)
+0:34 i: direct index for structure (global int)
+0:34 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 Constant:
+0:34 0 (const int)
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 true case
+0:35 move second child to first child (temp float)
+0:35 'scale' (temp float)
+0:35 f: direct index for structure (global float)
+0:35 s1_1: direct index for structure (global structure{global int i, global float f})
+0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 add (temp int)
+0:35 add (temp int)
+0:35 i: direct index for structure (global int)
+0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 Constant:
+0:35 0 (const int)
+0:35 i: direct index for structure (global int)
+0:35 'foo' (uniform structure{global int i, global float f})
+0:35 Constant:
+0:35 0 (const int)
+0:35 Constant:
+0:35 0 (const int)
+0:35 Constant:
+0:35 2 (const int)
+0:35 Pre-Increment (temp int)
+0:35 'iLocal' (temp int)
+0:35 Constant:
+0:35 2 (const int)
+0:35 Constant:
+0:35 1 (const int)
+0:34 false case
+0:37 move second child to first child (temp float)
+0:37 'scale' (temp float)
+0:37 f: direct index for structure (global float)
+0:37 s1_1: direct index for structure (global structure{global int i, global float f})
+0:37 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:37 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:37 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 2 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:43 move second child to first child (temp 4-component vector of float)
+0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:43 vector-scale (temp 4-component vector of float)
+0:43 'scale' (temp float)
+0:43 texture (global 4-component vector of float)
+0:43 'sampler' (uniform sampler2D)
+0:43 'coord' (smooth in 2-component vector of float)
+0:45 Sequence
+0:45 move second child to first child (temp 3-element array of 2-component vector of float)
+0:45 'constructed' (temp 3-element array of 2-component vector of float)
+0:45 Construct vec2 (temp 3-element array of 2-component vector of float)
+0:45 'coord' (smooth in 2-component vector of float)
+0:45 Construct vec2 (temp 2-component vector of float)
+0:45 'scale' (temp float)
+0:45 Constant:
+0:45 1.000000
+0:45 2.000000
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:46 Construct vec4 (temp 4-component vector of float)
+0:46 indirect index (temp 2-component vector of float)
+0:46 'constructed' (temp 3-element array of 2-component vector of float)
+0:46 i: direct index for structure (global int)
+0:46 'foo' (uniform structure{global int i, global float f})
+0:46 Constant:
+0:46 0 (const int)
+0:46 indirect index (temp 2-component vector of float)
+0:46 'constructed' (temp 3-element array of 2-component vector of float)
+0:46 i: direct index for structure (global int)
+0:46 'foo' (uniform structure{global int i, global float f})
+0:46 Constant:
+0:46 0 (const int)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo' (uniform structure{global int i, global float f})
+0:? 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'Count' (uniform int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/varyingArray.frag.out b/chromium/third_party/glslang/src/Test/baseResults/varyingArray.frag.out
new file mode 100644
index 00000000000..c6cf6bae2b4
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/varyingArray.frag.out
@@ -0,0 +1,120 @@
+varyingArray.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:6: varying deprecated in version 130; may be removed in future release
+WARNING: 0:8: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'texColor' (temp 4-component vector of float)
+0:12 texture (global 4-component vector of float)
+0:12 'texSampler2D' (uniform sampler2D)
+0:12 Construct vec2 (temp 2-component vector of float)
+0:12 add (temp 4-component vector of float)
+0:12 direct index (smooth temp 4-component vector of float TexCoord)
+0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:12 Constant:
+0:12 4 (const int)
+0:12 direct index (smooth temp 4-component vector of float TexCoord)
+0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:12 Constant:
+0:12 5 (const int)
+0:14 add second child into first child (temp 4-component vector of float)
+0:14 'texColor' (temp 4-component vector of float)
+0:14 'color' (smooth in 4-component vector of float)
+0:16 move second child to first child (temp float)
+0:16 direct index (temp float)
+0:16 'texColor' (temp 4-component vector of float)
+0:16 Constant:
+0:16 3 (const int)
+0:16 'alpha' (smooth in float)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:18 add (temp 4-component vector of float)
+0:18 add (temp 4-component vector of float)
+0:18 add (temp 4-component vector of float)
+0:18 direct index (smooth temp 4-component vector of float)
+0:18 'foo' (smooth in 3-element array of 4-component vector of float)
+0:18 Constant:
+0:18 1 (const int)
+0:18 direct index (smooth temp 4-component vector of float TexCoord)
+0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:18 Constant:
+0:18 0 (const int)
+0:18 direct index (smooth temp 4-component vector of float TexCoord)
+0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:18 Constant:
+0:18 4 (const int)
+0:18 'texColor' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'color' (smooth in 4-component vector of float)
+0:? 'alpha' (smooth in float)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'foo' (smooth in 3-element array of 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'texColor' (temp 4-component vector of float)
+0:12 texture (global 4-component vector of float)
+0:12 'texSampler2D' (uniform sampler2D)
+0:12 Construct vec2 (temp 2-component vector of float)
+0:12 add (temp 4-component vector of float)
+0:12 direct index (smooth temp 4-component vector of float TexCoord)
+0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:12 Constant:
+0:12 4 (const int)
+0:12 direct index (smooth temp 4-component vector of float TexCoord)
+0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:12 Constant:
+0:12 5 (const int)
+0:14 add second child into first child (temp 4-component vector of float)
+0:14 'texColor' (temp 4-component vector of float)
+0:14 'color' (smooth in 4-component vector of float)
+0:16 move second child to first child (temp float)
+0:16 direct index (temp float)
+0:16 'texColor' (temp 4-component vector of float)
+0:16 Constant:
+0:16 3 (const int)
+0:16 'alpha' (smooth in float)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:18 add (temp 4-component vector of float)
+0:18 add (temp 4-component vector of float)
+0:18 add (temp 4-component vector of float)
+0:18 direct index (smooth temp 4-component vector of float)
+0:18 'foo' (smooth in 3-element array of 4-component vector of float)
+0:18 Constant:
+0:18 1 (const int)
+0:18 direct index (smooth temp 4-component vector of float TexCoord)
+0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:18 Constant:
+0:18 0 (const int)
+0:18 direct index (smooth temp 4-component vector of float TexCoord)
+0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:18 Constant:
+0:18 4 (const int)
+0:18 'texColor' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'color' (smooth in 4-component vector of float)
+0:? 'alpha' (smooth in float)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'foo' (smooth in 3-element array of 4-component vector of float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/varyingArrayIndirect.frag.out b/chromium/third_party/glslang/src/Test/baseResults/varyingArrayIndirect.frag.out
new file mode 100644
index 00000000000..02a41f3f1dc
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/varyingArrayIndirect.frag.out
@@ -0,0 +1,126 @@
+varyingArrayIndirect.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:6: varying deprecated in version 130; may be removed in future release
+WARNING: 0:8: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:14 Sequence
+0:14 Sequence
+0:14 move second child to first child (temp 4-component vector of float)
+0:14 'texColor' (temp 4-component vector of float)
+0:14 texture (global 4-component vector of float)
+0:14 'texSampler2D' (uniform sampler2D)
+0:14 Construct vec2 (temp 2-component vector of float)
+0:14 add (temp 4-component vector of float)
+0:14 add (temp 4-component vector of float)
+0:14 indirect index (smooth temp 4-component vector of float)
+0:14 'userIn' (smooth in 2-element array of 4-component vector of float)
+0:14 'b' (uniform int)
+0:14 indirect index (smooth temp 4-component vector of float TexCoord)
+0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:14 'a' (uniform int)
+0:14 direct index (smooth temp 4-component vector of float TexCoord)
+0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:14 Constant:
+0:14 5 (const int)
+0:16 add second child into first child (temp 4-component vector of float)
+0:16 'texColor' (temp 4-component vector of float)
+0:16 'color' (smooth in 4-component vector of float)
+0:18 move second child to first child (temp float)
+0:18 direct index (temp float)
+0:18 'texColor' (temp 4-component vector of float)
+0:18 Constant:
+0:18 3 (const int)
+0:18 'alpha' (smooth in float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:20 add (temp 4-component vector of float)
+0:20 add (temp 4-component vector of float)
+0:20 add (temp 4-component vector of float)
+0:20 direct index (smooth temp 4-component vector of float TexCoord)
+0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:20 Constant:
+0:20 0 (const int)
+0:20 indirect index (smooth temp 4-component vector of float TexCoord)
+0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:20 'b' (uniform int)
+0:20 'texColor' (temp 4-component vector of float)
+0:20 indirect index (smooth temp 4-component vector of float)
+0:20 'userIn' (smooth in 2-element array of 4-component vector of float)
+0:20 'a' (uniform int)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'color' (smooth in 4-component vector of float)
+0:? 'alpha' (smooth in float)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'userIn' (smooth in 2-element array of 4-component vector of float)
+0:? 'a' (uniform int)
+0:? 'b' (uniform int)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:14 Sequence
+0:14 Sequence
+0:14 move second child to first child (temp 4-component vector of float)
+0:14 'texColor' (temp 4-component vector of float)
+0:14 texture (global 4-component vector of float)
+0:14 'texSampler2D' (uniform sampler2D)
+0:14 Construct vec2 (temp 2-component vector of float)
+0:14 add (temp 4-component vector of float)
+0:14 add (temp 4-component vector of float)
+0:14 indirect index (smooth temp 4-component vector of float)
+0:14 'userIn' (smooth in 2-element array of 4-component vector of float)
+0:14 'b' (uniform int)
+0:14 indirect index (smooth temp 4-component vector of float TexCoord)
+0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:14 'a' (uniform int)
+0:14 direct index (smooth temp 4-component vector of float TexCoord)
+0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:14 Constant:
+0:14 5 (const int)
+0:16 add second child into first child (temp 4-component vector of float)
+0:16 'texColor' (temp 4-component vector of float)
+0:16 'color' (smooth in 4-component vector of float)
+0:18 move second child to first child (temp float)
+0:18 direct index (temp float)
+0:18 'texColor' (temp 4-component vector of float)
+0:18 Constant:
+0:18 3 (const int)
+0:18 'alpha' (smooth in float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:20 add (temp 4-component vector of float)
+0:20 add (temp 4-component vector of float)
+0:20 add (temp 4-component vector of float)
+0:20 direct index (smooth temp 4-component vector of float TexCoord)
+0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:20 Constant:
+0:20 0 (const int)
+0:20 indirect index (smooth temp 4-component vector of float TexCoord)
+0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:20 'b' (uniform int)
+0:20 'texColor' (temp 4-component vector of float)
+0:20 indirect index (smooth temp 4-component vector of float)
+0:20 'userIn' (smooth in 2-element array of 4-component vector of float)
+0:20 'a' (uniform int)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'color' (smooth in 4-component vector of float)
+0:? 'alpha' (smooth in float)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'userIn' (smooth in 2-element array of 4-component vector of float)
+0:? 'a' (uniform int)
+0:? 'b' (uniform int)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/versionsClean.frag.out b/chromium/third_party/glslang/src/Test/baseResults/versionsClean.frag.out
new file mode 100644
index 00000000000..44f04f6aa02
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/versionsClean.frag.out
@@ -0,0 +1,44 @@
+versionsClean.frag
+ERROR: #version: statement must appear first in es-profile shader; before comments or newlines
+ERROR: 0:34: '#version' : must occur first in shader
+ERROR: 2 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:41 Function Definition: main( (global void)
+0:41 Function Parameters:
+0:43 Sequence
+0:43 move second child to first child (temp highp 4-component vector of float)
+0:43 'foo' (out highp 4-component vector of float)
+0:43 Construct vec4 (temp highp 4-component vector of float)
+0:43 'color' (smooth in highp 3-component vector of float)
+0:43 Constant:
+0:43 142.000000
+0:44 Branch: Kill
+0:? Linker Objects
+0:? 'color' (smooth in highp 3-component vector of float)
+0:? 'foo' (out highp 4-component vector of float)
+0:? 'bar' (uniform highp sampler2DArrayShadow)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:41 Function Definition: main( (global void)
+0:41 Function Parameters:
+0:43 Sequence
+0:43 move second child to first child (temp highp 4-component vector of float)
+0:43 'foo' (out highp 4-component vector of float)
+0:43 Construct vec4 (temp highp 4-component vector of float)
+0:43 'color' (smooth in highp 3-component vector of float)
+0:43 Constant:
+0:43 142.000000
+0:44 Branch: Kill
+0:? Linker Objects
+0:? 'color' (smooth in highp 3-component vector of float)
+0:? 'foo' (out highp 4-component vector of float)
+0:? 'bar' (uniform highp sampler2DArrayShadow)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/versionsClean.vert.out b/chromium/third_party/glslang/src/Test/baseResults/versionsClean.vert.out
new file mode 100644
index 00000000000..c5d05a71a62
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/versionsClean.vert.out
@@ -0,0 +1,49 @@
+versionsClean.vert
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 420
+0:? Sequence
+0:40 Function Definition: main( (global void)
+0:40 Function Parameters:
+0:42 Sequence
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:42 Constant:
+0:42 0 (const uint)
+0:42 Construct vec4 (temp 4-component vector of float)
+0:42 'color' (in 3-component vector of float)
+0:42 Constant:
+0:42 142.000000
+0:? Linker Objects
+0:? 'color' (in 3-component vector of float)
+0:? 'foo' (uniform sampler2DRect)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 420
+0:? Sequence
+0:40 Function Definition: main( (global void)
+0:40 Function Parameters:
+0:42 Sequence
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:42 Constant:
+0:42 0 (const uint)
+0:42 Construct vec4 (temp 4-component vector of float)
+0:42 'color' (in 3-component vector of float)
+0:42 Constant:
+0:42 142.000000
+0:? Linker Objects
+0:? 'color' (in 3-component vector of float)
+0:? 'foo' (uniform sampler2DRect)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/versionsErrors.frag.out b/chromium/third_party/glslang/src/Test/baseResults/versionsErrors.frag.out
new file mode 100644
index 00000000000..34182d015c8
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/versionsErrors.frag.out
@@ -0,0 +1,44 @@
+versionsErrors.frag
+ERROR: #version: versions before 150 do not allow a profile token
+ERROR: 0:38: 'attribute' : not supported in this stage: fragment
+ERROR: 0:40: 'sampler2DRect' : Reserved word.
+ERROR: 0:44: 'floating-point suffix' : not supported for this version or the enabled extensions
+ERROR: 4 compilation errors. No code generated.
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:42 Function Definition: main( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 move second child to first child (temp 4-component vector of float)
+0:44 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:44 Construct vec4 (temp 4-component vector of float)
+0:44 'color' (smooth in 3-component vector of float)
+0:44 Constant:
+0:44 142.000000
+0:45 Branch: Kill
+0:? Linker Objects
+0:? 'color' (smooth in 3-component vector of float)
+0:? 'foo' (uniform sampler2DRect)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:42 Function Definition: main( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 move second child to first child (temp 4-component vector of float)
+0:44 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:44 Construct vec4 (temp 4-component vector of float)
+0:44 'color' (smooth in 3-component vector of float)
+0:44 Constant:
+0:44 142.000000
+0:45 Branch: Kill
+0:? Linker Objects
+0:? 'color' (smooth in 3-component vector of float)
+0:? 'foo' (uniform sampler2DRect)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/versionsErrors.vert.out b/chromium/third_party/glslang/src/Test/baseResults/versionsErrors.vert.out
new file mode 100644
index 00000000000..0aeaea8cc3d
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/versionsErrors.vert.out
@@ -0,0 +1,58 @@
+versionsErrors.vert
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+WARNING: 0:38: attribute deprecated in version 130; may be removed in future release
+ERROR: 0:38: 'attribute' : no longer supported in core profile; removed in version 420
+ERROR: 0:45: 'discard' : not supported in this stage: vertex
+ERROR: 2 compilation errors. No code generated.
+
+
+Shader version: 420
+Requested GL_ARB_texture_rectangle
+ERROR: node is still EOpNull!
+0:42 Function Definition: main( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 move second child to first child (temp 4-component vector of float)
+0:44 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:44 Constant:
+0:44 0 (const uint)
+0:44 Construct vec4 (temp 4-component vector of float)
+0:44 'color' (in 3-component vector of float)
+0:44 Constant:
+0:44 142.000000
+0:45 Branch: Kill
+0:? Linker Objects
+0:? 'color' (in 3-component vector of float)
+0:? 'foo' (uniform sampler2DRect)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 420
+Requested GL_ARB_texture_rectangle
+ERROR: node is still EOpNull!
+0:42 Function Definition: main( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 move second child to first child (temp 4-component vector of float)
+0:44 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:44 Constant:
+0:44 0 (const uint)
+0:44 Construct vec4 (temp 4-component vector of float)
+0:44 'color' (in 3-component vector of float)
+0:44 Constant:
+0:44 142.000000
+0:45 Branch: Kill
+0:? Linker Objects
+0:? 'color' (in 3-component vector of float)
+0:? 'foo' (uniform sampler2DRect)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/voidFunction.frag.out b/chromium/third_party/glslang/src/Test/baseResults/voidFunction.frag.out
new file mode 100644
index 00000000000..638cfbdd3d8
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/voidFunction.frag.out
@@ -0,0 +1,91 @@
+voidFunction.frag
+Shader version: 120
+0:? Sequence
+0:7 Sequence
+0:7 move second child to first child (temp float)
+0:7 'bar' (global float)
+0:7 Constant:
+0:7 2.000000
+0:9 Function Definition: foo( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Post-Increment (temp float)
+0:11 'bar' (global float)
+0:13 Branch: Return
+0:16 Function Definition: foo2( (global void)
+0:16 Function Parameters:
+0:18 Sequence
+0:18 Post-Increment (temp float)
+0:18 'bar' (global float)
+0:21 Function Definition: main( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'outColor' (temp 4-component vector of float)
+0:23 'bigColor' (uniform 4-component vector of float)
+0:25 Function Call: foo( (global void)
+0:27 Function Call: foo2( (global void)
+0:29 add second child into first child (temp float)
+0:29 direct index (temp float)
+0:29 'outColor' (temp 4-component vector of float)
+0:29 Constant:
+0:29 0 (const int)
+0:29 'bar' (global float)
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:31 'outColor' (temp 4-component vector of float)
+0:33 Branch: Return
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'bar' (global float)
+
+
+Linked fragment stage:
+
+
+Shader version: 120
+0:? Sequence
+0:7 Sequence
+0:7 move second child to first child (temp float)
+0:7 'bar' (global float)
+0:7 Constant:
+0:7 2.000000
+0:9 Function Definition: foo( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Post-Increment (temp float)
+0:11 'bar' (global float)
+0:13 Branch: Return
+0:16 Function Definition: foo2( (global void)
+0:16 Function Parameters:
+0:18 Sequence
+0:18 Post-Increment (temp float)
+0:18 'bar' (global float)
+0:21 Function Definition: main( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'outColor' (temp 4-component vector of float)
+0:23 'bigColor' (uniform 4-component vector of float)
+0:25 Function Call: foo( (global void)
+0:27 Function Call: foo2( (global void)
+0:29 add second child into first child (temp float)
+0:29 direct index (temp float)
+0:29 'outColor' (temp 4-component vector of float)
+0:29 Constant:
+0:29 0 (const int)
+0:29 'bar' (global float)
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:31 'outColor' (temp 4-component vector of float)
+0:33 Branch: Return
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'bar' (global float)
+
diff --git a/chromium/third_party/glslang/src/Test/baseResults/vulkan.ast.vert.out b/chromium/third_party/glslang/src/Test/baseResults/vulkan.ast.vert.out
new file mode 100755
index 00000000000..31ac4940ed8
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/vulkan.ast.vert.out
@@ -0,0 +1,324 @@
+vulkan.ast.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 450
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Convert float to bool (temp bool)
+0:9 'scf1' (specialization-constant const float)
+0:9 1.000000
+0:10 Construct bool (specialization-constant const bool)
+0:10 'scbt' (specialization-constant const bool)
+0:10 true (const bool)
+0:11 Convert int to bool (specialization-constant const bool)
+0:11 'sci2' (specialization-constant const int)
+0:11 2 (const int)
+0:13 Construct float (temp float)
+0:13 'scf1' (specialization-constant const float)
+0:13 1.000000
+0:14 Convert bool to float (temp float)
+0:14 'scbt' (specialization-constant const bool)
+0:14 true (const bool)
+0:15 Convert int to float (temp float)
+0:15 'sci2' (specialization-constant const int)
+0:15 2 (const int)
+0:17 Convert float to int (temp int)
+0:17 'scf1' (specialization-constant const float)
+0:17 1.000000
+0:18 Convert bool to int (specialization-constant const int)
+0:18 'scbt' (specialization-constant const bool)
+0:18 true (const bool)
+0:19 Construct int (specialization-constant const int)
+0:19 'sci2' (specialization-constant const int)
+0:19 2 (const int)
+0:21 component-wise multiply (temp float)
+0:21 'scf1' (specialization-constant const float)
+0:21 1.000000
+0:21 'scf1' (specialization-constant const float)
+0:21 1.000000
+0:22 logical-or (specialization-constant const bool)
+0:22 'scbt' (specialization-constant const bool)
+0:22 true (const bool)
+0:22 'scbt' (specialization-constant const bool)
+0:22 true (const bool)
+0:23 component-wise multiply (specialization-constant const int)
+0:23 'sci2' (specialization-constant const int)
+0:23 2 (const int)
+0:23 'sci2' (specialization-constant const int)
+0:23 2 (const int)
+0:24 add (temp float)
+0:24 'scf1' (specialization-constant const float)
+0:24 1.000000
+0:24 Convert int to float (temp float)
+0:24 'sci2' (specialization-constant const int)
+0:24 2 (const int)
+0:26 Negate value (temp float)
+0:26 'scf1' (specialization-constant const float)
+0:26 1.000000
+0:27 Negate conditional (specialization-constant const bool)
+0:27 'scbt' (specialization-constant const bool)
+0:27 true (const bool)
+0:28 Negate value (specialization-constant const int)
+0:28 'sci2' (specialization-constant const int)
+0:28 2 (const int)
+0:30 Compare Greater Than (temp bool)
+0:30 'scf1' (specialization-constant const float)
+0:30 1.000000
+0:30 'scf1' (specialization-constant const float)
+0:30 1.000000
+0:31 Compare Greater Than (specialization-constant const bool)
+0:31 'sci2' (specialization-constant const int)
+0:31 2 (const int)
+0:31 'sci2' (specialization-constant const int)
+0:31 2 (const int)
+0:33 Compare Not Equal (temp bool)
+0:33 'scf1' (specialization-constant const float)
+0:33 1.000000
+0:33 'scf1' (specialization-constant const float)
+0:33 1.000000
+0:34 Compare Not Equal (specialization-constant const bool)
+0:34 'scbt' (specialization-constant const bool)
+0:34 true (const bool)
+0:34 'scbt' (specialization-constant const bool)
+0:34 true (const bool)
+0:35 Compare Not Equal (specialization-constant const bool)
+0:35 'sci2' (specialization-constant const int)
+0:35 2 (const int)
+0:35 'sci2' (specialization-constant const int)
+0:35 2 (const int)
+0:37 Construct ivec2 (specialization-constant const 2-component vector of int)
+0:37 'sci2' (specialization-constant const int)
+0:37 2 (const int)
+0:37 'sci2' (specialization-constant const int)
+0:37 2 (const int)
+0:38 Construct ivec2 (temp 2-element array of 2-component vector of int)
+0:38 Construct ivec2 (specialization-constant const 2-component vector of int)
+0:38 'sci2' (specialization-constant const int)
+0:38 2 (const int)
+0:38 'sci2' (specialization-constant const int)
+0:38 2 (const int)
+0:38 Construct ivec2 (specialization-constant const 2-component vector of int)
+0:38 'sci2' (specialization-constant const int)
+0:38 2 (const int)
+0:38 'sci2' (specialization-constant const int)
+0:38 2 (const int)
+0:40 Construct vec2 (temp 2-component vector of float)
+0:40 'scf1' (specialization-constant const float)
+0:40 1.000000
+0:40 'scf1' (specialization-constant const float)
+0:40 1.000000
+0:41 Construct vec2 (temp 2-element array of 2-component vector of float)
+0:41 Construct vec2 (temp 2-component vector of float)
+0:41 'scf1' (specialization-constant const float)
+0:41 1.000000
+0:41 'scf1' (specialization-constant const float)
+0:41 1.000000
+0:41 Construct vec2 (temp 2-component vector of float)
+0:41 'scf1' (specialization-constant const float)
+0:41 1.000000
+0:41 'scf1' (specialization-constant const float)
+0:41 1.000000
+0:? Linker Objects
+0:? 'scf1' (specialization-constant const float)
+0:? 1.000000
+0:? 'scbt' (specialization-constant const bool)
+0:? true (const bool)
+0:? 'sci2' (specialization-constant const int)
+0:? 2 (const int)
+
+
+Linked vertex stage:
+
+
+Shader version: 450
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Convert float to bool (temp bool)
+0:9 'scf1' (specialization-constant const float)
+0:9 1.000000
+0:10 Construct bool (specialization-constant const bool)
+0:10 'scbt' (specialization-constant const bool)
+0:10 true (const bool)
+0:11 Convert int to bool (specialization-constant const bool)
+0:11 'sci2' (specialization-constant const int)
+0:11 2 (const int)
+0:13 Construct float (temp float)
+0:13 'scf1' (specialization-constant const float)
+0:13 1.000000
+0:14 Convert bool to float (temp float)
+0:14 'scbt' (specialization-constant const bool)
+0:14 true (const bool)
+0:15 Convert int to float (temp float)
+0:15 'sci2' (specialization-constant const int)
+0:15 2 (const int)
+0:17 Convert float to int (temp int)
+0:17 'scf1' (specialization-constant const float)
+0:17 1.000000
+0:18 Convert bool to int (specialization-constant const int)
+0:18 'scbt' (specialization-constant const bool)
+0:18 true (const bool)
+0:19 Construct int (specialization-constant const int)
+0:19 'sci2' (specialization-constant const int)
+0:19 2 (const int)
+0:21 component-wise multiply (temp float)
+0:21 'scf1' (specialization-constant const float)
+0:21 1.000000
+0:21 'scf1' (specialization-constant const float)
+0:21 1.000000
+0:22 logical-or (specialization-constant const bool)
+0:22 'scbt' (specialization-constant const bool)
+0:22 true (const bool)
+0:22 'scbt' (specialization-constant const bool)
+0:22 true (const bool)
+0:23 component-wise multiply (specialization-constant const int)
+0:23 'sci2' (specialization-constant const int)
+0:23 2 (const int)
+0:23 'sci2' (specialization-constant const int)
+0:23 2 (const int)
+0:24 add (temp float)
+0:24 'scf1' (specialization-constant const float)
+0:24 1.000000
+0:24 Convert int to float (temp float)
+0:24 'sci2' (specialization-constant const int)
+0:24 2 (const int)
+0:26 Negate value (temp float)
+0:26 'scf1' (specialization-constant const float)
+0:26 1.000000
+0:27 Negate conditional (specialization-constant const bool)
+0:27 'scbt' (specialization-constant const bool)
+0:27 true (const bool)
+0:28 Negate value (specialization-constant const int)
+0:28 'sci2' (specialization-constant const int)
+0:28 2 (const int)
+0:30 Compare Greater Than (temp bool)
+0:30 'scf1' (specialization-constant const float)
+0:30 1.000000
+0:30 'scf1' (specialization-constant const float)
+0:30 1.000000
+0:31 Compare Greater Than (specialization-constant const bool)
+0:31 'sci2' (specialization-constant const int)
+0:31 2 (const int)
+0:31 'sci2' (specialization-constant const int)
+0:31 2 (const int)
+0:33 Compare Not Equal (temp bool)
+0:33 'scf1' (specialization-constant const float)
+0:33 1.000000
+0:33 'scf1' (specialization-constant const float)
+0:33 1.000000
+0:34 Compare Not Equal (specialization-constant const bool)
+0:34 'scbt' (specialization-constant const bool)
+0:34 true (const bool)
+0:34 'scbt' (specialization-constant const bool)
+0:34 true (const bool)
+0:35 Compare Not Equal (specialization-constant const bool)
+0:35 'sci2' (specialization-constant const int)
+0:35 2 (const int)
+0:35 'sci2' (specialization-constant const int)
+0:35 2 (const int)
+0:37 Construct ivec2 (specialization-constant const 2-component vector of int)
+0:37 'sci2' (specialization-constant const int)
+0:37 2 (const int)
+0:37 'sci2' (specialization-constant const int)
+0:37 2 (const int)
+0:38 Construct ivec2 (temp 2-element array of 2-component vector of int)
+0:38 Construct ivec2 (specialization-constant const 2-component vector of int)
+0:38 'sci2' (specialization-constant const int)
+0:38 2 (const int)
+0:38 'sci2' (specialization-constant const int)
+0:38 2 (const int)
+0:38 Construct ivec2 (specialization-constant const 2-component vector of int)
+0:38 'sci2' (specialization-constant const int)
+0:38 2 (const int)
+0:38 'sci2' (specialization-constant const int)
+0:38 2 (const int)
+0:40 Construct vec2 (temp 2-component vector of float)
+0:40 'scf1' (specialization-constant const float)
+0:40 1.000000
+0:40 'scf1' (specialization-constant const float)
+0:40 1.000000
+0:41 Construct vec2 (temp 2-element array of 2-component vector of float)
+0:41 Construct vec2 (temp 2-component vector of float)
+0:41 'scf1' (specialization-constant const float)
+0:41 1.000000
+0:41 'scf1' (specialization-constant const float)
+0:41 1.000000
+0:41 Construct vec2 (temp 2-component vector of float)
+0:41 'scf1' (specialization-constant const float)
+0:41 1.000000
+0:41 'scf1' (specialization-constant const float)
+0:41 1.000000
+0:? Linker Objects
+0:? 'scf1' (specialization-constant const float)
+0:? 1.000000
+0:? 'scbt' (specialization-constant const bool)
+0:? true (const bool)
+0:? 'sci2' (specialization-constant const int)
+0:? 2 (const int)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 50
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main"
+ Source GLSL 450
+ Name 4 "main"
+ Decorate 7 SpecId 200
+ Decorate 11 SpecId 201
+ Decorate 13 SpecId 202
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: 6(float) SpecConstant 1065353216
+ 8: TypeBool
+ 9: 6(float) Constant 0
+ 11: 8(bool) SpecConstantTrue
+ 12: TypeInt 32 1
+ 13: 12(int) SpecConstant 2
+ 14: TypeInt 32 0
+ 15: 14(int) Constant 0
+ 16: 8(bool) SpecConstantOp 171 13 15
+ 17: 6(float) Constant 1065353216
+ 21: 12(int) Constant 0
+ 22: 12(int) Constant 1
+ 23: 12(int) SpecConstantOp 169 11 22 21
+ 25: 8(bool) SpecConstantOp 166 11 11
+ 26: 12(int) SpecConstantOp 132 13 13
+ 30: 8(bool) SpecConstantOp 168 11
+ 31: 12(int) SpecConstantOp 126 13
+ 33: 8(bool) SpecConstantOp 173 13 13
+ 35: 8(bool) SpecConstantOp 165 11 11
+ 36: 8(bool) SpecConstantOp 171 13 13
+ 37: TypeVector 12(int) 2
+ 38: 37(ivec2) SpecConstantComposite 13 13
+ 39: 37(ivec2) SpecConstantComposite 13 13
+ 40: 37(ivec2) SpecConstantComposite 13 13
+ 41: 14(int) Constant 2
+ 42: TypeArray 37(ivec2) 41
+ 44: TypeVector 6(float) 2
+ 48: TypeArray 44(fvec2) 41
+ 4(main): 2 Function None 3
+ 5: Label
+ 10: 8(bool) FOrdNotEqual 7 9
+ 18: 6(float) Select 11 17 9
+ 19: 6(float) ConvertSToF 13
+ 20: 12(int) ConvertFToS 7
+ 24: 6(float) FMul 7 7
+ 27: 6(float) ConvertSToF 13
+ 28: 6(float) FAdd 7 27
+ 29: 6(float) FNegate 7
+ 32: 8(bool) FOrdGreaterThan 7 7
+ 34: 8(bool) FOrdNotEqual 7 7
+ 43: 42 CompositeConstruct 39 40
+ 45: 44(fvec2) CompositeConstruct 7 7
+ 46: 44(fvec2) CompositeConstruct 7 7
+ 47: 44(fvec2) CompositeConstruct 7 7
+ 49: 48 CompositeConstruct 46 47
+ Return
+ FunctionEnd
diff --git a/chromium/third_party/glslang/src/Test/baseResults/vulkan.comp.out b/chromium/third_party/glslang/src/Test/baseResults/vulkan.comp.out
new file mode 100644
index 00000000000..7f1fd18ac73
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/vulkan.comp.out
@@ -0,0 +1,11 @@
+vulkan.comp
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:5: 'local_size' : cannot change previously set size
+ERROR: 1 compilation errors. No code generated.
+
+
+
+Linked compute stage:
+
+
+SPIR-V is not generated for failed compile or link
diff --git a/chromium/third_party/glslang/src/Test/baseResults/vulkan.frag.out b/chromium/third_party/glslang/src/Test/baseResults/vulkan.frag.out
new file mode 100644
index 00000000000..fe8b045b3b2
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/vulkan.frag.out
@@ -0,0 +1,44 @@
+vulkan.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:14: 'sampler2D' : sampler-constructor requires two arguments
+ERROR: 0:15: 'sampler2D' : sampler-constructor first argument must be a scalar textureXXX type
+ERROR: 0:16: 'sampler2D' : sampler-constructor first argument must be a scalar textureXXX type
+ERROR: 0:17: 'sampler2D' : sampler-constructor second argument must be a scalar type 'sampler'
+ERROR: 0:18: 'sampler2D' : sampler-constructor second argument must be a scalar type 'sampler'
+ERROR: 0:19: 'sampler2D' : sampler-constructor second argument must be a scalar type 'sampler'
+ERROR: 0:21: 'sampler3D' : sampler-constructor cannot make an array of samplers
+ERROR: 0:22: 'sampler2D' : sampler-constructor first argument must be a scalar textureXXX type
+ERROR: 0:23: 'sampler2D' : sampler-constructor first argument must match type and dimensionality of constructor type
+ERROR: 0:24: 'sampler2D' : sampler-constructor second argument presence of shadow must match constructor presence of shadow
+ERROR: 0:25: 'sampler2DShadow' : sampler-constructor second argument presence of shadow must match constructor presence of shadow
+ERROR: 0:28: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: s2D
+ERROR: 0:29: 'sampler3D' : sampler-constructor cannot make an array of samplers
+ERROR: 0:29: 'sampler3D' : sampler/image types can only be used in uniform variables or function parameters: s3d
+ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 4-element array of sampler3D'
+ERROR: 0:39: 'push_constant' : can only be used with a uniform
+ERROR: 0:43: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan
+ERROR: 0:43: 'push_constant' : can only be used with a block
+ERROR: 0:45: 'push_constant' : cannot declare a default, can only be used on a block
+ERROR: 0:47: 'push_constant' : requires an instance name
+ERROR: 0:52: 'input_attachment_index' : can only be used with a subpass
+ERROR: 0:53: 'input_attachment_index' : can only be used with a subpass
+ERROR: 0:54: 'subpass' : requires an input_attachment_index layout qualifier
+ERROR: 0:60: 'subpassLoadMS' : no matching overloaded function found
+ERROR: 0:61: 'subpassLoad' : no matching overloaded function found
+ERROR: 0:63: 'subpassLoadMS' : no matching overloaded function found
+ERROR: 0:66: 'subroutine' : not allowed when generating SPIR-V
+ERROR: 0:66: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan
+ERROR: 0:67: 'subroutine' : not allowed when generating SPIR-V
+ERROR: 0:67: 'uniform' : no qualifiers allowed for function return
+ERROR: 0:69: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan
+ERROR: 0:73: 'texture' : no matching overloaded function found
+ERROR: 0:74: 'imageStore' : no matching overloaded function found
+ERROR: 33 compilation errors. No code generated.
+
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Only one push_constant block is allowed per stage
+
+SPIR-V is not generated for failed compile or link
diff --git a/chromium/third_party/glslang/src/Test/baseResults/vulkan.vert.out b/chromium/third_party/glslang/src/Test/baseResults/vulkan.vert.out
new file mode 100644
index 00000000000..0cac808ff2f
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/vulkan.vert.out
@@ -0,0 +1,33 @@
+vulkan.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:3: 'subpass input' : not supported in this stage: vertex
+ERROR: 0:4: 'subpass input' : not supported in this stage: vertex
+ERROR: 0:5: 'subpass input' : not supported in this stage: vertex
+ERROR: 0:6: 'subpass input' : not supported in this stage: vertex
+ERROR: 0:7: 'subpass input' : not supported in this stage: vertex
+ERROR: 0:8: 'subpass input' : not supported in this stage: vertex
+ERROR: 0:12: 'constant_id' : can only be applied to a scalar
+ERROR: 0:13: 'constant_id' : specialization-constant id already used
+ERROR: 0:13: 'constant_id' : can only be applied to 'const'-qualified scalar
+ERROR: 0:13: 'constant_id' : cannot be applied to this type
+ERROR: 0:14: 'constant_id' : specialization-constant id is too large
+ERROR: 0:15: 'constant_id' : can only be applied to a scalar
+ERROR: 0:16: 'constant_id' : specialization-constant id already used
+ERROR: 0:16: 'constant_id' : cannot declare a default, can only be used on a scalar
+ERROR: 0:20: 'subpassLoad' : no matching overloaded function found
+ERROR: 0:20: 'assign' : cannot convert from 'const float' to 'smooth out 4-component vector of float'
+ERROR: 0:23: 'atomic counter types' : not allowed when using GLSL for Vulkan
+ERROR: 0:24: 'shared' : not allowed when using GLSL for Vulkan
+ERROR: 0:25: 'packed' : not allowed when using GLSL for Vulkan
+ERROR: 0:32: 'initializer' : can't use with types containing arrays sized with a specialization constant
+ERROR: 0:34: '=' : can't use with types containing arrays sized with a specialization constant
+ERROR: 0:35: '==' : can't use with types containing arrays sized with a specialization constant
+ERROR: 0:39: 'set' : cannot be used with push_constant
+ERROR: 23 compilation errors. No code generated.
+
+
+
+Linked vertex stage:
+
+
+SPIR-V is not generated for failed compile or link
diff --git a/chromium/third_party/glslang/src/Test/baseResults/whileLoop.frag.out b/chromium/third_party/glslang/src/Test/baseResults/whileLoop.frag.out
new file mode 100644
index 00000000000..ad30b361f15
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/baseResults/whileLoop.frag.out
@@ -0,0 +1,65 @@
+whileLoop.frag
+Shader version: 110
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'color' (temp 4-component vector of float)
+0:9 'BaseColor' (smooth in 4-component vector of float)
+0:11 Loop with condition tested first
+0:11 Loop Condition
+0:11 Compare Less Than (temp bool)
+0:11 direct index (temp float)
+0:11 'color' (temp 4-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 'd' (uniform float)
+0:11 Loop Body
+0:12 Sequence
+0:12 add second child into first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'bigColor' (uniform 4-component vector of float)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:15 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'color' (temp 4-component vector of float)
+0:9 'BaseColor' (smooth in 4-component vector of float)
+0:11 Loop with condition tested first
+0:11 Loop Condition
+0:11 Compare Less Than (temp bool)
+0:11 direct index (temp float)
+0:11 'color' (temp 4-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 'd' (uniform float)
+0:11 Loop Body
+0:12 Sequence
+0:12 add second child into first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'bigColor' (uniform 4-component vector of float)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:15 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+