st/mesa: fix GLSL mix(.., .., bvecN)

v2: use CMP on drivers without native integer support
radeon/llvm: fix TGSI_OPCODE_UCMP

This doesn't fix any known issue (I haven't run piglit with this yet),
but the code was obviously completely wrong. It looks like copy-pasted from CMP.

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
radeon drivers: handle PIPE_CAP_MAX_VIEWPORTS
r600g,radeonsi: consolidate transfer, cmask, and fmask structures
r600g: get rid of r600_texture::array_mode
r600g: get rid of r600_texture::is_rat

It's always 0.
r600g,radeonsi: consolidate r600_texture structures
r600g: move r600g-specific functions out of r600_texture.c
r600g,radeonsi: remove unused code
radeonsi: move radeonsi-specific functions out of r600_texture.c
r600g,radeonsi: share the async dma interface

r600_texture.c is one step closer to r600g.
r600g: move some debug options to drivers/radeon
radeonsi: move debug options to R600_DEBUG
r600g: move aux_context and r600_screen_clear_buffer to drivers/radeon

This will be used in the next commit.
radeonsi: implement clear_buffer using CP DMA, initialize CMASK with it

More work needs to be done for this to be entirely shared with r600g.
I'm just trying to share r600_texture.c now.

The reason I put the implementation to si_descriptors.c is that the emit
function had already been there.
r600g,radeonsi: consolidate tiling_info initialization

and the util_format_s3tc_init calls too.
r600g: move the low-level buffer functions for multiple rings to drivers/radeon

Also slightly optimize r600_buffer_map_sync_with_rings.
r600g: remove compute_global_transfer_* calls from texture_transfer_map/unmap

Textures can never have target==PIPE_BUFFER.
r600g,radeonsi: share r600_texture.c

The function r600_choose_tiling is new and needs a review.

The only change in functionality is that it enables 2D tiling for compressed
textures on SI. It was probably accidentally turned off.

v2: don't make scanout buffers linear
radeon: make texture logging more useful

This has been very useful for tracking down bugs in libdrm.

The *_PRINT_TEXDEPTH environment variables were probably never used,
so I removed them.