Lines Matching refs:string
38 #include <string>
48 using std::string;
60 static inline std::map<string, string> singleMap (const string& key, const string& value)
62 std::map<string, string> res;
67 static inline string repeat (const string& str, int numRepeats, const string& delim = "")
69 string result = str;
75 static inline string repeatIndexedTemplate (const string& strTempl, int numRepeats, const string& delim = "", int ndxStart = 0)
78 string result;
79 std::map<string, string> params;
103 static inline string getShaderPrecision (CaseShaderType shaderType)
126 static inline ProgramData defaultProgramData (CaseShaderType shaderType, const string& funcDefs, const string& mainStatements)
130 const string vtxPrec = getShaderPrecision(CASESHADERTYPE_VERTEX);
131 const string fragPrec = getShaderPrecision(CASESHADERTYPE_FRAGMENT);
160 static inline ProgramData defaultProgramData (CaseShaderType shaderType, const string& mainStatements)
321 const string repetition = optimized ? repeatIndexedTemplate("\t" + expressionTemplate(m_caseType) + ";\n", m_numRepetitions)
331 static inline string expressionTemplate (CaseType caseType)
343 static inline string loop (int iterations, const string& innerExpr)
366 const string precision = getShaderPrecision(m_caseShaderType);
367 const string statements = optimized ? " " + precision + " vec4 valueOrig = value;\n"
404 const string precision = getShaderPrecision(m_caseShaderType);
405 const string expression = "value*vec4(0.8, 0.7, 0.6, 0.9)";
406 const string maybeFuncDefs = optimized ? "" : funcDefinitions(m_callNestingDepth, precision, expression);
407 const string mainValueStatement = (optimized ? "\tvalue = " + expression : "\tvalue = func" + toString(m_callNestingDepth-1) + "(value)") + ";\n";
415 static inline string funcDefinitions (int callNestingDepth, const string& precision, const string& expression)
417 string result = precision + " vec4 func0 (" + precision + " vec4 value) { return " + expression + "; }\n";
450 const string precision = getShaderPrecision(m_caseShaderType);
451 const string statements = m_caseType == CASETYPE_BUILT_IN_FUNCTIONS ? builtinFunctionsCaseStatements (optimized, m_useConstantExpressionsOnly, precision, isVertexCase)
463 static inline string builtinFunctionsCaseStatements (bool optimized, bool constantExpressionsOnly, const string& precision, bool useHeavierWorkload)
465 const string constMaybe = constantExpressionsOnly ? "const " : "";
480 static inline string arrayCaseStatements (bool optimized, const string& precision, bool useHeavierWorkload)
499 static inline string structCaseStatements (bool optimized, bool constantExpressionsOnly, const string& precision, bool useHeavierWorkload)
501 const string constMaybe = constantExpressionsOnly ? "const " : "";
550 const string precision = getShaderPrecision(m_caseShaderType);
551 const string statements = m_caseType == CASETYPE_SINGLE_STATEMENT ? singleStatementCaseStatements (optimized, precision, isVertexCase)
563 static inline string singleStatementCaseStatements (bool optimized, const string& precision, bool useHeavierWorkload)
575 static inline string multipleStatementsCaseStatements (bool optimized, const string& precision, bool useHeavierWorkload)
595 static inline string staticBranchCaseStatements (bool optimized, const string& precision, bool useHeavierWorkload)
611 string result;
639 static inline string loopCaseStatements (bool optimized, const string& precision, bool useHeavierWorkload)
691 const string precision = getShaderPrecision(m_caseShaderType);
692 const string funcDefs = m_caseType == CASETYPE_DEAD_BRANCH_FUNC_CALL ? deadBranchFuncCallCaseFuncDefs (optimized, precision)
696 const string statements = m_caseType == CASETYPE_DEAD_BRANCH_SIMPLE ? deadBranchSimpleCaseStatements (optimized, isVertexCase)
713 static inline string deadBranchSimpleCaseStatements (bool optimized, bool useHeavierWorkload)
728 static inline string deadBranchComplexCaseStatements (bool optimized, const string& precision, bool useConst, bool useHeavierWorkload)
730 const string constMaybe = useConst ? "const " : "";
749 static inline string deadBranchFuncCallCaseFuncDefs (bool optimized, const string& precision)
754 static inline string deadBranchFuncCallCaseStatements (bool optimized, bool useHeavierWorkload)
769 static inline string unusedValueBasicCaseStatements (bool optimized, const string& precision, bool useHeavierWorkload)
782 static inline string unusedValueLoopCaseStatements (bool optimized, const string& precision, bool useHeavierWorkload)
796 static inline string unusedValueAfterReturnCaseFuncDefs (bool optimized, const string& precision, bool useHeavierWorkload)
817 static inline string unusedValueAfterReturnCaseStatements (void)
822 static inline string unusedValueDeadBranchCaseStatements (bool optimized, const string& precision, bool useHeavierWorkload)
837 static inline string unusedValueMulZeroCaseStatements (bool optimized, const string& precision, bool useHeavierWorkload)
892 const string caseTypeName = caseType == LoopUnrollCase::CASETYPE_INDEPENDENT ? "independent_iterations"
895 const string caseTypeDesc = caseType == LoopUnrollCase::CASETYPE_INDEPENDENT ? "loop iterations don't depend on each other"
902 const string name = caseTypeName + "_" + toString(loopIterations) + caseShaderTypeSuffix;
903 const string description = toString(loopIterations) + " iterations; " + caseTypeDesc;
918 const string name = toString(loopIterations) + "_iterations" + caseShaderTypeSuffix;
932 const string name = toString(nestingDepth) + "_nested" + caseShaderTypeSuffix;
943 const string caseTypeName = caseType == ConstantPropagationCase::CASETYPE_BUILT_IN_FUNCTIONS ? "built_in_functions"
951 const string name = caseTypeName + (constantExpressionsOnly ? "" : "_no_const") + caseShaderTypeSuffix;
966 const string caseTypeName = caseType == CommonSubexpressionCase::CASETYPE_SINGLE_STATEMENT ? "single_statement"
972 const string description = caseType == CommonSubexpressionCase::CASETYPE_SINGLE_STATEMENT ? "A single statement containing multiple uses of same subexpression"
1008 deadCodeEliminationGroup->addChild(new DeadCodeEliminationCase(m_context, (string() + caseTypeName + caseShaderTypeSuffix).c_str(), caseTypeDescription, caseShaderType, caseType));