Add build_mesa.sh script
nv50: allocate a compute class object

This will be used to configure MP counters and to implement the
compute support (ie. the ability to launch kernels) in the future.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
nv50: allocate a software class object

This will be used to control MP counters through a set of software
methods.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
nv50: allocate and map a new notifier object for performance counters

This will be used by the kernel to write results of the readout.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
nv50: implement MP counters for compute

This exposes MP counters which have been reverse engineered from CUPTI,
the NVIDIA CUDA profiling tools interface. These counters are available
throught the gallium HUD.

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