Mesa 10.6.0 Release Notes / June 14, 2015
=========================================

Mesa 10.6.0 is a new development release. People who are concerned with
stability and reliability should stick with a previous release or wait
for Mesa 10.6.1.

Mesa 10.6.0 implements the OpenGL 3.3 API, but the version reported by
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
used. Some drivers don't support all the features required in OpenGL
3.3. OpenGL 3.3 is **only** available if requested at context creation
because compatibility contexts are not supported.

SHA256 checksums
----------------

::

   9bc659abdba26202509304f259723aaa4343dba6aac4bd87d5baea11d23c8c63  mesa-10.6.0.tar.gz
   f37e2633978deed02ff0522abc36c709586e2b555fd439a82ab71dce2c866c76  mesa-10.6.0.tar.xz

New features
------------

Note: some of the new features are only available with certain drivers.

-  GL_AMD_pinned_memory on r600, radeonsi
-  GL_ARB_clip_control on i965
-  GL_ARB_depth_buffer_float on freedreno
-  GL_ARB_depth_clamp on freedreno
-  GL_ARB_direct_state_access on all drivers that support GL 2.0+
-  GL_ARB_draw_indirect, GL_ARB_multi_draw_indirect on r600
-  GL_ARB_draw_instanced on freedreno
-  GL_ARB_gpu_shader_fp64 on nvc0, softpipe
-  GL_ARB_gpu_shader5 on i965/gen8+
-  GL_ARB_instanced_arrays on freedreno
-  GL_ARB_pipeline_statistics_query on i965, nv50, nvc0, r600, radeonsi,
   softpipe
-  GL_ARB_program_interface_query (all drivers)
-  GL_ARB_texture_stencil8 on nv50, nvc0, r600, radeonsi, softpipe
-  GL_ARB_texture_view on llvmpipe, softpipe
-  GL_ARB_uniform_buffer_object on freedreno
-  GL_ARB_vertex_attrib_64bit on nvc0, softpipe
-  GL_ARB_viewport_array, GL_AMD_vertex_shader_viewport_index on
   i965/gen6
-  GL_EXT_draw_buffers2 on freedreno
-  GL_OES_EGL_sync on all drivers
-  EGL_KHR_fence_sync on i965, freedreno, nv50, nvc0, r600, radeonsi
-  EGL_KHR_wait_sync on i965, freedreno, nv50, nvc0, r600, radeonsi
-  EGL_KHR_cl_event2 on freedreno, nv50, nvc0, r600, radeonsi
-  GL_AMD_performance_monitor on nvc0

Bug fixes
---------

This list is likely incomplete.

-  `Bug 15006 <https://bugs.freedesktop.org/show_bug.cgi?id=15006>`__ -
   translate & rotate the line cause Aliasing
-  `Bug 27007 <https://bugs.freedesktop.org/show_bug.cgi?id=27007>`__ -
   Lines disappear with GL_LINE_SMOOTH
-  `Bug 28832 <https://bugs.freedesktop.org/show_bug.cgi?id=28832>`__ -
   piglit/general/line-aa-width fail
-  `Bug 45348 <https://bugs.freedesktop.org/show_bug.cgi?id=45348>`__ -
   [swrast] piglit fbo-drawbuffers-arbfp regression
-  `Bug 60797 <https://bugs.freedesktop.org/show_bug.cgi?id=60797>`__ -
   1px lines in octave plot aliased to 0
-  `Bug 67564 <https://bugs.freedesktop.org/show_bug.cgi?id=67564>`__ -
   HiZ buffers are much larger than necessary
-  `Bug 69226 <https://bugs.freedesktop.org/show_bug.cgi?id=69226>`__ -
   Cannot enable basic shaders with Second Life aborts attempt
-  `Bug 71591 <https://bugs.freedesktop.org/show_bug.cgi?id=71591>`__ -
   Second Life shaders fail to compile (extension declared in middle of
   shader)
-  `Bug 79202 <https://bugs.freedesktop.org/show_bug.cgi?id=79202>`__ -
   valgrind errors in glsl-fs-uniform-array-loop-unroll.shader_test;
   random code generation
-  `Bug 81025 <https://bugs.freedesktop.org/show_bug.cgi?id=81025>`__ -
   [IVB/BYT Bisected]Piglit
   spec_ARB_draw_indirect_arb_draw_indirect-draw-elements-prim-restart-ugly
   fails
