Implement a fake glXChooseVisual() and glXCreateContext() function for
use with the makecurrent tests. Likewise, implement
glMakeCurrentTestResults(), glBegin(), and glEnd().
Implement a fake glXGetClientString() for use with the getclientstr
test.
To test that vendor-implemented dispatching works in the getprocaddress
test, implement glXExampleExtensionFunction and its vendor-neutral
dispatcher in GLX_dummy, and plug each respectively into the
getProcAddress and getDispatchAddress callback functions.
This fake GL extension function is used by the glxnscreens and
makecurrent tests. This plugs the function prototype spec into
GLX_dummy's getDispatchProto() callback and adds an entry into the table
used by its getProcAddress() callback.
This fake GL extension function will be responsible for performing
various queries on the vendor library for the purposes of testing,
and also serves as a useful test of the API driver's handling of
dynamic GL entrypoints.
This vendor library will be loaded by the API library in various
subtests in the test suite, and will implement the bare minimum
needed to verify features and code paths in the API library. This
includes creating a fake GL "context", making current to the
"context", and calling some GL functions.
This adds build infrastructure for unit testing the API library
using the serial test harness. TODO: this should be replaced with
the parallel test harness, as the automake documentation says the
serial harness is deprecated.
The first and last tests to be run are scripts to initialize the test
environment (an X session with a special -modulepath argument and
xorg.conf file to pick up x11glvnd) and tear it down after all unit
tests are run.
This also adds a placeholder directory for a fake vendor library
called "GLX_dummy", to be implemented later.