glsl: Add support for parsing #version 140.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
glsl: Hook up the current GLSL 1.30 types and builtins for 1.40.

This gets a basic #version 140 shader compiling.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
glsl: Update builtin variables for GLSL 1.40.

Mostly this is a matter of removing variables that have been moved to
the compatibility profile.  There's one addition: gl_InstanceID is
present in the core now.

This fixes the new piglit tests for GLSL 1.40 builtin variables.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
glsl: Let the builtin compiler process GLSL 1.40 shaders.

This is required to put the new 1.40 builtins in place, since they
require new types.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
glsl: When failing to compile some builtins, print the error.

This makes the process slightly more debuggable, though it would be
nice if the build just failed immediately instead.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
glsl: Copy GLSL 1.30 builtin profile to GLSL 1.40.

All that's changed is the #version changing to 140.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
glsl: Drop ftransform() from GLSL 1.40 profile.

This is the one builtin function claimed to be dropped due to the
ARB_compatibility split.

Fixes piglit spec/GLSL-1.40/compiler/ftransform.vert

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
glsl: Add support for integer sampler2DRect variants in GLSL 1.40.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
glsl: Set up generated builtin functions handling for GLSL 1.40.

Otherwise, when we go to use ir_reader on the generated code, we won't
have the types present.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
glsl: Add GLSL 1.40 textureSize() implementations for sampler2DRect.

By setting lod to 0 in the builtin function implementation, we avoid
needing to update all the visitors to ignore LOD in this case, when
the hardware drivers actually want to ask for LOD 0 for rectangular
textures.

Fixes piglit spec/GLSL-1.40/textureSize-*Rect.

v2: Change style of looking for substrings.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
i965: Add disasm for gen6+ UIP/JIP on BREAK/CONT/HALT.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
i965/fs: Jump from discard statements to the end of the program when done.

From the GLSL 1.30 spec:

     The discard keyword is only allowed within fragment shaders. It
     can be used within a fragment shader to abandon the operation on
     the current fragment. This keyword causes the fragment to be
     discarded and no updates to any buffers will occur. Control flow
     exits the shader, and subsequent implicit or explicit derivatives
     are undefined when this control flow is non-uniform (meaning
     different fragments within the primitive take different control
     paths).

v2: Don't emit the final HALT if no other HALTs were emitted.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (v1)
darwin: config file cleanups

Set our default compiler based on what our installed XCode prefers

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
darwin: Build create_context.c

Fixes a build regression from: 588042a8ec4ea91a952c07a0768516fd590758f4

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
darwin: Link against libxcb

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
dri_util: add copyright/license blurb
docs: add info for installing dependencies on fedora

Signed-off-by: Brian Paul <brianp@vmware.com>
st/mesa: add null pointer check in st_texture_image_map()

If we failed to allocate a memory resource for the texture we'd crash
when we tried to map it.  Now we propogate the NULL back up to the
texstore code and generate GL_OUT_OF_MEMORY.

Fixes a crash with the upcoming piglit max-texture-size test.

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
r600g: fix point rendering

Accidentally broken in c7eaf274a9b7e3e5f4b060be2320.
i915: fallback for NPOT cubemap texture

Although some hardware support NPOT cubemap, but it seems we don't know
the right layout for NPOT cubemap. Thus seems we need do fallback for
other platforms as well.

See comments inline the code for more detailed info.

v2: give a more detailed info about why we need fallback for other
    platfroms as well.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46666

NOTE: This is a candidate for stable release branches.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>