-  `Bug 82477 <https://bugs.freedesktop.org/show_bug.cgi?id=82477>`__ -
   [softpipe] piglit fp-long-alu regression
-  `Bug 82668 <https://bugs.freedesktop.org/show_bug.cgi?id=82668>`__ -
   Can't set int attributes to certain values on 32-bit
-  `Bug 82831 <https://bugs.freedesktop.org/show_bug.cgi?id=82831>`__ -
   i965: Support GL_ARB_blend_func_extended in SIMD16
-  `Bug 83962 <https://bugs.freedesktop.org/show_bug.cgi?id=83962>`__ -
   [HSW/BYT]Piglit
   spec_ARB_gpu_shader5_arb_gpu_shader5-emitstreamvertex_nodraw fails
-  `Bug 84613 <https://bugs.freedesktop.org/show_bug.cgi?id=84613>`__ -
   [G965, bisected] piglit regressions : glslparsertest.glsl2
-  `Bug 86747 <https://bugs.freedesktop.org/show_bug.cgi?id=86747>`__ -
   Noise in Football Manager 2014 textures
-  `Bug 86792 <https://bugs.freedesktop.org/show_bug.cgi?id=86792>`__ -
   [NVC0] Portal 2 Crashes in Wine
-  `Bug 86811 <https://bugs.freedesktop.org/show_bug.cgi?id=86811>`__ -
   [BDW/BSW Bisected]Piglit
   spec_arb_shading_language_packing_execution_built-in-functions_vs-unpackSnorm4x8
   fails
-  `Bug 86837 <https://bugs.freedesktop.org/show_bug.cgi?id=86837>`__ -
   kodi segfault since auxiliary/vl: rework the build of the VL code
-  `Bug 86944 <https://bugs.freedesktop.org/show_bug.cgi?id=86944>`__ -
   glsl_parser_extras.cpp", line 1455: Error: Badly formed expression.
   (Oracle Studio)
-  `Bug 86974 <https://bugs.freedesktop.org/show_bug.cgi?id=86974>`__ -
   INTEL_DEBUG=shader_time always asserts in
   fs_generator::generate_code() when Mesa is built with --enable-debug
   (= with asserts)
-  `Bug 86980 <https://bugs.freedesktop.org/show_bug.cgi?id=86980>`__ -
   [swrast] piglit fp-rfl regression
-  `Bug 87258 <https://bugs.freedesktop.org/show_bug.cgi?id=87258>`__ -
   [BDW/BSW Bisected]Piglit
   spec_ARB_shader_atomic_counters_array-indexing fails
-  `Bug 88246 <https://bugs.freedesktop.org/show_bug.cgi?id=88246>`__ -
   Commit 2881b12 causes 43 DrawElements test regressions
-  `Bug 88248 <https://bugs.freedesktop.org/show_bug.cgi?id=88248>`__ -
   Calling glClear while there is an occlusion query in progress messes
   up the results
-  `Bug 88521 <https://bugs.freedesktop.org/show_bug.cgi?id=88521>`__ -
   GLBenchmark 2.7 TRex renders with artifacts on Gen8 with !UXA
-  `Bug 88534 <https://bugs.freedesktop.org/show_bug.cgi?id=88534>`__ -
   include/c11/threads_posix.h PTHREAD_MUTEX_RECURSIVE_NP not defined
-  `Bug 88561 <https://bugs.freedesktop.org/show_bug.cgi?id=88561>`__ -
   [radeonsi][regression,bisected] Depth test/buffer issues in Portal
-  `Bug 88793 <https://bugs.freedesktop.org/show_bug.cgi?id=88793>`__ -
   [BDW/BSW Bisected]Piglit/shaders_glsl-max-varyings fails
-  `Bug 88815 <https://bugs.freedesktop.org/show_bug.cgi?id=88815>`__ -
   Incorrect handling of GLSL #line directive
-  `Bug 88883 <https://bugs.freedesktop.org/show_bug.cgi?id=88883>`__ -
   ir-a2xx.c: variable changed in assert statement
-  `Bug 88885 <https://bugs.freedesktop.org/show_bug.cgi?id=88885>`__ -
   Transform feedback uses incorrect interleaving if a previous draw did
   not write gl_Position
