glstate: Describe a few more transform feedback states.
qapitrace: fix an inline string FIXME request

Issue:
TraceLoader::callContains() had the comment
    FIXME: do string comparison directly on trace::Call
The existing code was doing a new/delete of an ApiTraceCall object
in order to use its interface for a string search.

Resolution:
Assuming what was meant by a direct comparison is using C's
strstr/strcasestr functions, that is what's implemented in
this patch.

An alternative would be to use a QString object's API
    return (QString(call->name()).contains(str, sensitivity));
but no testing was done with that.

Testing:
This code is only hit when searching in unloaded frames. Frame 0 is
pre-loaded so this code isn't exercised until the string is searched
in another frame.

Testing was done with case-sensitive and case-insensitive searches.
Compared against existing previous code for same results.

Timing:
Did two searches each of old and new code using "gettimeofday" timing
in TraceLoader::search with the following results searching for a
nonsense string (to search entire trace), case-insensitive:

warzone2100 180MB (180664407)     old         new
                                  ------      -------
Total time in seconds:            89.047      16.3269
                                  88.9844     16.3358

Signed-off-by: Lawrence L Love <lawrencex.l.love@intel.com>
Revert "qapitrace: fix an inline string FIXME request"

This reverts commit 0d86efd38a375c526491c679f4d2185ebe51434e, from
issue #244, due to two problems I just noticed:

- strcasestr doesn't exist on Windows, and there seems to be no easy
  replacement.

- ApiTraceCall::contains search the string in the whole call (not just
  the name)
glretrace: Don't rely on kCGLOGLPVersion_GL4_Core.

It doesn't work, per https://github.com/apitrace/apitrace/issues/181#issuecomment-37119564
tracediff: Don't highlight differences if the call nos are actually the same.
retrace: Allow multiple levels of debugging checks.
d3dretrace: Enable D3D9D when additional debug is requested.
d3dretrace: Terminate when CreateDevice fails.

Like we do for D3D10+.
d3dretrace: Force windowed mode on D3D9 traces.

Because there is no guarantee that the display mode is available.
gui: respect the alpha channel in surfaces

We weren't rendering any background which meant that surfaces
that were fully transparent would just show garbage that was
underneath. Lets make sure that the widget has a painted background
instead of garbage underneath.
cmake: Don't use bundled stdint.h for recent MSVC versions.
msinttypes: Update to latest version.
msinttypes: Remove stdbool.h

Not part of msinttypes and never used by us.
cli: Ensure variable is initialized.
Avoid unsafe cast.
cmake: Dump a message for each DirectX API found.
Remove githalytics.com snippet from the readme.

Doesn't do anything useful, now that github is serving the URL as a
static image from *.githubusercontent.com , and GitHub now provides some
stats.
tracediff: Don't crash if less is not present.
eglretrace: Support GL_OES_surfaceless_context by creating a dummy drawable.

Should fix issue #248.
qapitrace: issue #218 crashes on glPopDebugGroup

Problem:
dereferencing a NULL pointer.

Reason:
As mentioned in the issue description, a glPushDebugGroup and
glPopDebugGroup pair were in two different frames. The
TraceLoader:fetchFrameContents() function assumes they're in the
same frame and starts a new "groups" stack for each frame fetch.
On encountering a CALL_FLAG_MARKER_POP call, does

    groups.top()->finishedAddingChildren();

when in fact groups is empty and is dereferencing a NULL pointer.

In the other sample trace (sample-effects.trace) all glPush/Pop pairs
were in the same frame but one frame had an extra glPopDebugGroup
causing the same error.

Fix:
Add a groups.count() check before dereferencing groups.top()

Caveats:
Any unpaired glPopDebugGroup calls will be listed as regular gl calls.
Any unpaired glPushDebugGroup calls will end with the frame end.

Tested both sample crash traces; they no longer crash.
(apitrace-tests doesn't apply for testing this fix)

Signed-off-by: Lawrence L Love <lawrencex.l.love@intel.com>