diff --git a/Makefile b/Makefile index cbf2bb719a1..65897861ef0 100644 --- a/Makefile +++ b/Makefile @@ -329,6 +329,8 @@ GALLIUM_FILES = \ $(DIRECTORY)/src/gallium/Makefile.template \ $(DIRECTORY)/src/gallium/SConscript \ $(DIRECTORY)/src/gallium/targets/Makefile.dri \ + $(DIRECTORY)/src/gallium/targets/Makefile.xorg \ + $(DIRECTORY)/src/gallium/targets/SConscript.dri \ $(DIRECTORY)/src/gallium/*/Makefile \ $(DIRECTORY)/src/gallium/*/SConscript \ $(DIRECTORY)/src/gallium/*/*/Makefile \ @@ -356,6 +358,7 @@ DRI_FILES = \ $(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.[ch] \ $(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.po \ $(DIRECTORY)/src/mesa/drivers/dri/*/*.[chS] \ + $(DIRECTORY)/src/mesa/drivers/dri/*/*.cpp \ $(DIRECTORY)/src/mesa/drivers/dri/*/*/*.[chS] \ $(DIRECTORY)/src/mesa/drivers/dri/*/Makefile \ $(DIRECTORY)/src/mesa/drivers/dri/*/*/Makefile \ diff --git a/SConstruct b/SConstruct index 02e99f67aa8..558ebf90aaa 100644 --- a/SConstruct +++ b/SConstruct @@ -208,7 +208,7 @@ Export('env') SConscript( 'src/SConscript', - variant_dir = env['build'], + variant_dir = env['build_dir'], duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html ) diff --git a/common.py b/common.py index 7a14a2c026d..13e8dc83e97 100644 --- a/common.py +++ b/common.py @@ -81,8 +81,8 @@ def AddOptions(opts): from SCons.Variables.EnumVariable import EnumVariable as EnumOption except ImportError: from SCons.Options.EnumOption import EnumOption - opts.Add(BoolOption('debug', 'debug build', 'yes')) - opts.Add(BoolOption('profile', 'profile build', 'no')) + opts.Add(EnumOption('build', 'build type', 'debug', + allowed_values=('debug', 'checked', 'profile', 'release'))) opts.Add(BoolOption('quiet', 'quiet command lines', 'yes')) opts.Add(EnumOption('machine', 'use machine-specific assembly code', default_machine, allowed_values=('generic', 'ppc', 'x86', 'x86_64'))) @@ -91,3 +91,5 @@ def AddOptions(opts): opts.Add('toolchain', 'compiler toolchain', 'default') opts.Add(BoolOption('llvm', 'use LLVM', default_llvm)) opts.Add(BoolOption('dri', 'build DRI drivers', default_dri)) + opts.Add(BoolOption('debug', 'DEPRECATED: debug build', 'yes')) + opts.Add(BoolOption('profile', 'DEPRECATED: profile build', 'no')) diff --git a/configs/linux-dri b/configs/linux-dri index 6f86277c4af..64fc407c42e 100644 --- a/configs/linux-dri +++ b/configs/linux-dri @@ -58,7 +58,7 @@ EGL_DRIVERS_DIRS = glx DRIVER_DIRS = dri GALLIUM_WINSYS_DIRS = sw sw/xlib drm/vmware drm/intel drm/i965 -GALLIUM_TARGET_DIRS = egl-swrast +GALLIUM_TARGET_DIRS = GALLIUM_STATE_TRACKERS_DIRS = egl DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon \ diff --git a/configure.ac b/configure.ac index bf8feb63528..364ee039470 100644 --- a/configure.ac +++ b/configure.ac @@ -33,6 +33,10 @@ AC_CHECK_PROGS([MAKE], [gmake make]) AC_PATH_PROG([MKDEP], [makedepend]) AC_PATH_PROG([SED], [sed]) +if test "x$MKDEP" = "x"; then + AC_MSG_ERROR([makedepend is required to build Mesa]) +fi + dnl Our fallback install-sh is a symlink to minstall. Use the existing dnl configuration in that case. AC_PROG_INSTALL @@ -692,6 +696,11 @@ AC_SUBST([GLESv2_PC_LIB_PRIV]) AC_SUBST([HAVE_XF86VIDMODE]) +PKG_CHECK_MODULES([LIBDRM_RADEON], + [libdrm_radeon libdrm >= $LIBDRM_RADEON_REQUIRED], + HAVE_LIBDRM_RADEON=yes, + HAVE_LIBDRM_RADEON=no) + dnl dnl More X11 setup dnl @@ -910,12 +919,7 @@ esac case $DRI_DIRS in *radeon*|*r200*|*r300*|*r600*) - PKG_CHECK_MODULES([LIBDRM_RADEON], - [libdrm_radeon libdrm >= $LIBDRM_RADEON_REQUIRED], - HAVE_LIBDRM_RADEON=yes, - HAVE_LIBDRM_RADEON=no) - - if test "$HAVE_LIBDRM_RADEON" = yes; then + if test "x$HAVE_LIBDRM_RADEON" = xyes; then RADEON_CFLAGS="-DHAVE_LIBDRM_RADEON=1 $LIBDRM_RADEON_CFLAGS" RADEON_LDFLAGS=$LIBDRM_RADEON_LIBS fi @@ -1363,7 +1367,7 @@ fi AC_ARG_WITH([egl-platforms], [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@], [comma delimited native platforms libEGL supports, e.g. - "x11,kms" @<:@default=auto@:>@])], + "x11,drm" @<:@default=auto@:>@])], [with_egl_platforms="$withval"], [with_egl_platforms=yes]) AC_ARG_WITH([egl-displays], @@ -1376,6 +1380,9 @@ case "$with_egl_platforms" in yes) if test "x$enable_egl" = xyes && test "x$mesa_driver" != xosmesa; then EGL_PLATFORMS="x11" + if test "$mesa_driver" = dri; then + EGL_PLATFORMS="$EGL_PLATFORMS drm" + fi fi ;; *) @@ -1518,18 +1525,28 @@ elif test "x$enable_gallium_i965" = xauto; then fi dnl -dnl Gallium Radeon configuration +dnl Gallium Radeon r300g configuration dnl AC_ARG_ENABLE([gallium-radeon], [AS_HELP_STRING([--enable-gallium-radeon], [build gallium radeon @<:@default=disabled@:>@])], [enable_gallium_radeon="$enableval"], [enable_gallium_radeon=auto]) +if test "x$enable_gallium_radeon" = xauto; then + if test "x$HAVE_LIBDRM_RADEON" = xyes; then + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300" + gallium_check_st "radeon/drm" "dri-r300" + else + AC_MSG_WARN([libdrm_radeon is missing, not building gallium-radeon (r300)]) + fi +fi if test "x$enable_gallium_radeon" = xyes; then - GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300" - gallium_check_st "radeon/drm" "dri-r300" "xorg-radeon" -elif test "x$enable_gallium_radeon" = xauto; then - GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300" + if test "x$HAVE_LIBDRM_RADEON" = xyes; then + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300" + gallium_check_st "radeon/drm" "dri-r300" "xorg-radeon" + else + AC_MSG_ERROR([libdrm_radeon is missing, cannot build gallium-radeon (r300)]) + fi fi dnl @@ -1541,8 +1558,12 @@ AC_ARG_ENABLE([gallium-r600], [enable_gallium_r600="$enableval"], [enable_gallium_r600=auto]) if test "x$enable_gallium_r600" = xyes; then - GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600" - gallium_check_st "r600/drm" "dri-r600" + if test "x$HAVE_LIBDRM_RADEON" = xyes; then + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600" + gallium_check_st "r600/drm" "dri-r600" + else + AC_MSG_ERROR([libdrm_radeon is missing, cannot build gallium-r600]) + fi fi dnl diff --git a/docs/GL3.txt b/docs/GL3.txt index 7659a0c73e8..8cb9d00556a 100644 --- a/docs/GL3.txt +++ b/docs/GL3.txt @@ -25,7 +25,7 @@ Non-normalized Integer texture/framebuffer formats not started Packed depth/stencil formats DONE Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE GL_EXT_texture_compression_rgtc not started -Red and red/green texture formats Ian? +Red and red/green texture formats DONE (swrast, i965) Transform feedback (GL_EXT_transform_feedback) ~50% done glBindFragDataLocation, glGetFragDataLocation, glBindBufferRange, glBindBufferBase commands @@ -44,7 +44,7 @@ Instanced drawing (GL_ARB_draw_instanced) ~50% done Buffer copying (GL_ARB_copy_buffer) DONE Primitive restart (GL_NV_primitive_restart) not started 16 vertex texture image units not started -Texture buffer objs (GL_ARB_textur_buffer_object) not started +Texture buffer objs (GL_ARB_texture_buffer_object) not started Rectangular textures (GL_ARB_texture_rectangle) DONE Uniform buffer objs (GL_ARB_uniform_buffer_object) not started Signed normalized texture formats ~50% done @@ -69,7 +69,7 @@ GL 3.3: GLSL 3.30 not started GL_ARB_blend_func_extended not started -GL_ARB_explicit_attrib_location not started +GL_ARB_explicit_attrib_location DONE (swrast, i915, i965) GL_ARB_occlusion_query2 not started GL_ARB_sampler_objects not started GL_ARB_texture_rgb10_a2ui not started diff --git a/docs/devinfo.html b/docs/devinfo.html index df0e7265249..2d1c125e802 100644 --- a/docs/devinfo.html +++ b/docs/devinfo.html @@ -145,7 +145,7 @@ Make sure the values in src/mesa/main/version.h are correct.

