{ "copyright" : [ "Copyright (c) 2014-2024 The Khronos Group Inc.", "License: MIT", "", "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS", "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND", "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ", "" ], "version" : 100, "revision" : 2, "instructions" : [ { "opname" : "Round", "opcode" : 1, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "RoundEven", "opcode" : 2, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Trunc", "opcode" : 3, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "FAbs", "opcode" : 4, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "SAbs", "opcode" : 5, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "FSign", "opcode" : 6, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "SSign", "opcode" : 7, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Floor", "opcode" : 8, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Ceil", "opcode" : 9, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Fract", "opcode" : 10, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Radians", "opcode" : 11, "operands" : [ { "kind" : "IdRef", "name" : "degrees" } ] }, { "opname" : "Degrees", "opcode" : 12, "operands" : [ { "kind" : "IdRef", "name" : "radians" } ] }, { "opname" : "Sin", "opcode" : 13, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Cos", "opcode" : 14, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Tan", "opcode" : 15, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Asin", "opcode" : 16, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Acos", "opcode" : 17, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Atan", "opcode" : 18, "operands" : [ { "kind" : "IdRef", "name" : "y_over_x" } ] }, { "opname" : "Sinh", "opcode" : 19, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Cosh", "opcode" : 20, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Tanh", "opcode" : 21, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Asinh", "opcode" : 22, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Acosh", "opcode" : 23, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Atanh", "opcode" : 24, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Atan2", "opcode" : 25, "operands" : [ { "kind" : "IdRef", "name" : "y" }, { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Pow", "opcode" : 26, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "y" } ] }, { "opname" : "Exp", "opcode" : 27, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Log", "opcode" : 28, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Exp2", "opcode" : 29, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Log2", "opcode" : 30, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Sqrt", "opcode" : 31, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "InverseSqrt", "opcode" : 32, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Determinant", "opcode" : 33, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "MatrixInverse", "opcode" : 34, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Modf", "opcode" : 35, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "i" } ] }, { "opname" : "ModfStruct", "opcode" : 36, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "FMin", "opcode" : 37, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "y" } ] }, { "opname" : "UMin", "opcode" : 38, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "y" } ] }, { "opname" : "SMin", "opcode" : 39, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "y" } ] }, { "opname" : "FMax", "opcode" : 40, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "y" } ] }, { "opname" : "UMax", "opcode" : 41, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "y" } ] }, { "opname" : "SMax", "opcode" : 42, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "y" } ] }, { "opname" : "FClamp", "opcode" : 43, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "minVal" }, { "kind" : "IdRef", "name" : "maxVal" } ] }, { "opname" : "UClamp", "opcode" : 44, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "minVal" }, { "kind" : "IdRef", "name" : "maxVal" } ] }, { "opname" : "SClamp", "opcode" : 45, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "minVal" }, { "kind" : "IdRef", "name" : "maxVal" } ] }, { "opname" : "FMix", "opcode" : 46, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "y" }, { "kind" : "IdRef", "name" : "a" } ] }, { "opname" : "IMix", "opcode" : 47, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "y" }, { "kind" : "IdRef", "name" : "a" } ] }, { "opname" : "Step", "opcode" : 48, "operands" : [ { "kind" : "IdRef", "name" : "edge" }, { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "SmoothStep", "opcode" : 49, "operands" : [ { "kind" : "IdRef", "name" : "edge0" }, { "kind" : "IdRef", "name" : "edge1" }, { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Fma", "opcode" : 50, "operands" : [ { "kind" : "IdRef", "name" : "a" }, { "kind" : "IdRef", "name" : "b" }, { "kind" : "IdRef", "name" : "c" } ] }, { "opname" : "Frexp", "opcode" : 51, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "exp" } ] }, { "opname" : "FrexpStruct", "opcode" : 52, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Ldexp", "opcode" : 53, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "exp" } ] }, { "opname" : "PackSnorm4x8", "opcode" : 54, "operands" : [ { "kind" : "IdRef", "name" : "v" } ] }, { "opname" : "PackUnorm4x8", "opcode" : 55, "operands" : [ { "kind" : "IdRef", "name" : "v" } ] }, { "opname" : "PackSnorm2x16", "opcode" : 56, "operands" : [ { "kind" : "IdRef", "name" : "v" } ] }, { "opname" : "PackUnorm2x16", "opcode" : 57, "operands" : [ { "kind" : "IdRef", "name" : "v" } ] }, { "opname" : "PackHalf2x16", "opcode" : 58, "operands" : [ { "kind" : "IdRef", "name" : "v" } ] }, { "opname" : "PackDouble2x32", "opcode" : 59, "operands" : [ { "kind" : "IdRef", "name" : "v" } ], "capabilities" : [ "Float64" ] }, { "opname" : "UnpackSnorm2x16", "opcode" : 60, "operands" : [ { "kind" : "IdRef", "name" : "p" } ] }, { "opname" : "UnpackUnorm2x16", "opcode" : 61, "operands" : [ { "kind" : "IdRef", "name" : "p" } ] }, { "opname" : "UnpackHalf2x16", "opcode" : 62, "operands" : [ { "kind" : "IdRef", "name" : "v" } ] }, { "opname" : "UnpackSnorm4x8", "opcode" : 63, "operands" : [ { "kind" : "IdRef", "name" : "p" } ] }, { "opname" : "UnpackUnorm4x8", "opcode" : 64, "operands" : [ { "kind" : "IdRef", "name" : "p" } ] }, { "opname" : "UnpackDouble2x32", "opcode" : 65, "operands" : [ { "kind" : "IdRef", "name" : "v" } ], "capabilities" : [ "Float64" ] }, { "opname" : "Length", "opcode" : 66, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "Distance", "opcode" : 67, "operands" : [ { "kind" : "IdRef", "name" : "p0" }, { "kind" : "IdRef", "name" : "p1" } ] }, { "opname" : "Cross", "opcode" : 68, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "y" } ] }, { "opname" : "Normalize", "opcode" : 69, "operands" : [ { "kind" : "IdRef", "name" : "x" } ] }, { "opname" : "FaceForward", "opcode" : 70, "operands" : [ { "kind" : "IdRef", "name" : "N" }, { "kind" : "IdRef", "name" : "I" }, { "kind" : "IdRef", "name" : "Nref" } ] }, { "opname" : "Reflect", "opcode" : 71, "operands" : [ { "kind" : "IdRef", "name" : "I" }, { "kind" : "IdRef", "name" : "N" } ] }, { "opname" : "Refract", "opcode" : 72, "operands" : [ { "kind" : "IdRef", "name" : "I" }, { "kind" : "IdRef", "name" : "N" }, { "kind" : "IdRef", "name" : "eta" } ] }, { "opname" : "FindILsb", "opcode" : 73, "operands" : [ { "kind" : "IdRef", "name" : "Value" } ] }, { "opname" : "FindSMsb", "opcode" : 74, "operands" : [ { "kind" : "IdRef", "name" : "Value" } ] }, { "opname" : "FindUMsb", "opcode" : 75, "operands" : [ { "kind" : "IdRef", "name" : "Value" } ] }, { "opname" : "InterpolateAtCentroid", "opcode" : 76, "operands" : [ { "kind" : "IdRef", "name" : "interpolant" } ], "capabilities" : [ "InterpolationFunction" ] }, { "opname" : "InterpolateAtSample", "opcode" : 77, "operands" : [ { "kind" : "IdRef", "name" : "interpolant" }, { "kind" : "IdRef", "name" : "sample" } ], "capabilities" : [ "InterpolationFunction" ] }, { "opname" : "InterpolateAtOffset", "opcode" : 78, "operands" : [ { "kind" : "IdRef", "name" : "interpolant" }, { "kind" : "IdRef", "name" : "offset" } ], "capabilities" : [ "InterpolationFunction" ] }, { "opname" : "NMin", "opcode" : 79, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "y" } ] }, { "opname" : "NMax", "opcode" : 80, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "y" } ] }, { "opname" : "NClamp", "opcode" : 81, "operands" : [ { "kind" : "IdRef", "name" : "x" }, { "kind" : "IdRef", "name" : "minVal" }, { "kind" : "IdRef", "name" : "maxVal" } ] } ] }