Lines Matching full:shader
24 VertexShader::VertexShader(const VertexShader *vs) : Shader()
43 append(new sw::Shader::Instruction(*vs->getInstruction(i)));
60 VertexShader::VertexShader(const unsigned long *token) : Shader()
112 Shader::Opcode opcode = (Shader::Opcode)(token[i] & 0x0000FFFF);
116 case Shader::OPCODE_TEXCOORD:
117 case Shader::OPCODE_TEXKILL:
118 case Shader::OPCODE_TEX:
119 case Shader::OPCODE_TEXBEM:
120 case Shader::OPCODE_TEXBEML:
121 case Shader::OPCODE_TEXREG2AR:
122 case Shader::OPCODE_TEXREG2GB:
123 case Shader::OPCODE_TEXM3X2PAD:
124 case Shader::OPCODE_TEXM3X2TEX:
125 case Shader::OPCODE_TEXM3X3PAD:
126 case Shader::OPCODE_TEXM3X3TEX:
127 case Shader::OPCODE_RESERVED0:
128 case Shader::OPCODE_TEXM3X3SPEC:
129 case Shader::OPCODE_TEXM3X3VSPEC:
130 case Shader::OPCODE_TEXREG2RGB:
131 case Shader::OPCODE_TEXDP3TEX:
132 case Shader::OPCODE_TEXM3X2DEPTH:
133 case Shader::OPCODE_TEXDP3:
134 case Shader::OPCODE_TEXM3X3:
135 case Shader::OPCODE_TEXDEPTH:
136 case Shader::OPCODE_CMP0:
137 case Shader::OPCODE_BEM:
138 case Shader::OPCODE_DP2ADD:
139 case Shader::OPCODE_DFDX:
140 case Shader::OPCODE_DFDY:
141 case Shader::OPCODE_TEXLDD:
160 void VertexShader::setInput(int inputIdx, const sw::Shader::Semantic& semantic, AttribType aType)
166 void VertexShader::setOutput(int outputIdx, int nbComponents, const sw::Shader::Semantic& semantic)
176 setOutput(posReg, 4, sw::Shader::Semantic(sw::Shader::USAGE_POSITION, 0));
182 setOutput(ptSizeReg, 4, sw::Shader::Semantic(sw::Shader::USAGE_PSIZE, 0));
186 const sw::Shader::Semantic& VertexShader::getInput(int inputIdx) const
196 const sw::Shader::Semantic& VertexShader::getOutput(int outputIdx, int component) const
217 if(instruction[i]->opcode == Shader::OPCODE_DCL &&
218 instruction[i]->dst.type == Shader::PARAMETER_INPUT)
231 output[Pos][0] = Semantic(Shader::USAGE_POSITION, 0);
232 output[Pos][1] = Semantic(Shader::USAGE_POSITION, 0);
233 output[Pos][2] = Semantic(Shader::USAGE_POSITION, 0);
234 output[Pos][3] = Semantic(Shader::USAGE_POSITION, 0);
242 case Shader::PARAMETER_RASTOUT:
249 output[Fog][0] = Semantic(Shader::USAGE_FOG, 0);
252 output[Pts][1] = Semantic(Shader::USAGE_PSIZE, 0);
258 case Shader::PARAMETER_ATTROUT:
261 if(dst.x) output[C0][0] = Semantic(Shader::USAGE_COLOR, 0);
262 if(dst.y) output[C0][1] = Semantic(Shader::USAGE_COLOR, 0);
263 if(dst.z) output[C0][2] = Semantic(Shader::USAGE_COLOR, 0);
264 if(dst.w) output[C0][3] = Semantic(Shader::USAGE_COLOR, 0);
268 if(dst.x) output[C1][0] = Semantic(Shader::USAGE_COLOR, 1);
269 if(dst.y) output[C1][1] = Semantic(Shader::USAGE_COLOR, 1);
270 if(dst.z) output[C1][2] = Semantic(Shader::USAGE_COLOR, 1);
271 if(dst.w) output[C1][3] = Semantic(Shader::USAGE_COLOR, 1);
275 case Shader::PARAMETER_TEXCRDOUT:
276 if(dst.x) output[T0 + dst.index][0] = Semantic(Shader::USAGE_TEXCOORD, dst.index);
277 if(dst.y) output[T0 + dst.index][1] = Semantic(Shader::USAGE_TEXCOORD, dst.index);
278 if(dst.z) output[T0 + dst.index][2] = Semantic(Shader::USAGE_TEXCOORD, dst.index);
279 if(dst.w) output[T0 + dst.index][3] = Semantic(Shader::USAGE_TEXCOORD, dst.index);
286 else // Shader Model 3.0 input declaration
290 if(inst->opcode == Shader::OPCODE_DCL &&
291 inst->dst.type == Shader::PARAMETER_OUTPUT)
303 if(usage == Shader::USAGE_POSITION && usageIndex == 0)
308 if(usage == Shader::USAGE_PSIZE && usageIndex == 0)