123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642 |
- {
- "copyright" : [
- "Copyright (c) 2014-2016 The Khronos Group Inc.",
- "",
- "Permission is hereby granted, free of charge, to any person obtaining a copy",
- "of this software and/or associated documentation files (the \"Materials\"),",
- "to deal in the Materials without restriction, including without limitation",
- "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
- "and/or sell copies of the Materials, and to permit persons to whom the",
- "Materials are furnished to do so, subject to the following conditions:",
- "",
- "The above copyright notice and this permission notice shall be included in",
- "all copies or substantial portions of the Materials.",
- "",
- "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/ ",
- "",
- "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
- "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
- "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
- "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
- "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
- "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
- "IN THE MATERIALS."
- ],
- "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'" }
- ]
- }
- ]
- }
|