Lines Matching defs:output
113 for (vector<Symbol>::const_iterator output = shaderSpec.outputs.begin(); output != shaderSpec.outputs.end(); ++output)
115 DE_ASSERT(output->varType.isBasicType());
117 if (glu::isDataTypeBoolOrBVec(output->varType.getBasicType()))
119 const int vecSize = glu::getDataTypeScalarSize(output->varType.getBasicType());
123 src << "flat " << out << " " << glu::declare(intType, outputPrefix + output->name) << ";\n";
126 src << "flat " << out << " " << glu::declare(output->varType, outputPrefix + output->name) << ";\n";
139 // Declare local output variables
140 for (vector<Symbol>::const_iterator output = shaderSpec.outputs.begin(); output != shaderSpec.outputs.end(); ++output)
141 src << "\t" << glu::declare(output->varType, output->name) << ";\n";
153 for (vector<Symbol>::const_iterator output = shaderSpec.outputs.begin(); output != shaderSpec.outputs.end(); ++output)
155 if (glu::isDataTypeBoolOrBVec(output->varType.getBasicType()))
157 const int vecSize = glu::getDataTypeScalarSize(output->varType.getBasicType());
160 src << "\t" << outputPrefix << output->name << " = " << glu::getDataTypeName(intBaseType) << "(" << output->name << ");\n";
163 src << "\t" << outputPrefix << output->name << " = " << output->name << ";\n";
192 for (vector<Symbol>::const_iterator output = shaderSpec.outputs.begin(); output != shaderSpec.outputs.end(); ++output)
194 DE_ASSERT(output->varType.isBasicType());
196 if (glu::isDataTypeBoolOrBVec(output->varType.getBasicType()))
198 const int vecSize = glu::getDataTypeScalarSize(output->varType.getBasicType());
202 src << "flat out " << glu::declare(intType, outputPrefix + output->name) << ";\n";
205 src << "flat out " << glu::declare(output->varType, outputPrefix + output->name) << ";\n";
217 // Declare local output variables.
218 for (vector<Symbol>::const_iterator output = shaderSpec.outputs.begin(); output != shaderSpec.outputs.end(); ++output)
219 src << "\t" << glu::declare(output->varType, output->name) << ";\n";
233 for (vector<Symbol>::const_iterator output = shaderSpec.outputs.begin(); output != shaderSpec.outputs.end(); ++output)
235 if (glu::isDataTypeBoolOrBVec(output->varType.getBasicType()))
237 const int vecSize = glu::getDataTypeScalarSize(output->varType.getBasicType());
240 src << "\t" << outputPrefix << output->name << " = " << glu::getDataTypeName(intBaseType) << "(" << output->name << ");\n";
243 src << "\t" << outputPrefix << output->name << " = " << output->name << ";\n";
260 // \todo [2013-08-05 pyry] Do we need one unused output?
304 const Symbol& output = shaderSpec.outputs[outNdx];
305 const int location = de::lookup(outLocationMap, output.name);
306 const std::string outVarName = outputPrefix + output.name;
307 glu::VariableDeclaration decl (output.varType, outVarName, glu::STORAGE_OUT, glu::INTERPOLATION_LAST, glu::Layout(location));
309 TCU_CHECK_INTERNAL(output.varType.isBasicType());
311 if (useIntOutputs && glu::isDataTypeFloatOrVec(output.varType.getBasicType()))
313 const int vecSize = glu::getDataTypeScalarSize(output.varType.getBasicType());
320 else if (glu::isDataTypeBoolOrBVec(output.varType.getBasicType()))
322 const int vecSize = glu::getDataTypeScalarSize(output.varType.getBasicType());
329 else if (glu::isDataTypeMatrix(output.varType.getBasicType()))
331 const int vecSize = glu::getDataTypeMatrixNumRows(output.varType.getBasicType());
332 const int numVecs = glu::getDataTypeMatrixNumColumns(output.varType.getBasicType());
351 for (vector<Symbol>::const_iterator output = shaderSpec.outputs.begin(); output != shaderSpec.outputs.end(); ++output)
353 if (useIntOutputs && glu::isDataTypeFloatOrVec(output->varType.getBasicType()))
354 src << " o_" << output->name << " = floatBitsToUint(" << valuePrefix << output->name << ");\n";
355 else if (glu::isDataTypeMatrix(output->varType.getBasicType()))
357 const int numVecs = glu::getDataTypeMatrixNumColumns(output->varType.getBasicType());
361 src << "\t" << outputPrefix << output->name << "_" << vecNdx << " = floatBitsToUint(" << valuePrefix << output->name << "[" << vecNdx << "]);\n";
363 src << "\t" << outputPrefix << output->name << "_" << vecNdx << " = " << valuePrefix << output->name << "[" << vecNdx << "];\n";
365 else if (glu::isDataTypeBoolOrBVec(output->varType.getBasicType()))
367 const int vecSize = glu::getDataTypeScalarSize(output->varType.getBasicType());
370 src << "\t" << outputPrefix << output->name << " = " << glu::getDataTypeName(intBaseType) << "(" << valuePrefix << output->name << ");\n";
373 src << "\t" << outputPrefix << output->name << " = " << valuePrefix << output->name << ";\n";
399 // Declare output variables
400 for (vector<Symbol>::const_iterator output = shaderSpec.outputs.begin(); output != shaderSpec.outputs.end(); ++output)
401 src << "\t" << glu::declare(output->varType, output->name) << ";\n";
430 for (vector<Symbol>::const_iterator output = shaderSpec.outputs.begin(); output != shaderSpec.outputs.end(); ++output)
432 if (glu::isDataTypeBoolOrBVec(output->varType.getBasicType()))
434 const int vecSize = glu::getDataTypeScalarSize(output->varType.getBasicType());
438 src << "flat in " << glu::declare(intType, inputPrefix + output->name) << ";\n";
441 src << "flat in " << glu::declare(output->varType, inputPrefix + output->name) << ";\n";
558 throw tcu::InternalError("Invalid output type");
629 const Symbol& output = *m_outputLayout.locationSymbols[outNdx];
631 const deUint32 format = glu::getInternalFormat(getRenderbufferFormatForOutput(output.varType, useIntOutputs));
663 const Symbol& output = m_outputs[outNdx];
664 const int outSize = output.varType.getScalarSize();
665 const int outVecSize = glu::getDataTypeNumComponents(output.varType.getBasicType());
666 const int outNumLocs = glu::getDataTypeNumLocations(output.varType.getBasicType());
668 const tcu::TextureFormat format = getRenderbufferFormatForOutput(output.varType, useIntOutputs);
670 const int outLocation = de::lookup(m_outputLayout.locationMap, output.name);
897 GLU_EXPECT_NO_ERROR(gl.getError(), "Failed to allocate output buffer");
1260 const int numBlockRequired = 2; // highest binding is always 1 (output) i.e. count == 2