rendermode-feedback: Simple test of glFeedbackBuffer() types.

We had no testing of this in piglit at all, so I wrote this in the
process of debugging:

https://bugs.freedesktop.org/show_bug.cgi?id=34154

v2: Rebase to master, move to GL 1.0 test group.
gl-3.1: Add testing for updated required sized texture formats.

v2: Rebase to master, make it work on core contexts, and add a few
    formats I'd missed when writing the table originally.
gl-3.3, 4.2: Add testing for required sized formats.
gl-3.2: Add testing for the minimum maximums.

v2: Drop explicit window size, extra version checking.
gl-3.3: Add testing for the minimum maximums.

v2: Drop explicit window size, extra version checking.
Extend required-renderbuffer-attachment-formats to GL 3.1, 3.3, and 4.2.
Extend required-texture-attachment-formats to GL 3.1, 3.3, and 4.2.
junit: Escape invalid XML unicode characters.

This prevents Jenkins from choking on the generate XML report when there
are garbage (control) characters in the output from messages like

  ir_dereference_variable @ ... specifies undeclared variable `...`
Revert "array-size-sequence-in-parenthesis: Invert expected result."

This reverts commit f95d4e382ac15488f256f4bd85237f9dbbf5038c.

The original behavior of the test was correct as pointed out by Ian Romanick.
Add one test case for OpenCL's switch cause

Add a "switch case" test kernel for OpenCL

Reviewed-By: Aaron Watry <awatry@gmail.com>
Signed-off-by: Junyan He <junyan.he@linux.intel.com>
util: Don't call exit() after piglit_report_result() [v2]

Any call to exit() that follows piglit_report_result() is nothing more
than confusing dead code.  piglit_report_result() already calls exit(),
and chooses the exit code according to the PIGLIT_$RESULT value.

v2: Remove more calls to exit, found by Ian.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
glsl-1.10: Test if arrays of samplers can be passed as function parameters.

Signed-off-by: Fabian Bieler <fabianbieler@fastmail.fm>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
glsl-1.10: Test if samplers in nested structs can be passed as function parameters.

Signed-off-by: Fabian Bieler <fabianbieler@fastmail.fm>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
glsl-1.30: Test conditional breaks in switch statements.

Signed-off-by: Fabian Bieler <fabianbieler@fastmail.fm>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
glsl-1.30: Split test switch-default-notlast in two.

Split the test into one test with and one without fallthrough case statements.

Signed-off-by: Fabian Bieler <fabianbieler@fastmail.fm>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
framework/summary.py: Replace Section heading with docstrings

The sections headings are not really that useful, but they might as well
be kept as class level docstrings instead of being thrown away.

V2: - Correct spelling error

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-By: Aaron Watry <awatry@gmail.com>
Reviewed-By: Kenneth Graunke <kenneth@whitecape.org>
piglit-summary-html.py: Fix listfile syntax

This patch changes the listfile syntax to be newline separated. Further
it actually hooks up the plumbing allowing the -l/--list option to
actually work

V3: - Adds this patch

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-By: Aaron Watry <awatry@gmail.com>
Reviewed-By: Kenneth Graunke <kenneth@whitecape.org>
framework/summary.py: Adds new summary class and two support classes

This new summary class (currently NewSummary), is a complete redesign of
the summary generation system. Much of the code in summary was not
commented, and also not clear as to what it was doing, making it very
difficult to maintain and even more difficult to improve. The other
problem with the code was architecturally it was clobbered together,
doing some of the work in the summary.py file, and some of the work in
the piglit-summary-html.py file.

The new summary class does all of it's work in the summary.py file, and
from an API point of view, in one class. The summary class uses it's
constructor to build lists of passes, failures, skips, problems, etc.
and then uses methods to generate output. The reference implementation
of that kind of method is for generating HTML, but in theory it could be
used to generate anything: XML, csv lists, printed lists ala
piglit-summary, etc.

Also updates the .gitignore file to ignore some generated content
created by this class.

V3: - Corrects some spelling mistakes and some comments that had old
	  method/variable names
	- renames several methods/functions
    - moves sanitizePath to a toplevel function
	- changes sanitizePath to use lambda per ken
    - Moves buildDictionary to a helper function instead of private
	  method
V4: - Allows new summary generation to work with broken json.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-By: Aaron Watry <awatry@gmail.com>
Reviewed-By: Kenneth Graunke <kenneth@whitecape.org>
templates: adds mako templates for new summary code

Adds the actual templates used to by the new mako based summary code.

V3: - Replace tabs with spaces like python code
    - Rename test_index.mako to testrun_info.mako
    - Refactor testrun_info.mako links bar generation

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-By: Aaron Watry <awatry@gmail.com>
Reviewed-By: Kenneth Graunke <kenneth@whitecape.org>
piglit-summary-py: Use the new summary class to generate HTML

Drops almost all of the code used in this file, all of that
functionality is now handled in the summary class. Instead, the majority
of this file is just the argparse instance, and a few short lines
calling the new summary class.

V2: - Fixes the -l/--list syntax
V3: - Changes the listfile syntax to match the newline separated format

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-By: Aaron Watry <awatry@gmail.com>
Reviewed-By: Kenneth Graunke <kenneth@whitecape.org>