Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

ArbInst.cpp

00001 // Sh: A GPU metaprogramming language. 00002 // 00003 // Copyright (c) 2003 University of Waterloo Computer Graphics Laboratory 00004 // Project administrator: Michael D. McCool 00005 // Authors: Zheng Qin, Stefanus Du Toit, Kevin Moule, Tiberiu S. Popa, 00006 // Michael D. McCool 00007 // 00008 // This software is provided 'as-is', without any express or implied 00009 // warranty. In no event will the authors be held liable for any damages 00010 // arising from the use of this software. 00011 // 00012 // Permission is granted to anyone to use this software for any purpose, 00013 // including commercial applications, and to alter it and redistribute it 00014 // freely, subject to the following restrictions: 00015 // 00016 // 1. The origin of this software must not be misrepresented; you must 00017 // not claim that you wrote the original software. If you use this 00018 // software in a product, an acknowledgment in the product documentation 00019 // would be appreciated but is not required. 00020 // 00021 // 2. Altered source versions must be plainly marked as such, and must 00022 // not be misrepresented as being the original software. 00023 // 00024 // 3. This notice may not be removed or altered from any source 00025 // distribution. 00027 #include "ArbInst.hpp" 00028 00029 namespace shgl { 00030 00031 ArbOpInfo arbOpInfo[] = { 00032 // VERTEX AND FRAGMENT 00033 // Vector 00034 {"ABS", 1, false}, 00035 {"FLR", 1, false}, 00036 {"FRC", 1, false}, 00037 {"LIT", 1, false}, 00038 {"MOV", 1, false}, 00039 00040 // Scalar 00041 {"EX2", 1, false}, 00042 {"LG2", 1, false}, 00043 {"RCP", 1, false}, 00044 {"RSQ", 1, false}, 00045 00046 // Binary scalar 00047 {"POW", 2, false}, 00048 00049 // Binary vector 00050 {"ADD", 2, false}, 00051 {"DP3", 2, true}, 00052 {"DP4", 2, true}, 00053 {"DPH", 2, true}, 00054 {"DST", 2, true}, 00055 {"MAX", 2, false}, 00056 {"MIN", 2, false}, 00057 {"MUL", 2, false}, 00058 {"SGE", 2, false}, 00059 {"SLT", 2, false}, 00060 {"SUB", 2, false}, 00061 {"XPD", 2, true}, // should this really be a collectingOp? 00062 00063 // Trinary 00064 {"MAD", 3, false}, 00065 00066 // Swizzling 00067 {"SWZ", 2, true}, // should this really be a collectingOp? 00068 00069 // VERTEX ONLY 00070 // Scalar 00071 {"EXP", 1, false}, 00072 {"LOG", 1, false}, 00073 00074 // FRAGMENT ONLY 00075 // Scalar 00076 {"COS", 1, false}, 00077 {"SIN", 1, false}, 00078 {"SCS", 1, false}, 00079 00080 // Trinary 00081 {"CMP", 3, false}, 00082 {"LRP", 3, false}, 00083 00084 // Sampling 00085 {"TEX", 3, false}, 00086 {"TXP", 3, false}, 00087 {"TXB", 3, false}, 00088 00089 // KIL 00090 {"KIL", 0, false}, 00091 00092 // NV_vertex_program/NV_fragment_program 00093 {"SEQ", 2, false}, 00094 {"SGT", 2, false}, 00095 {"SLE", 2, false}, 00096 {"SNE", 2, false}, 00097 {"SFL", 2, false}, 00098 {"STR", 2, false}, 00099 00100 // NV_fragment_program 00101 {"DDX", 1, false}, 00102 {"DDY", 1, false}, 00103 {"RFL", 2, false}, 00104 {"TXD", 4, false}, 00105 00106 // NV_vertex_program2 00107 {"SSG", 1, false}, 00108 {"BRA", 2, false}, 00109 {"<label>", 1, false}, 00110 00111 // NV_fragment_program2 00112 {"DIV", 2, false}, 00113 {"DP2", 2, true}, 00114 {"NRM", 1, false}, 00115 {"IF", 1, false}, 00116 {"ELSE", 0, false}, 00117 {"ENDIF", 0, false}, 00118 {"REP", 1, false}, 00119 {"ENDREP", 0, false}, 00120 {"BRK", 1, false}, 00121 00122 {"<fun>", 0, false} 00123 }; 00124 00125 char* arbCCnames[] = { 00126 "", 00127 "EQ", 00128 "GE", 00129 "GT", 00130 "LE", 00131 "LT", 00132 "NE", 00133 "TR", 00134 "FL" 00135 }; 00136 00137 }

Generated on Mon Oct 18 14:17:38 2004 for Sh by doxygen 1.3.7