mesa: Remove GL_EXT_clip_volume_hint

As far as I can tell, no driver has enabled this extension since c6499a7
back in 2007.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
ilo: avoid potential dangling pointer dereference

Set pipe_draw_info to NULL after draw_vbo().
ilo: track if primitive restart has changed

Re-emit 3DSTATE_INDEX_BUFFER to enable/disable primitive restart.
ilo: use shorter names for dirty flags

The new names match those of ilo_context's members respectively, and are
shorter.
glsl: Initialize member variable is_ubo_var in constructor.

Fixes "Uninitialized scalar field" defect reported by Coverity.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
ilo: clean up states that take a start_slot

They are similar, so clean them up to make them look similar.
ilo: clean up ilo_set_constant_buffer()

Add loops that will be optimized away.
ilo: remove ilo_cbuf_state::count

We can derive it from enabled_mask.
ilo: clean up states that use ilo_view_surface

Use variables that are easier to remember what they are.
svga: use switch statement in svga_shader_type()

Safer in case the PIPE_SHADER_x tokens get renumbered (as Marek
wanted to do).

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
svga: pass svga_compile_key by reference instead of value

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
r600g/compute: Move compute_shader_create() function into evergreen_compute.c

Tested-by: Aaron Watry <awatry@gmail.com>
r600g/compute: Accept LDS size from the LLVM backend

And allocate the correct amount before dispatching the kernel.

Tested-by: Aaron Watry <awatry@gmail.com>
mesa: Fix build with older gcc since update of glext.h

Reviewed-by: Brian Paul <brianp@vmware.com>
glsl/linker: Make update_array_sizes apply to just uniforms.

Commit 586b4b5 (glsl: Also update implicit sizes of varyings at link
time) extended update_array_sizes() to apply to both uniforms and
shader ins/outs.  However, doing creates problems for geometry
shaders, because update_array_sizes() assumes that variables with
matching names in different parts of the pipeline should have the same
sizes.  With the addition of geometry shaders, this is no longer true
(e.g. both vertex and geometry shaders have a gl_ClipDistance output
variable, but there's no reason these variables should have the same
sizes).

The original reason for commit 586b4b5 (avoid problems with
gl_TexCoord being 0 length) has since been addressed by commit 6f53921
(linker: Ensure that unsized arrays have a size after linking).  So go
ahead and switch update_array_sizes() back to only acting on uniforms.
!UPSTREAM: glsl: Enable various extensions for geometry shaders.

TODO:
- Better commit message
- Better testing
main: Fix geometry shader error messages (missing right paren)
!UPSTREAM ===== BEGIN rebase of Plombo's GS patches =====
draw/gs: fix allocation of buffer for GS output vertices

Before, it accounted for the size of the vertices but not the other fields
in the vertex_header struct, which caused memory corruption.
mesa: add EXT_geometry_shader4 and ARB_geometry_shader4 to extension list