glx_arb_create_context: Add current-no-framebuffer test

Signed-off-by: Adam Jackson <ajax@redhat.com>
Enable etc2 tests on gl contexts that support GL_ARB_ES3_compatibility extension

V2: Enable the test to choose core/compat GL context at run time.
    Add GL version of test to all.tests.
    Use VAO to enable the test run on core context.

Reviewed-by: Matt Turner <mattst88@gmail.com>
oes_compressed_etc2_texture-miptree: Fix build.

Mimic others CMakeLists.gl.txt
Change --tests to --include-tests

Excluding tests already uses a similar syntax (--exclude-tests), so this
is more consistent.

V2: - Leaves --tests option, but marks it as deprecated

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
piglit-run.py: Replace Piglit's --concurent flag with --no-concurrency

Since piglit defaults to using concurrency, and since concurrency is
generally the desired behavior, it seems more appropriate to have a flag
that turns off concurrency than one that takes an argument to set it on
or off.

V2: - Leaves --concurrency option, but marks it as deprecated

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
piglit-run.py: Add --resume to the help menu

This option was implemented, however, it was not added to the help menu,
meaning that a user needed to know that it existed before they could
even attempt to use it.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
piglit-print-commands.py: Drop dead resume code

This program does not support resume, but has some code copied from
piglit-run.py for resuming interupted runs, so drop it.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Bumps python required version to 2.7

This change is in preparation for the next patch that replaces getopt
with argparse. Argparse is only available in python 2.7+ and 3.2+.

One concern with this change is the availability of Python 2.7 on
non-Linux platforms, however:
- OSX 10.8 ships with python 2.7.2
- OSX 10.7.4 ships with python 2.7.1
- 2.7.3 is available for windows

V2: - Splits this change from the next patch (Replaces getopt with
      argparse)

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Replaces getopt with argparse

This change gets us cleaner, more readable argument parsing code.
Another advantage of this approach is that it automatically generates
help menus, which means options will not be implemented without a help
entry (like --resume)

V2: - Does not remove deprecated options, only marks them as deprecated
V3: - Fixes deprecated warning for tests from V2 always being triggered

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Move re.compile for regex into Core

Move the re.compile into the core.Enivironment constructor, which
reduces code duplication. It also allows us to pass environment data on
initilization of the object, rather that having edit it's attributes
individually.

V2: - Does not remove deprecated options, only marks them as such
V3: - Fixes deperecated warning for tests from V2 always being triggered

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
util: Create generic piglit_draw_rect() functions.  TODO: rework.

This patch adds the following functions to piglit-util-gl-common:
- piglit_draw_rect_generic
- piglit_draw_rect_back_generic
- piglit_draw_rect_z_generic
- piglit_draw_rect_tex_generic

These functions are similar to corresponding functions without the
"_generic" suffix, except that instead of delivering vertex position
and texture coordinates to the vertex shader using glVertexPointer()
and glTexCoordPointer(), they deliver to the generic attributes
PIGLIT_ATTRIB_POS and PIGLIT_ATTRIB_TEX.  These functions use VBO's
and VAO's when available, so they may be used when testing core
contexts.

These functions also work with compatibility contexts and with all
GLES versions.  Since GLES1 doesn't support generic vertex attributes,
we fall back to using glVertexPointer() and glTexCoordPointer() in the
GLES1 case.

When building GLES tests, the behaviour of the new _generic functions
is for all intents and purposes the same as that of the pre-existing
non-generic functions.  So to avoid code duplication, the non-generic
functions simply call their generic equivalents in GLES builds.
Eliminate code duplication in all.tests for depthstencil-render-miplevels

No functional change.
depthstencil-render-miplevels: Add test for size 273.

When a mipmapped depth texture's size satisfies size > 1 and (size %
16) == 1, this causes miplevel 1 to have a size that is a multiple of
8, but not to be aligned on a multiple of 8 boundary.  This turns out
to be an important corner case for the i965 driver.

Note: in an ideal world, I'd modify depthstencil-render-miplevels to
simply test every possible buffer size from 1 to some reasonably large
size (perhaps 256), but this would produce an impractically large
number of test cases.  So instead I'm just testing the sizes that have
been known to cause problems.