Revert "i965/fs: Only sweep NOPs if register coalescing made progress."

This reverts commit f092e8951ce5212ba3cbb382ce3a6666eb6c9bed.

Didn't mean to push this...
r600g/radeonsi: Map transfer staging texture unsynchronized when possible

The transfer staging texture is always freshly allocated, so for write-only
transfers we don't need to explicitly wait for the BO to become idle.

Squeezes a few hundered MB/s more out of x11perf -shmput500 with glamor.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
glsl: Properly handle blocks that define the same field name.

Currently we can have name space collisions between blocks that define the same
fields. For example:

in block
{
    vec4 Color;
} In[];

out block
{
    vec4 Color;
} Out;

These two blocks will assign the same interface name (block.Color) to the Color
field in flatten_named_interface_blocks_declarations.cpp, leading to havoc.
This was breaking badly the gl-320-primitive-shading test from ogl-samples.

The patch uses the block instance name to avoid collisions, producing names
like block.In.Color and block.Out.Color to avoid the name clash.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76394
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
scons: Enable building through Clang Static Analyzer.

By accurately detecting gcc/clang through --version option instead
of executable name.

Clang Static Analyzer reports many issues, most false positives, but it
found at least one real and subtle use-after-free issue
in st_texture_get_sampler_view():

  http://people.freedesktop.org/~jrfonseca/scan-build-2014-04-14-1/report-869047.html#EndPath

Reviewed-by: Brian Paul <brianp@vmware.com>
util/u_debug: Add noreturn attribute to _debug_assert_fail().

As recommended by
http://clang-analyzer.llvm.org/annotations.html#attr_noreturn

Reviewed-by: Brian Paul <brianp@vmware.com>
scons: Add an analyze option.

For Clang static code analyzer, the scan-build script will produce more
comprehensive output.  Nevertheless you can invoke it as

  CC=clang CXX=clang++ scons analyze=1

For MSVC this is the best way to use its static code analysis.  Simply
invoke as

  scons analyze=1

Reviewed-by: Brian Paul <brianp@vmware.com>
winsys/radeon: consolidate hash table lookup

I should have done this long ago.

Reviewed-by: Christian König <christian.koenig@amd.com>
winsys/radeon: remove cs_write_reloc, add simpler cs_get_reloc

The only difference is that it doesn't write to the CS and only returns
the index.

Reviewed-by: Christian König <christian.koenig@amd.com>
r600g: remove redundant r600_flush_from_winsys

Reviewed-by: Christian König <christian.koenig@amd.com>
radeonsi: cleanup redundant computation of flush flags and rename a function

Reviewed-by: Christian König <christian.koenig@amd.com>
winsys/radeon: fold cs_set_flush_callback into cs_create

Reviewed-by: Christian König <christian.koenig@amd.com>
r600g: remove redundant r600_flush_dma_from_winsys

Reviewed-by: Christian König <christian.koenig@amd.com>
gallium/radeon: create and return a fence in the flush function

All flush functions get a fence parameter. cs_create_fence is removed.

Reviewed-by: Christian König <christian.koenig@amd.com>
radeonsi: merge si_flush with si_context_flush

This also removes si_flush_gfx_ring.

Reviewed-by: Christian König <christian.koenig@amd.com>
r600g: merge r600_flush with r600_context_flush

Reviewed-by: Christian König <christian.koenig@amd.com>
r600g,radeonsi: share r600_flush_from_st

Reviewed-by: Christian König <christian.koenig@amd.com>
r600g,radeonsi: share some of gfx flush code

Reviewed-by: Christian König <christian.koenig@amd.com>
Revert "scons: Enable building through Clang Static Analyzer."

This reverts commit a45a50a4828e1357e9555474bc127c5585b3a420.

Unfortunately gcc dumps argv[0] as the first word of --version, so it is
unreliable for detecting gcc.

In particular `cc --version` and `i686-w64-mingw32-gcc --version` give
wrong results.

A better solution needs to be found -- most likely using C-preprocessing
like autotools does.  Revert for now.
gallivm: fix compilation with llvm 3.5 r206241+

Just adjust to the ever-changing API, pass in MCContext when creating the
MCDisassembler.

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>