diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000000..da1d81e1b46 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,101 @@ +language: c + +sudo: false + +cache: + directories: + - $HOME/.ccache + +addons: + apt: + packages: + - libdrm-dev + - libudev-dev + - x11proto-xf86vidmode-dev + - libexpat1-dev + - libxcb-dri2-0-dev + - libx11-xcb-dev + - llvm-3.4-dev + - scons + +env: + global: + - XORG_RELEASES=http://xorg.freedesktop.org/releases/individual + - XCB_RELEASES=http://xcb.freedesktop.org/dist + - XORGMACROS_VERSION=util-macros-1.19.0 + - GLPROTO_VERSION=glproto-1.4.17 + - DRI2PROTO_VERSION=dri2proto-2.8 + - DRI3PROTO_VERSION=dri3proto-1.0 + - PRESENTPROTO_VERSION=presentproto-1.0 + - LIBPCIACCESS_VERSION=libpciaccess-0.13.4 + - LIBDRM_VERSION=libdrm-2.4.65 + - XCBPROTO_VERSION=xcb-proto-1.11 + - LIBXCB_VERSION=libxcb-1.11 + - LIBXSHMFENCE_VERSION=libxshmfence-1.2 + - PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig + matrix: + - BUILD=make + - BUILD=scons + +install: + - export PATH="/usr/lib/ccache:$PATH" + - pip install --user mako + + # Install dependencies where we require specific versions (or where + # disallowed by Travis CI's package whitelisting). + + - wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2 + - tar -jxvf $XORGMACROS_VERSION.tar.bz2 + - (cd $XORGMACROS_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XORG_RELEASES/proto/$GLPROTO_VERSION.tar.bz2 + - tar -jxvf $GLPROTO_VERSION.tar.bz2 + - (cd $GLPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XORG_RELEASES/proto/$DRI2PROTO_VERSION.tar.bz2 + - tar -jxvf $DRI2PROTO_VERSION.tar.bz2 + - (cd $DRI2PROTO_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XORG_RELEASES/proto/$DRI3PROTO_VERSION.tar.bz2 + - tar -jxvf $DRI3PROTO_VERSION.tar.bz2 + - (cd $DRI3PROTO_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XORG_RELEASES/proto/$PRESENTPROTO_VERSION.tar.bz2 + - tar -jxvf $PRESENTPROTO_VERSION.tar.bz2 + - (cd $PRESENTPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XCB_RELEASES/$XCBPROTO_VERSION.tar.bz2 + - tar -jxvf $XCBPROTO_VERSION.tar.bz2 + - (cd $XCBPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XCB_RELEASES/$LIBXCB_VERSION.tar.bz2 + - tar -jxvf $LIBXCB_VERSION.tar.bz2 + - (cd $LIBXCB_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XORG_RELEASES/lib/$LIBPCIACCESS_VERSION.tar.bz2 + - tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2 + - (cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget http://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2 + - tar -jxvf $LIBDRM_VERSION.tar.bz2 + - (cd $LIBDRM_VERSION && ./configure --prefix=$HOME/prefix && make install) + + - wget $XORG_RELEASES/lib/$LIBXSHMFENCE_VERSION.tar.bz2 + - tar -jxvf $LIBXSHMFENCE_VERSION.tar.bz2 + - (cd $LIBXSHMFENCE_VERSION && ./configure --prefix=$HOME/prefix && make install) + +# Disabled LLVM (and therefore r300 and r600) because the build fails +# with "undefined reference to `clock_gettime'" and "undefined +# reference to `setupterm'" in llvmpipe. +script: + - if test "x$BUILD" = xmake; then + ./autogen.sh --enable-debug + --disable-gallium-llvm + --with-egl-platforms=x11,drm + --with-dri-drivers=i915,i965,radeon,r200,swrast,nouveau + --with-gallium-drivers=svga,swrast,vc4,virgl + ; + make && make check; + elif test x$BUILD = xscons; then + scons; + fi diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000000..68cc368a3a1 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,66 @@ +# http://www.appveyor.com/docs/appveyor-yml +# +# To setup AppVeyor for your own personal repositories do the following: +# - Sign up +# - Add a new project +# - Select Git and fill in the Git clone URL +# - Setup a Git hook as explained in +# https://github.com/appveyor/webhooks#installing-git-hook +# - Check 'Settings > General > Skip branches without appveyor' +# - Check 'Settings > General > Rolling builds' +# - Setup the global or project notifications to your liking +# +# Note that kicking (or restarting) a build via the web UI will not work, as it +# will fail to find appveyor.yml . The Git hook is the most practical way to +# kick a build. +# +# See also: +# - http://help.appveyor.com/discussions/problems/2209-node-grunt-build-specify-a-project-or-solution-file-the-directory-does-not-contain-a-project-or-solution-file +# - http://help.appveyor.com/discussions/questions/1184-build-config-vs-appveyoryaml + +version: '{build}' + +branches: + except: + - /^travis.*$/ + +clone_depth: 5 + +cache: +- win_flex_bison-2.4.5.zip +- llvm-3.3.1-msvc2013-mtd.7z + +environment: + WINFLEXBISON_ARCHIVE: win_flex_bison-2.4.5.zip + LLVM_ARCHIVE: llvm-3.3.1-msvc2013-mtd.7z + +install: +# Check pip +- python --version +- python -m pip --version +# Install Mako +- python -m pip install --egg Mako +# Install SCons +- python -m pip install --egg scons==2.4.1 +- scons --version +# Install flex/bison +- if not exist "%WINFLEXBISON_ARCHIVE%" appveyor DownloadFile "http://downloads.sourceforge.net/project/winflexbison/%WINFLEXBISON_ARCHIVE%" +- 7z x -y -owinflexbison\ "%WINFLEXBISON_ARCHIVE%" > nul +- set Path=%CD%\winflexbison;%Path% +- win_flex --version +- win_bison --version +# Download and extract LLVM +- if not exist "%LLVM_ARCHIVE%" appveyor DownloadFile "https://people.freedesktop.org/~jrfonseca/llvm/%LLVM_ARCHIVE%" +- 7z x -y "%LLVM_ARCHIVE%" > nul +- mkdir llvm\bin +- set LLVM=%CD%\llvm + +build_script: +- scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=12.0 llvm=1 + + +# It's possible to setup notification here, as described in +# http://www.appveyor.com/docs/notifications#appveyor-yml-configuration , but +# doing so would cause the notification settings to be replicated across all +# repos, which is most likely undesired. So it's better to rely on the +# Appveyor global/project notification settings. diff --git a/configure.ac b/configure.ac index ebea7fcb61a..c26dbf2e126 100644 --- a/configure.ac +++ b/configure.ac @@ -198,6 +198,13 @@ if test "x$GCC" = xyes -a "x$acv_mesa_CLANG" = xno; then fi fi +dnl We don't support building Mesa with Sun C compiler +dnl https://bugs.freedesktop.org/show_bug.cgi?id=93189 +AC_CHECK_DECL([__SUNPRO_C], [SUNCC=yes], [SUNCC=no]) +if test "x$SUNCC" = xyes; then + AC_MSG_ERROR([Building with Sun C compiler is not supported, use GCC instead.]) +fi + dnl Check for compiler builtins AX_GCC_BUILTIN([__builtin_bswap32]) AX_GCC_BUILTIN([__builtin_bswap64]) diff --git a/docs/GL3.txt b/docs/GL3.txt index ad6b95e992b..7eda0028997 100644 --- a/docs/GL3.txt +++ b/docs/GL3.txt @@ -92,11 +92,11 @@ GL 3.3, GLSL 3.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, soft GL_ARB_vertex_type_2_10_10_10_rev DONE () -GL 4.0, GLSL 4.00 --- all DONE: nvc0, radeonsi +GL 4.0, GLSL 4.00 --- all DONE: nvc0, r600, radeonsi - GL_ARB_draw_buffers_blend DONE (i965, nv50, r600, llvmpipe, softpipe) - GL_ARB_draw_indirect DONE (i965, r600, llvmpipe, softpipe) - GL_ARB_gpu_shader5 DONE (i965, r600) + GL_ARB_draw_buffers_blend DONE (i965, nv50, llvmpipe, softpipe) + GL_ARB_draw_indirect DONE (i965, llvmpipe, softpipe) + GL_ARB_gpu_shader5 DONE (i965) - 'precise' qualifier DONE - Dynamically uniform sampler array indices DONE (softpipe) - Dynamically uniform UBO array indices DONE () @@ -109,26 +109,26 @@ GL 4.0, GLSL 4.00 --- all DONE: nvc0, radeonsi - Enhanced per-sample shading DONE () - Interpolation functions DONE () - New overload resolution rules DONE - GL_ARB_gpu_shader_fp64 DONE (r600, llvmpipe, softpipe) - GL_ARB_sample_shading DONE (i965, nv50, r600) - GL_ARB_shader_subroutine DONE (i965, nv50, r600, llvmpipe, softpipe) + GL_ARB_gpu_shader_fp64 DONE (llvmpipe, softpipe) + GL_ARB_sample_shading DONE (i965, nv50) + GL_ARB_shader_subroutine DONE (i965, nv50, llvmpipe, softpipe) GL_ARB_tessellation_shader DONE () - GL_ARB_texture_buffer_object_rgb32 DONE (i965, r600, llvmpipe, softpipe) - GL_ARB_texture_cube_map_array DONE (i965, nv50, r600, llvmpipe, softpipe) - GL_ARB_texture_gather DONE (i965, nv50, r600, llvmpipe, softpipe) - GL_ARB_texture_query_lod DONE (i965, nv50, r600, softpipe) - GL_ARB_transform_feedback2 DONE (i965, nv50, r600, llvmpipe, softpipe) - GL_ARB_transform_feedback3 DONE (i965, nv50, r600, llvmpipe, softpipe) + GL_ARB_texture_buffer_object_rgb32 DONE (i965, llvmpipe, softpipe) + GL_ARB_texture_cube_map_array DONE (i965, nv50, llvmpipe, softpipe) + GL_ARB_texture_gather DONE (i965, nv50, llvmpipe, softpipe) + GL_ARB_texture_query_lod DONE (i965, nv50, softpipe) + GL_ARB_transform_feedback2 DONE (i965, nv50, llvmpipe, softpipe) + GL_ARB_transform_feedback3 DONE (i965, nv50, llvmpipe, softpipe) -GL 4.1, GLSL 4.10 --- all DONE: nvc0, radeonsi +GL 4.1, GLSL 4.10 --- all DONE: nvc0, r600, radeonsi - GL_ARB_ES2_compatibility DONE (i965, nv50, r600, llvmpipe, softpipe) + GL_ARB_ES2_compatibility DONE (i965, nv50, llvmpipe, softpipe) GL_ARB_get_program_binary DONE (0 binary formats) GL_ARB_separate_shader_objects DONE (all drivers) GL_ARB_shader_precision DONE (all drivers that support GLSL 4.10) - GL_ARB_vertex_attrib_64bit DONE (r600, llvmpipe, softpipe) - GL_ARB_viewport_array DONE (i965, nv50, r600, llvmpipe) + GL_ARB_vertex_attrib_64bit DONE (llvmpipe, softpipe) + GL_ARB_viewport_array DONE (i965, nv50, llvmpipe) GL 4.2, GLSL 4.20: @@ -152,13 +152,13 @@ GL 4.3, GLSL 4.30: GL_ARB_arrays_of_arrays DONE (i965) GL_ARB_ES3_compatibility DONE (all drivers that support GLSL 3.30) GL_ARB_clear_buffer_object DONE (all drivers) - GL_ARB_compute_shader in progress (jljusten) - GL_ARB_copy_image DONE (i965, nv50, nvc0, radeonsi) + GL_ARB_compute_shader DONE (i965) + GL_ARB_copy_image DONE (i965, nv50, nvc0, r600, radeonsi) GL_KHR_debug DONE (all drivers) GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL) GL_ARB_fragment_layer_viewport DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe) GL_ARB_framebuffer_no_attachments DONE (i965) - GL_ARB_internalformat_query2 not started + GL_ARB_internalformat_query2 in progress (elima) GL_ARB_invalidate_subdata DONE (all drivers) GL_ARB_multi_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe) GL_ARB_program_interface_query DONE (all drivers) @@ -210,7 +210,7 @@ GL 4.5, GLSL 4.50: These are the extensions cherry-picked to make GLES 3.1 GLES3.1, GLSL ES 3.1 GL_ARB_arrays_of_arrays DONE (i965) - GL_ARB_compute_shader in progress (jljusten) + GL_ARB_compute_shader DONE (i965) GL_ARB_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe) GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL) GL_ARB_framebuffer_no_attachments DONE (i965) @@ -244,7 +244,7 @@ GLES3.2, GLSL ES 3.2 GL_OES_copy_image not started (based on GL_ARB_copy_image, which is done for some drivers) GL_OES_draw_buffers_indexed not started GL_OES_draw_elements_base_vertex DONE (all drivers) - GL_OES_geometry_shader not started (based on GL_ARB_geometry_shader4, which is done for all drivers) + GL_OES_geometry_shader started (Marta) GL_OES_gpu_shader5 not started (based on parts of GL_ARB_gpu_shader5, which is done for some drivers) GL_OES_primitive_bounding box not started GL_OES_sample_shading not started (based on parts of GL_ARB_sample_shading, which is done for some drivers) diff --git a/docs/envvars.html b/docs/envvars.html index 1b2c03ef377..5bb7b1e65bb 100644 --- a/docs/envvars.html +++ b/docs/envvars.html @@ -238,6 +238,12 @@ for details. +

