1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
;; 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
|