-  `Bug 88905 <https://bugs.freedesktop.org/show_bug.cgi?id=88905>`__ -
   [SNB+ Bisected]Ogles3conform
   ES3-CTS.gtf.GL3Tests.packed_pixels.packed_pixels fails
-  `Bug 88999 <https://bugs.freedesktop.org/show_bug.cgi?id=88999>`__ -
   [SKL] Compiz crashes after opening unity dash
-  `Bug 89014 <https://bugs.freedesktop.org/show_bug.cgi?id=89014>`__ -
   PIPE_QUERY_GPU_FINISHED is not acting as expected on SI
-  `Bug 89026 <https://bugs.freedesktop.org/show_bug.cgi?id=89026>`__ -
   Renderbuffer layered state used for framebuffer completeness test
-  `Bug 89032 <https://bugs.freedesktop.org/show_bug.cgi?id=89032>`__ -
   [BDW/BSW/SKL Bisected]Piglit spec_OpenGL_1.1_infinite-spot-light
   fails
-  `Bug 89037 <https://bugs.freedesktop.org/show_bug.cgi?id=89037>`__ -
   [SKL]Piglit spec_EXT_texture_array_copyteximage_1D_ARRAY_samples=2
   sporadically causes GPU hang
-  `Bug 89039 <https://bugs.freedesktop.org/show_bug.cgi?id=89039>`__ -
   [SKL]etqw system hang
-  `Bug 89058 <https://bugs.freedesktop.org/show_bug.cgi?id=89058>`__ -
   [SKL]Render error in some games (etqw-demo, nexuiz, portal)
-  `Bug 89068 <https://bugs.freedesktop.org/show_bug.cgi?id=89068>`__ -
   glTexImage2D regression by texstore_rgba switch to
   \_mesa_format_convert
-  `Bug 89069 <https://bugs.freedesktop.org/show_bug.cgi?id=89069>`__ -
   Lack of grass in The Talos Principle on radeonsi (native\wine\nine)
-  `Bug 89094 <https://bugs.freedesktop.org/show_bug.cgi?id=89094>`__ -
   [SNB/IVB/HSW/BYT Bisected]Ogles3conform
   ES3-CTS.gtf.GL3Tests.shadow.shadow_execution_vert fails
-  `Bug 89095 <https://bugs.freedesktop.org/show_bug.cgi?id=89095>`__ -
   [SNB/IVB/BYT Bisected]Webglc
   conformance/glsl/functions/glsl-function-mix-float.html fails
-  `Bug 89112 <https://bugs.freedesktop.org/show_bug.cgi?id=89112>`__ -
   u_atomic_test: u_atomic_test.c:124: test_atomic_8bits_bool: Assertion
   \`r == 65 && "p_atomic_add"' failed.
-  `Bug 89118 <https://bugs.freedesktop.org/show_bug.cgi?id=89118>`__ -
   [SKL Bisected]many Ogles3conform cases core dumped
-  `Bug 89131 <https://bugs.freedesktop.org/show_bug.cgi?id=89131>`__ -
   [Bisected] Graphical corruption in Weston, shows old framebuffer
   pieces
-  `Bug 89156 <https://bugs.freedesktop.org/show_bug.cgi?id=89156>`__ -
   r300g: GL_COMPRESSED_RED_RGTC1 / ATI1N support broken
-  `Bug 89180 <https://bugs.freedesktop.org/show_bug.cgi?id=89180>`__ -
   [IVB regression] Rendering issues in Mass Effect through VMware
   Workstation
-  `Bug 89210 <https://bugs.freedesktop.org/show_bug.cgi?id=89210>`__ -
   GS statistics fail on SNB
-  `Bug 89218 <https://bugs.freedesktop.org/show_bug.cgi?id=89218>`__ -
   lower_instructions.cpp:648:48: error: invalid suffix 'd' on floating
   constant
-  `Bug 89224 <https://bugs.freedesktop.org/show_bug.cgi?id=89224>`__ -
   Incorrect rendering of Unigine Valley running in VM on VMware
   Workstation
-  `Bug 89260 <https://bugs.freedesktop.org/show_bug.cgi?id=89260>`__ -
   macros.h:34:25: fatal error: util/u_math.h: No such file or directory
-  `Bug 89292 <https://bugs.freedesktop.org/show_bug.cgi?id=89292>`__ -
   [regression,bisected] incomplete screenshots in some cases
