Revert "mesa: Fix format matching checks for GL_INTENSITY* internalformats."

This reverts commit 40d7b5195351d3e4199e7a840615a595a6dbaefc.
Revert "build: llvm libs may not be in system search path, add rpath"

This reverts commit d9b983519c63b9072677364a6e399d213a1855e5.

Unfortunately it seems like rpath is evaluated before LD_LIBRARY_PATH,
so this breaks e.g. steam, as well as any other user of that env var,
if the llvm path happens to be where other libs also reside.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76082
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
mesa: In core profile, refuse to draw unless a VAO is bound.

Core profile requires a non-default VAO to be bound.  Currently, calls
to glVertexAttribPointer raise INVALID_OPERATION unless a VAO is bound,
and we never actually get any vertex data set.  Trying to draw without
any vertex data can only cause problems.  In i965, it causes a crash.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76400
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Cc: mesa-stable@lists.freedesktop.org
i965: Set Broadwell MOCS values everywhere it's possible.

This patch introduces two pre-canned MOCS values: BDW_MOCS_WB
(write-back, all caches) and BDW_MOCS_WT (write-through, all caches).

We use write-through caching for render targets, and write-back for
all other data.  (At least on Haswell, I believe write-back LLC/eLLC
didn't work for scan-out buffers, while write-through did.)

No performance analysis has been done on the impact of this patch.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Eric Anholt <eric@anholt.net>
i965: For fast color clears, only check the color of live channels.

When deciding if a clear color is suitable for fast clear,
take into account if a color channel is active in the
buffer format.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
gallivm: fix no-op n:n lp_build_resize()

This can get called in some circumstances if both src type and dst type
have same width (seen with float32->unorm32). While this particular case
was bogus anyway let's just fix that as it can work trivially (due to the
way it was called it actually worked anyway apart from the assert).

Reviewed-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
st/mesa: fix sampler view handling with shared textures v4

Release the references to the sampler views before
destroying the pipe context.

v2: remove TODO and unrelated change
v3: move to st_texture.[ch], rename callback, add comment
v4: fix rebase mess up and add further cleanups

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Cc: "10.0 10.1" <mesa-stable@lists.freedesktop.org>
mapi/glapi: Remove glX_doc.py.

As suggested by Ian Romanick, given it's no longer used.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
mapi/glapi: Use ElementTree instead of libxml2.

It is quite hard to meet the dependency of the libxml2 python bindings
outside Linux, and in particularly on MacOSX; whereas ElementTree is
part of Python's standard library.  ElementTree is more limited than
libxml2: no DTD verification, defaults from DTD, or XInclude support,
but none of these limitations is serious enough to justify using
libxml2.

In fact, it was easier to refactor the code to use ElementTree than to
try to get libxml2 python bindings.

In the process, gl_item_factory class was refactored so that there is
one method for each kind of object to be created, as it simplifies
things substantially.

I confirmed that precisely the same output is generated for GL/GLX/GLES.

v2: Remove m4/ax_python_module.m4 as suggested by Matt Turner.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
st/omx/dec: fix possible segfault at eos

Signed-off-by: Christian König <christian.koenig@amd.com>
llvmpipe: Fix llvmpipe_create_gs_state.

Revert unintended behaviour change from commit
b995a010e688bc4d4557e973e5e28091c378e881.

Tested-by: José Fonseca <jfonseca@vmware.com>
mesa: rename format_(un)pack.c functions to match format names (pt. 1)

sed commands:
s/RGBA8888\b/A8B8G8R8_UNORM/g
s/RGBA8888_REV\b/R8G8B8A8_UNORM/g
s/ARGB8888\b/B8G8R8A8_UNORM/g
s/ARGB8888_REV\b/A8R8G8B8_UNORM/g
s/RGBA8888\b/X8B8G8R8_UNORM/g
s/RGBA8888_REV\b/R8G8B8X8_UNORM/g
s/XRGB8888\b/B8G8R8X8_UNORM/g
s/XRGB8888_REV\b/X8R8G8B8_UNORM/g
s/RGB888\b/BGR_UNORM8/g
s/BGR888\b/RGB_UNORM8/g
s/RGB565\b/B5G6R5_UNORM/g
s/RGB565_REV\b/R5G6B5_UNORM/g
s/ARGB4444\b/B4G4R4A4_UNORM/g
s/ARGB4444_REV\b/A4R4G4B4_UNORM/g
s/RGBA5551\b/A1B5G5R5_UNORM/g
s/ARGB1555\b/B5G5R5A1_UNORM/g
s/ARGB1555_REV\b/A1R5G5B5_UNORM/g
s/AL44\b/L4A4_UNORM/g
s/AL88\b/L8A8_UNORM/g
s/AL88_REV\b/A8L8_UNORM/g
s/AL1616\b/L16A16_UNORM/g
s/AL1616_REV\b/A16L16_UNORM/g
s/RGB332\b/B2G3R3_UNORM/g
s/A8\b/A_UNORM8/g
s/A16\b/A_UNORM16/g
s/L8\b/L_UNORM8/g
s/L16\b/L_UNORM16/g
s/L8\b/I_UNORM8/g
s/L16\b/I_UNORM16/g
s/R8\b/R_UNORM8/g
s/GR88\b/R8G8_UNORM/g
s/RG88\b/G8R8_UNORM/g
s/R16\b/R_UNORM16/g
s/GR1616\b/R16G16_UNORM/g
s/RG1616\b/G16R16_UNORM/g
s/ARGB2101010\b/B10G10R10A2_UNORM/g

