Lines Matching full:params

119 tcu::TestLog& operator<< (tcu::TestLog& log, const StencilParams& params)
121 log << TestLog::Message << " func = " << glu::getCompareFuncStr(params.function) << "\n"
122 << " ref = " << params.reference << "\n"
123 << " compare mask = " << tcu::toHex(params.compareMask) << "\n"
124 << " stencil fail = " << glu::getStencilOpStr(params.stencilFailOp) << "\n"
125 << " depth fail = " << glu::getStencilOpStr(params.depthFailOp) << "\n"
126 << " depth pass = " << glu::getStencilOpStr(params.depthPassOp) << "\n"
127 << " write mask = " << tcu::toHex(params.writeMask) << "\n"
132 tcu::TestLog& operator<< (tcu::TestLog& log, const DepthStencilParams& params)
134 log << TestLog::Message << "Stencil test: " << (params.stencilTestEnabled ? "enabled" : "disabled") << TestLog::EndMessage;
135 if (params.stencilTestEnabled)
138 log << params.stencil[rr::FACETYPE_FRONT];
141 log << params.stencil[rr::FACETYPE_BACK];
144 log << TestLog::Message << "Depth test: " << (params.depthTestEnabled ? "enabled" : "disabled") << TestLog::EndMessage;
145 if (params.depthTestEnabled)
147 log << TestLog::Message << " func = " << glu::getCompareFuncStr(params.depthFunc) << "\n"
148 " depth value = " << params.depth << "\n"
149 " write mask = " << (params.depthWriteMask ? "true" : "false") << "\n"
153 log << TestLog::Message << "Triangles are " << (params.visibleFace == rr::FACETYPE_FRONT ? "front" : "back") << "-facing" << TestLog::EndMessage;
188 DepthStencilParams params;
297 renderCmd.params.visibleFace = rr::FACETYPE_FRONT;
298 renderCmd.params.depth = depthValues[y1*numL1CellsX + x1];
299 renderCmd.params.depthTestEnabled = true;
300 renderCmd.params.depthFunc = GL_ALWAYS;
301 renderCmd.params.depthWriteMask = true;
323 cmd.params.visibleFace = rr::FACETYPE_FRONT;
327 cmd.params.depth = depthSteps[ndx]+epsilon;
328 cmd.params.depthTestEnabled = true;
329 cmd.params.depthFunc = GL_LESS;
330 cmd.params.depthWriteMask = false;
348 cmd.params.visibleFace = rr::FACETYPE_FRONT;
352 cmd.params.stencilTestEnabled = true;
354 cmd.params.stencil[rr::FACETYPE_FRONT].function = GL_EQUAL;
355 cmd.params.stencil[rr::FACETYPE_FRONT].reference = stencilValues[ndx];
356 cmd.params.stencil[rr::FACETYPE_FRONT].compareMask = ~0u;
357 cmd.params.stencil[rr::FACETYPE_FRONT].stencilFailOp = GL_KEEP;
358 cmd.params.stencil[rr::FACETYPE_FRONT].depthFailOp = GL_KEEP;
359 cmd.params.stencil[rr::FACETYPE_FRONT].depthPassOp = GL_KEEP;
360 cmd.params.stencil[rr::FACETYPE_FRONT].writeMask = 0u;
362 cmd.params.stencil[rr::FACETYPE_BACK] = cmd.params.stencil[rr::FACETYPE_FRONT];
385 bool isFrontFacing = src.params.visibleFace == rr::FACETYPE_FRONT;
391 std::fill(DE_ARRAY_BEGIN(dst.quad.depth), DE_ARRAY_END(dst.quad.depth), ((far-near)/2.0f) * src.params.depth + (near+far)/2.0f);
396 dst.state.stencilTestEnabled = hasStencil && src.params.stencilTestEnabled;
397 dst.state.depthTestEnabled = hasDepth && src.params.depthTestEnabled;
403 dst.state.depthFunc = sglr::rr_util::mapGLTestFunc(src.params.depthFunc);
404 dst.state.depthMask = src.params.depthWriteMask;
409 translateStencilState(src.params.stencil[rr::FACETYPE_BACK], dst.state.stencilStates[rr::FACETYPE_BACK]);
410 translateStencilState(src.params.stencil[rr::FACETYPE_FRONT], dst.state.stencilStates[rr::FACETYPE_FRONT]);
436 if (command.params.stencilTestEnabled)
443 const StencilParams& sParams = command.params.stencil[face];
453 if (command.params.depthTestEnabled)
456 glDepthFunc(command.params.depthFunc);
457 glDepthMask(command.params.depthWriteMask ? GL_TRUE : GL_FALSE);
470 bool isFrontFacing = command.params.visibleFace == rr::FACETYPE_FRONT;
475 std::fill(DE_ARRAY_BEGIN(quad.depth), DE_ARRAY_END(quad.depth), command.params.depth);
626 testCmd.params = m_cases[m_iterNdx];
724 static void randomDepthStencilState (de::Random& rnd, DepthStencilParams& params)
755 params.visibleFace = rnd.getBool() ? rr::FACETYPE_FRONT : rr::FACETYPE_BACK;
756 params.stencilTestEnabled = rnd.getFloat() < stencilTestProbability;
757 params.depthTestEnabled = !params.stencilTestEnabled || (rnd.getFloat() < depthTestProbability);
759 if (params.stencilTestEnabled)
763 params.stencil[ndx].function = rnd.choose<deUint32>(DE_ARRAY_BEGIN(compareFuncs), DE_ARRAY_END(compareFuncs));
764 params.stencil[ndx].reference = rnd.getInt(-2, 260);
765 params.stencil[ndx].compareMask = rnd.getUint32();
766 params.stencil[ndx].stencilFailOp = rnd.choose<deUint32>(DE_ARRAY_BEGIN(stencilOps), DE_ARRAY_END(stencilOps));
767 params.stencil[ndx].depthFailOp = rnd.choose<deUint32>(DE_ARRAY_BEGIN(stencilOps), DE_ARRAY_END(stencilOps));
768 params.stencil[ndx].depthPassOp = rnd.choose<deUint32>(DE_ARRAY_BEGIN(stencilOps), DE_ARRAY_END(stencilOps));
769 params.stencil[ndx].writeMask = rnd.getUint32();
773 if (params.depthTestEnabled)
775 params.depthFunc = rnd.choose<deUint32>(DE_ARRAY_BEGIN(compareFuncs), DE_ARRAY_END(compareFuncs));
776 params.depth = rnd.choose<float>(DE_ARRAY_BEGIN(depthValues), DE_ARRAY_END(depthValues));
777 params.depthWriteMask = rnd.getBool();
843 DepthStencilParams params;
858 params.depthFunc = hasDepthFunc ? compareFuncs[depthFunc].func : 0;
859 params.depthTestEnabled = hasDepthFunc;
860 params.depthWriteMask = true;
862 params.stencilTestEnabled = hasStencilFunc;
870 params.depth = functionCases[ndx].depth;
871 params.visibleFace = visible;
873 params.stencil[visible].function = hasStencilFunc ? compareFuncs[stencilFunc].func : 0;
874 params.stencil[visible].reference = functionCases[ndx].stencilRef;
875 params.stencil[visible].stencilFailOp = functionCases[ndx].sFail;
876 params.stencil[visible].depthFailOp = functionCases[ndx].dFail;
877 params.stencil[visible].depthPassOp = functionCases[ndx].dPass;
878 params.stencil[visible].compareMask = functionCases[ndx].compareMask;
879 params.stencil[visible].writeMask = functionCases[ndx].writeMask;
881 params.stencil[notVisible].function = GL_ALWAYS;
882 params.stencil[notVisible].reference = 0;
883 params.stencil[notVisible].stencilFailOp = GL_REPLACE;
884 params.stencil[notVisible].depthFailOp = GL_REPLACE;
885 params.stencil[notVisible].depthPassOp = GL_REPLACE;
886 params.stencil[notVisible].compareMask = 0u;
887 params.stencil[notVisible].writeMask = ~0u;
890 cases.push_back(params);
924 DepthStencilParams params;
929 params.depthFunc = GL_LEQUAL;
930 params.depth = 0.0f;
931 params.depthTestEnabled = true;
932 params.depthWriteMask = true;
934 params.stencilTestEnabled = true;
942 params.visibleFace = visible;
944 params.stencil[visible].function = opCombinationCases[ndx].func;
945 params.stencil[visible].reference = opCombinationCases[ndx].ref;
946 params.stencil[visible].stencilFailOp = stencilOps[sFail].op;
947 params.stencil[visible].depthFailOp = stencilOps[dFail].op;
948 params.stencil[visible].depthPassOp = stencilOps[dPass].op;
949 params.stencil[visible].compareMask = opCombinationCases[ndx].compareMask;
950 params.stencil[visible].writeMask = opCombinationCases[ndx].writeMask;
952 params.stencil[notVisible].function = GL_ALWAYS;
953 params.stencil[notVisible].reference = 0;
954 params.stencil[notVisible].stencilFailOp = GL_REPLACE;
955 params.stencil[notVisible].depthFailOp = GL_REPLACE;
956 params.stencil[notVisible].depthPassOp = GL_REPLACE;
957 params.stencil[notVisible].compareMask = 0u;
958 params.stencil[notVisible].writeMask = ~0u;
961 cases.push_back(params);
977 DepthStencilParams params;
979 params.depthFunc = GL_LEQUAL;
980 params.depth = 0.0f;
981 params.depthTestEnabled = true;
982 params.stencilTestEnabled = true;
984 params.stencil[rr::FACETYPE_FRONT].function = GL_NOTEQUAL;
985 params.stencil[rr::FACETYPE_FRONT].reference = 1;
986 params.stencil[rr::FACETYPE_FRONT].stencilFailOp = GL_INVERT;
987 params.stencil[rr::FACETYPE_FRONT].depthFailOp = GL_INCR;
988 params.stencil[rr::FACETYPE_FRONT].depthPassOp = GL_DECR;
989 params.stencil[rr::FACETYPE_FRONT].compareMask = ~0u;
990 params.stencil[rr::FACETYPE_FRONT].writeMask = ~0u;
992 params.stencil[rr::FACETYPE_BACK].function = GL_ALWAYS;
993 params.stencil[rr::FACETYPE_BACK].reference = 0;
994 params.stencil[rr::FACETYPE_BACK].stencilFailOp = GL_REPLACE;
995 params.stencil[rr::FACETYPE_BACK].depthFailOp = GL_INVERT;
996 params.stencil[rr::FACETYPE_BACK].depthPassOp = GL_INCR;
997 params.stencil[rr::FACETYPE_BACK].compareMask = ~0u;
998 params.stencil[rr::FACETYPE_BACK].writeMask = ~0u;
1003 params.visibleFace = rr::FACETYPE_FRONT;
1004 params.depthWriteMask = true;
1005 cases.push_back(params);
1008 params.visibleFace = rr::FACETYPE_FRONT;
1009 params.depthWriteMask = false;
1010 cases.push_back(params);
1013 params.visibleFace = rr::FACETYPE_BACK;
1014 params.depthWriteMask = true;
1015 cases.push_back(params);
1018 params.visibleFace = rr::FACETYPE_BACK;
1019 params.depthWriteMask = false;
1020 cases.push_back(params);
1044 DepthStencilParams params;
1046 params.depthFunc = GL_LEQUAL;
1047 params.depth = 0.0f;
1048 params.depthTestEnabled = true;
1049 params.depthWriteMask = true;
1050 params.stencilTestEnabled = true;
1052 params.stencil[rr::FACETYPE_FRONT].function = GL_NOTEQUAL;
1053 params.stencil[rr::FACETYPE_FRONT].reference = 1;
1054 params.stencil[rr::FACETYPE_FRONT].stencilFailOp = GL_INVERT;
1055 params.stencil[rr::FACETYPE_FRONT].depthFailOp = GL_INCR;
1056 params.stencil[rr::FACETYPE_FRONT].depthPassOp = GL_DECR;
1057 params.stencil[rr::FACETYPE_FRONT].compareMask = ~0u;
1059 params.stencil[rr::FACETYPE_BACK].function = GL_ALWAYS;
1060 params.stencil[rr::FACETYPE_BACK].reference = 0;
1061 params.stencil[rr::FACETYPE_BACK].stencilFailOp = GL_REPLACE;
1062 params.stencil[rr::FACETYPE_BACK].depthFailOp = GL_INVERT;
1063 params.stencil[rr::FACETYPE_BACK].depthPassOp = GL_INCR;
1064 params.stencil[rr::FACETYPE_BACK].compareMask = ~0u;
1069 params.visibleFace = stencilWmaskCases[ndx].visibleFace;
1070 params.stencil[rr::FACETYPE_FRONT].writeMask = stencilWmaskCases[ndx].frontWriteMask;
1071 params.stencil[rr::FACETYPE_BACK].writeMask = stencilWmaskCases[ndx].backWriteMask;
1072 cases.push_back(params);
1102 DepthStencilParams params;
1104 params.depthFunc = GL_LEQUAL;
1105 params.depth = 0.0f;
1106 params.depthTestEnabled = true;
1107 params.depthWriteMask = true;
1108 params.stencilTestEnabled = true;
1110 params.stencil[rr::FACETYPE_FRONT].function = GL_NOTEQUAL;
1111 params.stencil[rr::FACETYPE_FRONT].reference = 1;
1112 params.stencil[rr::FACETYPE_FRONT].stencilFailOp = GL_INVERT;
1113 params.stencil[rr::FACETYPE_FRONT].depthFailOp = GL_INCR;
1114 params.stencil[rr::FACETYPE_FRONT].depthPassOp = GL_DECR;
1115 params.stencil[rr::FACETYPE_FRONT].compareMask = ~0u;
1117 params.stencil[rr::FACETYPE_BACK].function = GL_ALWAYS;
1118 params.stencil[rr::FACETYPE_BACK].reference = 0;
1119 params.stencil[rr::FACETYPE_BACK].stencilFailOp = GL_REPLACE;
1120 params.stencil[rr::FACETYPE_BACK].depthFailOp = GL_INVERT;
1121 params.stencil[rr::FACETYPE_BACK].depthPassOp = GL_INCR;
1122 params.stencil[rr::FACETYPE_BACK].compareMask = ~0u;
1127 params.depthWriteMask = depthStencilWmaskCases[ndx].depthWriteMask;
1128 params.visibleFace = depthStencilWmaskCases[ndx].visibleFace;
1129 params.stencil[rr::FACETYPE_FRONT].writeMask = depthStencilWmaskCases[ndx].frontWriteMask;
1130 params.stencil[rr::FACETYPE_BACK].writeMask = depthStencilWmaskCases[ndx].backWriteMask;
1131 cases.push_back(params);