-Update the docs/news.html file and docs/download.html files. +Update docs/news.html.

@@ -208,10 +208,11 @@ sftp USERNAME,mesa3d@web.sourceforge.net

Make an announcement on the mailing lists: -mesa3d-dev@lists.sf.net, -mesa3d-users@lists.sf.net + +mesa-dev@lists.freedesktop.org, +mesa-users@lists.freedesktop.org and -mesa3d-announce@lists.sf.net +mesa-announce@lists.freedesktop.org

diff --git a/docs/egl.html b/docs/egl.html index 47582672944..d38f2dd7b7d 100644 --- a/docs/egl.html +++ b/docs/egl.html @@ -72,13 +72,13 @@ drivers will be installed to ${libdir}/egl.

  • --with-egl-platforms

    List the platforms (window systems) to support. Its argument is a comma -seprated string such as --with-egl-platforms=x11,kms. It decides +seprated string such as --with-egl-platforms=x11,drm. It decides the platforms a driver may support. The first listed platform is also used by the main library to decide the native platform: the platform the EGL native types such as EGLNativeDisplayType or EGLNativeWindowType defined for.

    -

    The available platforms are x11, kms, +

    The available platforms are x11, drm, fbdev, and gdi. The gdi platform can only be built with SCons.

    diff --git a/docs/fbdev-dri.html b/docs/fbdev-dri.html index e941b1679ed..0eea5e8e324 100644 --- a/docs/fbdev-dri.html +++ b/docs/fbdev-dri.html @@ -9,6 +9,9 @@

    Mesa fbdev/DRI Drivers


    +

    NOTE: this information is obsolete and will be removed at +a future date

    +

    1. Introduction

    @@ -22,7 +25,7 @@ Contributors to this project include Jon Smirl, Keith Whitwell and Dave Airlie.

    Applications in the fbdev/DRI environment use -the MiniGLX interface to choose pixel +the MiniGLX interface to choose pixel formats, create rendering contexts, etc. It's a subset of the GLX and Xlib interfaces allowing some degree of application portability between the X and X-less environments. @@ -315,8 +318,7 @@ It means that the sample_server process is not running.

    5.0 Programming Information

    -OpenGL/Mesa is interfaced to fbdev via the MiniGLX -interface. +OpenGL/Mesa is interfaced to fbdev via the MiniGLX interface. MiniGLX is a subset of Xlib and GLX API functions which provides just enough functionality to setup OpenGL rendering and respond to simple input events. @@ -332,7 +334,7 @@ This allows some degree of flexibility for software development and testing. However, the MiniGLX API is not binary-compatible with full Xlib/GLX. Some of the structures are different and some macros/functions work differently. -See the GL/miniglx.h header file for details. +See the GL/miniglx.h header file for details.

    diff --git a/docs/news.html b/docs/news.html index 09385ad35e1..72d38ee3f80 100644 --- a/docs/news.html +++ b/docs/news.html @@ -11,6 +11,22 @@

    News

    +

    October 4, 2010

    + +

    +Mesa 7.9 (final) is released. This is a new +development release. +

    + + +

    September 27, 2010

    + +

    +Mesa 7.9.0-rc1 is released. This is a +release candidate for the 7.9 development release. +

    + +

    June 16, 2010

    @@ -1277,7 +1293,6 @@ grateful.

    March 18, 1999

    The new webpages are now online. Enjoy, and let me know if you find any errors. -For an eye-candy free version you can use http://www.mesa3d.org/txt/.

    February 16, 1999

    SGI releases its GLX diff --git a/docs/relnotes-7.10.html b/docs/relnotes-7.10.html new file mode 100644 index 00000000000..c2e26765bf7 --- /dev/null +++ b/docs/relnotes-7.10.html @@ -0,0 +1,53 @@ + + +Mesa Release Notes + + + + + + + +

    Mesa 7.10 Release Notes / tbd

    + +

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

    +

    +Mesa 7.10 implements the OpenGL 2.1 API, but the version reported by +glGetString(GL_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 2.1. +

    +

    +See the Compiling/Installing page for prerequisites +for DRI hardware acceleration. +

    + + +

    MD5 checksums

    +
    +tbd
    +
    + + +

    New features

    + + + +

    Bug fixes

    + + + +

    Changes

    + + + + diff --git a/docs/relnotes-7.8.2.html b/docs/relnotes-7.8.2.html index e1b0f2d2791..1393b2ede29 100644 --- a/docs/relnotes-7.8.2.html +++ b/docs/relnotes-7.8.2.html @@ -26,7 +26,15 @@ for DRI hardware acceleration.

    MD5 checksums

    -tbd
    +c89b63d253605ed40e8ac370d25a833c  MesaLib-7.8.2.tar.gz
    +6be2d343a0089bfd395ce02aaf8adb57  MesaLib-7.8.2.tar.bz2
    +a04ad3b06ac5ff3969a003fa7bbf7d5b  MesaLib-7.8.2.zip
    +7c213f92efeb471f0331670d5079d4c0  MesaDemos-7.8.2.tar.gz
    +757d9e2e06f48b1a52848be9b0307ced  MesaDemos-7.8.2.tar.bz2
    +8d0e5cfe68b8ebf90265d350ae2c48b1  MesaDemos-7.8.2.zip
    +b74482e3f44f35ed395c4aada4fd8240  MesaGLUT-7.8.2.tar.gz
    +a471807b65e49c325808ba4551be93ed  MesaGLUT-7.8.2.tar.bz2
    +9f190268c42be582ef66e47365ee61e3  MesaGLUT-7.8.2.zip
     
    @@ -44,10 +52,95 @@ tbd -

    Changes

    -

    None.

    diff --git a/docs/relnotes-7.8.3.html b/docs/relnotes-7.8.3.html new file mode 100644 index 00000000000..1e9f4331391 --- /dev/null +++ b/docs/relnotes-7.8.3.html @@ -0,0 +1,89 @@ + + +Mesa Release Notes + + + + + + + +

    Mesa 7.8.3 Release Notes / (date tbd)

    + +

    +Mesa 7.8.3 is a bug fix release which fixes bugs found since the 7.8.2 release. +

    +

    +Mesa 7.8.3 implements the OpenGL 2.1 API, but the version reported by +glGetString(GL_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 2.1. +

    +

    +See the Compiling/Installing page for prerequisites +for DRI hardware acceleration. +

    + + +

    MD5 checksums

    +
    +x  MesaLib-7.8.3.tar.gz
    +x  MesaLib-7.8.3.tar.bz2
    +x  MesaLib-7.8.3.zip
    +x  MesaDemos-7.8.3.tar.gz
    +x  MesaDemos-7.8.3.tar.bz2
    +x  MesaDemos-7.8.3.zip
    +x  MesaGLUT-7.8.3.tar.gz
    +x  MesaGLUT-7.8.3.tar.bz2
    +x  MesaGLUT-7.8.3.zip
    +
    + + +

    New features

    +

    None.

    + + +

    Changes

    + + + +

    Bug fixes

    + + + + + diff --git a/docs/relnotes-7.9.html b/docs/relnotes-7.9.html index 8f32ed006a0..fe1fd5e4186 100644 --- a/docs/relnotes-7.9.html +++ b/docs/relnotes-7.9.html @@ -8,7 +8,7 @@ -

    Mesa 7.9 Release Notes / date TBD

    +

    Mesa 7.9 Release Notes / October 4, 2010

    Mesa 7.9 is a new development release. @@ -28,7 +28,12 @@ for DRI hardware acceleration.

    MD5 checksums

    -tbd
    +ed65ab425b25895c7f473d0a5e6e64f8  MesaLib-7.9.tar.gz
    +82c740c49d572baa6da2b1a1eee90bca  MesaLib-7.9.tar.bz2
    +cd2b6ecec759b0457475e94bbb38fedb  MesaLib-7.9.zip
    +7b54af9fb9b1f6a1a65db2520f50848f  MesaGLUT-7.9.tar.gz
    +20d07419d1929f833fdb36bced290ad5  MesaGLUT-7.9.tar.bz2
    +62a7edecd7c92675cd6029b05217eb0a  MesaGLUT-7.9.zip
     
    @@ -37,16 +42,85 @@ tbd
  • New, improved GLSL compiler written by Intel. See the Shading Language page for more information. -
  • GL_EXT_timer_query extension (i965 driver only) +
  • New, very experimental Gallium driver for R600-R700 Radeons. +
  • Support for AMD Evergreen-based Radeons (HD 5xxx) +
  • GL_EXT_timer_query extension (i965 driver and softpipe only)
  • GL_EXT_framebuffer_multisample extension (intel drivers, MAX_SAMPLES = 1)
  • GL_ARB_texture_swizzle extension (alias of GL_EXT_texture_swizzle) -
  • GL_ARB_draw_elements_base_vertex, GL_ARB_fragment_program_shadow - and GL_EXT_draw_buffers2 in Gallium drivers +
  • GL_ARB_draw_elements_base_vertex, GL_ARB_fragment_program_shadow, + GL_ARB_window_pos, GL_EXT_gpu_program_parameters, + GL_ATI_texture_env_combine3, GL_MESA_pack_invert, and GL_OES_EGL_image + extensions in Gallium drivers +
  • GL_ARB_depth_clamp and GL_NV_depth_clamp extensions (in nv50 and r600 + Gallium drivers) +
  • GL_ARB_half_float_vertex extension (in nvfx, r300, r600, softpipe, + and llvmpipe Gallium drivers) +
  • GL_EXT_draw_buffers2 (in nv50, r600, softpipe, and llvmpipe Gallium + drivers) +
  • GL_EXT_texture_swizzle (in nvfx, r300, r600, softpipe, and llvmpipe + Gallium drivers) +
  • GL_ATI_texture_mirror_once (in nvfx, nv50, r300, r600, softpipe, and + llvmpipe Gallium drivers) +
  • GL_NV_conditional_render (in r300 Gallium driver) +
  • Initial "signs of life" support for Sandybridge hardware in i965 DRI + driver.

    Bug fixes

    +

    This list is likely incomplete.

    diff --git a/docs/relnotes.html b/docs/relnotes.html index 47e7f80d6fa..4487af9dea6 100644 --- a/docs/relnotes.html +++ b/docs/relnotes.html @@ -14,6 +14,7 @@ The release notes summarize what's new or changed in each Mesa release.