Compare commits
	
		
			1 Commits
		
	
	
		
			chadv/cros
			...
			mesa-10.1-
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 9f4366f1ac | 
| @@ -1,18 +1,11 @@ | ||||
| ((nil . ((show-trailing-whitespace . t))) | ||||
|  (prog-mode | ||||
| ((nil | ||||
|   (indent-tabs-mode . nil) | ||||
|   (tab-width . 8) | ||||
|   (c-basic-offset . 3) | ||||
|   (c-file-style . "stroustrup") | ||||
|   (fill-column . 78) | ||||
|   (eval . (progn | ||||
| 	    (c-set-offset 'case-label '0) | ||||
| 	    (c-set-offset 'innamespace '0) | ||||
| 	    (c-set-offset 'inline-open '0))) | ||||
|   (whitespace-style face indentation) | ||||
|   (whitespace-line-column . 79) | ||||
|   (eval ignore-errors | ||||
|         (require 'whitespace) | ||||
|         (whitespace-mode 1))) | ||||
|  (makefile-mode (indent-tabs-mode . t)) | ||||
|   ) | ||||
|  ) | ||||
|   | ||||
| @@ -1,40 +0,0 @@ | ||||
| # To use this config on you editor, follow the instructions at: | ||||
| # http://editorconfig.org | ||||
|  | ||||
| root = true | ||||
|  | ||||
| [*] | ||||
| charset = utf-8 | ||||
| insert_final_newline = true | ||||
| tab_width = 8 | ||||
|  | ||||
| [*.{c,h,cpp,hpp,cc,hh}] | ||||
| indent_style = space | ||||
| indent_size = 3 | ||||
| max_line_length = 78 | ||||
|  | ||||
| [{Makefile*,*.mk}] | ||||
| indent_style = tab | ||||
|  | ||||
| [{*.py,SCons*}] | ||||
| indent_style = space | ||||
| indent_size = 4 | ||||
|  | ||||
| [*.pl] | ||||
| indent_style = space | ||||
| indent_size = 4 | ||||
|  | ||||
| [*.m4] | ||||
| indent_style = space | ||||
| indent_size = 2 | ||||
|  | ||||
| [*.yml] | ||||
| indent_style = space | ||||
| indent_size = 2 | ||||
|  | ||||
| [*.patch] | ||||
| trim_trailing_whitespace = false | ||||
|  | ||||
| [meson.build,meson_options.txt] | ||||
| indent_style = space | ||||
| indent_size = 2 | ||||
							
								
								
									
										8
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -7,20 +7,17 @@ | ||||
| *.log | ||||
| *.o | ||||
| *.obj | ||||
| *.orig | ||||
| *.os | ||||
| *.pc | ||||
| *.pdb | ||||
| *.pyc | ||||
| *.pyo | ||||
| *.rej | ||||
| *.so | ||||
| *.so.* | ||||
| *.sw[a-z] | ||||
| *.tar | ||||
| *.tar.bz2 | ||||
| *.tar.gz | ||||
| *.tar.xz | ||||
| *.trs | ||||
| *.zip | ||||
| *~ | ||||
| @@ -36,7 +33,6 @@ aclocal.m4 | ||||
| config.log | ||||
| config.status | ||||
| cscope* | ||||
| tags | ||||
| .scon* | ||||
| config.py | ||||
| build | ||||
| @@ -48,7 +44,3 @@ manifest.txt | ||||
| .libs/ | ||||
| Makefile | ||||
| Makefile.in | ||||
| .install-mesa-links | ||||
| .install-gallium-links | ||||
| /src/git_sha1.h | ||||
| TAGS | ||||
|   | ||||
							
								
								
									
										499
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							
							
						
						
									
										499
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							| @@ -1,499 +0,0 @@ | ||||
| # This is the tag of the docker image used for the build jobs. If the | ||||
| # image doesn't exist yet, the containers-build stage generates it. | ||||
| # | ||||
| # In order to generate a new image, one should generally change the tag. | ||||
| # While removing the image from the registry would also work, that's not | ||||
| # recommended except for ephemeral images during development: Replacing | ||||
| # an image after a significant amount of time might pull in newer | ||||
| # versions of gcc/clang or other packages, which might break the build | ||||
| # with older commits using the same tag. | ||||
| # | ||||
| # After merging a change resulting in generating a new image to the | ||||
| # main repository, it's recommended to remove the image from the source | ||||
| # repository's container registry, so that the image from the main | ||||
| # repository's registry will be used there as well. | ||||
| # | ||||
| # The format of the tag is "%Y-%m-%d-${counter}" where ${counter} stays | ||||
| # at "01" unless you have multiple updates on the same day :) | ||||
| variables: | ||||
|   UBUNTU_TAG: 2019-02-12-01 | ||||
|   UBUNTU_IMAGE: "$CI_REGISTRY_IMAGE/ubuntu:$UBUNTU_TAG" | ||||
|   UBUNTU_IMAGE_MAIN: "registry.freedesktop.org/mesa/mesa/ubuntu:$UBUNTU_TAG" | ||||
|  | ||||
| cache: | ||||
|   paths: | ||||
|     - ccache | ||||
|  | ||||
| stages: | ||||
|   - containers-build | ||||
|   - build+test | ||||
|  | ||||
|  | ||||
| # When to automatically run the CI | ||||
| .ci-run-policy: | ||||
|   only: | ||||
|     - master | ||||
|     - merge_requests | ||||
|     - /^ci([-/].*)?$/ | ||||
|  | ||||
|  | ||||
| # CONTAINERS | ||||
|  | ||||
| containers:ubuntu: | ||||
|   extends: .ci-run-policy | ||||
|   stage: containers-build | ||||
|   image: docker:stable | ||||
|   services: | ||||
|     - docker:dind | ||||
|   variables: | ||||
|     DOCKER_HOST: tcp://docker:2375 | ||||
|     DOCKER_DRIVER: overlay2 | ||||
|   script: | ||||
|     # Enable experimental features such as `docker manifest inspect` | ||||
|     - mkdir -p ~/.docker | ||||
|     - "echo '{\"experimental\": \"enabled\"}' > ~/.docker/config.json" | ||||
|     - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY | ||||
|     # Check if the image (with the specific tag) already exists | ||||
|     - docker manifest inspect $UBUNTU_IMAGE && exit || true | ||||
|     # Try to re-use the image from the main repository's registry | ||||
|     - docker image pull $UBUNTU_IMAGE_MAIN && | ||||
|       docker image tag $UBUNTU_IMAGE_MAIN $UBUNTU_IMAGE && | ||||
|       docker image push $UBUNTU_IMAGE && exit || true | ||||
|     - docker build -t $UBUNTU_IMAGE -f .gitlab-ci/Dockerfile.ubuntu . | ||||
|     - docker push $UBUNTU_IMAGE | ||||
|  | ||||
|  | ||||
| # BUILD | ||||
|  | ||||
| .build: | ||||
|   extends: .ci-run-policy | ||||
|   image: $UBUNTU_IMAGE | ||||
|   stage: build+test | ||||
|   artifacts: | ||||
|     when: on_failure | ||||
|     untracked: true | ||||
|   # Use ccache transparently, and print stats before/after | ||||
|   before_script: | ||||
|     - export PATH="/usr/lib/ccache:$PATH" | ||||
|     - export CCACHE_BASEDIR="$PWD" | ||||
|     - export CCACHE_DIR="$PWD/ccache" | ||||
|     - export CCACHE_COMPILERCHECK=content | ||||
|     - ccache --zero-stats || true | ||||
|     - ccache --show-stats || true | ||||
|   after_script: | ||||
|     - export CCACHE_DIR="$PWD/ccache" | ||||
|     - ccache --show-stats | ||||
|  | ||||
| .meson-build: | ||||
|   extends: .build | ||||
|   script: | ||||
|     # We need to control the version of llvm-config we're using, so we'll | ||||
|     # generate a native file to do so. This requires meson >=0.49 | ||||
|     - if test -n "$LLVM_VERSION"; then | ||||
|         LLVM_CONFIG="llvm-config-${LLVM_VERSION}"; | ||||
|         echo -e "[binaries]\nllvm-config = '`which $LLVM_CONFIG`'" > native.file; | ||||
|         $LLVM_CONFIG --version; | ||||
|       else | ||||
|         touch native.file; | ||||
|       fi | ||||
|     - meson --version | ||||
|     - meson _build | ||||
|             --native-file=native.file | ||||
|             -D build-tests=true | ||||
|             -D libunwind=${UNWIND} | ||||
|             ${DRI_LOADERS} | ||||
|             -D dri-drivers=${DRI_DRIVERS:-[]} | ||||
|             ${GALLIUM_ST} | ||||
|             -D gallium-drivers=${GALLIUM_DRIVERS:-[]} | ||||
|             -D vulkan-drivers=${VULKAN_DRIVERS:-[]} | ||||
|     - cd _build | ||||
|     - meson configure | ||||
|     - ninja -j4 | ||||
|     - ninja test | ||||
|  | ||||
| .make-build: | ||||
|   extends: .build | ||||
|   variables: | ||||
|     MAKEFLAGS: "-j4" | ||||
|   script: | ||||
|     - if test -n "$LLVM_VERSION"; then | ||||
|         export LLVM_CONFIG="llvm-config-${LLVM_VERSION}"; | ||||
|       fi | ||||
|     - mkdir build | ||||
|     - cd build | ||||
|     - ../autogen.sh | ||||
|         --enable-autotools | ||||
|         --enable-debug | ||||
|         $LIBUNWIND_FLAGS | ||||
|         $DRI_LOADERS | ||||
|         --with-dri-drivers=$DRI_DRIVERS | ||||
|         $GALLIUM_ST | ||||
|         --with-gallium-drivers=$GALLIUM_DRIVERS | ||||
|         --with-vulkan-drivers=$VULKAN_DRIVERS | ||||
|         --disable-llvm-shared-libs | ||||
|     - make | ||||
|     - eval $MAKE_CHECK_COMMAND | ||||
|  | ||||
| .scons-build: | ||||
|   extends: .build | ||||
|   variables: | ||||
|     SCONSFLAGS: "-j4" | ||||
|   script: | ||||
|     - if test -n "$LLVM_VERSION"; then | ||||
|         export LLVM_CONFIG="llvm-config-${LLVM_VERSION}"; | ||||
|       fi | ||||
|     - scons $SCONS_TARGET | ||||
|     - eval $SCONS_CHECK_COMMAND | ||||
|  | ||||
| build:meson-vulkan: | ||||
|   extends: .meson-build | ||||
|   variables: | ||||
|     UNWIND: "false" | ||||
|     DRI_LOADERS: > | ||||
|       -D glx=disabled | ||||
|       -D gbm=false | ||||
|       -D egl=false | ||||
|       -D platforms=x11,wayland,drm | ||||
|       -D osmesa=none | ||||
|     GALLIUM_ST: > | ||||
|       -D dri3=true | ||||
|       -D gallium-vdpau=false | ||||
|       -D gallium-xvmc=false | ||||
|       -D gallium-omx=disabled | ||||
|       -D gallium-va=false | ||||
|       -D gallium-xa=false | ||||
|       -D gallium-nine=false | ||||
|       -D gallium-opencl=disabled | ||||
|     VULKAN_DRIVERS: intel,amd | ||||
|     LLVM_VERSION: "7" | ||||
|  | ||||
| build:meson-loader-classic-dri: | ||||
|   extends: .meson-build | ||||
|   variables: | ||||
|     UNWIND: "false" | ||||
|     DRI_LOADERS: > | ||||
|       -D glx=dri | ||||
|       -D gbm=true | ||||
|       -D egl=true | ||||
|       -D platforms=x11,wayland,drm,surfaceless | ||||
|       -D osmesa=classic | ||||
|     DRI_DRIVERS: "i915,i965,r100,r200,swrast,nouveau" | ||||
|     GALLIUM_ST: > | ||||
|       -D dri3=true | ||||
|       -D gallium-vdpau=false | ||||
|       -D gallium-xvmc=false | ||||
|       -D gallium-omx=disabled | ||||
|       -D gallium-va=false | ||||
|       -D gallium-xa=false | ||||
|       -D gallium-nine=false | ||||
|       -D gallium-opencl=disabled | ||||
|  | ||||
| build:meson-glvnd: | ||||
|   extends: .meson-build | ||||
|   variables: | ||||
|     UNWIND: "true" | ||||
|     DRI_LOADERS: > | ||||
|       -D glvnd=true | ||||
|       -D egl=true | ||||
|       -D gbm=true | ||||
|       -D glx=dri | ||||
|     DRI_DRIVERS: "i965" | ||||
|     GALLIUM_ST: > | ||||
|       -D gallium-vdpau=false | ||||
|       -D gallium-xvmc=false | ||||
|       -D gallium-omx=disabled | ||||
|       -D gallium-va=false | ||||
|       -D gallium-xa=false | ||||
|       -D gallium-nine=false | ||||
|       -D gallium-opencl=disabled | ||||
|  | ||||
| # NOTE: Building SWR is 2x (yes two) times slower than all the other | ||||
| # gallium drivers combined. | ||||
| # Start this early so that it doesn't hunder the run time. | ||||
| build:meson-gallium-swr: | ||||
|   extends: .meson-build | ||||
|   variables: | ||||
|     UNWIND: "true" | ||||
|     DRI_LOADERS: > | ||||
|       -D glx=disabled | ||||
|       -D egl=false | ||||
|       -D gbm=false | ||||
|     GALLIUM_ST: > | ||||
|       -D dri3=false | ||||
|       -D gallium-vdpau=false | ||||
|       -D gallium-xvmc=false | ||||
|       -D gallium-omx=disabled | ||||
|       -D gallium-va=false | ||||
|       -D gallium-xa=false | ||||
|       -D gallium-nine=false | ||||
|       -D gallium-opencl=disabled | ||||
|     GALLIUM_DRIVERS: "swr" | ||||
|     LLVM_VERSION: "6.0" | ||||
|  | ||||
| build:meson-gallium-radeonsi: | ||||
|   extends: .meson-build | ||||
|   variables: | ||||
|     UNWIND: "true" | ||||
|     DRI_LOADERS: > | ||||
|       -D glx=disabled | ||||
|       -D egl=false | ||||
|       -D gbm=false | ||||
|     GALLIUM_ST: > | ||||
|       -D dri3=false | ||||
|       -D gallium-vdpau=false | ||||
|       -D gallium-xvmc=false | ||||
|       -D gallium-omx=disabled | ||||
|       -D gallium-va=false | ||||
|       -D gallium-xa=false | ||||
|       -D gallium-nine=false | ||||
|       -D gallium-opencl=disabled | ||||
|     GALLIUM_DRIVERS: "radeonsi" | ||||
|     LLVM_VERSION: "7" | ||||
|  | ||||
| build:meson-gallium-drivers-other: | ||||
|   extends: .meson-build | ||||
|   variables: | ||||
|     UNWIND: "true" | ||||
|     DRI_LOADERS: > | ||||
|       -D glx=disabled | ||||
|       -D egl=false | ||||
|       -D gbm=false | ||||
|     GALLIUM_ST: > | ||||
|       -D dri3=false | ||||
|       -D gallium-vdpau=false | ||||
|       -D gallium-xvmc=false | ||||
|       -D gallium-omx=disabled | ||||
|       -D gallium-va=false | ||||
|       -D gallium-xa=false | ||||
|       -D gallium-nine=false | ||||
|       -D gallium-opencl=disabled | ||||
|     GALLIUM_DRIVERS: "i915,iris,nouveau,kmsro,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv" | ||||
|     LLVM_VERSION: "5.0" | ||||
|  | ||||
| build:meson-gallium-clover-llvm5: | ||||
|   extends: .meson-build | ||||
|   variables: | ||||
|     UNWIND: "true" | ||||
|     DRI_LOADERS: > | ||||
|       -D glx=disabled | ||||
|       -D egl=false | ||||
|       -D gbm=false | ||||
|     GALLIUM_ST: > | ||||
|       -D dri3=false | ||||
|       -D gallium-vdpau=false | ||||
|       -D gallium-xvmc=false | ||||
|       -D gallium-omx=disabled | ||||
|       -D gallium-va=false | ||||
|       -D gallium-xa=false | ||||
|       -D gallium-nine=false | ||||
|       -D gallium-opencl=icd | ||||
|     GALLIUM_DRIVERS: "r600" | ||||
|     LLVM_VERSION: "5.0" | ||||
|  | ||||
| build:meson-gallium-clover-llvm6: | ||||
|   extends: build:meson-gallium-clover-llvm5 | ||||
|   variables: | ||||
|     LLVM_VERSION: "6.0" | ||||
|  | ||||
| build:meson-gallium-clover-llvm7: | ||||
|   extends: build:meson-gallium-clover-llvm5 | ||||
|   variables: | ||||
|     GALLIUM_DRIVERS: "r600,radeonsi" | ||||
|     LLVM_VERSION: "7" | ||||
|  | ||||
| build:meson-gallium-st-other: | ||||
|   extends: .meson-build | ||||
|   variables: | ||||
|     UNWIND: "true" | ||||
|     DRI_LOADERS: > | ||||
|       -D glx=disabled | ||||
|       -D egl=false | ||||
|       -D gbm=false | ||||
|     GALLIUM_ST: > | ||||
|       -D dri3=true | ||||
|       -D gallium-vdpau=true | ||||
|       -D gallium-xvmc=true | ||||
|       -D gallium-omx=bellagio | ||||
|       -D gallium-va=true | ||||
|       -D gallium-xa=true | ||||
|       -D gallium-nine=true | ||||
|       -D gallium-opencl=disabled | ||||
|       -D osmesa=gallium | ||||
|     GALLIUM_DRIVERS: "nouveau,swrast" | ||||
|     LLVM_VERSION: "5.0" | ||||
|  | ||||
| build:make-vulkan: | ||||
|   extends: .make-build | ||||
|   variables: | ||||
|     MAKE_CHECK_COMMAND: "make -C src/gtest check && make -C src/intel check" | ||||
|     LLVM_VERSION: "7" | ||||
|     DRI_LOADERS: > | ||||
|       --disable-glx | ||||
|       --disable-gbm | ||||
|       --disable-egl | ||||
|       --with-platforms=x11,wayland,drm | ||||
|     DRI_DRIVERS: "" | ||||
|     GALLIUM_ST: > | ||||
|       --enable-dri | ||||
|       --enable-dri3 | ||||
|       --disable-opencl | ||||
|       --disable-xa | ||||
|       --disable-nine | ||||
|       --disable-xvmc | ||||
|       --disable-vdpau | ||||
|       --disable-va | ||||
|       --disable-omx-bellagio | ||||
|       --disable-gallium-osmesa | ||||
|     VULKAN_DRIVERS: intel,radeon | ||||
|     LIBUNWIND_FLAGS: --disable-libunwind | ||||
|  | ||||
| build:make-loader-classic-dri: | ||||
|   extends: .make-build | ||||
|   variables: | ||||
|     MAKE_CHECK_COMMAND: "make check" | ||||
|     DRI_LOADERS: > | ||||
|       --enable-glx | ||||
|       --enable-gbm | ||||
|       --enable-egl | ||||
|       --with-platforms=x11,wayland,drm,surfaceless | ||||
|       --enable-osmesa | ||||
|     DRI_DRIVERS: "i915,i965,radeon,r200,swrast,nouveau" | ||||
|     GALLIUM_ST: > | ||||
|       --enable-dri | ||||
|       --disable-opencl | ||||
|       --disable-xa | ||||
|       --disable-nine | ||||
|       --disable-xvmc | ||||
|       --disable-vdpau | ||||
|       --disable-va | ||||
|       --disable-omx-bellagio | ||||
|       --disable-gallium-osmesa | ||||
|     LIBUNWIND_FLAGS: --disable-libunwind | ||||
|  | ||||
| # NOTE: Building SWR is 2x (yes two) times slower than all the other | ||||
| # gallium drivers combined. | ||||
| # Start this early so that it doesn't hunder the run time. | ||||
| build:make-gallium-drivers-swr: | ||||
|   extends: .make-build | ||||
|   variables: | ||||
|     MAKE_CHECK_COMMAND: "true" | ||||
|     LLVM_VERSION: "6.0" | ||||
|     DRI_LOADERS: > | ||||
|       --disable-glx | ||||
|       --disable-gbm | ||||
|       --disable-egl | ||||
|     GALLIUM_ST: > | ||||
|       --enable-dri | ||||
|       --disable-opencl | ||||
|       --disable-xa | ||||
|       --disable-nine | ||||
|       --disable-xvmc | ||||
|       --disable-vdpau | ||||
|       --disable-va | ||||
|       --disable-omx-bellagio | ||||
|       --disable-gallium-osmesa | ||||
|     GALLIUM_DRIVERS: "swr" | ||||
|     LIBUNWIND_FLAGS: --enable-libunwind | ||||
|  | ||||
| build:make-gallium-drivers-radeonsi: | ||||
|   extends: build:make-gallium-drivers-swr | ||||
|   variables: | ||||
|     LLVM_VERSION: "7" | ||||
|     GALLIUM_DRIVERS: "radeonsi" | ||||
|  | ||||
| build:make-gallium-drivers-other: | ||||
|   extends: build:make-gallium-drivers-swr | ||||
|   variables: | ||||
|     LLVM_VERSION: "3.9" | ||||
|     GALLIUM_DRIVERS: "i915,nouveau,kmsro,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv" | ||||
|  | ||||
| build:make-gallium-st-clover-llvm-39: | ||||
|   extends: .make-build | ||||
|   variables: | ||||
|     MAKE_CHECK_COMMAND: "true" | ||||
|     LLVM_VERSION: "3.9" | ||||
|     DRI_LOADERS: > | ||||
|       --disable-glx | ||||
|       --disable-gbm | ||||
|       --disable-egl | ||||
|     GALLIUM_ST: > | ||||
|       --disable-dri | ||||
|       --enable-opencl | ||||
|       --enable-opencl-icd | ||||
|       --enable-llvm | ||||
|       --disable-xa | ||||
|       --disable-nine | ||||
|       --disable-xvmc | ||||
|       --disable-vdpau | ||||
|       --disable-va | ||||
|       --disable-omx-bellagio | ||||
|       --disable-gallium-osmesa | ||||
|     GALLIUM_DRIVERS: "r600" | ||||
|     LIBUNWIND_FLAGS: --enable-libunwind | ||||
|  | ||||
| build:make-gallium-st-clover-llvm-4: | ||||
|   extends: build:make-gallium-st-clover-llvm-39 | ||||
|   variables: | ||||
|     LLVM_VERSION: "4.0" | ||||
|  | ||||
| build:make-gallium-st-clover-llvm-5: | ||||
|   extends: build:make-gallium-st-clover-llvm-39 | ||||
|   variables: | ||||
|     LLVM_VERSION: "5.0" | ||||
|  | ||||
| build:make-gallium-st-clover-llvm-6: | ||||
|   extends: build:make-gallium-st-clover-llvm-39 | ||||
|   variables: | ||||
|     LLVM_VERSION: "6.0" | ||||
|  | ||||
| build:make-gallium-st-clover-llvm-7: | ||||
|   extends: build:make-gallium-st-clover-llvm-39 | ||||
|   variables: | ||||
|     LLVM_VERSION: "7" | ||||
|     GALLIUM_DRIVERS: "r600,radeonsi" | ||||
|  | ||||
| build:make-gallium-st-other: | ||||
|   extends: .make-build | ||||
|   variables: | ||||
|     MAKE_CHECK_COMMAND: "true" | ||||
|     # We should be testing 3.3, but 3.9 is the oldest that still exists in ubuntu | ||||
|     LLVM_VERSION: "3.9" | ||||
|     DRI_LOADERS: > | ||||
|       --disable-glx | ||||
|       --disable-gbm | ||||
|       --disable-egl | ||||
|     GALLIUM_ST: > | ||||
|       --enable-dri | ||||
|       --disable-opencl | ||||
|       --enable-xa | ||||
|       --enable-nine | ||||
|       --enable-xvmc | ||||
|       --enable-vdpau | ||||
|       --enable-va | ||||
|       --enable-omx-bellagio | ||||
|       --enable-gallium-osmesa | ||||
|     # We need swrast for osmesa and nine. | ||||
|     # i915 most likely doesn't work with most ST. | ||||
|     # Regardless - we're doing a quick build test here. | ||||
|     GALLIUM_DRIVERS: "i915,swrast" | ||||
|     LIBUNWIND_FLAGS: --enable-libunwind | ||||
|  | ||||
| build:scons-nollvm: | ||||
|   extends: .scons-build | ||||
|   variables: | ||||
|     SCONS_TARGET: "llvm=0" | ||||
|     SCONS_CHECK_COMMAND: "scons llvm=0 check" | ||||
|  | ||||
| build:scons-llvm: | ||||
|   extends: .scons-build | ||||
|   variables: | ||||
|     SCONS_TARGET: "llvm=1" | ||||
|     SCONS_CHECK_COMMAND: "scons llvm=1 check" | ||||
|     LLVM_VERSION: "3.9" | ||||
|  | ||||
| build:scons-swr: | ||||
|   extends: .scons-build | ||||
|   variables: | ||||
|     SCONS_TARGET: "swr=1" | ||||
|     SCONS_CHECK_COMMAND: "true" | ||||
|     LLVM_VERSION: "6.0" | ||||
| @@ -1,165 +0,0 @@ | ||||
| FROM ubuntu:bionic | ||||
|  | ||||
| RUN apt-get update | ||||
| RUN apt-get upgrade -y | ||||
| RUN apt-get install -y \ | ||||
|       curl \ | ||||
|       wget \ | ||||
|       gnupg \ | ||||
|       software-properties-common | ||||
|  | ||||
| RUN curl -fsSL https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - | ||||
| RUN add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-7 main" | ||||
|  | ||||
| RUN apt-get update | ||||
| RUN apt-get install -y \ | ||||
|       pkg-config \ | ||||
|       libdrm-dev \ | ||||
|       libpciaccess-dev \ | ||||
|       libxrandr-dev \ | ||||
|       libxdamage-dev \ | ||||
|       libxfixes-dev \ | ||||
|       libxshmfence-dev \ | ||||
|       libxxf86vm-dev \ | ||||
|       libvdpau-dev \ | ||||
|       libva-dev \ | ||||
|       llvm-3.9-dev \ | ||||
|       libclang-3.9-dev \ | ||||
|       llvm-4.0-dev \ | ||||
|       libclang-4.0-dev \ | ||||
|       llvm-5.0-dev \ | ||||
|       llvm-6.0-dev \ | ||||
|       llvm-7-dev \ | ||||
|       clang-5.0 \ | ||||
|       libclang-5.0-dev \ | ||||
|       clang-6.0 \ | ||||
|       libclang-6.0-dev \ | ||||
|       clang-7 \ | ||||
|       libclang-7-dev \ | ||||
|       libclc-dev \ | ||||
|       libxvmc-dev \ | ||||
|       libomxil-bellagio-dev \ | ||||
|       xz-utils \ | ||||
|       libexpat1-dev \ | ||||
|       libx11-xcb-dev \ | ||||
|       x11proto-xf86vidmode-dev \ | ||||
|       libelf-dev \ | ||||
|       libunwind8-dev \ | ||||
|       libglvnd-dev \ | ||||
|       python2.7 \ | ||||
|       python-pip \ | ||||
|       python-setuptools \ | ||||
|       python3.5 \ | ||||
|       python3-pip \ | ||||
|       python3-setuptools | ||||
|  | ||||
| RUN apt-get install -y \ | ||||
|       libxcb-randr0 | ||||
|  | ||||
| # autotools build deps | ||||
| RUN apt-get install -y \ | ||||
|       autoconf \ | ||||
|       automake \ | ||||
|       xutils-dev \ | ||||
|       libtool \ | ||||
|       bison \ | ||||
|       flex \ | ||||
|       gettext \ | ||||
|       make | ||||
|  | ||||
| # dependencies where we want a specific version | ||||
| ENV XORG_RELEASES              https://xorg.freedesktop.org/releases/individual | ||||
| ENV XCB_RELEASES               https://xcb.freedesktop.org/dist | ||||
| ENV WAYLAND_RELEASES           https://wayland.freedesktop.org/releases | ||||
|  | ||||
| ENV XORGMACROS_VERSION         util-macros-1.19.0 | ||||
| ENV GLPROTO_VERSION            glproto-1.4.17 | ||||
| ENV DRI2PROTO_VERSION          dri2proto-2.8 | ||||
| ENV LIBPCIACCESS_VERSION       libpciaccess-0.13.4 | ||||
| ENV LIBDRM_VERSION             libdrm-2.4.97 | ||||
| ENV XCBPROTO_VERSION           xcb-proto-1.13 | ||||
| ENV RANDRPROTO_VERSION         randrproto-1.3.0 | ||||
| ENV LIBXRANDR_VERSION          libXrandr-1.3.0 | ||||
| ENV LIBXCB_VERSION             libxcb-1.13 | ||||
| ENV LIBXSHMFENCE_VERSION       libxshmfence-1.3 | ||||
| ENV LIBVDPAU_VERSION           libvdpau-1.1 | ||||
| ENV LIBVA_VERSION              libva-1.7.0 | ||||
| ENV LIBWAYLAND_VERSION         wayland-1.15.0 | ||||
| ENV WAYLAND_PROTOCOLS_VERSION  wayland-protocols-1.8 | ||||
|  | ||||
| RUN wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2 | ||||
| RUN tar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2 | ||||
| RUN (cd $XORGMACROS_VERSION && ./configure && make install) && rm -rf $XORGMACROS_VERSION | ||||
|  | ||||
| RUN wget $XORG_RELEASES/proto/$GLPROTO_VERSION.tar.bz2 | ||||
| RUN tar -xvf $GLPROTO_VERSION.tar.bz2 && rm $GLPROTO_VERSION.tar.bz2 | ||||
| RUN (cd $GLPROTO_VERSION && ./configure && make install) && rm -rf $GLPROTO_VERSION | ||||
|  | ||||
| RUN wget $XORG_RELEASES/proto/$DRI2PROTO_VERSION.tar.bz2 | ||||
| RUN tar -xvf $DRI2PROTO_VERSION.tar.bz2 && rm $DRI2PROTO_VERSION.tar.bz2 | ||||
| RUN (cd $DRI2PROTO_VERSION && ./configure && make install) && rm -rf $DRI2PROTO_VERSION | ||||
|  | ||||
| RUN wget $XCB_RELEASES/$XCBPROTO_VERSION.tar.bz2 | ||||
| RUN tar -xvf $XCBPROTO_VERSION.tar.bz2 && rm $XCBPROTO_VERSION.tar.bz2 | ||||
| RUN (cd $XCBPROTO_VERSION && ./configure && make install) && rm -rf $XCBPROTO_VERSION | ||||
|  | ||||
| RUN wget $XCB_RELEASES/$LIBXCB_VERSION.tar.bz2 | ||||
| RUN tar -xvf $LIBXCB_VERSION.tar.bz2 && rm $LIBXCB_VERSION.tar.bz2 | ||||
| RUN (cd $LIBXCB_VERSION && ./configure && make install) && rm -rf $LIBXCB_VERSION | ||||
|  | ||||
| RUN wget $XORG_RELEASES/lib/$LIBPCIACCESS_VERSION.tar.bz2 | ||||
| RUN tar -xvf $LIBPCIACCESS_VERSION.tar.bz2 && rm $LIBPCIACCESS_VERSION.tar.bz2 | ||||
| RUN (cd $LIBPCIACCESS_VERSION && ./configure && make install) && rm -rf $LIBPCIACCESS_VERSION | ||||
|  | ||||
| RUN wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2 | ||||
| RUN tar -xvf $LIBDRM_VERSION.tar.bz2 && rm $LIBDRM_VERSION.tar.bz2 | ||||
| RUN (cd $LIBDRM_VERSION && ./configure --enable-vc4 --enable-freedreno --enable-etnaviv-experimental-api && make install) && rm -rf $LIBDRM_VERSION | ||||
|  | ||||
| RUN wget $XORG_RELEASES/proto/$RANDRPROTO_VERSION.tar.bz2 | ||||
| RUN tar -xvf $RANDRPROTO_VERSION.tar.bz2 && rm $RANDRPROTO_VERSION.tar.bz2 | ||||
| RUN (cd $RANDRPROTO_VERSION && ./configure && make install) && rm -rf $RANDRPROTO_VERSION | ||||
|  | ||||
| RUN wget $XORG_RELEASES/lib/$LIBXRANDR_VERSION.tar.bz2 | ||||
| RUN tar -xvf $LIBXRANDR_VERSION.tar.bz2 && rm $LIBXRANDR_VERSION.tar.bz2 | ||||
| RUN (cd $LIBXRANDR_VERSION && ./configure && make install) && rm -rf $LIBXRANDR_VERSION | ||||
|  | ||||
| RUN wget $XORG_RELEASES/lib/$LIBXSHMFENCE_VERSION.tar.bz2 | ||||
| RUN tar -xvf $LIBXSHMFENCE_VERSION.tar.bz2 && rm $LIBXSHMFENCE_VERSION.tar.bz2 | ||||
| RUN (cd $LIBXSHMFENCE_VERSION && ./configure && make install) && rm -rf $LIBXSHMFENCE_VERSION | ||||
|  | ||||
| RUN wget https://people.freedesktop.org/~aplattner/vdpau/$LIBVDPAU_VERSION.tar.bz2 | ||||
| RUN tar -xvf $LIBVDPAU_VERSION.tar.bz2 && rm $LIBVDPAU_VERSION.tar.bz2 | ||||
| RUN (cd $LIBVDPAU_VERSION && ./configure && make install) && rm -rf $LIBVDPAU_VERSION | ||||
|  | ||||
| RUN wget https://www.freedesktop.org/software/vaapi/releases/libva/$LIBVA_VERSION.tar.bz2 | ||||
| RUN tar -xvf $LIBVA_VERSION.tar.bz2 && rm $LIBVA_VERSION.tar.bz2 | ||||
| RUN (cd $LIBVA_VERSION && ./configure --disable-wayland --disable-dummy-driver && make install) && rm -rf $LIBVA_VERSION | ||||
|  | ||||
| RUN wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz | ||||
| RUN tar -xvf $LIBWAYLAND_VERSION.tar.xz && rm $LIBWAYLAND_VERSION.tar.xz | ||||
| RUN (cd $LIBWAYLAND_VERSION && ./configure --enable-libraries --without-host-scanner --disable-documentation --disable-dtd-validation && make install) && rm -rf $LIBWAYLAND_VERSION | ||||
|  | ||||
| RUN wget $WAYLAND_RELEASES/$WAYLAND_PROTOCOLS_VERSION.tar.xz | ||||
| RUN tar -xvf $WAYLAND_PROTOCOLS_VERSION.tar.xz && rm $WAYLAND_PROTOCOLS_VERSION.tar.xz | ||||
| RUN (cd $WAYLAND_PROTOCOLS_VERSION && ./configure && make install) && rm -rf $WAYLAND_PROTOCOLS_VERSION | ||||
|  | ||||
|  | ||||
| RUN apt-get install -y unzip | ||||
|  | ||||
| # Meson requires ninja >= 1.6, but xenial has 1.3.x | ||||
| RUN wget https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-linux.zip | ||||
| RUN unzip ninja-linux.zip && rm ninja-linux.zip | ||||
| RUN mv ninja /usr/bin/ | ||||
|  | ||||
|  | ||||
| RUN pip3 install 'meson>=0.49' | ||||
| RUN pip2 install 'scons>=2.4' | ||||
|  | ||||
| RUN pip2 install mako | ||||
| RUN pip3 install mako | ||||
|  | ||||
| # Use ccache to speed up builds | ||||
| RUN apt-get install -y ccache | ||||
|  | ||||
| # Cleanup workdir | ||||
| WORKDIR / | ||||
							
								
								
									
										474
									
								
								.mailmap
									
									
									
									
									
								
							
							
						
						
									
										474
									
								
								.mailmap
									
									
									
									
									
								
							| @@ -1,474 +0,0 @@ | ||||
| Aapo Tahkola <aet@rasterburn.org> <aapo@aapo-desktop.(none)> | ||||
|  | ||||
| Adam Jackson <ajax@redhat.com> <ajax@benzedrine.nwnk.net> | ||||
| Adam Jackson <ajax@redhat.com> <ajax@freedesktop.org> | ||||
|  | ||||
| Adrian Marius Negreanu <adrian.m.negreanu@intel.com> Adrian Negreanu <adrian.m.negreanu@intel.com> | ||||
| Adrian Marius Negreanu <adrian.m.negreanu@intel.com> Negreanu Marius Adrian <adrian.m.negreanu@intel.com> | ||||
|  | ||||
| Dave Airlie <airlied@redhat.com> <airliedfreedesktop.org> | ||||
| Dave Airlie <airlied@redhat.com> airlied <airlied@unused-12-215.bne.redhat.com> | ||||
| Dave Airlie <airlied@redhat.com> <airlied@dhcp-1-203.bne.redhat.com> | ||||
| Dave Airlie <airlied@redhat.com> <airlied@gmail.com> | ||||
| Dave Airlie <airlied@redhat.com> <airlied@itt42.(none)> | ||||
| Dave Airlie <airlied@redhat.com> <airlied@linux.ie> | ||||
| Dave Airlie <airlied@redhat.com> <airlied@nx6125b.(none)> | ||||
| Dave Airlie <airlied@redhat.com> <airlied@panoply-rh.(none)> | ||||
| Dave Airlie <airlied@redhat.com> <airlied@ppcg5.localdomain> | ||||
|  | ||||
| Alan Coopersmith <alan.coopersmith@oracle.com> <alan.coopersmith@sun.com> | ||||
|  | ||||
| Alan Hourihane <alanh@vmware.com> <alanh@tungstengraphics.com> | ||||
| Alan Hourihane <alanh@vmware.com> <alanh@fairlite.demon.co.uk> | ||||
| Alan Hourihane <alanh@vmware.com> <alanh@jetpack.(none)> | ||||
|  | ||||
| Alexander Monakov <amonakov@gmail.com> <amonakov@ispras.ru> | ||||
|  | ||||
| Alexander von Gluck IV <kallisti5@unixzen.com> Alexander von Gluck <kallisti5@unixzen.com> | ||||
|  | ||||
| Alex Corscadden <alexc@vmware.com> <alexc@alexc-dev1.prom.eng.vmware.com> | ||||
| Alex Corscadden <alexc@vmware.com> <alexc@alexc-dev1.vmware.com> | ||||
|  | ||||
| Alex Deucher <alexdeucher@gmail.com> <alexander.deucher@amd.com> | ||||
| Alex Deucher <alexdeucher@gmail.com> <agd5f@yahoo.com> | ||||
| Alex Deucher <alexdeucher@gmail.com> <alex@botch2.com> | ||||
| Alex Deucher <alexdeucher@gmail.com> <alex@botch2.(none)> | ||||
| Alex Deucher <alexdeucher@gmail.com> <alex@cube.(none)> | ||||
| Alex Deucher <alexdeucher@gmail.com> <alex@samba.(none)> | ||||
|  | ||||
| Andreas Fänger <a.faenger@e-sign.com> <a.faenger@e-sign.com> | ||||
|  | ||||
| Andreas Hartmetz <ahartmetz@gmail.com> <andreas.hartmetz@kdab.com> | ||||
|  | ||||
| Andre Heider <a.heider@gmail.com> | ||||
| Andreas Heider <andreas@heider.io> | ||||
|  | ||||
| Andreas Pokorny <andreas.pokorny@canonical.com> <andreas.pokorny@elektrobit.com> | ||||
|  | ||||
| Andrew Randrianasulu <randrianasulu@gmail.com> <randrik_a@yahoo.com> | ||||
| Andrew Randrianasulu <randrianasulu@gmail.com> <randrik@mail.ru> | ||||
|  | ||||
| Arthur Huillet <arthur.huillet@free.fr> Arthur HUILLET <arthur.huillet@free.fr> | ||||
|  | ||||
| Benjamin Franzke <benjaminfranzke@googlemail.com> ben <benjaminfranzke@googlemail.com> | ||||
|  | ||||
| Ben Skeggs <bskeggs@redhat.com> <darktama@beleth.(none)> | ||||
| Ben Skeggs <bskeggs@redhat.com> <darktama@iinet.net.au> | ||||
| Ben Skeggs <bskeggs@redhat.com> <darktama@nisroch.keine.ath.cx> | ||||
| Ben Skeggs <bskeggs@redhat.com> <skeggsb-at-gmail.com> | ||||
| Ben Skeggs <bskeggs@redhat.com> <skeggsb@gmail.com> | ||||
| Ben Skeggs <bskeggs@redhat.com> <skeggsb@localhost.localdomain> | ||||
| Ben Skeggs <bskeggs@redhat.com> <skeggsb@nisroch.keine.ath.cx> | ||||
|  | ||||
| Ben Widawsky <benjamin.widawsky@intel.com> Ben Widawsky <ben@bwidawsk.net> | ||||
|  | ||||
| Blair Sadewitz <blair.sadewitz@gmail.com> Blair Sadewitz <blair.sadewitz.gmail.com> | ||||
|  | ||||
| Boris Peterbarg <reist@users.sourceforge.net> reist <reist> | ||||
|  | ||||
| Brian Paul <brianp@vmware.com> Brian <brian.paul@tungstengraphics.com> | ||||
| Brian Paul <brianp@vmware.com> <brian.paul@tungstengraphics.com> | ||||
| Brian Paul <brianp@vmware.com> <brian.e.paul@gmail.com> | ||||
| Brian Paul <brianp@vmware.com> <brianp@kemper.freedesktop.org> | ||||
| Brian Paul <brianp@vmware.com> brian <brian@cvp965.(none)> | ||||
| Brian Paul <brianp@vmware.com> Brian <brian@i915.localnet.net> | ||||
| Brian Paul <brianp@vmware.com> Brian <brian@nostromo.localnet.net> | ||||
| Brian Paul <brianp@vmware.com> Brian <brian@poulsbo.localnet.net> | ||||
| Brian Paul <brianp@vmware.com> Brian <brian@ps3.localnet.net> | ||||
| Brian Paul <brianp@vmware.com> Brian <brianp@vmware.com> | ||||
| Brian Paul <brianp@vmware.com> Brian <brian@yutani.localnet.net> | ||||
| Brian Paul <brianp@vmware.com> root <brian.paul@tungstengraphics.com> | ||||
| Brian Paul <brianp@vmware.com> root <root@i915.localnet.net> | ||||
| Brian Paul <brianp@vmware.com> root <root@nostromo.localnet.net> | ||||
| Brian Paul <brianp@vmware.com> root <root@i965.localnet.net> | ||||
|  | ||||
| Bruce Merry <bmerry@users.sourceforge.net> <bmerry@gmail.com> | ||||
|  | ||||
| Carl-Philip Hänsch <cphaensch@googlemail.com> Carl-Philip Haensch <s3734770@mail.zih.tu-dresden.de> | ||||
| Carl-Philip Hänsch <cphaensch@googlemail.com> Carl-Philip Haensch <carli@carli-laptop.(none)> | ||||
| Carl-Philip Hänsch <cphaensch@googlemail.com> Carl-Philip Haensch <Carl-Philip.Haensch@mailbox.tu-dresden.de> | ||||
|  | ||||
| Chad Versace <chadversary@chromium.org> <chad@kiwitree.net> | ||||
| Chad Versace <chadversary@chromium.org> <chad@chad-versace.us> | ||||
| Chad Versace <chadversary@chromium.org> <Chad Versace chad@chad-versace.us> | ||||
| Chad Versace <chadversary@chromium.org> <chad.versace@intel.com> | ||||
| Chad Versace <chadversary@chromium.org> <chad.versace@linux.intel.com> | ||||
|  | ||||
| Chia-I Wu <olvaffe@gmail.com> <olv@lunarg.com> | ||||
| Chia-I Wu <olvaffe@gmail.com> Chia-Wu <olvaffe@gmail.com> | ||||
|  | ||||
| Chih-Wei Huang <cwhuang@linux.org.tw> Chih-Wei Huang <cwhuang@android-x86.org> | ||||
|  | ||||
| Christian König <christian.koenig@amd.com> Christian Koenig <christian.koenig@amd.com> | ||||
| Christian König <christian.koenig@amd.com> Christian König <christian.koenig at amd.com> | ||||
| Christian König <christian.koenig@amd.com> Christian König <deathsimple@vodafone.de> | ||||
|  | ||||
| Christoph Brill <egore911@egore911.de> Christoph Bill <egore@gmx.de> | ||||
| Christoph Brill <egore911@egore911.de> <egore@gmx.de> | ||||
|  | ||||
| Christoph Bumiller <christoph.bumiller@speed.at> <e0425955@student.tuwien.ac.at> | ||||
|  | ||||
| Christopher James Halse Rogers <christopher.halse.rogers@canonical.com> Christopher James Halse Rogers <raof@ubuntu.com> | ||||
|  | ||||
| Claudio Ciccani <klan@directfb.org> <klan@users.sf.net> | ||||
| Claudio Ciccani <klan@directfb.org> <klan@users.sourceforge.net> | ||||
|  | ||||
| Connor Abbott <cwabbott0@gmail.com> <connor.w.abbott@intel.com> | ||||
| Connor Abbott <cwabbott0@gmail.com> <connor.abbott@intel.com> | ||||
|  | ||||
| Corbin Simpson <MostAwesomeDude@gmail.com> <mostawesomed...@gmail.com> | ||||
| Corbin Simpson <MostAwesomeDude@gmail.com> <mostawesomedude@gmail.com> | ||||
|  | ||||
| Courtney Goeltzenleuchter <courtney@lunarg.com> <courtney@LunarG.com> | ||||
|  | ||||
| Daniel Skinner <sio@users.sourceforge.net> sio <sio> | ||||
|  | ||||
| Daniel Stone <daniels@collabora.com> <daniel@fooishbar.org> | ||||
|  | ||||
| David Miller <davem@davemloft.net> David S. Miller <davem@davemloft.net> | ||||
| David Miller <davem@davemloft.net> Dave Miller <davem@davemloft.net> | ||||
| David Miller <davem@davemloft.net> davem69 <davem69> | ||||
|  | ||||
| David Heidelberger <david.heidelberger@ixit.cz> David Heidelberg <david@ixit.cz> | ||||
| David Heidelberger <david.heidelberger@ixit.cz> <d.okias@gmail.com> | ||||
|  | ||||
| David Reveman <reveman@chromium.org> <c99drn@cs.umu.se> | ||||
|  | ||||
| Dieter Nützel <Dieter@nuetzel-hh.de> Dieter Nützel <dieter@nuetzel-hh.de> | ||||
|  | ||||
| Dmitry Cherkassov <dcherkassov@gmail.com> Dmitry Cherkasov <dcherkassov@gmail.com> | ||||
|  | ||||
| Dylan Baker <dylanx.c.baker@intel.com> <baker.dylan.c@gmail.com> | ||||
|  | ||||
| Edward O'Callaghan <funfunctor@folklore1984.net> <eocallaghan@alterapraxis.com> | ||||
|  | ||||
| Emeric Grange <emeric.grange@gmail.com> Emeric <emeric.grange@gmail.com> | ||||
|  | ||||
| Emil Velikov <emil.l.velikov@gmail.com> <emil.velikov@collabora.com> | ||||
| Emil Velikov <emil.l.velikov@gmail.com> <emil.veliko@collabora.com> | ||||
| Emil Velikov <emil.l.velikov@gmail.com> <emil.velikov@collabora.co.uk> | ||||
| Emil Velikov <emil.l.velikov@gmail.com> <emil.veliikov@collabora.com> | ||||
| Emil Velikov <emil.l.velikov@gmail.com> <emil.velikov@gmail.com> | ||||
| Emil Velikov <emil.l.velikov@gmail.com> <emmil.velikov@collabora.com> | ||||
|  | ||||
| Eric Anholt <eric@anholt.net> Eric Anholt <anholt@FreeBSD.org> | ||||
|  | ||||
| Eric Engestrom <eric@engestrom.ch> <eric.engestrom@imgtec.com> | ||||
|  | ||||
| Eugeni Dodonov <eugeni.dodonov@intel.com> <eugeni@mandriva.com> | ||||
|  | ||||
| Fabian Bieler <der.fabe@gmx.net> <fabianbieler@fastmail.fm> | ||||
| Fabian Bieler <der.fabe@gmx.net> <<der.fabe@gmx.net>> | ||||
|  | ||||
| Feng, Haitao <haitao.feng@intel.com> Haitao Feng <haitao.feng@intel.com> | ||||
|  | ||||
| Frank Henigman <fjhenigman@google.com> <fjhenigman@chromium.org> | ||||
|  | ||||
| George Sapountzis <gsapountzis@gmail.com> George Sapountzis <gsap7@yahoo.gr> | ||||
|  | ||||
| Gwenole Beauchesne <gwenole.beauchesne@intel.com> <gb.devel@gmail.com> | ||||
|  | ||||
| Hamish Marson <hmarson@users.sourceforge.net> hmarson <hmarson> | ||||
|  | ||||
| Hans de Goede <hdegoede@redhat.com> Hans de Goede <j.w..r..degoede@hhs.nl> | ||||
|  | ||||
| Homer Hsing <dongsheng.xing@intel.com> <homer.hsing@gmail.com> | ||||
|  | ||||
| Hui Qi Tay <hqtay@vmware.com> <tayhuiqithq@gmail.com> | ||||
|  | ||||
| Ian Romanick <ian.d.romanick@intel.com> <idr@freedesktop.org> | ||||
| Ian Romanick <ian.d.romanick@intel.com> <idr@us.ibm.com> | ||||
|  | ||||
| Jakob Bornecrantz <wallbraker@gmail.com> <jakob@vmware.com> | ||||
| Jakob Bornecrantz <wallbraker@gmail.com> <jakob@aurora.(none)> | ||||
| Jakob Bornecrantz <wallbraker@gmail.com> <jakob@aurora.walkyrie.se> | ||||
| Jakob Bornecrantz <wallbraker@gmail.com> <jakob@tungstengraphics.com> | ||||
| Jakob Bornecrantz <wallbraker@gmail.com> <wallbraker 'at' gmail 'dot' com> | ||||
|  | ||||
| Jakub Bogusz <qboosh@pld-linux.org> <gboosh@pld-linux.org> | ||||
|  | ||||
| James Legg <jlegg@feralinteractive.com> <lankyleggy@gmail.com> | ||||
|  | ||||
| Jan Vesely <jano.vesely@gmail.com> Jan Vesely <jan.vesely@rutgers.edu> | ||||
|  | ||||
| Jason Ekstrand <jason@jlekstrand.net> <jason.ekstrand@intel.com> | ||||
|  | ||||
| Jeremy Huddleston <jeremyhu@apple.com> <jeremyhu@freedesktop.org> | ||||
| Jeremy Huddleston <jeremyhu@apple.com> <jeremy@tifa.local> | ||||
| Jeremy Huddleston <jeremyhu@apple.com> <jeremy@vincent.local> | ||||
| Jeremy Huddleston <jeremyhu@apple.com> <jeremy@yuffie.local> | ||||
| Jeremy Huddleston <jeremyhu@apple.com> Jeremy Huddleston Sequoia <jeremyhu@apple.com> | ||||
|  | ||||
| Jeremy Kolb <jkolb@freedesktop.org> <jkolb@brandeis.edu> | ||||
|  | ||||
| Jerome Glisse <jglisse@redhat.com> <glisse@freedesktop.org> | ||||
| Jerome Glisse <jglisse@redhat.com> <glisse@kemper.freedesktop.org> | ||||
| Jerome Glisse <jglisse@redhat.com> John Doe <glisse@barney.(none)> | ||||
| Jerome Glisse <jglisse@redhat.com> John Doe <glisse@localhost.localdomain> | ||||
|  | ||||
| Jesse Barnes <jesse.barnes@intel.com> <jbarnes@hobbes.lan> | ||||
| Jesse Barnes <jesse.barnes@intel.com> <jbarnes@hobbes.(none)> | ||||
| Jesse Barnes <jesse.barnes@intel.com> <jbarnes@jbarnes-desktop.localdomain> | ||||
| Jesse Barnes <jesse.barnes@intel.com> <jbarnes@jbarnes-t61.(none)> | ||||
| Jesse Barnes <jesse.barnes@intel.com> <jbarnes@virtuousgeek.org> | ||||
|  | ||||
| Joakim Sindholt <bacn@zhasha.com> <opensource@zhasha.com> | ||||
| Joakim Sindholt <bacn@zhasha.com> <zhasha@gallium-dev.(none)> | ||||
|  | ||||
| Jochen Gerlach <jtg@users.sourceforge.net> jtg <jtg> | ||||
|  | ||||
| Joel Bosveld <joel.bosveld@gmail.com> <Joel.Bosveld@gmail.com> | ||||
|  | ||||
| Jonathan Adamczewski <jadamcze@utas.edu.au> <jadamcze@utas.edu.a> | ||||
|  | ||||
| Jon Turney <jon.turney@dronecode.org.uk> Jon TURNEY <jon.turney@dronecode.org.uk> | ||||
|  | ||||
| José Fonseca <jfonseca@vmware.com> Jose Fonseca <jfonseca@vmware.com> | ||||
| José Fonseca <jfonseca@vmware.com> Jose Fonseca <jrfonseca@tungstengraphics.com> | ||||
| José Fonseca <jfonseca@vmware.com> <jfonseca@pegasus.(none)> | ||||
| José Fonseca <jfonseca@vmware.com> <jfonseca@titan.(none)> | ||||
| José Fonseca <jfonseca@vmware.com> <jose.r.fonseca@gmail.com> | ||||
| José Fonseca <jfonseca@vmware.com> <jrfonseca@tungstengraphics.com> | ||||
| José Fonseca <jfonseca@vmware.com> <j_r_fonseca@yahoo.co.uk> | ||||
|  | ||||
| Jouk Jansen <joukj@hrem.nano.tudelft.nl> Jouk Jansen <jouk@hrem.nano.tudelft.nl> | ||||
| Jouk Jansen <joukj@hrem.nano.tudelft.nl> Jouk Jansen <joukj@hrem.stm.tudelft.nl> | ||||
| Jouk Jansen <joukj@hrem.nano.tudelft.nl> joukj <joukj@tarantella.(none)> | ||||
| Jouk Jansen <joukj@hrem.nano.tudelft.nl> Jouk <joukj@tarantella.nano.tudelft.nl> | ||||
| Jouk Jansen <joukj@hrem.nano.tudelft.nl> Jouk <joukj@tarantella.(none)> | ||||
| Jouk Jansen <joukj@hrem.nano.tudelft.nl> J.Jansen <joukj@tarantella.nano.tudelft.nl> | ||||
|  | ||||
| Juan Zhao <juan.j.zhao@intel.com> <juan.j.zhao@linux.intel.com> | ||||
|  | ||||
| Julien Cristau <jcristau@debian.org> <julien.cristau@logilab.fr> | ||||
|  | ||||
| Julien Isorce <j.isorce@samsung.com> <julien.isorce@gmail.com> | ||||
|  | ||||
| Kalyan Kondapally <kalyan.kondapally@intel.com> <kondapallykalyancontribute@gmail.com> | ||||
|  | ||||
| Karl Schultz <karl.w.schultz@gmail.com> Karl Schultze <k.w.schultz@comcast.net> | ||||
| Karl Schultz <karl.w.schultz@gmail.com> unknown <kwschult@.na.qualcomm.com> | ||||
| Karl Schultz <karl.w.schultz@gmail.com> <k.w.schultz@comcast.net> | ||||
| Karl Schultz <karl.w.schultz@gmail.com> <Karl.W.Schultz@gmail.com> | ||||
| Karl Schultz <karl.w.schultz@gmail.com> <kschultz@freedesktop.org> | ||||
|  | ||||
| Keith Harrison <sio2@users.sourceforge.net> sio2 <sio2> | ||||
|  | ||||
| Keith Packard <keithp@keithp.com> <keithp@koto.keithp.com> | ||||
| Keith Packard <keithp@keithp.com> <keithp@neko.keithp.com> | ||||
|  | ||||
| Keith Whitwell <keithw@vmware.com> <keith@tungstengraphics.com> | ||||
| Keith Whitwell <keithw@vmware.com> keithw <keithw@keithw-laptop.(none)> | ||||
|  | ||||
| Kristian Høgsberg <krh@bitplanet.net> <krh@redhat.com> | ||||
| Kristian Høgsberg <krh@bitplanet.net> <krh@hinata.boston.redhat.com> | ||||
| Kristian Høgsberg <krh@bitplanet.net> <krh@sasori.boston.redhat.com> | ||||
| Kristian Høgsberg <krh@bitplanet.net> <krh@temari.boston.redhat.com> | ||||
| Kristian Høgsberg <krh@bitplanet.net> <kristian.h.kristensen@intel.com> | ||||
| Kristian Høgsberg <krh@bitplanet.net> <hoegsberg@chromium.org> | ||||
| Kristian Høgsberg <krh@bitplanet.net> <hoegsberg@google.com> | ||||
| Kristian Høgsberg <krh@bitplanet.net> <hoegsberg@gmail.com> | ||||
|  | ||||
| Krzesimir Nowak <qdlacz@gmail.com> <krzesimir@kinvolk.io> | ||||
|  | ||||
| Li Peng <peng.li@intel.com> <peng.li@linux.intel.com> | ||||
|  | ||||
| Lucas Stach <dev@lynxeye.de> <l.stach@pengutronix.de> | ||||
|  | ||||
| Maarten Lankhorst <maarten.lankhorst@ubuntu.com> <dev@mblankhorst.nl> | ||||
| Maarten Lankhorst <maarten.lankhorst@ubuntu.com> <m.b.lankhorst@gmail.com> | ||||
| Maarten Lankhorst <maarten.lankhorst@ubuntu.com> <maarten.lankhorst@canonical.com> | ||||
|  | ||||
| Maciej Cencora <m.cencora@gmail.com> <maciej@osiris.(none)> | ||||
|  | ||||
| Marc-André Lureau <marcandre.lureau@gmail.com> Marc-Andre Lureau <marcandre.lureau@gmail.com> | ||||
|  | ||||
| Marc Dietrich <marvin24@gmx.de> Marc <marvin24@gmx.de> | ||||
| Marc Dietrich <marvin24@gmx.de> marvin24 <marvin24@gmx.de> | ||||
|  | ||||
| Marcin Ślusarz <marcin.slusarz@gmail.com> Marcin Slusarz <marcin.slusarz@gmail.com> | ||||
|  | ||||
| Marek Olšák <maraeo@gmail.com> <marek.olsak@amd.com> | ||||
|  | ||||
| Mario Kleiner <mario.kleiner.de@gmail.com> kleinerm <mario.kleiner@tuebingen.mpg.de> | ||||
| Mario Kleiner <mario.kleiner.de@gmail.com> <mario.kleiner@tuebingen.mpg.de> | ||||
|  | ||||
| Mark Mueller <markkmueller@gmail.com> <MarkKMueller@gmail.com> | ||||
|  | ||||
| Marta Lofstedt <marta.lofstedt@intel.com> <marta.lofstedt@linux.intel.com> | ||||
|  | ||||
| Martin Peres <martin.peres@linux.intel.com> <martin.peres@labri.fr> | ||||
|  | ||||
| Mathias Fröhlich <mathias.froehlich@gmx.net> Mathias Froehlich <Mathias.Froehlich@gmx.net> | ||||
| Mathias Fröhlich <mathias.froehlich@gmx.net> Mathias Froehlich <Mathias.Froehlich@web.de> | ||||
| Mathias Fröhlich <mathias.froehlich@gmx.net> Mathias Frohlich <M.Froehlich@science-computing.de> | ||||
| Mathias Fröhlich <mathias.froehlich@gmx.net> <frohlich8@users.sourceforge.net> | ||||
| Mathias Fröhlich <mathias.froehlich@gmx.net> <Mathias.Froehlich@gmx.net> | ||||
| Mathias Fröhlich <mathias.froehlich@gmx.net> <Mathias.Froehlich@web.de> | ||||
| Mathias Fröhlich <mathias.froehlich@gmx.net> M.Froehlich@science-computing.de <M.Froehlich@science-computing.de> | ||||
|  | ||||
| Matthew W. S. Bell <matthew@bells23.org.uk> Matthew Bell <matthew@bells23.org.uk> | ||||
|  | ||||
| Maxence Le Doré <maxence.ledore@gmail.com> Maxence Le Dore <maxence.ledore@gmail.com> | ||||
|  | ||||
| Micah Fedke <micah.fedke@collabora.co.uk> <M.Fedke@Astronautics.com> | ||||
|  | ||||
| Michal Krol <michal@vmware.com> <michal@tungstengraphics.com> | ||||
| Michal Krol <michal@vmware.com> Michal Krol <michal@ubuntu-vbox.(none)> | ||||
| Michal Krol <michal@vmware.com> Michal Krol <mjkrol@gmail.org> | ||||
| Michal Krol <michal@vmware.com> michal <michal@capacitor.(none)> | ||||
| Michal Krol <michal@vmware.com> michal <michal@michal-laptop.(none)> | ||||
| Michal Krol <michal@vmware.com> michal <michal@quad.(none)> | ||||
| Michal Krol <michal@vmware.com> michal <michal@transistor.(none)> | ||||
| Michal Krol <michal@vmware.com> Michal <michal@tungstengraphics.com> | ||||
| Michal Krol <michal@vmware.com> michal <michal@wmvare.com> | ||||
|  | ||||
| Michel Dänzer <michel@daenzer.net> <michel.daenzer@amd.com> | ||||
| Michel Dänzer <michel@daenzer.net> <daenzer@vmware.com> | ||||
| Michel Dänzer <michel@daenzer.net> <michel@tungstengraphics.com> | ||||
| Michel Dänzer <michel@daenzer.net> Michel Daenzer <michel.daenzer@amd.com> | ||||
| Michel Dänzer <michel@daenzer.net> Michel Daenzer <daenzer@localhost.(none)> | ||||
|  | ||||
| Mike Kaplinskiy <mike.kaplinskiy@gmail.com> Mike Kaplinksiy <mike.kaplinskiy@gmail.com> | ||||
| Mike Kaplinskiy <mike.kaplinskiy@gmail.com> <mike.kaplinskiy@gmai.com> | ||||
|  | ||||
| Mike Stroyan <mike@lunarg.com> <mike@LunarG.com> | ||||
|  | ||||
| Nian Wu <nian.wu@intel.com> <nian@graphics.(none)> | ||||
| Nian Wu <nian.wu@intel.com> <nian@tinderbox.sh.intel.com> | ||||
|  | ||||
| Nick Bowler <nbowler@draconx.ca> | ||||
|  | ||||
| Nick Sarnie <commendsarnex@gmail.com> | ||||
|  | ||||
| Nicolai Hähnle <nicolai.haehnle@amd.com> <nhaehnle@gmail.com> | ||||
| Nicolai Hähnle <nicolai.haehnle@amd.com> Nicolai Haehnle <nhaehnle@gmail.com> | ||||
| Nicolai Hähnle <nicolai.haehnle@amd.com> Nicolai Haehnle <prefect_@gmx.net> | ||||
| Nicolai Hähnle <nicolai.haehnle@amd.com> Nicolai Haehnle <prefect@upb.de> | ||||
|  | ||||
| Nigel Stewart <nigels@users.sourceforge.net> <nigels@sourceforge.net> | ||||
| Nigel Stewart <nigels@users.sourceforge.net> <nstewart@nvidia.com> | ||||
|  | ||||
| nobled <nobled@dreamwidth.org> <nobled2@nobled2-karmic.(none)> | ||||
|  | ||||
| Oliver McFadden <oliver.mcfadden@linux.intel.com> <z3ro.geek@gmail.com> | ||||
|  | ||||
| Owain Ainsworth <zerooa@googlemail.com> Owain G. Ainsworth <oga@openbsd.org> | ||||
|  | ||||
| Owen W. Taylor <otaylor@fishsoup.net> Owen Taylor <otaylor@snell.localdomain> | ||||
|  | ||||
| Patrice Mandin <patmandin@gmail.com> <patrice@manoir.racoon.city> | ||||
| Patrice Mandin <patmandin@gmail.com> <pmandin@caramail.com> | ||||
| Patrice Mandin <patmandin@gmail.com> <pmandin@freedesktop.org> | ||||
|  | ||||
| Pauli Nieminen <pauli.nieminen@linux.intel.com> <suokkos@gmail.com> | ||||
|  | ||||
| Paulo Zanoni <paulo.r.zanoni@intel.com> Paulo Zanoni <pzanoni@mandriva.com> | ||||
|  | ||||
| Paul Seidler <sepek@exherbo.org> Paul Seidler <pl.seidler@googlemail.com> | ||||
|  | ||||
| Pekka Paalanen <pekka.paalanen@collabora.co.uk> <ppaalanen@gmail.com> | ||||
| Pekka Paalanen <pekka.paalanen@collabora.co.uk> <pq@iki.fi> | ||||
|  | ||||
| Peter Hutterer <peter.hutterer@who-t.net> <peter@cs.unisa.edu.au> | ||||
|  | ||||
| Pierre-Eric Pelloux-Prayer <pelloux@gmail.com> pepp <pelloux@gmail.com> | ||||
|  | ||||
| Pierre Willenbrock <pierre@pirsoft.de> Pierre Willenbrok <pierre@pirsoft.de> | ||||
|  | ||||
| Quentin Glidic <sardemff7+git@sardemff7.net> <sardemff7@sardemff7.net> | ||||
|  | ||||
| RALOVICH, Kristóf <tade60@freemail.hu> <kristof.ralovich@gmail.com> | ||||
|  | ||||
| Richard Li <richardradeon@gmail.com> <RichardZ.Li@amd.com> | ||||
| # The next ones are not 100% sure | ||||
| Richard Li <richardradeon@gmail.com> richard <richard@richard-desktop3.(none)> | ||||
| Richard Li <richardradeon@gmail.com> richard <richard@richard-desktop.(none)> | ||||
| Richard Li <richardradeon@gmail.com> root <root@richard-desktop.(none)> | ||||
|  | ||||
| Richard Sandiford <rsandifo@linux.vnet.ibm.com> <r.sandiford@uk.ibm.com> | ||||
|  | ||||
| Rob Clark <robclark@freedesktop.org> <Rob Clark robdclark@freedesktop.org> | ||||
| Rob Clark <robclark@freedesktop.org> <robdclark@gmail.com> | ||||
|  | ||||
| Robert Bragg <robert@sixbynine.org> <robert@linux.intel.com> | ||||
|  | ||||
| Robert Ellison <papillo@vmware.com> <papillo@i965-laptop.(none)> | ||||
| Robert Ellison <papillo@vmware.com> <papillo@tungstengraphics.com> | ||||
|  | ||||
| Robert Hooker <sarvatt@ubuntu.com> <robert.hooker@canonical.com> | ||||
|  | ||||
| Roland Scheidegger <sroland@vmware.com> <rscheidegger@gmx.ch> | ||||
| Roland Scheidegger <sroland@vmware.com> <sroland@tungstengraphics.com> | ||||
|  | ||||
| Roy Spliet <rspliet@eclipso.eu> <r.spliet@student.tudelft.nl> | ||||
|  | ||||
| Rune Petersen <rune@megahurts.dk> Rune Peterson <rune@megahurts.dk> | ||||
|  | ||||
| Ryan Houdek <sonicadvance1@gmail.com> <Sonicadvance1@gmail.com> | ||||
|  | ||||
| Sam Hocevar <sam@hocevar.net> Sam Hocevar <sam@zoy.org> | ||||
|  | ||||
| Samuel Iglesias Gonsálvez <siglesias@igalia.com> Samuel Iglesias Gonsalvez <siglesias@igalia.com> | ||||
|  | ||||
| Sean D'Epagnier <sean@depagnier.com> <geckosenator@freedesktop.org> | ||||
|  | ||||
| Serge Martin <edb+mesa@sigluy.net> Serge Martin (EdB) <edb+mesa@sigluy.net> | ||||
| Serge Martin <edb+mesa@sigluy.net> EdB <edb+mesa@sigluy.net> | ||||
|  | ||||
| Sinclair Yeh <syeh@vmware.com> <sinclair.yeh@intel.com> | ||||
|  | ||||
| Stefan Brüns <stefan.bruens@rwth-aachen.de> <Stefan.Bruens@rwth-aachen.de> | ||||
|  | ||||
| Stéphane Marchesin <marcheu@chromium.org> Stephane Marchesin <marchesin@icps.u-strasbg.fr> | ||||
| Stéphane Marchesin <marcheu@chromium.org> Stephane Marchesin <stephane.marchesin@gmail.com> | ||||
|  | ||||
| Sven M. Hallberg <pesco@users.sourceforge.net> pesco <pesco> | ||||
|  | ||||
| Tapani Pälli <tapani.palli@intel.com> <tapani.palli@gmail.com> | ||||
| Tapani Pälli <tapani.palli@intel.com> Tapani <tapani.palli@intel.com> | ||||
|  | ||||
| Thierry Reding <treding@nvidia.com> <thierry@gilfi.de> | ||||
| Thierry Reding <treding@nvidia.com> <thierry.reding@avionic-design.de> | ||||
|  | ||||
| Thierry Vignaud <thierry.vignaud@gmail.com> <tvignaud@mandriva.com> | ||||
|  | ||||
| Thomas Balling Sørensen <tball@io.dk> <tball@tball-laptop.(none)> | ||||
|  | ||||
| Thomas Hellstrom <thellstrom@vmware.com> Thomas <thellstrom@vmware.com> | ||||
| Thomas Hellstrom <thellstrom@vmware.com> Thomas Hellstrom <thellstrom-at-vmware-dot-com> | ||||
| Thomas Hellstrom <thellstrom@vmware.com> Thomas Hellstrom <thomas-at-tungstengraphics-dot-com> | ||||
| Thomas Hellstrom <thellstrom@vmware.com> Thomas Hellstrom <thomas@tungstengraphics.com> | ||||
| Thomas Hellstrom <thellstrom@vmware.com> Thomas Hellström <thomas@tungstengraphics.com> | ||||
|  | ||||
| Thomas Tanner <tanner@gmx.net> tanner <tanner> | ||||
|  | ||||
| Tilman Sauerbeck <tilman@code-monkey.de> <tilman@freedesktop.org> | ||||
|  | ||||
| Timothy Arceri <timothy.arceri@collabora.com> <t_arceri@yahoo.com.au> | ||||
| Timothy Arceri <timothy.arceri@collabora.com> Timothy <t_arceri@yahoo.com.au> | ||||
|  | ||||
| Tom Fogal <tfogal@alumni.unh.edu> <tfogal@sci.utah.edu> | ||||
|  | ||||
| Tom Stellard <thomas.stellard@amd.com> <tstellar@gmail.com> | ||||
| Tom Stellard <thomas.stellard@amd.com> Thomas Stellard <tom.stellard@amd.com> | ||||
|  | ||||
| Tormod Volden <debian.tormod@gmail.com> <lists.tormod@gmail.com> | ||||
|  | ||||
| Török Edwin <edwin+mesa@etorok.net> Török Edvin <edwintorok@gmail.com> | ||||
| Török Edwin <edwin+mesa@etorok.net> <edwintorok@gmail.com> | ||||
|  | ||||
| Ville Syrjälä <ville.syrjala@linux.intel.com> Ville Syrjala <syrjala@freedesktop.org> | ||||
| Ville Syrjälä <ville.syrjala@linux.intel.com> Ville Syrjala <syrjala@sci.fi> | ||||
|  | ||||
| Vincent Lejeune <vljn@ovi.com> <peluche.canard@gmail.com> | ||||
|  | ||||
| Vinson Lee <vlee@freedesktop.org> <vlee@vmware.com> | ||||
|  | ||||
| Zhenyu Wang <zhenyuw@linux.intel.com> Wang Zhenyu <zhenyu.z.wang@intel.com> | ||||
|  | ||||
| Zack Rusin <zackr@vmware.com> <zack@kde.org> | ||||
| Zack Rusin <zackr@vmware.com> <zack@pixel.(none)> | ||||
| Zack Rusin <zackr@vmware.com> <zack@tungstengraphics.com> | ||||
|  | ||||
| Zhang <zxpmyth@yahoo.com.cn> zhang <zxpmyth@yahoo.com.cn> | ||||
							
								
								
									
										114
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										114
									
								
								.travis.yml
									
									
									
									
									
								
							| @@ -1,114 +0,0 @@ | ||||
| language: c | ||||
|  | ||||
| dist: xenial | ||||
|  | ||||
| cache: | ||||
|   ccache: true | ||||
|  | ||||
| env: | ||||
|   global: | ||||
|     - PKG_CONFIG_PATH="$PKG_CONFIG_PATH" | ||||
|  | ||||
| matrix: | ||||
|   include: | ||||
|     - env: | ||||
|         - LABEL="macOS make" | ||||
|         - BUILD=make | ||||
|         - MAKEFLAGS="-j4" | ||||
|         - MAKE_CHECK_COMMAND="make check" | ||||
|         - DRI_LOADERS="--with-platforms=x11 --disable-egl" | ||||
|       os: osx | ||||
|     - env: | ||||
|         - LABEL="macOS meson" | ||||
|         - BUILD=meson | ||||
|         - UNWIND="false" | ||||
|         - DRI_LOADERS="-Dglx=dri -Dgbm=false -Degl=false -Dplatforms=x11 -Dosmesa=none" | ||||
|         - GALLIUM_ST="-Ddri3=true -Dgallium-vdpau=false -Dgallium-xvmc=false -Dgallium-omx=disabled -Dgallium-va=false -Dgallium-xa=false -Dgallium-nine=false -Dgallium-opencl=disabled" | ||||
|       os: osx | ||||
|  | ||||
| before_install: | ||||
|   - | | ||||
|     if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then | ||||
|       HOMEBREW_NO_AUTO_UPDATE=1 brew install python3 ninja expat gettext | ||||
|       # Set PATH for homebrew pip3 installs | ||||
|       PATH="$HOME/Library/Python/3.6/bin:${PATH}" | ||||
|       # Set PKG_CONFIG_PATH for keg-only expat | ||||
|       PKG_CONFIG_PATH="/usr/local/opt/expat/lib/pkgconfig:${PKG_CONFIG_PATH}" | ||||
|       # Set PATH for keg-only gettext | ||||
|       PATH="/usr/local/opt/gettext/bin:${PATH}" | ||||
|  | ||||
|       # Install xquartz for prereqs ... | ||||
|       XQUARTZ_VERSION="2.7.11" | ||||
|       wget -nv https://dl.bintray.com/xquartz/downloads/XQuartz-${XQUARTZ_VERSION}.dmg | ||||
|       hdiutil attach XQuartz-${XQUARTZ_VERSION}.dmg | ||||
|       sudo installer -pkg /Volumes/XQuartz-${XQUARTZ_VERSION}/XQuartz.pkg -target / | ||||
|       hdiutil detach /Volumes/XQuartz-${XQUARTZ_VERSION} | ||||
|       # ... and set paths | ||||
|       PATH="/opt/X11/bin:${PATH}" | ||||
|       PKG_CONFIG_PATH="/opt/X11/share/pkgconfig:/opt/X11/lib/pkgconfig:${PKG_CONFIG_PATH}" | ||||
|       ACLOCAL="aclocal -I /opt/X11/share/aclocal -I /usr/local/share/aclocal" | ||||
|     fi | ||||
|  | ||||
| install: | ||||
|   # Install a more modern meson from pip, since the version in the | ||||
|   # ubuntu repos is often quite old. | ||||
|   - if test "x$BUILD" = xmeson; then | ||||
|       pip3 install --user meson; | ||||
|       pip3 install --user mako; | ||||
|     fi | ||||
|  | ||||
|   # Install autotools build dependencies | ||||
|   - if test "x$BUILD" = xmake; then | ||||
|       pip2 install --user mako; | ||||
|     fi | ||||
|  | ||||
|   # Install dependencies where we require specific versions (or where | ||||
|   # disallowed by Travis CI's package whitelisting). | ||||
|  | ||||
| script: | ||||
|   - if test "x$BUILD" = xmake; then | ||||
|       export CFLAGS="$CFLAGS -isystem`pwd`"; | ||||
|  | ||||
|       mkdir build && | ||||
|       cd build && | ||||
|       ../autogen.sh | ||||
|         --enable-autotools | ||||
|         --enable-debug | ||||
|         $LIBUNWIND_FLAGS | ||||
|         $DRI_LOADERS | ||||
|         --with-dri-drivers=$DRI_DRIVERS | ||||
|         $GALLIUM_ST | ||||
|         --with-gallium-drivers=$GALLIUM_DRIVERS | ||||
|         --with-vulkan-drivers=$VULKAN_DRIVERS | ||||
|         --disable-llvm-shared-libs | ||||
|         && | ||||
|       make && eval $MAKE_CHECK_COMMAND; | ||||
|     fi | ||||
|  | ||||
|   - | | ||||
|     if test "x$BUILD" = xmeson; then | ||||
|       if test -n "$LLVM_CONFIG"; then | ||||
|         # We need to control the version of llvm-config we're using, so we'll | ||||
|         # generate a native file to do so. This requires meson >=0.49 | ||||
|         # | ||||
|         echo -e "[binaries]\nllvm-config = '`which $LLVM_CONFIG`'" > native.file | ||||
|  | ||||
|         $LLVM_CONFIG --version | ||||
|       else | ||||
|         : > native.file | ||||
|       fi | ||||
|  | ||||
|       export CFLAGS="$CFLAGS -isystem`pwd`" | ||||
|       meson _build \ | ||||
|                    --native-file=native.file \ | ||||
|                    -Dbuild-tests=true \ | ||||
|                    -Dlibunwind=${UNWIND} \ | ||||
|                    ${DRI_LOADERS} \ | ||||
|                    -Ddri-drivers=${DRI_DRIVERS:-[]} \ | ||||
|                    ${GALLIUM_ST} \ | ||||
|                    -Dgallium-drivers=${GALLIUM_DRIVERS:-[]} \ | ||||
|                    -Dvulkan-drivers=${VULKAN_DRIVERS:-[]} | ||||
|       meson configure _build | ||||
|       ninja -C _build | ||||
|       ninja -C _build test | ||||
|     fi | ||||
| @@ -21,102 +21,42 @@ | ||||
| # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | ||||
| # DEALINGS IN THE SOFTWARE. | ||||
|  | ||||
| # use c99 compiler by default | ||||
| ifeq ($(LOCAL_CC),) | ||||
| ifeq ($(LOCAL_IS_HOST_MODULE),true) | ||||
| LOCAL_CFLAGS += -D_GNU_SOURCE | ||||
| LOCAL_CC := $(HOST_CC) -std=c99 | ||||
| else | ||||
| LOCAL_CC := $(TARGET_CC) -std=c99 | ||||
| endif | ||||
| endif | ||||
|  | ||||
| LOCAL_C_INCLUDES += \ | ||||
| 	$(MESA_TOP)/src \ | ||||
| 	$(MESA_TOP)/include | ||||
|  | ||||
| MESA_VERSION := $(shell cat $(MESA_TOP)/VERSION) | ||||
| MESA_VERSION=$(shell cat $(MESA_TOP)/VERSION) | ||||
| # define ANDROID_VERSION (e.g., 4.0.x => 0x0400) | ||||
| LOCAL_CFLAGS += \ | ||||
| 	-Wno-error \ | ||||
| 	-Wno-unused-parameter \ | ||||
| 	-Wno-pointer-arith \ | ||||
| 	-Wno-missing-field-initializers \ | ||||
| 	-Wno-initializer-overrides \ | ||||
| 	-Wno-mismatched-tags \ | ||||
| 	-DPACKAGE_VERSION=\"$(MESA_VERSION)\" \ | ||||
| 	-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\" | ||||
| 	-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\" \ | ||||
| 	-DANDROID_VERSION=0x0$(MESA_ANDROID_MAJOR_VERSION)0$(MESA_ANDROID_MINOR_VERSION) | ||||
|  | ||||
| # XXX: The following __STDC_*_MACROS defines should not be needed. | ||||
| # It's likely due to a bug elsewhere, but let's temporarily add them | ||||
| # here to fix the radeonsi build. | ||||
| LOCAL_CFLAGS += \ | ||||
| 	-DANDROID_API_LEVEL=$(PLATFORM_SDK_VERSION) \ | ||||
| 	-DENABLE_SHADER_CACHE \ | ||||
| 	-D__STDC_CONSTANT_MACROS \ | ||||
| 	-D__STDC_LIMIT_MACROS \ | ||||
| 	-DHAVE___BUILTIN_EXPECT \ | ||||
| 	-DHAVE___BUILTIN_FFS \ | ||||
| 	-DHAVE___BUILTIN_FFSLL \ | ||||
| 	-DHAVE_DLFCN_H \ | ||||
| 	-DHAVE_FUNC_ATTRIBUTE_FLATTEN \ | ||||
| 	-DHAVE_FUNC_ATTRIBUTE_UNUSED \ | ||||
| 	-DHAVE_FUNC_ATTRIBUTE_FORMAT \ | ||||
| 	-DHAVE_FUNC_ATTRIBUTE_PACKED \ | ||||
| 	-DHAVE_FUNC_ATTRIBUTE_ALIAS \ | ||||
| 	-DHAVE_FUNC_ATTRIBUTE_NORETURN \ | ||||
| 	-DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL \ | ||||
| 	-DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT \ | ||||
| 	-DHAVE___BUILTIN_CTZ \ | ||||
| 	-DHAVE___BUILTIN_POPCOUNT \ | ||||
| 	-DHAVE___BUILTIN_POPCOUNTLL \ | ||||
| 	-DHAVE___BUILTIN_CLZ \ | ||||
| 	-DHAVE___BUILTIN_CLZLL \ | ||||
| 	-DHAVE___BUILTIN_UNREACHABLE \ | ||||
| 	-DHAVE_PTHREAD=1 \ | ||||
| 	-DHAVE_DLADDR \ | ||||
| 	-DHAVE_DL_ITERATE_PHDR \ | ||||
| 	-DHAVE_LINUX_FUTEX_H \ | ||||
| 	-DHAVE_ENDIAN_H \ | ||||
| 	-DHAVE_ZLIB \ | ||||
| 	-DMAJOR_IN_SYSMACROS \ | ||||
| 	-DVK_USE_PLATFORM_ANDROID_KHR \ | ||||
| 	-fvisibility=hidden \ | ||||
| 	-fno-math-errno \ | ||||
| 	-fno-trapping-math \ | ||||
| 	-Wno-sign-compare | ||||
|  | ||||
| LOCAL_CPPFLAGS += \ | ||||
| 	-D__STDC_CONSTANT_MACROS \ | ||||
| 	-D__STDC_FORMAT_MACROS \ | ||||
| 	-D__STDC_LIMIT_MACROS \ | ||||
| 	-Wno-error=non-virtual-dtor \ | ||||
| 	-Wno-non-virtual-dtor | ||||
|  | ||||
| # mesa requires at least c99 compiler | ||||
| LOCAL_CONLYFLAGS += \ | ||||
| 	-std=c99 | ||||
|  | ||||
| # c11 timespec_get is part of bionic as well | ||||
| # https://android-review.googlesource.com/c/718518 | ||||
| # This means releases from P and earlier won't need this | ||||
| ifeq ($(filter 5 6 7 8 9, $(MESA_ANDROID_MAJOR_VERSION)),) | ||||
| LOCAL_CFLAGS += -DHAVE_TIMESPEC_GET | ||||
| endif | ||||
|  | ||||
| ifeq ($(strip $(MESA_ENABLE_ASM)),true) | ||||
| ifeq ($(TARGET_ARCH),x86) | ||||
| LOCAL_CFLAGS += \ | ||||
| 	-DUSE_X86_ASM | ||||
| 	-DUSE_X86_ASM \ | ||||
| 	-DHAVE_DLOPEN \ | ||||
|  | ||||
| endif | ||||
| endif | ||||
| ifeq ($(ARCH_ARM_HAVE_NEON),true) | ||||
| LOCAL_CFLAGS_arm += -DUSE_ARM_ASM | ||||
| endif | ||||
| LOCAL_CFLAGS_arm64 += -DUSE_AARCH64_ASM | ||||
|  | ||||
| ifneq ($(LOCAL_IS_HOST_MODULE),true) | ||||
| LOCAL_CFLAGS += -DHAVE_LIBDRM | ||||
| LOCAL_SHARED_LIBRARIES += libdrm | ||||
| endif | ||||
|  | ||||
| LOCAL_CFLAGS_32 += -DDEFAULT_DRIVER_DIR=\"/vendor/lib/$(MESA_DRI_MODULE_REL_PATH)\" | ||||
| LOCAL_CFLAGS_64 += -DDEFAULT_DRIVER_DIR=\"/vendor/lib64/$(MESA_DRI_MODULE_REL_PATH)\" | ||||
| LOCAL_PROPRIETARY_MODULE := true | ||||
| LOCAL_CPPFLAGS += \ | ||||
| 	-Wno-error=non-virtual-dtor \ | ||||
| 	-Wno-non-virtual-dtor | ||||
|  | ||||
| # uncomment to keep the debug symbols | ||||
| #LOCAL_STRIP_MODULE := false | ||||
| @@ -124,6 +64,3 @@ LOCAL_PROPRIETARY_MODULE := true | ||||
| ifeq ($(strip $(LOCAL_MODULE_TAGS)),) | ||||
| LOCAL_MODULE_TAGS := optional | ||||
| endif | ||||
|  | ||||
| # Quiet down the build system and remove any .h files from the sources | ||||
| LOCAL_SRC_FILES := $(patsubst %.h, , $(LOCAL_SRC_FILES)) | ||||
|   | ||||
							
								
								
									
										122
									
								
								Android.mk
									
									
									
									
									
								
							
							
						
						
									
										122
									
								
								Android.mk
									
									
									
									
									
								
							| @@ -24,7 +24,7 @@ | ||||
| # BOARD_GPU_DRIVERS should be defined.  The valid values are | ||||
| # | ||||
| #   classic drivers: i915 i965 | ||||
| #   gallium drivers: swrast freedreno i915g nouveau kmsro r300g r600g radeonsi vc4 virgl vmwgfx etnaviv iris | ||||
| #   gallium drivers: swrast i915g ilo nouveau r300g r600g radeonsi vmwgfx | ||||
| # | ||||
| # The main target is libGLES_mesa.  For each classic driver enabled, a DRI | ||||
| # module will also be built.  DRI modules will be loaded by libGLES_mesa. | ||||
| @@ -32,55 +32,28 @@ | ||||
| MESA_TOP := $(call my-dir) | ||||
|  | ||||
| MESA_ANDROID_MAJOR_VERSION := $(word 1, $(subst ., , $(PLATFORM_VERSION))) | ||||
| ifneq ($(filter 2 4, $(MESA_ANDROID_MAJOR_VERSION)),) | ||||
| $(error "Android 4.4 and earlier not supported") | ||||
| endif | ||||
|  | ||||
| MESA_DRI_MODULE_REL_PATH := dri | ||||
| MESA_DRI_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(MESA_DRI_MODULE_REL_PATH) | ||||
| MESA_DRI_MODULE_UNSTRIPPED_PATH := $(TARGET_OUT_SHARED_LIBRARIES_UNSTRIPPED)/$(MESA_DRI_MODULE_REL_PATH) | ||||
| MESA_DRI_LDFLAGS := -Wl,--build-id=sha1 | ||||
| MESA_ANDROID_MINOR_VERSION := $(word 2, $(subst ., , $(PLATFORM_VERSION))) | ||||
| MESA_ANDROID_VERSION := $(MESA_ANDROID_MAJOR_VERSION).$(MESA_ANDROID_MINOR_VERSION) | ||||
|  | ||||
| MESA_COMMON_MK := $(MESA_TOP)/Android.common.mk | ||||
| MESA_PYTHON2 := python | ||||
|  | ||||
| # Lists to convert driver names to boolean variables | ||||
| # in form of <driver name>.<boolean make variable> | ||||
| classic_drivers := i915.HAVE_I915_DRI i965.HAVE_I965_DRI | ||||
| gallium_drivers := \ | ||||
| 	swrast.HAVE_GALLIUM_SOFTPIPE \ | ||||
| 	freedreno.HAVE_GALLIUM_FREEDRENO \ | ||||
| 	i915g.HAVE_GALLIUM_I915 \ | ||||
| 	nouveau.HAVE_GALLIUM_NOUVEAU \ | ||||
| 	kmsro.HAVE_GALLIUM_KMSRO \ | ||||
| 	r300g.HAVE_GALLIUM_R300 \ | ||||
| 	r600g.HAVE_GALLIUM_R600 \ | ||||
| 	radeonsi.HAVE_GALLIUM_RADEONSI \ | ||||
| 	vmwgfx.HAVE_GALLIUM_VMWGFX \ | ||||
| 	vc4.HAVE_GALLIUM_VC4 \ | ||||
| 	virgl.HAVE_GALLIUM_VIRGL \ | ||||
| 	etnaviv.HAVE_GALLIUM_ETNAVIV \ | ||||
| 	iris.HAVE_GALLIUM_IRIS | ||||
| DRM_TOP := external/drm | ||||
| DRM_GRALLOC_TOP := hardware/drm_gralloc | ||||
|  | ||||
| ifeq ($(BOARD_GPU_DRIVERS),all) | ||||
| MESA_BUILD_CLASSIC := $(filter HAVE_%, $(subst ., , $(classic_drivers))) | ||||
| MESA_BUILD_GALLIUM := $(filter HAVE_%, $(subst ., , $(gallium_drivers))) | ||||
| else | ||||
| # Warn if we have any invalid driver names | ||||
| $(foreach d, $(BOARD_GPU_DRIVERS), \ | ||||
| 	$(if $(findstring $(d).,$(classic_drivers) $(gallium_drivers)), \ | ||||
| 		, \ | ||||
| 		$(warning invalid GPU driver: $(d)) \ | ||||
| 	) \ | ||||
| ) | ||||
| MESA_BUILD_CLASSIC := $(strip $(foreach d, $(BOARD_GPU_DRIVERS), $(patsubst $(d).%,%, $(filter $(d).%, $(classic_drivers))))) | ||||
| MESA_BUILD_GALLIUM := $(strip $(foreach d, $(BOARD_GPU_DRIVERS), $(patsubst $(d).%,%, $(filter $(d).%, $(gallium_drivers))))) | ||||
| endif | ||||
| ifeq ($(filter x86%,$(TARGET_ARCH)),) | ||||
| 	MESA_BUILD_CLASSIC := | ||||
| endif | ||||
| classic_drivers := i915 i965 | ||||
| gallium_drivers := swrast i915g ilo nouveau r300g r600g radeonsi vmwgfx | ||||
|  | ||||
| $(foreach d, $(MESA_BUILD_CLASSIC) $(MESA_BUILD_GALLIUM), $(eval $(d) := true)) | ||||
| MESA_GPU_DRIVERS := $(strip $(BOARD_GPU_DRIVERS)) | ||||
|  | ||||
| # warn about invalid drivers | ||||
| invalid_drivers := $(filter-out \ | ||||
| 	$(classic_drivers) $(gallium_drivers), $(MESA_GPU_DRIVERS)) | ||||
| ifneq ($(invalid_drivers),) | ||||
| $(warning invalid GPU drivers: $(invalid_drivers)) | ||||
| # tidy up | ||||
| MESA_GPU_DRIVERS := $(filter-out $(invalid_drivers), $(MESA_GPU_DRIVERS)) | ||||
| endif | ||||
|  | ||||
| # host and target must be the same arch to generate matypes.h | ||||
| ifeq ($(TARGET_ARCH),$(HOST_ARCH)) | ||||
| @@ -89,39 +62,38 @@ else | ||||
| MESA_ENABLE_ASM := false | ||||
| endif | ||||
|  | ||||
| ifneq ($(filter true, $(HAVE_GALLIUM_RADEONSI)),) | ||||
| MESA_ENABLE_LLVM := true | ||||
| ifneq ($(filter $(classic_drivers), $(MESA_GPU_DRIVERS)),) | ||||
| MESA_BUILD_CLASSIC := true | ||||
| else | ||||
| MESA_BUILD_CLASSIC := false | ||||
| endif | ||||
|  | ||||
| define mesa-build-with-llvm | ||||
|   $(if $(filter $(MESA_ANDROID_MAJOR_VERSION), 4 5), \ | ||||
|     $(warning Unsupported LLVM version in Android $(MESA_ANDROID_MAJOR_VERSION)),) \ | ||||
|   $(if $(filter 6,$(MESA_ANDROID_MAJOR_VERSION)), \ | ||||
|     $(eval LOCAL_CFLAGS += -DHAVE_LLVM=0x0307 -DMESA_LLVM_VERSION_PATCH=0)) \ | ||||
|   $(if $(filter 7,$(MESA_ANDROID_MAJOR_VERSION)), \ | ||||
|     $(eval LOCAL_CFLAGS += -DHAVE_LLVM=0x0308 -DMESA_LLVM_VERSION_PATCH=0)) \ | ||||
|   $(if $(filter 8,$(MESA_ANDROID_MAJOR_VERSION)), \ | ||||
|     $(eval LOCAL_CFLAGS += -DHAVE_LLVM=0x0309 -DMESA_LLVM_VERSION_PATCH=0)) \ | ||||
|   $(if $(filter P,$(MESA_ANDROID_MAJOR_VERSION)), \ | ||||
|     $(eval LOCAL_CFLAGS += -DHAVE_LLVM=0x0309 -DMESA_LLVM_VERSION_PATCH=0)) \ | ||||
|   $(eval LOCAL_SHARED_LIBRARIES += libLLVM) | ||||
| endef | ||||
| ifneq ($(filter $(gallium_drivers), $(MESA_GPU_DRIVERS)),) | ||||
| MESA_BUILD_GALLIUM := true | ||||
| else | ||||
| MESA_BUILD_GALLIUM := false | ||||
| endif | ||||
|  | ||||
| # add subdirectories | ||||
| SUBDIRS := \ | ||||
| 	src/gbm \ | ||||
| 	src/loader \ | ||||
| 	src/mapi \ | ||||
| 	src/compiler \ | ||||
| 	src/mesa \ | ||||
| 	src/util \ | ||||
| 	src/egl \ | ||||
| 	src/amd \ | ||||
| 	src/broadcom \ | ||||
| 	src/intel \ | ||||
| 	src/mesa/drivers/dri \ | ||||
| 	src/vulkan | ||||
| ifneq ($(strip $(MESA_GPU_DRIVERS)),) | ||||
|  | ||||
| INC_DIRS := $(call all-named-subdir-makefiles,$(SUBDIRS)) | ||||
| INC_DIRS += $(call all-named-subdir-makefiles,src/gallium) | ||||
| include $(INC_DIRS) | ||||
| SUBDIRS := \ | ||||
| 	src/mapi \ | ||||
| 	src/glsl \ | ||||
| 	src/mesa \ | ||||
| 	src/egl/main | ||||
|  | ||||
| ifeq ($(strip $(MESA_BUILD_CLASSIC)),true) | ||||
| SUBDIRS += \ | ||||
| 	src/egl/drivers/dri2 \ | ||||
| 	src/mesa/drivers/dri | ||||
| endif | ||||
|  | ||||
| ifeq ($(strip $(MESA_BUILD_GALLIUM)),true) | ||||
| SUBDIRS += src/gallium | ||||
| endif | ||||
|  | ||||
| mkfiles := $(patsubst %,$(MESA_TOP)/%/Android.mk,$(SUBDIRS)) | ||||
| include $(mkfiles) | ||||
|  | ||||
| endif | ||||
|   | ||||
							
								
								
									
										16
									
								
								CleanSpec.mk
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								CleanSpec.mk
									
									
									
									
									
								
							| @@ -1,16 +0,0 @@ | ||||
| $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libmesa_*_intermediates) | ||||
| $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/i9*5_dri_intermediates) | ||||
| $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libglapi_intermediates) | ||||
| $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libGLES_mesa_intermediates) | ||||
| $(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_OS)-$(HOST_ARCH)/obj/EXECUTABLES/mesa_*_intermediates) | ||||
| $(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_OS)-$(HOST_ARCH)/obj/EXECUTABLES/glsl_compiler_intermediates) | ||||
| $(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_OS)-$(HOST_ARCH)/obj/STATIC_LIBRARIES/libmesa_glsl_utils_intermediates) | ||||
|  | ||||
| $(call add-clean-step, rm -rf $(PRODUCT_OUT)/*/STATIC_LIBRARIES/libmesa_*_intermediates) | ||||
| $(call add-clean-step, rm -rf $(PRODUCT_OUT)/*/SHARED_LIBRARIES/i9?5_dri_intermediates) | ||||
| $(call add-clean-step, rm -rf $(PRODUCT_OUT)/*/SHARED_LIBRARIES/libglapi_intermediates) | ||||
| $(call add-clean-step, rm -rf $(PRODUCT_OUT)/*/SHARED_LIBRARIES/libGLES_mesa_intermediates) | ||||
| $(call add-clean-step, rm -rf $(HOST_OUT)/*/EXECUTABLES/mesa_*_intermediates) | ||||
| $(call add-clean-step, rm -rf $(HOST_OUT)/*/EXECUTABLES/glsl_compiler_intermediates) | ||||
| $(call add-clean-step, rm -rf $(HOST_OUT)/*/STATIC_LIBRARIES/libmesa_*_intermediates) | ||||
| $(call add-clean-step, rm -rf $(PRODUCT_OUT)/*/SHARED_LIBRARIES/*_dri_intermediates) | ||||
							
								
								
									
										145
									
								
								Makefile.am
									
									
									
									
									
								
							
							
						
						
									
										145
									
								
								Makefile.am
									
									
									
									
									
								
							| @@ -21,73 +21,86 @@ | ||||
|  | ||||
| SUBDIRS = src | ||||
|  | ||||
| AM_DISTCHECK_CONFIGURE_FLAGS = \ | ||||
| 	--enable-autotools \ | ||||
| 	--enable-dri \ | ||||
| 	--enable-dri3 \ | ||||
| 	--enable-egl \ | ||||
| 	--enable-gallium-tests \ | ||||
| 	--enable-gallium-osmesa \ | ||||
| 	--enable-llvm \ | ||||
| 	--enable-gbm \ | ||||
| 	--enable-gles1 \ | ||||
| 	--enable-gles2 \ | ||||
| 	--enable-glx \ | ||||
| 	--enable-glx-tls \ | ||||
| 	--enable-nine \ | ||||
| 	--enable-opencl \ | ||||
| 	--enable-opencl-icd \ | ||||
| 	--enable-opengl \ | ||||
| 	--enable-va \ | ||||
| 	--enable-vdpau \ | ||||
| 	--enable-xa \ | ||||
| 	--enable-xvmc \ | ||||
| 	--enable-llvm-shared-libs \ | ||||
| 	--enable-libunwind \ | ||||
| 	--with-platforms=x11,wayland,drm,surfaceless \ | ||||
| 	--with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast \ | ||||
| 	--with-gallium-drivers=i915,nouveau,r300,kmsro,r600,radeonsi,freedreno,svga,swrast,vc4,tegra,virgl,swr,etnaviv \ | ||||
| 	--with-vulkan-drivers=intel,radeon | ||||
|  | ||||
| ACLOCAL_AMFLAGS = -I m4 | ||||
|  | ||||
| EXTRA_DIST = \ | ||||
| 	autogen.sh \ | ||||
| 	common.py \ | ||||
| 	docs \ | ||||
| 	doxygen \ | ||||
| 	bin/git_sha1_gen.py \ | ||||
| 	scons \ | ||||
| 	SConstruct \ | ||||
| 	build-support/conftest.dyn \ | ||||
| 	build-support/conftest.map \ | ||||
| 	meson.build \ | ||||
| 	meson_options.txt \ | ||||
| 	bin/meson.build \ | ||||
| 	include/meson.build \ | ||||
| 	bin/install_megadrivers.py \ | ||||
| 	bin/meson_get_version.py | ||||
| doxygen: | ||||
| 	cd doxygen && $(MAKE) | ||||
|  | ||||
| noinst_HEADERS = \ | ||||
| 	include/c99_alloca.h \ | ||||
| 	include/c99_compat.h \ | ||||
| 	include/c99_math.h \ | ||||
| 	include/c11 \ | ||||
| 	include/drm-uapi/drm.h \ | ||||
| 	include/drm-uapi/drm_fourcc.h \ | ||||
| 	include/drm-uapi/drm_mode.h \ | ||||
| 	include/drm-uapi/i915_drm.h \ | ||||
| 	include/drm-uapi/tegra_drm.h \ | ||||
| 	include/drm-uapi/v3d_drm.h \ | ||||
| 	include/drm-uapi/vc4_drm.h \ | ||||
| 	include/D3D9 \ | ||||
| 	include/GL/wglext.h \ | ||||
| 	include/HaikuGL \ | ||||
| 	include/no_extern_c.h \ | ||||
| 	include/pci_ids \ | ||||
| 	include/vulkan | ||||
| .PHONY: doxygen | ||||
|  | ||||
| # We list some directories in EXTRA_DIST, but don't actually want to include | ||||
| # the .gitignore files in the tarball. | ||||
| dist-hook: | ||||
| 	find $(distdir) -name .gitignore -exec $(RM) {} + | ||||
| # Rules for making release tarballs | ||||
|  | ||||
| PACKAGE_DIR = Mesa-$(PACKAGE_VERSION) | ||||
| PACKAGE_NAME = MesaLib-$(PACKAGE_VERSION) | ||||
|  | ||||
| EXTRA_FILES = \ | ||||
| 	aclocal.m4					\ | ||||
| 	configure					\ | ||||
| 	VERSION					\ | ||||
| 	bin/ar-lib					\ | ||||
| 	bin/compile					\ | ||||
| 	bin/config.sub					\ | ||||
| 	bin/config.guess				\ | ||||
| 	bin/depcomp					\ | ||||
| 	bin/install-sh					\ | ||||
| 	bin/ltmain.sh					\ | ||||
| 	bin/missing					\ | ||||
| 	bin/ylwrap					\ | ||||
| 	src/glsl/glsl_parser.cpp			\ | ||||
| 	src/glsl/glsl_parser.h				\ | ||||
| 	src/glsl/glsl_lexer.cpp				\ | ||||
| 	src/glsl/glcpp/glcpp-lex.c			\ | ||||
| 	src/glsl/glcpp/glcpp-parse.c			\ | ||||
| 	src/glsl/glcpp/glcpp-parse.h			\ | ||||
| 	src/mesa/program/lex.yy.c			\ | ||||
| 	src/mesa/program/program_parse.tab.c		\ | ||||
| 	src/mesa/program/program_parse.tab.h		\ | ||||
| 	`git ls-files | grep "Makefile.am" | sed -e "s/Makefile.am/Makefile.in/"` | ||||
|  | ||||
|  | ||||
| IGNORE_FILES = \ | ||||
| 	-x autogen.sh | ||||
|  | ||||
|  | ||||
| parsers: configure | ||||
| 	$(MAKE) -C src/glsl glsl_parser.cpp glsl_parser.h glsl_lexer.cpp glcpp/glcpp-lex.c glcpp/glcpp-parse.c glcpp/glcpp-parse.h | ||||
| 	$(MAKE) -C src/mesa program/lex.yy.c program/program_parse.tab.c program/program_parse.tab.h | ||||
|  | ||||
| # Everything for new a Mesa release: | ||||
| ARCHIVES = $(PACKAGE_NAME).tar.gz \ | ||||
| 	$(PACKAGE_NAME).tar.bz2 \ | ||||
| 	$(PACKAGE_NAME).zip | ||||
|  | ||||
| tarballs: md5 | ||||
| 	rm -f ../$(PACKAGE_DIR) $(PACKAGE_NAME).tar | ||||
|  | ||||
| manifest.txt: .git | ||||
| 	( \ | ||||
| 		ls -1 $(EXTRA_FILES) ; \ | ||||
| 		git ls-files $(IGNORE_FILES) \ | ||||
| 	) | sed -e '/^\(.*\/\)\?\./d' -e "s@^@$(PACKAGE_DIR)/@" > $@ | ||||
|  | ||||
| ../$(PACKAGE_DIR): | ||||
| 	ln -s $(PWD) $@ | ||||
|  | ||||
| $(PACKAGE_NAME).tar: parsers ../$(PACKAGE_DIR) manifest.txt | ||||
| 	cd .. ; tar -cf $(PACKAGE_DIR)/$(PACKAGE_NAME).tar -T $(PACKAGE_DIR)/manifest.txt | ||||
|  | ||||
| $(PACKAGE_NAME).tar.gz: $(PACKAGE_NAME).tar ../$(PACKAGE_DIR) | ||||
| 	gzip --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.gz | ||||
|  | ||||
| $(PACKAGE_NAME).tar.bz2: $(PACKAGE_NAME).tar | ||||
| 	bzip2 --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.bz2 | ||||
|  | ||||
| $(PACKAGE_NAME).zip: parsers ../$(PACKAGE_DIR) manifest.txt | ||||
| 	rm -f $(PACKAGE_NAME).zip ; \ | ||||
| 	cd .. ; \ | ||||
| 	zip -q -@ $(PACKAGE_NAME).zip < $(PACKAGE_DIR)/manifest.txt ; \ | ||||
| 	mv $(PACKAGE_NAME).zip $(PACKAGE_DIR) | ||||
|  | ||||
| md5: $(ARCHIVES) | ||||
| 	@-md5sum $(PACKAGE_NAME).tar.gz | ||||
| 	@-md5sum $(PACKAGE_NAME).tar.bz2 | ||||
| 	@-md5sum $(PACKAGE_NAME).zip | ||||
|  | ||||
| .PHONY: tarballs md5 | ||||
|   | ||||
							
								
								
									
										60
									
								
								README.rst
									
									
									
									
									
								
							
							
						
						
									
										60
									
								
								README.rst
									
									
									
									
									
								
							| @@ -1,60 +0,0 @@ | ||||
| `Mesa <https://mesa3d.org>`_ - The 3D Graphics Library | ||||
| ====================================================== | ||||
|  | ||||
|  | ||||
| Source | ||||
| ------ | ||||
|  | ||||
| This repository lives at https://gitlab.freedesktop.org/mesa/mesa. | ||||
| Other repositories are likely forks, and code found there is not supported. | ||||
|  | ||||
|  | ||||
| Build & install | ||||
| --------------- | ||||
|  | ||||
| You can find more information in our documentation (`docs/install.html | ||||
| <https://mesa3d.org/install.html>`_), but the recommended way is to use | ||||
| Meson (`docs/meson.html <https://mesa3d.org/meson.html>`_): | ||||
|  | ||||
| .. code-block:: sh | ||||
|  | ||||
|   $ mkdir build | ||||
|   $ cd build | ||||
|   $ meson .. | ||||
|   $ sudo ninja install | ||||
|  | ||||
|  | ||||
| Support | ||||
| ------- | ||||
|  | ||||
| Many Mesa devs hang on IRC; if you're not sure which channel is | ||||
| appropriate, you should ask your question on `Freenode's #dri-devel | ||||
| <irc://chat.freenode.net#dri-devel>`_, someone will redirect you if | ||||
| necessary. | ||||
| Remember that not everyone is in the same timezone as you, so it might | ||||
| take a while before someone qualified sees your question. | ||||
| To figure out who you're talking to, or which nick to ping for your | ||||
| question, check out `Who's Who on IRC | ||||
| <https://dri.freedesktop.org/wiki/WhosWho/>`_. | ||||
|  | ||||
| The next best option is to ask your question in an email to the | ||||
| mailing lists: `mesa-dev\@lists.freedesktop.org | ||||
| <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>`_ | ||||
|  | ||||
|  | ||||
| Bug reports | ||||
| ----------- | ||||
|  | ||||
| If you think something isn't working properly, please file a bug report | ||||
| (`docs/bugs.html <https://mesa3d.org/bugs.html>`_). | ||||
|  | ||||
|  | ||||
| Contributing | ||||
| ------------ | ||||
|  | ||||
| Contributions are welcome, and step-by-step instructions can be found in our | ||||
| documentation (`docs/submittingpatches.html | ||||
| <https://mesa3d.org/submittingpatches.html>`_). | ||||
|  | ||||
| Note that Mesa uses email mailing-lists for patches submission, review and | ||||
| discussions. | ||||
							
								
								
									
										145
									
								
								REVIEWERS
									
									
									
									
									
								
							
							
						
						
									
										145
									
								
								REVIEWERS
									
									
									
									
									
								
							| @@ -1,145 +0,0 @@ | ||||
| Overview: | ||||
|  | ||||
| 	This file is similar in syntax (or more precisly a subset) of what is | ||||
| 	used by the MAINTAINERS file in the linux kernel.  Some fields do not | ||||
| 	apply, for example, in all cases, send patches to: | ||||
|  | ||||
| 		mesa-dev@lists.freedesktop.org | ||||
|  | ||||
| 	and in all cases the patchwork instance is: | ||||
|  | ||||
| 		https://patchwork.freedesktop.org/project/mesa/ | ||||
|  | ||||
| 	The purpose is not exactly the same the MAINTAINERS file in the linux | ||||
| 	kernel, as there are not official/formal maintainers of different | ||||
| 	subsystems in mesa, but is meant to give an idea of who to CC for | ||||
| 	various patches for review, and to allow the use of | ||||
| 	scripts/get_reviewer.pl as git --cc-cmd. | ||||
|  | ||||
| Usage: | ||||
|  | ||||
| 	When sending patches: | ||||
|  | ||||
| 		git send-email --cc-cmd ./scripts/get_reviewer.pl ... | ||||
|  | ||||
| 	Or to configure as default: | ||||
|  | ||||
| 		git config sendemail.cccmd ./scripts/get_reviewer.pl | ||||
|  | ||||
| Descriptions of section entries: | ||||
|  | ||||
| 	R: Designated reviewer: FullName <address@domain> | ||||
| 	   These reviewers should be CCed on patches. | ||||
| 	F: Files and directories with wildcard patterns. | ||||
| 	   A trailing slash includes all files and subdirectory files. | ||||
| 	   F:	drivers/net/	all files in and below drivers/net | ||||
| 	   F:	drivers/net/*	all files in drivers/net, but not below | ||||
| 	   F:	*/net/*		all files in "any top level directory"/net | ||||
| 	   One pattern per line.  Multiple F: lines acceptable. | ||||
| 	N: Files and directories with regex patterns. | ||||
| 	   N:	[^a-z]tegra	all files whose path contains the word tegra | ||||
| 	   One pattern per line.  Multiple N: lines acceptable. | ||||
| 	   scripts/get_maintainer.pl has different behavior for files that | ||||
| 	   match F: pattern and matches of N: patterns.  By default, | ||||
| 	   get_maintainer will not look at git log history when an F: pattern | ||||
| 	   match occurs.  When an N: match occurs, git log history is used | ||||
| 	   to also notify the people that have git commit signatures. | ||||
|  | ||||
| Maintainers List (try to look for most precise areas first) | ||||
|  | ||||
| Note: this is an opt-in system, I have not tried to add anyone who hasn't | ||||
| either asked me or sent a patch to add themselves. | ||||
|  | ||||
| 		----------------------------------- | ||||
|  | ||||
| NIR | ||||
| R:	Jason Ekstrand <jason@jlekstrand.net> | ||||
| F:	src/compiler/nir/ | ||||
|  | ||||
| DOCUMENTATION | ||||
| R: Emil Velikov <emil.l.velikov@gmail.com> | ||||
| R: Eric Engestrom <eric@engestrom.ch> | ||||
| F: docs/ | ||||
| F: doxygen/ | ||||
|  | ||||
| COMPATIBILITY HEADERS | ||||
| R: Emil Velikov <emil.l.velikov@gmail.com> | ||||
| F: include/c99* | ||||
|  | ||||
| DRI LOADER | ||||
| R: Emil Velikov <emil.l.velikov@gmail.com> | ||||
| F: src/loader/ | ||||
|  | ||||
| EGL | ||||
| R: Eric Engestrom <eric@engestrom.ch> | ||||
| R: Emil Velikov <emil.l.velikov@gmail.com> | ||||
| F: src/egl/ | ||||
| F: include/EGL/ | ||||
|  | ||||
| HAIKU | ||||
| R: Alexander von Gluck IV <kallisti5@unixzen.com> | ||||
| F: include/HaikuGL/ | ||||
| F: src/egl/drivers/haiku/ | ||||
| F: src/gallium/state_trackers/hgl/ | ||||
| F: src/gallium/targets/haiku-softpipe/ | ||||
| F: src/gallium/winsys/sw/hgl/ | ||||
| F: src/hgl/ | ||||
|  | ||||
| GALLIUM LOADER | ||||
| R: Emil Velikov <emil.l.velikov@gmail.com> | ||||
| F: src/gallium/auxiliary/pipe-loader/ | ||||
| F: src/gallium/auxiliary/target-helpers/ | ||||
|  | ||||
| GALLIUM TARGETS | ||||
| R: Emil Velikov <emil.l.velikov@gmail.com> | ||||
| F: src/gallium/targets/ | ||||
|  | ||||
| AUTOCONF BUILD | ||||
| R: Emil Velikov <emil.l.velikov@gmail.com> | ||||
| F: autogen.sh | ||||
| F: configure.ac | ||||
| F: */Automake.inc | ||||
| F: */Makefile.*am | ||||
| F: */Makefile.sources | ||||
|  | ||||
| SCONS BUILD | ||||
| F: scons/ | ||||
| F: */SConscript* | ||||
| F: */Makefile.sources | ||||
|  | ||||
| ANDROID BUILD | ||||
| R: Emil Velikov <emil.l.velikov@gmail.com> | ||||
| R: Rob Herring <robh@kernel.org> | ||||
| F: CleanSpec.mk | ||||
| F: */Android.*mk | ||||
| F: */Makefile.sources | ||||
|  | ||||
| MESON BUILD | ||||
| R: Dylan Baker <dylan@pnwbakers.com> | ||||
| R: Eric Engestrom <eric@engestrom.ch> | ||||
| F: */meson.build | ||||
| F: meson.build | ||||
| F: meson_options.txt | ||||
|  | ||||
| ANDROID EGL SUPPORT | ||||
| R: Rob Herring <robh@kernel.org> | ||||
| R: Tomasz Figa <tfiga@chromium.org> | ||||
| F: src/egl/drivers/dri2/platform_android.c | ||||
|  | ||||
| WAYLAND EGL SUPPORT | ||||
| R: Daniel Stone <daniels@collabora.com> | ||||
| F: src/egl/wayland/* | ||||
| F: src/egl/drivers/dri2/platform_wayland.c | ||||
|  | ||||
| FREEDRENO | ||||
| R:	Rob Clark <robclark@freedesktop.org> | ||||
| F:	src/gallium/drivers/freedreno/ | ||||
|  | ||||
| GLX | ||||
| R: Adam Jackson <ajax@redhat.com> | ||||
| F: src/glx/ | ||||
|  | ||||
| VULKAN | ||||
| R: Eric Engestrom <eric@engestrom.ch> | ||||
| F: src/vulkan/ | ||||
| F: include/vulkan/ | ||||
							
								
								
									
										48
									
								
								SConstruct
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								SConstruct
									
									
									
									
									
								
							| @@ -1,7 +1,7 @@ | ||||
| ####################################################################### | ||||
| # Top-level SConstruct | ||||
| # | ||||
| # For example, invoke scons as | ||||
| # For example, invoke scons as  | ||||
| # | ||||
| #   scons build=debug llvm=yes machine=x86 | ||||
| # | ||||
| @@ -12,13 +12,13 @@ | ||||
| #   build='debug' | ||||
| #   llvm=True | ||||
| #   machine='x86' | ||||
| # | ||||
| #  | ||||
| # Invoke | ||||
| # | ||||
| #   scons -h | ||||
| # | ||||
| # to get the full list of options. See scons manpage for more info. | ||||
| # | ||||
| #   | ||||
|  | ||||
| import os | ||||
| import os.path | ||||
| @@ -27,13 +27,6 @@ import SCons.Util | ||||
|  | ||||
| import common | ||||
|  | ||||
| ####################################################################### | ||||
| # Minimal scons version | ||||
|  | ||||
| EnsureSConsVersion(2, 4) | ||||
| EnsurePythonVersion(2, 7) | ||||
|  | ||||
|  | ||||
| ####################################################################### | ||||
| # Configuration options | ||||
|  | ||||
| @@ -43,7 +36,7 @@ common.AddOptions(opts) | ||||
| env = Environment( | ||||
| 	options = opts, | ||||
| 	tools = ['gallium'], | ||||
| 	toolpath = ['#scons'], | ||||
| 	toolpath = ['#scons'],	 | ||||
| 	ENV = os.environ, | ||||
| ) | ||||
|  | ||||
| @@ -57,15 +50,22 @@ except KeyError: | ||||
|     pass | ||||
| else: | ||||
|     targets = targets.split(',') | ||||
|     print('scons: warning: targets option is deprecated; pass the targets on their own such as') | ||||
|     print() | ||||
|     print('  scons %s' % ' '.join(targets)) | ||||
|     print() | ||||
|     print 'scons: warning: targets option is deprecated; pass the targets on their own such as' | ||||
|     print | ||||
|     print '  scons %s' % ' '.join(targets) | ||||
|     print  | ||||
|     COMMAND_LINE_TARGETS.append(targets) | ||||
|  | ||||
|  | ||||
| Help(opts.GenerateHelpText(env)) | ||||
|  | ||||
| # fail early for a common error on windows | ||||
| if env['gles']: | ||||
|     try: | ||||
|         import libxml2 | ||||
|     except ImportError: | ||||
|         raise SCons.Errors.UserError, "GLES requires libxml2-python to build" | ||||
|  | ||||
| ####################################################################### | ||||
| # Environment setup | ||||
|  | ||||
| @@ -87,18 +87,16 @@ env.Append(CPPPATH = [ | ||||
| 	'#/src/gallium/winsys', | ||||
| ]) | ||||
|  | ||||
| if env['msvc']: | ||||
|     env.Append(CPPPATH = ['#include/c99']) | ||||
|  | ||||
| # for debugging | ||||
| #print env.Dump() | ||||
|  | ||||
|  | ||||
| # Add a check target for running tests | ||||
| check = env.Alias('check') | ||||
| env.AlwaysBuild(check) | ||||
|  | ||||
|  | ||||
| ####################################################################### | ||||
| # Invoke host SConscripts | ||||
| # | ||||
| # Invoke host SConscripts  | ||||
| #  | ||||
| # For things that are meant to be run on the native host build machine, instead | ||||
| # of the target machine. | ||||
| # | ||||
| @@ -124,6 +122,9 @@ if env['crosscompile'] and not env['embedded']: | ||||
|     host_env['hostonly'] = True | ||||
|     assert host_env['crosscompile'] == False | ||||
|  | ||||
|     if host_env['msvc']: | ||||
|         host_env.Append(CPPPATH = ['#include/c99']) | ||||
|  | ||||
|     target_env = env | ||||
|     env = host_env | ||||
|     Export('env') | ||||
| @@ -159,7 +160,8 @@ try: | ||||
| except ImportError: | ||||
|     pass | ||||
| else: | ||||
|     aliases = sorted(default_ans.keys()) | ||||
|     aliases = default_ans.keys() | ||||
|     aliases.sort() | ||||
|     env.Help('\n') | ||||
|     env.Help('Recognized targets:\n') | ||||
|     for alias in aliases: | ||||
|   | ||||
							
								
								
									
										92
									
								
								appveyor.yml
									
									
									
									
									
								
							
							
						
						
									
										92
									
								
								appveyor.yml
									
									
									
									
									
								
							| @@ -1,92 +0,0 @@ | ||||
| # 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.yml' | ||||
| # - 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.*$/ | ||||
|  | ||||
| # Don't download the full Mesa history to speed up cloning.  However the clone | ||||
| # depth must not be too small, otherwise builds might fail when lots of patches | ||||
| # are committed in succession, because the desired commit is not found on the | ||||
| # truncated history. | ||||
| # | ||||
| # See also: | ||||
| # - https://www.appveyor.com/blog/2014/06/04/shallow-clone-for-git-repositories | ||||
| clone_depth: 100 | ||||
|  | ||||
| # https://www.appveyor.com/docs/build-cache/ | ||||
| cache: | ||||
| - '%LOCALAPPDATA%\pip\Cache -> appveyor.yml' | ||||
| - win_flex_bison-2.5.15.zip | ||||
| - llvm-5.0.1-msvc2017-mtd.7z | ||||
|  | ||||
| os: Visual Studio 2017 | ||||
|  | ||||
| init: | ||||
| # Appveyor defaults core.autocrlf to input instead of the default (true), but | ||||
| # that can hide problems processing CRLF text on Windows | ||||
| - git config --global core.autocrlf true | ||||
|  | ||||
| environment: | ||||
|   WINFLEXBISON_VERSION: 2.5.15 | ||||
|   LLVM_ARCHIVE: llvm-5.0.1-msvc2017-mtd.7z | ||||
|  | ||||
| install: | ||||
| # Check git config | ||||
| - git config core.autocrlf | ||||
| # Check pip | ||||
| - python --version | ||||
| - python -m pip --version | ||||
| # Install Mako | ||||
| - python -m pip install Mako==1.0.7 | ||||
| # Install pywin32 extensions, needed by SCons | ||||
| - python -m pip install pypiwin32 | ||||
| # Install python wheels, necessary to install SCons via pip | ||||
| - python -m pip install wheel | ||||
| # Install SCons | ||||
| - python -m pip install scons==3.0.1 | ||||
| - scons --version | ||||
| # Install flex/bison | ||||
| - set WINFLEXBISON_ARCHIVE=win_flex_bison-%WINFLEXBISON_VERSION%.zip | ||||
| - if not exist "%WINFLEXBISON_ARCHIVE%" appveyor DownloadFile "https://github.com/lexxmark/winflexbison/releases/download/v%WINFLEXBISON_VERSION%/%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=14.1 llvm=1 | ||||
|  | ||||
| after_build: | ||||
| - scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.1 llvm=1 check | ||||
|  | ||||
|  | ||||
| # 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. | ||||
| @@ -6,8 +6,8 @@ test -z "$srcdir" && srcdir=. | ||||
| ORIGDIR=`pwd` | ||||
| cd "$srcdir" | ||||
|  | ||||
| autoreconf --force --verbose --install || exit 1 | ||||
| cd "$ORIGDIR" || exit $? | ||||
| autoreconf -v --install || exit 1 | ||||
| cd $ORIGDIR || exit $? | ||||
|  | ||||
| if test -z "$NOCONFIGURE"; then | ||||
|     "$srcdir"/configure "$@" | ||||
|   | ||||
| @@ -1,2 +0,0 @@ | ||||
| [*.sh] | ||||
| indent_style = tab | ||||
| @@ -1,4 +1,4 @@ | ||||
| #!/bin/sh | ||||
| #!/bin/bash | ||||
|  | ||||
| # This script is used to generate the list of fixed bugs that | ||||
| # appears in the release notes files, with HTML formatting. | ||||
| @@ -11,25 +11,42 @@ | ||||
| # $ bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3 | ||||
| # $ bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3 > bugfixes | ||||
| # $ bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3 | tee bugfixes | ||||
| # $ DRYRUN=yes bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3 | ||||
| # $ DRYRUN=yes bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3 | wc -l | ||||
|  | ||||
|  | ||||
| # regex pattern: trim before bug number | ||||
| trim_before='s/.*show_bug.cgi?id=\([0-9]*\).*/\1/' | ||||
| # regex pattern: trim before url | ||||
| trim_before='s/.*\(http\)/\1/' | ||||
|  | ||||
| # regex pattern: reconstruct the url | ||||
| use_after='s,^,https://bugs.freedesktop.org/show_bug.cgi?id=,' | ||||
| # regex pattern: trim after url | ||||
| trim_after='s/\(show_bug.cgi?id=[0-9]*\).*/\1/' | ||||
|  | ||||
| echo "<ul>" | ||||
| echo "" | ||||
| # regex pattern: always use https | ||||
| use_https='s/http:/https:/' | ||||
|  | ||||
| # extract fdo urls from commit log | ||||
| git log --pretty=medium $* | grep 'bugs.freedesktop.org/show_bug' | sed -e $trim_before | sort -n -u | sed -e $use_after |\ | ||||
| while read url | ||||
| do | ||||
| 	id=$(echo $url | cut -d'=' -f2) | ||||
| 	summary=$(wget --quiet -O - $url | grep -e '<title>.*</title>' | sed -e 's/ *<title>[0-9]\+ – \(.*\)<\/title>/\1/') | ||||
| 	echo "<li><a href=\"$url\">Bug $id</a> - $summary</li>" | ||||
| 	echo "" | ||||
| done | ||||
| urls=$(git log $* | grep 'bugs.freedesktop.org/show_bug' | sed -e $trim_before -e $trim_after -e $use_https | sort | uniq) | ||||
|  | ||||
| echo "</ul>" | ||||
| # if DRYRUN is set to "yes", simply print the URLs and don't fetch the | ||||
| # details from fdo bugzilla. | ||||
| #DRYRUN=yes | ||||
|  | ||||
| if [ "x$DRYRUN" = xyes ]; then | ||||
| 	for i in $urls | ||||
| 	do | ||||
| 		echo $i | ||||
| 	done | ||||
| else | ||||
| 	echo "<ul>" | ||||
| 	echo "" | ||||
|  | ||||
| 	for i in $urls | ||||
| 	do | ||||
| 		id=$(echo $i | cut -d'=' -f2) | ||||
| 		summary=$(wget --quiet -O - $i | grep -e '<title>.*</title>' | sed -e 's/ *<title>Bug [0-9]\+ – \(.*\)<\/title>/\1/') | ||||
| 		echo "<li><a href=\"$i\">Bug $id</a> - $summary</li>" | ||||
| 		echo "" | ||||
| 	done | ||||
|  | ||||
| 	echo "</ul>" | ||||
| fi | ||||
|   | ||||
| @@ -1,45 +0,0 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| # Script for generating a list of candidates which fix commits that have been | ||||
| # previously cherry-picked to a stable branch. | ||||
| # | ||||
| # Usage examples: | ||||
| # | ||||
| # $ bin/get-extra-pick-list.sh | ||||
| # $ bin/get-extra-pick-list.sh > picklist | ||||
| # $ bin/get-extra-pick-list.sh | tee picklist | ||||
|  | ||||
| # Use the last branchpoint as our limit for the search | ||||
| latest_branchpoint=`git merge-base origin/master HEAD` | ||||
|  | ||||
| # Grep for commits with "cherry picked from commit" in the commit message. | ||||
| git log --reverse --grep="cherry picked from commit" $latest_branchpoint..HEAD |\ | ||||
| 	grep "cherry picked from commit" |\ | ||||
| 	sed -e 's/^[[:space:]]*(cherry picked from commit[[:space:]]*//' -e 's/)//'  > already_picked | ||||
|  | ||||
| # For each cherry-picked commit... | ||||
| cat already_picked | cut -c -8 |\ | ||||
| while read sha | ||||
| do | ||||
| 	# ... check if it's referenced (fixed by another) patch | ||||
| 	git log -n1 --pretty=oneline --grep=$sha $latest_branchpoint..origin/master |\ | ||||
| 		cut -c -8 |\ | ||||
| 	while read candidate | ||||
| 	do | ||||
| 		# And flag up if it hasn't landed in branch yet. | ||||
| 		if grep -q ^$candidate already_picked ; then | ||||
| 			continue | ||||
| 		fi | ||||
| 		# Or if it isn't in the ignore list. | ||||
| 		if [ -f bin/.cherry-ignore ] ; then | ||||
| 			if grep -q ^$candidate bin/.cherry-ignore ; then | ||||
| 				continue | ||||
| 			fi | ||||
| 		fi | ||||
| 		printf "Commit \"%s\" references %s\n" \ | ||||
| 		       "`git log -n1 --pretty=oneline $candidate`" \ | ||||
| 		       "$sha" | ||||
| 	done | ||||
| done | ||||
|  | ||||
| rm -f already_picked | ||||
| @@ -7,107 +7,18 @@ | ||||
| # $ bin/get-pick-list.sh | ||||
| # $ bin/get-pick-list.sh > picklist | ||||
| # $ bin/get-pick-list.sh | tee picklist | ||||
| # | ||||
| # The output is as follows: | ||||
| # [nomination_type] commit_sha commit summary | ||||
|  | ||||
| is_stable_nomination() | ||||
| { | ||||
| 	git show --pretty=medium --summary "$1" | grep -q -i -o "CC:.*mesa-stable" | ||||
| } | ||||
|  | ||||
| is_typod_nomination() | ||||
| { | ||||
| 	git show --pretty=medium --summary "$1" | grep -q -i -o "CC:.*mesa-dev" | ||||
| } | ||||
|  | ||||
| fixes= | ||||
|  | ||||
| # Helper to handle various mistypos of the fixes tag. | ||||
| # The tag string itself is passed as argument and normalised within. | ||||
| # | ||||
| # Resulting string in the global variable "fixes" and contains entries | ||||
| # in the form "fixes:$sha" | ||||
| is_sha_nomination() | ||||
| { | ||||
| 	fixes=`git show --pretty=medium -s $1 | tr -d "\n" | \ | ||||
| 		sed -e 's/'"$2"'/\nfixes:/Ig' | \ | ||||
| 		grep -Eo 'fixes:[a-f0-9]{8,40}'` | ||||
|  | ||||
| 	fixes_count=`echo "$fixes" | grep "fixes:" | wc -l` | ||||
| 	if test $fixes_count -eq 0; then | ||||
| 		return 1 | ||||
| 	fi | ||||
|  | ||||
| 	# Throw a warning for each invalid sha | ||||
| 	while test $fixes_count -gt 0; do | ||||
| 		# Treat only the current line | ||||
| 		id=`echo "$fixes" | tail -n $fixes_count | head -n 1 | cut -d : -f 2` | ||||
| 		fixes_count=$(($fixes_count-1)) | ||||
| 		if ! git show $id >/dev/null 2>&1; then | ||||
| 			echo WARNING: Commit $1 lists invalid sha $id | ||||
| 		fi | ||||
| 	done | ||||
|  | ||||
| 	return 0 | ||||
| } | ||||
|  | ||||
| # Checks if at least one of offending commits, listed in the global | ||||
| # "fixes", is in branch. | ||||
| sha_in_range() | ||||
| { | ||||
| 	fixes_count=`echo "$fixes" | grep "fixes:" | wc -l` | ||||
| 	while test $fixes_count -gt 0; do | ||||
| 		# Treat only the current line | ||||
| 		id=`echo "$fixes" | tail -n $fixes_count | head -n 1 | cut -d : -f 2` | ||||
| 		fixes_count=$(($fixes_count-1)) | ||||
|  | ||||
| 		# Be that cherry-picked ... | ||||
| 		# ... or landed before the branchpoint. | ||||
| 		if grep -q ^$id already_picked || | ||||
| 		   grep -q ^$id already_landed ; then | ||||
| 			return 0 | ||||
| 		fi | ||||
| 	done | ||||
| 	return 1 | ||||
| } | ||||
|  | ||||
| is_fixes_nomination() | ||||
| { | ||||
| 	is_sha_nomination "$1" "fixes:[[:space:]]*" | ||||
| 	if test $? -eq 0; then | ||||
| 		return 0 | ||||
| 	fi | ||||
| 	is_sha_nomination "$1" "fixes[[:space:]]\+" | ||||
| } | ||||
|  | ||||
| is_brokenby_nomination() | ||||
| { | ||||
| 	is_sha_nomination "$1" "broken by" | ||||
| } | ||||
|  | ||||
| is_revert_nomination() | ||||
| { | ||||
| 	is_sha_nomination "$1" "This reverts commit " | ||||
| } | ||||
|  | ||||
| # Use the last branchpoint as our limit for the search | ||||
| latest_branchpoint=`git merge-base origin/master HEAD` | ||||
|  | ||||
| # List all the commits between day 1 and the branch point... | ||||
| git log --reverse --pretty=%H $latest_branchpoint > already_landed | ||||
|  | ||||
| # ... and the ones cherry-picked. | ||||
| git log --reverse --pretty=medium --grep="cherry picked from commit" $latest_branchpoint..HEAD |\ | ||||
| # Grep for commits with "cherry picked from commit" in the commit message. | ||||
| git log --reverse --grep="cherry picked from commit" origin/master..HEAD |\ | ||||
| 	grep "cherry picked from commit" |\ | ||||
| 	sed -e 's/^[[:space:]]*(cherry picked from commit[[:space:]]*//' -e 's/)//' > already_picked | ||||
|  | ||||
| # Grep for potential candidates | ||||
| git log --reverse --pretty=%H -i --grep='^CC:.*mesa-stable\|^CC:.*mesa-dev\|\<fixes\>\|\<broken by\>\|This reverts commit' $latest_branchpoint..origin/master |\ | ||||
| # Grep for commits that were marked as a candidate for the stable tree. | ||||
| git log --reverse --pretty=%H -i --grep='^\([[:space:]]*NOTE: .*[Cc]andidate\|CC:.*mesa-stable\)' HEAD..origin/master |\ | ||||
| while read sha | ||||
| do | ||||
| 	# Check to see whether the patch is on the ignore list. | ||||
| 	if test -f bin/.cherry-ignore; then | ||||
| 	if [ -f bin/.cherry-ignore ] ; then | ||||
| 		if grep -q ^$sha bin/.cherry-ignore ; then | ||||
| 			continue | ||||
| 		fi | ||||
| @@ -118,33 +29,7 @@ do | ||||
| 		continue | ||||
| 	fi | ||||
|  | ||||
| 	if is_fixes_nomination "$sha"; then | ||||
| 		tag=fixes | ||||
| 	elif is_brokenby_nomination "$sha"; then | ||||
| 		tag=brokenby | ||||
| 	elif is_revert_nomination "$sha"; then | ||||
| 		tag=revert | ||||
| 	elif is_stable_nomination "$sha"; then | ||||
| 		tag=stable | ||||
| 	elif is_typod_nomination "$sha"; then | ||||
| 		tag=typod | ||||
| 	else | ||||
| 		continue | ||||
| 	fi | ||||
|  | ||||
| 	case "$tag" in | ||||
| 	fixes | brokenby | revert ) | ||||
| 		if ! sha_in_range; then | ||||
| 			continue | ||||
| 		fi | ||||
| 		;; | ||||
| 	* ) | ||||
| 		;; | ||||
| 	esac | ||||
|  | ||||
| 	printf "[ %8s ] " "$tag" | ||||
| 	git --no-pager show --no-patch --oneline $sha | ||||
| 	git log -n1 --pretty=oneline $sha | cat | ||||
| done | ||||
|  | ||||
| rm -f already_picked | ||||
| rm -f already_landed | ||||
|   | ||||
| @@ -1,50 +0,0 @@ | ||||
| """ | ||||
| Generate the contents of the git_sha1.h file. | ||||
| The output of this script goes to stdout. | ||||
| """ | ||||
|  | ||||
|  | ||||
| import argparse | ||||
| import os | ||||
| import os.path | ||||
| import subprocess | ||||
| import sys | ||||
|  | ||||
|  | ||||
| def get_git_sha1(): | ||||
|     """Try to get the git SHA1 with git rev-parse.""" | ||||
|     git_dir = os.path.join(os.path.dirname(sys.argv[0]), '..', '.git') | ||||
|     try: | ||||
|         git_sha1 = subprocess.check_output([ | ||||
|             'git', | ||||
|             '--git-dir=' + git_dir, | ||||
|             'rev-parse', | ||||
|             'HEAD', | ||||
|         ], stderr=open(os.devnull, 'w')).decode("ascii") | ||||
|     except: | ||||
|         # don't print anything if it fails | ||||
|         git_sha1 = '' | ||||
|     return git_sha1 | ||||
|  | ||||
| def write_if_different(contents): | ||||
|     """ | ||||
|     Avoid touching the output file if it doesn't need modifications | ||||
|     Useful to avoid triggering rebuilds when nothing has changed. | ||||
|     """ | ||||
|     if os.path.isfile(args.output): | ||||
|         with open(args.output, 'r') as file: | ||||
|             if file.read() == contents: | ||||
|                 return | ||||
|     with open(args.output, 'w') as file: | ||||
|         file.write(contents) | ||||
|  | ||||
| parser = argparse.ArgumentParser() | ||||
| parser.add_argument('--output', help='File to write the #define in', | ||||
|                     required=True) | ||||
| args = parser.parse_args() | ||||
|  | ||||
| git_sha1 = os.environ.get('MESA_GIT_SHA1_OVERRIDE', get_git_sha1())[:10] | ||||
| if git_sha1: | ||||
|     write_if_different('#define MESA_GIT_SHA1 " (git-' + git_sha1 + ')"') | ||||
| else: | ||||
|     write_if_different('#define MESA_GIT_SHA1 ""') | ||||
| @@ -1,74 +0,0 @@ | ||||
| # encoding=utf-8 | ||||
| # Copyright © 2017-2018 Intel Corporation | ||||
|  | ||||
| # Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| # of this software and associated documentation files (the "Software"), to deal | ||||
| # in the Software without restriction, including without limitation the rights | ||||
| # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| # copies of the Software, and to permit persons to whom the Software is | ||||
| # furnished to do so, subject to the following conditions: | ||||
|  | ||||
| # The above copyright notice and this permission notice shall be included in | ||||
| # all copies or substantial portions of the Software. | ||||
|  | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
| # SOFTWARE. | ||||
|  | ||||
| """Script to install megadriver symlinks for meson.""" | ||||
|  | ||||
| from __future__ import print_function | ||||
| import argparse | ||||
| import os | ||||
| import shutil | ||||
|  | ||||
|  | ||||
| def main(): | ||||
|     parser = argparse.ArgumentParser() | ||||
|     parser.add_argument('megadriver') | ||||
|     parser.add_argument('libdir') | ||||
|     parser.add_argument('drivers', nargs='+') | ||||
|     args = parser.parse_args() | ||||
|  | ||||
|     if os.path.isabs(args.libdir): | ||||
|         to = os.path.join(os.environ.get('DESTDIR', '/'), args.libdir[1:]) | ||||
|     else: | ||||
|         to = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], args.libdir) | ||||
|  | ||||
|     master = os.path.join(to, os.path.basename(args.megadriver)) | ||||
|  | ||||
|     if not os.path.exists(to): | ||||
|         if os.path.lexists(to): | ||||
|             os.unlink(to) | ||||
|         os.makedirs(to) | ||||
|     shutil.copy(args.megadriver, master) | ||||
|  | ||||
|     for driver in args.drivers: | ||||
|         abs_driver = os.path.join(to, driver) | ||||
|  | ||||
|         if os.path.lexists(abs_driver): | ||||
|             os.unlink(abs_driver) | ||||
|         print('installing {} to {}'.format(args.megadriver, abs_driver)) | ||||
|         os.link(master, abs_driver) | ||||
|  | ||||
|         try: | ||||
|             ret = os.getcwd() | ||||
|             os.chdir(to) | ||||
|  | ||||
|             name, ext = os.path.splitext(driver) | ||||
|             while ext != '.so': | ||||
|                 if os.path.lexists(name): | ||||
|                     os.unlink(name) | ||||
|                 os.symlink(driver, name) | ||||
|                 name, ext = os.path.splitext(name) | ||||
|         finally: | ||||
|             os.chdir(ret) | ||||
|     os.unlink(master) | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     main() | ||||
| @@ -1,88 +0,0 @@ | ||||
| #!/usr/bin/env python3 | ||||
| # Copyright © 2019 Intel Corporation | ||||
|  | ||||
| # Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| # of this software and associated documentation files (the "Software"), to deal | ||||
| # in the Software without restriction, including without limitation the rights | ||||
| # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| # copies of the Software, and to permit persons to whom the Software is | ||||
| # furnished to do so, subject to the following conditions: | ||||
|  | ||||
| # The above copyright notice and this permission notice shall be included in | ||||
| # all copies or substantial portions of the Software. | ||||
|  | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
| # SOFTWARE. | ||||
|  | ||||
| """This script reads a meson build directory and gives back the command line it | ||||
| was configured with. | ||||
|  | ||||
| This only works for meson 0.49.0 and newer. | ||||
| """ | ||||
|  | ||||
| import argparse | ||||
| import ast | ||||
| import configparser | ||||
| import pathlib | ||||
| import sys | ||||
|  | ||||
|  | ||||
| def parse_args() -> argparse.Namespace: | ||||
|     """Parse arguments.""" | ||||
|     parser = argparse.ArgumentParser() | ||||
|     parser.add_argument( | ||||
|         'build_dir', | ||||
|         help='Path the meson build directory') | ||||
|     args = parser.parse_args() | ||||
|     return args | ||||
|  | ||||
|  | ||||
| def load_config(path: pathlib.Path) -> configparser.ConfigParser: | ||||
|     """Load config file.""" | ||||
|     conf = configparser.ConfigParser() | ||||
|     with path.open() as f: | ||||
|         conf.read_file(f) | ||||
|     return conf | ||||
|  | ||||
|  | ||||
| def build_cmd(conf: configparser.ConfigParser) -> str: | ||||
|     """Rebuild the command line.""" | ||||
|     args = [] | ||||
|     for k, v in conf['options'].items(): | ||||
|         if ' ' in v: | ||||
|             args.append(f'-D{k}="{v}"') | ||||
|         else: | ||||
|             args.append(f'-D{k}={v}') | ||||
|  | ||||
|     cf = conf['properties'].get('cross_file') | ||||
|     if cf: | ||||
|         args.append('--cross-file={}'.format(cf)) | ||||
|     nf = conf['properties'].get('native_file') | ||||
|     if nf: | ||||
|         # this will be in the form "['str', 'str']", so use ast.literal_eval to | ||||
|         # convert it to a list of strings. | ||||
|         nf = ast.literal_eval(nf) | ||||
|         args.extend(['--native-file={}'.format(f) for f in nf]) | ||||
|     return ' '.join(args) | ||||
|  | ||||
|  | ||||
| def main(): | ||||
|     args = parse_args() | ||||
|     path = pathlib.Path(args.build_dir, 'meson-private', 'cmd_line.txt') | ||||
|     if not path.exists(): | ||||
|         print('Cannot find the necessary file to rebuild command line. ' | ||||
|               'Is your meson version >= 0.49.0?', file=sys.stderr) | ||||
|         sys.exit(1) | ||||
|  | ||||
|     conf = load_config(path) | ||||
|     cmd = build_cmd(conf) | ||||
|     print(cmd) | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     main() | ||||
| @@ -1,63 +0,0 @@ | ||||
| #!/usr/bin/env python3 | ||||
|  | ||||
| from os import get_terminal_size | ||||
| from textwrap import wrap | ||||
| from mesonbuild import coredata | ||||
| from mesonbuild import optinterpreter | ||||
|  | ||||
| (COLUMNS, _) = get_terminal_size() | ||||
|  | ||||
| def describe_option(option_name: str, option_default_value: str, | ||||
|                     option_type: str, option_message: str) -> None: | ||||
|     print('name:    ' + option_name) | ||||
|     print('default: ' + option_default_value) | ||||
|     print('type:    ' + option_type) | ||||
|     for line in wrap(option_message, width=COLUMNS - 9): | ||||
|         print('         ' + line) | ||||
|     print('---') | ||||
|  | ||||
| oi = optinterpreter.OptionInterpreter('') | ||||
| oi.process('meson_options.txt') | ||||
|  | ||||
| for (name, value) in oi.options.items(): | ||||
|     if isinstance(value, coredata.UserStringOption): | ||||
|         describe_option(name, | ||||
|                         value.value, | ||||
|                         'string', | ||||
|                         "You can type what you want, but make sure it makes sense") | ||||
|     elif isinstance(value, coredata.UserBooleanOption): | ||||
|         describe_option(name, | ||||
|                         'true' if value.value else 'false', | ||||
|                         'boolean', | ||||
|                         "You can set it to 'true' or 'false'") | ||||
|     elif isinstance(value, coredata.UserIntegerOption): | ||||
|         describe_option(name, | ||||
|                         str(value.value), | ||||
|                         'integer', | ||||
|                         "You can set it to any integer value between '{}' and '{}'".format(value.min_value, value.max_value)) | ||||
|     elif isinstance(value, coredata.UserUmaskOption): | ||||
|         describe_option(name, | ||||
|                         str(value.value), | ||||
|                         'umask', | ||||
|                         "You can set it to 'preserve' or a value between '0000' and '0777'") | ||||
|     elif isinstance(value, coredata.UserComboOption): | ||||
|         choices = '[' + ', '.join(["'" + v + "'" for v in value.choices]) + ']' | ||||
|         describe_option(name, | ||||
|                         value.value, | ||||
|                         'combo', | ||||
|                         "You can set it to any one of those values: " + choices) | ||||
|     elif isinstance(value, coredata.UserArrayOption): | ||||
|         choices = '[' + ', '.join(["'" + v + "'" for v in value.choices]) + ']' | ||||
|         value = '[' + ', '.join(["'" + v + "'" for v in value.value]) + ']' | ||||
|         describe_option(name, | ||||
|                         value, | ||||
|                         'array', | ||||
|                         "You can set it to one or more of those values: " + choices) | ||||
|     elif isinstance(value, coredata.UserFeatureOption): | ||||
|         describe_option(name, | ||||
|                         value.value, | ||||
|                         'feature', | ||||
|                         "You can set it to 'auto', 'enabled', or 'disabled'") | ||||
|     else: | ||||
|         print(name + ' is an option of a type unknown to this script') | ||||
|         print('---') | ||||
| @@ -1,21 +0,0 @@ | ||||
| # Copyright © 2017 Eric Engestrom | ||||
|  | ||||
| # Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| # of this software and associated documentation files (the "Software"), to deal | ||||
| # in the Software without restriction, including without limitation the rights | ||||
| # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| # copies of the Software, and to permit persons to whom the Software is | ||||
| # furnished to do so, subject to the following conditions: | ||||
|  | ||||
| # The above copyright notice and this permission notice shall be included in | ||||
| # all copies or substantial portions of the Software. | ||||
|  | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
| # SOFTWARE. | ||||
|  | ||||
| git_sha1_gen_py = files('git_sha1_gen.py') | ||||
| @@ -1,35 +0,0 @@ | ||||
| #!/usr/bin/env python | ||||
| # encoding=utf-8 | ||||
| # Copyright © 2017 Intel Corporation | ||||
|  | ||||
| # Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| # of this software and associated documentation files (the "Software"), to deal | ||||
| # in the Software without restriction, including without limitation the rights | ||||
| # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| # copies of the Software, and to permit persons to whom the Software is | ||||
| # furnished to do so, subject to the following conditions: | ||||
|  | ||||
| # The above copyright notice and this permission notice shall be included in | ||||
| # all copies or substantial portions of the Software. | ||||
|  | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
| # SOFTWARE. | ||||
|  | ||||
| from __future__ import print_function | ||||
| import os | ||||
|  | ||||
|  | ||||
| def main(): | ||||
|     filename = os.path.join(os.environ['MESON_SOURCE_ROOT'], 'VERSION') | ||||
|     with open(filename) as f: | ||||
|         version = f.read().strip() | ||||
|     print(version, end='') | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     main() | ||||
							
								
								
									
										251
									
								
								bin/perf-annotate-jit
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										251
									
								
								bin/perf-annotate-jit
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,251 @@ | ||||
| #!/usr/bin/env python | ||||
| # | ||||
| # Copyright 2012 VMware Inc | ||||
| # Copyright 2008-2009 Jose Fonseca | ||||
| # | ||||
| # Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| # of this software and associated documentation files (the "Software"), to deal | ||||
| # in the Software without restriction, including without limitation the rights | ||||
| # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| # copies of the Software, and to permit persons to whom the Software is | ||||
| # furnished to do so, subject to the following conditions: | ||||
| # | ||||
| # The above copyright notice and this permission notice shall be included in | ||||
| # all copies or substantial portions of the Software. | ||||
| # | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||||
| # THE SOFTWARE. | ||||
| # | ||||
|  | ||||
| """Perf annotate for JIT code. | ||||
|  | ||||
| Linux `perf annotate` does not work with JIT code.  This script takes the data | ||||
| produced by `perf script` command, plus the diassemblies outputed by gallivm | ||||
| into /tmp/perf-XXXXX.map.asm and produces output similar to `perf annotate`. | ||||
|  | ||||
| See docs/llvmpipe.html for usage instructions. | ||||
|  | ||||
| The `perf script` output parser was derived from the gprof2dot.py script. | ||||
| """ | ||||
|  | ||||
|  | ||||
| import sys | ||||
| import os.path | ||||
| import re | ||||
| import optparse | ||||
| import subprocess | ||||
|  | ||||
|  | ||||
| class Parser: | ||||
|     """Parser interface.""" | ||||
|  | ||||
|     def __init__(self): | ||||
|         pass | ||||
|  | ||||
|     def parse(self): | ||||
|         raise NotImplementedError | ||||
|  | ||||
|  | ||||
| class LineParser(Parser): | ||||
|     """Base class for parsers that read line-based formats.""" | ||||
|  | ||||
|     def __init__(self, file): | ||||
|         Parser.__init__(self) | ||||
|         self._file = file | ||||
|         self.__line = None | ||||
|         self.__eof = False | ||||
|         self.line_no = 0 | ||||
|  | ||||
|     def readline(self): | ||||
|         line = self._file.readline() | ||||
|         if not line: | ||||
|             self.__line = '' | ||||
|             self.__eof = True | ||||
|         else: | ||||
|             self.line_no += 1 | ||||
|         self.__line = line.rstrip('\r\n') | ||||
|  | ||||
|     def lookahead(self): | ||||
|         assert self.__line is not None | ||||
|         return self.__line | ||||
|  | ||||
|     def consume(self): | ||||
|         assert self.__line is not None | ||||
|         line = self.__line | ||||
|         self.readline() | ||||
|         return line | ||||
|  | ||||
|     def eof(self): | ||||
|         assert self.__line is not None | ||||
|         return self.__eof | ||||
|  | ||||
|  | ||||
| mapFile = None | ||||
|  | ||||
| def lookupMap(filename, matchSymbol): | ||||
|     global mapFile | ||||
|     mapFile = filename | ||||
|     stream = open(filename, 'rt') | ||||
|     for line in stream: | ||||
|         start, length, symbol = line.split() | ||||
|  | ||||
|         start = int(start, 16) | ||||
|         length = int(length,16) | ||||
|  | ||||
|         if symbol == matchSymbol: | ||||
|             return start | ||||
|  | ||||
|     return None | ||||
|  | ||||
| def lookupAsm(filename, desiredFunction): | ||||
|     stream = open(filename + '.asm', 'rt') | ||||
|     while stream.readline() != desiredFunction + ':\n': | ||||
|         pass | ||||
|  | ||||
|     asm = [] | ||||
|     line = stream.readline().strip() | ||||
|     while line: | ||||
|         addr, instr = line.split(':', 1) | ||||
|         addr = int(addr) | ||||
|         asm.append((addr, instr)) | ||||
|         line = stream.readline().strip() | ||||
|  | ||||
|     return asm | ||||
|  | ||||
|  | ||||
|  | ||||
| samples = {} | ||||
|  | ||||
|  | ||||
| class PerfParser(LineParser): | ||||
|     """Parser for linux perf callgraph output. | ||||
|  | ||||
|     It expects output generated with | ||||
|  | ||||
|         perf record -g | ||||
|         perf script | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, infile, symbol): | ||||
|         LineParser.__init__(self, infile) | ||||
| 	self.symbol = symbol | ||||
|  | ||||
|     def readline(self): | ||||
|         # Override LineParser.readline to ignore comment lines | ||||
|         while True: | ||||
|             LineParser.readline(self) | ||||
|             if self.eof() or not self.lookahead().startswith('#'): | ||||
|                 break | ||||
|  | ||||
|     def parse(self): | ||||
|         # read lookahead | ||||
|         self.readline() | ||||
|  | ||||
|         while not self.eof(): | ||||
|             self.parse_event() | ||||
|  | ||||
|         asm = lookupAsm(mapFile, self.symbol) | ||||
|  | ||||
|         addresses = samples.keys() | ||||
|         addresses.sort() | ||||
|         total_samples = 0 | ||||
|  | ||||
| 	sys.stdout.write('%s:\n' % self.symbol) | ||||
|         for address, instr in asm: | ||||
|             try: | ||||
|                 sample = samples.pop(address) | ||||
|             except KeyError: | ||||
|                 sys.stdout.write(6*' ') | ||||
|             else: | ||||
|                 sys.stdout.write('%6u' % (sample)) | ||||
|                 total_samples += sample | ||||
|             sys.stdout.write('%6u: %s\n' % (address, instr)) | ||||
|         print 'total:', total_samples | ||||
|         assert len(samples) == 0 | ||||
|  | ||||
|         sys.exit(0) | ||||
|  | ||||
|     def parse_event(self): | ||||
|         if self.eof(): | ||||
|             return | ||||
|  | ||||
|         line = self.consume() | ||||
|         assert line | ||||
|  | ||||
|         callchain = self.parse_callchain() | ||||
|         if not callchain: | ||||
|             return | ||||
|  | ||||
|     def parse_callchain(self): | ||||
|         callchain = [] | ||||
|         while self.lookahead(): | ||||
|             function = self.parse_call(len(callchain) == 0) | ||||
|             if function is None: | ||||
|                 break | ||||
|             callchain.append(function) | ||||
|         if self.lookahead() == '': | ||||
|             self.consume() | ||||
|         return callchain | ||||
|  | ||||
|     call_re = re.compile(r'^\s+(?P<address>[0-9a-fA-F]+)\s+(?P<symbol>.*)\s+\((?P<module>[^)]*)\)$') | ||||
|  | ||||
|     def parse_call(self, first): | ||||
|         line = self.consume() | ||||
|         mo = self.call_re.match(line) | ||||
|         assert mo | ||||
|         if not mo: | ||||
|             return None | ||||
|  | ||||
|         if not first: | ||||
|             return None | ||||
|  | ||||
|         function_name = mo.group('symbol') | ||||
|         if not function_name: | ||||
|             function_name = mo.group('address') | ||||
|  | ||||
|         module = mo.group('module') | ||||
|  | ||||
|         function_id = function_name + ':' + module | ||||
|  | ||||
|         address = mo.group('address') | ||||
|         address = int(address, 16) | ||||
|  | ||||
|         if function_name != self.symbol: | ||||
|             return None | ||||
|  | ||||
|         start_address = lookupMap(module, function_name) | ||||
|         address -= start_address | ||||
|  | ||||
|         #print function_name, module, address | ||||
|  | ||||
|         samples[address] = samples.get(address, 0) + 1 | ||||
|  | ||||
|         return True | ||||
|  | ||||
|  | ||||
| def main(): | ||||
|     """Main program.""" | ||||
|  | ||||
|     optparser = optparse.OptionParser( | ||||
|         usage="\n\t%prog [options] symbol_name") | ||||
|     (options, args) = optparser.parse_args(sys.argv[1:]) | ||||
|     if len(args) != 1: | ||||
|         optparser.error('wrong number of arguments') | ||||
|  | ||||
|     symbol = args[0] | ||||
|  | ||||
|     p = subprocess.Popen(['perf', 'script'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) | ||||
|     parser = PerfParser(p.stdout, symbol) | ||||
|     parser.parse() | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     main() | ||||
|  | ||||
|  | ||||
| # vim: set sw=4 et: | ||||
| @@ -1,251 +0,0 @@ | ||||
| #!/usr/bin/env python | ||||
| # | ||||
| # Copyright 2012 VMware Inc | ||||
| # Copyright 2008-2009 Jose Fonseca | ||||
| # | ||||
| # Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| # of this software and associated documentation files (the "Software"), to deal | ||||
| # in the Software without restriction, including without limitation the rights | ||||
| # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| # copies of the Software, and to permit persons to whom the Software is | ||||
| # furnished to do so, subject to the following conditions: | ||||
| # | ||||
| # The above copyright notice and this permission notice shall be included in | ||||
| # all copies or substantial portions of the Software. | ||||
| # | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||||
| # THE SOFTWARE. | ||||
| # | ||||
|  | ||||
| """Perf annotate for JIT code. | ||||
|  | ||||
| Linux `perf annotate` does not work with JIT code.  This script takes the data | ||||
| produced by `perf script` command, plus the diassemblies outputed by gallivm | ||||
| into /tmp/perf-XXXXX.map.asm and produces output similar to `perf annotate`. | ||||
|  | ||||
| See docs/llvmpipe.html for usage instructions. | ||||
|  | ||||
| The `perf script` output parser was derived from the gprof2dot.py script. | ||||
| """ | ||||
|  | ||||
|  | ||||
| import sys | ||||
| import os.path | ||||
| import re | ||||
| import optparse | ||||
| import subprocess | ||||
|  | ||||
|  | ||||
| class Parser: | ||||
|     """Parser interface.""" | ||||
|  | ||||
|     def __init__(self): | ||||
|         pass | ||||
|  | ||||
|     def parse(self): | ||||
|         raise NotImplementedError | ||||
|  | ||||
|  | ||||
| class LineParser(Parser): | ||||
|     """Base class for parsers that read line-based formats.""" | ||||
|  | ||||
|     def __init__(self, file): | ||||
|         Parser.__init__(self) | ||||
|         self._file = file | ||||
|         self.__line = None | ||||
|         self.__eof = False | ||||
|         self.line_no = 0 | ||||
|  | ||||
|     def readline(self): | ||||
|         line = self._file.readline() | ||||
|         if not line: | ||||
|             self.__line = '' | ||||
|             self.__eof = True | ||||
|         else: | ||||
|             self.line_no += 1 | ||||
|         self.__line = line.rstrip('\r\n') | ||||
|  | ||||
|     def lookahead(self): | ||||
|         assert self.__line is not None | ||||
|         return self.__line | ||||
|  | ||||
|     def consume(self): | ||||
|         assert self.__line is not None | ||||
|         line = self.__line | ||||
|         self.readline() | ||||
|         return line | ||||
|  | ||||
|     def eof(self): | ||||
|         assert self.__line is not None | ||||
|         return self.__eof | ||||
|  | ||||
|  | ||||
| mapFile = None | ||||
|  | ||||
| def lookupMap(filename, matchSymbol): | ||||
|     global mapFile | ||||
|     mapFile = filename | ||||
|     stream = open(filename, 'rt') | ||||
|     for line in stream: | ||||
|         start, length, symbol = line.split() | ||||
|  | ||||
|         start = int(start, 16) | ||||
|         length = int(length,16) | ||||
|  | ||||
|         if symbol == matchSymbol: | ||||
|             return start | ||||
|  | ||||
|     return None | ||||
|  | ||||
| def lookupAsm(filename, desiredFunction): | ||||
|     stream = open(filename + '.asm', 'rt') | ||||
|     while stream.readline() != desiredFunction + ':\n': | ||||
|         pass | ||||
|  | ||||
|     asm = [] | ||||
|     line = stream.readline().strip() | ||||
|     while line: | ||||
|         addr, instr = line.split(':', 1) | ||||
|         addr = int(addr) | ||||
|         asm.append((addr, instr)) | ||||
|         line = stream.readline().strip() | ||||
|  | ||||
|     return asm | ||||
|  | ||||
|  | ||||
|  | ||||
| samples = {} | ||||
|  | ||||
|  | ||||
| class PerfParser(LineParser): | ||||
|     """Parser for linux perf callgraph output. | ||||
|  | ||||
|     It expects output generated with | ||||
|  | ||||
|         perf record -g | ||||
|         perf script | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, infile, symbol): | ||||
|         LineParser.__init__(self, infile) | ||||
|         self.symbol = symbol | ||||
|  | ||||
|     def readline(self): | ||||
|         # Override LineParser.readline to ignore comment lines | ||||
|         while True: | ||||
|             LineParser.readline(self) | ||||
|             if self.eof() or not self.lookahead().startswith('#'): | ||||
|                 break | ||||
|  | ||||
|     def parse(self): | ||||
|         # read lookahead | ||||
|         self.readline() | ||||
|  | ||||
|         while not self.eof(): | ||||
|             self.parse_event() | ||||
|  | ||||
|         asm = lookupAsm(mapFile, self.symbol) | ||||
|  | ||||
|         addresses = samples.keys() | ||||
|         addresses.sort() | ||||
|         total_samples = 0 | ||||
|  | ||||
|         sys.stdout.write('%s:\n' % self.symbol) | ||||
|         for address, instr in asm: | ||||
|             try: | ||||
|                 sample = samples.pop(address) | ||||
|             except KeyError: | ||||
|                 sys.stdout.write(6*' ') | ||||
|             else: | ||||
|                 sys.stdout.write('%6u' % (sample)) | ||||
|                 total_samples += sample | ||||
|             sys.stdout.write('%6u: %s\n' % (address, instr)) | ||||
|         print 'total:', total_samples | ||||
|         assert len(samples) == 0 | ||||
|  | ||||
|         sys.exit(0) | ||||
|  | ||||
|     def parse_event(self): | ||||
|         if self.eof(): | ||||
|             return | ||||
|  | ||||
|         line = self.consume() | ||||
|         assert line | ||||
|  | ||||
|         callchain = self.parse_callchain() | ||||
|         if not callchain: | ||||
|             return | ||||
|  | ||||
|     def parse_callchain(self): | ||||
|         callchain = [] | ||||
|         while self.lookahead(): | ||||
|             function = self.parse_call(len(callchain) == 0) | ||||
|             if function is None: | ||||
|                 break | ||||
|             callchain.append(function) | ||||
|         if self.lookahead() == '': | ||||
|             self.consume() | ||||
|         return callchain | ||||
|  | ||||
|     call_re = re.compile(r'^\s+(?P<address>[0-9a-fA-F]+)\s+(?P<symbol>.*)\s+\((?P<module>[^)]*)\)$') | ||||
|  | ||||
|     def parse_call(self, first): | ||||
|         line = self.consume() | ||||
|         mo = self.call_re.match(line) | ||||
|         assert mo | ||||
|         if not mo: | ||||
|             return None | ||||
|  | ||||
|         if not first: | ||||
|             return None | ||||
|  | ||||
|         function_name = mo.group('symbol') | ||||
|         if not function_name: | ||||
|             function_name = mo.group('address') | ||||
|  | ||||
|         module = mo.group('module') | ||||
|  | ||||
|         function_id = function_name + ':' + module | ||||
|  | ||||
|         address = mo.group('address') | ||||
|         address = int(address, 16) | ||||
|  | ||||
|         if function_name != self.symbol: | ||||
|             return None | ||||
|  | ||||
|         start_address = lookupMap(module, function_name) | ||||
|         address -= start_address | ||||
|  | ||||
|         #print function_name, module, address | ||||
|  | ||||
|         samples[address] = samples.get(address, 0) + 1 | ||||
|  | ||||
|         return True | ||||
|  | ||||
|  | ||||
| def main(): | ||||
|     """Main program.""" | ||||
|  | ||||
|     optparser = optparse.OptionParser( | ||||
|         usage="\n\t%prog [options] symbol_name") | ||||
|     (options, args) = optparser.parse_args(sys.argv[1:]) | ||||
|     if len(args) != 1: | ||||
|         optparser.error('wrong number of arguments') | ||||
|  | ||||
|     symbol = args[0] | ||||
|  | ||||
|     p = subprocess.Popen(['perf', 'script'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) | ||||
|     parser = PerfParser(p.stdout, symbol) | ||||
|     parser.parse() | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     main() | ||||
|  | ||||
|  | ||||
| # vim: set sw=4 et: | ||||
| @@ -1,4 +1,4 @@ | ||||
| #!/bin/sh | ||||
| #!/bin/bash | ||||
|  | ||||
| # This script is used to generate the list of changes that | ||||
| # appears in the release notes files, with HTML formatting. | ||||
| @@ -10,7 +10,7 @@ | ||||
| # $ bin/shortlog_mesa.sh mesa-9.0.2..mesa-9.0.3 | tee changes | ||||
|  | ||||
|  | ||||
| in_log=0 | ||||
| typeset -i in_log=0 | ||||
|  | ||||
| git shortlog $* | while read l | ||||
| do | ||||
|   | ||||
| @@ -1,3 +0,0 @@ | ||||
| { | ||||
| 	radeon_drm_winsys_create; | ||||
| }; | ||||
| @@ -1,6 +0,0 @@ | ||||
| VERSION_1 { | ||||
|     global: | ||||
|         main; | ||||
|     local: | ||||
|         *; | ||||
| }; | ||||
							
								
								
									
										96
									
								
								common.py
									
									
									
									
									
								
							
							
						
						
									
										96
									
								
								common.py
									
									
									
									
									
								
							| @@ -26,28 +26,28 @@ else: | ||||
|     target_platform = host_platform | ||||
|  | ||||
| _machine_map = { | ||||
|     'x86': 'x86', | ||||
|     'i386': 'x86', | ||||
|     'i486': 'x86', | ||||
|     'i586': 'x86', | ||||
|     'i686': 'x86', | ||||
|     'BePC': 'x86', | ||||
|     'Intel': 'x86', | ||||
|     'ppc': 'ppc', | ||||
|     'BeBox': 'ppc', | ||||
|     'BeMac': 'ppc', | ||||
|     'AMD64': 'x86_64', | ||||
|     'x86_64': 'x86_64', | ||||
|     'sparc': 'sparc', | ||||
|     'sun4u': 'sparc', | ||||
| 	'x86': 'x86', | ||||
| 	'i386': 'x86', | ||||
| 	'i486': 'x86', | ||||
| 	'i586': 'x86', | ||||
| 	'i686': 'x86', | ||||
| 	'BePC': 'x86', | ||||
| 	'Intel': 'x86', | ||||
| 	'ppc' : 'ppc', | ||||
| 	'BeBox': 'ppc', | ||||
| 	'BeMac': 'ppc', | ||||
| 	'AMD64': 'x86_64', | ||||
| 	'x86_64': 'x86_64', | ||||
| 	'sparc': 'sparc', | ||||
| 	'sun4u': 'sparc', | ||||
| } | ||||
|  | ||||
|  | ||||
| # find host_machine value | ||||
| if 'PROCESSOR_ARCHITECTURE' in os.environ: | ||||
|     host_machine = os.environ['PROCESSOR_ARCHITECTURE'] | ||||
| 	host_machine = os.environ['PROCESSOR_ARCHITECTURE'] | ||||
| else: | ||||
|     host_machine = _platform.machine() | ||||
| 	host_machine = _platform.machine() | ||||
| host_machine = _machine_map.get(host_machine, 'generic') | ||||
|  | ||||
| default_machine = host_machine | ||||
| @@ -59,14 +59,13 @@ if target_platform == 'windows' and host_platform != 'windows': | ||||
|  | ||||
|  | ||||
| # find default_llvm value | ||||
| if 'LLVM' in os.environ or 'LLVM_CONFIG' in os.environ: | ||||
| if 'LLVM' in os.environ: | ||||
|     default_llvm = 'yes' | ||||
| else: | ||||
|     default_llvm = 'no' | ||||
|     try: | ||||
|         if target_platform != 'windows' and \ | ||||
|            subprocess.call(['llvm-config', '--version'], | ||||
|                            stdout=subprocess.PIPE) == 0: | ||||
|            subprocess.call(['llvm-config', '--version'], stdout=subprocess.PIPE) == 0: | ||||
|             default_llvm = 'yes' | ||||
|     except: | ||||
|         pass | ||||
| @@ -76,36 +75,29 @@ else: | ||||
| # Common options | ||||
|  | ||||
| def AddOptions(opts): | ||||
|     try: | ||||
|         from SCons.Variables.BoolVariable import BoolVariable as BoolOption | ||||
|     except ImportError: | ||||
|         from SCons.Options.BoolOption import BoolOption | ||||
|     try: | ||||
|         from SCons.Variables.EnumVariable import EnumVariable as EnumOption | ||||
|     except ImportError: | ||||
|         from SCons.Options.EnumOption import EnumOption | ||||
|     opts.Add(EnumOption('build', 'build type', 'debug', | ||||
|                         allowed_values=('debug', 'checked', 'profile', | ||||
|                                         'release'))) | ||||
|     opts.Add(BoolOption('verbose', 'verbose output', 'no')) | ||||
|     opts.Add(EnumOption('machine', 'use machine-specific assembly code', | ||||
|                         default_machine, | ||||
|                         allowed_values=('generic', 'ppc', 'x86', 'x86_64'))) | ||||
|     opts.Add(EnumOption('platform', 'target platform', host_platform, | ||||
|                         allowed_values=('cygwin', 'darwin', 'freebsd', 'haiku', | ||||
|                                         'linux', 'sunos', 'windows'))) | ||||
|     opts.Add(BoolOption('embedded', 'embedded build', 'no')) | ||||
|     opts.Add(BoolOption('analyze', | ||||
|                         'enable static code analysis where available', 'no')) | ||||
|     opts.Add(BoolOption('asan', 'enable Address Sanitizer', 'no')) | ||||
|     opts.Add('toolchain', 'compiler toolchain', default_toolchain) | ||||
|     opts.Add(BoolOption('llvm', 'use LLVM', default_llvm)) | ||||
|     opts.Add(BoolOption('openmp', 'EXPERIMENTAL: compile with openmp (swrast)', | ||||
|                         'no')) | ||||
|     opts.Add(BoolOption('debug', 'DEPRECATED: debug build', 'yes')) | ||||
|     opts.Add(BoolOption('profile', 'DEPRECATED: profile build', 'no')) | ||||
|     opts.Add(BoolOption('quiet', 'DEPRECATED: profile build', 'yes')) | ||||
|     opts.Add(BoolOption('swr', 'Build OpenSWR', 'no')) | ||||
|     if host_platform == 'windows': | ||||
|         opts.Add('MSVC_VERSION', 'Microsoft Visual C/C++ version') | ||||
|         opts.Add('MSVC_USE_SCRIPT', 'Microsoft Visual C/C++ vcvarsall script', True) | ||||
| 	try: | ||||
| 		from SCons.Variables.BoolVariable import BoolVariable as BoolOption | ||||
| 	except ImportError: | ||||
| 		from SCons.Options.BoolOption import BoolOption | ||||
| 	try: | ||||
| 		from SCons.Variables.EnumVariable import EnumVariable as EnumOption | ||||
| 	except ImportError: | ||||
| 		from SCons.Options.EnumOption import EnumOption | ||||
| 	opts.Add(EnumOption('build', 'build type', 'debug', | ||||
| 	                  allowed_values=('debug', 'checked', 'profile', 'release'))) | ||||
| 	opts.Add(BoolOption('verbose', 'verbose output', 'no')) | ||||
| 	opts.Add(EnumOption('machine', 'use machine-specific assembly code', default_machine, | ||||
| 											 allowed_values=('generic', 'ppc', 'x86', 'x86_64'))) | ||||
| 	opts.Add(EnumOption('platform', 'target platform', host_platform, | ||||
| 											 allowed_values=('cygwin', 'darwin', 'freebsd', 'haiku', 'linux', 'sunos', 'windows'))) | ||||
| 	opts.Add(BoolOption('embedded', 'embedded build', 'no')) | ||||
| 	opts.Add('toolchain', 'compiler toolchain', default_toolchain) | ||||
| 	opts.Add(BoolOption('gles', 'EXPERIMENTAL: enable OpenGL ES support', 'no')) | ||||
| 	opts.Add(BoolOption('llvm', 'use LLVM', default_llvm)) | ||||
| 	opts.Add(BoolOption('openmp', 'EXPERIMENTAL: compile with openmp (swrast)', 'no')) | ||||
| 	opts.Add(BoolOption('debug', 'DEPRECATED: debug build', 'yes')) | ||||
| 	opts.Add(BoolOption('profile', 'DEPRECATED: profile build', 'no')) | ||||
| 	opts.Add(BoolOption('quiet', 'DEPRECATED: profile build', 'yes')) | ||||
| 	opts.Add(BoolOption('texture_float', 'enable floating-point textures and renderbuffers', 'no')) | ||||
| 	if host_platform == 'windows': | ||||
| 		opts.Add(EnumOption('MSVC_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0', '10.0', '11.0'))) | ||||
|   | ||||
							
								
								
									
										3730
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						
									
										3730
									
								
								configure.ac
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										490
									
								
								docs/COPYING
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										490
									
								
								docs/COPYING
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,490 @@ | ||||
|  | ||||
| Some parts of Mesa are copyrighted under the GNU LGPL.  See the | ||||
| Mesa/docs/COPYRIGHT file for details. | ||||
|  | ||||
| The following is the standard GNU copyright file. | ||||
| ---------------------------------------------------------------------- | ||||
|  | ||||
|  | ||||
| 		  GNU LIBRARY GENERAL PUBLIC LICENSE | ||||
| 		       Version 2, June 1991 | ||||
|  | ||||
|  Copyright (C) 1991 Free Software Foundation, Inc. | ||||
|                     675 Mass Ave, Cambridge, MA 02139, USA | ||||
|  Everyone is permitted to copy and distribute verbatim copies | ||||
|  of this license document, but changing it is not allowed. | ||||
|  | ||||
| [This is the first released version of the library GPL.  It is | ||||
|  numbered 2 because it goes with version 2 of the ordinary GPL.] | ||||
|  | ||||
| 			    Preamble | ||||
|  | ||||
|   The licenses for most software are designed to take away your | ||||
| freedom to share and change it.  By contrast, the GNU General Public | ||||
| Licenses are intended to guarantee your freedom to share and change | ||||
| free software--to make sure the software is free for all its users. | ||||
|  | ||||
|   This license, the Library General Public License, applies to some | ||||
| specially designated Free Software Foundation software, and to any | ||||
| other libraries whose authors decide to use it.  You can use it for | ||||
| your libraries, too. | ||||
|  | ||||
|   When we speak of free software, we are referring to freedom, not | ||||
| price.  Our General Public Licenses are designed to make sure that you | ||||
| have the freedom to distribute copies of free software (and charge for | ||||
| this service if you wish), that you receive source code or can get it | ||||
| if you want it, that you can change the software or use pieces of it | ||||
| in new free programs; and that you know you can do these things. | ||||
|  | ||||
|   To protect your rights, we need to make restrictions that forbid | ||||
| anyone to deny you these rights or to ask you to surrender the rights. | ||||
| These restrictions translate to certain responsibilities for you if | ||||
| you distribute copies of the library, or if you modify it. | ||||
|  | ||||
|   For example, if you distribute copies of the library, whether gratis | ||||
| or for a fee, you must give the recipients all the rights that we gave | ||||
| you.  You must make sure that they, too, receive or can get the source | ||||
| code.  If you link a program with the library, you must provide | ||||
| complete object files to the recipients so that they can relink them | ||||
| with the library, after making changes to the library and recompiling | ||||
| it.  And you must show them these terms so they know their rights. | ||||
|  | ||||
|   Our method of protecting your rights has two steps: (1) copyright | ||||
| the library, and (2) offer you this license which gives you legal | ||||
| permission to copy, distribute and/or modify the library. | ||||
|  | ||||
|   Also, for each distributor's protection, we want to make certain | ||||
| that everyone understands that there is no warranty for this free | ||||
| library.  If the library is modified by someone else and passed on, we | ||||
| want its recipients to know that what they have is not the original | ||||
| version, so that any problems introduced by others will not reflect on | ||||
| the original authors' reputations. | ||||
|  | ||||
|   Finally, any free program is threatened constantly by software | ||||
| patents.  We wish to avoid the danger that companies distributing free | ||||
| software will individually obtain patent licenses, thus in effect | ||||
| transforming the program into proprietary software.  To prevent this, | ||||
| we have made it clear that any patent must be licensed for everyone's | ||||
| free use or not licensed at all. | ||||
|  | ||||
|   Most GNU software, including some libraries, is covered by the ordinary | ||||
| GNU General Public License, which was designed for utility programs.  This | ||||
| license, the GNU Library General Public License, applies to certain | ||||
| designated libraries.  This license is quite different from the ordinary | ||||
| one; be sure to read it in full, and don't assume that anything in it is | ||||
| the same as in the ordinary license. | ||||
|  | ||||
|   The reason we have a separate public license for some libraries is that | ||||
| they blur the distinction we usually make between modifying or adding to a | ||||
| program and simply using it.  Linking a program with a library, without | ||||
| changing the library, is in some sense simply using the library, and is | ||||
| analogous to running a utility program or application program.  However, in | ||||
| a textual and legal sense, the linked executable is a combined work, a | ||||
| derivative of the original library, and the ordinary General Public License | ||||
| treats it as such. | ||||
|  | ||||
|   Because of this blurred distinction, using the ordinary General | ||||
| Public License for libraries did not effectively promote software | ||||
| sharing, because most developers did not use the libraries.  We | ||||
| concluded that weaker conditions might promote sharing better. | ||||
|  | ||||
|   However, unrestricted linking of non-free programs would deprive the | ||||
| users of those programs of all benefit from the free status of the | ||||
| libraries themselves.  This Library General Public License is intended to | ||||
| permit developers of non-free programs to use free libraries, while | ||||
| preserving your freedom as a user of such programs to change the free | ||||
| libraries that are incorporated in them.  (We have not seen how to achieve | ||||
| this as regards changes in header files, but we have achieved it as regards | ||||
| changes in the actual functions of the Library.)  The hope is that this | ||||
| will lead to faster development of free libraries. | ||||
|  | ||||
|   The precise terms and conditions for copying, distribution and | ||||
| modification follow.  Pay close attention to the difference between a | ||||
| "work based on the library" and a "work that uses the library".  The | ||||
| former contains code derived from the library, while the latter only | ||||
| works together with the library. | ||||
|  | ||||
|   Note that it is possible for a library to be covered by the ordinary | ||||
| General Public License rather than by this special one. | ||||
|  | ||||
| 		  GNU LIBRARY GENERAL PUBLIC LICENSE | ||||
|    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||||
|  | ||||
|   0. This License Agreement applies to any software library which | ||||
| contains a notice placed by the copyright holder or other authorized | ||||
| party saying it may be distributed under the terms of this Library | ||||
| General Public License (also called "this License").  Each licensee is | ||||
| addressed as "you". | ||||
|  | ||||
|   A "library" means a collection of software functions and/or data | ||||
| prepared so as to be conveniently linked with application programs | ||||
| (which use some of those functions and data) to form executables. | ||||
|  | ||||
|   The "Library", below, refers to any such software library or work | ||||
| which has been distributed under these terms.  A "work based on the | ||||
| Library" means either the Library or any derivative work under | ||||
| copyright law: that is to say, a work containing the Library or a | ||||
| portion of it, either verbatim or with modifications and/or translated | ||||
| straightforwardly into another language.  (Hereinafter, translation is | ||||
| included without limitation in the term "modification".) | ||||
|  | ||||
|   "Source code" for a work means the preferred form of the work for | ||||
| making modifications to it.  For a library, complete source code means | ||||
| all the source code for all modules it contains, plus any associated | ||||
| interface definition files, plus the scripts used to control compilation | ||||
| and installation of the library. | ||||
|  | ||||
|   Activities other than copying, distribution and modification are not | ||||
| covered by this License; they are outside its scope.  The act of | ||||
| running a program using the Library is not restricted, and output from | ||||
| such a program is covered only if its contents constitute a work based | ||||
| on the Library (independent of the use of the Library in a tool for | ||||
| writing it).  Whether that is true depends on what the Library does | ||||
| and what the program that uses the Library does. | ||||
|    | ||||
|   1. You may copy and distribute verbatim copies of the Library's | ||||
| complete source code as you receive it, in any medium, provided that | ||||
| you conspicuously and appropriately publish on each copy an | ||||
| appropriate copyright notice and disclaimer of warranty; keep intact | ||||
| all the notices that refer to this License and to the absence of any | ||||
| warranty; and distribute a copy of this License along with the | ||||
| Library. | ||||
|  | ||||
|   You may charge a fee for the physical act of transferring a copy, | ||||
| and you may at your option offer warranty protection in exchange for a | ||||
| fee. | ||||
|  | ||||
|   2. You may modify your copy or copies of the Library or any portion | ||||
| of it, thus forming a work based on the Library, and copy and | ||||
| distribute such modifications or work under the terms of Section 1 | ||||
| above, provided that you also meet all of these conditions: | ||||
|  | ||||
|     a) The modified work must itself be a software library. | ||||
|  | ||||
|     b) You must cause the files modified to carry prominent notices | ||||
|     stating that you changed the files and the date of any change. | ||||
|  | ||||
|     c) You must cause the whole of the work to be licensed at no | ||||
|     charge to all third parties under the terms of this License. | ||||
|  | ||||
|     d) If a facility in the modified Library refers to a function or a | ||||
|     table of data to be supplied by an application program that uses | ||||
|     the facility, other than as an argument passed when the facility | ||||
|     is invoked, then you must make a good faith effort to ensure that, | ||||
|     in the event an application does not supply such function or | ||||
|     table, the facility still operates, and performs whatever part of | ||||
|     its purpose remains meaningful. | ||||
|  | ||||
|     (For example, a function in a library to compute square roots has | ||||
|     a purpose that is entirely well-defined independent of the | ||||
|     application.  Therefore, Subsection 2d requires that any | ||||
|     application-supplied function or table used by this function must | ||||
|     be optional: if the application does not supply it, the square | ||||
|     root function must still compute square roots.) | ||||
|  | ||||
| These requirements apply to the modified work as a whole.  If | ||||
| identifiable sections of that work are not derived from the Library, | ||||
| and can be reasonably considered independent and separate works in | ||||
| themselves, then this License, and its terms, do not apply to those | ||||
| sections when you distribute them as separate works.  But when you | ||||
| distribute the same sections as part of a whole which is a work based | ||||
| on the Library, the distribution of the whole must be on the terms of | ||||
| this License, whose permissions for other licensees extend to the | ||||
| entire whole, and thus to each and every part regardless of who wrote | ||||
| it. | ||||
|  | ||||
| Thus, it is not the intent of this section to claim rights or contest | ||||
| your rights to work written entirely by you; rather, the intent is to | ||||
| exercise the right to control the distribution of derivative or | ||||
| collective works based on the Library. | ||||
|  | ||||
| In addition, mere aggregation of another work not based on the Library | ||||
| with the Library (or with a work based on the Library) on a volume of | ||||
| a storage or distribution medium does not bring the other work under | ||||
| the scope of this License. | ||||
|  | ||||
|   3. You may opt to apply the terms of the ordinary GNU General Public | ||||
| License instead of this License to a given copy of the Library.  To do | ||||
| this, you must alter all the notices that refer to this License, so | ||||
| that they refer to the ordinary GNU General Public License, version 2, | ||||
| instead of to this License.  (If a newer version than version 2 of the | ||||
| ordinary GNU General Public License has appeared, then you can specify | ||||
| that version instead if you wish.)  Do not make any other change in | ||||
| these notices. | ||||
|  | ||||
|   Once this change is made in a given copy, it is irreversible for | ||||
| that copy, so the ordinary GNU General Public License applies to all | ||||
| subsequent copies and derivative works made from that copy. | ||||
|  | ||||
|   This option is useful when you wish to copy part of the code of | ||||
| the Library into a program that is not a library. | ||||
|  | ||||
|   4. You may copy and distribute the Library (or a portion or | ||||
| derivative of it, under Section 2) in object code or executable form | ||||
| under the terms of Sections 1 and 2 above provided that you accompany | ||||
| it with the complete corresponding machine-readable source code, which | ||||
| must be distributed under the terms of Sections 1 and 2 above on a | ||||
| medium customarily used for software interchange. | ||||
|  | ||||
|   If distribution of object code is made by offering access to copy | ||||
| from a designated place, then offering equivalent access to copy the | ||||
| source code from the same place satisfies the requirement to | ||||
| distribute the source code, even though third parties are not | ||||
| compelled to copy the source along with the object code. | ||||
|  | ||||
|   5. A program that contains no derivative of any portion of the | ||||
| Library, but is designed to work with the Library by being compiled or | ||||
| linked with it, is called a "work that uses the Library".  Such a | ||||
| work, in isolation, is not a derivative work of the Library, and | ||||
| therefore falls outside the scope of this License. | ||||
|  | ||||
|   However, linking a "work that uses the Library" with the Library | ||||
| creates an executable that is a derivative of the Library (because it | ||||
| contains portions of the Library), rather than a "work that uses the | ||||
| library".  The executable is therefore covered by this License. | ||||
| Section 6 states terms for distribution of such executables. | ||||
|  | ||||
|   When a "work that uses the Library" uses material from a header file | ||||
| that is part of the Library, the object code for the work may be a | ||||
| derivative work of the Library even though the source code is not. | ||||
| Whether this is true is especially significant if the work can be | ||||
| linked without the Library, or if the work is itself a library.  The | ||||
| threshold for this to be true is not precisely defined by law. | ||||
|  | ||||
|   If such an object file uses only numerical parameters, data | ||||
| structure layouts and accessors, and small macros and small inline | ||||
| functions (ten lines or less in length), then the use of the object | ||||
| file is unrestricted, regardless of whether it is legally a derivative | ||||
| work.  (Executables containing this object code plus portions of the | ||||
| Library will still fall under Section 6.) | ||||
|  | ||||
|   Otherwise, if the work is a derivative of the Library, you may | ||||
| distribute the object code for the work under the terms of Section 6. | ||||
| Any executables containing that work also fall under Section 6, | ||||
| whether or not they are linked directly with the Library itself. | ||||
|  | ||||
|   6. As an exception to the Sections above, you may also compile or | ||||
| link a "work that uses the Library" with the Library to produce a | ||||
| work containing portions of the Library, and distribute that work | ||||
| under terms of your choice, provided that the terms permit | ||||
| modification of the work for the customer's own use and reverse | ||||
| engineering for debugging such modifications. | ||||
|  | ||||
|   You must give prominent notice with each copy of the work that the | ||||
| Library is used in it and that the Library and its use are covered by | ||||
| this License.  You must supply a copy of this License.  If the work | ||||
| during execution displays copyright notices, you must include the | ||||
| copyright notice for the Library among them, as well as a reference | ||||
| directing the user to the copy of this License.  Also, you must do one | ||||
| of these things: | ||||
|  | ||||
|     a) Accompany the work with the complete corresponding | ||||
|     machine-readable source code for the Library including whatever | ||||
|     changes were used in the work (which must be distributed under | ||||
|     Sections 1 and 2 above); and, if the work is an executable linked | ||||
|     with the Library, with the complete machine-readable "work that | ||||
|     uses the Library", as object code and/or source code, so that the | ||||
|     user can modify the Library and then relink to produce a modified | ||||
|     executable containing the modified Library.  (It is understood | ||||
|     that the user who changes the contents of definitions files in the | ||||
|     Library will not necessarily be able to recompile the application | ||||
|     to use the modified definitions.) | ||||
|  | ||||
|     b) Accompany the work with a written offer, valid for at | ||||
|     least three years, to give the same user the materials | ||||
|     specified in Subsection 6a, above, for a charge no more | ||||
|     than the cost of performing this distribution. | ||||
|  | ||||
|     c) If distribution of the work is made by offering access to copy | ||||
|     from a designated place, offer equivalent access to copy the above | ||||
|     specified materials from the same place. | ||||
|  | ||||
|     d) Verify that the user has already received a copy of these | ||||
|     materials or that you have already sent this user a copy. | ||||
|  | ||||
|   For an executable, the required form of the "work that uses the | ||||
| Library" must include any data and utility programs needed for | ||||
| reproducing the executable from it.  However, as a special exception, | ||||
| the source code distributed need not include anything that is normally | ||||
| distributed (in either source or binary form) with the major | ||||
| components (compiler, kernel, and so on) of the operating system on | ||||
| which the executable runs, unless that component itself accompanies | ||||
| the executable. | ||||
|  | ||||
|   It may happen that this requirement contradicts the license | ||||
| restrictions of other proprietary libraries that do not normally | ||||
| accompany the operating system.  Such a contradiction means you cannot | ||||
| use both them and the Library together in an executable that you | ||||
| distribute. | ||||
|  | ||||
|   7. You may place library facilities that are a work based on the | ||||
| Library side-by-side in a single library together with other library | ||||
| facilities not covered by this License, and distribute such a combined | ||||
| library, provided that the separate distribution of the work based on | ||||
| the Library and of the other library facilities is otherwise | ||||
| permitted, and provided that you do these two things: | ||||
|  | ||||
|     a) Accompany the combined library with a copy of the same work | ||||
|     based on the Library, uncombined with any other library | ||||
|     facilities.  This must be distributed under the terms of the | ||||
|     Sections above. | ||||
|  | ||||
|     b) Give prominent notice with the combined library of the fact | ||||
|     that part of it is a work based on the Library, and explaining | ||||
|     where to find the accompanying uncombined form of the same work. | ||||
|  | ||||
|   8. You may not copy, modify, sublicense, link with, or distribute | ||||
| the Library except as expressly provided under this License.  Any | ||||
| attempt otherwise to copy, modify, sublicense, link with, or | ||||
| distribute the Library is void, and will automatically terminate your | ||||
| rights under this License.  However, parties who have received copies, | ||||
| or rights, from you under this License will not have their licenses | ||||
| terminated so long as such parties remain in full compliance. | ||||
|  | ||||
|   9. You are not required to accept this License, since you have not | ||||
| signed it.  However, nothing else grants you permission to modify or | ||||
| distribute the Library or its derivative works.  These actions are | ||||
| prohibited by law if you do not accept this License.  Therefore, by | ||||
| modifying or distributing the Library (or any work based on the | ||||
| Library), you indicate your acceptance of this License to do so, and | ||||
| all its terms and conditions for copying, distributing or modifying | ||||
| the Library or works based on it. | ||||
|  | ||||
|   10. Each time you redistribute the Library (or any work based on the | ||||
| Library), the recipient automatically receives a license from the | ||||
| original licensor to copy, distribute, link with or modify the Library | ||||
| subject to these terms and conditions.  You may not impose any further | ||||
| restrictions on the recipients' exercise of the rights granted herein. | ||||
| You are not responsible for enforcing compliance by third parties to | ||||
| this License. | ||||
|  | ||||
|   11. If, as a consequence of a court judgment or allegation of patent | ||||
| infringement or for any other reason (not limited to patent issues), | ||||
| conditions are imposed on you (whether by court order, agreement or | ||||
| otherwise) that contradict the conditions of this License, they do not | ||||
| excuse you from the conditions of this License.  If you cannot | ||||
| distribute so as to satisfy simultaneously your obligations under this | ||||
| License and any other pertinent obligations, then as a consequence you | ||||
| may not distribute the Library at all.  For example, if a patent | ||||
| license would not permit royalty-free redistribution of the Library by | ||||
| all those who receive copies directly or indirectly through you, then | ||||
| the only way you could satisfy both it and this License would be to | ||||
| refrain entirely from distribution of the Library. | ||||
|  | ||||
| If any portion of this section is held invalid or unenforceable under any | ||||
| particular circumstance, the balance of the section is intended to apply, | ||||
| and the section as a whole is intended to apply in other circumstances. | ||||
|  | ||||
| It is not the purpose of this section to induce you to infringe any | ||||
| patents or other property right claims or to contest validity of any | ||||
| such claims; this section has the sole purpose of protecting the | ||||
| integrity of the free software distribution system which is | ||||
| implemented by public license practices.  Many people have made | ||||
| generous contributions to the wide range of software distributed | ||||
| through that system in reliance on consistent application of that | ||||
| system; it is up to the author/donor to decide if he or she is willing | ||||
| to distribute software through any other system and a licensee cannot | ||||
| impose that choice. | ||||
|  | ||||
| This section is intended to make thoroughly clear what is believed to | ||||
| be a consequence of the rest of this License. | ||||
|  | ||||
|   12. If the distribution and/or use of the Library is restricted in | ||||
| certain countries either by patents or by copyrighted interfaces, the | ||||
| original copyright holder who places the Library under this License may add | ||||
| an explicit geographical distribution limitation excluding those countries, | ||||
| so that distribution is permitted only in or among countries not thus | ||||
| excluded.  In such case, this License incorporates the limitation as if | ||||
| written in the body of this License. | ||||
|  | ||||
|   13. The Free Software Foundation may publish revised and/or new | ||||
| versions of the Library General Public License from time to time. | ||||
| Such new versions will be similar in spirit to the present version, | ||||
| but may differ in detail to address new problems or concerns. | ||||
|  | ||||
| Each version is given a distinguishing version number.  If the Library | ||||
| specifies a version number of this License which applies to it and | ||||
| "any later version", you have the option of following the terms and | ||||
| conditions either of that version or of any later version published by | ||||
| the Free Software Foundation.  If the Library does not specify a | ||||
| license version number, you may choose any version ever published by | ||||
| the Free Software Foundation. | ||||
|  | ||||
|   14. If you wish to incorporate parts of the Library into other free | ||||
| programs whose distribution conditions are incompatible with these, | ||||
| write to the author to ask for permission.  For software which is | ||||
| copyrighted by the Free Software Foundation, write to the Free | ||||
| Software Foundation; we sometimes make exceptions for this.  Our | ||||
| decision will be guided by the two goals of preserving the free status | ||||
| of all derivatives of our free software and of promoting the sharing | ||||
| and reuse of software generally. | ||||
|  | ||||
| 			    NO WARRANTY | ||||
|  | ||||
|   15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO | ||||
| WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. | ||||
| EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR | ||||
| OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY | ||||
| KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE | ||||
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||||
| PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE | ||||
| LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME | ||||
| THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. | ||||
|  | ||||
|   16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN | ||||
| WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY | ||||
| AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU | ||||
| FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR | ||||
| CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE | ||||
| LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING | ||||
| RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A | ||||
| FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF | ||||
| SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH | ||||
| DAMAGES. | ||||
|  | ||||
| 		     END OF TERMS AND CONDITIONS | ||||
|  | ||||
|      Appendix: How to Apply These Terms to Your New Libraries | ||||
|  | ||||
|   If you develop a new library, and you want it to be of the greatest | ||||
| possible use to the public, we recommend making it free software that | ||||
| everyone can redistribute and change.  You can do so by permitting | ||||
| redistribution under these terms (or, alternatively, under the terms of the | ||||
| ordinary General Public License). | ||||
|  | ||||
|   To apply these terms, attach the following notices to the library.  It is | ||||
| safest to attach them to the start of each source file to most effectively | ||||
| convey the exclusion of warranty; and each file should have at least the | ||||
| "copyright" line and a pointer to where the full notice is found. | ||||
|  | ||||
|     <one line to give the library's name and a brief idea of what it does.> | ||||
|     Copyright (C) <year>  <name of author> | ||||
|  | ||||
|     This library is free software; you can redistribute it and/or | ||||
|     modify it under the terms of the GNU Library General Public | ||||
|     License as published by the Free Software Foundation; either | ||||
|     version 2 of the License, or (at your option) any later version. | ||||
|  | ||||
|     This library is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||
|     Library General Public License for more details. | ||||
|  | ||||
|     You should have received a copy of the GNU Library General Public | ||||
|     License along with this library; if not, write to the Free | ||||
|     Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||||
|  | ||||
| Also add information on how to contact you by electronic and paper mail. | ||||
|  | ||||
| You should also get your employer (if you work as a programmer) or your | ||||
| school, if any, to sign a "copyright disclaimer" for the library, if | ||||
| necessary.  Here is a sample; alter the names: | ||||
|  | ||||
|   Yoyodyne, Inc., hereby disclaims all copyright interest in the | ||||
|   library `Frob' (a library for tweaking knobs) written by James Random Hacker. | ||||
|  | ||||
|   <signature of Ty Coon>, 1 April 1990 | ||||
|   Ty Coon, President of Vice | ||||
|  | ||||
| That's all there is to it! | ||||
|  | ||||
							
								
								
									
										182
									
								
								docs/GL3.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										182
									
								
								docs/GL3.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,182 @@ | ||||
|  | ||||
| Status of OpenGL 3.x features in Mesa | ||||
|  | ||||
|  | ||||
| Note: when an item is marked as "DONE" it means all the core Mesa | ||||
| infrastructure is complete but it may be the case that few (if any) drivers | ||||
| implement the features. | ||||
|  | ||||
|  | ||||
| OpenGL Core and Compatibility context support | ||||
|  | ||||
| OpenGL 3.1 and later versions are only supported with the Core profile. | ||||
| There are no plans to support GL_ARB_compatibility. The last supported OpenGL | ||||
| version with all deprecated features is 3.0. Some of the later GL features | ||||
| are exposed in the 3.0 context as extensions. | ||||
|  | ||||
|  | ||||
| Feature                                               Status | ||||
| ----------------------------------------------------- ------------------------ | ||||
|  | ||||
| GL 3.0: | ||||
|  | ||||
| GLSL 1.30                                             DONE (i965, r600, radeonsi) | ||||
| glBindFragDataLocation, glGetFragDataLocation         DONE | ||||
| Conditional rendering (GL_NV_conditional_render)      DONE (i965, r300, r600, radeonsi, swrast) | ||||
| Map buffer subranges (GL_ARB_map_buffer_range)        DONE (i965, r300, r600, radeonsi, swrast) | ||||
| Clamping controls (GL_ARB_color_buffer_float)         DONE (i965, r300, r600, radeonsi) | ||||
| Float textures, renderbuffers (GL_ARB_texture_float)  DONE (i965, r300, r600, radeonsi) | ||||
| GL_EXT_packed_float                                   DONE (i965, r600, radeonsi) | ||||
| GL_EXT_texture_shared_exponent                        DONE (i965, r600, radeonsi, swrast) | ||||
| Float depth buffers (GL_ARB_depth_buffer_float)       DONE (i965, r600, radeonsi) | ||||
| Framebuffer objects (GL_ARB_framebuffer_object)       DONE (i965, r300, r600, radeonsi, swrast) | ||||
| Half-float                                            DONE (i965, r300, r600, radeonsi, swrast) | ||||
| Non-normalized Integer texture/framebuffer formats    DONE (i965, r600, radeonsi) | ||||
| 1D/2D Texture arrays                                  DONE (i965, r600, radeonsi) | ||||
| Per-buffer blend and masks (GL_EXT_draw_buffers2)     DONE (i965, r600, radeonsi, swrast) | ||||
| GL_EXT_texture_compression_rgtc                       DONE (i965, r300, r600, radeonsi, swrast) | ||||
| Red and red/green texture formats                     DONE (i965, r300, r600, radeonsi, swrast) | ||||
| Transform feedback (GL_EXT_transform_feedback)        DONE (i965, r600, radeonsi) | ||||
| Vertex array objects (GL_APPLE_vertex_array_object)   DONE (all drivers) | ||||
| sRGB framebuffer format (GL_EXT_framebuffer_sRGB)     DONE (i965, r600, radeonsi) | ||||
| glClearBuffer commands                                DONE | ||||
| glGetStringi command                                  DONE | ||||
| glTexParameterI, glGetTexParameterI commands          DONE | ||||
| glVertexAttribI commands                              DONE | ||||
| Depth format cube textures                            DONE (i965, r600, radeonsi) | ||||
| GLX_ARB_create_context (GLX 1.4 is required)          DONE | ||||
|  | ||||
|  | ||||
| GL 3.1: | ||||
|  | ||||
| GLSL 1.40                                             DONE (i965, r600, radeonsi) | ||||
| Forward compatible context support/deprecations       DONE (i965, r600, radeonsi) | ||||
| Instanced drawing (GL_ARB_draw_instanced)             DONE (i965, r600, radeonsi, swrast) | ||||
| Buffer copying (GL_ARB_copy_buffer)                   DONE (i965, r300, r600, radeonsi, swrast) | ||||
| Primitive restart (GL_NV_primitive_restart)           DONE (i965, r300, r600, radeonsi) | ||||
| 16 vertex texture image units                         DONE (i965, r600, radeonsi) | ||||
| Texture buffer objs (GL_ARB_texture_buffer_object)    DONE for OpenGL 3.1 contexts (i965, r600, radeonsi) | ||||
| Rectangular textures (GL_ARB_texture_rectangle)       DONE (i965, r300, r600, radeonsi, swrast) | ||||
| Uniform buffer objs (GL_ARB_uniform_buffer_object)    DONE (i965, r600, radeonsi, swrast) | ||||
| Signed normalized textures (GL_EXT_texture_snorm)     DONE (i965, r300, r600, radeonsi) | ||||
|  | ||||
|  | ||||
| GL 3.2: | ||||
|  | ||||
| Core/compatibility profiles                           DONE | ||||
| GLSL 1.50                                             DONE (i965) | ||||
| Geometry shaders                                      DONE (i965) | ||||
| BGRA vertex order (GL_ARB_vertex_array_bgra)          DONE (i965, r300, r600, radeonsi, swrast) | ||||
| Base vertex offset(GL_ARB_draw_elements_base_vertex)  DONE (i965, r300, r600, radeonsi, swrast) | ||||
| Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (i965, r300, r600, radeonsi, swrast) | ||||
| Provoking vertex (GL_ARB_provoking_vertex)            DONE (i965, r300, r600, radeonsi, swrast) | ||||
| Seamless cubemaps (GL_ARB_seamless_cube_map)          DONE (i965, r600, radeonsi) | ||||
| Multisample textures (GL_ARB_texture_multisample)     DONE (i965, r600, radeonsi) | ||||
| Frag depth clamp (GL_ARB_depth_clamp)                 DONE (i965, r600, swrast, radeonsi) | ||||
| Fence objects (GL_ARB_sync)                           DONE (i965, r300, r600, radeonsi, swrast) | ||||
| GLX_ARB_create_context_profile                        DONE | ||||
|  | ||||
|  | ||||
| GL 3.3: | ||||
|  | ||||
| GLSL 3.30                                             DONE (i965) | ||||
| GL_ARB_blend_func_extended                            DONE (i965, r600, radeonsi, softpipe) | ||||
| GL_ARB_explicit_attrib_location                       DONE (i915, i965, r300, r600, radeonsi, swrast) | ||||
| GL_ARB_occlusion_query2                               DONE (i965, r300, r600, radeonsi, swrast) | ||||
| GL_ARB_sampler_objects                                DONE (i965, r300, r600, radeonsi) | ||||
| GL_ARB_shader_bit_encoding                            DONE (i965, r600, radeonsi) | ||||
| GL_ARB_texture_rgb10_a2ui                             DONE (i965, r600, radeonsi) | ||||
| GL_ARB_texture_swizzle                                DONE (i965, r300, r600, radeonsi, swrast) | ||||
| GL_ARB_timer_query                                    DONE (i965, r600, radeonsi) | ||||
| GL_ARB_instanced_arrays                               DONE (i965, r300, r600, radeonsi) | ||||
| GL_ARB_vertex_type_2_10_10_10_rev                     DONE (i965, r600, radeonsi) | ||||
|  | ||||
|  | ||||
| GL 4.0: | ||||
|  | ||||
| GLSL 4.0                                             not started | ||||
| GL_ARB_texture_query_lod                             DONE (i965) | ||||
| GL_ARB_draw_buffers_blend                            DONE (i965, r600, radeonsi, softpipe) | ||||
| GL_ARB_draw_indirect                                 started (Christoph) | ||||
| GL_ARB_gpu_shader5                                   started | ||||
| GL_ARB_gpu_shader_fp64                               not started | ||||
| GL_ARB_sample_shading                                DONE (i965) | ||||
| GL_ARB_shader_subroutine                             not started | ||||
| GL_ARB_tessellation_shader                           not started | ||||
| GL_ARB_texture_buffer_object_rgb32                   DONE (i965, r600, radeonsi, softpipe) | ||||
| GL_ARB_texture_cube_map_array                        DONE (i965, r600, softpipe) | ||||
| GL_ARB_texture_gather                                DONE (i965) | ||||
| GL_ARB_transform_feedback2                           DONE (i965, r600, radeonsi) | ||||
| GL_ARB_transform_feedback3                           DONE (i965, r600, radeonsi) | ||||
|  | ||||
|  | ||||
| GL 4.1: | ||||
|  | ||||
| GLSL 4.1                                             not started | ||||
| GL_ARB_ES2_compatibility                             DONE (i965, r300, r600, radeonsi) | ||||
| GL_ARB_get_program_binary                            DONE (0 binary formats) | ||||
| GL_ARB_separate_shader_objects                       some infrastructure done | ||||
| GL_ARB_shader_precision                              not started | ||||
| GL_ARB_vertex_attrib_64bit                           not started | ||||
| GL_ARB_viewport_array                                not started | ||||
|  | ||||
|  | ||||
| GL 4.2: | ||||
|  | ||||
| GLSL 4.2                                             not started | ||||
| GL_ARB_texture_compression_bptc                      not started | ||||
| GL_ARB_compressed_texture_pixel_storage              not started | ||||
| GL_ARB_shader_atomic_counters                        DONE (i965) | ||||
| GL_ARB_texture_storage                               DONE (all drivers) | ||||
| GL_ARB_transform_feedback_instanced                  DONE (i965, r600, radeonsi) | ||||
| GL_ARB_base_instance                                 DONE (i965, nv50, nvc0, r600, radeonsi) | ||||
| GL_ARB_shader_image_load_store                       not started | ||||
| GL_ARB_conservative_depth                            DONE (all drivers that support GLSL 1.30) | ||||
| GL_ARB_shading_language_420pack                      DONE (all drivers that support GLSL 1.30) | ||||
| GL_ARB_internalformat_query                          DONE (i965, r300, r600, radeonsi) | ||||
| GL_ARB_map_buffer_alignment                          DONE (r300, r600, radeonsi) | ||||
|  | ||||
|  | ||||
| GL 4.3: | ||||
|  | ||||
| GLSL 4.3                                             not started | ||||
| GL_ARB_arrays_of_arrays                              not started | ||||
| GL_ARB_ES3_compatibility                             DONE (i965) | ||||
| GL_ARB_clear_buffer_object                           not started | ||||
| GL_ARB_compute_shader                                not started | ||||
| GL_ARB_copy_image                                    not started | ||||
| GL_KHR_debug                                         DONE (all drivers) | ||||
| GL_ARB_explicit_uniform_location                     not started | ||||
| GL_ARB_fragment_layer_viewport                       not started | ||||
| GL_ARB_framebuffer_no_attachments                    not started | ||||
| GL_ARB_internalformat_query2                         not started | ||||
| GL_ARB_invalidate_subdata                            DONE (all drivers) | ||||
| GL_ARB_multi_draw_indirect                           not started | ||||
| GL_ARB_program_interface_query                       not started | ||||
| GL_ARB_robust_buffer_access_behavior                 not started | ||||
| GL_ARB_shader_image_size                             not started | ||||
| GL_ARB_shader_storage_buffer_object                  not started | ||||
| GL_ARB_stencil_texturing                             not started | ||||
| GL_ARB_texture_buffer_range                          DONE (nv50, nvc0, i965, r600, radeonsi) | ||||
| GL_ARB_texture_query_levels                          DONE (i965) | ||||
| GL_ARB_texture_storage_multisample                   DONE (all drivers that support GL_ARB_texture_multisample) | ||||
| GL_ARB_texture_view                                  not started | ||||
| GL_ARB_vertex_attrib_binding                         DONE (all drivers) | ||||
|  | ||||
|  | ||||
| GL 4.4: | ||||
|  | ||||
| GLSL 4.4                                             not started | ||||
| GL_MAX_VERTEX_ATTRIB_STRIDE                          not started | ||||
| GL_ARB_buffer_storage                                not started | ||||
| GL_ARB_clear_texture                                 not started | ||||
| GL_ARB_enhanced_layouts                              not started | ||||
| GL_ARB_multi_bind                                    not started | ||||
| GL_ARB_query_buffer_object                           not started | ||||
| GL_ARB_texture_mirror_clamp_to_edge                  DONE (i965, nv30, nv50, nvc0, r300, r600, radeonsi, swrast) | ||||
| GL_ARB_texture_stencil8                              not started | ||||
| GL_ARB_vertex_type_10f_11f_11f_rev                   DONE (i965, r600) | ||||
|  | ||||
|  | ||||
| More info about these features and the work involved can be found at | ||||
| http://dri.freedesktop.org/wiki/MissingFunctionality | ||||
							
								
								
									
										256
									
								
								docs/README.CYGWIN
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										256
									
								
								docs/README.CYGWIN
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,256 @@ | ||||
|  | ||||
|                           Mesa Cygwin/X11 Information | ||||
|  | ||||
|  | ||||
| WARNING | ||||
| ======= | ||||
|  | ||||
| If you installed X11 (packages xorg-x11-devel and xorg-x11-bin-dlls ) with the  | ||||
| latest setup.exe from Cygwin the GL (Mesa) libraries and include are already  | ||||
| installed in /usr/X11R6.  | ||||
|  | ||||
| The following will explain how to "replace" them. | ||||
|  | ||||
| Installation | ||||
| ============ | ||||
|  | ||||
| How to compile Mesa on Cygwin/X11 systems: | ||||
|  | ||||
| 1. Shared libs: | ||||
|     type 'make cygwin-sl'. | ||||
|  | ||||
|     When finished, the Mesa DLL will be in the Mesa-x.y/lib/ and  | ||||
|     Mesa-x.y/bin directories. | ||||
|  | ||||
|  | ||||
| 2. Static libs: | ||||
|     type 'make cygwin-static'. | ||||
|     When finished, the Mesa libraries will be in the Mesa-x.y/lib/ directory. | ||||
|  | ||||
| Header and library files: | ||||
|    After you've compiled Mesa and tried the demos I recommend the following | ||||
|    procedure for "installing" Mesa. | ||||
|  | ||||
|    Copy the Mesa include/GL directory to /usr/X11R6/include: | ||||
| 	cp -a include/GL /usr/X11R6/include | ||||
|  | ||||
|    Copy the Mesa library files to /usr/X11R6/lib: | ||||
| 	cp -a lib/* /usr/X11R6ocal/lib | ||||
|  | ||||
|    Copy the Mesa bin files (used by the DLL stuff) to /usr/X11R6/bin: | ||||
| 	cp -a lib/cyg* /usr/X11R6/bin | ||||
|  | ||||
| Xt/Motif widgets: | ||||
|    If you want to use Mesa or OpenGL in your Xt/Motif program you can build | ||||
|    the widgets found in either the widgets-mesa or widgets-sgi directories. | ||||
|    The former were written for Mesa and the later are the original SGI | ||||
|    widgets.  Look in those directories for more information. | ||||
|    For the Motif widgets you must have downloaded the lesstif package. | ||||
|  | ||||
|  | ||||
| Using the library | ||||
| ================= | ||||
|  | ||||
| Configuration options: | ||||
|    The file src/mesa/main/config.h has many parameters which you can adjust | ||||
|    such as maximum number of lights, clipping planes, maximum texture size, | ||||
|    etc.  In particular, you may want to change DEPTH_BITS from 16 to 32 | ||||
|    if a 16-bit depth buffer isn't precise enough for your application. | ||||
|  | ||||
|  | ||||
| Shared libraries: | ||||
|    If you compile shared libraries (Win32 DLLS) you may have to set an  | ||||
|    environment variable to specify where the Mesa libraries are located.   | ||||
|    Set the PATH variable to include /your-dir/Mesa-2.6/bin.    | ||||
|    Otherwise, when you try to run a demo it may fail with a message saying  | ||||
|    that one or more DLL couldn't be found. | ||||
|  | ||||
|  | ||||
| Xt/Motif Widgets: | ||||
|    Two versions of the Xt/Motif OpenGL drawing area widgets are included: | ||||
|  | ||||
|       widgets-sgi/	SGI's stock widgets | ||||
|       widgets-mesa/	Mesa-tuned widgets | ||||
|  | ||||
|    Look in those directories for details | ||||
|  | ||||
|  | ||||
| Togl: | ||||
|    Togl is an OpenGL/Mesa widget for Tcl/Tk. | ||||
|    See http://togl.sourceforge.net for more information. | ||||
|  | ||||
|  | ||||
|  | ||||
| X Display Modes: | ||||
|    Mesa supports RGB(A) rendering into almost any X visual type and depth. | ||||
|  | ||||
|    The glXChooseVisual function tries its best to pick an appropriate visual | ||||
|    for the given attribute list.  However, if this doesn't suit your needs | ||||
|    you can force Mesa to use any X visual you want (any supported by your | ||||
|    X server that is) by setting the MESA_RGB_VISUAL and MESA_CI_VISUAL | ||||
|    environment variables.  When an RGB visual is requested, glXChooseVisual | ||||
|    will first look if the MESA_RGB_VISUAL variable is defined.  If so, it | ||||
|    will try to use the specified visual.  Similarly, when a color index | ||||
|    visual is requested, glXChooseVisual will look for the MESA_CI_VISUAL | ||||
|    variable. | ||||
|  | ||||
|    The format of accepted values is:  <visual-class> <depth> | ||||
|    Here are some examples: | ||||
|  | ||||
|    using the C-shell: | ||||
| 	% setenv MESA_RGB_VISUAL "TrueColor 8"		// 8-bit TrueColor | ||||
| 	% setenv MESA_CI_VISUAL "PseudoColor 12"	// 12-bit PseudoColor | ||||
| 	% setenv MESA_RGB_VISUAL "PseudoColor 8"	// 8-bit PseudoColor | ||||
|  | ||||
|    using the KornShell: | ||||
| 	$ export MESA_RGB_VISUAL="TrueColor 8" | ||||
| 	$ export MESA_CI_VISUAL="PseudoColor 12" | ||||
| 	$ export MESA_RGB_VISUAL="PseudoColor 8" | ||||
|  | ||||
|  | ||||
| Double buffering: | ||||
|    Mesa can use either an X Pixmap or XImage as the backbuffer when in | ||||
|    double buffer mode.  Using GLX, the default is to use an XImage.  The | ||||
|    MESA_BACK_BUFFER environment variable can override this.  The valid | ||||
|    values for MESA_BACK_BUFFER are:  Pixmap and XImage (only the first | ||||
|    letter is checked, case doesn't matter). | ||||
|  | ||||
|    A pixmap is faster when drawing simple lines and polygons while an | ||||
|    XImage is faster when Mesa has to do pixel-by-pixel rendering.  If you | ||||
|    need depth buffering the XImage will almost surely be faster.  Exper- | ||||
|    iment with the MESA_BACK_BUFFER variable to see which is faster for | ||||
|    your application.   | ||||
|  | ||||
|  | ||||
| Colormaps: | ||||
|    When using Mesa directly or with GLX, it's up to the application writer | ||||
|    to create a window with an appropriate colormap.  The aux, tk, and GLUT | ||||
|    toolkits try to minimize colormap "flashing" by sharing colormaps when | ||||
|    possible.  Specifically, if the visual and depth of the window matches | ||||
|    that of the root window, the root window's colormap will be shared by | ||||
|    the Mesa window.  Otherwise, a new, private colormap will be allocated. | ||||
|  | ||||
|    When sharing the root colormap, Mesa may be unable to allocate the colors | ||||
|    it needs, resulting in poor color quality.  This can happen when a | ||||
|    large number of colorcells in the root colormap are already allocated. | ||||
|    To prevent colormap sharing in aux, tk and GLUT, define the environment | ||||
|    variable MESA_PRIVATE_CMAP.  The value isn't significant. | ||||
|  | ||||
|  | ||||
| Gamma correction: | ||||
|    To compensate for the nonlinear relationship between pixel values | ||||
|    and displayed intensities, there is a gamma correction feature in | ||||
|    Mesa.  Some systems, such as Silicon Graphics, support gamma | ||||
|    correction in hardware (man gamma) so you won't need to use Mesa's | ||||
|    gamma facility.  Other systems, however, may need gamma adjustment | ||||
|    to produce images which look correct.  If in the past you thought | ||||
|    Mesa's images were too dim, read on. | ||||
|  | ||||
|    Gamma correction is controlled with the MESA_GAMMA environment | ||||
|    variable.  Its value is of the form "Gr Gg Gb" or just "G" where | ||||
|    Gr is the red gamma value, Gg is the green gamma value, Gb is the | ||||
|    blue gamma value and G is one gamma value to use for all three | ||||
|    channels.  Each value is a positive real number typically in the | ||||
|    range 1.0 to 2.5.  The defaults are all 1.0, effectively disabling | ||||
|    gamma correction.  Examples using csh: | ||||
|  | ||||
| 	% setenv MESA_GAMMA "2.3 2.2 2.4"	// separate R,G,B values | ||||
| 	% setenv MESA_GAMMA "2.0"		// same gamma for R,G,B | ||||
|  | ||||
|    The demos/gamma.c program may help you to determine reasonable gamma | ||||
|    value for your display.  With correct gamma values, the color intensities | ||||
|    displayed in the top row (drawn by dithering) should nearly match those | ||||
|    in the bottom row (drawn as grays). | ||||
|  | ||||
|    Alex De Bruyn reports that gamma values of 1.6, 1.6 and 1.9 work well | ||||
|    on HP displays using the HP-ColorRecovery technology. | ||||
|  | ||||
|    Mesa implements gamma correction with a lookup table which translates | ||||
|    a "linear" pixel value to a gamma-corrected pixel value.  There is a | ||||
|    small performance penalty.  Gamma correction only works in RGB mode. | ||||
|    Also be aware that pixel values read back from the frame buffer will | ||||
|    not be "un-corrected" so glReadPixels may not return the same data | ||||
|    drawn with glDrawPixels. | ||||
|  | ||||
|    For more information about gamma correction see: | ||||
|    http://www.inforamp.net/~poynton/notes/colour_and_gamma/GammaFAQ.html | ||||
|  | ||||
|  | ||||
| Overlay Planes | ||||
|  | ||||
|    Overlay planes in the frame buffer are supported by Mesa but require | ||||
|    hardware and X server support.  To determine if your X server has | ||||
|    overlay support you can test for the SERVER_OVERLAY_VISUALS property: | ||||
|  | ||||
| 	xprop -root | grep SERVER_OVERLAY_VISUALS | ||||
|  | ||||
|  | ||||
| HPCR glClear(GL_COLOR_BUFFER_BIT) dithering | ||||
|  | ||||
|    If you set the MESA_HPCR_CLEAR environment variable then dithering | ||||
|    will be used when clearing the color buffer.  This is only applicable | ||||
|    to HP systems with the HPCR (Color Recovery) system. | ||||
|  | ||||
|  | ||||
| Extensions | ||||
| ========== | ||||
|    There are three Mesa-specific GLX extensions at this time. | ||||
|  | ||||
|    GLX_MESA_pixmap_colormap  | ||||
|  | ||||
|       This extension adds the GLX function: | ||||
|  | ||||
|          GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual, | ||||
|                                            Pixmap pixmap, Colormap cmap ) | ||||
|  | ||||
|       It is an alternative to the standard glXCreateGLXPixmap() function. | ||||
|       Since Mesa supports RGB rendering into any X visual, not just True- | ||||
|       Color or DirectColor, Mesa needs colormap information to convert RGB | ||||
|       values into pixel values.  An X window carries this information but a | ||||
|       pixmap does not.  This function associates a colormap to a GLX pixmap. | ||||
|       See the xdemos/glxpixmap.c file for an example of how to use this | ||||
|       extension. | ||||
|  | ||||
|    GLX_MESA_release_buffers | ||||
|  | ||||
|       Mesa associates a set of ancillary (depth, accumulation, stencil and | ||||
|       alpha) buffers with each X window it draws into.  These ancillary | ||||
|       buffers are allocated for each X window the first time the X window | ||||
|       is passed to glXMakeCurrent().  Mesa, however, can't detect when an | ||||
|       X window has been destroyed in order to free the ancillary buffers. | ||||
|  | ||||
|       The best it can do is to check for recently destroyed windows whenever | ||||
|       the client calls the glXCreateContext() or glXDestroyContext() | ||||
|       functions.  This may not be sufficient in all situations though. | ||||
|  | ||||
|       The GLX_MESA_release_buffers extension allows a client to explicitly | ||||
|       deallocate the ancillary buffers by calling glxReleaseBuffersMESA() | ||||
|       just before an X window is destroyed.  For example: | ||||
|  | ||||
|          #ifdef GLX_MESA_release_buffers | ||||
|             glXReleaseBuffersMESA( dpy, window ); | ||||
|          #endif | ||||
|          XDestroyWindow( dpy, window ); | ||||
|  | ||||
|       This extension is new in Mesa 2.0. | ||||
|  | ||||
|    GLX_MESA_copy_sub_buffer | ||||
|  | ||||
|       This extension adds the glXCopySubBufferMESA() function.  It works | ||||
|       like glXSwapBuffers() but only copies a sub-region of the window | ||||
|       instead of the whole window. | ||||
|  | ||||
|       This extension is new in Mesa version 2.6 | ||||
|  | ||||
|  | ||||
|  | ||||
| Summary of X-related environment variables: | ||||
|    MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode (X only) | ||||
|    MESA_CI_VISUAL - specifies the X visual and depth for CI mode (X only) | ||||
|    MESA_BACK_BUFFER - specifies how to implement the back color buffer (X only) | ||||
|    MESA_PRIVATE_CMAP - force aux/tk libraries to use private colormaps (X only) | ||||
|    MESA_GAMMA - gamma correction coefficients (X only) | ||||
|  | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
| README.CYGWIN - lassauge April 2004 - based on README.X11 | ||||
							
								
								
									
										102
									
								
								docs/README.MITS
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								docs/README.MITS
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,102 @@ | ||||
|  | ||||
| 			Mesa 3.0 MITS Information | ||||
|  | ||||
|  | ||||
| This software is distributed under the terms of the GNU Library | ||||
| General Public License, see the LICENSE file for details. | ||||
|  | ||||
|  | ||||
| This document is a preliminary introduction to help you get | ||||
| started. For more detaile information consult the web page. | ||||
|  | ||||
| http://10-dencies.zkm.de/~mesa/ | ||||
|  | ||||
|  | ||||
|  | ||||
| Version 0.1 (Yes it's very alpha code so be warned!) | ||||
| Contributors:  | ||||
|   Emil Briggs    	(briggs@bucky.physics.ncsu.edu) | ||||
|   David Bucciarelli 	(tech.hmw@plus.it) | ||||
|   Andreas Schiffler 	(schiffler@zkm.de) | ||||
|  | ||||
|  | ||||
|  | ||||
| 1. Requirements: | ||||
|      Mesa 3.0. | ||||
|      An SMP capable machine running Linux 2.x | ||||
|      libpthread installed on your machine. | ||||
|  | ||||
|  | ||||
| 2. What does MITS stand for? | ||||
|      MITS stands for Mesa Internal Threading System. By adding | ||||
|      internal threading to Mesa it should be possible to improve | ||||
|      performance of OpenGL applications on SMP machines. | ||||
|  | ||||
|  | ||||
| 3. Do applications have to be recoded to take advantage of MITS? | ||||
|      No. The threading is internal to Mesa and transparent to | ||||
|      applications. | ||||
|  | ||||
|  | ||||
| 4. Will all applications benefit from the current implementation of MITS? | ||||
|      No. This implementation splits the processing of the vertex buffer | ||||
|      over two threads. There is a certain amount of overhead involved | ||||
|      with the thread synchronization and if there is not enough work | ||||
|      to be done the extra overhead outweighs any speedup from using | ||||
|      dual processors. You will not for example see any speedup when | ||||
|      running Quake because it uses GL_POLYGON and there is only one | ||||
|      polygon for each vertex buffer processed. Test results on a | ||||
|      dual 200 Mhz. Pentium Pro system show that one needs around | ||||
|      100-200 vertices in the vertex buffer before any there is any | ||||
|      appreciable benefit from the threading. | ||||
|  | ||||
|  | ||||
| 5. Are there any parameters that I can tune to try to improve performance. | ||||
|      Yes. You can try to vary the size of the vertex buffer which is | ||||
|      define in VB_MAX located in the file src/vb.h from your top level | ||||
|      Mesa distribution. The number needs to be a multiple of 12 and | ||||
|      the optimum value will probably depend on the capabilities of | ||||
|      your machine and the particular application you are running. | ||||
|  | ||||
|  | ||||
| 6. Are there any ways I can modify the application to improve its | ||||
|    performance with the MITS? | ||||
|      Yes. Try to use as many vertices between each Begin/End pair | ||||
|      as possbile. This will reduce the thread synchronization | ||||
|      overhead. | ||||
|  | ||||
|  | ||||
| 7. What sort of speedups can I expect? | ||||
|      On some benchmarks performance gains of up to 30% have been | ||||
|      observerd. Others may see no gain at all and in a few rare | ||||
|      cases even some degradation. | ||||
|  | ||||
|  | ||||
| 8. What still needs to be done? | ||||
|      Lots of testing and benchmarking. | ||||
|      A portable implementation that works within the Mesa thread API. | ||||
|      Threading of additional areas of Mesa to improve performance | ||||
|      even more. | ||||
|  | ||||
|  | ||||
|  | ||||
| Installation: | ||||
|  | ||||
|    1. This assumes that you already have a working Mesa 3.0 installation | ||||
|       from source. | ||||
|    2. Place the tarball MITS.tar.gz in your top level Mesa directory. | ||||
|    3. Unzip it and untar it. It will replace the following files in | ||||
|       your Mesa source tree so back them up if you want to save them. | ||||
|  | ||||
|  | ||||
| 	 README.MITS | ||||
|          Make-config | ||||
| 	 Makefile | ||||
| 	 mklib.glide | ||||
|          src/vbxform.c | ||||
| 	 src/vb.h | ||||
|  | ||||
|    4. Rebuild Mesa using the command | ||||
|  | ||||
|           make linux-386-glide-mits | ||||
|  | ||||
							
								
								
									
										207
									
								
								docs/README.QUAKE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										207
									
								
								docs/README.QUAKE
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,207 @@ | ||||
|  | ||||
|              Info on using Mesa 3.0 with Linux Quake I and Quake II | ||||
|  | ||||
|  | ||||
|  | ||||
| Disclaimer | ||||
| ---------- | ||||
|  | ||||
| I am _not_ a Quake expert by any means.  I pretty much only run it to | ||||
| test Mesa.  There have been a lot of questions about Linux Quake and | ||||
| Mesa so I'm trying to provide some useful info here.  If this file | ||||
| doesn't help you then you should look elsewhere for help.  The Mesa | ||||
| mailing list or the news://news.3dfx.com/3dfx.linux.glide newsgroup | ||||
| might be good. | ||||
|  | ||||
| Again, all the information I have is in this file.  Please don't email | ||||
| me with questions. | ||||
|  | ||||
| If you have information to contribute to this file please send it to | ||||
| me at brianp@elastic.avid.com | ||||
|  | ||||
|  | ||||
|  | ||||
| Linux Quake | ||||
| ----------- | ||||
|  | ||||
| You can get Linux Quake from http://www.idsoftware.com/ | ||||
|  | ||||
| Quake I and II for Linux were tested with, and include, Mesa 2.6.  You | ||||
| shouldn't have too many problems if you simply follow the instructions | ||||
| in the Quake distribution. | ||||
|  | ||||
|  | ||||
|  | ||||
| RedHat 5.0 Linux problems | ||||
| ------------------------- | ||||
|  | ||||
| RedHat Linux 5.x uses the GNU C library ("glibc" or "libc6") whereas | ||||
| previous RedHat and other Linux distributions use "libc5" for its | ||||
| runtime C library. | ||||
|  | ||||
| Linux Quake I and II were compiled for libc5.  If you compile Mesa | ||||
| on a RedHat 5.x system the resulting libMesaGL.so file will not work | ||||
| with Linux Quake because of the different C runtime libraries. | ||||
| The symptom of this is a segmentation fault soon after starting Quake. | ||||
|  | ||||
| If you want to use a newer version of Mesa (like 3.x) with Quake on | ||||
| RedHat 5.x then read on. | ||||
|  | ||||
| The solution to the C library problem is to force Mesa to use libc5. | ||||
| libc5 is in /usr/i486-linux-libc5/lib on RedHat 5.x systems. | ||||
|  | ||||
| Emil Briggs (briggs@tick.physics.ncsu.edu) nicely gave me the following | ||||
| info: | ||||
|  | ||||
| >   I only know what works on a RedHat 5.0 distribution. RH5 includes | ||||
| > a full set of libraries for both libc5 and glibc. The loader ld.so | ||||
| > uses the libc5 libraries in /usr/i486-linux-libc5/lib for programs | ||||
| > linked against libc5 while it uses the glibc libraries in /lib and | ||||
| > /usr/lib for programs linked against glibc. | ||||
| >  | ||||
| > Anyway I changed line 41 of mklib.glide to | ||||
| >     GLIDELIBS="-L/usr/local/glide/lib -lglide2x -L/usr/i486-linux-libc5/lib" | ||||
| >  | ||||
| > And I started quake2 up with a script like this | ||||
| > #!/bin/csh | ||||
| > setenv LD_LIBRARY_PATH /usr/i486-linux-libc5/lib | ||||
| > setenv MESA_GLX_FX f | ||||
| > ./quake2 +set vid_ref gl | ||||
| > kbd_mode -a | ||||
| > reset | ||||
|  | ||||
|  | ||||
| I've already patched the mklib.glide file.  You'll have to start Quake | ||||
| with the script shown above though. | ||||
|  | ||||
|  | ||||
|  | ||||
| ********************** | ||||
|  | ||||
| Daryll Strauss writes: | ||||
|  | ||||
| Here's my thoughts on the problem. On a RH 5.x system, you can NOT build | ||||
| a libc5 executable or library. Red Hat just doesn't include the right | ||||
| stuff to do it. | ||||
|  | ||||
| Since Quake is a libc5 based application, you are in trouble. You need | ||||
| libc5 libraries. | ||||
|  | ||||
| What can you do about it? Well there's a package called gcc5 that does | ||||
| MOST of the right stuff to compile with libc5. (It brings back older | ||||
| header files, makes appropriate symbolic links for libraries, and sets | ||||
| up the compiler to use the correct directories) You can find gcc5 here:  | ||||
| ftp://ecg.mit.edu/pub/linux/gcc5-1.0-1.i386.rpm | ||||
|  | ||||
| No, this isn't quite enough. There are still a few tricks to getting | ||||
| Mesa to compile as a libc5 application. First you have to make sure that | ||||
| every compile uses gcc5 instead of gcc. Second, in some cases the link | ||||
| line actually lists -L/usr/lib which breaks gcc5 (because it forces you | ||||
| to use the glibc version of things) | ||||
|  | ||||
| If you get all the stuff correctly compiled with gcc5 it should work. | ||||
| I've run Mesa 3.0B6  and its demos in a window with my Rush on a Red Hat | ||||
| 5.1 system. It is a big hassle, but it can be done. I've only made Quake | ||||
| segfault, but I think that's from my libRush using the wrong libc.  | ||||
|  | ||||
| Yes, mixing libc5 and glibc is a major pain. I've been working to get | ||||
| all my libraries compiling correctly with this setup. Someone should | ||||
| make an RPM out of it and feed changes back to Brian once they get it | ||||
| all working. If no one else has done so by the time I get the rest of my | ||||
| stuff straightened out, I'll try to do it myself. | ||||
|  | ||||
| 							- |Daryll | ||||
|  | ||||
|  | ||||
|  | ||||
| ********************* | ||||
|  | ||||
| David Bucciarelli (tech.hmw@plus.it) writes: | ||||
|  | ||||
| I'm using the Mesa-3.0beta7 and the RedHat 5.1 and QuakeII is | ||||
| working fine for me.  I had only to make a small change to the | ||||
| Mesa-3.0/mklib.glide file, from: | ||||
|  | ||||
|  | ||||
|     GLIDELIBS="-L/usr/local/glide/lib -lglide2x | ||||
| -L/usr/i486-linux-libc5/lib -lm" | ||||
|  | ||||
| to: | ||||
|  | ||||
|     GLIDELIBS="-L/usr/i486-linux-libc5/lib -lglide2x" | ||||
|  | ||||
| and to make two symbolic links: | ||||
|  | ||||
| [david@localhost Mesa]$ ln -s libMesaGL.so libMesaGL.so.2 | ||||
| [david@localhost Mesa]$ ln -s libMesaGLU.so libMesaGLU.so.2 | ||||
|  | ||||
| I'm using the Daryll's Linux glide rpm for the Voodoo2 and glibc (it | ||||
| includes also the Glide for the libc5). I'm not using the /dev/3Dfx and | ||||
| running QuakeII as root with the following env. var: | ||||
|  | ||||
| export | ||||
| LD_LIBRARY_PATH=/dsk1/home/david/src/gl/Mesa/lib:/usr/i486-linux-libc5/lib | ||||
|  | ||||
| I think that all problems are related to the glibc, Quake will never | ||||
| work if you get the following output: | ||||
|  | ||||
| [david@localhost Mesa]$ ldd lib/libMesaGL.so | ||||
|         libglide2x.so => /usr/lib/libglide2x.so (0x400f8000) | ||||
|         libm.so.6 => /lib/libm.so.6 (0x40244000) | ||||
|         libc.so.6 => /lib/libc.so.6 (0x4025d000) | ||||
|         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000) | ||||
|  | ||||
| You must get the following outputs: | ||||
|  | ||||
| [david@localhost Mesa]# ldd lib/libMesaGL.so | ||||
|         libglide2x.so => /usr/i486-linux-libc5/lib/libglide2x.so | ||||
| (0x400f3000) | ||||
|  | ||||
| [root@localhost quake2]# ldd quake2 | ||||
|         libdl.so.1 => /lib/libdl.so.1 (0x40005000) | ||||
|         libm.so.5 => /usr/i486-linux-libc5/lib/libm.so.5 (0x40008000) | ||||
|         libc.so.5 => /usr/i486-linux-libc5/lib/libc.so.5 (0x40010000) | ||||
|  | ||||
| [root@localhost quake2]# ldd ref_gl.so | ||||
|         libMesaGL.so.2 => | ||||
| /dsk1/home/david/src/gl/Mesa/lib/libMesaGL.so.2 (0x400eb000) | ||||
|         libglide2x.so => /usr/i486-linux-libc5/lib/libglide2x.so | ||||
| (0x401d9000) | ||||
|         libX11.so.6 => /usr/i486-linux-libc5/lib/libX11.so.6 | ||||
| (0x40324000) | ||||
|         libXext.so.6 => /usr/i486-linux-libc5/lib/libXext.so.6 | ||||
| (0x403b7000) | ||||
|         libvga.so.1 => /usr/i486-linux-libc5/lib/libvga.so.1 | ||||
| (0x403c1000) | ||||
|         libm.so.5 => /usr/i486-linux-libc5/lib/libm.so.5 (0x403f5000) | ||||
|         libc.so.5 => /usr/i486-linux-libc5/lib/libc.so.5 (0x403fd000) | ||||
|  | ||||
|  | ||||
| *********************** | ||||
|  | ||||
| Steve Davies (steve@one47.demon.co.uk) writes: | ||||
|  | ||||
|  | ||||
| Try using: | ||||
|  | ||||
|     export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib | ||||
|     ./quake2 +set vid_ref gl | ||||
|  | ||||
| to start the game... Works for me, but assumes that you have the | ||||
| compatability libc5 RPMs installed. | ||||
|  | ||||
|  | ||||
| *************************** | ||||
|  | ||||
| WWW resources - you may find additional Linux Quake help at these URLs: | ||||
|  | ||||
|  | ||||
| http://quake.medina.net/howto | ||||
|  | ||||
| http://webpages.mr.net/bobz | ||||
|  | ||||
| http://www.linuxgames.com/quake2/ | ||||
|  | ||||
|  | ||||
|  | ||||
| ---------------------------------------------------------------------- | ||||
							
								
								
									
										52
									
								
								docs/README.THREADS
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								docs/README.THREADS
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
|  | ||||
|  | ||||
| Mesa Threads README | ||||
| ------------------- | ||||
|  | ||||
| Thread safety was introduced in Mesa 2.6 by John Stone and | ||||
| Christoph Poliwoda. | ||||
|  | ||||
| It was redesigned in Mesa 3.3 so that thread safety is | ||||
| supported by default (on systems which support threads, | ||||
| that is).  There is no measurable penalty on single | ||||
| threaded applications. | ||||
|  | ||||
| NOTE that the only _driver_ which is thread safe at this time | ||||
| is the OS/Mesa driver! | ||||
|  | ||||
|  | ||||
| At present the mthreads code supports three thread APIS: | ||||
|   1) POSIX threads (aka pthreads). | ||||
|   2) Solaris / Unix International threads. | ||||
|   3) Win32 threads (Win 95/NT). | ||||
|  | ||||
| Support for other thread libraries can be added src/glthread.[ch] | ||||
|  | ||||
|  | ||||
| In order to guarantee proper operation, it is | ||||
| necessary for both Mesa and application code to use the same threads API. | ||||
| So, if your application uses Sun's thread API, then you should build Mesa | ||||
| using one of the targets for Sun threads. | ||||
|  | ||||
| The mtdemos directory contains some example programs which use  | ||||
| multiple threads to render to osmesa rendering context(s). | ||||
|  | ||||
| Linux users should be aware that there exist many different POSIX | ||||
| threads packages. The best solution is the linuxthreads package | ||||
| (http://pauillac.inria.fr/~xleroy/linuxthreads/) as this package is the | ||||
| only one that really supports multiprocessor machines (AFAIK). See | ||||
| http://pauillac.inria.fr/~xleroy/linuxthreads/README for further | ||||
| information about the usage of linuxthreads. | ||||
|  | ||||
| If you are interested in helping with thread safety work in Mesa | ||||
| join the Mesa developers mailing list and post your proposal. | ||||
|  | ||||
|  | ||||
| Regards, | ||||
|   John Stone           -- j.stone@acm.org  johns@cs.umr.edu | ||||
|   Christoph Poliwoda   -- poliwoda@volumegraphics.com | ||||
|  | ||||
|  | ||||
| Version info: | ||||
|    Mesa 2.6 - initial thread support. | ||||
|    Mesa 3.3 - thread support mostly rewritten (Brian Paul) | ||||
| @@ -2,8 +2,8 @@ The software may implement third party technologies (e.g. third party | ||||
| libraries) that are not licensed to you by AMD and for which you may need | ||||
| to obtain licenses from other parties.  Unless explicitly stated otherwise, | ||||
| these third party technologies are not licensed hereunder.  Such third | ||||
| party technologies include, but are not limited, to H.264, H.265, HEVC, MPEG-2, | ||||
| MPEG-4, AVC, and VC-1. | ||||
| party technologies include, but are not limited, to H.264, MPEG-2, MPEG-4, | ||||
| AVC, and VC-1. | ||||
|  | ||||
| For MPEG-2 Encoding Products ANY USE OF THIS PRODUCT IN ANY MANNER OTHER | ||||
| THAN PERSONAL USE THAT COMPLIES WITH THE MPEG-2 STANDARD FOR ENCODING VIDEO | ||||
| @@ -11,34 +11,3 @@ INFORMATION FOR PACKAGED MEDIA IS EXPRESSLY PROHIBITED WITHOUT A LICENSE | ||||
| UNDER APPLICABLE PATENTS IN THE MPEG-2 PATENT PORTFOLIO, WHICH LICENSES IS | ||||
| AVAILABLE FROM MPEG LA, LLC, 6312 S. Fiddlers Green Circle, Suite 400E, | ||||
| Greenwood Village, Colorado 80111 U.S.A. | ||||
|  | ||||
| WARRANTY DISCLAIMER: THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY | ||||
| KIND.  AMD DISCLAIMS ALL WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING | ||||
| BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A | ||||
| PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT, THAT THE SOFTWARE WILL RUN | ||||
| UNINTERRUPTED OR ERROR-FREE OR WARRANTIES ARISING FROM CUSTOM OF TRADE OR | ||||
| COURSE OF USAGE.  THE ENTIRE RISK ASSOCIATED WITH THE USE OF THE SOFTWARE IS | ||||
| ASSUMED BY YOU.  Some jurisdictions do not allow the exclusion of implied | ||||
| warranties, so the above exclusion may not apply to You. | ||||
|  | ||||
| LIMITATION OF LIABILITY AND INDEMNIFICATION:  AMD AND ITS LICENSORS WILL NOT, | ||||
| UNDER ANY CIRCUMSTANCES BE LIABLE FOR ANY PUNITIVE, DIRECT, INCIDENTAL, | ||||
| INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM USE OF THE SOFTWARE OR | ||||
| THIS AGREEMENT EVEN IF AMD AND ITS LICENSORS HAVE BEEN ADVISED OF THE | ||||
| POSSIBILITY OF SUCH DAMAGES.  In no event shall AMD's total liability to You | ||||
| for all damages, losses, and causes of action (whether in contract, tort | ||||
| (including negligence) or otherwise) exceed the amount of $100 USD.  You agree | ||||
| to defend, indemnify and hold harmless AMD and its licensors, and any of their | ||||
| directors, officers, employees, affiliates or agents from and against any and | ||||
| all loss, damage, liability and other expenses (including reasonable | ||||
| attorneys' fees), resulting from Your use of the Software or violation of the | ||||
| terms and conditions of this Agreement. | ||||
|  | ||||
| U.S. GOVERNMENT RESTRICTED RIGHTS: The Software is provided with "RESTRICTED | ||||
| RIGHTS." Use, duplication, or disclosure by the Government is subject to the | ||||
| restrictions as set forth in FAR 52.227-14 and DFAR252.227-7013, et seq., or | ||||
| its successor.  Use of the Software by the Government constitutes | ||||
| acknowledgement of AMD's proprietary rights in them. | ||||
|  | ||||
| EXPORT RESTRICTIONS: The Software may be subject to export restrictions as | ||||
| stated in the Software License Agreement. | ||||
|   | ||||
| @@ -1,43 +0,0 @@ | ||||
| The software may implement third party technologies (e.g. third party | ||||
| libraries) that are not licensed to you by AMD and for which you may need | ||||
| to obtain licenses from other parties.  Unless explicitly stated otherwise, | ||||
| these third party technologies are not licensed hereunder.  Such third | ||||
| party technologies include, but are not limited, to H.264, MPEG-2, MPEG-4, | ||||
| AVC, and VC-1.   | ||||
|  | ||||
| For MPEG-2 Intermediate Products: ANY USE OF THIS PRODUCT IN ANY MANNER OTHER | ||||
| THAN PERSONAL USE THAT COMPLIES WITH THE MPEG-2 STANDARD IS EXPRESSLY | ||||
| PROHIBITED WITHOUT A LICENSE UNDER APPLICABLE PATENTS IN THE MPEG-2 PATENT | ||||
| PORTFOLIO, WHICH LICENSES IS AVAILABLE FROM MPEG LA, LLC, 6312 S. Fiddlers | ||||
| Green Circle, Suite 400E, Greenwood Village, Colorado 80111 U.S.A. | ||||
|  | ||||
| WARRANTY DISCLAIMER: THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY | ||||
| KIND.  AMD DISCLAIMS ALL WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING | ||||
| BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A | ||||
| PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT, THAT THE SOFTWARE WILL RUN | ||||
| UNINTERRUPTED OR ERROR-FREE OR WARRANTIES ARISING FROM CUSTOM OF TRADE OR | ||||
| COURSE OF USAGE.  THE ENTIRE RISK ASSOCIATED WITH THE USE OF THE SOFTWARE IS | ||||
| ASSUMED BY YOU.  Some jurisdictions do not allow the exclusion of implied | ||||
| warranties, so the above exclusion may not apply to You. | ||||
|  | ||||
| LIMITATION OF LIABILITY AND INDEMNIFICATION:  AMD AND ITS LICENSORS WILL NOT, | ||||
| UNDER ANY CIRCUMSTANCES BE LIABLE FOR ANY PUNITIVE, DIRECT, INCIDENTAL, | ||||
| INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM USE OF THE SOFTWARE OR | ||||
| THIS AGREEMENT EVEN IF AMD AND ITS LICENSORS HAVE BEEN ADVISED OF THE | ||||
| POSSIBILITY OF SUCH DAMAGES.  In no event shall AMD's total liability to You | ||||
| for all damages, losses, and causes of action (whether in contract, tort | ||||
| (including negligence) or otherwise) exceed the amount of $100 USD.  You agree | ||||
| to defend, indemnify and hold harmless AMD and its licensors, and any of their | ||||
| directors, officers, employees, affiliates or agents from and against any and | ||||
| all loss, damage, liability and other expenses (including reasonable | ||||
| attorneys' fees), resulting from Your use of the Software or violation of the | ||||
| terms and conditions of this Agreement. | ||||
|  | ||||
| U.S. GOVERNMENT RESTRICTED RIGHTS: The Software is provided with "RESTRICTED | ||||
| RIGHTS." Use, duplication, or disclosure by the Government is subject to the | ||||
| restrictions as set forth in FAR 52.227-14 and DFAR252.227-7013, et seq., or | ||||
| its successor.  Use of the Software by the Government constitutes | ||||
| acknowledgement of AMD's proprietary rights in them. | ||||
|  | ||||
| EXPORT RESTRICTIONS: The Software may be subject to export restrictions as | ||||
| stated in the Software License Agreement. | ||||
| @@ -11,6 +11,10 @@ no longer shipped or supported. | ||||
|  | ||||
| Run | ||||
|  | ||||
|   scons osmesa mesagdi | ||||
|  | ||||
| to build classic mesa Windows GDI drivers; or | ||||
|  | ||||
|   scons libgl-gdi | ||||
|  | ||||
| to build gallium based GDI driver. | ||||
| @@ -32,15 +36,17 @@ Recipe | ||||
| Building on windows requires several open-source packages. These are | ||||
| steps that work as of this writing. | ||||
|  | ||||
| - install python 2.7 | ||||
| - install scons (latest) | ||||
| - install mingw, flex, and bison | ||||
| - install pywin32 from here: http://www.lfd.uci.edu/~gohlke/pythonlibs | ||||
| 1) install python 2.7 | ||||
| 2) install scons (latest) | ||||
| 3) install mingw, flex, and bison | ||||
| 4) install libxml2 from here: http://www.lfd.uci.edu/~gohlke/pythonlibs | ||||
|   get libxml2-python-2.9.1.win-amd64-py2.7.exe | ||||
| 5) install pywin32 from here: http://www.lfd.uci.edu/~gohlke/pythonlibs | ||||
|   get pywin32-218.4.win-amd64-py2.7.exe | ||||
| - install git | ||||
| - download mesa from git | ||||
|   see https://www.mesa3d.org/repository.html | ||||
| - run scons | ||||
| 6) install git | ||||
| 7) download mesa from git | ||||
|   see http://www.mesa3d.org/repository.html | ||||
| 8) run scons | ||||
|  | ||||
| General | ||||
| ------- | ||||
|   | ||||
| @@ -103,7 +103,7 @@ Mesa Version History | ||||
| 	- Stencil-related functions now work in display lists | ||||
|     Changes: | ||||
| 	- renamed aux.h as glaux.h (MS-DOS names can't start with aux) | ||||
| 	- most filenames are in 8.3 format to accommodate MS-DOS | ||||
| 	- most filenames are in 8.3 format to accomodate MS-DOS | ||||
| 	- use GLubytes to store arrays of colors instead of GLints | ||||
|  | ||||
| 1.2.2   August 2, 1995 | ||||
| @@ -1007,7 +1007,7 @@ Mesa Version History | ||||
| 	- glGetTexImage was using pixel unpacking instead of packing params | ||||
| 	- auto-mipmap generation for cube maps was incorrect | ||||
|     Changes: | ||||
| 	- max texture units reduced to six to accommodate texture rectangles | ||||
| 	- max texture units reduced to six to accomodate texture rectangles | ||||
| 	- removed unfinished GL_MESA_sprite_point extension code | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -33,7 +33,7 @@ without a depth buffer. | ||||
| <p> | ||||
| Mesa 9.1.2 and later (will) support a DRI configuration option to work around | ||||
| this issue. | ||||
| Using the <a href="https://dri.freedesktop.org/wiki/DriConf">driconf</a> tool, | ||||
| Using the <a href="http://dri.freedesktop.org/wiki/DriConf">driconf</a> tool, | ||||
| set the "Create all visuals with a depth buffer" option before running Topogun. | ||||
| Then, all GLX visuals will be created with a depth buffer. | ||||
| </p> | ||||
|   | ||||
| @@ -26,12 +26,6 @@ | ||||
|   </ul> | ||||
| </ol> | ||||
|  | ||||
| <h2>ATTENTION:</h2> | ||||
| <p> | ||||
|     The autotools build is being replaced by the <a href="meson.html">meson</a> | ||||
|     build system. If you haven't yet now is a good time to try using meson and | ||||
|     report any issues you run into. | ||||
| </p> | ||||
|  | ||||
| <h2 id="basic">1. Basic Usage</h2> | ||||
|  | ||||
| @@ -61,7 +55,7 @@ to your preference, type: | ||||
| </pre> | ||||
|  | ||||
| <p> | ||||
| This will produce libGL.so and/or several other libraries depending on the | ||||
| This will produce libGL.so and several other libraries depending on the | ||||
| options you have chosen. Later, if you want to rebuild for a different | ||||
| configuration run <code>make realclean</code> before rebuilding. | ||||
| </p> | ||||
| @@ -93,20 +87,6 @@ created in a <code>lib64</code> directory at the top of the Mesa source | ||||
| tree.</p> | ||||
| </dd> | ||||
|  | ||||
| <dt><code>--sysconfdir=DIR</code></dt> | ||||
| <dd><p>This option specifies the directory where the configuration | ||||
| files will be installed. The default is <code>${prefix}/etc</code>. | ||||
| Currently there's only one config file provided when dri drivers are | ||||
| enabled - it's <code>drirc</code>.</p> | ||||
| </dd> | ||||
|  | ||||
| <dt><code>--datadir=DIR</code></dt> | ||||
| <dd><p>This option specifies the directory where the data files will | ||||
| be installed. The default is <code>${prefix}/share</code>. | ||||
| Currently when dri drivers are enabled, <code>drirc.d/</code> is at | ||||
| this place.</p> | ||||
| </dd> | ||||
|  | ||||
| <dt><code>--enable-static, --disable-shared</code></dt> | ||||
| <dd><p>By default, Mesa | ||||
| will build shared libraries. Either of these options will force static | ||||
| @@ -117,22 +97,20 @@ shared libraries in a single pass.</p> | ||||
| <dt><code>CC, CFLAGS, CXX, CXXFLAGS</code></dt> | ||||
| <dd><p>These environment variables | ||||
| control the C and C++ compilers used during the build. By default, | ||||
| <code>gcc</code> and <code>g++</code> are used and the debug/optimisation | ||||
| level is left unchanged.</p> | ||||
| <code>gcc</code> and <code>g++</code> are used with the options | ||||
| <code>"-g -O2"</code>.</p> | ||||
| </dd> | ||||
|  | ||||
| <dt><code>LDFLAGS</code></dt> | ||||
| <dd><p>An environment variable specifying flags to | ||||
| pass when linking programs. These should be empty and | ||||
| <code>PKG_CONFIG_PATH</code> is recommended to be used instead. If needed | ||||
| it can be used to direct the linker to use libraries in nonstandard | ||||
| directories. For example, <code>LDFLAGS="-L/usr/X11R6/lib"</code>.</p> | ||||
| pass when linking programs. These are normally empty, but can be used | ||||
| to direct the linker to use libraries in nonstandard directories. For | ||||
| example, <code>LDFLAGS="-L/usr/X11R6/lib"</code>.</p> | ||||
| </dd> | ||||
|  | ||||
| <dt><code>PKG_CONFIG_PATH</code></dt> | ||||
| <dd><p>The | ||||
| <code>pkg-config</code> utility is a hard requirement for configuring and | ||||
| building mesa. It is used to search for external libraries | ||||
| <dd><p>When available, the | ||||
| <code>pkg-config</code> utility is used to search for external libraries | ||||
| on the system. This environment variable is used to control the search | ||||
| path for <code>pkg-config</code>. For instance, setting | ||||
| <code>PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig</code> will search for | ||||
| @@ -146,11 +124,9 @@ There are also a few general options for altering the Mesa build: | ||||
| </p> | ||||
| <dl> | ||||
| <dt><code>--enable-debug</code></dt> | ||||
| <dd><p>This option will set the compiler debug/optimisation levels (if the user | ||||
| hasn't already set them via the CFLAGS/CXXFLAGS) and macros to aid in | ||||
| debugging the Mesa libraries.</p> | ||||
|  | ||||
| <p>Note that enabling this option can lead to noticeable loss of performance.</p> | ||||
| <dd><p>This option will enable compiler | ||||
| options and macros to aid in debugging the Mesa libraries.</p> | ||||
| </dd> | ||||
|  | ||||
| <dt><code>--disable-asm</code></dt> | ||||
| <dd><p>There are assembly routines | ||||
| @@ -159,52 +135,39 @@ one of these architectures is detected. This option ensures that | ||||
| assembly will not be used.</p> | ||||
| </dd> | ||||
|  | ||||
| <dt><code>--build=</code></dt> | ||||
| <dt><code>--host=</code></dt> | ||||
| <dd><p>By default, the build will compile code for the architecture that | ||||
| it's running on. In order to build cross-compile Mesa on a x86-64 machine | ||||
| that is to run on a i686, one would need to set the options to:</p> | ||||
|  | ||||
| <p><code>--build=x86_64-pc-linux-gnu --host=i686-pc-linux-gnu</code></p> | ||||
|  | ||||
| Note that these can vary from distribution to distribution. For more | ||||
| information check with the | ||||
| <a href="https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Specifying-Target-Triplets.html"> | ||||
| autoconf manual</a>. | ||||
| Note that you will need to correctly set <code>PKG_CONFIG_PATH</code> as well. | ||||
|  | ||||
|  | ||||
| <p>In some cases a single compiler is capable of handling both architectures | ||||
| (multilib) in that case one would need to set the <code>CC,CXX</code> variables | ||||
| appending the correct machine options. Seek your compiler documentation for | ||||
| further information - | ||||
| <a href="https://gcc.gnu.org/onlinedocs/gcc/Submodel-Options.html"> gcc | ||||
| machine dependent options</a></p> | ||||
|  | ||||
| <p>In addition to specifying correct <code>PKG_CONFIG_PATH</code> for the target | ||||
| architecture, the following should be sufficient to configure multilib Mesa</p> | ||||
|  | ||||
| <code>./configure CC="gcc -m32" CXX="g++ -m32" --build=x86_64-pc-linux-gnu --host=i686-pc-linux-gnu ...</code> | ||||
| <dt><code>--enable-32-bit</code></dt> | ||||
| <dt><code>--enable-64-bit</code></dt> | ||||
| <dd><p>By default, the build will compile code as directed by the environment | ||||
| variables | ||||
| <code>CC</code>, <code>CFLAGS</code>, etc. If the compiler is | ||||
| <code>gcc</code>, these options offer a helper to add the compiler flags | ||||
| to force 32- or 64-bit code generation as used on the x86 and x86_64 | ||||
| architectures. Note that these options are mutually exclusive.</p> | ||||
| </dd> | ||||
| </dl> | ||||
|  | ||||
|  | ||||
| <h2 id="driver">2. GL Driver Options</h2> | ||||
| <h2 id="driver">2. Driver Options</h2> | ||||
|  | ||||
| <p> | ||||
| There are several different driver modes that Mesa can use. These are | ||||
| described in more detail in the <a href="install.html">basic | ||||
| installation instructions</a>. The Mesa driver is controlled through the | ||||
| configure options <code>--enable-glx</code> and <code>--enable-osmesa</code> | ||||
| configure options <code>--enable-xlib-glx</code>, <code>--enable-osmesa</code>, | ||||
| and <code>--enable-dri</code>. | ||||
| </p> | ||||
|  | ||||
| <h3 id="xlib">Xlib</h3><p> | ||||
| It uses Xlib as a software renderer to do all rendering. It corresponds | ||||
| to the option <code>--enable-glx=xlib</code> or <code>--enable-glx=gallium-xlib</code>. | ||||
| to the option <code>--enable-xlib-glx</code>. The libX11 and libXext | ||||
| libraries, as well as the X11 development headers, will be need to | ||||
| support the Xlib driver. | ||||
|  | ||||
| <h3 id="dri">DRI</h3><p>This mode uses the DRI hardware drivers for | ||||
| accelerated OpenGL rendering. To enable use <code>--enable-glx=dri | ||||
| --enable-dri</code>. | ||||
| accelerated OpenGL rendering. Enable the DRI drivers with the option | ||||
| <code>--enable-dri</code>. See the <a href="install.html">basic | ||||
| installation instructions</a> for details on prerequisites for the DRI | ||||
| drivers. | ||||
|  | ||||
| <!-- DRI specific options --> | ||||
| <dl> | ||||
| @@ -231,10 +194,8 @@ kernel DRM modules are not available. | ||||
| <dt><code>--enable-glx-tls</code> <dd><p> | ||||
| Enable Thread Local Storage (TLS) in | ||||
| GLX. | ||||
| <dt><code>--with-expat=DIR</code> | ||||
| <dd><p><strong>DEPRECATED</strong>, use <code>PKG_CONFIG_PATH</code> instead.</p> | ||||
| <p>The DRI-enabled libGL uses expat to | ||||
| parse the DRI configuration files in <code>${sysconfdir}/drirc</code> and | ||||
| <dt><code>--with-expat=DIR</code> <dd> The DRI-enabled libGL uses expat to | ||||
| parse the DRI configuration files in <code>/etc/drirc</code> and | ||||
| <code>~/.drirc</code>. This option allows a specific expat installation | ||||
| to be used. For example, <code>--with-expat=/usr/local</code> will | ||||
| search for expat headers and libraries in <code>/usr/local/include</code> | ||||
| @@ -262,8 +223,10 @@ will create the libOSMesa16 library with a 16-bit color channel. | ||||
| <h2 id="library">3. Library Options</h2> | ||||
|  | ||||
| <p> | ||||
| The configure script provides more fine grained control over the libraries | ||||
| that will be built. | ||||
| The configure script provides more fine grained control over the GL | ||||
| libraries that will be built. More details on the specific GL libraries | ||||
| can be found in the <a href="install.html">basic installation | ||||
| instructions</a>. | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
|   | ||||
| @@ -14,11 +14,11 @@ | ||||
| <iframe src="contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Report a bug</h1> | ||||
| <h1>Bug Database</h1> | ||||
|  | ||||
| <p> | ||||
| The Mesa bug database is hosted on | ||||
| <a href="https://freedesktop.org">freedesktop.org</a>. | ||||
| <a href="http://freedesktop.org">freedesktop.org</a>. | ||||
| The old bug database on SourceForge is no longer used. | ||||
| </p> | ||||
|  | ||||
| @@ -37,14 +37,11 @@ Please follow these bug reporting guidelines: | ||||
| the problem. | ||||
| <li>Check if your bug is already reported in the database. | ||||
| <li>Monitor your bug report for requests for additional information, etc. | ||||
| <li>Attach the output of running glxinfo or wglinfo. | ||||
| This will tell us the Mesa version, which device driver you're using, etc. | ||||
| <li>If you're reporting a crash, try to use your debugger (gdb) to get a stack | ||||
| trace. Also, recompile Mesa in debug mode to get more detailed information. | ||||
| <li>Describe in detail how to reproduce the bug, especially with games | ||||
| and applications that the Mesa developers might not be familiar with. | ||||
| <li>Provide an <a href="https://github.com/apitrace/apitrace">apitrace</a> | ||||
| or simple GLUT-based test program if possible. | ||||
| <li>Provide a simple GLUT-based test program if possible | ||||
| </ul> | ||||
|  | ||||
| <p> | ||||
|   | ||||
| @@ -1,142 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Coding Style</title> | ||||
|   <link rel="stylesheet" type="text/css" href="mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Coding Style</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa is over 20 years old and the coding style has evolved over time. | ||||
| Some old parts use a style that's a bit out of date. | ||||
|  | ||||
| Different sections of mesa can use different coding style as set in the local | ||||
| EditorConfig (.editorconfig) and/or Emacs (.dir-locals.el) file. | ||||
|  | ||||
| Alternatively the following is applicable. | ||||
|  | ||||
| If the guidelines below don't cover something, try following the format of | ||||
| existing, neighboring code. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Basic formatting guidelines | ||||
| </p> | ||||
|  | ||||
| <ul> | ||||
| <li>3-space indentation, no tabs. | ||||
| <li>Limit lines to 78 or fewer characters.  The idea is to prevent line | ||||
| wrapping in 80-column editors and terminals.  There are exceptions, such | ||||
| as if you're defining a large, static table of information. | ||||
| <li>Opening braces go on the same line as the if/for/while statement. | ||||
| For example: | ||||
| <pre> | ||||
|    if (condition) { | ||||
|       foo; | ||||
|    } else { | ||||
|       bar; | ||||
|    } | ||||
| </pre> | ||||
|  | ||||
| <li>Put a space before/after operators.  For example, <tt>a = b + c;</tt> | ||||
| and not <tt>a=b+c;</tt> | ||||
|  | ||||
| <li>This GNU indent command generally does the right thing for formatting: | ||||
| <pre> | ||||
|    indent -br -i3 -npcs --no-tabs infile.c -o outfile.c | ||||
| </pre> | ||||
|  | ||||
| <li>Use comments wherever you think it would be helpful for other developers. | ||||
| Several specific cases and style examples follow.  Note that we roughly | ||||
| follow <a href="https://www.stack.nl/~dimitri/doxygen/">Doxygen</a> conventions. | ||||
| <br> | ||||
| <br> | ||||
| Single-line comments: | ||||
| <pre> | ||||
|    /* null-out pointer to prevent dangling reference below */ | ||||
|    bufferObj = NULL; | ||||
| </pre> | ||||
| Or, | ||||
| <pre> | ||||
|    bufferObj = NULL;  /* prevent dangling reference below */ | ||||
| </pre> | ||||
| Multi-line comment: | ||||
| <pre> | ||||
|    /* If this is a new buffer object id, or one which was generated but | ||||
|     * never used before, allocate a buffer object now. | ||||
|     */ | ||||
| </pre> | ||||
| We try to quote the OpenGL specification where prudent: | ||||
| <pre> | ||||
|    /* Page 38 of the PDF of the OpenGL ES 3.0 spec says: | ||||
|     * | ||||
|     *     "An INVALID_OPERATION error is generated for any of the following | ||||
|     *     conditions: | ||||
|     * | ||||
|     *     * <length> is zero." | ||||
|     * | ||||
|     * Additionally, page 94 of the PDF of the OpenGL 4.5 core spec | ||||
|     * (30.10.2014) also says this, so it's no longer allowed for desktop GL, | ||||
|     * either. | ||||
|     */ | ||||
| </pre> | ||||
| Function comment example: | ||||
| <pre> | ||||
|    /** | ||||
|     * Create and initialize a new buffer object.  Called via the | ||||
|     * ctx->Driver.CreateObject() driver callback function. | ||||
|     * \param  name  integer name of the object | ||||
|     * \param  type  one of GL_FOO, GL_BAR, etc. | ||||
|     * \return  pointer to new object or NULL if error | ||||
|     */ | ||||
|    struct gl_object * | ||||
|    _mesa_create_object(GLuint name, GLenum type) | ||||
|    { | ||||
|       /* function body */ | ||||
|    } | ||||
| </pre> | ||||
|  | ||||
| <li>Put the function return type and qualifiers on one line and the function | ||||
| name and parameters on the next, as seen above.  This makes it easy to use | ||||
| <code>grep ^function_name dir/*</code> to find function definitions.  Also, | ||||
| the opening brace goes on the next line by itself (see above.) | ||||
|  | ||||
| <li>Function names follow various conventions depending on the type of function: | ||||
| <pre> | ||||
|    glFooBar()       - a public GL entry point (in glapi_dispatch.c) | ||||
|    _mesa_FooBar()   - the internal immediate mode function | ||||
|    save_FooBar()    - retained mode (display list) function in dlist.c | ||||
|    foo_bar()        - a static (private) function | ||||
|    _mesa_foo_bar()  - an internal non-static Mesa function | ||||
| </pre> | ||||
|  | ||||
| <li>Constants, macros and enum names are ALL_UPPERCASE, with _ between | ||||
| words. | ||||
| <li>Mesa usually uses camel case for local variables (Ex: "localVarname") | ||||
| while gallium typically uses underscores (Ex: "local_var_name"). | ||||
| <li>Global variables are almost never used because Mesa should be thread-safe. | ||||
|  | ||||
| <li>Booleans.  Places that are not directly visible to the GL API | ||||
| should prefer the use of <tt>bool</tt>, <tt>true</tt>, and | ||||
| <tt>false</tt> over <tt>GLboolean</tt>, <tt>GL_TRUE</tt>, and | ||||
| <tt>GL_FALSE</tt>.  In C code, this may mean that | ||||
| <tt>#include <stdbool.h></tt> needs to be added.  The | ||||
| <tt>try_emit_</tt>* methods in src/mesa/program/ir_to_mesa.cpp and | ||||
| src/mesa/state_tracker/st_glsl_to_tgsi.cpp can serve as examples. | ||||
|  | ||||
| </ul> | ||||
| </p> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -19,7 +19,7 @@ | ||||
| <p> | ||||
| The SGI OpenGL conformance tests verify correct operation of OpenGL | ||||
| implementations.  I, Brian Paul, have been given a copy of the tests | ||||
| for testing Mesa.  The tests are not publicly available. | ||||
| for testing Mesa.  The tests are not publically available. | ||||
| </p> | ||||
| <p> | ||||
| This file has the latest results of testing Mesa with the OpenGL 1.2 | ||||
|   | ||||
| @@ -43,18 +43,17 @@ | ||||
| <li><a href="install.html" target="_parent">Compiling / Installing</a> | ||||
|   <ul> | ||||
|     <li><a href="autoconf.html" target="_parent">Autoconf</a></li> | ||||
|     <li><a href="meson.html" target="_parent">Meson</a></li> | ||||
|   </ul> | ||||
| </li> | ||||
| <li><a href="precompiled.html" target="_parent">Precompiled Libraries</a> | ||||
| </ul> | ||||
|  | ||||
| <b>Need help?</b> | ||||
| <b>Resources</b> | ||||
| <ul> | ||||
| <li><a href="lists.html" target="_parent">Mailing Lists</a> | ||||
| <li><a href="bugs.html" target="_parent">Report a bug</a> | ||||
| <li><a href="bugs.html" target="_parent">Bug Database</a> | ||||
| <li><a href="webmaster.html" target="_parent">Webmaster</a> | ||||
| <li><a href="https://dri.freedesktop.org/" target="_parent">Mesa/DRI Wiki</a> | ||||
| <li><a href="http://dri.freedesktop.org/" target="_parent">Mesa/DRI Wiki</a> | ||||
| </ul> | ||||
|  | ||||
| <b>User Topics</b> | ||||
| @@ -62,12 +61,13 @@ | ||||
| <li><a href="shading.html" target="_parent">Shading Language</a> | ||||
| <li><a href="egl.html" target="_parent">EGL</a> | ||||
| <li><a href="opengles.html" target="_parent">OpenGL ES</a> | ||||
| <li><a href="openvg.html" target="_parent">OpenVG / Vega</a> | ||||
| <li><a href="envvars.html" target="_parent">Environment Variables</a> | ||||
| <li><a href="osmesa.html" target="_parent">Off-Screen Rendering</a> | ||||
| <li><a href="debugging.html" target="_parent">Debugging Tips</a> | ||||
| <li><a href="perf.html" target="_parent">Performance Tips</a> | ||||
| <li><a href="extensions.html" target="_parent">Mesa Extensions</a> | ||||
| <li><a href="mangling.html" target="_parent">GL Function Name Mangling</a> | ||||
| <li><a href="mangling.html" target="_parent">Function Name Mangling</a> | ||||
| <li><a href="llvmpipe.html" target="_parent">Gallium llvmpipe driver</a> | ||||
| <li><a href="vmware-guest.html" target="_parent">VMware SVGA3D guest driver</a> | ||||
| <li><a href="postprocess.html" target="_parent">Gallium post-processing</a> | ||||
| @@ -82,26 +82,23 @@ | ||||
| <li><a href="utilities.html" target="_parent">Utilities</a> | ||||
| <li><a href="helpwanted.html" target="_parent">Help Wanted</a> | ||||
| <li><a href="devinfo.html" target="_parent">Development Notes</a> | ||||
| <li><a href="codingstyle.html" target="_parent">Coding Style</a> | ||||
| <li><a href="submittingpatches.html" target="_parent">Submitting patches</a> | ||||
| <li><a href="releasing.html" target="_parent">Releasing process</a> | ||||
| <li><a href="release-calendar.html" target="_parent">Release calendar</a> | ||||
| <li><a href="sourcedocs.html" target="_parent">Source Documentation</a> | ||||
| <li><a href="dispatch.html" target="_parent">GL Dispatch</a> | ||||
| </ul> | ||||
|  | ||||
| <b>Links</b> | ||||
| <ul> | ||||
| <li><a href="https://www.opengl.org" target="_parent">OpenGL website</a> | ||||
| <li><a href="https://dri.freedesktop.org" target="_parent">DRI website</a> | ||||
| <li><a href="https://www.freedesktop.org" target="_parent">freedesktop.org</a> | ||||
| <li><a href="https://planet.freedesktop.org" target="_parent">Developer blogs</a> | ||||
| <li><a href="http://www.opengl.org" target="_parent">OpenGL website</a> | ||||
| <li><a href="http://dri.freedesktop.org" target="_parent">DRI website</a> | ||||
| <li><a href="http://www.freedesktop.org" target="_parent">freedesktop.org</a> | ||||
| </ul> | ||||
|  | ||||
| <b>Hosted by:</b> | ||||
| <br> | ||||
| <blockquote> | ||||
| <a href="https://freedesktop.org" target="_parent">freedesktop.org</a> | ||||
| <a href="http://sourceforge.net" | ||||
| target="_parent"><img src="http://sourceforge.net/sflogo.php?group_id=3&type=1" | ||||
| width="88" height="31" align="bottom" alt="Sourceforge.net" border="0"></a> | ||||
| </blockquote> | ||||
|  | ||||
| </body> | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
| Both professional and volunteer developers contribute to Mesa. | ||||
| </p> | ||||
| <p> | ||||
| <a href="https://www.vmware.com/">VMware</a> | ||||
| <a href="http://www.vmware.com/">VMware</a> | ||||
| employs several of the main Mesa developers including Brian Paul | ||||
| and Keith Whitwell. | ||||
| </p> | ||||
| @@ -38,13 +38,13 @@ including: | ||||
|  | ||||
| <p> | ||||
| Other companies including | ||||
| <a href="https://01.org/linuxgraphics">Intel</a> | ||||
| <a href="http://www.intellinuxgraphics.org/index.html">Intel</a> | ||||
| and RedHat also actively contribute to the project. | ||||
| Intel has recently contributed the new GLSL compiler in Mesa 7.9. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| <a href="https://www.lunarg.com/">LunarG</a> can be contacted | ||||
| <a href="http://www.lunarg.com/">LunarG</a> can be contacted | ||||
| for custom Mesa / 3D graphics development. | ||||
| </p> | ||||
|  | ||||
|   | ||||
| @@ -17,11 +17,7 @@ | ||||
| <h1>Development Notes</h1> | ||||
|  | ||||
|  | ||||
| <ul> | ||||
| <li><a href="#extensions">Adding Extensions</a> | ||||
| </ul> | ||||
|  | ||||
| <h2 id="extensions">Adding Extensions</h2> | ||||
| <h2>Adding Extentions</h2> | ||||
|  | ||||
| <p> | ||||
| To add a new GL extension to Mesa you have to do at least the following. | ||||
| @@ -47,11 +43,9 @@ To add a new GL extension to Mesa you have to do at least the following. | ||||
| </li> | ||||
| <li> | ||||
|    Add a new entry to the <code>gl_extensions</code> struct in mtypes.h | ||||
|    if the extension requires driver capabilities not already exposed by | ||||
|    another extension. | ||||
| </li> | ||||
| <li> | ||||
|    Add a new entry to the src/mesa/main/extensions_table.h file. | ||||
|    Update the <code>extensions.c</code> file. | ||||
| </li> | ||||
| <li> | ||||
|    From this point, the best way to proceed is to find another extension, | ||||
| @@ -62,21 +56,239 @@ To add a new GL extension to Mesa you have to do at least the following. | ||||
|    If the new extension adds new GL state, the functions in get.c, enable.c | ||||
|    and attrib.c will most likely require new code. | ||||
| </li> | ||||
| <li> | ||||
|    To determine if the new extension is active in the current context, | ||||
|    use the auto-generated _mesa_has_##name_str() function defined in | ||||
|    src/mesa/main/extensions.h. | ||||
| </li> | ||||
| <li> | ||||
|    The dispatch tests check_table.cpp and dispatch_sanity.cpp | ||||
|    should be updated with details about the new extensions functions. These | ||||
|    tests are run using 'make check' | ||||
| </li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
|  | ||||
| <h2>Coding Style</h2> | ||||
|  | ||||
| <p> | ||||
| Mesa's code style has changed over the years.  Here's the latest. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Comment your code!  It's extremely important that open-source code be | ||||
| well documented.  Also, strive to write clean, easily understandable code. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| 3-space indentation | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| If you use tabs, set them to 8 columns | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Line width: the preferred width to fill comments and code in Mesa is 78 | ||||
| columns.  Exceptions are sometimes made for clarity (e.g. tabular data is | ||||
| sometimes filled to a much larger width so that extraneous carriage returns | ||||
| don't obscure the table). | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Brace example: | ||||
| </p> | ||||
| <pre> | ||||
| 	if (condition) { | ||||
| 	   foo; | ||||
| 	} | ||||
| 	else { | ||||
| 	   bar; | ||||
| 	} | ||||
|  | ||||
| 	switch (condition) { | ||||
| 	case 0: | ||||
| 	   foo(); | ||||
| 	   break; | ||||
|  | ||||
| 	case 1: { | ||||
| 	   ... | ||||
| 	   break; | ||||
| 	} | ||||
|  | ||||
| 	default: | ||||
| 	   ... | ||||
| 	   break; | ||||
| 	} | ||||
| </pre> | ||||
|  | ||||
| <p> | ||||
| Here's the GNU indent command which will best approximate my preferred style: | ||||
| (Note that it won't format switch statements in the preferred way) | ||||
| </p> | ||||
| <pre> | ||||
| 	indent -br -i3 -npcs --no-tabs infile.c -o outfile.c | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <p> | ||||
| Local variable name example:  localVarName (no underscores) | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Constants and macros are ALL_UPPERCASE, with _ between words | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Global variables are not allowed. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Function name examples: | ||||
| </p> | ||||
| <pre> | ||||
| 	glFooBar()       - a public GL entry point (in glapi_dispatch.c) | ||||
| 	_mesa_FooBar()   - the internal immediate mode function | ||||
| 	save_FooBar()    - retained mode (display list) function in dlist.c | ||||
| 	foo_bar()        - a static (private) function | ||||
| 	_mesa_foo_bar()  - an internal non-static Mesa function | ||||
| </pre> | ||||
|  | ||||
| <p> | ||||
| Places that are not directly visible to the GL API should prefer the use | ||||
| of <tt>bool</tt>, <tt>true</tt>, and | ||||
| <tt>false</tt> over <tt>GLboolean</tt>, <tt>GL_TRUE</tt>, and | ||||
| <tt>GL_FALSE</tt>.  In C code, this may mean that | ||||
| <tt>#include <stdbool.h></tt> needs to be added.  The | ||||
| <tt>try_emit_</tt>* methods in src/mesa/program/ir_to_mesa.cpp and | ||||
| src/mesa/state_tracker/st_glsl_to_tgsi.cpp can serve as examples. | ||||
| </p> | ||||
|  | ||||
| <h2>Submitting patches</h2> | ||||
|  | ||||
| <p> | ||||
| You should always run the Mesa Testsuite before submitting patches. | ||||
| The Testsuite can be run using the 'make check' command. All tests | ||||
| must pass before patches will be accepted, this may mean you have | ||||
| to update the tests themselves. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Patches should be sent to the Mesa mailing list for review. | ||||
| When submitting a patch make sure to use git send-email rather than attaching | ||||
| patches to emails. Sending patches as attachments prevents people from being | ||||
| able to provide in-line review comments. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| When submitting follow-up patches you can use --in-reply-to to make v2, v3, | ||||
| etc patches show up as replies to the originals. This usually works well | ||||
| when you're sending out updates to individual patches (as opposed to | ||||
| re-sending the whole series). Using --in-reply-to makes | ||||
| it harder for reviewers to accidentally review old patches. | ||||
| </p> | ||||
|  | ||||
| <h2>Marking a commit as a candidate for a stable branch</h2> | ||||
|  | ||||
| <p> | ||||
| If you want a commit to be applied to a stable branch, | ||||
| you should add an appropriate note to the commit message. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Here are some examples of such a note: | ||||
| </p> | ||||
| <ul> | ||||
|   <li>NOTE: This is a candidate for the 9.0 branch.</li> | ||||
|   <li>NOTE: This is a candidate for the 8.0 and 9.0 branches.</li> | ||||
|   <li>NOTE: This is a candidate for the stable branches.</li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Cherry-picking candidates for a stable branch</h2> | ||||
|  | ||||
| <p> | ||||
| Please use <code>git cherry-pick -x <commit></code> for cherry-picking a commit | ||||
| from master to a stable branch. | ||||
| </p> | ||||
|  | ||||
| <h2>Making a New Mesa Release</h2> | ||||
|  | ||||
| <p> | ||||
| These are the instructions for making a new Mesa release. | ||||
| </p> | ||||
|  | ||||
| <h3>Get latest source files</h3> | ||||
| <p> | ||||
| Use git to get the latest Mesa files from the git repository, from whatever | ||||
| branch is relevant. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h3>Verify and update version info in VERSION</h3> | ||||
|  | ||||
| <p> | ||||
| Create a docs/relnotes/x.y.z.html file. | ||||
| The bin/bugzilla_mesa.sh and bin/shortlog_mesa.sh scripts can be used to | ||||
| create the HTML-formatted lists of bugfixes and changes to include in the file. | ||||
| Link the new docs/relnotes/x.y.z.html file into the main <a href="relnotes.html">relnotes.html</a> file. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Update <a href="index.html">docs/index.html</a>. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Tag the files with the release name (in the form <b>mesa-x.y</b>) | ||||
| with: <code>git tag -s mesa-x.y -m "Mesa x.y Release"</code> | ||||
| Then: <code>git push origin mesa-x.y</code> | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h3>Make the tarballs</h3> | ||||
| <p> | ||||
| Make the distribution files.  From inside the Mesa directory: | ||||
| <pre> | ||||
| 	./autogen.sh | ||||
| 	make tarballs | ||||
| </pre> | ||||
|  | ||||
| <p> | ||||
| After the tarballs are created, the md5 checksums for the files will | ||||
| be computed. | ||||
| Add them to the docs/relnotes/x.y.html file. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Copy the distribution files to a temporary directory, unpack them, | ||||
| compile everything, and run some demos to be sure everything works. | ||||
| </p> | ||||
|  | ||||
| <h3>Update the website and announce the release</h3> | ||||
| <p> | ||||
| Make a new directory for the release on annarchy.freedesktop.org with: | ||||
| <br> | ||||
| <code> | ||||
| mkdir /srv/ftp.freedesktop.org/pub/mesa/x.y | ||||
| </code> | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Basically, to upload the tarball files with: | ||||
| <br> | ||||
| <code> | ||||
| rsync -avP -e ssh MesaLib-x.y.* USERNAME@annarchy.freedesktop.org:/srv/ftp.freedesktop.org/pub/mesa/x.y/ | ||||
| </code> | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Update the web site by copying the docs/ directory's files to  | ||||
| /home/users/b/br/brianp/mesa-www/htdocs/ with: | ||||
| <br> | ||||
| <code> | ||||
| sftp USERNAME,mesa3d@web.sourceforge.net | ||||
| </code> | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Make an announcement on the mailing lists: | ||||
|  | ||||
| <em>mesa-dev@lists.freedesktop.org</em>, | ||||
| <em>mesa-users@lists.freedesktop.org</em> | ||||
| and | ||||
| <em>mesa-announce@lists.freedesktop.org</em> | ||||
| </p> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
|   | ||||
| @@ -25,7 +25,7 @@ href="#overview">overview of Mesa's implementation</a>.</p> | ||||
| <h2>1. Complexity of GL Dispatch</h2> | ||||
|  | ||||
| <p>Every GL application has at least one object called a GL <em>context</em>. | ||||
| This object, which is an implicit parameter to every GL function, stores all | ||||
| This object, which is an implicit parameter to ever GL function, stores all | ||||
| of the GL related state for the application.  Every texture, every buffer | ||||
| object, every enable, and much, much more is stored in the context.  Since | ||||
| an application can have more than one context, the context to be used is | ||||
| @@ -51,7 +51,7 @@ example, <tt>glFogCoordf</tt> may operate differently depending on whether | ||||
| or not fog is enabled.</p> | ||||
|  | ||||
| <p>In multi-threaded environments, it is possible for each thread to have a | ||||
| different GL context current.  This means that poor old <tt>glVertex3fv</tt> | ||||
| differnt GL context current.  This means that poor old <tt>glVertex3fv</tt> | ||||
| has to know which GL context is current in the thread where it is being | ||||
| called.</p> | ||||
|  | ||||
| @@ -204,15 +204,16 @@ terribly relevant.</p> | ||||
| few preprocessor defines.</p> | ||||
|  | ||||
| <ul> | ||||
| <li>If <tt>GLX_USE_TLS</tt> is defined, method #3 is used.</li> | ||||
| <li>If <tt>HAVE_PTHREAD</tt> is defined, method #2 is used.</li> | ||||
| <li>If none of the preceding are defined, method #1 is used.</li> | ||||
| <li>If <tt>GLX_USE_TLS</tt> is defined, method #4 is used.</li> | ||||
| <li>If <tt>HAVE_PTHREAD</tt> is defined, method #3 is used.</li> | ||||
| <li>If <tt>WIN32_THREADS</tt> is defined, method #2 is used.</li> | ||||
| <li>If none of the preceeding are defined, method #1 is used.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Two different techniques are used to handle the various different cases. | ||||
| On x86 and SPARC, a macro called <tt>GL_STUB</tt> is used.  In the preamble | ||||
| of the assembly source file different implementations of the macro are | ||||
| selected based on the defined preprocessor variables.  The assembly code | ||||
| selected based on the defined preprocessor variables.  The assmebly code | ||||
| then consists of a series of invocations of the macros such as: | ||||
|  | ||||
| <blockquote> | ||||
| @@ -241,7 +242,7 @@ first technique, is to insert <tt>#ifdef</tt> within the assembly | ||||
| implementation of each function.  This makes the assembly file considerably | ||||
| larger (e.g., 29,332 lines for <tt>glapi_x86-64.S</tt> versus 1,155 lines for | ||||
| <tt>glapi_x86.S</tt>) and causes simple changes to the function | ||||
| implementation to generate many lines of diffs.  Since the assembly files | ||||
| implementation to generate many lines of diffs.  Since the assmebly files | ||||
| are typically generated by scripts (see <a href="#autogen">below</a>), this | ||||
| isn't a significant problem.</p> | ||||
|  | ||||
|   | ||||
| @@ -18,42 +18,47 @@ | ||||
|  | ||||
| <p> | ||||
| Primary Mesa download site: | ||||
| <a href="ftp://ftp.freedesktop.org/pub/mesa/">ftp.freedesktop.org</a> (FTP) | ||||
| or <a href="https://mesa.freedesktop.org/archive/">mesa.freedesktop.org</a> | ||||
| (HTTPS). | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Starting with the first release of 2017, Mesa's version scheme is | ||||
| year-based. Filenames are in the form <tt>mesa-Y.N.P.tar.gz</tt>, where | ||||
| <tt>Y</tt> is the year (two digits), <tt>N</tt> is an incremental number | ||||
| (starting at 0) and <tt>P</tt> is the patch number (0 for the first | ||||
| release, 1 for the first patch after that). | ||||
| <a href="ftp://ftp.freedesktop.org/pub/mesa/">freedesktop.org</a> (FTP) | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| When a new release is coming, release candidates (betas) may be found | ||||
| in the same directory, and are recognisable by the | ||||
| <tt>mesa-Y.N.P-<b>rc</b>X.tar.gz</tt> filename. | ||||
| <a href="ftp://ftp.freedesktop.org/pub/mesa/beta/">here</a>. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h1>Unpacking</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa releases are available in two formats: <tt>.tar.xz</tt> and <tt>.tar.gz</tt>. | ||||
| Mesa releases are available in three formats: .tar.bz2, .tar.gz, and .zip | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| To unpack the tarball: | ||||
| To unpack .tar.gz files: | ||||
| </p> | ||||
| <pre> | ||||
| 	tar xf mesa-Y.N.P.tar.xz | ||||
| 	tar zxf MesaLib-x.y.z.tar.gz | ||||
| </pre> | ||||
| or | ||||
| <pre> | ||||
| 	tar xf mesa-Y.N.P.tar.gz | ||||
| 	gzcat MesaLib-x.y.z.tar.gz | tar xf - | ||||
| </pre> | ||||
| or | ||||
| <pre> | ||||
| 	gunzip MesaLib-x.y.z.tar.gz ; tar xf MesaLib-x.y.z.tar | ||||
| </pre> | ||||
| <p> | ||||
| To unpack .tar.bz2 files: | ||||
| </p> | ||||
| <pre> | ||||
| 	bunzip2 -c MesaLib-x.y.z.tar.gz | tar xf - | ||||
| </pre> | ||||
| <p> | ||||
| To unpack .zip files: | ||||
| </p> | ||||
| <pre> | ||||
| 	unzip MesaLib-x.y.z.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h1>Contents</h1> | ||||
| @@ -62,8 +67,8 @@ or | ||||
| After unpacking you'll have these files and directories (among others): | ||||
| </p> | ||||
| <pre> | ||||
| autogen.sh	- Autoconf script for *nix systems | ||||
| scons/		- SCons script for Windows builds | ||||
| Makefile	- top-level Makefile for most systems | ||||
| configs/	- makefile parameter files for various systems | ||||
| include/	- GL header (include) files | ||||
| bin/		- shell scripts for making shared libraries, etc | ||||
| docs/		- documentation | ||||
| @@ -102,9 +107,9 @@ In the past, GLUT, GLU and the Mesa demos were released in conjunction with | ||||
| Mesa releases.  But since GLUT, GLU and the demos change infrequently, they | ||||
| were split off into their own git repositories: | ||||
|  | ||||
| <a href="https://gitlab.freedesktop.org/mesa/glut">GLUT</a>, | ||||
| <a href="https://gitlab.freedesktop.org/mesa/glu">GLU</a> and | ||||
| <a href="https://gitlab.freedesktop.org/mesa/demos">Demos</a>, | ||||
| <a href="http://cgit.freedesktop.org/mesa/glut/">GLUT</a>, | ||||
| <a href="http://cgit.freedesktop.org/mesa/glu/">GLU</a> and | ||||
| <a href="http://cgit.freedesktop.org/mesa/demos/">Demos</a>, | ||||
| </p> | ||||
|  | ||||
| </div> | ||||
|   | ||||
							
								
								
									
										126
									
								
								docs/egl.html
									
									
									
									
									
								
							
							
						
						
									
										126
									
								
								docs/egl.html
									
									
									
									
									
								
							| @@ -18,8 +18,8 @@ | ||||
|  | ||||
| <p>The current version of EGL in Mesa implements EGL 1.4.  More information | ||||
| about EGL can be found at | ||||
| <a href="https://www.khronos.org/egl/"> | ||||
| https://www.khronos.org/egl/</a>.</p> | ||||
| <a href="http://www.khronos.org/egl/"> | ||||
| http://www.khronos.org/egl/</a>.</p> | ||||
|  | ||||
| <p>The Mesa's implementation of EGL uses a driver architecture.  The main | ||||
| library (<code>libEGL</code>) is window system neutral.  It provides the EGL | ||||
| @@ -44,7 +44,7 @@ the driver for your hardware.  For example</p> | ||||
|  | ||||
| <p>The main library and OpenGL is enabled by default.  The first two options | ||||
| above enables <a href="opengles.html">OpenGL ES 1.x and 2.x</a>.  The last two | ||||
| options enables the listed classic and Gallium drivers respectively.</p> | ||||
| options enables the listed classic and and Gallium drivers respectively.</p> | ||||
|  | ||||
| </li> | ||||
|  | ||||
| @@ -77,22 +77,26 @@ drivers will be installed to <code>${libdir}/egl</code>.</p> | ||||
|  | ||||
| </dd> | ||||
|  | ||||
| <dt><code>--with-platforms</code></dt> | ||||
| <dt><code>--enable-gallium-egl</code></dt> | ||||
| <dd> | ||||
|  | ||||
| <p>Enable the optional <code>egl_gallium</code> driver.</p> | ||||
|  | ||||
| </dd> | ||||
|  | ||||
| <dt><code>--with-egl-platforms</code></dt> | ||||
| <dd> | ||||
|  | ||||
| <p>List the platforms (window systems) to support.  Its argument is a comma | ||||
| separated string such as <code>--with-platforms=x11,drm</code>.  It decides | ||||
| seprated string such as <code>--with-egl-platforms=x11,drm</code>.  It decides | ||||
| the platforms a driver may support.  The first listed platform is also used by | ||||
| the main library to decide the native platform.</p> | ||||
| the main library to decide the native platform: the platform the EGL native | ||||
| types such as <code>EGLNativeDisplayType</code> or | ||||
| <code>EGLNativeWindowType</code> defined for.</p> | ||||
|  | ||||
| <p>The available platforms are <code>x11</code>, <code>drm</code>, | ||||
| <code>wayland</code>, <code>surfaceless</code>, <code>android</code>, | ||||
| and <code>haiku</code>. | ||||
| The <code>android</code> platform can either be built as a system | ||||
| component, part of AOSP, using <code>Android.mk</code> files, or | ||||
| cross-compiled using appropriate <code>configure</code> options. | ||||
| The <code>haiku</code> platform can only be built with SCons. | ||||
| Unless for special needs, the build system should | ||||
| <code>fbdev</code>, and <code>gdi</code>.  The <code>gdi</code> platform can | ||||
| only be built with SCons.  Unless for special needs, the build system should | ||||
| select the right platforms automatically.</p> | ||||
|  | ||||
| </dd> | ||||
| @@ -115,6 +119,13 @@ is required if applications mix OpenGL and OpenGL ES.</p> | ||||
|  | ||||
| </dd> | ||||
|  | ||||
| <dt><code>--enable-openvg</code></dt> | ||||
| <dd> | ||||
|  | ||||
| <p>OpenVG must be explicitly enabled by this option.</p> | ||||
|  | ||||
| </dd> | ||||
|  | ||||
| </dl> | ||||
|  | ||||
| <h2>Use EGL</h2> | ||||
| @@ -130,13 +141,44 @@ mesa/demos repository.</p> | ||||
| runtime</p> | ||||
|  | ||||
| <dl> | ||||
| <dt><code>EGL_DRIVERS_PATH</code></dt> | ||||
| <dd> | ||||
|  | ||||
| <p>By default, the main library will look for drivers in the directory where | ||||
| the drivers are installed to.  This variable specifies a list of | ||||
| colon-separated directories where the main library will look for drivers, in | ||||
| addition to the default directory.  This variable is ignored for setuid/setgid | ||||
| binaries.</p> | ||||
|  | ||||
| <p>This variable is usually set to test an uninstalled build.  For example, one | ||||
| may set</p> | ||||
|  | ||||
| <pre> | ||||
|   $ export LD_LIBRARY_PATH=$mesa/lib | ||||
|   $ export EGL_DRIVERS_PATH=$mesa/lib/egl | ||||
| </pre> | ||||
|  | ||||
| <p>to test a build without installation</p> | ||||
|  | ||||
| </dd> | ||||
|  | ||||
| <dt><code>EGL_DRIVER</code></dt> | ||||
| <dd> | ||||
|  | ||||
| <p>This variable specifies a full path to or the name of an EGL driver.  It | ||||
| forces the specified EGL driver to be loaded.  It comes in handy when one wants | ||||
| to test a specific driver.  This variable is ignored for setuid/setgid | ||||
| binaries.</p> | ||||
|  | ||||
| </dd> | ||||
|  | ||||
| <dt><code>EGL_PLATFORM</code></dt> | ||||
| <dd> | ||||
|  | ||||
| <p>This variable specifies the native platform.  The valid values are the same | ||||
| as those for <code>--with-platforms</code>.  When the variable is not set, | ||||
| as those for <code>--with-egl-platforms</code>.  When the variable is not set, | ||||
| the main library uses the first platform listed in | ||||
| <code>--with-platforms</code> as the native platform.</p> | ||||
| <code>--with-egl-platforms</code> as the native platform.</p> | ||||
|  | ||||
| <p>Extensions like <code>EGL_MESA_drm_display</code> define new functions to | ||||
| create displays for non-native platforms.  These extensions are usually used by | ||||
| @@ -152,6 +194,14 @@ probably required only for some of the demos found in mesa/demo repository.</p> | ||||
| values are: <code>debug</code>, <code>info</code>, <code>warning</code>, and | ||||
| <code>fatal</code>.</p> | ||||
|  | ||||
| </dd> | ||||
|  | ||||
| <dt><code>EGL_SOFTWARE</code></dt> | ||||
| <dd> | ||||
|  | ||||
| <p>For drivers that support both hardware and software rendering, setting this | ||||
| variable to true forces the use of software rendering.</p> | ||||
|  | ||||
| </dd> | ||||
| </dl> | ||||
|  | ||||
| @@ -167,18 +217,54 @@ the X server directly using (XCB-)DRI2 protocol.</p> | ||||
|  | ||||
| <p>This driver can share DRI drivers with <code>libGL</code>.</p> | ||||
|  | ||||
| </dd> | ||||
|  | ||||
| <dt><code>egl_gallium</code></dt> | ||||
| <dd> | ||||
|  | ||||
| <p>This driver is based on Gallium3D.  It supports all rendering APIs and | ||||
| hardwares supported by Gallium3D.  It is the only driver that supports OpenVG. | ||||
| The supported platforms are X11, DRM, FBDEV, and GDI.</p> | ||||
|  | ||||
| <p>This driver comes with its own hardware drivers | ||||
| (<code>pipe_<hw></code>) and client API modules | ||||
| (<code>st_<api></code>).</p> | ||||
|  | ||||
| </dd> | ||||
|  | ||||
| <dt><code>egl_glx</code></dt> | ||||
| <dd> | ||||
|  | ||||
| <p>This driver provides a wrapper to GLX.  It uses exclusively GLX to implement | ||||
| the EGL API.  It supports both direct and indirect rendering when the GLX does. | ||||
| It is accelerated when the GLX is.  As such, it cannot provide functions that | ||||
| is not available in GLX or GLX extensions.</p> | ||||
| </dd> | ||||
| </dl> | ||||
|  | ||||
| <h2>Packaging</h2> | ||||
|  | ||||
| <p>The ABI between the main library and its drivers are not stable.  Nor is | ||||
| there a plan to stabilize it at the moment.</p> | ||||
| there a plan to stabilize it at the moment.  Of the EGL drivers, | ||||
| <code>egl_gallium</code> has its own hardware drivers and client API modules. | ||||
| They are considered internal to <code>egl_gallium</code> and there is also no | ||||
| stable ABI between them.  These should be kept in mind when packaging for | ||||
| distribution.</p> | ||||
|  | ||||
| <p>Generally, <code>egl_dri2</code> is preferred over <code>egl_gallium</code> | ||||
| when the system already has DRI drivers.  As <code>egl_gallium</code> is loaded | ||||
| before <code>egl_dri2</code> when both are available, <code>egl_gallium</code> | ||||
| is disabled by default.</p> | ||||
|  | ||||
| <h2>Developers</h2> | ||||
|  | ||||
| <p>The sources of the main library and drivers can be found at | ||||
| <code>src/egl/</code>.</p> | ||||
| <p>The sources of the main library and the classic drivers can be found at | ||||
| <code>src/egl/</code>.  The sources of the <code>egl</code> state tracker can | ||||
| be found at <code>src/gallium/state_trackers/egl/</code>.</p> | ||||
|  | ||||
| <p>The suggested way to learn to write a EGL driver is to see how other drivers | ||||
| are written.  <code>egl_glx</code> should be a good reference.  It works in any | ||||
| environment that has GLX support, and it is simpler than most drivers.</p> | ||||
|  | ||||
| <h3>Lifetime of Display Resources</h3> | ||||
|  | ||||
| @@ -187,8 +273,8 @@ longer than the display that creates them.</p> | ||||
|  | ||||
| <p>In EGL, when a display is terminated through <code>eglTerminate</code>, all | ||||
| display resources should be destroyed.  Similarly, when a thread is released | ||||
| through <code>eglReleaseThread</code>, all current display resources should be | ||||
| released.  Another way to destroy or release resources is through functions | ||||
| throught <code>eglReleaseThread</code>, all current display resources should be | ||||
| released.  Another way to destory or release resources is through functions | ||||
| such as <code>eglDestroySurface</code> or <code>eglMakeCurrent</code>.</p> | ||||
|  | ||||
| <p>When a resource that is current to some thread is destroyed, the resource | ||||
|   | ||||
| @@ -29,12 +29,11 @@ sometimes be useful for debugging end-user issues. | ||||
| <li>LIBGL_DEBUG - If defined debug information will be printed to stderr. | ||||
|    If set to 'verbose' additional information will be printed. | ||||
| <li>LIBGL_DRIVERS_PATH - colon-separated list of paths to search for DRI drivers | ||||
| <li>LIBGL_ALWAYS_INDIRECT - if set to `true`, forces an indirect rendering context/connection. | ||||
| <li>LIBGL_ALWAYS_SOFTWARE - if set to `true`, always use software rendering | ||||
| <li>LIBGL_NO_DRAWARRAYS - if set to `true`, do not use DrawArrays GLX protocol (for debugging) | ||||
| <li>LIBGL_ALWAYS_INDIRECT - forces an indirect rendering context/connection. | ||||
| <li>LIBGL_ALWAYS_SOFTWARE - if set, always use software rendering | ||||
| <li>LIBGL_NO_DRAWARRAYS - if set do not use DrawArrays GLX protocol (for debugging) | ||||
| <li>LIBGL_SHOW_FPS - print framerate to stdout based on the number of glXSwapBuffers | ||||
|     calls per second. | ||||
| <li>LIBGL_DRI3_DISABLE - disable DRI3 if set to `true`. | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| @@ -46,26 +45,12 @@ sometimes be useful for debugging end-user issues. | ||||
| <li>MESA_NO_MMX - if set, disables Intel MMX optimizations | ||||
| <li>MESA_NO_3DNOW - if set, disables AMD 3DNow! optimizations | ||||
| <li>MESA_NO_SSE - if set, disables Intel SSE optimizations | ||||
| <li>MESA_NO_ERROR - if set to 1, error checking is disabled as per KHR_no_error. | ||||
|    This will result in undefined behaviour for invalid use of the api, but | ||||
|    can reduce CPU use for apps that are known to be error free.</li> | ||||
| <li>MESA_DEBUG - if set, error messages are printed to stderr.  For example, | ||||
|    if the application generates a GL_INVALID_ENUM error, a corresponding error | ||||
|    message indicating where the error occurred, and possibly why, will be | ||||
|    message indicating where the error occured, and possibly why, will be | ||||
|    printed to stderr.<br> | ||||
|  | ||||
|    For release builds, MESA_DEBUG defaults to off (no debug output). | ||||
|  | ||||
|    MESA_DEBUG accepts the following comma-separated list of named | ||||
|    flags, which adds extra behaviour to just set MESA_DEBUG=1: | ||||
|    <ul> | ||||
|      <li>silent - turn off debug messages. Only useful for debug builds.</li> | ||||
|      <li>flush - flush after each drawing command</li> | ||||
|      <li>incomplete_tex - extra debug messages when a texture is incomplete</li> | ||||
|      <li>incomplete_fbo - extra debug messages when a fbo is incomplete</li> | ||||
|      <li>context - create a debug context (see GLX_CONTEXT_DEBUG_BIT_ARB) and | ||||
|          print error and performance messages to stderr (or MESA_LOG_FILE).</li> | ||||
|    </ul> | ||||
|    If the value of MESA_DEBUG is 'FP' floating point arithmetic errors will | ||||
|    generate exceptions. | ||||
| <li>MESA_LOG_FILE - specifies a file name for logging all errors, warnings, | ||||
| etc., rather than stderr | ||||
| <li>MESA_TEX_PROG - if set, implement conventional texture env modes with | ||||
| @@ -88,46 +73,20 @@ This is a work-around for that. | ||||
| <li>MESA_GL_VERSION_OVERRIDE - changes the value returned by | ||||
| glGetString(GL_VERSION) and possibly the GL API type. | ||||
| <ul> | ||||
|   <li>The format should be MAJOR.MINOR[FC|COMPAT] | ||||
|   <li>FC is an optional suffix that indicates a forward compatible | ||||
|       context. This is only valid for versions >= 3.0. | ||||
|   <li>COMPAT is an optional suffix that indicates a compatibility | ||||
|       context or GL_ARB_compatibility support. This is only valid for | ||||
|       versions >= 3.1. | ||||
|   <li>GL versions <= 3.0 are set to a compatibility (non-Core) | ||||
|       profile | ||||
|   <li>GL versions = 3.1, depending on the driver, it may or may not | ||||
|       have the ARB_compatibility extension enabled. | ||||
|   <li>GL versions >= 3.2 are set to a Core profile | ||||
|   <li>Examples: 2.1, 3.0, 3.0FC, 3.1, 3.1FC, 3.1COMPAT, X.Y, X.YFC, | ||||
|       X.YCOMPAT. | ||||
|   <ul> | ||||
|     <li>2.1 - select a compatibility (non-Core) profile with GL | ||||
|         version 2.1. | ||||
|     <li>3.0 - select a compatibility (non-Core) profile with GL | ||||
|         version 3.0. | ||||
|     <li>3.0FC - select a Core+Forward Compatible profile with GL | ||||
|         version 3.0. | ||||
|     <li>3.1 - select GL version 3.1 with GL_ARB_compatibility enabled | ||||
|         per the driver default. | ||||
|     <li>3.1FC - select GL version 3.1 with forward compatibility and | ||||
|         GL_ARB_compatibility disabled. | ||||
|     <li>3.1COMPAT - select GL version 3.1 with GL_ARB_compatibility | ||||
|         enabled. | ||||
|     <li>X.Y - override GL version to X.Y without changing the profile. | ||||
|     <li>X.YFC - select a Core+Forward Compatible profile with GL | ||||
|         version X.Y. | ||||
|     <li>X.YCOMPAT - select a Compatibility profile with GL version | ||||
|         X.Y. | ||||
|   </ul> | ||||
|   <li>Mesa may not really implement all the features of the given | ||||
|       version. (for developers only) | ||||
| </ul> | ||||
| <li>MESA_GLES_VERSION_OVERRIDE - changes the value returned by | ||||
| glGetString(GL_VERSION) for OpenGL ES. | ||||
| <li> The format should be MAJOR.MINOR[FC] | ||||
| <li> FC is an optional suffix that indicates a forward compatible context. | ||||
| This is only valid for versions >= 3.0. | ||||
| <li> GL versions < 3.0 are set to a compatibility (non-Core) profile | ||||
| <li> GL versions = 3.0, see below | ||||
| <li> GL versions > 3.0 are set to a Core profile | ||||
| <li> Examples: 2.1, 3.0, 3.0FC, 3.1, 3.1FC | ||||
| <ul> | ||||
| <li> The format should be MAJOR.MINOR | ||||
| <li> Examples: 2.0, 3.0, 3.1 | ||||
| <li> 2.1 - select a compatibility (non-Core) profile with GL version 2.1 | ||||
| <li> 3.0 - select a compatibility (non-Core) profile with GL version 3.0 | ||||
| <li> 3.0FC - select a Core+Forward Compatible profile with GL version 3.0 | ||||
| <li> 3.1 - select a Core profile with GL version 3.1 | ||||
| <li> 3.1FC - select a Core+Forward Compatible profile with GL version 3.1 | ||||
| </ul> | ||||
| <li> Mesa may not really implement all the features of the given version. | ||||
| (for developers only) | ||||
| </ul> | ||||
| @@ -135,34 +94,7 @@ glGetString(GL_VERSION) for OpenGL ES. | ||||
| glGetString(GL_SHADING_LANGUAGE_VERSION). Valid values are integers, such as | ||||
| "130".  Mesa will not really implement all the features of the given language version | ||||
| if it's higher than what's normally reported. (for developers only) | ||||
| <li>MESA_GLSL_CACHE_DISABLE - if set to `true`, disables the GLSL shader cache | ||||
| <li>MESA_GLSL_CACHE_MAX_SIZE - if set, determines the maximum size of | ||||
| the on-disk cache of compiled GLSL programs. Should be set to a number | ||||
| optionally followed by 'K', 'M', or 'G' to specify a size in | ||||
| kilobytes, megabytes, or gigabytes. By default, gigabytes will be | ||||
| assumed. And if unset, a maximum size of 1GB will be used. Note: A separate | ||||
| cache might be created for each architecture that Mesa is installed for on | ||||
| your system. For example under the default settings you may end up with a 1GB | ||||
| cache for x86_64 and another 1GB cache for i386. | ||||
| <li>MESA_GLSL_CACHE_DIR - if set, determines the directory to be used | ||||
| for the on-disk cache of compiled GLSL programs. If this variable is | ||||
| not set, then the cache will be stored in $XDG_CACHE_HOME/mesa_shader_cache (if | ||||
| that variable is set), or else within .cache/mesa_shader_cache within the user's | ||||
| home directory. | ||||
| <li>MESA_GLSL - <a href="shading.html#envvars">shading language compiler options</a> | ||||
| <li>MESA_NO_MINMAX_CACHE - when set, the minmax index cache is globally disabled. | ||||
| <li>MESA_SHADER_CAPTURE_PATH - see <a href="shading.html#capture">Capturing Shaders</a></li> | ||||
| <li>MESA_SHADER_DUMP_PATH and MESA_SHADER_READ_PATH - see <a href="shading.html#replacement">Experimenting with Shader Replacements</a></li> | ||||
| <li>MESA_VK_VERSION_OVERRIDE - changes the Vulkan physical device version | ||||
|     as returned in VkPhysicalDeviceProperties::apiVersion. | ||||
|   <ul> | ||||
|     <li>The format should be MAJOR.MINOR[.PATCH]</li> | ||||
|     <li>This will not let you force a version higher than the driver's | ||||
|         instance versionas advertised by vkEnumerateInstanceVersion</li> | ||||
|     <li>This can be very useful for debugging but some features may not be | ||||
|         implemented correctly. (For developers only)</li> | ||||
|   </ul> | ||||
| </li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| @@ -189,55 +121,10 @@ See the <a href="xlibdriver.html">Xlib software driver page</a> for details. | ||||
| <h2>i945/i965 driver environment variables (non-Gallium)</h2> | ||||
|  | ||||
| <ul> | ||||
| <li>INTEL_NO_HW - if set to 1, prevents batches from being submitted to the hardware. | ||||
|    This is useful for debugging hangs, etc.</li> | ||||
| <li>INTEL_DEBUG - a comma-separated list of named flags, which do various things: | ||||
| <ul> | ||||
|    <li>ann - annotate IR in assembly dumps</li> | ||||
|    <li>aub - dump batches into an AUB trace for use with simulation tools</li> | ||||
|    <li>bat - emit batch information</li> | ||||
|    <li>blit - emit messages about blit operations</li> | ||||
|    <li>blorp - emit messages about the blorp operations (blits & clears)</li> | ||||
|    <li>buf - emit messages about buffer objects</li> | ||||
|    <li>clip - emit messages about the clip unit (for old gens, includes the CLIP program)</li> | ||||
|    <li>color - use color in output</li> | ||||
|    <li>cs - dump shader assembly for compute shaders</li> | ||||
|    <li>do32 - generate compute shader SIMD32 programs even if workgroup size doesn't exceed the SIMD16 limit</li> | ||||
|    <li>dri - emit messages about the DRI interface</li> | ||||
|    <li>fbo - emit messages about framebuffers</li> | ||||
|    <li>fs - dump shader assembly for fragment shaders</li> | ||||
|    <li>gs - dump shader assembly for geometry shaders</li> | ||||
|    <li>hex - print instruction hex dump with the disassembly</li> | ||||
|    <li>l3 - emit messages about the new L3 state during transitions</li> | ||||
|    <li>miptree - emit messages about miptrees</li> | ||||
|    <li>no8 - don't generate SIMD8 fragment shader</li> | ||||
|    <li>no16 - suppress generation of 16-wide fragment shaders. useful for debugging broken shaders</li> | ||||
|    <li>nocompact - disable instruction compaction</li> | ||||
|    <li>nodualobj - suppress generation of dual-object geometry shader code</li> | ||||
|    <li>norbc - disable single sampled render buffer compression</li> | ||||
|    <li>optimizer - dump shader assembly to files at each optimization pass and iteration that make progress</li> | ||||
|    <li>perf - emit messages about performance issues</li> | ||||
|    <li>perfmon - emit messages about AMD_performance_monitor</li> | ||||
|    <li>pix - emit messages about pixel operations</li> | ||||
|    <li>prim - emit messages about drawing primitives</li> | ||||
|    <li>reemit - mark all state dirty on each draw call</li> | ||||
|    <li>sf - emit messages about the strips & fans unit (for old gens, includes the SF program)</li> | ||||
|    <li>shader_time - record how much GPU time is spent in each shader</li> | ||||
|    <li>spill_fs - force spilling of all registers in the scalar backend (useful to debug spilling code)</li> | ||||
|    <li>spill_vec4 - force spilling of all registers in the vec4 backend (useful to debug spilling code)</li> | ||||
|    <li>state - emit messages about state flag tracking</li> | ||||
|    <li>submit - emit batchbuffer usage statistics</li> | ||||
|    <li>sync - after sending each batch, emit a message and wait for that batch to finish rendering</li> | ||||
|    <li>tcs - dump shader assembly for tessellation control shaders</li> | ||||
|    <li>tes - dump shader assembly for tessellation evaluation shaders</li> | ||||
|    <li>tex - emit messages about textures.</li> | ||||
|    <li>urb - emit messages about URB setup</li> | ||||
|    <li>vert - emit messages about vertex assembly</li> | ||||
|    <li>vs - dump shader assembly for vertex shaders</li> | ||||
| </ul> | ||||
| <li>INTEL_SCALAR_VS (or TCS, TES, GS) - force scalar/vec4 mode for a shader stage (Gen8-9 only)</li> | ||||
| <li>INTEL_PRECISE_TRIG - if set to 1, true or yes, then the driver prefers | ||||
|    accuracy over performance in trig functions.</li> | ||||
| <li>INTEL_STRICT_CONFORMANCE - if set to 1, enable sw fallbacks to improve | ||||
|     OpenGL conformance.  If set to 2, always use software rendering. | ||||
| <li>INTEL_NO_BLIT - if set, disable hardware-accelerated glBitmap, | ||||
|     glCopyPixels, glDrawPixels. | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| @@ -262,18 +149,6 @@ Mesa EGL supports different sets of environment variables.  See the | ||||
| <li>GALLIUM_HUD - draws various information on the screen, like framerate, | ||||
|     cpu load, driver statistics, performance counters, etc. | ||||
|     Set GALLIUM_HUD=help and run e.g. glxgears for more info. | ||||
| <li>GALLIUM_HUD_PERIOD - sets the hud update rate in seconds (float). Use zero | ||||
|     to update every frame. The default period is 1/2 second. | ||||
| <li>GALLIUM_HUD_VISIBLE - control default visibility, defaults to true. | ||||
| <li>GALLIUM_HUD_TOGGLE_SIGNAL - toggle visibility via user specified signal. | ||||
|     Especially useful to toggle hud at specific points of application and | ||||
|     disable for unencumbered viewing the rest of the time. For example, set | ||||
|     GALLIUM_HUD_VISIBLE to false and GALLIUM_HUD_TOGGLE_SIGNAL to 10 (SIGUSR1). | ||||
|     Use kill -10 <pid> to toggle the hud as desired. | ||||
| <li>GALLIUM_HUD_DUMP_DIR - specifies a directory for writing the displayed | ||||
|     hud values into files. | ||||
| <li>GALLIUM_DRIVER - useful in combination with LIBGL_ALWAYS_SOFTWARE=true for | ||||
|     choosing one of the software renderers "softpipe", "llvmpipe" or "swr". | ||||
| <li>GALLIUM_LOG_FILE - specifies a file for logging all errors, warnings, etc. | ||||
|     rather than stderr. | ||||
| <li>GALLIUM_PRINT_OPTIONS - if non-zero, print all the Gallium environment | ||||
| @@ -290,21 +165,6 @@ Setting to "tgsi", for example, will print all the TGSI shaders. | ||||
| See src/mesa/state_tracker/st_debug.c for other options. | ||||
| </ul> | ||||
|  | ||||
| <h3>Clover state tracker environment variables</h3> | ||||
|  | ||||
| <ul> | ||||
| <li>CLOVER_EXTRA_BUILD_OPTIONS - allows specifying additional compiler and linker | ||||
|     options. Specified options are appended after the options set by the OpenCL | ||||
|     program in clBuildProgram. | ||||
| <li>CLOVER_EXTRA_COMPILE_OPTIONS - allows specifying additional compiler | ||||
|     options. Specified options are appended after the options set by the OpenCL | ||||
|     program in clCompileProgram. | ||||
| <li>CLOVER_EXTRA_LINK_OPTIONS - allows specifying additional linker | ||||
|     options. Specified options are appended after the options set by the OpenCL | ||||
|     program in clLinkProgram. | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h3>Softpipe driver environment variables</h3> | ||||
| <ul> | ||||
| <li>SOFTPIPE_DUMP_FS - if set, the softpipe driver will print fragment shaders | ||||
| @@ -313,19 +173,19 @@ See src/mesa/state_tracker/st_debug.c for other options. | ||||
|     to stderr | ||||
| <li>SOFTPIPE_NO_RAST - if set, rasterization is no-op'd.  For profiling purposes. | ||||
| <li>SOFTPIPE_USE_LLVM - if set, the softpipe driver will try to use LLVM JIT for | ||||
|     vertex shading processing. | ||||
|     vertex shading procesing. | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h3>LLVMpipe driver environment variables</h3> | ||||
| <ul> | ||||
| <li>LP_NO_RAST - if set LLVMpipe will no-op rasterization | ||||
| <li>LP_DEBUG - a comma-separated list of debug options is accepted.  See the | ||||
| <li>LP_DEBUG - a comma-separated list of debug options is acceptec.  See the | ||||
|     source code for details. | ||||
| <li>LP_PERF - a comma-separated list of options to selectively no-op various | ||||
|     parts of the driver.  See the source code for details. | ||||
| <li>LP_NUM_THREADS - an integer indicating how many threads to use for rendering. | ||||
|     Zero turns off threading completely.  The default value is the number of CPU | ||||
|     Zero turns of threading completely.  The default value is the number of CPU | ||||
|     cores present. | ||||
| </ul> | ||||
|  | ||||
| @@ -336,42 +196,9 @@ See src/mesa/state_tracker/st_debug.c for other options. | ||||
| (will often result in incorrect rendering). | ||||
| <li>SVGA_DEBUG - for dumping shaders, constant buffers, etc.  See the code | ||||
| for details. | ||||
| <li>SVGA_EXTRA_LOGGING - if set, enables extra logging to the vmware.log file, | ||||
| such as the OpenGL program's name and command line arguments. | ||||
| <li>See the driver code for other, lesser-used variables. | ||||
| </ul> | ||||
|  | ||||
| <h3>WGL environment variables</h3> | ||||
| <ul> | ||||
| <li>WGL_SWAP_INTERVAL - to set a swap interval, equivalent to calling | ||||
| wglSwapIntervalEXT() in an application.  If this environment variable | ||||
| is set, application calls to wglSwapIntervalEXT() will have no effect. | ||||
| </ul> | ||||
|  | ||||
| <h3>VA-API state tracker environment variables</h3> | ||||
| <ul> | ||||
| <li>VAAPI_MPEG4_ENABLED - enable MPEG4 for VA-API, disabled by default. | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h3>VC4 driver environment variables</h3> | ||||
| <ul> | ||||
| <li>VC4_DEBUG - a comma-separated list of named flags, which do various things: | ||||
| <ul> | ||||
|    <li>cl - dump command list during creation</li> | ||||
|    <li>qpu - dump generated QPU instructions</li> | ||||
|    <li>qir - dump QPU IR during program compile</li> | ||||
|    <li>nir - dump NIR during program compile</li> | ||||
|    <li>tgsi - dump TGSI during program compile</li> | ||||
|    <li>shaderdb - dump program compile information for shader-db analysis</li> | ||||
|    <li>perf - print during performance-related events</li> | ||||
|    <li>norast - skip actual hardware execution of commands</li> | ||||
|    <li>always_flush - flush after each draw call</li> | ||||
|    <li>always_sync - wait for finish after each flush</li> | ||||
|    <li>dump - write a GPU command stream trace file (VC4 simulator only)</li> | ||||
| </ul> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <p> | ||||
| Other Gallium drivers have their own environment variables.  These may change | ||||
|   | ||||
| @@ -23,7 +23,7 @@ The specifications follow. | ||||
|  | ||||
|  | ||||
| <ul> | ||||
| <li><a href="specs/OLD/MESA_agp_offset.spec">MESA_agp_offset.spec</a> | ||||
| <li><a href="specs/MESA_agp_offset.spec">MESA_agp_offset.spec</a> | ||||
| <li><a href="specs/MESA_copy_sub_buffer.spec">MESA_copy_sub_buffer.spec</a> | ||||
| <li><a href="specs/MESA_drm_image.spec">MESA_drm_image.spec</a> | ||||
| <li><a href="specs/MESA_multithread_makecurrent.spec">MESA_multithread_makecurrent.spec</a> | ||||
| @@ -33,7 +33,7 @@ The specifications follow. | ||||
| <li><a href="specs/OLD/MESA_program_debug.spec">MESA_program_debug.spec</a> (obsolete) | ||||
| <li><a href="specs/MESA_release_buffers.spec">MESA_release_buffers.spec</a> | ||||
| <li><a href="specs/OLD/MESA_resize_buffers.spec">MESA_resize_buffers.spec</a> (obsolete) | ||||
| <li><a href="specs/OLD/MESA_set_3dfx_mode.spec">MESA_set_3dfx_mode.spec</a> | ||||
| <li><a href="specs/MESA_set_3dfx_mode.spec">MESA_set_3dfx_mode.spec</a> | ||||
| <li><a href="specs/MESA_shader_debug.spec">MESA_shader_debug.spec</a> | ||||
| <li><a href="specs/OLD/MESA_sprite_point.spec">MESA_sprite_point.spec</a> (obsolete) | ||||
| <li><a href="specs/MESA_swap_control.spec">MESA_swap_control.spec</a> | ||||
|   | ||||
| @@ -16,7 +16,7 @@ | ||||
|  | ||||
| <center> | ||||
| <h1>Mesa Frequently Asked Questions</h1> | ||||
| Last updated: 19 September 2018 | ||||
| Last updated: 9 October 2012 | ||||
| </center> | ||||
|  | ||||
| <br> | ||||
| @@ -41,7 +41,7 @@ Last updated: 19 September 2018 | ||||
| <p> | ||||
| Mesa is an open-source implementation of the OpenGL specification. | ||||
| OpenGL is a programming library for writing interactive 3D applications. | ||||
| See the <a href="https://www.opengl.org/">OpenGL website</a> for more | ||||
| See the <a href="http://www.opengl.org/">OpenGL website</a> for more | ||||
| information. | ||||
| </p> | ||||
| <p> | ||||
| @@ -55,13 +55,13 @@ Yes.  Specifically, Mesa serves as the OpenGL core for the open-source DRI | ||||
| drivers for X.org. | ||||
| </p> | ||||
| <ul> | ||||
|   <li>See the <a href="https://dri.freedesktop.org/">DRI website</a> | ||||
|   <li>See the <a href="http://dri.freedesktop.org/">DRI website</a> | ||||
|   for more information.</li> | ||||
|   <li>See <a href="https://01.org/linuxgraphics">01.org</a> | ||||
|   <li>See <a href="http://intellinuxgraphics.org">intellinuxgraphics.org</a> | ||||
|   for more information about Intel drivers.</li> | ||||
|   <li>See <a href="https://nouveau.freedesktop.org">nouveau.freedesktop.org</a> | ||||
|   <li>See <a href="http://nouveau.freedesktop.org">nouveau.freedesktop.org</a> | ||||
|   for more information about Nouveau drivers.</li> | ||||
|   <li>See <a href="https://www.x.org/wiki/RadeonFeature">www.x.org/wiki/RadeonFeature</a> | ||||
|   <li>See <a href="http://www.x.org/wiki/RadeonFeature">www.x.org/wiki/RadeonFeature</a> | ||||
|   for more information about Radeon drivers.</li> | ||||
| </ul> | ||||
|  | ||||
| @@ -137,14 +137,14 @@ Just follow the Mesa <a href="install.html">compilation instructions</a>. | ||||
| <h2>1.6 Are there other open-source implementations of OpenGL?</h2> | ||||
| <p> | ||||
| Yes, SGI's <a href="http://oss.sgi.com/projects/ogl-sample/index.html"> | ||||
| OpenGL Sample Implementation (SI)</a> is available. | ||||
| OpenGL Sample Implemenation (SI)</a> is available. | ||||
| The SI was written during the time that OpenGL was originally designed. | ||||
| Unfortunately, development of the SI has stagnated. | ||||
| Mesa is much more up to date with modern features and extensions. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| <a href="https://sourceforge.net/projects/ogl-es/">Vincent</a> is | ||||
| <a href="http://sourceforge.net/projects/ogl-es/">Vincent</a> is | ||||
| an open-source implementation of OpenGL ES for mobile devices. | ||||
|  | ||||
| <p> | ||||
| @@ -157,7 +157,7 @@ is a subset of OpenGL. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| <a href="https://sourceforge.net/projects/softgl/">SoftGL</a> | ||||
| <a href="http://sourceforge.net/projects/softgl/">SoftGL</a> | ||||
| is an OpenGL subset for mobile devices. | ||||
| </p> | ||||
|  | ||||
| @@ -213,7 +213,7 @@ If you don't already have GLUT installed, you should grab | ||||
|  | ||||
| <h2>2.4 Where is the GLw library?</h2> | ||||
| <p> | ||||
| GLw (OpenGL widget library) is now available from a separate <a href="https://cgit.freedesktop.org/mesa/glw/">git repository</a>.  Unless you're using very old Xt/Motif applications with OpenGL, you shouldn't need it. | ||||
| GLw (OpenGL widget library) is now available from a separate <a href="http://cgit.freedesktop.org/mesa/glw/">git repository</a>.  Unless you're using very old Xt/Motif applications with OpenGL, you shouldn't need it. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| @@ -276,7 +276,7 @@ If you're using a hardware accelerated driver you want <code>direct rendering: Y | ||||
| </p> | ||||
| <p> | ||||
| If your DRI-based driver isn't working, go to the | ||||
| <a href="https://dri.freedesktop.org/">DRI website</a> for trouble-shooting information. | ||||
| <a href="http://dri.freedesktop.org/">DRI website</a> for trouble-shooting information. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| @@ -284,7 +284,7 @@ If your DRI-based driver isn't working, go to the | ||||
| <p> | ||||
| Make sure the ratio of the far to near clipping planes isn't too great. | ||||
| Look | ||||
| <a href="https://www.opengl.org/resources/faq/technical/depthbuffer.htm#0040">here</a> | ||||
| <a href="http://www.opengl.org/resources/faq/technical/depthbuffer.htm#0040">here</a> | ||||
| for details. | ||||
| </p> | ||||
| <p> | ||||
| @@ -327,6 +327,19 @@ Basically, applying a translation of (0.375, 0.375, 0.0) to your coordinates | ||||
| will fix the problem. | ||||
| </p> | ||||
|  | ||||
| <h2>3.6 How can I change the maximum framebuffer size in Mesa's | ||||
| <tt>swrast</tt> backend?</h2> | ||||
| <p> | ||||
| These can be overridden by using the <tt>--with-max-width</tt> and | ||||
| <tt>--with-max-height</tt> options.  The two need not be equal. | ||||
| </p><p> | ||||
| Do note that Mesa uses these values to size some internal buffers, | ||||
| so increasing these sizes will cause Mesa to require additional | ||||
| memory.  Furthermore, increasing these limits beyond <tt>4096</tt> | ||||
| may introduce rasterization artifacts; see the leading comments in | ||||
| <tt>src/mesa/swrast/s_tritemp.h</tt>. | ||||
| </p> | ||||
|  | ||||
| <br> | ||||
| <br> | ||||
|  | ||||
| @@ -339,8 +352,8 @@ First, join the <a href="lists.html">mesa-dev mailing list</a>. | ||||
| That's where Mesa development is discussed. | ||||
| </p> | ||||
| <p> | ||||
| The <a href="https://www.opengl.org/documentation"> | ||||
| OpenGL Specification</a> is the bible for OpenGL implementation work. | ||||
| The <a href="http://www.opengl.org/documentation"> | ||||
| OpenGL Specification</a> is the bible for OpenGL implemention work. | ||||
| You should read it. | ||||
| </p> | ||||
| <p>Most of the Mesa development work involves implementing new OpenGL | ||||
| @@ -362,7 +375,7 @@ For a Gallium3D hardware driver, the r300g, r600g and the i915g are good example | ||||
| </p> | ||||
| <p>The DRI website has more information about writing hardware drivers. | ||||
| The process isn't well document because the Mesa driver interface changes | ||||
| over time, and we seldom have spare time for writing documentation. | ||||
| over time, and we seldome have spare time for writing documentation. | ||||
| That being said, many people have managed to figure out the process. | ||||
| </p> | ||||
| <p> | ||||
| @@ -373,16 +386,18 @@ the archives) is a good way to get information. | ||||
|  | ||||
| <h2>4.3 Why isn't GL_EXT_texture_compression_s3tc implemented in Mesa?</h2> | ||||
| <p> | ||||
| Oh but it is! Prior to 2nd October 2017, the Mesa project did not include s3tc | ||||
| support due to intellectual property (IP) and/or patent issues around the s3tc | ||||
| algorithm. | ||||
| The <a href="http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_compression_s3tc.txt">specification for the extension</a> | ||||
| indicates that there are intellectual property (IP) and/or patent issues | ||||
| to be dealt with. | ||||
| </p> | ||||
| <p>We've been unsucessful in getting a response from S3 (or whoever owns | ||||
| the IP nowadays) to indicate whether or not an open source project can | ||||
| implement the extension (specifically the compression/decompression | ||||
| algorithms). | ||||
| </p> | ||||
| <p> | ||||
| As of Mesa 17.3.0, Mesa now officially supports s3tc, as the patent has expired. | ||||
| </p> | ||||
| <p> | ||||
| In versions prior to this, a 3rd party <a href="https://dri.freedesktop.org/wiki/S3TC"> | ||||
| plug-in library</a> was required. | ||||
| In the mean time, a 3rd party <a href="http://dri.freedesktop.org/wiki/S3TC"> | ||||
| plug-in library</a> is available. | ||||
| </p> | ||||
|  | ||||
| </div> | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								docs/favicon.ico
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/favicon.ico
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 13 KiB | 
							
								
								
									
										
											BIN
										
									
								
								docs/favicon.png
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/favicon.png
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 2.9 KiB | 
| @@ -1,472 +0,0 @@ | ||||
| # Status of OpenGL extensions in Mesa | ||||
|  | ||||
| Here's how to read this file: | ||||
|  | ||||
| all DONE: <driver>, ... | ||||
|     All the extensions are done for the given list of drivers. | ||||
|  | ||||
| DONE | ||||
|     The extension is done for Mesa and no implementation is necessary on the | ||||
|     driver-side. | ||||
|  | ||||
| DONE () | ||||
|     The extension is done for Mesa and all the drivers in the "all DONE" list. | ||||
|  | ||||
| DONE (<driver>, ...) | ||||
|     The extension is done for Mesa, all the drivers in the "all DONE" list, and | ||||
|     all the drivers in the brackets. | ||||
|  | ||||
| in progress | ||||
|     The extension is started but not finished yet. | ||||
|  | ||||
| not started | ||||
|     The extension isn't started yet. | ||||
|  | ||||
| # OpenGL Core and Compatibility context support | ||||
|  | ||||
| Some drivers do not support the Compatibility profile or the | ||||
| ARB_compatibility extensions.  If an application does not request a | ||||
| specific version without the forward-compatiblity flag, such drivers | ||||
| will be limited to OpenGL 3.0.  If an application requests OpenGL 3.1, | ||||
| it will get a context that may or may not have the ARB_compatibility | ||||
| extension enabled.  Some of the later GL features are exposed in the 3.0 | ||||
| context as extensions. | ||||
|  | ||||
|  | ||||
| Feature                                                 Status | ||||
| ------------------------------------------------------- ------------------------ | ||||
|  | ||||
| GL 3.0, GLSL 1.30 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr, virgl | ||||
|  | ||||
|   glBindFragDataLocation, glGetFragDataLocation         DONE | ||||
|   GL_NV_conditional_render (Conditional rendering)      DONE () | ||||
|   GL_ARB_map_buffer_range (Map buffer subranges)        DONE () | ||||
|   GL_ARB_color_buffer_float (Clamping controls)         DONE () | ||||
|   GL_ARB_texture_float (Float textures, renderbuffers)  DONE () | ||||
|   GL_EXT_packed_float                                   DONE () | ||||
|   GL_EXT_texture_shared_exponent                        DONE () | ||||
|   GL_ARB_depth_buffer_float (Float depth buffers)       DONE () | ||||
|   GL_ARB_framebuffer_object (Framebuffer objects)       DONE () | ||||
|   GL_ARB_half_float_pixel                               DONE (all drivers) | ||||
|   GL_ARB_half_float_vertex                              DONE () | ||||
|   GL_EXT_texture_integer                                DONE () | ||||
|   GL_EXT_texture_array                                  DONE () | ||||
|   GL_EXT_draw_buffers2 (Per-buffer blend and masks)     DONE () | ||||
|   GL_EXT_texture_compression_rgtc                       DONE () | ||||
|   GL_ARB_texture_rg                                     DONE () | ||||
|   GL_EXT_transform_feedback (Transform feedback)        DONE () | ||||
|   GL_ARB_vertex_array_object (Vertex array objects)     DONE () | ||||
|   GL_EXT_framebuffer_sRGB (sRGB framebuffer format)     DONE () | ||||
|   glClearBuffer commands                                DONE | ||||
|   glGetStringi command                                  DONE | ||||
|   glTexParameterI, glGetTexParameterI commands          DONE | ||||
|   glVertexAttribI commands                              DONE | ||||
|   Depth format cube textures                            DONE () | ||||
|   GLX_ARB_create_context (GLX 1.4 is required)          DONE | ||||
|   Multisample anti-aliasing                             DONE (freedreno/a5xx, freedreno (*), llvmpipe (*), softpipe (*), swr (*)) | ||||
|  | ||||
| (*) freedreno (a2xx-a4xx), llvmpipe, softpipe, and swr have fake Multisample anti-aliasing support | ||||
|  | ||||
|  | ||||
| GL 3.1, GLSL 1.40 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr, virgl | ||||
|  | ||||
|   Forward compatible context support/deprecations       DONE () | ||||
|   GL_ARB_draw_instanced (Instanced drawing)             DONE () | ||||
|   GL_ARB_copy_buffer (Buffer copying)                   DONE () | ||||
|   GL_NV_primitive_restart (Primitive restart)           DONE () | ||||
|   16 vertex texture image units                         DONE () | ||||
|   GL_ARB_texture_buffer_object (Texture buffer objs)    DONE (for OpenGL 3.1 contexts) | ||||
|   GL_ARB_texture_rectangle (Rectangular textures)       DONE () | ||||
|   GL_ARB_uniform_buffer_object (Uniform buffer objs)    DONE () | ||||
|   GL_EXT_texture_snorm (Signed normalized textures)     DONE () | ||||
|  | ||||
|  | ||||
| GL 3.2, GLSL 1.50 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr, virgl | ||||
|  | ||||
|   Core/compatibility profiles                           DONE | ||||
|   Geometry shaders                                      DONE () | ||||
|   GL_ARB_vertex_array_bgra (BGRA vertex order)          DONE (freedreno) | ||||
|   GL_ARB_draw_elements_base_vertex (Base vertex offset) DONE (freedreno) | ||||
|   GL_ARB_fragment_coord_conventions (Frag shader coord) DONE (freedreno) | ||||
|   GL_ARB_provoking_vertex (Provoking vertex)            DONE (freedreno) | ||||
|   GL_ARB_seamless_cube_map (Seamless cubemaps)          DONE (freedreno) | ||||
|   GL_ARB_texture_multisample (Multisample textures)     DONE (freedreno/a5xx) | ||||
|   GL_ARB_depth_clamp (Frag depth clamp)                 DONE (freedreno) | ||||
|   GL_ARB_sync (Fence objects)                           DONE (freedreno) | ||||
|   GLX_ARB_create_context_profile                        DONE | ||||
|  | ||||
|  | ||||
| GL 3.3, GLSL 3.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl | ||||
|  | ||||
|   GL_ARB_blend_func_extended                            DONE (freedreno/a3xx, swr) | ||||
|   GL_ARB_explicit_attrib_location                       DONE (all drivers that support GLSL) | ||||
|   GL_ARB_occlusion_query2                               DONE (freedreno, swr) | ||||
|   GL_ARB_sampler_objects                                DONE (all drivers) | ||||
|   GL_ARB_shader_bit_encoding                            DONE (freedreno, swr) | ||||
|   GL_ARB_texture_rgb10_a2ui                             DONE (freedreno, swr) | ||||
|   GL_ARB_texture_swizzle                                DONE (freedreno, swr) | ||||
|   GL_ARB_timer_query                                    DONE (freedreno, swr) | ||||
|   GL_ARB_instanced_arrays                               DONE (freedreno, swr) | ||||
|   GL_ARB_vertex_type_2_10_10_10_rev                     DONE (freedreno, swr) | ||||
|  | ||||
|  | ||||
| GL 4.0, GLSL 4.00 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, virgl | ||||
|  | ||||
|   GL_ARB_draw_buffers_blend                             DONE (freedreno, i965/gen6+, nv50, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_draw_indirect                                  DONE (freedreno, i965/gen7+, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_gpu_shader5                                    DONE (i965/gen7+) | ||||
|   - 'precise' qualifier                                 DONE | ||||
|   - Dynamically uniform sampler array indices           DONE (softpipe) | ||||
|   - Dynamically uniform UBO array indices               DONE (freedreno) | ||||
|   - Implicit signed -> unsigned conversions             DONE | ||||
|   - Fused multiply-add                                  DONE () | ||||
|   - Packing/bitfield/conversion functions               DONE (freedreno, softpipe) | ||||
|   - Enhanced textureGather                              DONE (freedreno, softpipe) | ||||
|   - Geometry shader instancing                          DONE (llvmpipe, softpipe) | ||||
|   - Geometry shader multiple streams                    DONE () | ||||
|   - Enhanced per-sample shading                         DONE () | ||||
|   - Interpolation functions                             DONE () | ||||
|   - New overload resolution rules                       DONE | ||||
|   GL_ARB_gpu_shader_fp64                                DONE (i965/gen7+, llvmpipe, softpipe) | ||||
|   GL_ARB_sample_shading                                 DONE (i965/gen6+, nv50) | ||||
|   GL_ARB_shader_subroutine                              DONE (freedreno, i965/gen6+, nv50, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_tessellation_shader                            DONE (i965/gen7+) | ||||
|   GL_ARB_texture_buffer_object_rgb32                    DONE (freedreno, i965/gen6+, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_texture_cube_map_array                         DONE (i965/gen6+, nv50, llvmpipe, softpipe) | ||||
|   GL_ARB_texture_gather                                 DONE (freedreno, i965/gen6+, nv50, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_texture_query_lod                              DONE (freedreno, i965, nv50, llvmpipe, softpipe) | ||||
|   GL_ARB_transform_feedback2                            DONE (i965/gen6+, nv50, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_transform_feedback3                            DONE (i965/gen7+, llvmpipe, softpipe, swr) | ||||
|  | ||||
|  | ||||
| GL 4.1, GLSL 4.10 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, virgl | ||||
|  | ||||
|   GL_ARB_ES2_compatibility                              DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_get_program_binary                             DONE (0 or 1 binary formats) | ||||
|   GL_ARB_separate_shader_objects                        DONE (all drivers) | ||||
|   GL_ARB_shader_precision                               DONE (i965/gen7+, all drivers that support GLSL 4.10) | ||||
|   GL_ARB_vertex_attrib_64bit                            DONE (i965/gen7+, llvmpipe, softpipe) | ||||
|   GL_ARB_viewport_array                                 DONE (i965, nv50, llvmpipe, softpipe) | ||||
|  | ||||
|  | ||||
| GL 4.2, GLSL 4.20 -- all DONE: i965/gen7+, nvc0, r600, radeonsi, virgl | ||||
|  | ||||
|   GL_ARB_texture_compression_bptc                       DONE (freedreno, i965) | ||||
|   GL_ARB_compressed_texture_pixel_storage               DONE (all drivers) | ||||
|   GL_ARB_shader_atomic_counters                         DONE (freedreno/a5xx, i965, softpipe) | ||||
|   GL_ARB_texture_storage                                DONE (all drivers) | ||||
|   GL_ARB_transform_feedback_instanced                   DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_base_instance                                  DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_shader_image_load_store                        DONE (freedreno/a5xx, i965, softpipe) | ||||
|   GL_ARB_conservative_depth                             DONE (all drivers that support GLSL 1.30) | ||||
|   GL_ARB_shading_language_420pack                       DONE (all drivers that support GLSL 1.30) | ||||
|   GL_ARB_shading_language_packing                       DONE (all drivers) | ||||
|   GL_ARB_internalformat_query                           DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_map_buffer_alignment                           DONE (all drivers) | ||||
|  | ||||
|  | ||||
| GL 4.3, GLSL 4.30 -- all DONE: i965/gen8+, nvc0, r600, radeonsi, virgl | ||||
|  | ||||
|   GL_ARB_arrays_of_arrays                               DONE (all drivers that support GLSL 1.30) | ||||
|   GL_ARB_ES3_compatibility                              DONE (all drivers that support GLSL 3.30) | ||||
|   GL_ARB_clear_buffer_object                            DONE (all drivers) | ||||
|   GL_ARB_compute_shader                                 DONE (freedreno/a5xx, i965, softpipe) | ||||
|   GL_ARB_copy_image                                     DONE (i965, nv50, softpipe, llvmpipe) | ||||
|   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, llvmpipe, softpipe) | ||||
|   GL_ARB_framebuffer_no_attachments                     DONE (freedreno, i965, softpipe) | ||||
|   GL_ARB_internalformat_query2                          DONE (all drivers) | ||||
|   GL_ARB_invalidate_subdata                             DONE (all drivers) | ||||
|   GL_ARB_multi_draw_indirect                            DONE (freedreno, i965, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_program_interface_query                        DONE (all drivers) | ||||
|   GL_ARB_robust_buffer_access_behavior                  DONE (i965) | ||||
|   GL_ARB_shader_image_size                              DONE (freedreno/a5xx, i965, softpipe) | ||||
|   GL_ARB_shader_storage_buffer_object                   DONE (freedreno/a5xx, i965, softpipe) | ||||
|   GL_ARB_stencil_texturing                              DONE (freedreno, i965/hsw+, nv50, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_texture_buffer_range                           DONE (freedreno, nv50, i965, llvmpipe) | ||||
|   GL_ARB_texture_query_levels                           DONE (all drivers that support GLSL 1.30) | ||||
|   GL_ARB_texture_storage_multisample                    DONE (all drivers that support GL_ARB_texture_multisample) | ||||
|   GL_ARB_texture_view                                   DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_vertex_attrib_binding                          DONE (all drivers) | ||||
|  | ||||
|  | ||||
| GL 4.4, GLSL 4.40 -- all DONE: i965/gen8+, nvc0, r600, radeonsi | ||||
|  | ||||
|   GL_MAX_VERTEX_ATTRIB_STRIDE                           DONE (all drivers) | ||||
|   GL_ARB_buffer_storage                                 DONE (freedreno, i965, nv50, llvmpipe, swr) | ||||
|   GL_ARB_clear_texture                                  DONE (i965, nv50, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_enhanced_layouts                               DONE (i965, nv50, llvmpipe, softpipe, virgl) | ||||
|   - compile-time constant expressions                   DONE | ||||
|   - explicit byte offsets for blocks                    DONE | ||||
|   - forced alignment within blocks                      DONE | ||||
|   - specified vec4-slot component numbers               DONE | ||||
|   - specified transform/feedback layout                 DONE | ||||
|   - input/output block locations                        DONE | ||||
|   GL_ARB_multi_bind                                     DONE (all drivers) | ||||
|   GL_ARB_query_buffer_object                            DONE (i965/hsw+, virgl) | ||||
|   GL_ARB_texture_mirror_clamp_to_edge                   DONE (i965, nv50, llvmpipe, softpipe, swr, virgl) | ||||
|   GL_ARB_texture_stencil8                               DONE (freedreno, i965/hsw+, nv50, llvmpipe, softpipe, swr, virgl) | ||||
|   GL_ARB_vertex_type_10f_11f_11f_rev                    DONE (i965, nv50, llvmpipe, softpipe, swr, virgl) | ||||
|  | ||||
| GL 4.5, GLSL 4.50 -- all DONE: nvc0, radeonsi | ||||
|  | ||||
|   GL_ARB_ES3_1_compatibility                            DONE (i965/hsw+, r600, virgl) | ||||
|   GL_ARB_clip_control                                   DONE (freedreno, i965, nv50, r600, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_conditional_render_inverted                    DONE (freedreno, i965, nv50, r600, llvmpipe, softpipe, swr, virgl) | ||||
|   GL_ARB_cull_distance                                  DONE (i965, nv50, r600, llvmpipe, softpipe, swr, virgl) | ||||
|   GL_ARB_derivative_control                             DONE (i965, nv50, r600, virgl) | ||||
|   GL_ARB_direct_state_access                            DONE (all drivers) | ||||
|   GL_ARB_get_texture_sub_image                          DONE (all drivers) | ||||
|   GL_ARB_shader_texture_image_samples                   DONE (i965, nv50, r600, virgl) | ||||
|   GL_ARB_texture_barrier                                DONE (freedreno, i965, nv50, r600, virgl) | ||||
|   GL_KHR_context_flush_control                          DONE (all - but needs GLX/EGL extension to be useful) | ||||
|   GL_KHR_robustness                                     DONE (i965) | ||||
|   GL_EXT_shader_integer_mix                             DONE (all drivers that support GLSL) | ||||
|  | ||||
| GL 4.6, GLSL 4.60 | ||||
|  | ||||
|   GL_ARB_gl_spirv                                       in progress (Nicolai Hähnle, Ian Romanick) | ||||
|   GL_ARB_indirect_parameters                            DONE (i965/gen7+, nvc0, radeonsi) | ||||
|   GL_ARB_pipeline_statistics_query                      DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_polygon_offset_clamp                           DONE (freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, swr, virgl) | ||||
|   GL_ARB_shader_atomic_counter_ops                      DONE (freedreno/a5xx, i965/gen7+, nvc0, r600, radeonsi, softpipe, virgl) | ||||
|   GL_ARB_shader_draw_parameters                         DONE (i965, nvc0, radeonsi) | ||||
|   GL_ARB_shader_group_vote                              DONE (i965, nvc0, radeonsi) | ||||
|   GL_ARB_spirv_extensions                               in progress (Nicolai Hähnle, Ian Romanick) | ||||
|   GL_ARB_texture_filter_anisotropic                     DONE (freedreno, i965, nv50, nvc0, r600, radeonsi, softpipe (*), llvmpipe (*)) | ||||
|   GL_ARB_transform_feedback_overflow_query              DONE (i965/gen6+, nvc0, radeonsi, llvmpipe, softpipe, virgl) | ||||
|   GL_KHR_no_error                                       DONE (all drivers) | ||||
|  | ||||
| (*) softpipe and llvmpipe advertise 16x anisotropy but simply ignore the setting | ||||
|  | ||||
| These are the extensions cherry-picked to make GLES 3.1 | ||||
| GLES3.1, GLSL ES 3.1 -- all DONE: i965/hsw+, nvc0, r600, radeonsi, virgl | ||||
|  | ||||
|   GL_ARB_arrays_of_arrays                               DONE (all drivers that support GLSL 1.30) | ||||
|   GL_ARB_compute_shader                                 DONE (freedreno/a5xx, i965/gen7+, softpipe) | ||||
|   GL_ARB_draw_indirect                                  DONE (freedreno, i965/gen7+, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_explicit_uniform_location                      DONE (all drivers that support GLSL) | ||||
|   GL_ARB_framebuffer_no_attachments                     DONE (freedreno, i965/gen7+, softpipe) | ||||
|   GL_ARB_program_interface_query                        DONE (all drivers) | ||||
|   GL_ARB_shader_atomic_counters                         DONE (freedreno/a5xx, i965/gen7+, softpipe) | ||||
|   GL_ARB_shader_image_load_store                        DONE (freedreno/a5xx, i965/gen7+, softpipe) | ||||
|   GL_ARB_shader_image_size                              DONE (freedreno/a5xx, i965/gen7+, softpipe) | ||||
|   GL_ARB_shader_storage_buffer_object                   DONE (freedreno/a5xx, i965/gen7+, softpipe) | ||||
|   GL_ARB_shading_language_packing                       DONE (all drivers) | ||||
|   GL_ARB_separate_shader_objects                        DONE (all drivers) | ||||
|   GL_ARB_stencil_texturing                              DONE (freedreno, nv50, llvmpipe, softpipe, swr) | ||||
|   GL_ARB_texture_multisample (Multisample textures)     DONE (freedreno/a5xx, i965/gen7+, nv50, llvmpipe, softpipe) | ||||
|   GL_ARB_texture_storage_multisample                    DONE (all drivers that support GL_ARB_texture_multisample) | ||||
|   GL_ARB_vertex_attrib_binding                          DONE (all drivers) | ||||
|   GS5 Enhanced textureGather                            DONE (freedreno, i965/gen7+) | ||||
|   GS5 Packing/bitfield/conversion functions             DONE (freedreno/a5xx, i965/gen6+) | ||||
|   GL_EXT_shader_integer_mix                             DONE (all drivers that support GLSL) | ||||
|  | ||||
|   Additional functionality not covered above: | ||||
|       glMemoryBarrierByRegion                           DONE | ||||
|       glGetTexLevelParameter[fi]v - needs updates       DONE | ||||
|       glGetBooleani_v - restrict to GLES enums | ||||
|       gl_HelperInvocation support                       DONE (i965, r600) | ||||
|  | ||||
| GLES3.2, GLSL ES 3.2 -- all DONE: i965/gen9+, radeonsi, virgl | ||||
|  | ||||
|   GL_EXT_color_buffer_float                             DONE (all drivers) | ||||
|   GL_KHR_blend_equation_advanced                        DONE (i965, nvc0) | ||||
|   GL_KHR_debug                                          DONE (all drivers) | ||||
|   GL_KHR_robustness                                     DONE (i965, nvc0) | ||||
|   GL_KHR_texture_compression_astc_ldr                   DONE (freedreno, i965/gen9+) | ||||
|   GL_OES_copy_image                                     DONE (all drivers) | ||||
|   GL_OES_draw_buffers_indexed                           DONE (all drivers that support GL_ARB_draw_buffers_blend) | ||||
|   GL_OES_draw_elements_base_vertex                      DONE (all drivers) | ||||
|   GL_OES_geometry_shader                                DONE (i965/hsw+, nvc0) | ||||
|   GL_OES_gpu_shader5                                    DONE (all drivers that support GL_ARB_gpu_shader5) | ||||
|   GL_OES_primitive_bounding_box                         DONE (i965/gen7+, nvc0) | ||||
|   GL_OES_sample_shading                                 DONE (i965, nvc0, r600) | ||||
|   GL_OES_sample_variables                               DONE (i965, nvc0, r600) | ||||
|   GL_OES_shader_image_atomic                            DONE (all drivers that support GL_ARB_shader_image_load_store) | ||||
|   GL_OES_shader_io_blocks                               DONE (All drivers that support GLES 3.1) | ||||
|   GL_OES_shader_multisample_interpolation               DONE (i965, nvc0, r600) | ||||
|   GL_OES_tessellation_shader                            DONE (all drivers that support GL_ARB_tessellation_shader) | ||||
|   GL_OES_texture_border_clamp                           DONE (all drivers) | ||||
|   GL_OES_texture_buffer                                 DONE (freedreno, i965, nvc0) | ||||
|   GL_OES_texture_cube_map_array                         DONE (i965/hsw+, nvc0) | ||||
|   GL_OES_texture_stencil8                               DONE (all drivers that support GL_ARB_texture_stencil8) | ||||
|   GL_OES_texture_storage_multisample_2d_array           DONE (all drivers that support GL_ARB_texture_multisample) | ||||
|  | ||||
| Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES version: | ||||
|  | ||||
|   GL_ARB_bindless_texture                               DONE (nvc0, radeonsi) | ||||
|   GL_ARB_cl_event                                       not started | ||||
|   GL_ARB_compute_variable_group_size                    DONE (nvc0, radeonsi) | ||||
|   GL_ARB_ES3_2_compatibility                            DONE (i965/gen8+, radeonsi, virgl) | ||||
|   GL_ARB_fragment_shader_interlock                      DONE (i965) | ||||
|   GL_ARB_gpu_shader_int64                               DONE (i965/gen8+, nvc0, radeonsi, softpipe, llvmpipe) | ||||
|   GL_ARB_parallel_shader_compile                        not started, but Chia-I Wu did some related work in 2014 | ||||
|   GL_ARB_post_depth_coverage                            DONE (i965, nvc0) | ||||
|   GL_ARB_robustness_isolation                           not started | ||||
|   GL_ARB_sample_locations                               DONE (nvc0) | ||||
|   GL_ARB_seamless_cubemap_per_texture                   DONE (freedreno, i965, nvc0, radeonsi, r600, softpipe, swr, virgl) | ||||
|   GL_ARB_shader_ballot                                  DONE (i965/gen8+, nvc0, radeonsi) | ||||
|   GL_ARB_shader_clock                                   DONE (i965/gen7+, nv50, nvc0, r600, radeonsi, virgl) | ||||
|   GL_ARB_shader_stencil_export                          DONE (i965/gen9+, r600, radeonsi, softpipe, llvmpipe, swr, virgl) | ||||
|   GL_ARB_shader_viewport_layer_array                    DONE (i965/gen6+, nvc0, radeonsi) | ||||
|   GL_ARB_sparse_buffer                                  DONE (radeonsi/CIK+) | ||||
|   GL_ARB_sparse_texture                                 not started | ||||
|   GL_ARB_sparse_texture2                                not started | ||||
|   GL_ARB_sparse_texture_clamp                           not started | ||||
|   GL_ARB_texture_filter_minmax                          not started | ||||
|   GL_EXT_memory_object                                  DONE (radeonsi) | ||||
|   GL_EXT_memory_object_fd                               DONE (radeonsi) | ||||
|   GL_EXT_memory_object_win32                            not started | ||||
|   GL_EXT_render_snorm                                   DONE (i965, radeonsi) | ||||
|   GL_EXT_semaphore                                      DONE (radeonsi) | ||||
|   GL_EXT_semaphore_fd                                   DONE (radeonsi) | ||||
|   GL_EXT_semaphore_win32                                not started | ||||
|   GL_EXT_texture_norm16                                 DONE (i965, r600, radeonsi, nvc0) | ||||
|   GL_KHR_blend_equation_advanced_coherent               DONE (i965/gen9+) | ||||
|   GL_KHR_texture_compression_astc_hdr                   DONE (i965/bxt) | ||||
|   GL_KHR_texture_compression_astc_sliced_3d             DONE (i965/gen9+, radeonsi) | ||||
|   GL_OES_depth_texture_cube_map                         DONE (all drivers that support GLSL 1.30+) | ||||
|   GL_OES_EGL_image                                      DONE (all drivers) | ||||
|   GL_OES_EGL_image_external                             DONE (all drivers) | ||||
|   GL_OES_EGL_image_external_essl3                       DONE (all drivers) | ||||
|   GL_OES_required_internalformat                        DONE (all drivers) | ||||
|   GL_OES_surfaceless_context                            DONE (all drivers) | ||||
|   GL_OES_texture_compression_astc                       DONE (core only) | ||||
|   GL_OES_texture_float                                  DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe) | ||||
|   GL_OES_texture_float_linear                           DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe) | ||||
|   GL_OES_texture_half_float                             DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe) | ||||
|   GL_OES_texture_half_float_linear                      DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe) | ||||
|   GL_OES_texture_view                                   DONE (freedreno, i965/gen8+, r600, radeonsi, nv50, nvc0, softpipe, llvmpipe, swr) | ||||
|   GL_OES_viewport_array                                 DONE (i965, nvc0, radeonsi) | ||||
|   GLX_ARB_context_flush_control                         not started | ||||
|   GLX_ARB_robustness_application_isolation              not started | ||||
|   GLX_ARB_robustness_share_group_isolation              not started | ||||
|  | ||||
| GL_EXT_direct_state_access subfeatures (in the spec order): | ||||
|   GL 1.1: Client commands                               not started | ||||
|   GL 1.0-1.3: Matrix and transpose matrix commands      not started | ||||
|   GL 1.1-1.2: Texture commands                          not started | ||||
|   GL 1.2: 3D texture commands                           not started | ||||
|   GL 1.2.1: Multitexture commands                       not started | ||||
|   GL 1.2.1-3.0: Indexed texture commands                not started | ||||
|   GL 1.2.1-3.0: Indexed generic queries                 not started | ||||
|   GL 1.2.1: EnableIndexed.. Get*Indexed                 not started | ||||
|   GL_ARB_vertex_program                                 not started | ||||
|   GL 1.3: Compressed texture and multitexture commands  not started | ||||
|   GL 1.5: Buffer commands                               not started | ||||
|   GL 2.0-2.1: Uniform and uniform matrix commands       not started | ||||
|   GL_EXT_texture_buffer_object                          not started | ||||
|   GL_EXT_texture_integer                                not started | ||||
|   GL_EXT_gpu_shader4                                    not started | ||||
|   GL_EXT_gpu_program_parameters                         not started | ||||
|   GL_NV_gpu_program4                                    n/a | ||||
|   GL_NV_framebuffer_multisample_coverage                n/a | ||||
|   GL 3.0: Renderbuffer/framebuffer commands, Gen*Mipmap not started | ||||
|   GL 3.0: CopyBuffer command                            not started | ||||
|   GL_EXT_geometry_shader4 commands (expose in GL 3.2)   not started | ||||
|   GL_NV_explicit_multisample                            n/a | ||||
|   GL 3.0: Vertex array/attrib/query/map commands        not started | ||||
|   Matrix GL tokens                                      not started | ||||
|  | ||||
| GL_EXT_direct_state_access additions from other extensions (complete list): | ||||
|   GL_AMD_framebuffer_sample_positions                   n/a | ||||
|   GL_AMD_gpu_shader_int64                               not started | ||||
|   GL_ARB_bindless_texture                               not started | ||||
|   GL_ARB_buffer_storage                                 not started | ||||
|   GL_ARB_clear_buffer_object                            not started | ||||
|   GL_ARB_framebuffer_no_attachments                     not started | ||||
|   GL_ARB_gpu_shader_fp64                                not started | ||||
|   GL_ARB_instanced_arrays                               not started | ||||
|   GL_ARB_internalformat_query2                          not started | ||||
|   GL_ARB_sparse_texture                                 n/a | ||||
|   GL_ARB_sparse_buffer                                  not started | ||||
|   GL_ARB_texture_buffer_range                           not started | ||||
|   GL_ARB_texture_storage                                not started | ||||
|   GL_ARB_texture_storage_multisample                    not started | ||||
|   GL_ARB_vertex_attrib_64bit                            not started | ||||
|   GL_ARB_vertex_attrib_binding                          not started | ||||
|   GL_EXT_buffer_storage                                 not started | ||||
|   GL_EXT_external_buffer                                not started | ||||
|   GL_EXT_separate_shader_objects                        n/a | ||||
|   GL_EXT_sparse_texture                                 n/a | ||||
|   GL_EXT_texture_storage                                n/a | ||||
|   GL_EXT_vertex_attrib_64bit                            not started | ||||
|   GL_EXT_EGL_image_storage                              n/a | ||||
|   GL_NV_bindless_texture                                n/a | ||||
|   GL_NV_gpu_shader5                                     n/a | ||||
|   GL_NV_texture_multisample                             n/a | ||||
|   GL_NV_vertex_buffer_unified_memory                    n/a | ||||
|   GL_NVX_linked_gpu_multicast                           n/a | ||||
|   GLX_NV_copy_buffer                                    n/a | ||||
|  | ||||
| The following extensions are not part of any OpenGL or OpenGL ES version, and | ||||
| we DO NOT WANT implementations of these extensions for Mesa. | ||||
|  | ||||
|   GL_ARB_geometry_shader4                               Superseded by GL 3.2 geometry shaders | ||||
|   GL_ARB_matrix_palette                                 Superseded by GL_ARB_vertex_program | ||||
|   GL_ARB_shading_language_include                       Not interesting | ||||
|   GL_ARB_shadow_ambient                                 Superseded by GL_ARB_fragment_program | ||||
|   GL_ARB_vertex_blend                                   Superseded by GL_ARB_vertex_program | ||||
|  | ||||
| Vulkan 1.0 -- all DONE: anv, radv | ||||
|  | ||||
| Vulkan 1.1 -- all DONE: anv, radv | ||||
|  | ||||
|   VK_KHR_16bit_storage                                  in progress (Alejandro) | ||||
|   VK_KHR_bind_memory2                                   DONE (anv, radv) | ||||
|   VK_KHR_dedicated_allocation                           DONE (anv, radv) | ||||
|   VK_KHR_descriptor_update_template                     DONE (anv, radv) | ||||
|   VK_KHR_device_group                                   not started | ||||
|   VK_KHR_device_group_creation                          not started | ||||
|   VK_KHR_external_fence                                 DONE (anv, radv) | ||||
|   VK_KHR_external_fence_capabilities                    DONE (anv, radv) | ||||
|   VK_KHR_external_memory                                DONE (anv, radv) | ||||
|   VK_KHR_external_memory_capabilities                   DONE (anv, radv) | ||||
|   VK_KHR_external_semaphore                             DONE (anv, radv) | ||||
|   VK_KHR_external_semaphore_capabilities                DONE (anv, radv) | ||||
|   VK_KHR_get_memory_requirements2                       DONE (anv, radv) | ||||
|   VK_KHR_get_physical_device_properties2                DONE (anv, radv) | ||||
|   VK_KHR_maintenance1                                   DONE (anv, radv) | ||||
|   VK_KHR_maintenance2                                   DONE (anv, radv) | ||||
|   VK_KHR_maintenance3                                   DONE (anv, radv) | ||||
|   VK_KHR_multiview                                      DONE (anv, radv) | ||||
|   VK_KHR_relaxed_block_layout                           DONE (anv, radv) | ||||
|   VK_KHR_sampler_ycbcr_conversion                       DONE (anv) | ||||
|   VK_KHR_shader_draw_parameters                         DONE (anv, radv) | ||||
|   VK_KHR_storage_buffer_storage_class                   DONE (anv, radv) | ||||
|   VK_KHR_variable_pointers                              DONE (anv, radv) | ||||
|  | ||||
| Khronos extensions that are not part of any Vulkan version: | ||||
|   VK_KHR_8bit_storage                                   DONE (anv) | ||||
|   VK_KHR_android_surface                                not started | ||||
|   VK_KHR_create_renderpass2                             DONE (anv, radv) | ||||
|   VK_KHR_display                                        DONE (anv, radv) | ||||
|   VK_KHR_display_swapchain                              DONE (anv, radv) | ||||
|   VK_KHR_draw_indirect_count                            DONE (radv) | ||||
|   VK_KHR_external_fence_fd                              DONE (anv, radv) | ||||
|   VK_KHR_external_fence_win32                           not started | ||||
|   VK_KHR_external_memory_fd                             DONE (anv, radv) | ||||
|   VK_KHR_external_memory_win32                          not started | ||||
|   VK_KHR_external_semaphore_fd                          DONE (anv, radv) | ||||
|   VK_KHR_external_semaphore_win32                       not started | ||||
|   VK_KHR_get_display_properties2                        DONE (anv, radv) | ||||
|   VK_KHR_get_surface_capabilities2                      DONE (anv, radv) | ||||
|   VK_KHR_image_format_list                              DONE (anv, radv) | ||||
|   VK_KHR_incremental_present                            DONE (anv, radv) | ||||
|   VK_KHR_mir_surface                                    not started | ||||
|   VK_KHR_push_descriptor                                DONE (anv, radv) | ||||
|   VK_KHR_sampler_mirror_clamp_to_edge                   DONE (anv, radv) | ||||
|   VK_KHR_shared_presentable_image                       not started | ||||
|   VK_KHR_surface                                        DONE (anv, radv) | ||||
|   VK_KHR_swapchain                                      DONE (anv, radv) | ||||
|   VK_KHR_wayland_surface                                DONE (anv, radv) | ||||
|   VK_KHR_win32_keyed_mutex                              not started | ||||
|   VK_KHR_win32_surface                                  not started | ||||
|   VK_KHR_xcb_surface                                    DONE (anv, radv) | ||||
|   VK_KHR_xlib_surface                                   DONE (anv, radv) | ||||
|  | ||||
|  | ||||
| A graphical representation of this information can be found at | ||||
| https://mesamatrix.net/ | ||||
| @@ -24,7 +24,7 @@ Here are some specific ideas and areas where help would be appreciated: | ||||
| <ol> | ||||
| <li> | ||||
| <b>Driver patching and testing.</b> | ||||
| Patches are often posted to the <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">mesa-dev mailing list</a>, but aren't | ||||
| Patches are often posted to the <a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev">mesa-dev mailing list</a>, but aren't | ||||
| immediately checked into git because not enough people are testing them. | ||||
| Just applying patches, testing and reporting back is helpful. | ||||
| <li> | ||||
| @@ -35,8 +35,17 @@ There are plenty of open bugs in the <a href="https://bugs.freedesktop.org/descr | ||||
| Enable gcc -Wstrict-aliasing=2 -fstrict-aliasing and track down aliasing | ||||
| issues in the code. | ||||
| <li> | ||||
| <b>Windows driver building, testing and maintenance.</b> | ||||
| Fixing MSVC builds. | ||||
| <li> | ||||
| <b>Contribute more tests to | ||||
| <a href="https://piglit.freedesktop.org/">Piglit</a>.</b> | ||||
| <a href="http://piglit.freedesktop.org/">Piglit</a>.</b> | ||||
| <li> | ||||
| <b>Automatic testing. | ||||
| </b> | ||||
| It would be great if someone would set up an automated system for grabbing | ||||
| the latest Mesa code and run tests (such as piglit) then report issues to | ||||
| the mailing list. | ||||
| </ol> | ||||
|  | ||||
| <p> | ||||
| @@ -47,18 +56,26 @@ You can find some further To-do lists here: | ||||
| <b>Common To-Do lists:</b> | ||||
| </p> | ||||
| <ul> | ||||
|   <li><a href="https://gitlab.freedesktop.org/mesa/mesa/blob/master/docs/features.txt"> | ||||
|     <b>features.txt</b></a> - Status of OpenGL 3.x / 4.x features in Mesa.</li> | ||||
|   <li><a href="http://cgit.freedesktop.org/mesa/mesa/tree/docs/GL3.txt"> | ||||
|     <b>GL3.txt</b></a> - Status of OpenGL 3.x / 4.x features in Mesa.</li> | ||||
|   <li><a href="http://dri.freedesktop.org/wiki/MissingFunctionality"> | ||||
|     <b>MissingFunctionality</b></a> - Detailed information about missing OpenGL features.</li> | ||||
| </ul> | ||||
|  | ||||
| <p> | ||||
| <b>Legacy Driver specific To-Do lists:</b> | ||||
| <b>Driver specific To-Do lists:</b> | ||||
| </p> | ||||
| <ul> | ||||
|   <li><a href="https://dri.freedesktop.org/wiki/R600ToDo"> | ||||
|   <li><a href="http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/docs/llvm-todo.txt"> | ||||
|     <b>LLVMpipe</b></a> - Software driver using LLVM for runtime code generation.</li> | ||||
|   <li><a href="http://dri.freedesktop.org/wiki/RadeonsiToDo"> | ||||
|     <b>radeonsi</b></a> - Driver for AMD Southern Island.</li> | ||||
|   <li><a href="http://dri.freedesktop.org/wiki/R600ToDo"> | ||||
|     <b>r600g</b></a> - Driver for ATI/AMD R600 - Northern Island.</li> | ||||
|   <li><a href="https://dri.freedesktop.org/wiki/R300ToDo"> | ||||
|   <li><a href="http://dri.freedesktop.org/wiki/R300ToDo"> | ||||
|     <b>r300g</b></a> - Driver for ATI R300 - R500.</li> | ||||
|   <li><a href="http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/i915/TODO"> | ||||
|     <b>i915g</b></a> - Driver for Intel i915/i945.</li> | ||||
| </ul> | ||||
|  | ||||
| <p> | ||||
|   | ||||
							
								
								
									
										1060
									
								
								docs/index.html
									
									
									
									
									
								
							
							
						
						
									
										1060
									
								
								docs/index.html
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -22,10 +22,9 @@ | ||||
|   <li><a href="#prereq-general">General prerequisites</a> | ||||
|   <li><a href="#prereq-dri">For DRI and hardware acceleration</a> | ||||
|   </ul> | ||||
| <li><a href="#meson">Building with meson</a> | ||||
| <li><a href="#autoconf">Building with autoconf (Linux/Unix/X11)</a> | ||||
| <li><a href="#scons">Building with SCons (Windows/Linux)</a> | ||||
| <li><a href="#android">Building with AOSP (Android)</a> | ||||
| <li><a href="#other">Building for other systems</a> | ||||
| <li><a href="#libs">Library Information</a> | ||||
| <li><a href="#pkg-config">Building OpenGL programs with pkg-config</a> | ||||
| </ol> | ||||
| @@ -34,112 +33,55 @@ | ||||
| <h1 id="prereq-general">1. Prerequisites for building</h1> | ||||
|  | ||||
| <h2>1.1 General</h2> | ||||
|  | ||||
| <p> | ||||
| Build system. | ||||
| </p> | ||||
|  | ||||
| <ul> | ||||
| <li><a href="https://mesonbuild.com">meson</a> is recommended when building on *nix platforms. | ||||
| <li>Autoconf is another option when building on *nix platforms. | ||||
| <li><a href="http://www.scons.org/">SCons</a> is required for building on | ||||
| Windows and optional for Linux (it's an alternative to autoconf/automake or meson.) | ||||
| </li> | ||||
| <li>Android Build system when building as native Android component. Autoconf | ||||
| is used when when building ARC. | ||||
| </li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <p> | ||||
| The following compilers are known to work, if you know of others or you're | ||||
| willing to maintain support for other compiler get in touch. | ||||
| </p> | ||||
|  | ||||
| <ul> | ||||
| <li>GCC 4.2.0 or later (some parts of Mesa may require later versions) | ||||
| <li>clang - exact minimum requirement is currently unknown. | ||||
| <li>Microsoft Visual Studio 2015 or later is required, for building on Windows. | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <p> | ||||
| Third party/extra tools. | ||||
| <li>lex / yacc - for building the GLSL compiler. | ||||
| On Linux systems, flex and bison are used. | ||||
| Versions 2.5.35 and 2.4.1, respectively, (or later) should work. | ||||
| <br> | ||||
| <br> | ||||
| <strong>Note</strong>: These should not be required, when building from a release tarball. If | ||||
| you think you've spotted a bug let developers know by filing a | ||||
| <a href="bugs.html">bug report</a>. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <ul> | ||||
| <li><a href="https://www.python.org/">Python</a> - Python is required. | ||||
| When building with scons 2.7 is required. | ||||
| When building with meson 3.5 or newer is required. | ||||
| When building with autotools 2.7, or 3.5 or later are required. | ||||
| </li> | ||||
| <li><a href="http://www.makotemplates.org/">Python Mako module</a> - | ||||
| Python Mako module is required. Version 0.8.0 or later should work. | ||||
| </li> | ||||
| <li>lex / yacc - for building the Mesa IR and GLSL compiler. | ||||
| <div> | ||||
| On Linux systems, flex and bison versions 2.5.35 and 2.4.1, respectively, | ||||
| (or later) should work. | ||||
| On Windows with MinGW, install flex and bison with: | ||||
| <pre>mingw-get install msys-flex msys-bison</pre> | ||||
| For MSVC on Windows, install | ||||
| <a href="http://winflexbison.sourceforge.net/">Win flex-bison</a>. | ||||
| </div> | ||||
| </li> | ||||
| <li>python - Python is needed for building the Gallium components. | ||||
| Version 2.6.4 or later should work. | ||||
| <br> | ||||
| <br> | ||||
| To build OpenGL ES 1.1 and 2.0 you'll also need | ||||
| <a href="http://xmlsoft.org/sources/win32/python/libxml2-python-2.7.7.win32-py2.7.exe">libxml2-python</a>. | ||||
| </li> | ||||
| </ul> | ||||
| <p><strong>Note</strong>: Some versions can be buggy (eg. flex 2.6.2) so do try others if things fail.</p> | ||||
|  | ||||
|  | ||||
| <h3 id="prereq-dri">1.2 Requirements</h3> | ||||
| <h3 id="prereq-dri">1.2 For DRI and hardware acceleration</h3> | ||||
|  | ||||
| <p> | ||||
| The requirements depends on the features selected at configure stage. | ||||
| Check/install the respective -devel package as prompted by the configure error | ||||
| message. | ||||
| The following are required for DRI-based hardware acceleration with Mesa: | ||||
| </p> | ||||
|  | ||||
| <ul> | ||||
| <li><a href="http://xorg.freedesktop.org/releases/individual/proto/"> | ||||
| dri2proto</a> version 2.6 or later | ||||
| <li><a href="http://dri.freedesktop.org/libdrm/">libDRM</a> | ||||
| version 2.4.33 or later | ||||
| <li>Xorg server version 1.5 or later | ||||
| <li>Linux 2.6.28 or later | ||||
| </ul> | ||||
| <p> | ||||
| Here are some common ways to retrieve most/all of the dependencies based on | ||||
| the packaging tool used by your distro. | ||||
| </p> | ||||
|  | ||||
| <pre> | ||||
|   zypper source-install --build-deps-only Mesa # openSUSE/SLED/SLES | ||||
|   yum-builddep mesa # yum Fedora, OpenSuse(?) | ||||
|   dnf builddep mesa # dnf Fedora | ||||
|   apt-get build-dep mesa # Debian and derivatives | ||||
|   ... # others | ||||
| </pre> | ||||
|  | ||||
| <h1 id="meson">2. Building with meson</h1> | ||||
|  | ||||
| <p> | ||||
| Meson is the latest build system in mesa, it is currently able to build for | ||||
| *nix systems like Linux and BSD, and will be able to build for windows as well. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| The general approach is: | ||||
| If you're using a fedora distro the following command should install all | ||||
| the needed dependencies: | ||||
| </p> | ||||
| <pre> | ||||
|   meson builddir/ | ||||
|   ninja -C builddir/ | ||||
|   sudo ninja -C builddir/ install | ||||
|   sudo yum install flex bison imake libtool xorg-x11-proto-devel libdrm-devel \ | ||||
|   gcc-c++ xorg-x11-server-devel libXi-devel libXmu-devel libXdamage-devel git \ | ||||
|   expat-devel llvm-devel | ||||
| </pre> | ||||
| <p> | ||||
| Please read the <a href="meson.html">detailed meson instructions</a> | ||||
| for more information | ||||
| </p> | ||||
|  | ||||
| <h1 id="autoconf">3. Building with autoconf (Linux/Unix/X11)</h1> | ||||
|  | ||||
|  | ||||
| <h1 id="autoconf">2. Building with autoconf (Linux/Unix/X11)</h1> | ||||
|  | ||||
| <p> | ||||
| Although meson is recommended, another supported way to build on *nix systems | ||||
| is with autoconf. | ||||
| The primary method to build Mesa on Unix systems is with autoconf. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| @@ -157,7 +99,7 @@ for more details. | ||||
|  | ||||
|  | ||||
|  | ||||
| <h1 id="scons">4. Building with SCons (Windows/Linux)</h1> | ||||
| <h1 id="scons">3. Building with SCons (Windows/Linux)</h1> | ||||
|  | ||||
| <p> | ||||
| To build Mesa with SCons on Linux or Windows do | ||||
| @@ -176,43 +118,36 @@ by -debug for debug builds. | ||||
| To build Mesa with SCons for Windows on Linux using the MinGW crosscompiler toolchain do | ||||
| </p> | ||||
| <pre> | ||||
|     scons platform=windows toolchain=crossmingw machine=x86 libgl-gdi | ||||
|     scons platform=windows toolchain=crossmingw machine=x86 mesagdi libgl-gdi | ||||
| </pre> | ||||
| <p> | ||||
| This will create: | ||||
| </p> | ||||
| <ul> | ||||
| <li>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll — Mesa + Gallium + softpipe (or llvmpipe), binary compatible with Windows's opengl32.dll | ||||
| <li>build/windows-x86-debug/mesa/drivers/windows/gdi/opengl32.dll — Mesa + swrast, binary compatible with Windows's opengl32.dll | ||||
| <li>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll — Mesa + Gallium + softpipe, binary compatible with Windows's opengl32.dll | ||||
| </ul> | ||||
| <p> | ||||
| Put them all in the same directory to test them. | ||||
|  | ||||
| Additional information is available in <a href="README.WIN32">README.WIN32</a>. | ||||
|  | ||||
| </p> | ||||
|  | ||||
|  | ||||
|  | ||||
| <h1 id="android">5. Building with AOSP (Android)</h1> | ||||
| <h1 id="other">4. Building for other systems</h1> | ||||
|  | ||||
| <p> | ||||
| Currently one can build Mesa for Android as part of the AOSP project, yet | ||||
| your experience might vary. | ||||
| Documentation for other environments (some may be very out of date): | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| In order to achieve that one should update their local manifest to point to the | ||||
| upstream repo, set the appropriate BOARD_GPU_DRIVERS and build the | ||||
| libGLES_mesa library. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| FINISHME: Improve on the instructions add references to Rob H repos/Jenkins, | ||||
| Android-x86 and/or other resources. | ||||
| </p> | ||||
| <ul> | ||||
| <li><a href="README.VMS">README.VMS</a> - VMS | ||||
| <li><a href="README.CYGWIN">README.CYGWIN</a> - Cygwin | ||||
| <li><a href="README.WIN32">README.WIN32</a> - Win32 | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h1 id="libs">6. Library Information</h1> | ||||
|  | ||||
| <h1 id="libs">5. Library Information</h1> | ||||
|  | ||||
| <p> | ||||
| When compilation has finished, look in the top-level <code>lib/</code> | ||||
| @@ -250,7 +185,7 @@ versions of libGL and device drivers. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h1 id="pkg-config">7. Building OpenGL programs with pkg-config</h1> | ||||
| <h1 id="pkg-config">6. Building OpenGL programs with pkg-config</h1> | ||||
|  | ||||
| <p> | ||||
| Running <code>make install</code> will install package configuration files | ||||
|   | ||||
| @@ -17,34 +17,22 @@ | ||||
| <h1>Introduction</h1> | ||||
|  | ||||
| <p> | ||||
| The Mesa project began as an open-source implementation of the | ||||
| <a href="https://www.opengl.org/">OpenGL</a> specification - | ||||
| Mesa is an open-source implementation of the | ||||
| <a href="http://www.opengl.org/">OpenGL</a> specification - | ||||
| a system for rendering interactive 3D graphics. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Over the years the project has grown to implement more graphics APIs, | ||||
| including | ||||
| <a href="https://www.khronos.org/opengles/">OpenGL ES</a> (versions 1, 2, 3), | ||||
| <a href="https://www.khronos.org/opencl/">OpenCL</a>, | ||||
| <a href="https://www.khronos.org/openmax/">OpenMAX</a>, | ||||
| <a href="https://en.wikipedia.org/wiki/VDPAU">VDPAU</a>, | ||||
| <a href="https://en.wikipedia.org/wiki/Video_Acceleration_API">VA API</a>, | ||||
| <a href="https://en.wikipedia.org/wiki/X-Video_Motion_Compensation">XvMC</a> and | ||||
| <a href="https://www.khronos.org/vulkan/">Vulkan</a>. | ||||
| A variety of device drivers allows Mesa to be used in many different | ||||
| environments ranging from software emulation to complete hardware acceleration | ||||
| for modern GPUs. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| A variety of device drivers allows the Mesa libraries to be used in many | ||||
| different environments ranging from software emulation to complete hardware | ||||
| acceleration for modern GPUs. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Mesa ties into several other open-source projects: the | ||||
| <a href="https://dri.freedesktop.org/">Direct Rendering | ||||
| Infrastructure</a> and <a href="https://x.org">X.org</a> to | ||||
| provide OpenGL support on Linux, FreeBSD and other operating | ||||
| Mesa ties into several other open-source projects: the  | ||||
| <a href="http://dri.freedesktop.org/">Direct Rendering  | ||||
| Infrastructure</a> and <a href="http://x.org">X.org</a> to  | ||||
| provide OpenGL support to users of X on Linux, FreeBSD and other operating  | ||||
| systems. | ||||
| </p> | ||||
|  | ||||
| @@ -97,7 +85,7 @@ the OpenGL API, so they didn't feel threatened by the project. | ||||
| 1995-1996: I continue working on Mesa both during my spare time and during | ||||
| my work hours at the Space Science and Engineering Center at the University | ||||
| of Wisconsin in Madison.  My supervisor, Bill Hibbard, lets me do this because | ||||
| Mesa is now being using for the <a href="https://www.ssec.wisc.edu/%7Ebillh/vis.html">Vis5D</a> project. | ||||
| Mesa is now being using for the <a href="http://www.ssec.wisc.edu/%7Ebillh/vis.html">Vis5D</a> project. | ||||
| </p><p> | ||||
| October 1996: Mesa 2.0 is released.  It implements the OpenGL 1.1 specification. | ||||
| </p> | ||||
| @@ -154,7 +142,7 @@ and OpenGL Shading Language. | ||||
|  | ||||
| <p> | ||||
| 2008: Keith Whitwell and other Tungsten Graphics employees develop | ||||
| <a href="https://en.wikipedia.org/wiki/Gallium3D">Gallium</a> | ||||
| <a href="http://en.wikipedia.org/wiki/Gallium3D">Gallium</a> | ||||
| - a new GPU abstraction layer.  The latest Mesa drivers are based on | ||||
| Gallium and other APIs such as OpenVG are implemented on top of Gallium. | ||||
| </p> | ||||
| @@ -165,22 +153,13 @@ and version 1.30 of the OpenGL Shading Language. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| July 2016: Mesa 12.0 is released, including OpenGL 4.3 support and initial | ||||
| support for Vulkan for Intel GPUs.  Plus, there's another gallium software | ||||
| driver ("swr") based on LLVM and developed by Intel. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Ongoing: Mesa is the OpenGL implementation for devices designed by | ||||
| Intel, AMD, NVIDIA, Qualcomm, Broadcom, Vivante, plus the VMware and | ||||
| VirGL virtual GPUs. | ||||
| Ongoing: Mesa is the OpenGL implementation for several types of hardware | ||||
| made by Intel, AMD and NVIDIA, plus the VMware virtual GPU. | ||||
| There's also several software-based renderers: swrast (the legacy | ||||
| Mesa rasterizer), softpipe (a gallium reference driver), llvmpipe | ||||
| (LLVM/JIT-based high-speed rasterizer) and swr (another LLVM-based driver). | ||||
| </p> | ||||
| <p> | ||||
| Mesa rasterizer), softpipe (a gallium reference driver) and llvmpipe | ||||
| (LLVM/JIT-based high-speed rasterizer). | ||||
| Work continues on the drivers and core Mesa to implement newer versions | ||||
| of the OpenGL, OpenGL ES and Vulkan specifications. | ||||
| of the OpenGL specification. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| @@ -194,30 +173,6 @@ of the OpenGL specification is implemented. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>Version 12.x features</h2> | ||||
| <p> | ||||
| Version 12.x of Mesa implements the OpenGL 4.3 API, but not all drivers | ||||
| support OpenGL 4.3. | ||||
| </p> | ||||
| <p> | ||||
| Initial support for Vulkan is also included. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>Version 11.x features</h2> | ||||
| <p> | ||||
| Version 11.x of Mesa implements the OpenGL 4.1 API, but not all drivers | ||||
| support OpenGL 4.1. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>Version 10.x features</h2> | ||||
| <p> | ||||
| Version 10.x of Mesa implements the OpenGL 3.3 API, but not all drivers | ||||
| support OpenGL 3.3. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>Version 9.x features</h2> | ||||
| <p> | ||||
| Version 9.x of Mesa implements the OpenGL 3.1 API. | ||||
| @@ -227,10 +182,6 @@ community contributed features required for OpenGL 3.1.  The primary | ||||
| features added since the Mesa 8.0 release are | ||||
| GL_ARB_texture_buffer_object and GL_ARB_uniform_buffer_object. | ||||
| </p> | ||||
| <p> | ||||
| Version 9.0 of Mesa also included the first release of the Clover state | ||||
| tracker for OpenCL. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>Version 8.x features</h2> | ||||
| @@ -283,7 +234,7 @@ GL_SRC2_ALPHA               GL_SOURCE2_ALPHA | ||||
| </pre> | ||||
| <p> | ||||
| See the | ||||
| <a href="https://www.opengl.org/documentation/spec.html"> | ||||
| <a href="http://www.opengl.org/documentation/spec.html"> | ||||
| OpenGL specification</a> for more details. | ||||
| </p> | ||||
|  | ||||
|   | ||||
| @@ -49,7 +49,7 @@ stderr if the LIBGL_DEBUG environment variable is defined. | ||||
| libGL.so is thread safe.  The overhead of thread safety for common, | ||||
| single-thread clients is negligible.  However, the overhead of thread | ||||
| safety for multi-threaded clients is significant.  Each GL API call | ||||
| requires two calls to pthread_get_specific() which can noticeably | ||||
| requires two calls to pthread_get_specific() which can noticably | ||||
| impact performance.  Warning:  libGL.so is thread safe but individual | ||||
| DRI drivers may not be.  Please consult the documentation for a driver | ||||
| to learn if it is thread safe. | ||||
| @@ -59,7 +59,7 @@ to learn if it is thread safe. | ||||
| Indirect Rendering | ||||
|  | ||||
| You can force indirect rendering mode by setting the LIBGL_ALWAYS_INDIRECT | ||||
| environment variable to `true`.  Hardware acceleration will not be used. | ||||
| environment variable.  Hardware acceleration will not be used. | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -18,10 +18,10 @@ | ||||
|  | ||||
| <p> | ||||
| Mesa is a 3-D graphics library with an API which is very similar to | ||||
| that of <a href="https://www.opengl.org/">OpenGL</a>.* | ||||
| that of <a href="http://www.opengl.org/">OpenGL</a>.* | ||||
| To the extent that Mesa utilizes the OpenGL command syntax or state | ||||
| machine, it is being used with authorization from <a | ||||
| href="https://www.sgi.com/">Silicon Graphics, | ||||
| href="http://www.sgi.com/">Silicon Graphics, | ||||
| Inc.</a>(SGI). However, the author does not possess an OpenGL license | ||||
| from SGI, and makes no claim that Mesa is in any way a compatible | ||||
| replacement for OpenGL or associated with SGI. Those who want a | ||||
| @@ -36,7 +36,7 @@ library</em>. <br> | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| * OpenGL is a trademark of <a href="https://www.sgi.com/" | ||||
| * OpenGL is a trademark of <a href="http://www.sgi.com/" | ||||
| >Silicon Graphics Incorporated</a>. | ||||
| </p> | ||||
|  | ||||
| @@ -46,10 +46,10 @@ library</em>. <br> | ||||
|  | ||||
| <p> | ||||
| The Mesa distribution consists of several components.  Different copyrights | ||||
| and licenses apply to different components. | ||||
| For example, the GLX client code uses the SGI Free Software License B, and | ||||
| some of the Mesa device drivers are copyrighted by their authors. | ||||
| See below for a list of Mesa's main components and the license for each. | ||||
| and licenses apply to different components.  For example, some demo programs | ||||
| are copyrighted by SGI, some of the Mesa device drivers are copyrighted by | ||||
| their authors.  See below for a list of Mesa's main components and the license | ||||
| for each. | ||||
| </p> | ||||
| <p> | ||||
| The core Mesa library is licensed according to the terms of the MIT license. | ||||
| @@ -97,19 +97,12 @@ and their respective licenses. | ||||
| <pre> | ||||
| Component         Location               License | ||||
| ------------------------------------------------------------------ | ||||
| Main Mesa code    src/mesa/              MIT | ||||
| Main Mesa code    src/mesa/              Mesa (MIT) | ||||
|  | ||||
| Device drivers    src/mesa/drivers/*     MIT, generally | ||||
|  | ||||
| Gallium code      src/gallium/           MIT | ||||
|  | ||||
| Ext headers       include/GL/glext.h     Khronos | ||||
|                   include/GL/glxext.h | ||||
|  | ||||
| GLX client code   src/glx/               SGI Free Software License B | ||||
|  | ||||
| C11 thread        include/c11/threads*.h Boost (permissive) | ||||
| emulation | ||||
| </pre> | ||||
|  | ||||
| <p> | ||||
|   | ||||
| @@ -21,23 +21,23 @@ | ||||
| </p> | ||||
|  | ||||
| <ul> | ||||
| <li><p><a href="https://lists.freedesktop.org/mailman/listinfo/mesa-users">mesa-users</a> | ||||
| <li><p><a href="http://lists.freedesktop.org/mailman/listinfo/mesa-users">mesa-users</a> | ||||
| - intended for end-users of Mesa and DRI drivers. Newbie questions are OK, | ||||
| but please try the general OpenGL resources and Mesa/DRI documentation first.</p> | ||||
| </li> | ||||
| <li><p><a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">mesa-dev</a> | ||||
| <li><p><a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev">mesa-dev</a> | ||||
| - for Mesa, Gallium and DRI development | ||||
| discussion.  Not for beginners.</p> | ||||
| </li> | ||||
| <li><p><a href="https://lists.freedesktop.org/mailman/listinfo/mesa-commit">mesa-commit</a> | ||||
| <li><p><a href="http://lists.freedesktop.org/mailman/listinfo/mesa-commit">mesa-commit</a> | ||||
| - relays git check-in messages (for developers). | ||||
| In general, people should not post to this list.</p> | ||||
| </li> | ||||
| <li><p><a href="https://lists.freedesktop.org/mailman/listinfo/mesa-announce">mesa-announce</a> | ||||
| <li><p><a href="http://lists.freedesktop.org/mailman/listinfo/mesa-announce">mesa-announce</a> | ||||
| - announcements of new Mesa | ||||
| versions are sent to this list.  Very low traffic.</p> | ||||
| </li> | ||||
| <li><p><a href="https://lists.freedesktop.org/mailman/listinfo/piglit">piglit</a> | ||||
| <li><p><a href="http://lists.freedesktop.org/mailman/listinfo/piglit">piglit</a> | ||||
| - for Piglit (OpenGL driver testing framework) discussion.</p> | ||||
| </li> | ||||
| </ul> | ||||
| @@ -56,22 +56,22 @@ Follow the links above for list archives. | ||||
| <p> | ||||
| The old Mesa lists hosted at SourceForge are no longer in use. | ||||
| The archives are still available, however: | ||||
| <a href="https://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-announce">mesa3d-announce</a>, | ||||
| <a href="https://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-users">mesa3d-users</a>, | ||||
| <a href="https://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-dev">mesa3d-dev</a>. | ||||
| <a href="http://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-announce">mesa3d-announce</a>, | ||||
| <a href="http://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-users">mesa3d-users</a>, | ||||
| <a href="http://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-dev">mesa3d-dev</a>. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <p>For mailing lists about Direct Rendering Modules (drm) in Linux/BSD  | ||||
| kernels, see the | ||||
| <a href="https://dri.freedesktop.org/wiki/MailingLists">DRI wiki</a>. | ||||
| <a href="http://dri.freedesktop.org/wiki/MailingLists">DRI wiki</a>. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h1>IRC</h1> | ||||
|  | ||||
| <p>join <a href="irc://chat.freenode.net#dri-devel">#dri-devel channel</a> | ||||
| on <a href="https://webchat.freenode.net/">irc.freenode.net</a> | ||||
| on <a href="http://webchat.freenode.net/">irc.freenode.net</a> | ||||
| </p> | ||||
|  | ||||
|  | ||||
| @@ -82,7 +82,7 @@ Here are some other OpenGL-related forums you might find useful: | ||||
| </p> | ||||
|  | ||||
| <ul> | ||||
| <li><a href="https://www.opengl.org/discussion_boards/">OpenGL discussion forums</a> | ||||
| <li><a href="http://www.opengl.org/cgi-bin/ubb/ultimatebb.cgi">OpenGL discussion forums</a> | ||||
| at www.opengl.org</li> | ||||
| <li>Usenet newsgroups: | ||||
| <ul> | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
| The Gallium llvmpipe driver is a software rasterizer that uses LLVM to | ||||
| do runtime code generation. | ||||
| Shaders, point/line/triangle rasterization and vertex processing are | ||||
| implemented with LLVM IR which is translated to x86, x86-64, or ppc64le machine | ||||
| implemented with LLVM IR which is translated to x86 or x86-64 machine | ||||
| code. | ||||
| Also, the driver is multithreaded to take advantage of multiple CPU cores | ||||
| (up to 8 at this time). | ||||
| @@ -32,36 +32,28 @@ It's the fastest software rasterizer for Mesa. | ||||
|  | ||||
| <ul> | ||||
| <li> | ||||
|    <p>An x86 or amd64 processor; 64-bit mode recommended.</p> | ||||
|    <p> | ||||
|    For x86 or amd64 processors, 64-bit mode is recommended. | ||||
|    Support for SSE2 is strongly encouraged.  Support for SSE3 and SSE4.1 will | ||||
|    Support for SSE2 is strongly encouraged.  Support for SSSE3 and SSE4.1 will | ||||
|    yield the most efficient code.  The fewer features the CPU has the more | ||||
|    likely it is that you will run into underperforming, buggy, or incomplete code. | ||||
|    </p> | ||||
|    <p> | ||||
|    For ppc64le processors, use of the Altivec feature (the Vector | ||||
|    Facility) is recommended if supported; use of the VSX feature (the | ||||
|    Vector-Scalar Facility) is recommended if supported AND Mesa is | ||||
|    built with LLVM version 4.0 or later. | ||||
|    likely is that you run into underperforming, buggy, or incomplete code. | ||||
|    </p> | ||||
|    <p> | ||||
|    See /proc/cpuinfo to know what your CPU supports. | ||||
|    </p> | ||||
| </li> | ||||
| <li> | ||||
|    <p>Unless otherwise stated, LLVM version 3.4 is recommended; 3.3 or later is required.</p> | ||||
|    <p>LLVM: version 2.9 recommended; 2.6 or later required.</p> | ||||
|    <p><b>NOTE</b>: LLVM 2.8 and earlier will not work on systems that support the | ||||
|    Intel AVX extensions (e.g. Sandybridge).  LLVM's code generator will | ||||
|    fail when trying to emit AVX instructions.  This was fixed in LLVM 2.9. | ||||
|    </p> | ||||
|    <p> | ||||
|    For Linux, on a recent Debian based distribution do: | ||||
|    </p> | ||||
| <pre> | ||||
|      aptitude install llvm-dev | ||||
| </pre> | ||||
|    <p> | ||||
|    If you want development snapshot builds of LLVM for Debian and derived | ||||
|    distributions like Ubuntu, you can use the APT repository at <a | ||||
|    href="https://apt.llvm.org/" title="Debian Development packages for LLVM" | ||||
|    >apt.llvm.org</a>, which are maintained by Debian's LLVM maintainer. | ||||
|    </p> | ||||
|    <p> | ||||
|    For a RPM-based distribution do: | ||||
|    </p> | ||||
| @@ -70,37 +62,15 @@ It's the fastest software rasterizer for Mesa. | ||||
| </pre> | ||||
|  | ||||
|    <p> | ||||
|    For Windows you will need to build LLVM from source with MSVC or MINGW | ||||
|    (either natively or through cross compilers) and CMake, and set the LLVM | ||||
|    environment variable to the directory you installed it to. | ||||
| 	 For Windows you will need to build LLVM from source with MSVC or MINGW | ||||
| 	 (either natively or through cross compilers) and CMake, and set the LLVM | ||||
| 	 environment variable to the directory you installed it to. | ||||
|  | ||||
|    LLVM will be statically linked, so when building on MSVC it needs to be | ||||
|    built with a matching CRT as Mesa, and you'll need to pass | ||||
|    <code>-DLLVM_USE_CRT_xxx=yyy</code> as described below. | ||||
|    </p> | ||||
|    -DLLVM_USE_CRT_RELEASE=MTd for debug and checked builds, | ||||
|    -DLLVM_USE_CRT_RELEASE=MTd for profile and release builds. | ||||
|  | ||||
|    <table border="1"> | ||||
|      <tr> | ||||
|        <th rowspan="2">LLVM build-type</th> | ||||
|        <th colspan="2" align="center">Mesa build-type</th> | ||||
|      </tr> | ||||
|      <tr> | ||||
|        <th>debug,checked</th> | ||||
|        <th>release,profile</th> | ||||
|      </tr> | ||||
|      <tr> | ||||
|        <th>Debug</th> | ||||
|        <td><code>-DLLVM_USE_CRT_DEBUG=MTd</code></td> | ||||
|        <td><code>-DLLVM_USE_CRT_DEBUG=MT</code></td> | ||||
|      </tr> | ||||
|      <tr> | ||||
|        <th>Release</th> | ||||
|        <td><code>-DLLVM_USE_CRT_RELEASE=MTd</code></td> | ||||
|        <td><code>-DLLVM_USE_CRT_RELEASE=MT</code></td> | ||||
|      </tr> | ||||
|    </table> | ||||
|  | ||||
|    <p> | ||||
|    You can build only the x86 target by passing -DLLVM_TARGETS_TO_BUILD=X86 | ||||
|    to cmake. | ||||
|    </p> | ||||
| @@ -120,10 +90,10 @@ To build everything on Linux invoke scons as: | ||||
|   scons build=debug libgl-xlib | ||||
| </pre> | ||||
|  | ||||
| Alternatively, you can build it with autoconf/make with: | ||||
| Alternatively, you can build it with GNU make, if you prefer, by invoking it as | ||||
|  | ||||
| <pre> | ||||
|   ./configure --enable-glx=gallium-xlib --with-gallium-drivers=swrast --disable-dri --disable-gbm --disable-egl | ||||
|   make | ||||
|   make linux-llvm | ||||
| </pre> | ||||
|  | ||||
| but the rest of these instructions assume that scons is used. | ||||
| @@ -131,15 +101,13 @@ but the rest of these instructions assume that scons is used. | ||||
| For Windows the procedure is similar except the target: | ||||
|  | ||||
| <pre> | ||||
|   scons platform=windows build=debug libgl-gdi | ||||
|   scons build=debug libgl-gdi | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h1>Using</h1> | ||||
|  | ||||
| <h2>Linux</h2> | ||||
|  | ||||
| <p>On Linux, building will create a drop-in alternative for libGL.so into</p> | ||||
| On Linux, building will create a drop-in alternative for libGL.so into | ||||
|  | ||||
| <pre> | ||||
|   build/foo/gallium/targets/libgl-xlib/libGL.so | ||||
| @@ -149,45 +117,15 @@ or | ||||
|   lib/gallium/libGL.so | ||||
| </pre> | ||||
|  | ||||
| <p>To use it set the LD_LIBRARY_PATH environment variable accordingly.</p> | ||||
| To use it set the LD_LIBRARY_PATH environment variable accordingly. | ||||
|  | ||||
| <p>For performance evaluation pass build=release to scons, and use the corresponding | ||||
| lib directory without the "-debug" suffix.</p> | ||||
| For performance evaluation pass debug=no to scons, and use the corresponding | ||||
| lib directory without the "-debug" suffix. | ||||
|  | ||||
|  | ||||
| <h2>Windows</h2> | ||||
|  | ||||
| <p> | ||||
| On Windows, building will create | ||||
| <code>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll</code> | ||||
| which is a drop-in alternative for system's <code>opengl32.dll</code>.  To use | ||||
| it put it in the same directory as your application.  It can also be used by | ||||
| On Windows, building will create a drop-in alternative for opengl32.dll. To use | ||||
| it put it in the same directory as the application. It can also be used by | ||||
| replacing the native ICD driver, but it's quite an advanced usage, so if you | ||||
| need to ask, don't even try it. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| There is however an easy way to replace the OpenGL software renderer that comes | ||||
| with Microsoft Windows 7 (or later) with llvmpipe (that is, on systems without | ||||
| any OpenGL drivers): | ||||
| </p> | ||||
|  | ||||
| <ul> | ||||
|   <li><p>copy build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll to C:\Windows\SysWOW64\mesadrv.dll</p></li> | ||||
|   <li><p>load this registry settings:</p> | ||||
|   <pre>REGEDIT4 | ||||
|  | ||||
| ; https://technet.microsoft.com/en-us/library/cc749368.aspx | ||||
| ; https://www.msfn.org/board/topic/143241-portable-windows-7-build-from-winpe-30/page-5#entry942596 | ||||
| [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers\MSOGL] | ||||
| "DLL"="mesadrv.dll" | ||||
| "DriverVersion"=dword:00000001 | ||||
| "Flags"=dword:00000001 | ||||
| "Version"=dword:00000002 | ||||
| </pre> | ||||
|   </li> | ||||
|   <li>Ditto for 64 bits drivers if you need them.</li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h1>Profiling</h1> | ||||
| @@ -207,7 +145,7 @@ that no tail call optimizations are done by gcc. | ||||
| <h2>Linux perf integration</h2> | ||||
|  | ||||
| <p> | ||||
| On Linux, it is possible to have symbol resolution of JIT code with <a href="https://perf.wiki.kernel.org/">Linux perf</a>: | ||||
| On Linux, it is possible to have symbol resolution of JIT code with <a href="http://perf.wiki.kernel.org/">Linux perf</a>: | ||||
| </p> | ||||
|  | ||||
| <pre> | ||||
| @@ -218,12 +156,12 @@ On Linux, it is possible to have symbol resolution of JIT code with <a href="htt | ||||
| <p> | ||||
| When run inside Linux perf, llvmpipe will create a /tmp/perf-XXXXX.map file with | ||||
| symbol address table.  It also dumps assembly code to /tmp/perf-XXXXX.map.asm, | ||||
| which can be used by the bin/perf-annotate-jit.py script to produce disassembly of | ||||
| which can be used by the bin/perf-annotate-jit script to produce disassembly of | ||||
| the generated code annotated with the samples. | ||||
| </p> | ||||
|  | ||||
| <p>You can obtain a call graph via | ||||
| <a href="https://github.com/jrfonseca/gprof2dot#linux-perf">Gprof2Dot</a>.</p> | ||||
| <a href="http://code.google.com/p/jrfonseca/wiki/Gprof2Dot#linux_perf">Gprof2Dot</a>.</p> | ||||
|  | ||||
|  | ||||
| <h1>Unit testing</h1> | ||||
| @@ -240,8 +178,8 @@ build/linux-???-debug/gallium/drivers/llvmpipe: | ||||
| </ul> | ||||
|  | ||||
| <p> | ||||
| Some of these tests can output results and benchmarks to a tab-separated file | ||||
| for later analysis, e.g.: | ||||
| Some of this tests can output results and benchmarks to a tab-separated-file | ||||
| for posterior analysis, e.g.: | ||||
| </p> | ||||
| <pre> | ||||
|   build/linux-x86_64-debug/gallium/drivers/llvmpipe/lp_test_blend -o blend.tsv | ||||
| @@ -252,8 +190,8 @@ for later analysis, e.g.: | ||||
|  | ||||
| <ul> | ||||
| <li> | ||||
|   When looking at this code for the first time, start in lp_state_fs.c, and | ||||
|   then skim through the lp_bld_* functions called there, and the comments | ||||
|   When looking to this code by the first time start in lp_state_fs.c, and  | ||||
|   then skim through the lp_bld_* functions called in there, and the comments | ||||
|   at the top of the lp_bld_*.c functions. | ||||
| </li> | ||||
| <li> | ||||
| @@ -265,66 +203,11 @@ for later analysis, e.g.: | ||||
|   We use LLVM-C bindings for now. They are not documented, but follow the C++ | ||||
|   interfaces very closely, and appear to be complete enough for code | ||||
|   generation. See  | ||||
|   <a href="https://npcontemplation.blogspot.com/2008/06/secret-of-llvm-c-bindings.html"> | ||||
|   this stand-alone example</a>.  See the llvm-c/Core.h file for reference. | ||||
|   http://npcontemplation.blogspot.com/2008/06/secret-of-llvm-c-bindings.html | ||||
|   for a stand-alone example.  See the llvm-c/Core.h file for reference. | ||||
| </li> | ||||
| </ul> | ||||
|  | ||||
| <h1 id="recommended_reading">Recommended Reading</h1> | ||||
|  | ||||
| <ul> | ||||
|   <li> | ||||
|     <p>Rasterization</p> | ||||
|     <ul> | ||||
|       <li><a href="https://www.cs.unc.edu/~olano/papers/2dh-tri/">Triangle Scan Conversion using 2D Homogeneous Coordinates</a></li> | ||||
|       <li><a href="http://www.drdobbs.com/parallel/rasterization-on-larrabee/217200602">Rasterization on Larrabee</a> (<a href="http://devmaster.net/posts/2887/rasterization-on-larrabee">DevMaster copy</a>)</li> | ||||
|       <li><a href="http://devmaster.net/posts/6133/rasterization-using-half-space-functions">Rasterization using half-space functions</a></li> | ||||
|       <li><a href="http://devmaster.net/posts/6145/advanced-rasterization">Advanced Rasterization</a></li> | ||||
|       <li><a href="https://fgiesen.wordpress.com/2013/02/17/optimizing-sw-occlusion-culling-index/">Optimizing Software Occlusion Culling</a></li> | ||||
|     </ul> | ||||
|   </li> | ||||
|   <li> | ||||
|     <p>Texture sampling</p> | ||||
|     <ul> | ||||
|       <li><a href="http://chrishecker.com/Miscellaneous_Technical_Articles#Perspective_Texture_Mapping">Perspective Texture Mapping</a></li> | ||||
|       <li><a href="https://www.flipcode.com/archives/Texturing_As_In_Unreal.shtml">Texturing As In Unreal</a></li> | ||||
|       <li><a href="http://www.gamasutra.com/view/feature/3301/runtime_mipmap_filtering.php">Run-Time MIP-Map Filtering</a></li> | ||||
|       <li><a href="http://alt.3dcenter.org/artikel/2003/10-26_a_english.php">Will "brilinear" filtering persist?</a></li> | ||||
|       <li><a href="http://ixbtlabs.com/articles2/gffx/nv40-rx800-3.html">Trilinear filtering</a></li> | ||||
|       <li><a href="http://devmaster.net/posts/12785/texture-swizzling">Texture Swizzling</a></li> | ||||
|     </ul> | ||||
|   </li> | ||||
|   <li> | ||||
|     <p>SIMD</p> | ||||
|     <ul> | ||||
|       <li><a href="http://www.cdl.uni-saarland.de/projects/wfv/#header4">Whole-Function Vectorization</a></li> | ||||
|     </ul> | ||||
|   </li> | ||||
|   <li> | ||||
|     <p>Optimization</p> | ||||
|     <ul> | ||||
|       <li><a href="http://www.drdobbs.com/optimizing-pixomatic-for-modern-x86-proc/184405807">Optimizing Pixomatic For Modern x86 Processors</a></li> | ||||
|       <li><a href="http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-optimization-manual.html">Intel 64 and IA-32 Architectures Optimization Reference Manual</a></li> | ||||
|       <li><a href="http://www.agner.org/optimize/">Software optimization resources</a></li> | ||||
|       <li><a href="https://software.intel.com/en-us/articles/intel-intrinsics-guide">Intel Intrinsics Guide</a><li> | ||||
|     </ul> | ||||
|   </li> | ||||
|   <li> | ||||
|     <p>LLVM</p> | ||||
|     <ul> | ||||
|       <li><a href="http://llvm.org/docs/LangRef.html">LLVM Language Reference Manual</a></li> | ||||
|       <li><a href="https://npcontemplation.blogspot.co.uk/2008/06/secret-of-llvm-c-bindings.html">The secret of LLVM C bindings</a></li> | ||||
|     </ul> | ||||
|   </li> | ||||
|   <li> | ||||
|     <p>General</p> | ||||
|     <ul> | ||||
|       <li><a href="https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/">A trip through the Graphics Pipeline</a></li> | ||||
|       <li><a href="https://msdn.microsoft.com/en-us/library/gg615082.aspx#architecture">WARP Architecture and Performance</a></li> | ||||
|     </ul> | ||||
|   </li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>GL Function Name Mangling</title> | ||||
|   <title>Function Name Mangling</title> | ||||
|   <link rel="stylesheet" type="text/css" href="mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
| @@ -14,7 +14,7 @@ | ||||
| <iframe src="contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>GL Function Name Mangling</h1> | ||||
| <h1>Function Name Mangling</h1> | ||||
|  | ||||
| <p> | ||||
| If you want to use both Mesa and another OpenGL library in the same | ||||
| @@ -25,11 +25,12 @@ This results in all the Mesa functions being prefixed with | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| This option is supported only with the autoconf build. To use it add | ||||
| --enable-mangling to your configure line. | ||||
| To do this, recompile Mesa with the compiler flag -DUSE_MGL_NAMESPACE. | ||||
| Add the flag to CFLAGS in the configuration file which you want to use. | ||||
| For example: | ||||
| </p> | ||||
| <pre> | ||||
| <code>./configure --enable-mangling ...</code> | ||||
| CFLAGS += -DUSE_MGL_NAMESPACE | ||||
| </pre> | ||||
|  | ||||
| </div> | ||||
|   | ||||
| @@ -29,9 +29,6 @@ pre { | ||||
| 	/*font-family: monospace;*/ | ||||
| 	font-size: 10pt; | ||||
| 	/*color: black;*/ | ||||
| 	background-color: #eee; | ||||
| 	margin-left: 2em; | ||||
| 	padding: .5em; | ||||
| } | ||||
|  | ||||
| iframe { | ||||
|   | ||||
							
								
								
									
										338
									
								
								docs/meson.html
									
									
									
									
									
								
							
							
						
						
									
										338
									
								
								docs/meson.html
									
									
									
									
									
								
							| @@ -1,338 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Compilation and Installation using Meson</title> | ||||
|   <link rel="stylesheet" type="text/css" href="mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Compilation and Installation using Meson</h1> | ||||
|  | ||||
| <ul> | ||||
|   <li><a href="#basic">Basic Usage</a></li> | ||||
|   <li><a href="#cross-compilation">Cross-compilation and 32-bit builds</a></li> | ||||
| </ul> | ||||
|  | ||||
| <h2 id="basic">1. Basic Usage</h2> | ||||
|  | ||||
| <p><strong>The Meson build system is generally considered stable and ready | ||||
| for production</strong></p> | ||||
|  | ||||
| <p>The meson build is tested on Linux, macOS, Cygwin and Haiku, FreeBSD, | ||||
| DragonflyBSD, NetBSD, and should work on OpenBSD.</p> | ||||
|  | ||||
| <p><strong>Mesa requires Meson >= 0.45.0 to build.</strong> | ||||
|  | ||||
| Some older versions of meson do not check that they are too old and will error | ||||
| out in odd ways. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| The meson program is used to configure the source directory and generates | ||||
| either a ninja build file or Visual Studio® build files. The latter must | ||||
| be enabled via the <code>--backend</code> switch, as ninja is the default backend on all | ||||
| operating systems. Meson only supports out-of-tree builds, and must be passed a | ||||
| directory to put built and generated sources into. We'll call that directory | ||||
| "build" for examples. | ||||
| </p> | ||||
|  | ||||
| <pre> | ||||
|     meson build/ | ||||
| </pre> | ||||
|  | ||||
| <p> | ||||
| To see a description of your options you can run <code>meson configure</code> | ||||
| along with a build directory to view the selected options for. This will show | ||||
| your meson global arguments and project arguments, along with their defaults | ||||
| and your local settings. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Meson does not currently support listing options before configure a build | ||||
| directory, but this feature is being discussed upstream. | ||||
| For now, we have a <code>bin/meson-options.py</code> script that prints | ||||
| the options for you. | ||||
| If that script doesn't work for some reason, you can always look in the | ||||
| <code>meson_options.txt</code> file at the root of the project. | ||||
| </p> | ||||
|  | ||||
| <pre> | ||||
|     meson configure build/ | ||||
| </pre> | ||||
|  | ||||
| <p> | ||||
| With additional arguments <code>meson configure</code> is used to change | ||||
| options on already configured build directory. All options passed to this | ||||
| command are in the form <code>-D "command"="value"</code>. | ||||
| </p> | ||||
|  | ||||
| <pre> | ||||
|     meson configure build/ -Dprefix=/tmp/install -Dglx=true | ||||
| </pre> | ||||
|  | ||||
| <p> | ||||
| Note that options taking lists (such as <code>platforms</code>) are | ||||
| <a href="http://mesonbuild.com/Build-options.html#using-build-options">a bit | ||||
| more complicated</a>, but the simplest form compatible with Mesa options | ||||
| is to use a comma to separate values (<code>-D platforms=drm,wayland</code>) | ||||
| and brackets to represent an empty list (<code>-D platforms=[]</code>). | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Once you've run the initial <code>meson</code> command successfully you can use | ||||
| your configured backend to build the project. With ninja, the -C option can be | ||||
| be used to point at a directory to build. | ||||
| </p> | ||||
|  | ||||
| <pre> | ||||
|     ninja -C build/ | ||||
| </pre> | ||||
|  | ||||
| <p> | ||||
| Without arguments, it will produce libGL.so and/or several other libraries | ||||
| depending on the options you have chosen. Later, if you want to rebuild for a | ||||
| different configuration, you should run <code>ninja clean</code> before | ||||
| changing the configuration, or create a new out of tree build directory for | ||||
| each configuration you want to build | ||||
| <a href="http://mesonbuild.com/Using-multiple-build-directories.html">as | ||||
| recommended in the documentation</a> | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Autotools automatically updates translation files as part of the build process, | ||||
| meson does not do this. Instead if you want translated drirc files you will need  | ||||
| to invoke non-default targets for ninja to update them: | ||||
| <code>ninja -C build/ xmlpool-pot xmlpool-update-po xmlpool-gmo</code> | ||||
| </p> | ||||
|  | ||||
| <dl> | ||||
| <dt><code>Environment Variables</code></dt> | ||||
| <dd><p>Meson supports the standard CC and CXX environment variables for | ||||
| changing the default compiler. Meson does support CFLAGS, CXXFLAGS, etc. But | ||||
| their use is discouraged because of the many caveats in using them. Instead it | ||||
| is recomended to use <code>-D${lang}_args</code> and | ||||
| <code>-D${lang}_link_args</code> instead. Among the benefits of these options | ||||
| is that they are guaranteed to persist across rebuilds and reconfigurations. | ||||
|  | ||||
| Meson does not allow changing compiler in a configured builddir, you will need | ||||
| to create a new build dir for a different compiler. | ||||
| </p> | ||||
|  | ||||
| <pre> | ||||
|     CC=clang CXX=clang++ meson build-clang | ||||
|     ninja -C build-clang | ||||
|     ninja -C build-clang clean | ||||
|     meson configure build -Dc_args="-Wno-typedef-redefinition" | ||||
|     ninja -C build-clang | ||||
| </pre> | ||||
|  | ||||
| <p> | ||||
| The default compilers depends on your operating system. Meson supports most of | ||||
| the popular compilers, a complete list is available | ||||
| <a href="http://mesonbuild.com/Reference-tables.html#compiler-ids">here</a>. | ||||
| </p> | ||||
|  | ||||
| <p>Meson also honors <code>DESTDIR</code> for installs</p> | ||||
| </dd> | ||||
|  | ||||
|  | ||||
| <dt><code>LLVM</code></dt> | ||||
| <dd><p>Meson includes upstream logic to wrap llvm-config using its standard | ||||
| dependency interface. | ||||
| </p></dd> | ||||
|  | ||||
| <dd><p> | ||||
| As of meson 0.49.0 meson also has the concept of a | ||||
| <a href="https://mesonbuild.com/Native-environments.html">"native file"</a>, | ||||
| these files provide information about the native build environment (as opposed | ||||
| to a cross build environment). They are ini formatted and can override where to | ||||
| find llvm-config: | ||||
|  | ||||
| custom-llvm.ini | ||||
| <pre> | ||||
|     [binaries] | ||||
|     llvm-config = '/usr/local/bin/llvm/llvm-config' | ||||
| </pre> | ||||
|  | ||||
| Then configure meson: | ||||
|  | ||||
| <pre> | ||||
|     meson builddir/ --native-file custom-llvm.ini | ||||
| </pre> | ||||
| </p></dd> | ||||
|  | ||||
| <dd><p> | ||||
| For selecting llvm-config for cross compiling a | ||||
| <a href="https://mesonbuild.com/Cross-compilation.html#defining-the-environment">"cross file"</a> | ||||
| should be used. It uses the same format as the native file above: | ||||
|  | ||||
| cross-llvm.ini | ||||
| <pre> | ||||
|     [binaries] | ||||
|     ... | ||||
|     llvm-config = '/usr/lib/llvm-config-32' | ||||
| </pre> | ||||
|  | ||||
| Then configure meson: | ||||
|  | ||||
| <pre> | ||||
|     meson builddir/ --cross-file cross-llvm.ini | ||||
| </pre> | ||||
|  | ||||
| See the <a href="#cross-compilation">Cross Compilation</a> section for more information. | ||||
| </dd></p> | ||||
|  | ||||
| <dd><p> | ||||
| For older versions of meson <code>$PATH</code> (or <code>%PATH%</code> on | ||||
| windows) will be searched for llvm-config (and llvm-config$version and | ||||
| llvm-config-$version), you can override this environment variable to control | ||||
| the search: <code>PATH=/path/with/llvm-config:$PATH meson build</code>. | ||||
| </dd></p> | ||||
| </dl> | ||||
|  | ||||
| <dl> | ||||
| <dt><code>PKG_CONFIG_PATH</code></dt> | ||||
| <dd><p>The | ||||
| <code>pkg-config</code> utility is a hard requirement for configuring and | ||||
| building Mesa on Unix-like systems. It is used to search for external libraries | ||||
| on the system. This environment variable is used to control the search path for | ||||
| <code>pkg-config</code>. For instance, setting | ||||
| <code>PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig</code> will search for package | ||||
| metadata in <code>/usr/X11R6</code> before the standard directories.</p> | ||||
| </dd> | ||||
| </dl> | ||||
|  | ||||
| <p> | ||||
| One of the oddities of meson is that some options are different when passed to | ||||
| the <code>meson</code> than to <code>meson configure</code>. These options are | ||||
| passed as --option=foo to <code>meson</code>, but -Doption=foo to <code>meson | ||||
| configure</code>. Mesa defined options are always passed as -Doption=foo. | ||||
| </p> | ||||
|  | ||||
| <p>For those coming from autotools be aware of the following:</p> | ||||
|  | ||||
| <dl> | ||||
| <dt><code>--buildtype/-Dbuildtype</code></dt> | ||||
| <dd><p>This option will set the compiler debug/optimisation levels to aid | ||||
| debugging the Mesa libraries.</p> | ||||
|  | ||||
| <p>Note that in meson this defaults to <code>debugoptimized</code>, and | ||||
| not setting it to <code>release</code> will yield non-optimal | ||||
| performance and binary size. Not using <code>debug</code> may interfere | ||||
| with debugging as some code and validation will be optimized away. | ||||
| </p> | ||||
|  | ||||
| <p> For those wishing to pass their own optimization flags, use the <code>plain</code> | ||||
| buildtype, which causes meson to inject no additional compiler arguments, only | ||||
| those in the C/CXXFLAGS and those that mesa itself defines.</p> | ||||
| </dd> | ||||
| </dl> | ||||
|  | ||||
| <dl> | ||||
| <dt><code>-Db_ndebug</code></dt> | ||||
| <dd><p>This option controls assertions in meson projects. When set to <code>false</code> | ||||
| (the default) assertions are enabled, when set to true they are disabled. This | ||||
| is unrelated to the <code>buildtype</code>; setting the latter to | ||||
| <code>release</code> will not turn off assertions. | ||||
| </p> | ||||
| </dd> | ||||
| </dl> | ||||
|  | ||||
| <h2 id="cross-compilation">2. Cross-compilation and 32-bit builds</h2> | ||||
|  | ||||
| <p><a href="https://mesonbuild.com/Cross-compilation.html">Meson supports | ||||
| cross-compilation</a> by specifying a number of binary paths and | ||||
| settings in a file and passing this file to <code>meson</code> or | ||||
| <code>meson configure</code> with the <code>--cross-file</code> | ||||
| parameter.</p> | ||||
|  | ||||
| <p>This file can live at any location, but you can use the bare filename | ||||
| (without the folder path) if you put it in $XDG_DATA_HOME/meson/cross or | ||||
| ~/.local/share/meson/cross</p> | ||||
|  | ||||
| <p>Below are a few example of cross files, but keep in mind that you | ||||
| will likely have to alter them for your system.</p> | ||||
|  | ||||
| <p> | ||||
| Those running on ArchLinux can use the AUR-maintained packages for some | ||||
| of those, as they'll have the right values for your system: | ||||
| <ul> | ||||
|   <li><a href="https://aur.archlinux.org/packages/meson-cross-x86-linux-gnu">meson-cross-x86-linux-gnu</a></li> | ||||
|   <li><a href="https://aur.archlinux.org/packages/meson-cross-aarch64-linux-gnu">meson-cross-aarch64-linux-gnu</a></li> | ||||
| </ul> | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| 32-bit build on x86 linux: | ||||
| <pre> | ||||
| [binaries] | ||||
| c = '/usr/bin/gcc' | ||||
| cpp = '/usr/bin/g++' | ||||
| ar = '/usr/bin/gcc-ar' | ||||
| strip = '/usr/bin/strip' | ||||
| pkgconfig = '/usr/bin/pkg-config-32' | ||||
| llvm-config = '/usr/bin/llvm-config32' | ||||
|  | ||||
| [properties] | ||||
| c_args = ['-m32'] | ||||
| c_link_args = ['-m32'] | ||||
| cpp_args = ['-m32'] | ||||
| cpp_link_args = ['-m32'] | ||||
|  | ||||
| [host_machine] | ||||
| system = 'linux' | ||||
| cpu_family = 'x86' | ||||
| cpu = 'i686' | ||||
| endian = 'little' | ||||
| </pre> | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| 64-bit build on ARM linux: | ||||
| <pre> | ||||
| [binaries] | ||||
| c = '/usr/bin/aarch64-linux-gnu-gcc' | ||||
| cpp = '/usr/bin/aarch64-linux-gnu-g++' | ||||
| ar = '/usr/bin/aarch64-linux-gnu-gcc-ar' | ||||
| strip = '/usr/bin/aarch64-linux-gnu-strip' | ||||
| pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config' | ||||
| exe_wrapper = '/usr/bin/qemu-aarch64-static' | ||||
|  | ||||
| [host_machine] | ||||
| system = 'linux' | ||||
| cpu_family = 'aarch64' | ||||
| cpu = 'aarch64' | ||||
| endian = 'little' | ||||
| </pre> | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| 64-bit build on x86 windows: | ||||
| <pre> | ||||
| [binaries] | ||||
| c = '/usr/bin/x86_64-w64-mingw32-gcc' | ||||
| cpp = '/usr/bin/x86_64-w64-mingw32-g++' | ||||
| ar = '/usr/bin/x86_64-w64-mingw32-ar' | ||||
| strip = '/usr/bin/x86_64-w64-mingw32-strip' | ||||
| pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config' | ||||
| exe_wrapper = 'wine' | ||||
|  | ||||
| [host_machine] | ||||
| system = 'windows' | ||||
| cpu_family = 'x86_64' | ||||
| cpu = 'i686' | ||||
| endian = 'little' | ||||
| </pre> | ||||
| </p> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -16,9 +16,9 @@ | ||||
|  | ||||
| <h1>OpenGL ES</h1> | ||||
|  | ||||
| <p>Mesa implements OpenGL ES 1.1 and OpenGL ES 2.0.  More information about | ||||
| OpenGL ES can be found at <a href="https://www.khronos.org/opengles/"> | ||||
| https://www.khronos.org/opengles/</a>.</p> | ||||
| <p>Mesa implements OpenGL ES 1.1 and OpenGL ES 2.0.  More informations about | ||||
| OpenGL ES can be found at <a href="http://www.khronos.org/opengles/"> | ||||
| http://www.khronos.org/opengles/</a>.</p> | ||||
|  | ||||
| <p>OpenGL ES depends on a working EGL implementation.  Please refer to | ||||
| <a href="egl.html">Mesa EGL</a> for more information about EGL.</p> | ||||
| @@ -48,7 +48,7 @@ EGL drivers for your hardware.</p> | ||||
|  | ||||
| <h3>Dispatch Table</h3> | ||||
|  | ||||
| <p>OpenGL ES has an additional indirection when dispatching functions</p> | ||||
| <p>OpenGL ES has an additional indirection when dispatching fucntions</p> | ||||
|  | ||||
| <pre> | ||||
|   Mesa:       glFoo() --> _mesa_Foo() | ||||
|   | ||||
							
								
								
									
										59
									
								
								docs/openvg.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								docs/openvg.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>OpenVG State Tracker</title> | ||||
|   <link rel="stylesheet" type="text/css" href="mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>OpenVG State Tracker</h1> | ||||
|  | ||||
| <p> | ||||
| The current version of the OpenVG state tracker implements OpenVG 1.1. | ||||
| </p> | ||||
| <p> | ||||
| More informations about OpenVG can be found at | ||||
| <a href="http://www.khronos.org/openvg/"> | ||||
| http://www.khronos.org/openvg/</a> . | ||||
| </p> | ||||
| <p> | ||||
| The OpenVG state tracker depends on the Gallium architecture and a working EGL implementation. | ||||
| Please refer to <a href="egl.html">Mesa EGL</a> for more information about EGL. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>Building the library</h2> | ||||
| <ol> | ||||
| <li>Run <code>configure</code> with <code>--enable-openvg</code> and | ||||
| <code>--enable-gallium-egl</code>.  If you do not need OpenGL, you can add | ||||
| <code>--disable-opengl</code> to save the compilation time.</li> | ||||
|  | ||||
| <li>Build and install Mesa as usual.</li> | ||||
| </ol> | ||||
|  | ||||
| <h3>Sample build</h3> | ||||
| A sample build looks as follows: | ||||
| <pre> | ||||
|   $ ./configure --disable-opengl --enable-openvg --enable-gallium-egl | ||||
|   $ make | ||||
|   $ make install | ||||
| </pre> | ||||
|  | ||||
| <p>It will install <code>libOpenVG.so</code>, <code>libEGL.so</code>, and one | ||||
| or more EGL drivers.</p> | ||||
|  | ||||
| <h2>OpenVG Demos</h2> | ||||
|  | ||||
| <p>OpenVG demos can be found in mesa/demos repository.</p> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										31
									
								
								docs/patents.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								docs/patents.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| ARB_texture_float: | ||||
|  | ||||
|     Silicon Graphics, Inc. owns US Patent #6,650,327, issued November 18, | ||||
|     2003 [1]. | ||||
|  | ||||
|     SGI believes this patent contains necessary IP for graphics systems | ||||
|     implementing floating point rasterization and floating point | ||||
|     framebuffer capabilities described in ARB_texture_float extension, and | ||||
|     will discuss licensing on RAND terms, on an individual basis with | ||||
|     companies wishing to use this IP in the context of conformant OpenGL | ||||
|     implementations [2]. | ||||
|  | ||||
|     The source code to implement ARB_texture_float extension is included | ||||
|     and can be toggled on at compile time, for those who purchased a | ||||
|     license from SGI, or are in a country where the patent does not apply, | ||||
|     etc. | ||||
|  | ||||
|     The software is provided "as is", without warranty of any kind, express | ||||
|     or implied, including but not limited to the warranties of | ||||
|     merchantability, fitness for a particular purpose and noninfringement. | ||||
|     In no event shall the authors or copyright holders be liable for any | ||||
|     claim, damages or other liability, whether in an action of contract, | ||||
|     tort or otherwise, arising from, out of or in connection with the | ||||
|     software or the use or other dealings in the software. | ||||
|  | ||||
|     You should contact a lawyer or SGI's legal department if you want to | ||||
|     enable this extension. | ||||
|  | ||||
|  | ||||
| [1] http://www.google.com/patents/about?id=mIIOAAAAEBAJ&dq=6650327 | ||||
| [2] http://www.opengl.org/registry/specs/ARB/texture_float.txt | ||||
| @@ -45,7 +45,7 @@ Multiple filters can be used together. | ||||
| <li>pp_nored, pp_nogreen, pp_noblue - set to 1 to remove the corresponding color channel. | ||||
| These are basic filters for easy testing of the PP queue. | ||||
| <li>pp_jimenezmlaa, pp_jimenezmlaa_color - | ||||
| <a href="https://www.iryokufx.com/mlaa/" target=_blank>Jimenez's MLAA</a> | ||||
| <a href="http://www.iryokufx.com/mlaa/" target=_blank>Jimenez's MLAA</a> | ||||
| is a morphological antialiasing filter. | ||||
| The two versions use depth and color data, respectively. | ||||
| Which works better depends on the app - depth will not blur text, but it will | ||||
|   | ||||
| @@ -20,16 +20,8 @@ | ||||
| In general, precompiled Mesa libraries are not available. | ||||
| </p> | ||||
| <p> | ||||
| Some Linux distributions closely follow the latest Mesa releases. On others one | ||||
| has to use unofficial channels. | ||||
| <br> | ||||
| There are some general directions: | ||||
| <ul> | ||||
| <li>Debian/Ubuntu based distros - PPA: xorg-edgers, oibaf and padoka</li> | ||||
| <li>Fedora - Corp: erp and che</li> | ||||
| <li>OpenSuse/SLES - OBS: X11:XOrg and pontostroy:X11</li> | ||||
| <li>Gentoo/Archlinux - officially provided/supported</li> | ||||
| </ul> | ||||
| However, some Linux distros (such as Ubuntu) seem to closely track | ||||
| Mesa and often have the latest Mesa release available as an update. | ||||
| </p> | ||||
|  | ||||
| </div> | ||||
|   | ||||
| @@ -1,168 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Release calendar</title> | ||||
|   <link rel="stylesheet" type="text/css" href="mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Overview</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa provides feature/development and stable releases. | ||||
| </p> | ||||
| <p> | ||||
| The table below lists the date and release manager that is expected to do the | ||||
| specific release. | ||||
| <br> | ||||
| Regular updates will ensure that the schedule for the current and the | ||||
| next two feature releases are shown in the table. | ||||
| <br> | ||||
| In order to keep the whole releasing team up to date with the tools | ||||
| used, best practices and other details, the member in charge of the | ||||
| next feature release will be in constant rotation. | ||||
| <br> | ||||
| The way the release schedule works is | ||||
| explained <a href="releasing.html#schedule" target="_parent">here</a>. | ||||
| <br> | ||||
| Take a look <a href="submittingpatches.html#criteria" target="_parent">here</a> | ||||
| if you'd like to nominate a patch in the next stable release. | ||||
| </p> | ||||
|  | ||||
| <h1 id="calendar">Calendar</h1> | ||||
|  | ||||
| <table border="1"> | ||||
|  | ||||
| <tr> | ||||
| <th>Branch</th> | ||||
| <th>Expected date</th> | ||||
| <th>Release</th> | ||||
| <th>Release manager</th> | ||||
| <th>Notes</th> | ||||
| </tr> | ||||
| <tr> | ||||
| <td rowspan="2">18.3</td> | ||||
| <td>2019-02-27</td> | ||||
| <td>18.3.5</td> | ||||
| <td>Emil Velikov</td> | ||||
| <td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>2019-03-13</td> | ||||
| <td>18.3.6</td> | ||||
| <td>Emil Velikov</td> | ||||
| <td>Last planned 18.3.x release</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td rowspan="4">19.0</td> | ||||
| <td>2019-01-29</td> | ||||
| <td>19.0.0-rc1</td> | ||||
| <td>Dylan Baker</td> | ||||
| <td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>2019-02-05</td> | ||||
| <td>19.0.0-rc2</td> | ||||
| <td>Dylan Baker</td> | ||||
| <td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>2019-02-12</td> | ||||
| <td>19.0.0-rc3</td> | ||||
| <td>Dylan Baker</td> | ||||
| <td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>2019-02-19</td> | ||||
| <td>19.0.0-rc4</td> | ||||
| <td>Dylan Baker</td> | ||||
| <td>Last planned RC/Final release</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td rowspan="4">19.1</td> | ||||
| <td>2019-04-30</td> | ||||
| <td>19.1.0-rc1</td> | ||||
| <td>Andres Gomez</td> | ||||
| <td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>2019-05-07</td> | ||||
| <td>19.1.0-rc2</td> | ||||
| <td>Andres Gomez</td> | ||||
| <td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>2019-05-14</td> | ||||
| <td>19.1.0-rc3</td> | ||||
| <td>Andres Gomez</td> | ||||
| <td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>2019-05-21</td> | ||||
| <td>19.1.0-rc4</td> | ||||
| <td>Andres Gomez</td> | ||||
| <td>Last planned RC/Final release</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td rowspan="4">19.2</td> | ||||
| <td>2019-08-06</td> | ||||
| <td>19.2.0-rc1</td> | ||||
| <td>Emil Velikov</td> | ||||
| <td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>2019-08-13</td> | ||||
| <td>19.2.0-rc2</td> | ||||
| <td>Emil Velikov</td> | ||||
| <td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>2019-08-20</td> | ||||
| <td>19.2.0-rc3</td> | ||||
| <td>Emil Velikov</td> | ||||
| <td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>2019-08-27</td> | ||||
| <td>19.2.0-rc4</td> | ||||
| <td>Emil Velikov</td> | ||||
| <td>Last planned RC/Final release</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td rowspan="4">19.3</td> | ||||
| <td>2019-10-15</td> | ||||
| <td>19.3.0-rc1</td> | ||||
| <td>Juan A. Suarez</td> | ||||
| <td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>2019-10-22</td> | ||||
| <td>19.3.0-rc2</td> | ||||
| <td>Juan A. Suarez</td> | ||||
| <td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>2019-10-29</td> | ||||
| <td>19.3.0-rc3</td> | ||||
| <td>Juan A. Suarez</td> | ||||
| <td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>2019-11-05</td> | ||||
| <td>19.3.0-rc4</td> | ||||
| <td>Juan A. Suarez</td> | ||||
| <td>Last planned RC/Final release</td> | ||||
| </tr> | ||||
| </table> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,687 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Releasing process</title> | ||||
|   <link rel="stylesheet" type="text/css" href="mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
|  | ||||
| <h1>Releasing process</h1> | ||||
|  | ||||
| <ul> | ||||
| <li><a href="#overview">Overview</a> | ||||
| <li><a href="#schedule">Release schedule</a> | ||||
| <li><a href="#pickntest">Cherry-pick and test</a> | ||||
| <li><a href="#stagingbranch">Staging branch</a> | ||||
| <li><a href="#branch">Making a branchpoint</a> | ||||
| <li><a href="#prerelease">Pre-release announcement</a> | ||||
| <li><a href="#release">Making a new release</a> | ||||
| <li><a href="#announce">Announce the release</a> | ||||
| <li><a href="#website">Update the mesa3d.org website</a> | ||||
| <li><a href="#bugzilla">Update Bugzilla</a> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h1 id="overview">Overview</h1> | ||||
|  | ||||
| <p> | ||||
| This document uses the convention X.Y.Z for the release number with X.Y being | ||||
| the stable branch name. | ||||
| <br> | ||||
| Mesa provides feature and bugfix releases. Former use zero as patch version (Z), | ||||
| while the latter have a non-zero one. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| For example: | ||||
| </p> | ||||
| <pre> | ||||
| 	Mesa 10.1.0 - 10.1 branch, feature | ||||
| 	Mesa 10.1.4 - 10.1 branch, bugfix | ||||
| 	Mesa 12.0.0 - 12.0 branch, feature | ||||
| 	Mesa 12.0.2 - 12.0 branch, bugfix | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h1 id="schedule">Release schedule</h1> | ||||
|  | ||||
| <p> | ||||
| Releases should happen on Wednesdays. Delays can occur although those | ||||
| should be kept to a minimum. | ||||
| <br> | ||||
| See our <a href="release-calendar.html" target="_parent">calendar</a> | ||||
| for information about how the release schedule is planned, and the | ||||
| date and other details for individual releases. | ||||
| </p> | ||||
|  | ||||
| <h2>Feature releases</h2> | ||||
| <ul> | ||||
| <li>Available approximately every three months. | ||||
| <li>Initial timeplan available 2-4 weeks before the planned branchpoint (rc1) | ||||
| on the mesa-announce@ mailing list. | ||||
| <li>Typically, the final release will happen after 4 | ||||
| candidates. Additional ones may be needed in order to resolve blocking | ||||
| regressions, though. | ||||
| <li>A <a href="#prerelease">pre-release</a> announcement should be available | ||||
| approximately 24 hours before the final (non-rc) release. | ||||
| </ul> | ||||
|  | ||||
| <h2>Stable releases</h2> | ||||
| <ul> | ||||
| <li>Normally available once every two weeks. | ||||
| <li>Only the latest branch has releases. See note below. | ||||
| <li>A <a href="#prerelease">pre-release</a> announcement should be available | ||||
| approximately 48 hours before the actual release. | ||||
| </ul> | ||||
|  | ||||
| <p> | ||||
| Note: There is one or two releases overlap when changing branches. For example: | ||||
| <br> | ||||
| The final release from the 12.0 series Mesa 12.0.5 will be out around the same | ||||
| time (or shortly after) 13.0.1 is out. | ||||
| <br> | ||||
| This also involves that, as a final release may be delayed due to the | ||||
| need of additional candidates to solve some blocking regression(s), | ||||
| the release manager might have to update | ||||
| the <a href="release-calendar.html" target="_parent">calendar</a> with | ||||
| additional bug fix releases of the current stable branch. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h1 id="pickntest">Cherry-picking and testing</h1> | ||||
|  | ||||
| <p> | ||||
| Commits nominated for the active branch are picked as based on the | ||||
| <a href="submittingpatches.html#criteria" target="_parent">criteria</a> as | ||||
| described in the same section. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Nomination happens in the mesa-stable@ mailing list. However, | ||||
| maintainer is responsible of checking for forgotten candidates in the | ||||
| master branch. This is achieved by a combination of ad-hoc scripts and | ||||
| a casual search for terms such as regression, fix, broken and similar. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Maintainer is also responsible for testing in various possible permutations of | ||||
| the autoconf and scons build. | ||||
| </p> | ||||
|  | ||||
| <h2>Cherry-picking and build/check testing</h2> | ||||
|  | ||||
| <p>Done continuously up-to the <a href="#prerelease">pre-release</a> announcement.</p> | ||||
|  | ||||
| <p> | ||||
| Developers can request, <em>as an exception</em>, patches to be applied up-to | ||||
| the last one hour before the actual release. This is made <strong>only</strong> | ||||
| with explicit permission/request, and the patch <strong>must</strong> be very | ||||
| well contained. Thus it cannot affect more than one driver/subsystem. | ||||
| </p> | ||||
|  | ||||
| <p>Following developers have requested permanent exception</p> | ||||
| <ul> | ||||
| <li><em>Ilia Mirkin</em> | ||||
| <li><em>AMD team</em> | ||||
| </ul> | ||||
|  | ||||
| <p>The following must pass:</p> | ||||
| <ul> | ||||
| <li>make distcheck, scons and scons check | ||||
| <li>Testing with different version of system components - LLVM and others is also | ||||
| performed where possible. | ||||
| <li>As a general rule, testing with various combinations of configure | ||||
| switches, depending on the specific patchset. | ||||
| </ul> | ||||
|  | ||||
| <p> | ||||
| These are achieved by combination of <a href="basictesting">local testing</a>, | ||||
| which includes mingw-w64 cross compilation and AppVeyor plus Travis-CI, the | ||||
| latter two as part of their Github integration. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| For Windows related changes, the main contact point is Brian | ||||
| Paul. Jose Fonseca can also help as a fallback contact. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| For Android related changes, the main contact is Tapani | ||||
| Pälli. Mauro Rossi is collaborating with android-x86 and may | ||||
| provide feedback about the build status in that project. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| For MacOSX related changes, Jeremy Huddleston Sequoia is currently a | ||||
| good contact point. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| <strong>Note:</strong> If a patch in the current queue needs any additional | ||||
| fix(es), then they should be squashed together. | ||||
| <br> | ||||
| The commit messages and the <code>cherry picked from</code> tags must be preserved. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| This should be noted in the <a href="#prerelease">pre-announce</a> email. | ||||
| </p> | ||||
|  | ||||
| <pre> | ||||
|     git show b10859ec41d09c57663a258f43fe57c12332698e | ||||
|  | ||||
|     commit b10859ec41d09c57663a258f43fe57c12332698e | ||||
|     Author: Jonas Pfeil <pfeiljonas@gmx.de> | ||||
|     Date:   Wed Mar 1 18:11:10 2017 +0100 | ||||
|  | ||||
|         ralloc: Make sure ralloc() allocations match malloc()'s alignment. | ||||
|  | ||||
|         The header of ralloc needs to be aligned, because the compiler assumes | ||||
|         ... | ||||
|  | ||||
|         (cherry picked from commit cd2b55e536dc806f9358f71db438dd9c246cdb14) | ||||
|  | ||||
|         Squashed with commit: | ||||
|  | ||||
|         ralloc: don't leave out the alignment factor | ||||
|  | ||||
|         Experimentation shows that without alignment factor gcc and clang choose | ||||
|         ... | ||||
|  | ||||
|         (cherry picked from commit ff494fe999510ea40e3ed5827e7818550b6de126) | ||||
| </pre> | ||||
|  | ||||
| <h2>Regression/functionality testing</h2> | ||||
|  | ||||
| <p> | ||||
| Less often (once or twice), shortly before the pre-release announcement. | ||||
| Ensure that testing is redone if Intel devs have requested an exception, as per above. | ||||
| </p> | ||||
|  | ||||
| <ul> | ||||
| <li><em>no regressions should be observed for Piglit/dEQP/CTS/Vulkan on Intel platforms</em> | ||||
| <li><em>no regressions should be observed for Piglit using the swrast, softpipe | ||||
| and llvmpipe drivers</em> | ||||
| </ul> | ||||
|  | ||||
| <p> | ||||
| Currently testing is performed courtesy of the Intel OTC team and their Jenkins CI setup. Check with the Intel team over IRC how to get things setup. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Installing the built driver from the pre-announced RC branch in the | ||||
| system and making some every day's use until the release may be a good | ||||
| idea too. | ||||
| </p> | ||||
|  | ||||
| <h1 id="stagingbranch">Staging branch</h1> | ||||
|  | ||||
| <p> | ||||
| A live branch, which contains the currently merge/rejected patches is available | ||||
| in the main repository under <code>staging/X.Y</code>. For example: | ||||
| </p> | ||||
| <pre> | ||||
| 	staging/18.1 - WIP branch for the 18.1 series | ||||
| 	staging/18.2 - WIP branch for the 18.2 series | ||||
| </pre> | ||||
|  | ||||
| <p> | ||||
| Notes: | ||||
| </p> | ||||
| <ul> | ||||
| <li>People are encouraged to test the staging branch and report regressions.</li> | ||||
| <li>The branch history is not stable and it <strong>will</strong> be rebased,</li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h1 id="branch">Making a branchpoint</h1> | ||||
|  | ||||
| <p> | ||||
| A branchpoint is made such that new development can continue in parallel to | ||||
| stabilisation and bugfixing. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Note: Before doing a branch ensure that basic build and <code>make check</code> | ||||
| testing is done and there are little to-no issues. | ||||
| <br> | ||||
| Ideally all of those should be tackled already. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Check if the version number is going to remain as, alternatively | ||||
| <code> git mv docs/relnotes/{current,new}.html </code> as appropriate. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| To setup the branchpoint: | ||||
| </p> | ||||
| <pre> | ||||
| 	git checkout master # make sure we're in master first | ||||
| 	git tag -s X.Y-branchpoint -m "Mesa X.Y branchpoint" | ||||
| 	git checkout -b X.Y | ||||
| 	git checkout master | ||||
| 	$EDITOR VERSION # bump the version number | ||||
| 	git commit -as | ||||
| 	cp docs/relnotes/{X.Y,X.Y+1}.html # copy/create relnotes template | ||||
| 	git commit -as | ||||
| 	git push origin X.Y-branchpoint X.Y | ||||
| </pre> | ||||
|  | ||||
| <p> | ||||
| Now go to | ||||
| <a href="https://bugs.freedesktop.org/editversions.cgi?action=add&product=Mesa" target="_parent">Bugzilla</a> and add the new Mesa version X.Y. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Check that there are no distribution breaking changes and revert them if needed. | ||||
| For example: files being overwritten on install, etc. Happens extremely rarely - | ||||
| we had only one case so far (see commit 2ced8eb136528914e1bf4e000dea06a9d53c7e04). | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Proceed to <a href="#release">release</a> -rc1. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h1 id="prerelease">Pre-release announcement</h1> | ||||
|  | ||||
| <p> | ||||
| It comes shortly after outstanding patches in the respective branch are pushed. | ||||
| Developers can check, in brief, what's the status of their patches. They, | ||||
| alongside very early testers, are strongly encouraged to test the branch and | ||||
| report any regressions. | ||||
| <br> | ||||
| It is followed by a brief period (normally 24 or 48 hours) before the actual | ||||
| release is made. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Be aware to add a note to warn about a final release in a series, if | ||||
| that is the case. | ||||
| </p> | ||||
|  | ||||
| <h2>Terminology used</h2> | ||||
|  | ||||
| <ul><li>Nominated</ul> | ||||
|  | ||||
| <p> | ||||
| Patch that is nominated but yet to to merged in the patch queue/branch. | ||||
| </p> | ||||
|  | ||||
| <ul><li>Queued</ul> | ||||
|  | ||||
| <p> | ||||
| Patch is in the queue/branch and will feature in the next release. | ||||
| Barring reported regressions or objections from developers. | ||||
| </p> | ||||
|  | ||||
| <ul><li>Rejected</ul> | ||||
|  | ||||
| <p> | ||||
| Patch does not fit the | ||||
| <a href="submittingpatches.html#criteria" target="_parent">criteria</a> and | ||||
| is followed by a brief information. | ||||
| <br> | ||||
| The release maintainer is human so if you believe you've spotted a mistake do | ||||
| let them know. | ||||
| </p> | ||||
|  | ||||
| <h2>Format/template</h2> | ||||
| <pre> | ||||
| Subject: [ANNOUNCE] Mesa X.Y.Z release candidate | ||||
| To: mesa-announce@... | ||||
| Cc: mesa-dev@... | ||||
|  | ||||
| Hello list, | ||||
|  | ||||
| The candidate for the Mesa X.Y.Z is now available. Currently we have: | ||||
|  - NUMBER queued | ||||
|  - NUMBER nominated (outstanding) | ||||
|  - and NUMBER rejected patches | ||||
|  | ||||
| [If applicable: | ||||
| Note: this is the final anticipated release in the SERIES series. Users are | ||||
| encouraged to migrate to the NEXT_SERIES series in order to obtain future fixes.] | ||||
|  | ||||
| BRIEF SUMMARY OF CHANGES | ||||
|  | ||||
| Take a look at section "Mesa stable queue" for more information. | ||||
|  | ||||
|  | ||||
| Testing reports/general approval | ||||
| -------------------------------- | ||||
| Any testing reports (or general approval of the state of the branch) will be | ||||
| greatly appreciated. | ||||
|  | ||||
| The plan is to have X.Y.Z this DAY (DATE), around or shortly after TIME. | ||||
|  | ||||
| If you have any questions or suggestions - be that about the current patch | ||||
| queue or otherwise, please go ahead. | ||||
|  | ||||
|  | ||||
| Trivial merge conflicts | ||||
| ----------------------- | ||||
| List of commits where manual intervention was required. | ||||
| Keep the authors in the CC list. | ||||
|  | ||||
| commit SHA | ||||
| Author: AUTHOR | ||||
|  | ||||
|     COMMIT SUMMARY | ||||
|  | ||||
|     CHERRY PICKED FROM | ||||
|  | ||||
|  | ||||
| For example: | ||||
|  | ||||
| commit 990f395e007c3204639daa34efc3049f350ee819 | ||||
| Author: Emil Velikov <emil.velikov@collabora.com> | ||||
|  | ||||
|     anv: automake: cleanup the generated json file during make clean | ||||
|  | ||||
|     (cherry picked from commit 8df581520a823564be0ab5af7dbb7d501b1c9670) | ||||
|  | ||||
|  | ||||
| Cheers, | ||||
| Emil | ||||
|  | ||||
|  | ||||
| Mesa stable queue | ||||
| ----------------- | ||||
|  | ||||
| Nominated (NUMBER) | ||||
| ================== | ||||
|  | ||||
| AUTHOR (NUMBER): | ||||
|       SHA     COMMIT SUMMARY | ||||
|  | ||||
| For example: | ||||
|  | ||||
| Dave Airlie (1): | ||||
|       2de85eb radv: fix texturesamples to handle single sample case | ||||
|  | ||||
|  | ||||
| Queued (NUMBER) | ||||
| =============== | ||||
|  | ||||
| AUTHOR (NUMBER): | ||||
|       COMMIT SUMMARY | ||||
| [If applicable: | ||||
| Squashed with | ||||
|       COMMIT SUMMARY] | ||||
|  | ||||
| For example: | ||||
|  | ||||
| Jonas Pfeil (1): | ||||
|       ralloc: Make sure ralloc() allocations match malloc()'s alignment. | ||||
| Squashed with | ||||
|       ralloc: don't leave out the alignment factor | ||||
|  | ||||
|  | ||||
| Rejected (NUMBER) | ||||
| ================= | ||||
|  | ||||
| AUTHOR (NUMBER): | ||||
|       SHA     COMMIT SUMMARY | ||||
|  | ||||
| Reason: ... | ||||
|  | ||||
| For example: | ||||
|  | ||||
| Emil Velikov (1) | ||||
|       a39ad18 configure.ac: honour LLVM_LIBDIR when linking against LLVM | ||||
|  | ||||
| Reason: The patch was reverted shortly after it was merged. | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h1 id="release">Making a new release</h1> | ||||
|  | ||||
| <p> | ||||
| These are the instructions for making a new Mesa release. | ||||
| </p> | ||||
|  | ||||
| <h3>Get latest source files</h3> | ||||
|  | ||||
| <p> | ||||
| Ensure the latest code is available - both in your local master and the | ||||
| relevant branch. | ||||
| </p> | ||||
|  | ||||
| <h3 id="basictesting">Perform basic testing</h3> | ||||
|  | ||||
| <p> | ||||
| Most of the testing should already be done during the | ||||
| <a href="#pickntest">cherry-pick</a> and | ||||
| <a href="#prerelease">pre-announce</a> stages. | ||||
| So we do a quick 'touch test' | ||||
| </p> | ||||
|  | ||||
| <ul> | ||||
| <li>make distcheck (you can omit this if you're not using --dist below) | ||||
| <li>scons (from release tarball) | ||||
| <li>the produced binaries work | ||||
| </ul> | ||||
|  | ||||
| <p> | ||||
| Here is one solution that I've been using. | ||||
| </p> | ||||
|  | ||||
| <pre> | ||||
| 	# Set MAKEFLAGS if you haven't already | ||||
| 	git clean -fXd; git clean -nxd | ||||
| 	read # quick cross check any outstanding files | ||||
| 	export __version=`cat VERSION` | ||||
| 	export __mesa_root=../ | ||||
| 	export __build_root=./foo | ||||
| 	chmod 755 -fR $__build_root; rm -rf $__build_root | ||||
| 	mkdir -p $__build_root && cd $__build_root | ||||
|  | ||||
| 	# For the native builds - such as distcheck, scons, sanity test, you | ||||
| 	# may want to specify which LLVM to use: | ||||
| 	# export LLVM_CONFIG=/usr/lib/llvm-3.9/bin/llvm-config | ||||
|  | ||||
| 	# Do a full distcheck | ||||
| 	$__mesa_root/autogen.sh && make distcheck | ||||
|  | ||||
| 	# Build check the tarballs (scons, linux) | ||||
| 	tar -xaf mesa-$__version.tar.xz && cd mesa-$__version | ||||
| 	scons | ||||
| 	cd .. && rm -rf mesa-$__version | ||||
|  | ||||
| 	# Build check the tarballs (scons, windows/mingw) | ||||
| 	# Temporary drop LLVM_CONFIG, unless you have a Windows/mingw one. | ||||
| 	# save_LLVM_CONFIG=`echo $LLVM_CONFIG`; unset LLVM_CONFIG | ||||
| 	tar -xaf mesa-$__version.tar.xz && cd mesa-$__version | ||||
| 	scons platform=windows toolchain=crossmingw | ||||
| 	cd .. && rm -rf mesa-$__version | ||||
|  | ||||
| 	# Test the automake binaries | ||||
| 	# Restore LLVM_CONFIG, if applicable: | ||||
| 	# export LLVM_CONFIG=`echo $save_LLVM_CONFIG`; unset save_LLVM_CONFIG | ||||
| 	tar -xaf mesa-$__version.tar.xz && cd mesa-$__version | ||||
| 	./configure \ | ||||
| 		--with-dri-drivers=i965,swrast \ | ||||
| 		--with-gallium-drivers=swrast \ | ||||
| 		--with-vulkan-drivers=intel \ | ||||
| 		--enable-llvm-shared-libs \ | ||||
| 		--enable-llvm \ | ||||
| 		--enable-glx-tls \ | ||||
| 		--enable-gbm \ | ||||
| 		--enable-egl \ | ||||
| 		--with-platforms=x11,drm,wayland,surfaceless | ||||
| 	make && DESTDIR=`pwd`/test make install | ||||
|  | ||||
| 	# Drop LLVM_CONFIG, if applicable: | ||||
| 	# unset LLVM_CONFIG | ||||
|  | ||||
| 	__glxinfo_cmd='glxinfo 2>&1 | egrep -o "Mesa.*|Gallium.*|.*dri\.so"' | ||||
| 	__glxgears_cmd='glxgears 2>&1 | grep -v "configuration file"' | ||||
| 	__es2info_cmd='es2_info 2>&1 | egrep "GL_VERSION|GL_RENDERER|.*dri\.so"' | ||||
| 	__es2gears_cmd='es2gears_x11 2>&1 | grep -v "configuration file"' | ||||
| 	test "x$LD_LIBRARY_PATH" != 'x' && __old_ld="$LD_LIBRARY_PATH" | ||||
| 	export LD_LIBRARY_PATH=`pwd`/test/usr/local/lib/:"${__old_ld}" | ||||
| 	export LIBGL_DRIVERS_PATH=`pwd`/test/usr/local/lib/dri/ | ||||
| 	export LIBGL_DEBUG=verbose | ||||
| 	eval $__glxinfo_cmd | ||||
| 	eval $__glxgears_cmd | ||||
| 	eval $__es2info_cmd | ||||
| 	eval $__es2gears_cmd | ||||
| 	export LIBGL_ALWAYS_SOFTWARE=true | ||||
| 	eval $__glxinfo_cmd | ||||
| 	eval $__glxgears_cmd | ||||
| 	eval $__es2info_cmd | ||||
| 	eval $__es2gears_cmd | ||||
| 	export LIBGL_ALWAYS_SOFTWARE=true | ||||
| 	export GALLIUM_DRIVER=softpipe | ||||
| 	eval $__glxinfo_cmd | ||||
| 	eval $__glxgears_cmd | ||||
| 	eval $__es2info_cmd | ||||
| 	eval $__es2gears_cmd | ||||
| 	# Smoke test DOTA2 | ||||
| 	unset LD_LIBRARY_PATH | ||||
| 	test "x$__old_ld" != 'x' && export LD_LIBRARY_PATH="$__old_ld" && unset __old_ld | ||||
| 	unset LIBGL_DRIVERS_PATH | ||||
| 	unset LIBGL_DEBUG | ||||
| 	unset LIBGL_ALWAYS_SOFTWARE | ||||
| 	unset GALLIUM_DRIVER | ||||
| 	export VK_ICD_FILENAMES=`pwd`/src/intel/vulkan/dev_icd.json | ||||
| 	steam steam://rungameid/570  -vconsole -vulkan | ||||
| 	unset VK_ICD_FILENAMES | ||||
| </pre> | ||||
|  | ||||
| <h3>Update version in file VERSION</h3> | ||||
|  | ||||
| <p> | ||||
| Increment the version contained in the file VERSION at Mesa's top-level, then | ||||
| commit this change. | ||||
| </p> | ||||
|  | ||||
| <h3>Create release notes for the new release</h3> | ||||
|  | ||||
| <p> | ||||
| Create a new file docs/relnotes/X.Y.Z.html, (follow the style of the previous | ||||
| release notes). Note that the sha256sums section of the release notes should | ||||
| be empty (TBD) at this point. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Two scripts are available to help generate portions of the release notes: | ||||
| </p> | ||||
|  | ||||
| <pre> | ||||
| 	./bin/bugzilla_mesa.sh | ||||
| 	./bin/shortlog_mesa.sh | ||||
| </pre> | ||||
|  | ||||
| <p> | ||||
| The first script identifies commits that reference bugzilla bugs and obtains | ||||
| the descriptions of those bugs from bugzilla. The second script generates a | ||||
| log of all commits. In both cases, HTML-formatted lists are printed to stdout | ||||
| to be included in the release notes. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Commit these changes and push the branch. | ||||
| </p> | ||||
|  | ||||
| <pre> | ||||
| 	git push origin HEAD | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h3>Use the release.sh script from xorg <a href="https://cgit.freedesktop.org/xorg/util/modular/">util-modular</a></h3> | ||||
|  | ||||
| <p> | ||||
| Start the release process. | ||||
| </p> | ||||
|  | ||||
| <pre> | ||||
| 	# For the dist/distcheck, you may want to specify which LLVM to use: | ||||
| 	# export LLVM_CONFIG=/usr/lib/llvm-3.9/bin/llvm-config | ||||
| 	../relative/path/to/release.sh . # append --dist if you've already done distcheck above | ||||
| </pre> | ||||
|  | ||||
| <p> | ||||
| Pay close attention to the prompts as you might be required to enter your GPG | ||||
| and SSH passphrase(s) to sign and upload the files, respectively. | ||||
| </p> | ||||
|  | ||||
| <h3>Add the sha256sums to the release notes</h3> | ||||
|  | ||||
| <p> | ||||
| Edit docs/relnotes/X.Y.Z.html to add the sha256sums as available in the mesa-X.Y.Z.announce template. Commit this change. | ||||
| </p> | ||||
|  | ||||
| <h3>Back on mesa master, add the new release notes into the tree</h3> | ||||
|  | ||||
| <p> | ||||
| Something like the following steps will do the trick: | ||||
| </p> | ||||
|  | ||||
| <pre> | ||||
| 	git cherry-pick -x X.Y~1 | ||||
| 	git cherry-pick -x X.Y | ||||
| </pre> | ||||
|  | ||||
| <p> | ||||
| Also, edit docs/relnotes.html to add a link to the new release notes, | ||||
| edit docs/index.html to add a news entry and a note in case of the | ||||
| last release in a series, and remove the version from | ||||
| docs/release-calendar.html. Then commit and push: | ||||
| </p> | ||||
|  | ||||
| <pre> | ||||
| 	git commit -as -m "docs: update calendar, add news item and link release notes for X.Y.Z" | ||||
| 	git push origin master X.Y | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h1 id="announce">Announce the release</h1> | ||||
|  | ||||
| <p> | ||||
| Use the generated template during the releasing process. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Again, pay attention to add a note to warn about a final release in a | ||||
| series, if that is the case. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h1 id="website">Update the mesa3d.org website</h1> | ||||
|  | ||||
| <p> | ||||
| As the hosting was moved to freedesktop, git hooks are deployed to update the | ||||
| website. Manually check that it is updated 5-10 minutes after the final <code>git push</code> | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h1 id="bugzilla">Update Bugzilla</h1> | ||||
|  | ||||
| <p> | ||||
| Parse through the bugreports as listed in the docs/relnotes/X.Y.Z.html | ||||
| document. | ||||
| <br> | ||||
| If there's outstanding action, close the bug referencing the commit ID which | ||||
| addresses the bug and mention the Mesa version that has the fix. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Note: the above is not applicable to all the reports, so use common sense. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -21,168 +21,7 @@ The release notes summarize what's new or changed in each Mesa release. | ||||
| </p> | ||||
|  | ||||
| <ul> | ||||
| <li><a href="relnotes/18.3.4.html">18.3.4 release notes</a> | ||||
| <li><a href="relnotes/18.3.3.html">18.3.3 release notes</a> | ||||
| <li><a href="relnotes/18.3.2.html">18.3.2 release notes</a> | ||||
| <li><a href="relnotes/18.2.8.html">18.2.8 release notes</a> | ||||
| <li><a href="relnotes/18.2.7.html">18.2.7 release notes</a> | ||||
| <li><a href="relnotes/18.3.1.html">18.3.1 release notes</a> | ||||
| <li><a href="relnotes/18.3.0.html">18.3.0 release notes</a> | ||||
| <li><a href="relnotes/18.2.6.html">18.2.6 release notes</a> | ||||
| <li><a href="relnotes/18.2.5.html">18.2.5 release notes</a> | ||||
| <li><a href="relnotes/18.2.4.html">18.2.4 release notes</a> | ||||
| <li><a href="relnotes/18.2.3.html">18.2.3 release notes</a> | ||||
| <li><a href="relnotes/18.2.2.html">18.2.2 release notes</a> | ||||
| <li><a href="relnotes/18.1.9.html">18.1.9 release notes</a> | ||||
| <li><a href="relnotes/18.2.1.html">18.2.1 release notes</a> | ||||
| <li><a href="relnotes/18.2.0.html">18.2.0 release notes</a> | ||||
| <li><a href="relnotes/18.1.8.html">18.1.8 release notes</a> | ||||
| <li><a href="relnotes/18.1.7.html">18.1.7 release notes</a> | ||||
| <li><a href="relnotes/18.1.6.html">18.1.6 release notes</a> | ||||
| <li><a href="relnotes/18.1.5.html">18.1.5 release notes</a> | ||||
| <li><a href="relnotes/18.1.4.html">18.1.4 release notes</a> | ||||
| <li><a href="relnotes/18.1.3.html">18.1.3 release notes</a> | ||||
| <li><a href="relnotes/18.1.2.html">18.1.2 release notes</a> | ||||
| <li><a href="relnotes/18.0.5.html">18.0.5 release notes</a> | ||||
| <li><a href="relnotes/18.1.1.html">18.1.1 release notes</a> | ||||
| <li><a href="relnotes/18.1.0.html">18.1.0 release notes</a> | ||||
| <li><a href="relnotes/18.0.4.html">18.0.4 release notes</a> | ||||
| <li><a href="relnotes/18.0.3.html">18.0.3 release notes</a> | ||||
| <li><a href="relnotes/18.0.2.html">18.0.2 release notes</a> | ||||
| <li><a href="relnotes/18.0.1.html">18.0.1 release notes</a> | ||||
| <li><a href="relnotes/17.3.9.html">17.3.9 release notes</a> | ||||
| <li><a href="relnotes/17.3.8.html">17.3.8 release notes</a> | ||||
| <li><a href="relnotes/18.0.0.html">18.0.0 release notes</a> | ||||
| <li><a href="relnotes/17.3.7.html">17.3.7 release notes</a> | ||||
| <li><a href="relnotes/17.3.6.html">17.3.6 release notes</a> | ||||
| <li><a href="relnotes/17.3.5.html">17.3.5 release notes</a> | ||||
| <li><a href="relnotes/17.3.4.html">17.3.4 release notes</a> | ||||
| <li><a href="relnotes/17.3.3.html">17.3.3 release notes</a> | ||||
| <li><a href="relnotes/17.3.2.html">17.3.2 release notes</a> | ||||
| <li><a href="relnotes/17.2.8.html">17.2.8 release notes</a> | ||||
| <li><a href="relnotes/17.3.1.html">17.3.1 release notes</a> | ||||
| <li><a href="relnotes/17.2.7.html">17.2.7 release notes</a> | ||||
| <li><a href="relnotes/17.3.0.html">17.3.0 release notes</a> | ||||
| <li><a href="relnotes/17.2.6.html">17.2.6 release notes</a> | ||||
| <li><a href="relnotes/17.2.5.html">17.2.5 release notes</a> | ||||
| <li><a href="relnotes/17.2.4.html">17.2.4 release notes</a> | ||||
| <li><a href="relnotes/17.2.3.html">17.2.3 release notes</a> | ||||
| <li><a href="relnotes/17.2.2.html">17.2.2 release notes</a> | ||||
| <li><a href="relnotes/17.1.10.html">17.1.10 release notes</a> | ||||
| <li><a href="relnotes/17.2.1.html">17.2.1 release notes</a> | ||||
| <li><a href="relnotes/17.1.9.html">17.1.9 release notes</a> | ||||
| <li><a href="relnotes/17.2.0.html">17.2.0 release notes</a> | ||||
| <li><a href="relnotes/17.1.8.html">17.1.8 release notes</a> | ||||
| <li><a href="relnotes/17.1.7.html">17.1.7 release notes</a> | ||||
| <li><a href="relnotes/17.1.6.html">17.1.6 release notes</a> | ||||
| <li><a href="relnotes/17.1.5.html">17.1.5 release notes</a> | ||||
| <li><a href="relnotes/17.1.4.html">17.1.4 release notes</a> | ||||
| <li><a href="relnotes/17.1.3.html">17.1.3 release notes</a> | ||||
| <li><a href="relnotes/17.1.2.html">17.1.2 release notes</a> | ||||
| <li><a href="relnotes/17.0.7.html">17.0.7 release notes</a> | ||||
| <li><a href="relnotes/17.1.1.html">17.1.1 release notes</a> | ||||
| <li><a href="relnotes/17.0.6.html">17.0.6 release notes</a> | ||||
| <li><a href="relnotes/17.1.0.html">17.1.0 release notes</a> | ||||
| <li><a href="relnotes/17.0.5.html">17.0.5 release notes</a> | ||||
| <li><a href="relnotes/17.0.4.html">17.0.4 release notes</a> | ||||
| <li><a href="relnotes/17.0.3.html">17.0.3 release notes</a> | ||||
| <li><a href="relnotes/17.0.2.html">17.0.2 release notes</a> | ||||
| <li><a href="relnotes/13.0.6.html">13.0.6 release notes</a> | ||||
| <li><a href="relnotes/17.0.1.html">17.0.1 release notes</a> | ||||
| <li><a href="relnotes/13.0.5.html">13.0.5 release notes</a> | ||||
| <li><a href="relnotes/17.0.0.html">17.0.0 release notes</a> | ||||
| <li><a href="relnotes/13.0.4.html">13.0.4 release notes</a> | ||||
| <li><a href="relnotes/12.0.6.html">12.0.6 release notes</a> | ||||
| <li><a href="relnotes/13.0.3.html">13.0.3 release notes</a> | ||||
| <li><a href="relnotes/12.0.5.html">12.0.5 release notes</a> | ||||
| <li><a href="relnotes/13.0.2.html">13.0.2 release notes</a> | ||||
| <li><a href="relnotes/13.0.1.html">13.0.1 release notes</a> | ||||
| <li><a href="relnotes/12.0.4.html">12.0.4 release notes</a> | ||||
| <li><a href="relnotes/13.0.0.html">13.0.0 release notes</a> | ||||
| <li><a href="relnotes/12.0.3.html">12.0.3 release notes</a> | ||||
| <li><a href="relnotes/12.0.2.html">12.0.2 release notes</a> | ||||
| <li><a href="relnotes/12.0.1.html">12.0.1 release notes</a> | ||||
| <li><a href="relnotes/12.0.0.html">12.0.0 release notes</a> | ||||
| <li><a href="relnotes/11.2.2.html">11.2.2 release notes</a> | ||||
| <li><a href="relnotes/11.1.4.html">11.1.4 release notes</a> | ||||
| <li><a href="relnotes/11.2.1.html">11.2.1 release notes</a> | ||||
| <li><a href="relnotes/11.1.3.html">11.1.3 release notes</a> | ||||
| <li><a href="relnotes/11.2.0.html">11.2.0 release notes</a> | ||||
| <li><a href="relnotes/11.1.2.html">11.1.2 release notes</a> | ||||
| <li><a href="relnotes/11.0.9.html">11.0.9 release notes</a> | ||||
| <li><a href="relnotes/11.1.1.html">11.1.1 release notes</a> | ||||
| <li><a href="relnotes/11.0.8.html">11.0.8 release notes</a> | ||||
| <li><a href="relnotes/11.1.0.html">11.1.0 release notes</a> | ||||
| <li><a href="relnotes/11.0.7.html">11.0.7 release notes</a> | ||||
| <li><a href="relnotes/11.0.6.html">11.0.6 release notes</a> | ||||
| <li><a href="relnotes/11.0.5.html">11.0.5 release notes</a> | ||||
| <li><a href="relnotes/11.0.4.html">11.0.4 release notes</a> | ||||
| <li><a href="relnotes/11.0.3.html">11.0.3 release notes</a> | ||||
| <li><a href="relnotes/10.6.9.html">10.6.9 release notes</a> | ||||
| <li><a href="relnotes/11.0.2.html">11.0.2 release notes</a> | ||||
| <li><a href="relnotes/11.0.1.html">11.0.1 release notes</a> | ||||
| <li><a href="relnotes/10.6.8.html">10.6.8 release notes</a> | ||||
| <li><a href="relnotes/11.0.0.html">11.0.0 release notes</a> | ||||
| <li><a href="relnotes/10.6.7.html">10.6.7 release notes</a> | ||||
| <li><a href="relnotes/10.6.6.html">10.6.6 release notes</a> | ||||
| <li><a href="relnotes/10.6.5.html">10.6.5 release notes</a> | ||||
| <li><a href="relnotes/10.6.4.html">10.6.4 release notes</a> | ||||
| <li><a href="relnotes/10.6.3.html">10.6.3 release notes</a> | ||||
| <li><a href="relnotes/10.6.2.html">10.6.2 release notes</a> | ||||
| <li><a href="relnotes/10.5.9.html">10.5.9 release notes</a> | ||||
| <li><a href="relnotes/10.6.1.html">10.6.1 release notes</a> | ||||
| <li><a href="relnotes/10.5.8.html">10.5.8 release notes</a> | ||||
| <li><a href="relnotes/10.6.0.html">10.6.0 release notes</a> | ||||
| <li><a href="relnotes/10.5.7.html">10.5.7 release notes</a> | ||||
| <li><a href="relnotes/10.5.6.html">10.5.6 release notes</a> | ||||
| <li><a href="relnotes/10.5.5.html">10.5.5 release notes</a> | ||||
| <li><a href="relnotes/10.5.4.html">10.5.4 release notes</a> | ||||
| <li><a href="relnotes/10.5.3.html">10.5.3 release notes</a> | ||||
| <li><a href="relnotes/10.5.2.html">10.5.2 release notes</a> | ||||
| <li><a href="relnotes/10.4.7.html">10.4.7 release notes</a> | ||||
| <li><a href="relnotes/10.5.1.html">10.5.1 release notes</a> | ||||
| <li><a href="relnotes/10.5.0.html">10.5.0 release notes</a> | ||||
| <li><a href="relnotes/10.4.6.html">10.4.6 release notes</a> | ||||
| <li><a href="relnotes/10.4.5.html">10.4.5 release notes</a> | ||||
| <li><a href="relnotes/10.4.4.html">10.4.4 release notes</a> | ||||
| <li><a href="relnotes/10.4.3.html">10.4.3 release notes</a> | ||||
| <li><a href="relnotes/10.4.2.html">10.4.2 release notes</a> | ||||
| <li><a href="relnotes/10.3.7.html">10.3.7 release notes</a> | ||||
| <li><a href="relnotes/10.4.1.html">10.4.1 release notes</a> | ||||
| <li><a href="relnotes/10.3.6.html">10.3.6 release notes</a> | ||||
| <li><a href="relnotes/10.4.html">10.4 release notes</a> | ||||
| <li><a href="relnotes/10.3.5.html">10.3.5 release notes</a> | ||||
| <li><a href="relnotes/10.3.4.html">10.3.4 release notes</a> | ||||
| <li><a href="relnotes/10.3.3.html">10.3.3 release notes</a> | ||||
| <li><a href="relnotes/10.3.2.html">10.3.2 release notes</a> | ||||
| <li><a href="relnotes/10.3.1.html">10.3.1 release notes</a> | ||||
| <li><a href="relnotes/10.2.9.html">10.2.9 release notes</a> | ||||
| <li><a href="relnotes/10.3.html">10.3 release notes</a> | ||||
| <li><a href="relnotes/10.2.8.html">10.2.8 release notes</a> | ||||
| <li><a href="relnotes/10.2.7.html">10.2.7 release notes</a> | ||||
| <li><a href="relnotes/10.2.6.html">10.2.6 release notes</a> | ||||
| <li><a href="relnotes/10.2.5.html">10.2.5 release notes</a> | ||||
| <li><a href="relnotes/10.2.4.html">10.2.4 release notes</a> | ||||
| <li><a href="relnotes/10.2.3.html">10.2.3 release notes</a> | ||||
| <li><a href="relnotes/10.2.2.html">10.2.2 release notes</a> | ||||
| <li><a href="relnotes/10.2.1.html">10.2.1 release notes</a> | ||||
| <li><a href="relnotes/10.2.html">10.2 release notes</a> | ||||
| <li><a href="relnotes/10.1.6.html">10.1.6 release notes</a> | ||||
| <li><a href="relnotes/10.1.5.html">10.1.5 release notes</a> | ||||
| <li><a href="relnotes/10.1.4.html">10.1.4 release notes</a> | ||||
| <li><a href="relnotes/10.1.3.html">10.1.3 release notes</a> | ||||
| <li><a href="relnotes/10.1.2.html">10.1.2 release notes</a> | ||||
| <li><a href="relnotes/10.1.1.html">10.1.1 release notes</a> | ||||
| <li><a href="relnotes/10.1.html">10.1 release notes</a> | ||||
| <li><a href="relnotes/10.0.5.html">10.0.5 release notes</a> | ||||
| <li><a href="relnotes/10.0.4.html">10.0.4 release notes</a> | ||||
| <li><a href="relnotes/10.0.3.html">10.0.3 release notes</a> | ||||
| <li><a href="relnotes/10.0.2.html">10.0.2 release notes</a> | ||||
| <li><a href="relnotes/10.0.1.html">10.0.1 release notes</a> | ||||
| <li><a href="relnotes/10.0.html">10.0 release notes</a> | ||||
| <li><a href="relnotes/9.2.5.html">9.2.5 release notes</a> | ||||
| <li><a href="relnotes/9.2.4.html">9.2.4 release notes</a> | ||||
| <li><a href="relnotes/9.2.3.html">9.2.3 release notes</a> | ||||
| <li><a href="relnotes/9.2.2.html">9.2.2 release notes</a> | ||||
| <li><a href="relnotes/9.2.1.html">9.2.1 release notes</a> | ||||
| <li><a href="relnotes/9.2.html">9.2 release notes</a> | ||||
|   | ||||
| @@ -1,150 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.0.1 Release Notes / (December 12, 2013)</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.0.1 is a bug fix release which fixes bugs found since the 10.0 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 10.0.1 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts not supported. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| 0a72ca5b36046a658bf6038326ff32ed  MesaLib-10.0.1.tar.bz2 | ||||
| 01bde35c912e504ba62caf1ef9f7022c  MesaLib-10.0.1.tar.gz | ||||
| 59a174a11a89e6b1b8ee9c3f7e3c388c  MesaLib-10.0.1.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64323">Bug 64323</a> - Severe misrendering in Left 4 Dead 2</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68838">Bug 68838</a> - GLSL: struct declarations produce a "empty declaration warning" in 9.2</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=69155">Bug 69155</a> - [NV50 gallium] [piglit] bin/varying-packing-simple triggers memory corruption/failures</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70250">Bug 70250</a> - weston-terminal rendering corrupted with output transform 90 and 270</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70601">Bug 70601</a> - [SNB Bisected]Piglit spec/ARB_texture_float/multisample-formats 2 GL_ARB_texture_float fails</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72230">Bug 72230</a> - Unable to extract MesaLib-10.0.0.tar.{gz,bz2} with bsdtar</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72325">Bug 72325</a> - [swrast] piglit glean fbo regression</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72327">Bug 72327</a> - [swrast] piglit glean pointSprite regression</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>The full set of changes can be viewed by using the following git command:</p> | ||||
|  | ||||
| <pre> | ||||
|   git log mesa-10.0..mesa-10.0.1 | ||||
| </pre> | ||||
|  | ||||
| <p>Axel Davy (2):</p> | ||||
| <ul> | ||||
|   <li>egl/wayland: Flush the wl_display at the end of SwapBuffers</li> | ||||
|   <li>Enable throttling in SwapBuffers</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Chad Versace (2):</p> | ||||
| <ul> | ||||
|   <li>i965/hsw: Apply non-msrt fast color clear w/a to all HSW GTs</li> | ||||
|   <li>i965: Add extra-alignment for non-msrt fast color clear for all hw (v2)</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Dave Airlie (1):</p> | ||||
| <ul> | ||||
|   <li>swrast: fix readback regression since inversion fix</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Emil Velikov (1):</p> | ||||
| <ul> | ||||
|   <li>automake: include only one copy VERSION in tarball</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ian Romanick (3):</p> | ||||
| <ul> | ||||
|   <li>docs: Add 10.0 release md5sums</li> | ||||
|   <li>Remove a057b83 from the pick list</li> | ||||
|   <li>glsl: Don't emit empty declaration warning for a struct specifier</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ilia Mirkin (8):</p> | ||||
| <ul> | ||||
|   <li>mesa: don't leak performance monitors on context destroy</li> | ||||
|   <li>nv50: Fix GPU_READING/WRITING bit removal</li> | ||||
|   <li>nouveau: avoid leaking fences while waiting</li> | ||||
|   <li>nv50: wait on the buf's fence before sticking it into pushbuf</li> | ||||
|   <li>nv50: enable h264 and mpeg4 for nv98+ (vp3, vp4.0)</li> | ||||
|   <li>nouveau/video: update h264 picparm field names based on usage</li> | ||||
|   <li>nouveau/video: update a few more h264 picparm field names</li> | ||||
|   <li>nv50: report 15 max inputs for fragment programs</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Jordan Justen (1):</p> | ||||
| <ul> | ||||
|   <li>dri megadriver_stub: add compatibility for older DRI loaders</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kristian Høgsberg (2):</p> | ||||
| <ul> | ||||
|   <li>egl/wayland: Damage INT32_MAX x INT32_MAX region for eglSwapBuffers</li> | ||||
|   <li>egl/wayland: Send commit after flushing the driver context</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Maarten Lankhorst (1):</p> | ||||
| <ul> | ||||
|   <li>nouveau: Fix compiler warning regression</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Paul Berry (1):</p> | ||||
| <ul> | ||||
|   <li>i965/gen6: Fix multisample resolve blits for luminance/intensity 32F formats.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Thomas Hellstrom (1):</p> | ||||
| <ul> | ||||
|   <li>st/xa: Bump major version number to 2</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Tom Stellard (2):</p> | ||||
| <ul> | ||||
|   <li>r300/compiler/tests: Fix segfault</li> | ||||
|   <li>r300/compiler/tests: Fix line length check in test parser</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,161 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.0.2 Release Notes / (January 9, 2014)</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.0.2 is a bug fix release which fixes bugs found since the 10.0.1 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 10.0.2 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts not supported. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| de7d14baf0101b697c140d2f47ef27e9  MesaLib-10.0.2.tar.gz | ||||
| 8544c0ab3e438a08b5103421ea15b6d2  MesaLib-10.0.2.tar.bz2 | ||||
| 181b0d6c1afca38e98a930d0e564ed90  MesaLib-10.0.2.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70740">Bug 70740</a> - HiZ on SNB causes GPU hang with WebGL web app</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72026">Bug 72026</a> - SIGSEGV in fs_visitor::visit(ir_dereference_variable*)</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72264">Bug 72264</a> - GLSL error reporting</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72369">Bug 72369</a> - glitches in serious sam 3 with the sb shader backend</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>The full set of changes can be viewed by using the following git command:</p> | ||||
|  | ||||
| <pre> | ||||
|   git log mesa-10.0.1..mesa-10.0.2 | ||||
| </pre> | ||||
|  | ||||
| <p>Aaron Watry (8):</p> | ||||
| <ul> | ||||
|   <li>clover: Remove unused variable</li> | ||||
|   <li>pipe_loader/sw: close dev->lib when initialization fails</li> | ||||
|   <li>radeon/compute: Stop leaking LLVMContexts in radeon_llvm_parse_bitcode</li> | ||||
|   <li>r600/compute: Free compiled kernels when deleting compute state</li> | ||||
|   <li>r600/compute: Use the correct FREE macro when deleting compute state</li> | ||||
|   <li>radeon/llvm: Free target data at end of optimization</li> | ||||
|   <li>st/vdpau: Destroy context when initialization fails</li> | ||||
|   <li>r600/pipe: Stop leaking context->start_compute_cs_cmd.buf on EG/CM</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Alex Deucher (1):</p> | ||||
| <ul> | ||||
|   <li>r600g: fix SUMO2 pci id</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Alexander von Gluck IV (1):</p> | ||||
| <ul> | ||||
|   <li>Haiku: Add in public GL kit headers</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Anuj Phogat (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: Fix error code generation in glBeginConditionalRender()</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Carl Worth (2):</p> | ||||
| <ul> | ||||
|   <li>docs: Add md5sums for the 10.0.1 release.</li> | ||||
|   <li>Update version to 10.0.2</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Chad Versace (1):</p> | ||||
| <ul> | ||||
|   <li>i965/gen6: Fix HiZ hang in WebGL Google Maps</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Erik Faye-Lund (1):</p> | ||||
| <ul> | ||||
|   <li>glcpp: error on multiple #else/#elif directives</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Henri Verbeet (1):</p> | ||||
| <ul> | ||||
|   <li>i915: Add support for gl_FragData[0] reads.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ilia Mirkin (1):</p> | ||||
| <ul> | ||||
|   <li>nv50: fix a small leak on context destroy</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Jonathan Liu (2):</p> | ||||
| <ul> | ||||
|   <li>st/mesa: use pipe_sampler_view_release()</li> | ||||
|   <li>llvmpipe: use pipe_sampler_view_release() to avoid segfault</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kenneth Graunke (2):</p> | ||||
| <ul> | ||||
|   <li>i965: Fix 3DSTATE_PUSH_CONSTANT_ALLOC_PS packet creation.</li> | ||||
|   <li>Revert "mesa: Remove GLXContextID typedef from glx.h."</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kevin Rogovin (1):</p> | ||||
| <ul> | ||||
|   <li>Use line number information from entire function expression</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kristian Høgsberg (1):</p> | ||||
| <ul> | ||||
|   <li>dri_util: Don't assume __DRIcontext->driverPrivate is a gl_context</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Marek Olšák (2):</p> | ||||
| <ul> | ||||
|   <li>mesa: fix interpretation of glClearBuffer(drawbuffer)</li> | ||||
|   <li>st/mesa: fix glClear with multiple colorbuffers and different formats</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Paul Berry (2):</p> | ||||
| <ul> | ||||
|   <li>glsl: Teach ir_variable_refcount about ir_loop::counter variables.</li> | ||||
|   <li>glsl: Fix inconsistent assumptions about ir_loop::counter.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Vadim Girlin (1):</p> | ||||
| <ul> | ||||
|   <li>r600g/sb: fix stack size computation on evergreen</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,206 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.0.3 Release Notes / (February 3, 2014)</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.0.3 is a bug fix release which fixes bugs found since the 10.0.2 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 10.0.3 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts not supported. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| 5f9f463ef08129f6762106b434910adb  MesaLib-10.0.3.tar.bz2 | ||||
| fb3997b6500e153bc32370cb3fc4ca9e  MesaLib-10.0.3.tar.gz | ||||
| a07b4b6b9eb449b88a6cb5061e51c331  MesaLib-10.0.3.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72708">Bug 72708</a> - Master fails to build with older gcc due to -msse4.1</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72926">Bug 72926</a> - [REGRESSION,swrast] Memory-related crash with anti-aliasing enabled</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73096">Bug 73096</a> - Query GL_RGBA_SIGNED_COMPONENTS_EXT missing</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73100">Bug 73100</a> - Please use AC_PATH_TOOL instead of AC_PATH_PROG for llvm-config</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73418">Bug 73418</a> - OpenCL hangs graphics on CAYMAN</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73473">Bug 73473</a> - Potential crash bug in src/gallium/auxiliary/rtasm/rtasm_execmem.c</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73915">Bug 73915</a> - sample shading + centroid broken since f5cfb4a</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73956">Bug 73956</a> - SIGSEGV when passing GL_NONE to glReadBuffer</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74026">Bug 74026</a> - Compiler rejects chained assignments involving array dereferences</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>The full set of changes can be viewed by using the following git command:</p> | ||||
|  | ||||
| <pre> | ||||
|   git log mesa-10.0.2..mesa-10.0.3 | ||||
| </pre> | ||||
|  | ||||
| <p>Aaron Watry (2):</p> | ||||
| <ul> | ||||
|   <li>radeon: Move gfx/dma cs cleanup to r600_common_context_cleanup</li> | ||||
|   <li>st/dri: prevent leak of dri option default values</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Andreas Fänger (1):</p> | ||||
| <ul> | ||||
|   <li>swrast: fix delayed texel buffer allocation regression for OpenMP</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Anuj Phogat (3):</p> | ||||
| <ul> | ||||
|   <li>glsl: Disable ARB_texture_rectangle in shader version 100.</li> | ||||
|   <li>i965: Use sample barycentric coordinates with per sample shading</li> | ||||
|   <li>i965: Ignore 'centroid' interpolation qualifier in case of persample shading</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Brian Paul (3):</p> | ||||
| <ul> | ||||
|   <li>mesa: implement missing glGet(GL_RGBA_SIGNED_COMPONENTS_EXT) query</li> | ||||
|   <li>st/mesa: fix glReadBuffer(GL_NONE) segfault</li> | ||||
|   <li>draw: fix incorrect vertex size computation in LLVM drawing code</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Carl Worth (5):</p> | ||||
| <ul> | ||||
|   <li>Add md5sums for 10.0.2. release.</li> | ||||
|   <li>cherry-ignore: Ignore several patches not yet ready for the stable branch</li> | ||||
|   <li>Drop another couple of patches.</li> | ||||
|   <li>cherry-ignore: Ignore 4 patches at the request of the author, (Anuj).</li> | ||||
|   <li>Update version to 10.0.3</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Chad Versace (1):</p> | ||||
| <ul> | ||||
|   <li>i965/gen6/blorp: Emit more flushes to workaround hangs</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Chris Forbes (1):</p> | ||||
| <ul> | ||||
|   <li>i965: fold offset into coord for textureOffset(gsampler2DRect)</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Emil Velikov (5):</p> | ||||
| <ul> | ||||
|   <li>mesa: use signed temporary variable to store _ColorDrawBufferIndexes</li> | ||||
|   <li>st/mesa: use signed temporary variable to store _ColorDrawBufferIndexes</li> | ||||
|   <li>nv50: access only the available amount of textures</li> | ||||
|   <li>nv50: access only the available amount of constbuf</li> | ||||
|   <li>gallium/rtasm: handle mmap failures appropriately</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Eric Anholt (2):</p> | ||||
| <ul> | ||||
|   <li>i965: Fix handling of MESA_pack_invert in blit (PBO) readpixels.</li> | ||||
|   <li>i965: Don't do the temporary-and-blit-copy for INVALIDATE_RANGE maps.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ian Romanick (2):</p> | ||||
| <ul> | ||||
|   <li>mesa: Add COMPRESSED_RGBA_S3TC_DXT1_EXT to COMPRESSED_TEXTURE_FORMATS for GLES</li> | ||||
|   <li>radeon / r200: Pass the API into _mesa_initialize_context</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ilia Mirkin (2):</p> | ||||
| <ul> | ||||
|   <li>mesa: fix GL_COLOR_SUM enum for drivers without ARB_vertex_program</li> | ||||
|   <li>st/vdpau: don't return a device if the screen doesn't support NPOT</li> | ||||
| </ul> | ||||
|  | ||||
| <p>José Fonseca (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: Use IROUND instead of roundf.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kenneth Graunke (2):</p> | ||||
| <ul> | ||||
|   <li>glsl: Rename "expr" to "lhs_expr" in vector_extract munging code.</li> | ||||
|   <li>glsl: Fix chained assignments of vector channels.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Lauri Kasanen (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: Fix build to properly check for supported compiler flags</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Marek Olšák (2):</p> | ||||
| <ul> | ||||
|   <li>st/mesa: use sRGB formats for MSAA resolving if destination is sRGB</li> | ||||
|   <li>gallium/util: util_format_srgb should not return FORMAT_NONE for sRGB formats</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Matt Turner (2):</p> | ||||
| <ul> | ||||
|   <li>glcpp: Define GL_EXT_shader_integer_mix in both GL and ES.</li> | ||||
|   <li>glx: Update glxext.h to revision 24777.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Michał Górny (1):</p> | ||||
| <ul> | ||||
|   <li>Use AC_PATH_TOOL instead of AC_PATH_PROG for llvm-config.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Paul Berry (1):</p> | ||||
| <ul> | ||||
|   <li>i965: Ensure that all necessary state is re-emitted if we run out of aperture.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Paul Seidler (1):</p> | ||||
| <ul> | ||||
|   <li>build: move ARCH_LIBS definition outside of ASM definition</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Thomas Sondergaard (4):</p> | ||||
| <ul> | ||||
|   <li>mesa: Preliminary support for MSVC_VERSION=12.0</li> | ||||
|   <li>mesa: Fix compile error with MSVC 2013</li> | ||||
|   <li>mesa: Work around internal compiler error</li> | ||||
|   <li>mesa: Namespace qualify fma to override ambiguity with fma from math.h</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Tom Stellard (1):</p> | ||||
| <ul> | ||||
|   <li>r600g/compute: Emit DEALLOC_STATE on cayman after dispatching a compute shader.</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,191 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.0.4 Release Notes / (March 12, 2014)</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.0.4 is a bug fix release which fixes bugs found since the 10.0.3 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 10.0.4 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts not supported. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| 5a3c5b90776ec8a9fcd777c99e0607e2  MesaLib-10.0.4.tar.gz | ||||
| 8b148869d2620b0720c8a8d2b7eb3e38  MesaLib-10.0.4.tar.bz2 | ||||
| da2418d25bfbc273660af7e755fb367e  MesaLib-10.0.4.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71870">Bug 71870</a> - Metro: Last Light rendering issues</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72895">Bug 72895</a> - Missing trees in flightgear 2.12.1 with mesa 10.0.1</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74251">Bug 74251</a> - Segfault in st_finalize_texture with Texture Buffer</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74723">Bug 74723</a> - main/shaderapi.c:407: detach_shader: Assertion `shProg->Shaders[j]->Type == 0x8B31 || shProg->Shaders[j]->Type == 0x8B30' failed.</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>The full set of changes can be viewed by using the following git command:</p> | ||||
|  | ||||
| <pre> | ||||
|   git log mesa-10.0.3..mesa-10.0.4 | ||||
| </pre> | ||||
|  | ||||
| <p>Anuj Phogat (4):</p> | ||||
| <ul> | ||||
|   <li>mesa: Generate correct error code in glDrawBuffers()</li> | ||||
|   <li>mesa: Add GL_TEXTURE_CUBE_MAP_ARRAY to legal_get_tex_level_parameter_target()</li> | ||||
|   <li>glsl: Fix condition to generate shader link error</li> | ||||
|   <li>i965: Fix the region's pitch condition to use blitter</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Brian Paul (8):</p> | ||||
| <ul> | ||||
|   <li>r200: move driContextSetFlags(ctx) call after ctx var is initialized</li> | ||||
|   <li>radeon: move driContextSetFlags(ctx) call after ctx var is initialized</li> | ||||
|   <li>gallium/auxiliary/indices: replace free() with FREE()</li> | ||||
|   <li>draw: fix incorrect color of flat-shaded clipped lines</li> | ||||
|   <li>st/mesa: avoid sw fallback for getting/decompressing textures</li> | ||||
|   <li>mesa: update assertion in detach_shader() for geom shaders</li> | ||||
|   <li>mesa: do depth/stencil format conversion in glGetTexImage</li> | ||||
|   <li>softpipe: use 64-bit arithmetic in softpipe_resource_layout()</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Carl Worth (4):</p> | ||||
| <ul> | ||||
|   <li>docs: Add md5sums for 10.0.3 release</li> | ||||
|   <li>main: Avoid double-free of shader Label</li> | ||||
|   <li>get-pick-list: Update to only find patches nominated for the 10.0 branch</li> | ||||
|   <li>Update version to 10.0.4</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Chris Forbes (1):</p> | ||||
| <ul> | ||||
|   <li>i965: Validate (and resolve) all the bound textures.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Christian König (1):</p> | ||||
| <ul> | ||||
|   <li>radeon/uvd: fix feedback buffer handling v2</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Daniel Kurtz (1):</p> | ||||
| <ul> | ||||
|   <li>glsl: Add locking to builtin_builder singleton</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Emil Velikov (3):</p> | ||||
| <ul> | ||||
|   <li>dri/nouveau: Pass the API into _mesa_initialize_context</li> | ||||
|   <li>nv50: correctly calculate the number of vertical blocks during transfer map</li> | ||||
|   <li>dri/i9*5: correctly calculate the amount of system memory</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Fredrik Höglund (3):</p> | ||||
| <ul> | ||||
|   <li>mesa: Preserve the NewArrays state when copying a VAO</li> | ||||
|   <li>glx: Fix the default values for GLXFBConfig attributes</li> | ||||
|   <li>glx: Fix the GLXFBConfig attrib sort priorities</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Hans (2):</p> | ||||
| <ul> | ||||
|   <li>util: don't define isfinite(), isnan() for MSVC >= 1800</li> | ||||
|   <li>mesa: don't define c99 math functions for MSVC >= 1800</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ian Romanick (6):</p> | ||||
| <ul> | ||||
|   <li>meta: Release resources used by decompress_texture_image</li> | ||||
|   <li>meta: Release resources used by _mesa_meta_DrawPixels</li> | ||||
|   <li>meta: Fallback to software for GetTexImage of compressed GL_TEXTURE_CUBE_MAP_ARRAY</li> | ||||
|   <li>meta: Consistenly use non-Apple VAO functions</li> | ||||
|   <li>glcpp: Only warn for macro names containing __</li> | ||||
|   <li>glsl: Only warn for macro names containing __</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ilia Mirkin (3):</p> | ||||
| <ul> | ||||
|   <li>nv30: report 8 maximum inputs</li> | ||||
|   <li>nouveau/video: make sure that firmware is present when checking caps</li> | ||||
|   <li>nouveau: fix chipset checks for nv1a by using the oclass instead</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Julien Cristau (1):</p> | ||||
| <ul> | ||||
|   <li>glx/dri2: fix build failure on HURD</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kenneth Graunke (2):</p> | ||||
| <ul> | ||||
|   <li>glsl: Don't lose precision qualifiers when encountering "centroid".</li> | ||||
|   <li>i965: Create a hardware context before initializing state module.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kusanagi Kouichi (1):</p> | ||||
| <ul> | ||||
|   <li>targets/vdpau: Always use c++ to link</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Marek Olšák (1):</p> | ||||
| <ul> | ||||
|   <li>st/mesa: fix crash when a shader uses a TBO and it's not bound</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Matt Turner (1):</p> | ||||
| <ul> | ||||
|   <li>glsl: Initialize ubo_binding_mask flags to zero.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Paul Berry (2):</p> | ||||
| <ul> | ||||
|   <li>glsl: Make condition_to_hir() callable from outside ast_iteration_statement.</li> | ||||
|   <li>glsl: Fix continue statements in do-while loops.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Tom Stellard (1):</p> | ||||
| <ul> | ||||
|   <li>r600g/compute: PIPE_CAP_COMPUTE should be false for pre-evergreen GPUs</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Topi Pohjolainen (1):</p> | ||||
| <ul> | ||||
|   <li>i965/blorp: do not use unnecessary hw-blending support</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,173 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.0.5 Release Notes / April 18, 2014</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.0.5 is a bug fix release which fixes bugs found since the 10.0.4 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 10.0.5 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts not supported. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| db606aadd0fe321f3664099677d159bc  MesaLib-10.0.5.tar.gz | ||||
| e6009ccd8898d7104bb325b6af9ec354  MesaLib-10.0.5.tar.bz2 | ||||
| c8ab9e502542bf32299a4df85b0b704d  MesaLib-10.0.5.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=58660">Bug 58660</a> - CAYMAN broken with HyperZ on</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64471">Bug 64471</a> - Radeon HD6570 lockup in Brütal Legend with HyperZ</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66352">Bug 66352</a> - GPU lockup in L4D2 on TURKS with HyperZ</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68799">Bug 68799</a> - [APITRACE] Hyper-Z lockup with Falcon BMS 4.32u6 on CAYMAN</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71547">Bug 71547</a> - compilation failure :#error "SSE4.1 instruction set not enabled"</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72685">Bug 72685</a> - [radeonsi hyperz] Artifacts in Unigine Sanctuary</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73088">Bug 73088</a> - [HyperZ] Juniper (6770): Gone Home / Unigine Heaven 4.0 lock up system after several minutes of use</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74428">Bug 74428</a> - hyperz causes gpu hang in Counter-strike: Source</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74803">Bug 74803</a> - [r600g] HyperZ broken on RV630 (Cogs shadows are broken)</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74863">Bug 74863</a> - [r600g] HyperZ broken on RV770 and CYPRESS (Left 4 Dead 2 trees corruption) bisected!</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74892">Bug 74892</a> - HyperZ GPU lockup with radeonsi 7970M PITCAIRN and Distance Alpha game</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74988">Bug 74988</a> - Buffer overrun (segfault) decompressing ETC2 texture in GLBenchmark 3.0 Manhattan</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=75279">Bug 75279</a> - XCloseDisplay() takes one minute around nouveau_dri.so, freezing Firefox startup</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77102">Bug 77102</a> - gallium nouveau has no profile in vdpau and libva</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77207">Bug 77207</a> - [ivb/hsw] batch overwritten with garbage</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>The full set of changes can be viewed by using the following git command:</p> | ||||
|  | ||||
| <pre> | ||||
|   git log mesa-10.0.4..mesa-10.0.5 | ||||
| </pre> | ||||
|  | ||||
| <p>Alex Deucher (1):</p> | ||||
| <ul> | ||||
|   <li>radeon: reverse DBG_NO_HYPERZ logic</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Brian Paul (9):</p> | ||||
| <ul> | ||||
|   <li>mesa: add unpacking code for MESA_FORMAT_Z32_FLOAT_S8X24_UINT</li> | ||||
|   <li>mesa: fix copy & paste bugs in pack_ubyte_SARGB8()</li> | ||||
|   <li>mesa: fix copy & paste bugs in pack_ubyte_SRGB8()</li> | ||||
|   <li>mesa: fix unpack_Z32_FLOAT_X24S8() / unpack_Z32_FLOAT() mix-up</li> | ||||
|   <li>st/mesa: add null pointer checking in query object functions</li> | ||||
|   <li>mesa: fix glMultiDrawArrays inside a display list</li> | ||||
|   <li>cso: fix sampler view count in cso_set_sampler_views()</li> | ||||
|   <li>svga: replace sampler assertion with conditional</li> | ||||
|   <li>svga: move LIST_INITHEAD(dirty_buffers) earlier in svga_context_create()</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Carl Worth (3):</p> | ||||
| <ul> | ||||
|   <li>docs: Add md5sums for the 10.0.4 release.</li> | ||||
|   <li>Ignore patches which don't apply.</li> | ||||
|   <li>Update version to 10.0.5</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Christian König (2):</p> | ||||
| <ul> | ||||
|   <li>st/mesa: recreate sampler view on context change v3</li> | ||||
|   <li>st/mesa: fix sampler view handling with shared textures v4</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Courtney Goeltzenleuchter (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: add bounds checking to eliminate buffer overrun</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Emil Velikov (2):</p> | ||||
| <ul> | ||||
|   <li>mesa: return v.value_int64 when the requested type is TYPE_INT64</li> | ||||
|   <li>glx: drop obsolete _XUnlock_Mutex in __glXInitialize error path</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Eric Anholt (1):</p> | ||||
| <ul> | ||||
|   <li>i965: Fix buffer overruns in MSAA MCS buffer clearing.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ilia Mirkin (6):</p> | ||||
| <ul> | ||||
|   <li>nouveau: fix fence waiting logic in screen destroy</li> | ||||
|   <li>nv50: adjust blit_3d handling of ms output textures</li> | ||||
|   <li>mesa/main: condition GL_DEPTH_STENCIL on ARB_depth_texture</li> | ||||
|   <li>nouveau: add forgotten GL_COMPRESSED_INTENSITY to texture format list</li> | ||||
|   <li>nouveau: there may not have been a texture if the fbo was incomplete</li> | ||||
|   <li>nouveau: fix firmware check on nvd7/nvd9</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Johannes Nixdorf (1):</p> | ||||
| <ul> | ||||
|   <li>configure.ac: fix the detection of expat with pkg-config</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Jonathan Gray (1):</p> | ||||
| <ul> | ||||
|   <li>gallium: add endian detection for OpenBSD</li> | ||||
| </ul> | ||||
|  | ||||
| <p>José Fonseca (1):</p> | ||||
| <ul> | ||||
|   <li>draw: Duplicate TGSI tokens in draw_pipe_pstipple module.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Matt Turner (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: Wrap SSE4.1 code in #ifdef __SSE4_1__.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Paul Berry (1):</p> | ||||
| <ul> | ||||
|   <li>i965/gen7: Prefer vertical alignment of 4 when possible.</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -14,7 +14,7 @@ | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.0 Release Notes / (November 30th, 2013)</h1> | ||||
| <h1>Mesa 10.0 Release Notes / TBD</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.0 is a new development release. | ||||
| @@ -33,9 +33,7 @@ because compatibility contexts are not supported. | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| b38626b96c664db67a534d7859682436  MesaLib-10.0.0.tar.gz | ||||
| f3fe55d9735bea158bbe97ed9a0da819  MesaLib-10.0.0.tar.bz2 | ||||
| c6ee1ce51e3bf35947d2978b872daf51  MesaLib-10.0.0.zip | ||||
| TBD. | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| @@ -57,89 +55,16 @@ Note: some of the new features are only available with certain drivers. | ||||
| <li>GL_ARB_vertex_attrib_binding</li> | ||||
| <li>GL_ARB_vertex_type_10f_11f_11f_rev on i965 and r600g</li> | ||||
| <li>GL_KHR_debug</li> | ||||
| <li>GLX_MESA_query_renderer</li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>Attempts have been made to <b>not</b> include bugs fixed in previous 9.2 | ||||
| releases or bugs that were regressions during 10.0 development. This list is | ||||
| likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=47755">Bug 47755</a> - [glsl-compiler] no error checking when Interpolation qualifier for built-in variable is different in vertex and fragment shader</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=52171">Bug 52171</a> - [gallium/r600/clover] Simple benchmarks failed to run</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=53077">Bug 53077</a> - [IVB] Output error with msaa when both of framebuffer and source color's alpha are not 1</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=54867">Bug 54867</a> - bug in r300 compiler</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60929">Bug 60929</a> - [r600-llvm] mono games with opengl are blocking on start</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62142">Bug 62142</a> - Mesa/demo mipmap_limits upside down with running by SOFTWARE</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62698">Bug 62698</a> - [bisected] WebGL demo "Consumed": texstate.c:628: update_texture_state: Assertion „__builtin_popcount(enabledTargets) == 1“ failed.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64225">Bug 64225</a> - bfgminer --scyte generates Segmentation Fault on Northern Island</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64226">Bug 64226</a> - python-opencl package generate segmentation fault at pipe_r600.so</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64261">Bug 64261</a> - [SNB Bisected]Ogles3conform GL3Tests_color_buffer_float_color_buffer_float_clamp_fixed.test fail</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66213">Bug 66213</a> - Certain Mesa Demos Rendering Inverted (vertically)</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66806">Bug 66806</a> - [softpipe] glxgears floating point exception</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=67921">Bug 67921</a> - [bisected commit 883987] crosscompiling fails with util/u_cpu_detect.c:247:4: error: 'asm' undeclared (first use in this function)</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68162">Bug 68162</a> - [radeonsi] texture rendering is broken in Source-Engine games</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68451">Bug 68451</a> - Texture flicker in native Dota2 in mesa 9.2.0rc1</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68503">Bug 68503</a> - Graphical glitches in Serious Sam 3 when SB is enabled</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68792">Bug 68792</a> - Problems during playback of h264 files using UVD and VLC on AMD E-350 CPU</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68845">Bug 68845</a> - VDPAU/UVD regression</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=69078">Bug 69078</a> - Modern Warfare (1, 2 and 3) broken in Wine on SNB</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=69321">Bug 69321</a> - starting openCL crashes/boots system</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70042">Bug 70042</a> - Major texture flickering in Dota 2 (r600g on HD 6950)</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70088">Bug 70088</a> - Glamor on r600g crashes Xserver</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70123">Bug 70123</a> - Freeze caused by 'winsys/radeon: remove cs_queue_empty' commit</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70327">Bug 70327</a> - Casting floating point variable to integer not working properly while constant gets converted properly</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70891">Bug 70891</a> - CL_INVALID_BUILD_OPTIONS results in CL_INVALID_DEVICE when asking for build log</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70913">Bug 70913</a> - [PIGLIT,radeonsi] crash in "spec/EXT_framebuffer_multisample/sample-alpha-to-coverage 4 depth" (buffer overflow)</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71022">Bug 71022</a> - configure: error: Expat required for DRI.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71110">Bug 71110</a> - xorg_driver.c:1030:2: error: too many arguments to function ‘DamageUnregister’</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71172">Bug 71172</a> - Segfault when running glxinfo. NV25GL [Quadro4 900 XGL]</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71512">Bug 71512</a> - dlopen.h:54: undefined reference to `dlopen'</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71870">Bug 71870</a> - Metro: Last Light rendering issues</li> | ||||
|  | ||||
| </ul> | ||||
| TBD. | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <ul> | ||||
| <li>Removed X.Org state tracker (unmaintained and broken)</li> | ||||
| <li>Removed the video-accel r300 targets</li> | ||||
| <li>Removed the video-accel softpipe targets</li> | ||||
| </ul> | ||||
| TBD. | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
|   | ||||
| @@ -1,254 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.1.1 Release Notes / April 18, 2014</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.1.1 is a bug fix release which fixes bugs found since the 10.1 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 10.1.1 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts are not supported. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| 96e63674ccfa98e7ec6eb4fee3f770c3  MesaLib-10.1.1.tar.gz | ||||
| 1fde7ed079df7aeb9b6a744ca033de8d  MesaLib-10.1.1.tar.bz2 | ||||
| e64d0a562638664b13d2edf22321df59  MesaLib-10.1.1.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71547">Bug 71547</a> - compilation failure :#error "SSE4.1 instruction set not enabled"</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74868">Bug 74868</a> - r600g: Diablo III Crashes After a few minutes</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74988">Bug 74988</a> - Buffer overrun (segfault) decompressing ETC2 texture in GLBenchmark 3.0 Manhattan</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=75279">Bug 75279</a> - XCloseDisplay() takes one minute around nouveau_dri.so, freezing Firefox startup</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=75543">Bug 75543</a> - OSMesa Gallium OSMesaMakeCurrent</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=75660">Bug 75660</a> - u_inlines.h:277:pipe_buffer_map_range: Assertion `length' failed.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76323">Bug 76323</a> - GLSL compiler ignores layout(binding=N) on uniform blocks</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76377">Bug 76377</a> - DRI3 should only be enabled on Linux due to a udev dependency</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76749">Bug 76749</a> - [HSW] DOTA world lighting has no effect</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77102">Bug 77102</a> - gallium nouveau has no profile in vdpau and libva</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77207">Bug 77207</a> - [ivb/hsw] batch overwritten with garbage</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>Aaron Watry (1):</p> | ||||
| <ul> | ||||
|   <li>gallium/util: Fix memory leak</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Alexander von Gluck IV (1):</p> | ||||
| <ul> | ||||
|   <li>haiku: Fix build through scons corrections and viewport fixes</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Anuj Phogat (2):</p> | ||||
| <ul> | ||||
|   <li>mesa: Set initial internal format of a texture to GL_RGBA</li> | ||||
|   <li>mesa: Allow GL_DEPTH_COMPONENT and GL_DEPTH_STENCIL combinations in glTexImage{123}D()</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Brian Paul (12):</p> | ||||
| <ul> | ||||
|   <li>softpipe: use 64-bit arithmetic in softpipe_resource_layout()</li> | ||||
|   <li>mesa: don't call ctx->Driver.ClearBufferSubData() if size==0</li> | ||||
|   <li>st/osmesa: check buffer size when searching for buffers</li> | ||||
|   <li>mesa: fix copy & paste bugs in pack_ubyte_SARGB8()</li> | ||||
|   <li>mesa: fix copy & paste bugs in pack_ubyte_SRGB8()</li> | ||||
|   <li>c11/threads: don't include assert.h if the assert macro is already defined</li> | ||||
|   <li>mesa: fix unpack_Z32_FLOAT_X24S8() / unpack_Z32_FLOAT() mix-up</li> | ||||
|   <li>st/mesa: add null pointer checking in query object functions</li> | ||||
|   <li>mesa: fix glMultiDrawArrays inside a display list</li> | ||||
|   <li>cso: fix sampler view count in cso_set_sampler_views()</li> | ||||
|   <li>svga: replace sampler assertion with conditional</li> | ||||
|   <li>svga: move LIST_INITHEAD(dirty_buffers) earlier in svga_context_create()</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Carl Worth (3):</p> | ||||
| <ul> | ||||
|   <li>cherry-ignore: Ignore a few patches</li> | ||||
|   <li>glsl: Allow explicit binding on atomics again</li> | ||||
|   <li>Update VERSION to 10.1.1</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Chia-I Wu (1):</p> | ||||
| <ul> | ||||
|   <li>i965/vec4: fix record clearing in copy propagation</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Christian König (2):</p> | ||||
| <ul> | ||||
|   <li>st/mesa: recreate sampler view on context change v3</li> | ||||
|   <li>st/mesa: fix sampler view handling with shared textures v4</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Courtney Goeltzenleuchter (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: add bounds checking to eliminate buffer overrun</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Emil Velikov (5):</p> | ||||
| <ul> | ||||
|   <li>nv50: add missing brackets when handling the samplers array</li> | ||||
|   <li>mesa: return v.value_int64 when the requested type is TYPE_INT64</li> | ||||
|   <li>configure: enable dri3 only for linux</li> | ||||
|   <li>glx: drop obsolete _XUnlock_Mutex in __glXInitialize error path</li> | ||||
|   <li>configure: cleanup libudev handling</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Eric Anholt (1):</p> | ||||
| <ul> | ||||
|   <li>i965: Fix buffer overruns in MSAA MCS buffer clearing.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Hans (2):</p> | ||||
| <ul> | ||||
|   <li>util: don't define isfinite(), isnan() for MSVC >= 1800</li> | ||||
|   <li>mesa: don't define c99 math functions for MSVC >= 1800</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ian Romanick (7):</p> | ||||
| <ul> | ||||
|   <li>linker: Split set_uniform_binding into separate functions for blocks and samplers</li> | ||||
|   <li>linker: Various trivial clean-ups in set_sampler_binding</li> | ||||
|   <li>linker: Fold set_uniform_binding into call site</li> | ||||
|   <li>linker: Clean up "unused parameter" warnings</li> | ||||
|   <li>linker: Set block bindings based on UniformBlocks rather than UniformStorage</li> | ||||
|   <li>linker: Set binding for all elements of UBO array</li> | ||||
|   <li>glsl: Propagate explicit binding information from the AST all the way to the linker</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ilia Mirkin (8):</p> | ||||
| <ul> | ||||
|   <li>nouveau: fix fence waiting logic in screen destroy</li> | ||||
|   <li>nv50: adjust blit_3d handling of ms output textures</li> | ||||
|   <li>loader: add special logic to distinguish nouveau from nouveau_vieux</li> | ||||
|   <li>mesa/main: condition GL_DEPTH_STENCIL on ARB_depth_texture</li> | ||||
|   <li>nouveau: add forgotten GL_COMPRESSED_INTENSITY to texture format list</li> | ||||
|   <li>nouveau: there may not have been a texture if the fbo was incomplete</li> | ||||
|   <li>nvc0/ir: move sample id to second source arg to fix sampler2DMS</li> | ||||
|   <li>nouveau: fix firmware check on nvd7/nvd9</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Johannes Nixdorf (1):</p> | ||||
| <ul> | ||||
|   <li>configure.ac: fix the detection of expat with pkg-config</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Jonathan Gray (7):</p> | ||||
| <ul> | ||||
|   <li>gallium: add endian detection for OpenBSD</li> | ||||
|   <li>loader: use 0 instead of FALSE which isn't defined</li> | ||||
|   <li>loader: don't limit the non-udev path to only android</li> | ||||
|   <li>megadriver_stub.c: don't use _GNU_SOURCE to gate the compat code</li> | ||||
|   <li>egl/dri2: don't require libudev to build drm/wayland platforms</li> | ||||
|   <li>egl/dri2: use drm macros to construct device name</li> | ||||
|   <li>configure: don't require libudev for gbm or egl drm/wayland</li> | ||||
| </ul> | ||||
|  | ||||
| <p>José Fonseca (4):</p> | ||||
| <ul> | ||||
|   <li>c11/threads: Fix nano to milisecond conversion.</li> | ||||
|   <li>mapi/u_thread: Use GetCurrentThreadId</li> | ||||
|   <li>c11/threads: Don't implement thrd_current on Windows.</li> | ||||
|   <li>draw: Duplicate TGSI tokens in draw_pipe_pstipple module.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kenneth Graunke (4):</p> | ||||
| <ul> | ||||
|   <li>i965/fs: Fix register comparisons in saturate propagation.</li> | ||||
|   <li>glsl: Fix lack of i2u in lower_ubo_reference.</li> | ||||
|   <li>i965: Stop advertising GL_MESA_ycbcr_texture.</li> | ||||
|   <li>glsl: Try vectorizing when seeing a repeated assignment to a channel.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Marek Olšák (13):</p> | ||||
| <ul> | ||||
|   <li>r600g: fix texelFetchOffset GLSL functions</li> | ||||
|   <li>r600g: fix blitting the last 2 mipmap levels for Evergreen</li> | ||||
|   <li>mesa: fix the format of glEdgeFlagPointer</li> | ||||
|   <li>r600g,radeonsi: fix MAX_TEXTURE_3D_LEVELS and MAX_TEXTURE_ARRAY_LAYERS limits</li> | ||||
|   <li>st/mesa: fix per-vertex edge flags and GLSL support (v2)</li> | ||||
|   <li>mesa: mark GL_RGB9_E5 as not color-renderable</li> | ||||
|   <li>mesa: fix texture border handling for cube arrays</li> | ||||
|   <li>mesa: allow generating mipmaps for cube arrays</li> | ||||
|   <li>mesa: fix software fallback for generating mipmaps for cube arrays</li> | ||||
|   <li>mesa: fix software fallback for generating mipmaps for 3D textures</li> | ||||
|   <li>st/mesa: fix generating mipmaps for cube arrays</li> | ||||
|   <li>st/mesa: drop the lowering of quad strips to triangle strips</li> | ||||
|   <li>r600g: implement edge flags</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Matt Turner (4):</p> | ||||
| <ul> | ||||
|   <li>mesa: Wrap SSE4.1 code in #ifdef __SSE4_1__.</li> | ||||
|   <li>i965/fs: Fix off-by-one in saturate propagation.</li> | ||||
|   <li>i965/fs: Don't propagate saturate modifiers into partial writes.</li> | ||||
|   <li>i965/fs: Don't propagate saturation modifiers if there are source modifiers.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Michel Dänzer (1):</p> | ||||
| <ul> | ||||
|   <li>r600g: Don't leak bytecode on shader compile failure</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Mike Stroyan (1):</p> | ||||
| <ul> | ||||
|   <li>i965: Avoid dependency hints on math opcodes</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Thomas Hellstrom (5):</p> | ||||
| <ul> | ||||
|   <li>winsys/svga: Replace the query mm buffer pool with a slab pool v3</li> | ||||
|   <li>winsys/svga: Update the vmwgfx_drm.h header to latest version from kernel</li> | ||||
|   <li>winsys/svga: Fix prime surface references also for guest-backed surfaces</li> | ||||
|   <li>st/xa: Bind destination before setting new state</li> | ||||
|   <li>st/xa: Make sure unused samplers are set to NULL</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Tom Stellard (1):</p> | ||||
| <ul> | ||||
|   <li>configure: Use LLVM shared libraries by default</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,179 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.1.2 Release Notes / (May 5, 2014)</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.1.2 is a bug fix release which fixes bugs found since the 10.1.1 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 10.1.2 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts are not supported. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| 37d79f94b1f41852a89d1fc3900bea76  MesaLib-10.1.2.tar.gz | ||||
| 28b60d15ac9f364da1e0155911eaf44e  MesaLib-10.1.2.tar.bz2 | ||||
| 05300039085a65fc53c5472c4bb5747a  MesaLib-10.1.2.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27499">Bug 27499</a> - [855GM i915] GL_LINE_STIPPLE displays incorrect colors</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=75723">Bug 75723</a> - (regression since Linux 3.14?) brw_get_graphics_reset_status: Assertion `brw->hw_ctx != ((void *)0)' failed</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76894">Bug 76894</a> - Piglit/spec/EXT_framebuffer_object/fbo-bind-renderbuffer failed</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77702">Bug 77702</a> - [i965 Bisected]Piglit spec/NV_conditional_render_blitframebuffer fails</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>Ander Conselvan de Oliveira (2):</p> | ||||
| <ul> | ||||
|   <li>gbm/dri: Fix out-of-memory error path in dri_device_create()</li> | ||||
|   <li>egl: Protect use of gbm_dri with ifdef HAVE_DRM_PLATFORM</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Anuj Phogat (27):</p> | ||||
| <ul> | ||||
|   <li>mesa: Fix glGetVertexAttribi(GL_VERTEX_ATTRIB_ARRAY_SIZE)</li> | ||||
|   <li>swrast: Add glBlitFramebuffer to commands affected by conditional rendering</li> | ||||
|   <li>mesa: Fix error condition for multisample proxy texture targets</li> | ||||
|   <li>i965: Put an assertion to check valid varying_to_slot[varying]</li> | ||||
|   <li>i965: Fix component mask and varying_to_slot mapping for gl_Layer</li> | ||||
|   <li>i965: Fix component mask and varying_to_slot mapping for gl_ViewportIndex</li> | ||||
|   <li>mesa: Add helper function _mesa_is_format_integer()</li> | ||||
|   <li>mesa: Add error condition for integer formats in glGetTexImage()</li> | ||||
|   <li>mesa: Add an error condition in glGetFramebufferAttachmentParameteriv()</li> | ||||
|   <li>mesa: Fix error code generation in glReadPixels()</li> | ||||
|   <li>glsl: Allow overlapping locations for vertex input attributes</li> | ||||
|   <li>mesa: Fix querying location of nth element of an array variable</li> | ||||
|   <li>mesa: Use location VERT_ATTRIB_GENERIC0 for vertex attribute 0</li> | ||||
|   <li>glsl: Compile error if fs defines conflicting qualifiers for gl_FragCoord</li> | ||||
|   <li>glsl: Compile error if fs uses gl_FragCoord before first redeclaration</li> | ||||
|   <li>mesa: Add entry for extension ARB_texture_stencil8</li> | ||||
|   <li>mesa: Add error condition for format=STENCIL_INDEX in glGetTexImage()</li> | ||||
|   <li>i965: Fix crash in do_blit_readpixels()</li> | ||||
|   <li>mesa: Add missing types in _mesa_texstore_xx_xx() functions</li> | ||||
|   <li>mesa: Allow srcFormat=GL_DEPTH_STENCIL in _mesa_texstore_xx_xx() functions</li> | ||||
|   <li>mesa: Add new helper function _mesa_unpack_depth_stencil_row()</li> | ||||
|   <li>mesa: Add support to unpack depth-stencil texture in to FLOAT_32_UNSIGNED_INT_24_8_REV</li> | ||||
|   <li>mesa: Allow FLOAT_32_UNSIGNED_INT_24_8_REV in get_tex_depth_stencil()</li> | ||||
|   <li>i965: Add glBlitFramebuffer to commands affected by conditional rendering</li> | ||||
|   <li>glsl: Use switch to allow adding more shader types</li> | ||||
|   <li>glsl: Link error if fs defines conflicting qualifiers for gl_FragCoord</li> | ||||
|   <li>glsl: Apply the link error conditions to GL_ARB_fragment_coord_conventions</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Benjamin Bellec (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: fix GetStringi error message with correct function name</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Brian Paul (1):</p> | ||||
| <ul> | ||||
|   <li>swrast: allocate swrast_texture_image::ImageSlices array if needed</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Carl Worth (4):</p> | ||||
| <ul> | ||||
|   <li>docs: Add the MD5 sums for the 10.1.1 release tar files.</li> | ||||
|   <li>cherry-ignore: Ignore a patch causing a regression</li> | ||||
|   <li>cherry-ignore: Drop an ignored patch now that piglit has been updated.</li> | ||||
|   <li>Update VERSION to 10.1.2</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Chris Forbes (1):</p> | ||||
| <ul> | ||||
|   <li>glsl: Only allow `invariant` on shader in/out between stages.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Eric Anholt (1):</p> | ||||
| <ul> | ||||
|   <li>i965: Fix render-to-texture in non-FinishRenderTexture cases.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ian Romanick (1):</p> | ||||
| <ul> | ||||
|   <li>dri3: Enable GLX_MESA_query_renderer on DRI3 too</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kenneth Graunke (2):</p> | ||||
| <ul> | ||||
|   <li>i965: Don't enable reset notification support on Gen4-5.</li> | ||||
|   <li>i965: Actually emit PIPELINE_SELECT and 3DSTATE_VF_STATISTICS.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Marek Olšák (10):</p> | ||||
| <ul> | ||||
|   <li>r300g: don't crash when getting NULL colorbuffers</li> | ||||
|   <li>st/mesa: remove trailing NULL colorbuffers</li> | ||||
|   <li>r600g: fix edge flags and layered rendering on R600-R700</li> | ||||
|   <li>r600g: disable async DMA on R700</li> | ||||
|   <li>r600g: fix MSAA resolve on R6xx when the destination is 1D-tiled</li> | ||||
|   <li>r600g: fix flushing on RV670, RS780, RS880 again</li> | ||||
|   <li>r600g: fix buffer copying on R600-R700</li> | ||||
|   <li>r600g: fix for broken CULL_FRONT behavior on R6xx</li> | ||||
|   <li>r600g: fix for an MSAA hang on RV770</li> | ||||
|   <li>r600g: fix hang on RV740 by using DX_RASTERIZATION_KILL instead of SX_MISC</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Michel Dänzer (2):</p> | ||||
| <ul> | ||||
|   <li>r600g: Disable LLVM by default at runtime for graphics</li> | ||||
|   <li>st/mesa: Fix NULL pointer dereference for incomplete framebuffers</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Neil Roberts (1):</p> | ||||
| <ul> | ||||
|   <li>wayland: Fix the logic in disabling the prime capability</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Samuel Iglesias Gonsalvez (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: fix check for dummy renderbuffer in _mesa_FramebufferRenderbufferEXT()</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Thomas Hellstrom (1):</p> | ||||
| <ul> | ||||
|   <li>st/xa: Cache render target surface</li> | ||||
| </ul> | ||||
|  | ||||
| <p>nick (1):</p> | ||||
| <ul> | ||||
|   <li>swrast: Fix vertex color in _swsetup_Translate()</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,90 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.1.3 Release Notes / (May 9, 2014)</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.1.3 is a bug fix release which fixes bugs found since the 10.1.2 release. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Note: Mesa 10.1.3 is being released sooner than originally scheduled to make | ||||
| available a fix for a performance rgression that was inadvertently introduced | ||||
| to Mesa 10.1.2. The performance regression is reported to make vmware | ||||
| swapbuffers fall back to software.  | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.1.3 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts are not supported. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| 665fe1656aaa2c37b32042068aff92cb  MesaLib-10.1.3.tar.gz | ||||
| ba6dbe2b9cab0b4de840c996b9b6a3ad  MesaLib-10.1.3.tar.bz2 | ||||
| 4e6f26330a63d3c47e62ac4bdead39e8  MesaLib-10.1.3.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77245">Bug 77245</a> - Bogus GL_ARB_explicit_attrib_location layout identifier warnings</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>Carl Worth (3):</p> | ||||
| <ul> | ||||
|   <li>docs: Add MD5 sums for Mesa 10.1.2</li> | ||||
|   <li>get-pick-list.sh: Require explicit "10.1" for nominating stable patches</li> | ||||
|   <li>VERSION: Update to 10.1.3</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kenneth Graunke (2):</p> | ||||
| <ul> | ||||
|   <li>mesa: Fix MaxNumLayers for 1D array textures.</li> | ||||
|   <li>i965: Fix depth (array slices) computation for 1D_ARRAY render targets.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Tapani Pälli (1):</p> | ||||
| <ul> | ||||
|   <li>glsl: fix bogus layout qualifier warnings</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Thomas Hellstrom (1):</p> | ||||
| <ul> | ||||
|   <li>st/xa: Fix performance regression introduced by commit "Cache render target surface"</li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,100 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.1.4 Release Notes / (May 20, 2014)</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.1.4 is a bug fix release which fixes bugs found since the 10.1.3 release. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.1.4 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts are not supported. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| e934365d77f384bfaec844999440bef8  MesaLib-10.1.4.tar.gz | ||||
| 6fddee101f49b7409cd29994c34ddee7  MesaLib-10.1.4.tar.bz2 | ||||
| ba5f48e7d5e373922c804c2651fec6c1  MesaLib-10.1.4.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=78225">Bug 78225</a> - Compile error due to undefined reference to `gbm_dri_backend', fix attached</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=78537">Bug 78537</a> - no anisotropic filtering in a native Half-Life 2</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>Brian Paul (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: fix double-freeing of dispatch tables inside glBegin/End.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Carl Worth (3):</p> | ||||
| <ul> | ||||
|   <li>docs: Add MD5 sums for 10.1.3</li> | ||||
|   <li>cherry-ignore: Roland and Michel agreed to drop these patches.</li> | ||||
|   <li>VERSION: Update to 10.1.4</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Emil Velikov (1):</p> | ||||
| <ul> | ||||
|   <li>configure: error out if building GBM without dri</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Eric Anholt (1):</p> | ||||
| <ul> | ||||
|   <li>i965/vs: Use samplers for UBOs in the VS like we do for non-UBO pulls.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ilia Mirkin (3):</p> | ||||
| <ul> | ||||
|   <li>nv50/ir: make sure to reverse cond codes on all the OP_SET variants</li> | ||||
|   <li>nv50: fix setting of texture ms info to be per-stage</li> | ||||
|   <li>nv50/ir: fix integer mul lowering for u32 x u32 -> high u32</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Michel Dänzer (1):</p> | ||||
| <ul> | ||||
|   <li>radeonsi: Fix anisotropic filtering state setup</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Tom Stellard (2):</p> | ||||
| <ul> | ||||
|   <li>configure.ac: Add LLVM_VERSION_PATCH to DEFINES</li> | ||||
|   <li>radeonsi: Enable geometry shaders with LLVM 3.4.1</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,105 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.1.5 Release Notes / (June 6, 2014)</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.1.5 is a bug fix release which fixes bugs found since the 10.1.4 release. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.1.5 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts are not supported. | ||||
| </p> | ||||
|  | ||||
| <h2>SHA256 checksums</h2> | ||||
| <pre> | ||||
| b0aceaa75bc9a9b2d9215a113e2ad488b5cf85c99005a7624f8cf7c37c5d0eaa  MesaLib-10.1.5.tar.gz | ||||
| bc6c5ec7836f254a49d055a29d9aa34c97c54c038f47ad3a00fa57a5fef15bbc  MesaLib-10.1.5.tar.bz2 | ||||
| 78b7255cab0af7918945452a84de7989096ebcdd27e99b31c56c0589274cbc77  MesaLib-10.1.5.zip | ||||
| </pre> | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79115">Bug 79115</a> - </li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79421">Bug 79421</a> - </li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>Brian Paul (1):</p> | ||||
| <ul> | ||||
|   <li>glsl: fix use-after free bug/crash in ast_declarator_list::hir()</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Carl Worth (5):</p> | ||||
| <ul> | ||||
|   <li>docs: Add md5sums for 10.1.4 release</li> | ||||
|   <li>Merge remote-tracking branch 'origin/10.1' into 10.1</li> | ||||
|   <li>cherry-ignore: Ignore two commits.</li> | ||||
|   <li>Ignore a patch that is not needed for the 10.1 branch.</li> | ||||
|   <li>Update version to 10.1.5</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Emil Velikov (1):</p> | ||||
| <ul> | ||||
|   <li>glx: do not leak dri3Display</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ilia Mirkin (2):</p> | ||||
| <ul> | ||||
|   <li>nv50/ir: fix s32 x s32 -> high s32 multiply logic</li> | ||||
|   <li>nv50/ir: fix constant folding for OP_MUL subop HIGH</li> | ||||
| </ul> | ||||
|  | ||||
| <p>James Legg (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: Fix unbinding GL_DEPTH_STENCIL_ATTACHMENT</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Jeremy Huddleston Sequoia (2):</p> | ||||
| <ul> | ||||
|   <li>glapi: Avoid heap corruption in _glapi_table</li> | ||||
|   <li>darwin: Fix test for kCGLPFAOpenGLProfile support at runtime</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Pavel Popov (2):</p> | ||||
| <ul> | ||||
|   <li>i965: Properly return *RESET* status in glGetGraphicsResetStatusARB</li> | ||||
|   <li>i965: Fix Line Stipple enable bit in 3DSTATE_SF for Haswell.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Roland Scheidegger (1):</p> | ||||
| <ul> | ||||
|   <li>llvmpipe: fix crash when not all attachments are populated in a fb</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,138 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.1.6 Release Notes / (June 24, 2014)</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.1.6 is a bug fix release which fixes bugs found since the 10.1.5 release. | ||||
| </p> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.1.6 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts are not supported. | ||||
| </p> | ||||
|  | ||||
| <h2>SHA256 checksums</h2> | ||||
| <pre> | ||||
| cde60e06b340d7598802fe4a4484b3fb8befd714f9ab9caabe1f27d3149e8815  MesaLib-10.1.6.tar.bz2 | ||||
| e4e726d7805a442f7ed07d12f71335e6126796ec85328a5989eb5348a8042d00  MesaLib-10.1.6.tar.gz | ||||
| bf7e3f721a7ad0c2057a034834b6fea688e64f26a66cf8d1caa2827e405e72dd  MesaLib-10.1.6.zip | ||||
| </pre> | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=54372">Bug 54372</a> - GLX_INTEL_swap_event crashes driver when swapping window buffers</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74005">Bug 74005</a> - [i965 Bisected]Piglit/glx_glx-make-glxdrawable-current fails</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=78581">Bug 78581</a> - </li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79729">Bug 79729</a> - [i965] glClear on a multisample texture doesn't work</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>Adrian Negreanu (7):</p> | ||||
| <ul> | ||||
|   <li>add megadriver_stub_FILES</li> | ||||
|   <li>android: adapt to the megadriver mechanism</li> | ||||
|   <li>android: add libloader to libGLES_mesa and libmesa_egl_dri2</li> | ||||
|   <li>android: add src/gallium/auxiliary as include path for libmesa_dricore</li> | ||||
|   <li>android, egl: add correct drm include for libmesa_egl_dri2</li> | ||||
|   <li>android, mesa_gen_matypes: pull in timespec POSIX definition</li> | ||||
|   <li>android, dricore: undefined reference to _mesa_streaming_load_memcpy</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Beren Minor (1):</p> | ||||
| <ul> | ||||
|   <li>egl/main: Fix eglMakeCurrent when releasing context from current thread.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Carl Worth (3):</p> | ||||
| <ul> | ||||
|   <li>docs: Add SHA256 checksums for the 10.1.5 release</li> | ||||
|   <li>cherry-ignore: Add a patch to ignore</li> | ||||
|   <li>Update VERSION to 10.1.6</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Daniel Manjarres (1):</p> | ||||
| <ul> | ||||
|   <li>glx: Don't crash on swap event for a Window (non-GLXWindow)</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Emil Velikov (1):</p> | ||||
| <ul> | ||||
|   <li>configure: error out when building opencl without LLVM</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Iago Toral Quiroga (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: Copy Geom.UsesEndPrimitive when cloning a geometry program.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>José Fonseca (3):</p> | ||||
| <ul> | ||||
|   <li>mesa/main: Make get_hash.c values constant.</li> | ||||
|   <li>mesa: Make glGetIntegerv(GL_*_ARRAY_SIZE) return GL_BGRA.</li> | ||||
|   <li>mesa/main: Prevent sefgault on glGetIntegerv(GL_ATOMIC_COUNTER_BUFFER_BINDING).</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kristian Høgsberg (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: Remove glClear optimization based on drawable size</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Michel Dänzer (1):</p> | ||||
| <ul> | ||||
|   <li>configure: Only check for OpenCL without LLVM when the latter is certain</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Neil Roberts (1):</p> | ||||
| <ul> | ||||
|   <li>i965: Set the fast clear color value for texture surfaces</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Roland Scheidegger (1):</p> | ||||
| <ul> | ||||
|   <li>draw: (trivial) fix clamping of viewport index</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Tobias Klausmann (1):</p> | ||||
| <ul> | ||||
|   <li>nv50/ir: clear subop when folding constant expressions</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Tom Stellard (2):</p> | ||||
| <ul> | ||||
|   <li>clover: Prevent Clang from printing number of errors and warnings to stderr.</li> | ||||
|   <li>clover: Don't use llvm's global context</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,75 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.1 Release Notes / March 4, 2014</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.1 is a new development release. | ||||
| People who are concerned with stability and reliability should stick | ||||
| with a previous release or wait for Mesa 10.1.1. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 10.1 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts are not supported. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| 3ec43f79dbcd9aa2a4a27bf1f51655b6  MesaLib-10.1.0.tar.bz2 | ||||
| 08e796ec7122aa299d32d4f67a254315  MesaLib-10.1.0.tar.gz | ||||
| bd365356543f4b38e57c1ddf7a317c40  MesaLib-10.1.0.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
|  | ||||
| <p> | ||||
| Note: some of the new features are only available with certain drivers. | ||||
| </p> | ||||
|  | ||||
| <ul> | ||||
| <li>GL_ARB_draw_indirect on i965.</li> | ||||
| <li>GL_ARB_clear_buffer_object</li> | ||||
| <li>GL_ARB_viewport_array on i965.</li> | ||||
| <li>GL_ARB_map_buffer_alignment on all drivers that did not previously support | ||||
| it.</li> | ||||
| <li>GL_AMD_shader_trinary_minmax.</li> | ||||
| <li>GL_EXT_framebuffer_blit on r200 and radeon.</li> | ||||
| <li>Reduced memory usage for display lists.</li> | ||||
| <li>OpenGL 3.3 support on nv50, nvc0, r600 and radeonsi</li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| TBD. | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <ul> | ||||
| <li>Removed support for the GL_MESA_texture_array extension.  This extension | ||||
|   enabled the use of texture array with fixed-function and assembly fragment | ||||
|   shaders.  No applications are known to use this extension.</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,61 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.2.1 Release Notes / June 6, 2014</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.2.1 is a bug fix release which fixes bugs found since the 10.2 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 10.2.1 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts are not supported. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>MD5 checksums</h2> | ||||
| <pre> | ||||
| 96f892dae2d0bb14ac9c2113f586c909  MesaLib-10.2.1.tar.gz | ||||
| 093f9b5d077e5f6061dcd7b01b7aa51a  MesaLib-10.2.1.tar.bz2 | ||||
| 6ab76c1608e5deed1eb8b54c62d7a48a  MesaLib-10.2.1.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.2 had a build problem in the radeonsi driver due to an error resolving | ||||
| conflicts in a patch cherry-pick from master.  The build error is fixed. | ||||
| </p> | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>Ian Romanick (3):</p> | ||||
| <ul> | ||||
|   <li>docs: Add MD5 checksum, etc. for 10.1 release</li> | ||||
|   <li>radeonsi: Fix build error introduced in 5ab9a9c</li> | ||||
|   <li>Bump version to 10.2.1</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,181 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.2.2 Release Notes / June 24, 2014</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.2.2 is a bug fix release which fixes bugs found since the 10.2.1 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 10.2.2 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts are not supported. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>SHA256 checksums</h2> | ||||
| <pre> | ||||
| 38c4a40364000f89cddaa1694f6f3cfb444981d1110238ce603093585477399c  MesaLib-10.2.2.tar.bz2 | ||||
| 2af2ec8b4db624c352e961eefbcce6c8d1f86d44c5542f6f378c50e1b958d453  MesaLib-10.2.2.tar.gz | ||||
| d4c0372da59367a344d62ebcdf5cf61039c9cae6925f40f2dab8f8d95cf22da9  MesaLib-10.2.2.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=54372">Bug 54372</a> - GLX_INTEL_swap_event crashes driver when swapping window buffers</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66452">Bug 66452</a> - JUNIPER UVD accelerated playback of WMV3 streams does not work</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74005">Bug 74005</a> - [i965 Bisected]Piglit/glx_glx-make-glxdrawable-current fails</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77865">Bug 77865</a> - [BDW] Many Ogles3conform framebuffer_blit cases fail</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=78581">Bug 78581</a> - OpenCL: clBuildProgram prints error messages directly rather than storing them</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79029">Bug 79029</a> - INTEL_DEBUG=shader_time is full of lies</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79729">Bug 79729</a> - [i965] glClear on a multisample texture doesn't work</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79907">Bug 79907</a> - Mesa 10.2.1 --enable-vdpau default=auto broken</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=80115">Bug 80115</a> - MESA_META_DRAW_BUFFERS induced GL_INVALID_VALUE errors</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>Adrian Negreanu (8):</p> | ||||
| <ul> | ||||
|   <li>add megadriver_stub_FILES</li> | ||||
|   <li>android: adapt to the megadriver mechanism</li> | ||||
|   <li>android: add libloader to libGLES_mesa and libmesa_egl_dri2</li> | ||||
|   <li>android: add src/gallium/auxiliary as include path for libmesa_dricore</li> | ||||
|   <li>android, egl: add correct drm include for libmesa_egl_dri2</li> | ||||
|   <li>android, egl: typo dri2_fallback_pixmap_surface -> dri2_fallback_create_pixmap_surface</li> | ||||
|   <li>android, mesa_gen_matypes: pull in timespec POSIX definition</li> | ||||
|   <li>android, dricore: undefined reference to _mesa_streaming_load_memcpy</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Carl Worth (1):</p> | ||||
| <ul> | ||||
|   <li>Update VERSION to 10.2.2</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Daniel Manjarres (1):</p> | ||||
| <ul> | ||||
|   <li>glx: Don't crash on swap event for a Window (non-GLXWindow)</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Emil Velikov (3):</p> | ||||
| <ul> | ||||
|   <li>targets/xa: limit the amount of exported symbols</li> | ||||
|   <li>configure: error out when building opencl without LLVM</li> | ||||
|   <li>configure: correctly autodetect xvmc/vdpau/omx</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Grigori Goronzy (1):</p> | ||||
| <ul> | ||||
|   <li>radeon/uvd: disable VC-1 simple/main on UVD 2.x</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Iago Toral Quiroga (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: Copy Geom.UsesEndPrimitive when cloning a geometry program.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ian Romanick (3):</p> | ||||
| <ul> | ||||
|   <li>docs: Add initial 10.2.1 release notes</li> | ||||
|   <li>docs: Add MD5 checksum, etc. for 10.2.1 release</li> | ||||
|   <li>meta: Respect the driver's maximum number of draw buffers</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ilia Mirkin (7):</p> | ||||
| <ul> | ||||
|   <li>gk110/ir: emit saturate flag on fadd when needed</li> | ||||
|   <li>gk110/ir: fix emitting constbuf file index</li> | ||||
|   <li>gk110/ir: fix bfind emission</li> | ||||
|   <li>nv50: make sure to mark first scissor dirty after blit</li> | ||||
|   <li>nv30: plug some memory leaks on screen destroy and shader compile</li> | ||||
|   <li>nv30: avoid dangling references to deleted contexts</li> | ||||
|   <li>nv30: hack to avoid errors on unexpected color/zeta combinations</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Jason Ekstrand (1):</p> | ||||
| <ul> | ||||
|   <li>meta_blit: properly compute texture width for the CopyTexSubImage fallback</li> | ||||
| </ul> | ||||
|  | ||||
| <p>José Fonseca (1):</p> | ||||
| <ul> | ||||
|   <li>mesa/main: Prevent sefgault on glGetIntegerv(GL_ATOMIC_COUNTER_BUFFER_BINDING).</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kenneth Graunke (9):</p> | ||||
| <ul> | ||||
|   <li>i965: Don't use the head sentinel as an fs_inst in Gen4 workaround code.</li> | ||||
|   <li>i965: Invalidate live intervals when inserting Gen4 SEND workarounds.</li> | ||||
|   <li>i965/vec4: Fix dead code elimination for VGRFs of size > 1.</li> | ||||
|   <li>i965: Add missing MOCS setup for 3DSTATE_INDEX_BUFFER on Broadwell.</li> | ||||
|   <li>i965: Drop Broadwell perf_debugs about missing MOCS that aren't missing.</li> | ||||
|   <li>i965: Add missing newlines to a few perf_debug messages.</li> | ||||
|   <li>i965/vec4: Use the sampler for pull constant loads on Broadwell.</li> | ||||
|   <li>i965: Use 8x4 aligned rectangles for HiZ operations on Broadwell.</li> | ||||
|   <li>i965: Save meta stencil blit programs in the context.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kristian Høgsberg (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: Remove glClear optimization based on drawable size</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Michel Dänzer (1):</p> | ||||
| <ul> | ||||
|   <li>configure: Only check for OpenCL without LLVM when the latter is certain</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Neil Roberts (1):</p> | ||||
| <ul> | ||||
|   <li>i965: Set the fast clear color value for texture surfaces</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Tom Stellard (2):</p> | ||||
| <ul> | ||||
|   <li>clover: Prevent Clang from printing number of errors and warnings to stderr.</li> | ||||
|   <li>clover: Don't use llvm's global context</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ville Syrjälä (1):</p> | ||||
| <ul> | ||||
|   <li>i915: Fix gen2 texblend setup</li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,130 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.2.3 Release Notes / July 7, 2014</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.2.3 is a bug fix release which fixes bugs found since the 10.2.2 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 10.2.3 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts are not supported. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>SHA256 checksums</h2> | ||||
| <pre> | ||||
| e482a96170c98b17d6aba0d6e4dda4b9a2e61c39587bb64ac38cadfa4aba4aeb  MesaLib-10.2.3.tar.bz2 | ||||
| 96cffacaa1c52ae659b3b0f91be2eebf5528b748934256751261fb79ea3d6636  MesaLib-10.2.3.tar.gz | ||||
| 82cab6ff14c8038ee39842dbdea0d447a78d119efd8d702d1497bc7c246434e9  MesaLib-10.2.3.zip | ||||
| </pre> | ||||
|  | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76223">Bug 76223</a> - </li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79823">Bug 79823</a> - </li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=80015">Bug 80015</a> - </li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>Aaron Watry (1):</p> | ||||
| <ul> | ||||
|   <li>radeon/llvm: Allocate space for kernel metadata operands</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Carl Worth (2):</p> | ||||
| <ul> | ||||
|   <li>docs: Add sha256 sums for the 10.2.2 release</li> | ||||
|   <li>cherry-ignore: Add a patch that's been rejected</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ilia Mirkin (4):</p> | ||||
| <ul> | ||||
|   <li>nouveau: dup fd before passing it to device</li> | ||||
|   <li>nv50: disable dedicated ubo upload method</li> | ||||
|   <li>nv50: do an explicit flush on draw when there are persistent buffers</li> | ||||
|   <li>nvc0: add a memory barrier when there are persistent UBOs</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Jasper St. Pierre (1):</p> | ||||
| <ul> | ||||
|   <li>glxext: Send the Drawable's ID in the GLX_BufferSwapComplete event</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kenneth Graunke (3):</p> | ||||
| <ul> | ||||
|   <li>i965: Don't emit SURFACE_STATEs for gather workarounds on Broadwell.</li> | ||||
|   <li>i965: Include marketing names for Broadwell GPUs.</li> | ||||
|   <li>i965/disasm: Fix INTEL_DEBUG=fs on Broadwell for ARB_fp applications.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Michel Dänzer (1):</p> | ||||
| <ul> | ||||
|   <li>radeon/llvm: Use the llvm.rsq.clamped intrinsic for RSQ</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Rob Clark (9):</p> | ||||
| <ul> | ||||
|   <li>xa: fix segfault</li> | ||||
|   <li>freedreno: use OUT_RELOCW when buffer is written</li> | ||||
|   <li>freedreno/a3xx: fix depth/stencil GMEM positioning</li> | ||||
|   <li>freedreno/a3xx: fix depth/stencil gmem restore</li> | ||||
|   <li>freedreno/a3xx: fix blend opcode</li> | ||||
|   <li>freedreno: few caps fixes</li> | ||||
|   <li>freedreno/a3xx: texture fixes</li> | ||||
|   <li>freedreno: fix for null textures</li> | ||||
|   <li>freedreno/a3xx: vtx formats</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Roland Scheidegger (1):</p> | ||||
| <ul> | ||||
|   <li>draw: (trivial) fix clamping of viewport index</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Takashi Iwai (1):</p> | ||||
| <ul> | ||||
|   <li>llvmpipe: Fix zero-division in llvmpipe_texture_layout()</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Thomas Hellstrom (1):</p> | ||||
| <ul> | ||||
|   <li>st/xa: Don't close the drm fd on failure v2</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Tobias Klausmann (1):</p> | ||||
| <ul> | ||||
|   <li>nv50/ir: allow gl_ViewportIndex to work on non-provoking vertices</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,127 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.2.4 Release Notes / July 18, 2014</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.2.4 is a bug fix release which fixes bugs found since the 10.2.3 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 10.2.4 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts are not supported. | ||||
| </p> | ||||
|  | ||||
|  | ||||
| <h2>SHA256 checksums</h2> | ||||
| <pre> | ||||
| 06a2341244eb85c283f59f70161e06ded106f835ed9b6be1ef0243bd9344811a  MesaLib-10.2.4.tar.bz2 | ||||
| 33e3c8b4343503e7d7d17416c670438860a2fd99ec93ea3327f73c3abe33b5e4  MesaLib-10.2.4.tar.gz | ||||
| e26791a4a62a61b82e506e6ba031812d09697d1a831e8239af67e5722a8ee538  MesaLib-10.2.4.zip | ||||
| </pre> | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=81157">Bug 81157</a> - [BDW]Piglit some spec_glsl-1.50_execution_built-in-functions* cases fail</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>Abdiel Janulgue (3):</p> | ||||
| <ul> | ||||
|   <li>i965/fs: Refactor check for potential copy propagated instructions.</li> | ||||
|   <li>i965/fs: skip copy-propate for logical instructions with negated src entries</li> | ||||
|   <li>i965/vec4: skip copy-propate for logical instructions with negated src entries</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Brian Paul (3):</p> | ||||
| <ul> | ||||
|   <li>mesa: fix geometry shader memory leaks</li> | ||||
|   <li>st/mesa: fix geometry shader memory leak</li> | ||||
|   <li>gallium/u_blitter: fix some shader memory leaks</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Carl Worth (2):</p> | ||||
| <ul> | ||||
|   <li>docs: Add sha256 checksums for the 10.2.3 release</li> | ||||
|   <li>Update VERSION to 10.2.4</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Eric Anholt (1):</p> | ||||
| <ul> | ||||
|   <li>i965: Generalize the pixel_x/y workaround for all UW types.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ilia Mirkin (4):</p> | ||||
| <ul> | ||||
|   <li>nv50/ir: retrieve shadow compare from first arg</li> | ||||
|   <li>nv50/ir: ignore bias for samplerCubeShadow on nv50</li> | ||||
|   <li>nvc0/ir: do quadops on the right texture coordinates for TXD</li> | ||||
|   <li>nvc0/ir: use manual TXD when offsets are involved</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Jordan Justen (1):</p> | ||||
| <ul> | ||||
|   <li>i965: Add auxiliary surface field #defines for Broadwell.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kenneth Graunke (9):</p> | ||||
| <ul> | ||||
|   <li>i965: Don't copy propagate abs into Broadwell logic instructions.</li> | ||||
|   <li>i965: Set execution size to 8 for instructions with force_sechalf set.</li> | ||||
|   <li>i965/fs: Set force_uncompressed and force_sechalf on samplepos setup.</li> | ||||
|   <li>i965/fs: Use WE_all for gl_SampleID header register munging.</li> | ||||
|   <li>i965: Add plumbing for Broadwell's auxiliary surface support.</li> | ||||
|   <li>i965: Drop SINT workaround for CMS layout on Broadwell.</li> | ||||
|   <li>i965: Hook up the MCS buffers in SURFACE_STATE on Broadwell.</li> | ||||
|   <li>i965: Add 2x MSAA support to the MCS allocation function.</li> | ||||
|   <li>i965: Enable compressed multisample support (CMS) on Broadwell.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Marek Olšák (4):</p> | ||||
| <ul> | ||||
|   <li>gallium: fix u_default_transfer_inline_write for textures</li> | ||||
|   <li>st/mesa: fix samplerCubeShadow with bias</li> | ||||
|   <li>radeonsi: fix samplerCubeShadow with bias</li> | ||||
|   <li>radeonsi: add support for TXB2</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Matt Turner (8):</p> | ||||
| <ul> | ||||
|   <li>i965/vec4: Don't return void from a void function.</li> | ||||
|   <li>i965/vec4: Don't fix_math_operand() on Gen >= 8.</li> | ||||
|   <li>i965/fs: Don't fix_math_operand() on Gen >= 8.</li> | ||||
|   <li>i965/fs: Make try_constant_propagate() static.</li> | ||||
|   <li>i965/fs: Constant propagate into 2-src math instructions on Gen8.</li> | ||||
|   <li>i965/vec4: Constant propagate into 2-src math instructions on Gen8.</li> | ||||
|   <li>i965/fs: Don't use brw_imm_* unnecessarily.</li> | ||||
|   <li>i965/fs: Set correct number of regs_written for MCS fetches.</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,188 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.2.5 Release Notes / August 2, 2014</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.2.5 is a bug fix release which fixes bugs found since the 10.2.4 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 10.2.5 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts are not supported. | ||||
| </p> | ||||
|  | ||||
| <h2>SHA256 checksums</h2> | ||||
| <pre> | ||||
| b4459f0bf7f4a3c8fb78ece3c9d2eac3d0e5bf38cb470f2a72705e744bd0310d  MesaLib-10.2.5.tar.bz2 | ||||
| 7b4dd0cb683f8c7dc48a3e7a315742bed58ddcd7b756c462aca4177bd1acdc79  MesaLib-10.2.5.tar.gz | ||||
| 6180565914fb238dd77ccdaff96b6155d9a6e1b3e981ebbf6a6851301b384fed  MesaLib-10.2.5.zip | ||||
| </pre> | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=80991">Bug 80991</a> - [BDW]Piglit spec_ARB_sample_shading_builtin-gl-sample-mask_2 fails</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>Abdiel Janulgue (3):</p> | ||||
| <ul> | ||||
|   <li>i965/fs: Refactor check for potential copy propagated instructions.</li> | ||||
|   <li>i965/fs: skip copy-propate for logical instructions with negated src entries</li> | ||||
|   <li>i965/vec4: skip copy-propate for logical instructions with negated src entries</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Adel Gadllah (1):</p> | ||||
| <ul> | ||||
|   <li>i915: Fix up intelInitScreen2 for DRI3</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Anuj Phogat (2):</p> | ||||
| <ul> | ||||
|   <li>i965: Fix z_offset computation in intel_miptree_unmap_depthstencil()</li> | ||||
|   <li>mesa: Don't use memcpy() in _mesa_texstore() for float depth texture data</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Brian Paul (3):</p> | ||||
| <ul> | ||||
|   <li>mesa: fix geometry shader memory leaks</li> | ||||
|   <li>st/mesa: fix geometry shader memory leak</li> | ||||
|   <li>gallium/u_blitter: fix some shader memory leaks</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Carl Worth (6):</p> | ||||
| <ul> | ||||
|   <li>docs: Add sha256 checksums for the 10.2.3 release</li> | ||||
|   <li>Update VERSION to 10.2.4</li> | ||||
|   <li>Add release notes for 10.2.4</li> | ||||
|   <li>docs: Add SHA256 checksums for the 10.2.4 release</li> | ||||
|   <li>cherry-ignore: Ignore a few patches picked in the previous stable release</li> | ||||
|   <li>Update version to 10.2.5</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Christian König (1):</p> | ||||
| <ul> | ||||
|   <li>radeonsi: fix order of r600_need_dma_space and r600_context_bo_reloc</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Eric Anholt (1):</p> | ||||
| <ul> | ||||
|   <li>i965: Generalize the pixel_x/y workaround for all UW types.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ian Romanick (2):</p> | ||||
| <ul> | ||||
|   <li>mesa: Don't allow GL_TEXTURE_BORDER queries outside compat profile</li> | ||||
|   <li>mesa: Don't allow GL_TEXTURE_{LUMINANCE,INTENSITY}_* queries outside compat profile</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ilia Mirkin (5):</p> | ||||
| <ul> | ||||
|   <li>nv50/ir: retrieve shadow compare from first arg</li> | ||||
|   <li>nv50/ir: ignore bias for samplerCubeShadow on nv50</li> | ||||
|   <li>nvc0/ir: do quadops on the right texture coordinates for TXD</li> | ||||
|   <li>nvc0/ir: use manual TXD when offsets are involved</li> | ||||
|   <li>nvc0: make sure that the local memory allocation is aligned to 0x10</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Jason Ekstrand (2):</p> | ||||
| <ul> | ||||
|   <li>main/format_pack: Fix a wrong datatype in pack_ubyte_R8G8_UNORM</li> | ||||
|   <li>main/get_hash_params: Add GL_SAMPLE_SHADING_ARB</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Jordan Justen (1):</p> | ||||
| <ul> | ||||
|   <li>i965: Add auxiliary surface field #defines for Broadwell.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>José Fonseca (1):</p> | ||||
| <ul> | ||||
|   <li>st/wgl: Clamp wglChoosePixelFormatARB's output nNumFormats to nMaxFormats.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kenneth Graunke (13):</p> | ||||
| <ul> | ||||
|   <li>i965: Don't copy propagate abs into Broadwell logic instructions.</li> | ||||
|   <li>i965: Set execution size to 8 for instructions with force_sechalf set.</li> | ||||
|   <li>i965/fs: Set force_uncompressed and force_sechalf on samplepos setup.</li> | ||||
|   <li>i965/fs: Use WE_all for gl_SampleID header register munging.</li> | ||||
|   <li>i965: Add plumbing for Broadwell's auxiliary surface support.</li> | ||||
|   <li>i965: Drop SINT workaround for CMS layout on Broadwell.</li> | ||||
|   <li>i965: Hook up the MCS buffers in SURFACE_STATE on Broadwell.</li> | ||||
|   <li>i965: Add 2x MSAA support to the MCS allocation function.</li> | ||||
|   <li>i965: Enable compressed multisample support (CMS) on Broadwell.</li> | ||||
|   <li>i965: Add missing persample_shading field to brw_wm_debug_recompile.</li> | ||||
|   <li>i965/fs: Fix gl_SampleID for 2x MSAA and SIMD16 mode.</li> | ||||
|   <li>i965/fs: Fix gl_SampleMask handling for SIMD16 on Gen8+.</li> | ||||
|   <li>i965/fs: Set LastRT on the final FB write on Broadwell.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Marek Olšák (14):</p> | ||||
| <ul> | ||||
|   <li>gallium: fix u_default_transfer_inline_write for textures</li> | ||||
|   <li>st/mesa: fix samplerCubeShadow with bias</li> | ||||
|   <li>radeonsi: fix samplerCubeShadow with bias</li> | ||||
|   <li>radeonsi: add support for TXB2</li> | ||||
|   <li>r600g: switch SNORM conversion to DX and GLES behavior</li> | ||||
|   <li>radeonsi: fix CMASK and HTILE calculations for Hawaii</li> | ||||
|   <li>gallium/util: add a helper for calculating primitive count from vertex count</li> | ||||
|   <li>radeonsi: fix a hang with instancing on Hawaii</li> | ||||
|   <li>radeonsi: fix a hang with streamout on Hawaii</li> | ||||
|   <li>winsys/radeon: fix vram_size overflow with Hawaii</li> | ||||
|   <li>radeonsi: fix occlusion queries on Hawaii</li> | ||||
|   <li>r600g,radeonsi: switch all occurences of array_size to util_max_layer</li> | ||||
|   <li>radeonsi: fix build because of lack of draw_indirect infrastructure in 10.2</li> | ||||
|   <li>radeonsi: use DRAW_PREAMBLE on CIK</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Matt Turner (8):</p> | ||||
| <ul> | ||||
|   <li>i965/vec4: Don't return void from a void function.</li> | ||||
|   <li>i965/vec4: Don't fix_math_operand() on Gen >= 8.</li> | ||||
|   <li>i965/fs: Don't fix_math_operand() on Gen >= 8.</li> | ||||
|   <li>i965/fs: Make try_constant_propagate() static.</li> | ||||
|   <li>i965/fs: Constant propagate into 2-src math instructions on Gen8.</li> | ||||
|   <li>i965/vec4: Constant propagate into 2-src math instructions on Gen8.</li> | ||||
|   <li>i965/fs: Don't use brw_imm_* unnecessarily.</li> | ||||
|   <li>i965/fs: Set correct number of regs_written for MCS fetches.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Thorsten Glaser (1):</p> | ||||
| <ul> | ||||
|   <li>nv50: fix build failure on m68k due to invalid struct alignment assumptions</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Tom Stellard (1):</p> | ||||
| <ul> | ||||
|   <li>clover: Call end_query before getting timestamp result v2</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,118 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.2.6 Release Notes / August 19, 2014</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.2.6 is a bug fix release which fixes bugs found since the 10.2.5 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 10.2.6 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts are not supported. | ||||
| </p> | ||||
|  | ||||
| <h2>SHA256 checksums</h2> | ||||
| <pre> | ||||
| 193314d2adba98e43697d726739ac46b4299aae324fa1821aa226890c28ac806  MesaLib-10.2.6.tar.bz2 | ||||
| f7a45a5977b485eb95ac024205c584a0c112fe3951c2313c797579bb16a7a448  MesaLib-10.2.6.tar.gz | ||||
| 6d086d6fcda8f317adfaaae40011decf2f2e2dc80819c4a7a77c76f73512e8d8  MesaLib-10.2.6.zip | ||||
| </pre> | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=81450">Bug 81450</a> - [BDW]Piglit spec_glsl-1.30_execution_tex-miplevel-selection_textureGrad_1DArray cases intel_do_flush_locked failed</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>Anuj Phogat (15):</p> | ||||
| <ul> | ||||
|   <li>mesa: Fix error condition for valid texture targets in glTexStorage* functions</li> | ||||
|   <li>mesa: Turn target_can_be_compressed() in to a utility function</li> | ||||
|   <li>mesa: Add error condition for using compressed internalformat in glTexStorage3D()</li> | ||||
|   <li>mesa: Fix condition for using compressed internalformat in glCompressedTexImage3D()</li> | ||||
|   <li>mesa: Add utility function _mesa_is_enum_format_snorm()</li> | ||||
|   <li>mesa: Don't allow snorm internal formats in glCopyTexImage*() in GLES3</li> | ||||
|   <li>mesa: Add a helper function _mesa_is_enum_format_unsized()</li> | ||||
|   <li>mesa: Add a gles3 error condition for sized internalformat in glCopyTexImage*()</li> | ||||
|   <li>mesa: Add gles3 error condition for GL_RGBA10_A2 buffer format in glCopyTexImage*()</li> | ||||
|   <li>mesa: Add utility function _mesa_is_enum_format_unorm()</li> | ||||
|   <li>mesa: Add gles3 condition for normalized internal formats in glCopyTexImage*()</li> | ||||
|   <li>mesa: Allow GL_TEXTURE_CUBE_MAP target with compressed internal formats</li> | ||||
|   <li>meta: Use _mesa_get_format_bits() to get the GL_RED_BITS</li> | ||||
|   <li>egl: Fix OpenGL ES version checks in _eglParseContextAttribList()</li> | ||||
|   <li>meta: Fix datatype computation in get_temp_image_type()</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Brian Paul (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: fix assertion in _mesa_drawbuffers()</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Carl Worth (2):</p> | ||||
| <ul> | ||||
|   <li>docs: Add sha256 sums to the 10.2.5 release notes</li> | ||||
|   <li>Update VERSION to 10.2.6</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ilia Mirkin (1):</p> | ||||
| <ul> | ||||
|   <li>mesa/st: only convert AND(a, NOT(b)) into MAD when not using native integers</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Jordan Justen (1):</p> | ||||
| <ul> | ||||
|   <li>i965/miptree: Layout 1D Array as 2D Array with height of 1</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Maarten Lankhorst (1):</p> | ||||
| <ul> | ||||
|   <li>configure.ac: Do not require llvm on x32</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Marek Olšák (4):</p> | ||||
| <ul> | ||||
|   <li>st/mesa: fix blit-based partial TexSubImage for 1D arrays</li> | ||||
|   <li>radeon,r200: fix buffer validation after CS flush</li> | ||||
|   <li>radeonsi: fix a hang with instancing in Unigine Heaven/Valley on Hawaii</li> | ||||
|   <li>radeonsi: fix CMASK and HTILE allocation on Tahiti</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Pali Rohár (1):</p> | ||||
| <ul> | ||||
|   <li>configure: check for dladdr via AC_CHECK_FUNC/AC_CHECK_LIB</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Roland Scheidegger (1):</p> | ||||
| <ul> | ||||
|   <li>gallivm: fix up out-of-bounds level when using conformant out-of-bound behavior</li> | ||||
| </ul> | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -1,211 +0,0 @@ | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||||
|   <title>Mesa Release Notes</title> | ||||
|   <link rel="stylesheet" type="text/css" href="../mesa.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div class="header"> | ||||
|   <h1>The Mesa 3D Graphics Library</h1> | ||||
| </div> | ||||
|  | ||||
| <iframe src="../contents.html"></iframe> | ||||
| <div class="content"> | ||||
|  | ||||
| <h1>Mesa 10.2.7 Release Notes / September 06, 2014</h1> | ||||
|  | ||||
| <p> | ||||
| Mesa 10.2.7 is a bug fix release which fixes bugs found since the 10.2.6 release. | ||||
| </p> | ||||
| <p> | ||||
| Mesa 10.2.7 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 <strong>only</strong> available if requested at context creation | ||||
| because compatibility contexts are not supported. | ||||
| </p> | ||||
|  | ||||
| <h2>SHA256 checksums</h2> | ||||
| <pre> | ||||
| cb67dfaabf88acba29aa2cf0dd58ee17b21ebf9594f8d1226c41794da8de3e9d  MesaLib-10.2.7.tar.gz | ||||
| 27b958063a4c002071f14ed45c7d2a1ee52cd85e4ac8876e8a1c273495a7d43f  MesaLib-10.2.7.tar.bz2 | ||||
| a2796a2d5bbbc2edd22857ecc267cba68dfe5d0296f5d84ba7510877b216cc40  MesaLib-10.2.7.zip | ||||
| </pre> | ||||
|  | ||||
| <h2>New features</h2> | ||||
| <p>None</p> | ||||
|  | ||||
| <h2>Bug fixes</h2> | ||||
|  | ||||
| <p>This list is likely incomplete.</p> | ||||
|  | ||||
| <ul> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36193">Bug 36193</a> - [i965] brw_eu_emit.c:182: validate_reg: Assertion `execsize >= width' failed.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66184">Bug 66184</a> - src/mesa/state_tracker/st_glsl_to_tgsi.cpp:3216:simplify_cmp: Assertion `inst->dst.index < 4096' failed.</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70441">Bug 70441</a> - [Gen4-5 clip] Piglit spec_OpenGL_1.1_polygon-offset hits (execsize >= width) assertion</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76188">Bug 76188</a> - EGL_EXT_image_dma_buf_import fd ownership is incorrect</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76789">Bug 76789</a> - [radeonsi] si_descriptors.c requires -std=gnu99 or -fms-extensions</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82139">Bug 82139</a> - [r600g, bisected] multiple ubo piglit regressions</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82255">Bug 82255</a> - [VP2] Chroma planes are vertically stretched during VDPAU playback</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82671">Bug 82671</a> - [r600g-evergreen][compute]Empty kernel execution causes crash</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82709">Bug 82709</a> - OpenCL not working on radeon hainan</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82814">Bug 82814</a> - glDrawBuffers(0, NULL) segfaults in _mesa_drawbuffers</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83079">Bug 83079</a> - [NVC0] Dota 2 (Linux native and Wine) crash with Nouveau Drivers</li> | ||||
|  | ||||
| <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83355">Bug 83355</a> - FTBFS: src/mesa/program/program_lexer.l:122:64: error: unknown type name 'YYSTYPE'</li> | ||||
|  | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| <h2>Changes</h2> | ||||
|  | ||||
| <p>Adam Jackson (1):</p> | ||||
| <ul> | ||||
|   <li>radeonsi: Don't use anonymous struct trick in atom tracking</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Alex Deucher (2):</p> | ||||
| <ul> | ||||
|   <li>radeonsi: add new CIK pci ids</li> | ||||
|   <li>radeonsi: add new SI pci ids</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Andreas Boll (1):</p> | ||||
| <ul> | ||||
|   <li>winsys/radeon: fix nop packet padding for hawaii</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Anuj Phogat (1):</p> | ||||
| <ul> | ||||
|   <li>i965: Bail on vec4 copy propagation for scratch writes with source modifiers</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Brian Paul (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: fix NULL pointer deref bug in _mesa_drawbuffers()</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Carl Worth (2):</p> | ||||
| <ul> | ||||
|   <li>docs: Add sha256 sums for the 10.2.6 release</li> | ||||
|   <li>Makefile: Switch from md5sums to sha256sums</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Dave Airlie (1):</p> | ||||
| <ul> | ||||
|   <li>i965: add missing parens in vec4 visitor</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Emil Velikov (17):</p> | ||||
| <ul> | ||||
|   <li>configure.ac: bail out if building gallium_gbm without gallium_egl</li> | ||||
|   <li>android: gallium/nouveau: fix include folders, link against libstlport</li> | ||||
|   <li>android: egl/main: fixup the nouveau build</li> | ||||
|   <li>automake: gallium/freedreno: drop spurious include dirs</li> | ||||
|   <li>android: gallium/freedreno: add preliminary build</li> | ||||
|   <li>android: egl/main: add/enable freedreno</li> | ||||
|   <li>android: gallium/auxiliary: drop log2/log2f redefitions</li> | ||||
|   <li>android: drop HAL_PIXEL_FORMAT_RGBA_{5551,4444}</li> | ||||
|   <li>android: glsl: the stlport over the limited Android STL</li> | ||||
|   <li>android: dri/i915: do not build an 'empty' driver</li> | ||||
|   <li>cherry-ignore: remove patch that lacking previous dependencies</li> | ||||
|   <li>cherry-ignore: PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE is not it 10.2</li> | ||||
|   <li>cherry-ignore: drop whitespace fix</li> | ||||
|   <li>cherry-ignore: reject a15088338eb</li> | ||||
|   <li>get-pick-list.sh: Require explicit "10.2" for nominating stable patches</li> | ||||
|   <li>mesa: fix make tarballs</li> | ||||
|   <li>Update VERSION to 10.2.7</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ian Romanick (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: Handle uninitialized textures like other textures in get_tex_level_parameter_image</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Ilia Mirkin (9):</p> | ||||
| <ul> | ||||
|   <li>nouveau: make sure to invalidate any vbo state as well</li> | ||||
|   <li>nouveau: don't keep stale pointer to free'd data</li> | ||||
|   <li>nvc0/ir: avoid infinite recursion when finding first uses of tex</li> | ||||
|   <li>nv50: zero out unbound samplers</li> | ||||
|   <li>nvc0: don't make 1d staging textures linear</li> | ||||
|   <li>nv50/ir: avoid creating instructions that can't be emitted</li> | ||||
|   <li>nv50: set the miptree address when clearing bo's in vp2 init</li> | ||||
|   <li>nv50: mt address may not be the underlying bo's start address</li> | ||||
|   <li>nv50: attach the buffer bo to the miptree structures</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Jan Vesely (1):</p> | ||||
| <ul> | ||||
|   <li>gallivm: Fix build with latest LLVM</li> | ||||
| </ul> | ||||
|  | ||||
| <p>José Fonseca (1):</p> | ||||
| <ul> | ||||
|   <li>mesa: Move declaration to top of block.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Kenneth Graunke (3):</p> | ||||
| <ul> | ||||
|   <li>i965/vec4: Set NoMask for GS_OPCODE_SET_VERTEX_COUNT on Gen8+.</li> | ||||
|   <li>i965/vec4: Respect ir->force_writemask_all in Gen8 code generation.</li> | ||||
|   <li>i965/clip: Fix brw_clip_unfilled.c/compute_offset's assembly.</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Marek Olšák (3):</p> | ||||
| <ul> | ||||
|   <li>r600g: fix constant buffer fetches</li> | ||||
|   <li>radeonsi: save scissor state and sample mask for u_blitter</li> | ||||
|   <li>glsl_to_tgsi: allocate and enlarge arrays for temporaries on demand</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Paulo Sergio Travaglia (2):</p> | ||||
| <ul> | ||||
|   <li>android: gallium/radeon: attempt to fix the android build</li> | ||||
|   <li>android: egl/main: resolve radeon linking issues</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Pekka Paalanen (1):</p> | ||||
| <ul> | ||||
|   <li>egl_dri2: fix EXT_image_dma_buf_import fds</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Robert Bragg (1):</p> | ||||
| <ul> | ||||
|   <li>meta: save and restore swizzle for _GenerateMipmap</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Tom Stellard (7):</p> | ||||
| <ul> | ||||
|   <li>radeon/compute: Fix reported values for MAX_GLOBAL_SIZE and MAX_MEM_ALLOC_SIZE</li> | ||||
|   <li>radeonsi/compute: Update reference counts for buffers in si_set_global_binding()</li> | ||||
|   <li>radeonsi/compute: Call si_pm4_free_state() after emitting compute state</li> | ||||
|   <li>clover: Flush the command queue in clReleaseCommandQueue()</li> | ||||
|   <li>radeon: Add work-around for missing Hainan support in clang < 3.6 v2</li> | ||||
|   <li>pipe-loader: Fix memory leak v2</li> | ||||
|   <li>r600g/compute: Don't initialize vertex_buffer_state masks to 0x2</li> | ||||
| </ul> | ||||
|  | ||||
| <p>Vinson Lee (1):</p> | ||||
| <ul> | ||||
|   <li>gallivm: Fix build with LLVM >= 3.6 r215967.</li> | ||||
| </ul> | ||||
|  | ||||
|  | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user