Lines Matching defs:src
813 void generateDeclaration (std::ostringstream& src, const VarType& type, const char* name, int indentLevel, deUint32 unusedHints);
814 void generateDeclaration (std::ostringstream& src, const Uniform& uniform, int indentLevel);
815 void generateDeclaration (std::ostringstream& src, const StructType& structType, int indentLevel);
817 void generateLocalDeclaration (std::ostringstream& src, const StructType& structType, int indentLevel);
818 void generateFullDeclaration (std::ostringstream& src, const StructType& structType, int indentLevel);
820 void generateDeclaration (std::ostringstream& src, const StructType& structType, int indentLevel)
823 generateFullDeclaration(src, structType, indentLevel);
824 src << ";\n";
827 void generateFullDeclaration (std::ostringstream& src, const StructType& structType, int indentLevel)
829 src << "struct";
831 src << " " << structType.getTypeName();
832 src << "\n" << Indent(indentLevel) << "{\n";
836 src << Indent(indentLevel+1);
837 generateDeclaration(src, memberIter->getType(), memberIter->getName(), indentLevel+1, memberIter->getFlags() & UNUSED_BOTH);
840 src << Indent(indentLevel) << "}";
843 void generateLocalDeclaration (std::ostringstream& src, const StructType& structType, int indentLevel)
846 generateFullDeclaration(src, structType, indentLevel);
848 src << structType.getTypeName();
851 void generateDeclaration (std::ostringstream& src, const VarType& type, const char* name, int indentLevel, deUint32 unusedHints)
856 src << "layout(" << LayoutFlagsFmt(flags & LAYOUT_MASK) << ") ";
859 src << PrecisionFlagsFmt(flags & PRECISION_MASK) << " ";
862 src << glu::getDataTypeName(type.getBasicType()) << " " << name;
876 src << "layout(" << LayoutFlagsFmt(curType->getFlags() & LAYOUT_MASK) << ") ";
878 src << PrecisionFlagsFmt(curType->getFlags() & PRECISION_MASK) << " ";
879 src << glu::getDataTypeName(curType->getBasicType());
884 generateLocalDeclaration(src, curType->getStruct(), indentLevel+1);
887 src << " " << name;
890 src << "[" << *sizeIter << "]";
894 generateLocalDeclaration(src, type.getStruct(), indentLevel+1);
895 src << " " << name;
898 src << ";";
902 src << " // unused in " << (unusedHints == UNUSED_BOTH ? "both shaders" :
906 src << "\n";
909 void generateDeclaration (std::ostringstream& src, const Uniform& uniform, int indentLevel)
912 src << "layout(" << LayoutFlagsFmt(uniform.getFlags() & LAYOUT_MASK) << ") ";
914 generateDeclaration(src, uniform.getType(), uniform.getName(), indentLevel, uniform.getFlags() & UNUSED_BOTH);
917 void generateDeclaration (std::ostringstream& src, const UniformBlock& block)
920 src << "layout(" << LayoutFlagsFmt(block.getFlags() & LAYOUT_MASK) << ") ";
922 src << "uniform " << block.getBlockName();
923 src << "\n{\n";
927 src << Indent(1);
928 generateDeclaration(src, *uniformIter, 1 /* indent level */);
931 src << "}";
935 src << " " << block.getInstanceName();
937 src << "[" << block.getArraySize() << "]";
942 src << ";\n";
945 void generateValueSrc (std::ostringstream& src, const UniformLayoutEntry& entry, const void* basePtr, int elementNdx)
954 src << glu::getDataTypeName(entry.type) << "(";
972 src << ", ";
974 src << de::floatToString(*((const float*)compPtr), 1);
985 src << ", ";
989 case glu::TYPE_FLOAT: src << de::floatToString(*((const float*)compPtr), 1); break;
990 case glu::TYPE_INT: src << *((const int*)compPtr); break;
991 case glu::TYPE_UINT: src << *((const deUint32*)compPtr) << "u"; break;
992 case glu::TYPE_BOOL: src << (*((const deUint32*)compPtr) != 0u ? "true" : "false"); break;
1000 src << ")";
1003 void generateCompareSrc (std::ostringstream& src, const char* resultVar, const VarType& type, const char* srcName, const char* apiName, const UniformLayout& layout, const void* basePtr, deUint32 unusedMask)
1019 src << "\tresult *= compare_" << typeName << "(" << srcName << "[" << elemNdx << "], ";
1020 generateValueSrc(src, entry, basePtr, elemNdx);
1021 src << ");\n";
1026 src << "\tresult *= compare_" << typeName << "(" << srcName << ", ";
1027 generateValueSrc(src, entry, basePtr, 0);
1028 src << ");\n";
1038 generateCompareSrc(src, resultVar, elementType, (string(srcName) + op).c_str(), (string(apiName) + op).c_str(), layout, basePtr, unusedMask);
1051 generateCompareSrc(src, resultVar, memberIter->getType(), (string(srcName) + op).c_str(), (string(apiName) + op).c_str(), layout, basePtr, unusedMask);
1056 void generateCompareSrc (std::ostringstream& src, const char* resultVar, const ShaderInterface& interface, const UniformLayout& layout, const std::map<int, void*>& blockPointers, bool isVertex)
1089 generateCompareSrc(src, resultVar, uniform.getType(), (srcPrefix + uniform.getName()).c_str(), (apiPrefix + uniform.getName()).c_str(), layout, basePtr, unusedMask);
1095 void generateVertexShader (std::ostringstream& src, glu::GLSLVersion glslVersion, const ShaderInterface& interface, const UniformLayout& layout, const std::map<int, void*>& blockPointers)
1099 src << glu::getGLSLVersionDeclaration(glslVersion) << "\n";
1100 src << "in highp vec4 a_position;\n";
1101 src << "out mediump float v_vtxResult;\n";
1102 src << "\n";
1107 generateDeclaration(src, **structIter, 0);
1113 generateDeclaration(src, block);
1117 src << "\n";
1118 generateCompareFuncs(src, interface);
1120 src << "\n"
1127 generateCompareSrc(src, "result", interface, layout, blockPointers, true);
1129 src << " v_vtxResult = result;\n"
1133 void generateFragmentShader (std::ostringstream& src, glu::GLSLVersion glslVersion, const ShaderInterface& interface, const UniformLayout& layout, const std::map<int, void*>& blockPointers)
1137 src << glu::getGLSLVersionDeclaration(glslVersion) << "\n";
1138 src << "in mediump float v_vtxResult;\n";
1139 src << "layout(location = 0) out mediump vec4 dEQP_FragColor;\n";
1140 src << "\n";
1145 generateDeclaration(src, **structIter, 0);
1151 generateDeclaration(src, block);
1155 src << "\n";
1156 generateCompareFuncs(src, interface);
1158 src << "\n"
1164 generateCompareSrc(src, "result", interface, layout, blockPointers, false);
1166 src << " dEQP_FragColor = vec4(1.0, v_vtxResult, result, 1.0);\n"