VA-API state tracker environment variables

+ + +

Other Gallium drivers have their own environment variables. These may change frequently so the source code should be consulted for details. diff --git a/docs/index.html b/docs/index.html index 1f50d6b40d3..6b1221d1bbd 100644 --- a/docs/index.html +++ b/docs/index.html @@ -16,6 +16,17 @@

News

+

December 9, 2015

+

+Mesa 11.0.7 is released. +This is a bug-fix release. +

+

+Mesa demos 8.3.0 is also released. +See the announcement for more information about the release. +You can download it from ftp.freedesktop.org/pub/mesa/demos/8.3.0/. +

+

November 21, 2015

Mesa 11.0.6 is released. diff --git a/docs/install.html b/docs/install.html index a90c2b27d58..c826d642001 100644 --- a/docs/install.html +++ b/docs/install.html @@ -39,7 +39,7 @@ Version 2.6.4 or later should work.

  • Python Mako module - -Python Mako module is required. Version 0.7.3 or later should work. +Python Mako module is required. Version 0.3.4 or later should work.

  • SCons is required for building on diff --git a/docs/relnotes.html b/docs/relnotes.html index 6a8ed324eb5..a8aaa5fd2e8 100644 --- a/docs/relnotes.html +++ b/docs/relnotes.html @@ -21,6 +21,7 @@ The release notes summarize what's new or changed in each Mesa release.