Lines Matching defs:program
69 // Visitor that determines the merged SampleUsage for a given child in the program.
77 SampleUsage visit(const Program& program) {
79 INHERITED::visit(program);
101 // If the coords are a direct reference to the program's sample-coords, and those
124 // Visitor that searches through the program for references to a particular builtin variable
309 SampleUsage Analysis::GetSampleUsage(const Program& program,
313 MergeSampleUsageVisitor visitor(*program.fContext, child, writesToSampleCoords);
314 SampleUsage result = visitor.visit(program);
320 if (program.fConfig != nullptr && program.fConfig->fSettings.fUseAF) {
326 bool Analysis::ReferencesBuiltin(const Program& program, int builtin) {
328 return visitor.visit(program);
331 bool Analysis::ReferencesSampleCoords(const Program& program) {
332 return Analysis::ReferencesBuiltin(program, SK_MAIN_COORDS_BUILTIN);
335 bool Analysis::ReferencesFragCoords(const Program& program) {
336 return Analysis::ReferencesBuiltin(program, SK_FRAGCOORD_BUILTIN);
339 bool Analysis::CallsSampleOutsideMain(const Program& program) {
341 return visitor.visit(program);
528 void Analysis::VerifyStaticTestsAndExpressions(const Program& program) {
605 // Check all of the program's owned elements. (Built-in elements are assumed to be valid.)
606 TestsAndExpressions visitor{*program.fContext};
607 for (const std::unique_ptr<ProgramElement>& element : program.fOwnedElements) {
615 bool ProgramVisitor::visit(const Program& program) {
616 for (const ProgramElement* pe : program.elements()) {
786 // Leaf program elements just return false by default