nvc0: implement pipe_context::get_driver_query_group_info

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
gallium: use a union for storing values of driver queries

This allows to return different numeric types for queries.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
gallium: add more counter types to pipe_driver_query_info

This will be used by GL_AMD_performance_monitor to describe
its type value like PERCENTAGE_AMD.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
nvc0: Use of new counter types

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
gallium: Add a f32 field to pipe_query_result

This will be used for the GL_FLOAT counter type of
AMD_performance_monitor.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
mesa/st: enable GL_AMD_performance_monitor

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
mesa/st: implement GL_AMD_performance_monitor

This is based on the original patch of Christoph Bumiller.
(source: http://people.freedesktop.org/~chrisbmr/perfmon.diff)

V2: (Samuel Pitoiset)
 - Fix compilation
 - Improve the original code
 - Rewrite some parts of the original code

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>