blob: efb663a999196213736d8767f856435e6f7a95e0 [file] [log] [blame]
;; Tests a diff where the dst shader doesn't have OpExtImport while the
;; src shader does (and uses OpExtInst). This test ensures that when matching,
;; the OpExtImport instruction from the correct module is referenced.
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %4 "main" %9 %11
OpExecutionMode %4 OriginUpperLeft
OpSource ESSL 310
OpName %4 "main"
OpName %9 "color"
OpName %11 "v"
OpDecorate %9 RelaxedPrecision
OpDecorate %9 Location 0
OpDecorate %11 RelaxedPrecision
OpDecorate %11 Location 0
OpDecorate %12 RelaxedPrecision
OpDecorate %13 RelaxedPrecision
OpDecorate %14 RelaxedPrecision
%2 = OpTypeVoid
%3 = OpTypeFunction %2
%6 = OpTypeFloat 32
%7 = OpTypeVector %6 4
%8 = OpTypePointer Output %7
%9 = OpVariable %8 Output
%10 = OpTypePointer Input %6
%11 = OpVariable %10 Input
%4 = OpFunction %2 None %3
%5 = OpLabel
%12 = OpLoad %6 %11
%13 = OpExtInst %6 %1 Log2 %12
%14 = OpCompositeConstruct %7 %13 %13 %13 %13
OpStore %9 %14
OpReturn
OpFunctionEnd