-  `Bug 89311 <https://bugs.freedesktop.org/show_bug.cgi?id=89311>`__ -
   [regression, bisected] dEQP: Added entry points for
   glCompressedTextureSubImage*D.
-  `Bug 89312 <https://bugs.freedesktop.org/show_bug.cgi?id=89312>`__ -
   [regression, bisected] main: Added entry points for
   CopyTextureSubImage*D. (d6b7c40cecfe01)
-  `Bug 89315 <https://bugs.freedesktop.org/show_bug.cgi?id=89315>`__ -
   [HSW, regression, bisected] i965/fs: Emit MAD instructions when
   possible.
-  `Bug 89317 <https://bugs.freedesktop.org/show_bug.cgi?id=89317>`__ -
   [HSW, regression, bisected] i965: Add LINTERP/CINTERP to
   can_do_cmod() (d91390634)
-  `Bug 89328 <https://bugs.freedesktop.org/show_bug.cgi?id=89328>`__ -
   python required to build Mesa release tarballs
-  `Bug 89342 <https://bugs.freedesktop.org/show_bug.cgi?id=89342>`__ -
   main/light.c:159:62: error: 'M_PI' undeclared (first use in this
   function)
-  `Bug 89343 <https://bugs.freedesktop.org/show_bug.cgi?id=89343>`__ -
   compiler/tests/radeon_compiler_optimize_tests.c:43:3: error: implicit
   declaration of function ‘fprintf’
   [-Werror=implicit-function-declaration]
-  `Bug 89345 <https://bugs.freedesktop.org/show_bug.cgi?id=89345>`__ -
   imports.h:452:58: error: expected declaration specifiers or '...'
   before 'va_list'
-  `Bug 89364 <https://bugs.freedesktop.org/show_bug.cgi?id=89364>`__ -
   c99_alloca.h:40:22: fatal error: alloca.h: No such file or directory
-  `Bug 89372 <https://bugs.freedesktop.org/show_bug.cgi?id=89372>`__ -
   [softpipe] piglit glsl-1.50 generate-zero-primitives regression
-  `Bug 89387 <https://bugs.freedesktop.org/show_bug.cgi?id=89387>`__ -
   Double delete in lp_bld_misc.cpp
-  `Bug 89416 <https://bugs.freedesktop.org/show_bug.cgi?id=89416>`__ -
   UE4Editor crash after load project
-  `Bug 89430 <https://bugs.freedesktop.org/show_bug.cgi?id=89430>`__ -
   [g965][bisected] arb_copy_image-targets gl_texture\* tests fail
-  `Bug 89433 <https://bugs.freedesktop.org/show_bug.cgi?id=89433>`__ -
   GCC 4.2 does not support -Wvla
-  `Bug 89455 <https://bugs.freedesktop.org/show_bug.cgi?id=89455>`__ -
   [NVC0/Gallium] Unigine Heaven black and white boxes
-  `Bug 89457 <https://bugs.freedesktop.org/show_bug.cgi?id=89457>`__ -
   [BSW Bisected]ogles3conform
   ES3-CTS.gtf.GL3Tests.shadow.shadow_execution_vert fails
-  `Bug 89477 <https://bugs.freedesktop.org/show_bug.cgi?id=89477>`__ -
   include/no_extern_c.h:47:1: error: template with C linkage
-  `Bug 89508 <https://bugs.freedesktop.org/show_bug.cgi?id=89508>`__ -
   Bad int(floatBitsToInt(vec4))
-  `Bug 89530 <https://bugs.freedesktop.org/show_bug.cgi?id=89530>`__ -
   FTBFS in loader: missing fstat
-  `Bug 89569 <https://bugs.freedesktop.org/show_bug.cgi?id=89569>`__ -
   Papo & Yo crash on startup [HSW]
-  `Bug 89590 <https://bugs.freedesktop.org/show_bug.cgi?id=89590>`__ -
   Crash in glLinkProgram with shaders with multiple constant arrays
-  `Bug 89662 <https://bugs.freedesktop.org/show_bug.cgi?id=89662>`__ -
   context.c:943: undefined reference to \`_glapi_new_nop_table'
-  `Bug 89670 <https://bugs.freedesktop.org/show_bug.cgi?id=89670>`__ -
   cmod_propagation_test.andnz_one regression