Reviewed-by: Reviewed-by: Roland Scheidegger <sroland@vmware.com>
mesa: rename format_(un)pack.c functions to match format names (pt. 2)

sed commands:
s/ABGR2101010\b/R10G10B10A2_UNORM/g
s/XRGB2101010_UNORM\b/B10G10R10X2_UNORM/g
s/XBGR16161616_UNORM\b/RGBX_UNORM16/g
s/ABGR2101010\b/R10G10B10A2_UNORM/g
s/I8\b/I_UNORM8/g
s/I16\b/I_UNORM16/g

Reviewed-by: Reviewed-by: Roland Scheidegger <sroland@vmware.com>
mesa: rename format_(un)pack.c functions to match format names (pt. 3)

sed commands:
s/LUMINANCE_FLOAT32\b/L_FLOAT32/g
s/LUMINANCE_FLOAT16\b/L_FLOAT16/g
s/LUMINANCE_ALPHA_FLOAT32\b/LA_FLOAT32/g
s/LUMINANCE_ALPHA_FLOAT16\b/LA_FLOAT16/g
s/ALPHA_FLOAT32\b/A_FLOAT32/g
s/ALPHA_FLOAT16\b/A_FLOAT16/g
s/XBGR32323232_FLOAT\b/RGBX_FLOAT32/g
s/RGB9_E5_FLOAT\b/R9G9B9E5_FLOAT/g
s/R11_G11_B10_FLOAT\b/R11G11B10_FLOAT/g
s/INTENSITY_FLOAT16\b/I_FLOAT16/g
s/INTENSITY_FLOAT32\b/I_FLOAT32/g

v2: removed a few redundant/no-op substitutions

Reviewed-by: Reviewed-by: Roland Scheidegger <sroland@vmware.com>
mesa: rename format_(un)pack.c functions to match format names (pt. 4)

sed commands:
s/SRGBA_UNORM8\b/A8B8G8R8_SRGB/g
s/SABGR_UNORM8\b/R8G8B8A8_SRGB/g
s/SARGB8\b/B8G8R8A8_SRGB/g
s/XBGR8888_SRGB\b/R8G8B8X8_SRGB/g
s/XRGB8888_SRGB\b/B8G8R8X8_SRGB/g
s/SL_UNORM8\b/L_SRGB8/g
s/SLA_UNORM8\b/L8A8_SRGB/g

manually changed SRGB8 -> BGR_SRGB8

Reviewed-by: Reviewed-by: Roland Scheidegger <sroland@vmware.com>
mesa: rename format_(un)pack.c functions to match format names (pt. 5)

sed commands:
s/SIGNED_R_UNORM8\b/R_SNORM8/g
s/SIGNED_RG88_REV\b/R8G8_SNORM/g
s/SIGNED_RGBX8888\b/X8B8G8R8_SNORM/g
s/SIGNED_A8B8G8R8_UNORM\b/A8B8G8R8_SNORM/g
s/SIGNED_R8G8B8A8_UNORM\b/R8G8B8A8_SNORM/g
s/SIGNED_R_UNORM16\b/R_SNORM16/g
s/SIGNED_R16G16_UNORM\b/R16G16_SNORM/g
s/SIGNED_RGB_16\b/RGB_SNORM16/g
s/SIGNED_RGBA_16\b/RGBA_SNORM16/g
s/SIGNED_A_UNORM8\b/A_SNORM8/g
s/SIGNED_L_UNORM8\b/L_SNORM8/g
s/SIGNED_L8A8_UNORM\b/L8A8_SNORM/g
s/SIGNED_L_UNORM8\b/I_SNORM8/g
s/SIGNED_A_UNORM16\b/A_SNORM16/g
s/SIGNED_L_UNORM16\b/L_SNORM16/g
s/SIGNED_L16A16_UNORM\b/LA_SNORM16/g
s/SIGNED_L_UNORM16\b/I_SNORM16/g
s/XBGR16161616_SNORM\b/RGBX_SNORM16/g
s/SIGNED_G8R8_UNORM\b/G8R8_SNORM/g
s/SIGNED_G16R16_UNORM\b/G16R16_SNORM/g
s/SIGNED_I_UNORM8\b/I_SNORM8/g
s/SIGNED_I_UNORM16\b/I_SNORM16/g

Reviewed-by: Reviewed-by: Roland Scheidegger <sroland@vmware.com>
mesa: rename format_(un)pack.c functions to match format names (pt. 6)

sed commands:
s/ARGB2101010_UINT\b/B10G10R10A2_UINT/g
s/ABGR2101010_UINT\b/R10G10B10A2_UINT/g

Reviewed-by: Reviewed-by: Roland Scheidegger <sroland@vmware.com>
mesa: rename format_(un)pack.c functions to match format names (pt. 7)

sed commands:
s/z_Z24_S8\b/S8_UINT_Z24_UNORM/g
s/z_S8_Z24\b/Z24_UNORM_S8_UINT/g
s/z_Z16\b/Z_UNORM16/g
s/z_Z32\b/Z_UNORM32/g
s/z_Z32_FLOAT/Z_FLOAT32/g

Reviewed-by: Reviewed-by: Roland Scheidegger <sroland@vmware.com>
mesa: fix indentation, formatting, etc in fbobject.c
mesa: fix unpack_Z32_FLOAT_X24S8() / unpack_Z32_FLOAT() mix-up

And use the z32f_x24s8 helper struct in unpack_Z32_FLOAT_X24S8().
Cc: "10.0" "10.1" <mesa-stable@lists.freedesktop.org>

Reviewed-by: Roland Scheidegger <sroland@vmware.com>