Lines Matching refs:spec

140 static string genVertexShader (const ShaderCaseSpecification& spec)
143 const bool usesInout = glslVersionUsesInOutQualifiers(spec.targetVersion);
147 res << glu::getGLSLVersionDeclaration(spec.targetVersion) << "\n";
155 for (size_t ndx = 0; ndx < spec.values.inputs.size(); ndx++)
157 const Value& val = spec.values.inputs[ndx];
177 for (size_t ndx = 0; ndx < spec.values.inputs.size(); ndx++)
179 const Value& val = spec.values.inputs[ndx];
231 static string genFragmentShader (const ShaderCaseSpecification& spec)
234 const bool usesInout = glslVersionUsesInOutQualifiers(spec.targetVersion);
237 const char* const prec = supportsFragmentHighp(spec.targetVersion) ? "highp" : "mediump";
239 shader << glu::getGLSLVersionDeclaration(spec.targetVersion) << "\n";
251 genCompareFunctions(shader, spec.values, true);
255 for (size_t ndx = 0; ndx < spec.values.outputs.size(); ndx++)
257 const Value& val = spec.values.outputs[ndx];
276 genCompareOp(shader, customColorOut ? "dEQP_FragColor" : "gl_FragColor", spec.values, "v_", DE_NULL);
283 static string specializeVertexShader (const ShaderCaseSpecification& spec, const std::string& src, const vector<RequiredExtension>& extensions)
288 const bool usesInout = glslVersionUsesInOutQualifiers(spec.targetVersion);
293 DE_ASSERT(spec.caseType == CASETYPE_VERTEX_ONLY);
301 for (size_t ndx = 0; ndx < spec.values.inputs.size(); ndx++)
303 const Value& val = spec.values.inputs[ndx];
322 for (size_t ndx = 0; ndx < spec.values.outputs.size(); ndx++)
324 const Value& val = spec.values.outputs[ndx];
356 static string specializeFragmentShader (const ShaderCaseSpecification& spec, const std::string& src, const vector<RequiredExtension>& extensions)
362 const bool usesInout = glslVersionUsesInOutQualifiers(spec.targetVersion);
368 DE_ASSERT(spec.caseType == CASETYPE_FRAGMENT_ONLY);
370 genCompareFunctions(decl, spec.values, false);
371 genCompareOp(output, fragColor, spec.values, "", DE_NULL);
376 for (size_t ndx = 0; ndx < spec.values.inputs.size(); ndx++)
378 const Value& val = spec.values.inputs[ndx];
396 for (size_t ndx = 0; ndx < spec.values.outputs.size(); ndx++)
398 const Value& val = spec.values.outputs[ndx];
731 static inline void requireExtension(const glu::ContextInfo& info, const ShaderCaseSpecification& spec, const char *extension)
734 TCU_THROW(NotSupportedError, (string(getGLSLVersionName(spec.targetVersion)) + " is not supported").c_str());
861 static bool isTessellationPresent (const ShaderCaseSpecification& spec)
863 if (spec.programs[0].sources.separable)
868 for (int programNdx = 0; programNdx < (int)spec.programs.size(); ++programNdx)
869 if (spec.programs[programNdx].activeStages & tessellationBits)
874 return !spec.programs[0].sources.sources[glu::SHADERTYPE_TESSELLATION_CONTROL].empty() ||
875 !spec.programs[0].sources.sources[glu::SHADERTYPE_TESSELLATION_EVALUATION].empty();