-  `Bug 89679 <https://bugs.freedesktop.org/show_bug.cgi?id=89679>`__ -
   [NV50] Portal/Half-Life 2 will not start (native Steam)
-  `Bug 89689 <https://bugs.freedesktop.org/show_bug.cgi?id=89689>`__ -
   [Regression] Weston on DRM backend won't start with new version of
   mesa
-  `Bug 89722 <https://bugs.freedesktop.org/show_bug.cgi?id=89722>`__ -
   [ILK Bisected]Ogles2conform/ES2-CTS.gtf.GL.equal.equal_vec2_frag
   fails
-  `Bug 89726 <https://bugs.freedesktop.org/show_bug.cgi?id=89726>`__ -
   [Bisected] dEQP-GLES3: uniform linking logic in the presence of
   structs
-  `Bug 89746 <https://bugs.freedesktop.org/show_bug.cgi?id=89746>`__ -
   Mesa and LLVM 3.6+ break opengl for genymotion
-  `Bug 89754 <https://bugs.freedesktop.org/show_bug.cgi?id=89754>`__ -
   vertexAttrib fails WebGL Conformance test with mesa drivers
-  `Bug 89758 <https://bugs.freedesktop.org/show_bug.cgi?id=89758>`__ -
   pow WebGL Conformance test with mesa drivers
-  `Bug 89759 <https://bugs.freedesktop.org/show_bug.cgi?id=89759>`__ -
   WebGL OGL ES GLSL conformance test with mesa drivers fails
-  `Bug 89831 <https://bugs.freedesktop.org/show_bug.cgi?id=89831>`__ -
   [r600] r600_asm.c:310:assign_alu_units: Assertion \`0' failed.
-  `Bug 89899 <https://bugs.freedesktop.org/show_bug.cgi?id=89899>`__ -
   nir/nir_lower_tex_projector.c:112: error: unknown field ‘ssa’
   specified in initializer
-  `Bug 89957 <https://bugs.freedesktop.org/show_bug.cgi?id=89957>`__ -
   vm protection faults in piglit lest: texsubimage cube_map_array pbo
-  `Bug 89960 <https://bugs.freedesktop.org/show_bug.cgi?id=89960>`__ -
   [softpipe] piglit copy-pixels regreession
-  `Bug 89961 <https://bugs.freedesktop.org/show_bug.cgi?id=89961>`__ -
   [BDW/BSW Bisected]Synmark2_v6
   OglDrvRes/OglDrvShComp/OglDrvState/OglPSPom Image Validation fail
-  `Bug 89963 <https://bugs.freedesktop.org/show_bug.cgi?id=89963>`__ -
   lp_bld_debug.cpp:100:31: error: no matching function for call to
   ‘llvm::raw_ostream::raw_ostream()’
-  `Bug 90000 <https://bugs.freedesktop.org/show_bug.cgi?id=90000>`__ -
   [i965 Bisected NIR] Piglit/gglean_fragprog1-z-write_test fail
-  `Bug 90109 <https://bugs.freedesktop.org/show_bug.cgi?id=90109>`__ -
   [SNB+ Bisected]Ogles3conform
   ES3-CTS.shaders.uniform_block.random.basic_arrays.3 fails
-  `Bug 90114 <https://bugs.freedesktop.org/show_bug.cgi?id=90114>`__ -
   [SNB+ Bisected]Ogles3conform
   ES3-CTS.shaders.struct.uniform.sampler_array_fragment fails
-  `Bug 90130 <https://bugs.freedesktop.org/show_bug.cgi?id=90130>`__ -
   gl_PrimitiveId seems to reset at 340
-  `Bug 90147 <https://bugs.freedesktop.org/show_bug.cgi?id=90147>`__ -
   swrast: build error undeclared \_SC_PHYS_PAGES on osx
-  `Bug 90149 <https://bugs.freedesktop.org/show_bug.cgi?id=90149>`__ -
   [SNB+
   Bisected]ES3-CTS.gtf.GL3Tests.uniform_buffer_object.uniform_buffer_object_getactiveuniformsiv_for_nonexistent_uniform_indices
   fails
-  `Bug 90153 <https://bugs.freedesktop.org/show_bug.cgi?id=90153>`__ -
   [SKL
   Bisected]ES3-CTS.gtf.GL3Tests.uniform_buffer_object.uniform_buffer_object_all_valid_basic_types
   fails
