Lines Matching defs:output
21 * \brief Fragment shader output tests.
121 OutputVec& operator<< (const FragmentOutput& output)
123 outputs.push_back(output);
178 // Input-output declarations.
181 const FragmentOutput& output = outputs[outNdx];
182 bool isArray = output.arrayLength > 0;
183 const char* typeName = glu::getDataTypeName(output.type);
184 const char* outputPrec = glu::getPrecisionName(output.precision);
185 bool isFloat = glu::isDataTypeFloatOrVec(output.type);
191 for (int elemNdx = 0; elemNdx < output.arrayLength; elemNdx++)
197 frag << "layout(location = " << output.location << ") out " << outputPrec << " " << typeName << " out" << outNdx << "[" << output.arrayLength << "];\n";
204 << "layout(location = " << output.location << ") out " << outputPrec << " " << typeName << " out" << outNdx << ";\n";
216 const FragmentOutput& output = outputs[outNdx];
217 bool isArray = output.arrayLength > 0;
221 for (int elemNdx = 0; elemNdx < output.arrayLength; elemNdx++)
627 const FragmentOutput& output = m_outputs[outputNdx];
628 bool isFloat = glu::isDataTypeFloatOrVec(output.type);
629 bool isInt = glu::isDataTypeIntOrIVec(output.type);
630 bool isUint = glu::isDataTypeUintOrUVec(output.type);
631 int numVecs = output.arrayLength > 0 ? output.arrayLength : 1;
632 int numScalars = glu::getDataTypeScalarSize(output.type);
639 DE_ASSERT(output.location+vecNdx < (int)attachments.size());
640 attachments[output.location+vecNdx].numWrittenChannels = numScalars;
641 attachments[output.location+vecNdx].outPrecision = output.precision;
645 Vec2 range = getFloatRange(output.precision);
650 if (de::inBounds(output.location+vecNdx, 0, (int)attachments.size()))
654 const tcu::TextureFormatInfo fmtInfo = tcu::getTextureFormatInfo(attachments[output.location+vecNdx].format);
681 const IVec2 range = getIntRange(output.precision);
685 if (de::inBounds(output.location+vecNdx, 0, (int)attachments.size()))
687 // Limit to range of output format as conversion mode is not specified.
688 const IVec4 fmtBits = tcu::getTextureFormatBitDepth(attachments[output.location+vecNdx].format);
722 const UVec2 range = getUintRange(output.precision);
725 if (de::inBounds(output.location+vecNdx, 0, (int)attachments.size()))
727 // Limit to range of output format as conversion mode is not specified.
728 const IVec4 fmtBits = tcu::getTextureFormatBitDepth(attachments[output.location+vecNdx].format);
778 const FragmentOutput& output = m_outputs[outputNdx];
779 bool isArray = output.arrayLength > 0;
780 bool isFloat = glu::isDataTypeFloatOrVec(output.type);
781 bool isInt = glu::isDataTypeIntOrIVec(output.type);
782 bool isUint = glu::isDataTypeUintOrUVec(output.type);
783 int scalarSize = glu::getDataTypeScalarSize(output.type);
787 int numVecs = isArray ? output.arrayLength : 1;
841 const FragmentOutput& output = m_outputs[outputNdx];
842 const bool isArray = output.arrayLength > 0;
843 const bool isFloat = glu::isDataTypeFloatOrVec(output.type);
844 const bool isInt = glu::isDataTypeIntOrIVec(output.type);
845 const bool isUint = glu::isDataTypeUintOrUVec(output.type);
846 const int scalarSize = glu::getDataTypeScalarSize(output.type);
847 const int numVecs = isArray ? output.arrayLength : 1;
851 const int location = output.location+vecNdx;
897 deUint32 outTypeThreshold = 0; //!< Threshold based on output type
912 // 1 ULP rounding error for highp -> output precision cast
962 : TestCaseGroup(context, "fragment_out", "Fragment output tests")
1152 tcu::TestCaseGroup* basicGroup = new tcu::TestCaseGroup(m_testCtx, "basic", "Basic fragment output tests");
1160 tcu::TestCaseGroup* floatGroup = new tcu::TestCaseGroup(m_testCtx, "float", "Floating-point output tests");
1183 tcu::TestCaseGroup* fixedGroup = new tcu::TestCaseGroup(m_testCtx, "fixed", "Fixed-point output tests");
1206 tcu::TestCaseGroup* intGroup = new tcu::TestCaseGroup(m_testCtx, "int", "Integer output tests");
1229 tcu::TestCaseGroup* uintGroup = new tcu::TestCaseGroup(m_testCtx, "uint", "Usigned integer output tests");
1263 tcu::TestCaseGroup* floatGroup = new tcu::TestCaseGroup(m_testCtx, "float", "Floating-point output tests");
1287 tcu::TestCaseGroup* fixedGroup = new tcu::TestCaseGroup(m_testCtx, "fixed", "Fixed-point output tests");
1311 tcu::TestCaseGroup* intGroup = new tcu::TestCaseGroup(m_testCtx, "int", "Integer output tests");
1335 tcu::TestCaseGroup* uintGroup = new tcu::TestCaseGroup(m_testCtx, "uint", "Usigned integer output tests");
1361 tcu::TestCaseGroup* randomGroup = new tcu::TestCaseGroup(m_testCtx, "random", "Random fragment output cases");