Lines Matching full:spec
136 static string genVertexShader (const ShaderCaseSpecification& spec)
139 const bool usesInout = glslVersionUsesInOutQualifiers(spec.targetVersion);
143 res << glu::getGLSLVersionDeclaration(spec.targetVersion) << "\n";
151 for (size_t ndx = 0; ndx < spec.values.inputs.size(); ndx++)
153 const Value& val = spec.values.inputs[ndx];
173 for (size_t ndx = 0; ndx < spec.values.inputs.size(); ndx++)
175 const Value& val = spec.values.inputs[ndx];
227 static string genFragmentShader (const ShaderCaseSpecification& spec)
230 const bool usesInout = glslVersionUsesInOutQualifiers(spec.targetVersion);
233 const char* const prec = supportsFragmentHighp(spec.targetVersion) ? "highp" : "mediump";
235 shader << glu::getGLSLVersionDeclaration(spec.targetVersion) << "\n";
247 genCompareFunctions(shader, spec.values, true);
251 for (size_t ndx = 0; ndx < spec.values.outputs.size(); ndx++)
253 const Value& val = spec.values.outputs[ndx];
272 genCompareOp(shader, customColorOut ? "dEQP_FragColor" : "gl_FragColor", spec.values, "v_", DE_NULL);
279 static string specializeVertexShader (const ShaderCaseSpecification& spec, const std::string& src, const vector<RequiredExtension>& extensions)
284 const bool usesInout = glslVersionUsesInOutQualifiers(spec.targetVersion);
289 DE_ASSERT(spec.caseType == CASETYPE_VERTEX_ONLY);
297 for (size_t ndx = 0; ndx < spec.values.inputs.size(); ndx++)
299 const Value& val = spec.values.inputs[ndx];
318 for (size_t ndx = 0; ndx < spec.values.outputs.size(); ndx++)
320 const Value& val = spec.values.outputs[ndx];
352 static string specializeFragmentShader (const ShaderCaseSpecification& spec, const std::string& src, const vector<RequiredExtension>& extensions)
358 const bool usesInout = glslVersionUsesInOutQualifiers(spec.targetVersion);
364 DE_ASSERT(spec.caseType == CASETYPE_FRAGMENT_ONLY);
366 genCompareFunctions(decl, spec.values, false);
367 genCompareOp(output, fragColor, spec.values, "", DE_NULL);
372 for (size_t ndx = 0; ndx < spec.values.inputs.size(); ndx++)
374 const Value& val = spec.values.inputs[ndx];
392 for (size_t ndx = 0; ndx < spec.values.outputs.size(); ndx++)
394 const Value& val = spec.values.outputs[ndx];
831 static bool isTessellationPresent (const ShaderCaseSpecification& spec)
833 if (spec.programs[0].sources.separable)
838 for (int programNdx = 0; programNdx < (int)spec.programs.size(); ++programNdx)
839 if (spec.programs[programNdx].activeStages & tessellationBits)
844 return !spec.programs[0].sources.sources[glu::SHADERTYPE_TESSELLATION_CONTROL].empty() ||
845 !spec.programs[0].sources.sources[glu::SHADERTYPE_TESSELLATION_EVALUATION].empty();