-  `Bug 90167 <https://bugs.freedesktop.org/show_bug.cgi?id=90167>`__ -
   [softpipe] piglit depthstencil-default_fb-drawpixels-32f_24_8_rev
   regression
-  `Bug 90207 <https://bugs.freedesktop.org/show_bug.cgi?id=90207>`__ -
   [r600g, bisected] regression: NI/Turks crash on WebGL Water (most
   WebGL stuff)
-  `Bug 90213 <https://bugs.freedesktop.org/show_bug.cgi?id=90213>`__ -
   glDrawPixels with GL_COLOR_INDEX never returns.
-  `Bug 90243 <https://bugs.freedesktop.org/show_bug.cgi?id=90243>`__ -
   [bisected] regression: spec.!opengl
   3_2.get-active-attrib-returns-all-inputs
-  `Bug 90258 <https://bugs.freedesktop.org/show_bug.cgi?id=90258>`__ -
   [IVB] spec.glsl-1_10.execution.fs-dfdy-accuracy fails intermittently
-  `Bug 90310 <https://bugs.freedesktop.org/show_bug.cgi?id=90310>`__ -
   Fails to build gallium_dri.so at linking stage with clang because of
   multiple redefinitions
-  `Bug 90350 <https://bugs.freedesktop.org/show_bug.cgi?id=90350>`__ -
   [G96] Portal's portal are incorrectly rendered
-  `Bug 90363 <https://bugs.freedesktop.org/show_bug.cgi?id=90363>`__ -
   [nv50] HW state is not reset correctly when using a new GL context
-  `Bug 90397 <https://bugs.freedesktop.org/show_bug.cgi?id=90397>`__ -
   ARB_program_interface_query: glGetProgramResourceiv() returns wrong
   value for GL_REFERENCED_BY_*_SHADER prop for GL_UNIFORM for members
   of an interface block with an instance name
-  `Bug 90466 <https://bugs.freedesktop.org/show_bug.cgi?id=90466>`__ -
   arm: linker error ndefined reference to \`nir_metadata_preserve'
-  `Bug 90520 <https://bugs.freedesktop.org/show_bug.cgi?id=90520>`__ -
   Register spilling clobbers registers used elsewhere in the shader
-  `Bug 90547 <https://bugs.freedesktop.org/show_bug.cgi?id=90547>`__ -
   [BDW/BSW/SKL
   Bisected]Piglit/glean@vertprog1-rsq_test_2_(reciprocal_square_root_of_negative_value)
   fais
-  `Bug 90580 <https://bugs.freedesktop.org/show_bug.cgi?id=90580>`__ -
   [HSW bisected] integer multiplication bug
-  `Bug 90629 <https://bugs.freedesktop.org/show_bug.cgi?id=90629>`__ -
   [i965] SIMD16 dual_source_blend assertion \`src[i].file != GRF \|\|
   src[i].width == dst.width' failed
-  `Bug 90749 <https://bugs.freedesktop.org/show_bug.cgi?id=90749>`__ -
   [BDW
   Bisected]dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.primitives.lines_wide
   fails
-  `Bug 90830 <https://bugs.freedesktop.org/show_bug.cgi?id=90830>`__ -
   [bsw bisected regression] GPU hang for
   spec.arb_gpu_shader5.execution.sampler_array_indexing.vs-nonzero-base
-  `Bug 90839 <https://bugs.freedesktop.org/show_bug.cgi?id=90839>`__ -
   [10.5.5/10.6 regression, bisected] PBO glDrawPixels no longer using
   blit fastpath
-  `Bug 90905 <https://bugs.freedesktop.org/show_bug.cgi?id=90905>`__ -
   mesa: Finish subdir-objects transition
-  `Bug 9951 <https://bugs.freedesktop.org/show_bug.cgi?id=9951>`__ -
   GL_LINE_SMOOTH and GL_POLYGON_SMOOTH with i965 driver

Changes
-------

-  Removed classic Windows software rasterizer.
-  Removed egl_gallium EGL driver.
-  Removed gbm_gallium GBM driver.
-  Removed OpenVG support.
-  Removed the galahad gallium driver.
-  Removed the identity gallium driver.
-  Removed the EGL loader from the Windows SCons build.
-  Removed the classic osmesa from the Windows SCons build.
