--- mesa-9.0.3.orig/.dir-locals.el +++ mesa-9.0.3/.dir-locals.el @@ -0,0 +1,11 @@ +((nil + (indent-tabs-mode . nil) + (tab-width . 8) + (c-basic-offset . 3) + (c-file-style . "stroustrup") + (fill-column . 78) + (eval . (progn + (c-set-offset 'innamespace '0) + (c-set-offset 'inline-open '0))) + ) + ) --- mesa-9.0.3.orig/bin/.cherry-ignore +++ mesa-9.0.3/bin/.cherry-ignore @@ -0,0 +1,41 @@ +# These commits were cherry picked without using -x. +ca3ed3e024864e91ca3cccc59fb96950e1d079b5 egl/wayland: Don't invalidate drawable on swap buffers +89ba4368fd86778405eea163e2b27812055f0df9 egl/wayland: Add invalidate back in eglSwapBuffers() +60a11e295b86475ff334291a5b483e422371b21c egl/wayland: Dispatch the event queue before get_buffers +41e105d5beb78c42993a602cc58d0f990739b088 nvc0: add missing call to map edge flag in push_vbo +be75a9373a6d0f9e2ef35ac376a541e60d72d306 nv50/ir: wrap assertion using typeid in #ifndef NDEBUG +7d2d450ea6d8082db14cd3f86c6c25442bf771c5 nouveau: fix undefined behaviour when testing sample_count + +# Causes too many regressions... +413c4914129cd26ca87960852d8c0264c0fb29e7 intel: Improve teximage perf for Google Chrome paint rects (v3) +b1d0fe022dc4826dadce014ab8fe062a82f75a16 intel: Fix segfault in intel_texsubimage_tiled_memcpy +b5891286202987dfc2606ac716050c0ee426de11 intel: Fix yet-another-bug in intel_texsubimage_tiled_memcpy + +# Introduces performance regressions for other games... don't cherry-pick for now +fa58644855e44830e0b91dc627703c236fa6712a r600g: fix abysmal performance in Reaction Quake + +# i965 guardband clipping is disabled in 9.0, so no need to fix bugs in it +23e7b81f2d742d292d77b53ac9cf72c3d89fc798 i965: Use fewer temporary variables in c +lip setup. +d411bbd5bd895617e265e023213895100e4509ef i965: Disable the GB clip test when a li +mited viewport is set. + +# Candidates for 9.1 +1559994cba380a4e87a5e8dbb04b0a7475711756 i965: Fix assignment instead of comparison in asserts. +5c86a728d4f688c0fe7fbf9f4b8f88060b65c4ee r600g: fix htile buffer leak +a06f03d795153ce060d99aafb61d10c27a47efc1 r300g: always put MSAA resources in VRAM +a8a5055f2dea1960898763d17f28043577c3e64e radeonsi: Fix draws using user index buffer. +257006e2a4201c11ca5f800a74ac4aaf62a7bfc1 r600g/llvm: Select the correct GPU type for RV670 +e5fb7347a72118bf06dfabaa453208578c7ad876 radeonsi: Adapt to sample intrinsics changes. +120efeef8b51c16924dafa6bbeb017a856db911b radeonsi: Improve packing of texture address parameters. +6bcb8238446060db665425d9f63eb0c1b3ba9f68 radeonsi: Enable texture arrays. +6455d40b7ec09e3a3923c9b78952dc29627afed1 radeonsi: Remove spurious traces of R16G16B16 support. +2db1f73849260cf8e5a7e390d04f5f26141a0b37 builtin_compiler/build: Don't use *_FOR_BUILD when not cross compiling +11bd1b0f589bfeab8fcad5c70adf4c8a665eebc9 gallium/egl: Fix include dirs for VPATH build +b92900d26a54ef997f2920d6a7371bb7c9caabf8 mesa/glsl: Separate parsing logic from _mesa_get_uniform_location. +b4db34cc4c047427a21efb9bde03d7e125f70e55 glsl: Rename uniform_field_visitor to program_resource_visitor. +53febac02c382fa163a9ad7280fc5f4d2707a665 glsl: Use parse_program_resource_name to parse transform feedback varyings. +99b78337e38308480ee491493b045179f10ed579 glsl: Support transform feedback of varying structs. +83e4407f443fb6baeccf9aefee291c82adcaa58b radeonsi: add support for Oland chips +af0af75881ea99452086afd6907780de77af6e96 radeonsi: default PA_SC_RASTER_CONFIG to 0 +4161d70bba567e6e73d5e9e993a74d81930d0e72 radeonsi: add Oland pci ids --- mesa-9.0.3.orig/src/glsl/.dir-locals.el +++ mesa-9.0.3/src/glsl/.dir-locals.el @@ -0,0 +1,3 @@ +((c-mode . ((c-basic-offset . 3))) + (c++-mode . ((c-basic-offset . 3))) +) --- mesa-9.0.3.orig/debian/libegl1-mesa-dev.install.in +++ mesa-9.0.3/debian/libegl1-mesa-dev.install.in @@ -0,0 +1,5 @@ +# This file gets tweaked in an os-specific fashion (see libegl1-mesa-dev.install.linux.in) +dri/usr/lib/${DEB_HOST_MULTIARCH}/libEGL.so usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl +dri/usr/include/EGL usr/include +dri/usr/include/KHR usr/include +dri/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/egl.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig --- mesa-9.0.3.orig/debian/libopenvg1-mesa-dev.links.in +++ mesa-9.0.3/debian/libopenvg1-mesa-dev.links.in @@ -0,0 +1 @@ +/usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl/libOpenVG.so /usr/lib/${DEB_HOST_MULTIARCH}/libOpenVG.so --- mesa-9.0.3.orig/debian/libgl1-mesa-dev.links.in +++ mesa-9.0.3/debian/libgl1-mesa-dev.links.in @@ -0,0 +1 @@ +/usr/lib/${DEB_HOST_MULTIARCH}/mesa/libGL.so /usr/lib/${DEB_HOST_MULTIARCH}/libGL.so --- mesa-9.0.3.orig/debian/libosmesa6.install.in +++ mesa-9.0.3/debian/libosmesa6.install.in @@ -0,0 +1 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa.so.* usr/lib/${DEB_HOST_MULTIARCH}/ --- mesa-9.0.3.orig/debian/libosmesa6-dev.install.in +++ mesa-9.0.3/debian/libosmesa6-dev.install.in @@ -0,0 +1,3 @@ +dri/usr/include/GL/osmesa.h usr/include/GL/ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa.so usr/lib/${DEB_HOST_MULTIARCH}/ +dri/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/osmesa.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/ --- mesa-9.0.3.orig/debian/libgles2-mesa-dev.links.in +++ mesa-9.0.3/debian/libgles2-mesa-dev.links.in @@ -0,0 +1 @@ +/usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl/libGLESv2.so /usr/lib/${DEB_HOST_MULTIARCH}/libGLESv2.so --- mesa-9.0.3.orig/debian/watch +++ mesa-9.0.3/debian/watch @@ -0,0 +1,4 @@ +#git=git://anongit.freedesktop.org/mesa/mesa +version=3 +opts="uversionmangle=s/-rc/~rc/,dversionmangle=s/\+repack//,pasv" \ +ftp://freedesktop.org/pub/mesa/([\d\.]*)/ MesaLib-(.*)\.tar\.gz --- mesa-9.0.3.orig/debian/libegl1-mesa.lintian-overrides +++ mesa-9.0.3/debian/libegl1-mesa.lintian-overrides @@ -0,0 +1 @@ +package-name-doesnt-match-sonames libEGL1 --- mesa-9.0.3.orig/debian/libxatracker1.install.in +++ mesa-9.0.3/debian/libxatracker1.install.in @@ -0,0 +1 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libxatracker.so.1* usr/lib/${DEB_HOST_MULTIARCH} --- mesa-9.0.3.orig/debian/libgles2-mesa.symbols +++ mesa-9.0.3/debian/libgles2-mesa.symbols @@ -0,0 +1,164 @@ +libGLESv2.so.2 libgles2-mesa #MINVER# | libgles2 + glActiveTexture@Base 7.8.1 + glAttachShader@Base 7.8.1 + glBindAttribLocation@Base 7.8.1 + glBindBuffer@Base 7.8.1 + glBindFramebuffer@Base 7.8.1 + glBindRenderbuffer@Base 7.8.1 + glBindTexture@Base 7.8.1 + glBindVertexArrayOES@Base 9.0~0 + glBlendColor@Base 7.8.1 + glBlendEquation@Base 7.8.1 + glBlendEquationSeparate@Base 7.8.1 + glBlendFunc@Base 7.8.1 + glBlendFuncSeparate@Base 7.8.1 + glBufferData@Base 7.8.1 + glBufferSubData@Base 7.8.1 + glCheckFramebufferStatus@Base 7.8.1 + glClear@Base 7.8.1 + glClearColor@Base 7.8.1 + glClearDepthf@Base 7.8.1 + glClearStencil@Base 7.8.1 + glColorMask@Base 7.8.1 + glCompileShader@Base 7.8.1 + glCompressedTexImage2D@Base 7.8.1 + glCompressedTexImage3DOES@Base 7.8.1 + glCompressedTexSubImage2D@Base 7.8.1 + glCompressedTexSubImage3DOES@Base 7.8.1 + glCopyTexImage2D@Base 7.8.1 + glCopyTexSubImage2D@Base 7.8.1 + glCopyTexSubImage3DOES@Base 7.8.1 + glCreateProgram@Base 7.8.1 + glCreateShader@Base 7.8.1 + glCullFace@Base 7.8.1 + glDeleteBuffers@Base 7.8.1 + glDeleteFramebuffers@Base 7.8.1 + glDeleteProgram@Base 7.8.1 + glDeleteRenderbuffers@Base 7.8.1 + glDeleteShader@Base 7.8.1 + glDeleteTextures@Base 7.8.1 + glDeleteVertexArraysOES@Base 9.0~0 + glDepthFunc@Base 7.8.1 + glDepthMask@Base 7.8.1 + glDepthRangef@Base 7.8.1 + glDetachShader@Base 7.8.1 + glDisable@Base 7.8.1 + glDisableVertexAttribArray@Base 7.8.1 + glDrawArrays@Base 7.8.1 + glDrawBuffersNV@Base 8.0~rc1 + glDrawElements@Base 7.8.1 + glEGLImageTargetRenderbufferStorageOES@Base 7.8.1 + glEGLImageTargetTexture2DOES@Base 7.8.1 + glEnable@Base 7.8.1 + glEnableVertexAttribArray@Base 7.8.1 + glFinish@Base 7.8.1 + glFlush@Base 7.8.1 + glFramebufferRenderbuffer@Base 7.8.1 + glFramebufferTexture2D@Base 7.8.1 + glFramebufferTexture3DOES@Base 7.8.1 + glFrontFace@Base 7.8.1 + glGenBuffers@Base 7.8.1 + glGenFramebuffers@Base 7.8.1 + glGenRenderbuffers@Base 7.8.1 + glGenTextures@Base 7.8.1 + glGenVertexArraysOES@Base 9.0~0 + glGenerateMipmap@Base 7.8.1 + glGetActiveAttrib@Base 7.8.1 + glGetActiveUniform@Base 7.8.1 + glGetAttachedShaders@Base 7.8.1 + glGetAttribLocation@Base 7.8.1 + glGetBooleanv@Base 7.8.1 + glGetBufferParameteriv@Base 7.8.1 + glGetBufferPointervOES@Base 7.8.1 + glGetError@Base 7.8.1 + glGetFloatv@Base 7.8.1 + glGetFramebufferAttachmentParameteriv@Base 7.8.1 + glGetIntegerv@Base 7.8.1 + glGetProgramBinaryOES@Base 7.8.1 + glGetProgramInfoLog@Base 7.8.1 + glGetProgramiv@Base 7.8.1 + glGetRenderbufferParameteriv@Base 7.8.1 + glGetShaderInfoLog@Base 7.8.1 + glGetShaderPrecisionFormat@Base 7.8.1 + glGetShaderSource@Base 7.8.1 + glGetShaderiv@Base 7.8.1 + glGetString@Base 7.8.1 + glGetTexParameterfv@Base 7.8.1 + glGetTexParameteriv@Base 7.8.1 + glGetUniformLocation@Base 7.8.1 + glGetUniformfv@Base 7.8.1 + glGetUniformiv@Base 7.8.1 + glGetVertexAttribPointerv@Base 7.8.1 + glGetVertexAttribfv@Base 7.8.1 + glGetVertexAttribiv@Base 7.8.1 + glHint@Base 7.8.1 + glIsBuffer@Base 7.8.1 + glIsEnabled@Base 7.8.1 + glIsFramebuffer@Base 7.8.1 + glIsProgram@Base 7.8.1 + glIsRenderbuffer@Base 7.8.1 + glIsShader@Base 7.8.1 + glIsTexture@Base 7.8.1 + glIsVertexArrayOES@Base 9.0~0 + glLineWidth@Base 7.8.1 + glLinkProgram@Base 7.8.1 + glMapBufferOES@Base 7.8.1 + glMultiDrawArraysEXT@Base 7.8.1 + glMultiDrawElementsEXT@Base 7.8.1 + glPixelStorei@Base 7.8.1 + glPolygonOffset@Base 7.8.1 + glProgramBinaryOES@Base 7.8.1 + glReadBufferNV@Base 8.1~0 + glReadPixels@Base 7.8.1 + glReleaseShaderCompiler@Base 7.8.1 + glRenderbufferStorage@Base 7.8.1 + glSampleCoverage@Base 7.8.1 + glScissor@Base 7.8.1 + glShaderBinary@Base 7.8.1 + glShaderSource@Base 7.8.1 + glStencilFunc@Base 7.8.1 + glStencilFuncSeparate@Base 7.8.1 + glStencilMask@Base 7.8.1 + glStencilMaskSeparate@Base 7.8.1 + glStencilOp@Base 7.8.1 + glStencilOpSeparate@Base 7.8.1 + glTexImage2D@Base 7.8.1 + glTexImage3DOES@Base 7.8.1 + glTexParameterf@Base 7.8.1 + glTexParameterfv@Base 7.8.1 + glTexParameteri@Base 7.8.1 + glTexParameteriv@Base 7.8.1 + glTexSubImage2D@Base 7.8.1 + glTexSubImage3DOES@Base 7.8.1 + glUniform1f@Base 7.8.1 + glUniform1fv@Base 7.8.1 + glUniform1i@Base 7.8.1 + glUniform1iv@Base 7.8.1 + glUniform2f@Base 7.8.1 + glUniform2fv@Base 7.8.1 + glUniform2i@Base 7.8.1 + glUniform2iv@Base 7.8.1 + glUniform3f@Base 7.8.1 + glUniform3fv@Base 7.8.1 + glUniform3i@Base 7.8.1 + glUniform3iv@Base 7.8.1 + glUniform4f@Base 7.8.1 + glUniform4fv@Base 7.8.1 + glUniform4i@Base 7.8.1 + glUniform4iv@Base 7.8.1 + glUniformMatrix2fv@Base 7.8.1 + glUniformMatrix3fv@Base 7.8.1 + glUniformMatrix4fv@Base 7.8.1 + glUnmapBufferOES@Base 7.8.1 + glUseProgram@Base 7.8.1 + glValidateProgram@Base 7.8.1 + glVertexAttrib1f@Base 7.8.1 + glVertexAttrib1fv@Base 7.8.1 + glVertexAttrib2f@Base 7.8.1 + glVertexAttrib2fv@Base 7.8.1 + glVertexAttrib3f@Base 7.8.1 + glVertexAttrib3fv@Base 7.8.1 + glVertexAttrib4f@Base 7.8.1 + glVertexAttrib4fv@Base 7.8.1 + glVertexAttribPointer@Base 7.8.1 + glViewport@Base 7.8.1 --- mesa-9.0.3.orig/debian/rules +++ mesa-9.0.3/debian/rules @@ -0,0 +1,303 @@ +#!/usr/bin/make -f +# debian/rules for the Debian mesa package +# Copyright © 2006 Thierry Reding + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +CFLAGS = -Wall -g +CXXFLAGS = -Wall -g +ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 + CXXFLAGS += -O0 +else + CFLAGS += -O2 + CXXFLAGS += -O2 +endif +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + MAKEFLAGS += -j$(NUMJOBS) +endif + +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) +DEB_BUILD_DIR ?= $(CURDIR)/build +ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) + confflags += --build=$(DEB_HOST_GNU_TYPE) +else + confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) +endif + +# keep a list of files we don't install (yet), but since it's a bit +# large, use an external file: +include debian/not-installed + +# build the following configurations by default +CONFIGS = dri + +STAMP_DIR = debian/stamp +STAMP = $(STAMP_DIR)/$(DEB_BUILD_GNU_TYPE) +BUILD_STAMPS = $(addprefix $(STAMP)-build-, $(CONFIGS)) + +QUILT_STAMPFN = $(STAMP_DIR)/patch +include /usr/share/quilt/quilt.make + +confflags-common = \ + CFLAGS="$(CFLAGS)" \ + CXXFLAGS="$(CXXFLAGS)" + +DRI_DRIVERS = +GALLIUM_DRIVERS = + +# hurd doesn't do direct rendering +ifeq ($(DEB_HOST_ARCH_OS), hurd) + confflags_DIRECT_RENDERING = --disable-driglx-direct + confflags_EGL = --disable-egl + confflags_GALLIUM = --with-gallium-drivers= + DRI_DRIVERS += swrast +else + EGL_DISPLAYS = x11 + + ifeq ($(DEB_HOST_ARCH_OS), linux) +# Gallium drivers require libdrm-{nouveau,radeon}, only available on Linux + GALLIUM_DRIVERS += nouveau r600 r300 svga +# +# Although the KMS egl drivers will probably build on kfreebsd & hurd +# only linux actually has KMS drivers implemented at this point. + EGL_DISPLAYS += drm +# Non-Linux ports also lack *_CLOEXEC and epoll, so wayland isn't ready yet: + EGL_DISPLAYS += wayland + ifeq (,$(filter $(DEB_HOST_ARCH), s390 s390x)) + DRI_DRIVERS += r200 radeon nouveau + endif + ifneq (,$(filter $(DEB_HOST_ARCH_CPU), amd64 i386)) + DRI_DRIVERS += i915 i965 + # Radeonsi needs LLVM, so only build it on the subset of archs + # where we have LLVM enabled. + GALLIUM_DRIVERS += radeonsi + else + EXTRA_SED=-e"/radeonsi_dri.so/ s/^/\#/" + endif + endif + + +# Build the llvmpipe driver only on amd64, i386 and armhf until it's tested +# elsewhere + ifeq (,$(filter $(DEB_HOST_ARCH_CPU), amd64 i386)) + DRI_DRIVERS += swrast + else + GALLIUM_DRIVERS += swrast + endif + + # LLVM is required for r300g and recommended for swrastg on x86: + ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 kfreebsd-amd64 kfreebsd-i386)) + confflags_GALLIUM += --enable-gallium-llvm + confflags_GALLIUM += --with-llvm-shared-libs + endif + + confflags_DIRECT_RENDERING = --enable-driglx-direct + confflags_EGL = --with-egl-platforms="$(EGL_DISPLAYS)" + confflags_GALLIUM += --with-gallium-drivers="$(GALLIUM_DRIVERS)" + confflags_GLES = --enable-gles1 --enable-gles2 + confflags_OPENVG = --enable-openvg --enable-gallium-egl +endif + +confflags-dri = \ + --enable-dri \ + --with-dri-drivers="$(DRI_DRIVERS)" \ + --with-dri-driverdir=/usr/lib/$(DEB_HOST_MULTIARCH)/dri \ + --with-dri-searchpath='/usr/lib/$(DEB_HOST_MULTIARCH)/dri:\$$$${ORIGIN}/dri:/usr/lib/dri' \ + --enable-osmesa \ + --enable-glx-tls \ + --enable-shared-dricore \ + --enable-shared-glapi \ + --enable-texture-float \ + --enable-xa \ + $(confflags_DIRECT_RENDERING) \ + $(confflags_EGL) \ + $(confflags_GALLIUM) \ + $(confflags_GLES) \ + $(confflags_OPENVG) \ + $(confflags-common) + +configure: $(QUILT_STAMPFN) configure.ac + autoreconf -vfi + +# list the configurations that will built +configs: + @echo Building the following configurations: $(CONFIGS) + +$(STAMP_DIR)/stamp: + dh_testdir + mkdir -p $(STAMP_DIR) + >$@ + +$(QUILT_STAMPFN): $(STAMP_DIR)/stamp + +build: build-stamp + +build-stamp: $(BUILD_STAMPS) + # Build pot file for pkgstriptranslations + # We do this only once, and outside the build trees, so that + # pkgstriptranslations doesn't get confused. + $(MAKE) -C src/mesa/drivers/dri/common/xmlpool pot + + >$@ + +$(STAMP)-build-%: configure + dh_testdir + + mkdir -p $(DEB_BUILD_DIR)/$* + find $(CURDIR)/* -maxdepth 0 -not -path '$(DEB_BUILD_DIR)*' | \ + xargs cp -rlf -t $(DEB_BUILD_DIR)/$* + + cd $(DEB_BUILD_DIR)/$* && \ + ../../configure --prefix=/usr --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info --sysconfdir=/etc \ + --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \ + --localstatedir=/var $(confflags) $(confflags-$*) \ + ac_cv_path_LLVM_CONFIG=llvm-config-3.1 + cd $(DEB_BUILD_DIR)/$* && $(MAKE) + + # Remove extra po files. These confuse pkgstriptranslations + # and aren't shipped anyway. + rm $(DEB_BUILD_DIR)/$*/src/mesa/drivers/dri/common/xmlpool/*.po ; \ + + >$@ + +install: build + # Add here commands to install the package into debian/tmp + dh_testdir + dh_testroot + dh_prep + dh_installdirs + set -e; for config in $(filter-out dri, $(CONFIGS)); do \ + $(MAKE) -C $(DEB_BUILD_DIR)/$$config DESTDIR=$(CURDIR)/debian/tmp install; \ + done + $(MAKE) -C $(DEB_BUILD_DIR)/dri DESTDIR=$(CURDIR)/debian/tmp/dri install + for file in debian/*.in; \ + do \ + sed -e"s,\$${DEB_HOST_MULTIARCH},$(DEB_HOST_MULTIARCH),g" \ + $(EXTRA_SED) \ + $${file} > $${file%%.in}; \ + done + +clean: unpatch + dh_testdir + rm -rf .pc + + rm -f config.cache config.log config.status + rm -f */config.cache */config.log */config.status + rm -f conftest* */conftest* + rm -rf autom4te.cache */autom4te.cache + rm -rf build + rm -rf configure bin/config.guess bin/config.sub config.h.in + rm -rf $$(find -name Makefile.in) + rm -rf aclocal.m4 bin/missing bin/depcomp install-sh bin/ltmain.sh + rm -f bin/ar-lib bin/compile bin/ylwrap bin/install-sh + rm -rf $(STAMP_DIR) + for file in debian/*.in; do rm -f $${file%%.in}; done + rm -f src/glsl/builtins/tools/texture_builtins.pyc + rm -f src/mapi/glapi/gen/*.pyc + rm -f src/mesa/main/*.pyc + + # And for pkgstriptranslation's benefit… + rm -f src/mesa/drivers/dri/common/xmlpool/xmlpool.pot + + dh_clean + +# Build architecture-independent files here. +binary-indep: install + +allpkg = $(shell dh_listpackages -s) +dbgpkg = $(filter %-dbg, $(allpkg)) +otherpkg = $(filter-out %-dbg, $(allpkg)) +havedbgpkg = $(patsubst %-dbg,%,$(dbgpkg)) +nodbgpkg = $(filter-out $(havedbgpkg),$(otherpkg)) + +# Build architecture-dependent files here. +binary-arch: install + dh_testdir + dh_testroot + dh_installchangelogs -s + dh_installchangelogs -pmesa-common-dev + dh_installdocs -s + dh_installexamples -s + + # Also get rid of other files which aren't installed. Do not + # use -f to ensure we notice disappearing files: + set -e; for file in $(NOT_INSTALLED); do rm debian/tmp/$$file; done + # Files only in git, not in tarballs, OK to use rm -f here: + set -e; for file in $(NOT_INSTALLED_EITHER); do rm -f debian/tmp/$$file; done + # No need for these .so, they're just convenience libraries: + rm debian/tmp/dri/usr/lib/${DEB_HOST_MULTIARCH}/libglapi.so + rm debian/tmp/dri/usr/lib/${DEB_HOST_MULTIARCH}/libdricore*.so + rm debian/tmp/dri/usr/lib/${DEB_HOST_MULTIARCH}/libgallium*.so + # purge .la files + find debian/tmp/ -name '*.la' -exec rm '{}' ';' + + dh_install -s --fail-missing + + # Create an ld.so.conf which says where to find libGL from Mesa + echo "/usr/lib/$(DEB_HOST_MULTIARCH)/mesa" \ + > $(CURDIR)/debian/libgl1-mesa-glx/usr/lib/$(DEB_HOST_MULTIARCH)/mesa/ld.so.conf + + # Empty directory for the alternative + mkdir -p $(CURDIR)/debian/libgl1-mesa-glx/usr/lib/$(DEB_HOST_MULTIARCH)/xorg/x11-extra-modules + + # Create an ld.so.conf which says where to find libEGL, libGLES{1,2} + # and libOpenVG from Mesa. + echo "/usr/lib/$(DEB_HOST_MULTIARCH)/mesa-egl" \ + > $(CURDIR)/debian/libegl1-mesa/usr/lib/$(DEB_HOST_MULTIARCH)/mesa-egl/ld.so.conf + + dh_installman -s + dh_lintian -s + dh_link -s + # Install bug control and script: + set -e; for p in $(allpkg); do \ + install -d debian/$$p/usr/share/bug/$$p && \ + install -m 644 debian/local/control debian/$$p/usr/share/bug/$$p && \ + install -m 755 debian/local/script debian/$$p/usr/share/bug/$$p; \ + done + set -e; for p in $(havedbgpkg); do \ + dh_strip -p$${p} --dbg-package=$${p}-dbg; \ + done + # dh_strip -s --remaining-packages doesn't work with resumed + # builds (see changelog for mesa 7.10-1): + dh_strip $(foreach p,$(nodbgpkg),-p$(p)) + dh_compress -s + dh_fixperms -s +ifeq (,$(filter sparc sparc64,$(DEB_HOST_ARCH))) + # Resolve EGL/GLES/OpenVG symbols in the private library path. + # Because there's no packaging problem so onerous that accomodating + # proprietary alternatives can't make more difficult… + set -e ; for PACKAGE in \ + libegl1-mesa libgles1-mesa libgles2-mesa libopenvg1-mesa ; do \ + dh_makeshlibs -p$$PACKAGE -- -c4 \ + -edebian/$$PACKAGE/usr/lib/$(DEB_HOST_MULTIARCH)/mesa-egl/\* \ + ; done + + dh_makeshlibs -s --remaining-packages -- -c4 +else + # Temporarily work around FTBFS on sparc, ignore new symbols: + dh_makeshlibs -s -- -c1 +endif + dh_installdeb -s + dh_shlibdeps -s -l/usr/lib/$(DEB_HOST_MULTIARCH)/mesa:\ +/usr/lib/$(DEB_HOST_MULTIARCH)/mesa-egl + dh_gencontrol -s + dh_md5sums -s + dh_builddeb -s -- -Zxz + +binary: binary-indep binary-arch +.PHONY: configs build clean binary-indep binary-arch binary install + +# For maintainer use only, generate a tarball: +gentarball: SOURCE=mesa +gentarball: UV=$(shell dpkg-parsechangelog|awk '/^Version:/ {print $$2}'|sed 's/-.*$$//') +gentarball: + git archive --format=tar upstream-experimental --prefix=$(SOURCE)-$(UV)/ | gzip -9 > ../$(SOURCE)_$(UV).orig.tar.gz --- mesa-9.0.3.orig/debian/changelog +++ mesa-9.0.3/debian/changelog @@ -0,0 +1,2454 @@ +mesa (9.0.3-0ubuntu0.3) quantal-proposed; urgency=low + + * Added patches to add/fix Haswell pci-id's (LP: #1175533) + - fix-hsw-crw-ids.diff + - add-vlv-ids.diff + - fix-hsw-gt3-names.diff + - fix-missing-gt3-id.diff + - add-more-reserved-hsw-ids.diff + + -- Maarten Lankhorst Mon, 24 Jun 2013 13:45:19 +0200 + +mesa (9.0.3-0ubuntu0.2) quantal-security; urgency=low + + * SECURITY UPDATE: denial of service and possible code execution via + out-of-bands access + - debian/patches/CVE-2013-1872.patch: check for out-of-bounds reads in + src/mesa/drivers/dri/i965/brw_fs.cpp, + src/mesa/drivers/dri/i965/brw_fs.h, + src/mesa/drivers/dri/i965/brw_fs_visitor.cpp. + - CVE-2013-1872 + * SECURITY UPDATE: denial of service and possible code execution via + integer overflows + - debian/patches/CVE-2013-1993.patch: check lengths in + src/glx/XF86dri.c. + - CVE-2013-1993 + + -- Marc Deslauriers Tue, 18 Jun 2013 14:05:02 -0400 + +mesa (9.0.3-0ubuntu0.1) quantal-proposed; urgency=low + + * New upstream release. (LP: #1134466) + - Fixes GL_ANY_SAMPLES_PASSED_ARB handling in svn versions + of the Crystal Space game engine. + + -- Maarten Lankhorst Thu, 14 Mar 2013 12:18:29 +0100 + +mesa (9.0.2-0ubuntu0.1) quantal-proposed; urgency=low + + * Merge package from raring. + * Add patch to build against quantal's wayland again + - 119-revert-wayland102.patch + * Enable size reduction patches already used in the backported lts-quantal stack. (LP: #1117417) + - 117-static-gallium.patch + - 118-dricore-gallium.patch + + -- Maarten Lankhorst Wed, 06 Feb 2013 14:48:43 +0100 + +mesa (9.0.2-0ubuntu1) raring; urgency=low + + * New upstream release. + * Decrease size of mesa's libgl1-mesa-dri again + - re-enable 117-static-gallium.patch + - add 118-dricore-gallium.patch to link against libdricore again + + -- Maarten Lankhorst Tue, 22 Jan 2013 11:54:09 +0100 + +mesa (9.0.2-1) UNRELEASED; urgency=low + + [ Julien Cristau ] + * Use xz for all binary packages not just *-dbg. + + [ Timo Aaltonen ] + * New upstream release 9.0. + - Set close on exec flag when opening dri devices (Closes: #651370). + * Refresh patches + - disable 05_kfreebsd-egl-x11.diff for now. + - switch to llvm-3.1 (Closes: #678822). + * control: Added libtool to build-depends. + * rules: Drop special handling of config.{guess,sub}, not needed anymore. + * rules, libosmesa*: Build only the 32bit OSMesa library. + * control: Bump libdrm build-dep to 2.4.39. + * control: Bump libwayland-dev build-dep to 0.95. + * rules: Update the clean target. + * rules: Add --disable-shared-glapi to the swx11 targets. + * libosmesa*.install.in: Install files from the correct path. + * rules: --with-driver= is deprecated, use --enable-foo. + * rules: Purge .la files before dh_install. + * Update symbols. + * Added 14-fix-osmesa-build.diff, fixes glapi includes with out-of-tree + builds. + * libgl1-mesa-dri.install*.in: Add libdricore. + * control: Add new dependencies to libgl1-mesa-dev. + * rules, libgl1-mesa-dri.install.linux.in: Add support for radeonsi. + * rules: Build llvm shared libs on platforms that support llvm. + * Added 15-fix-llvmpipe-test-linking.diff: Fix link failure when building + llvmpipe with --with-llvm-shared-libs. Patch from fdo bug #52617. + * control, rules, libglu*: Remove libglu packaging, since it's been split + off upstream. + * rules: Disable dri for the swx11 targets. + * not-installed: Updated. + * Update symbols for libgles2-mesa + * libegl1-mesa-drivers.install.linux: Bump libwayland-egl.so version + * control: Add libdrm-dev to mesa-common-dev Depends. + + [ Steve Langasek ] + * Install all dri drivers from the DESTDIR tree, instead of copying them + from the build tree; this simplifies the install rules since we know + already that we're only building drivers that we want to ship, and + avoids rpath problems with libtool linking to in-tree convenience + libraries. + * debian/rules: don't install libdricore*.so, this isn't a public library. + * Add Pre-Depends on multiarch-support to libgl1-mesa-dri, since we're + shipping a shared library in the package; not an issue in practice since + this is all post-wheezy / post-precise, but it's an archive reject error + in Debian right now so let's just be complete. + + [ Maarten Lankhorst ] + * New upstream release 9.0.2. + * Bump standards-version to 3.9.3. + * control: Bump libwayland-dev build-dep to 1.0.2. + * Remove 13-llvm-config-pick-a-version.diff and just pass a flag to configure. + * Add 16-radeon-ndebug.diff to fix a build failure against llvm + + -- Julien Cristau Fri, 03 Aug 2012 23:17:16 +0200 + +mesa (9.0.1-0ubuntu1) raring; urgency=low + + * Merge from unreleased debian git. + - release 9.0.1 + * add 118-automake-ldrm.patch to ease backport to precise + - upstream commit, targeted for 9.0.2 + + -- Maarten Lankhorst Mon, 19 Nov 2012 12:03:50 +0100 + +mesa (9.0-0ubuntu1.1) UNRELEASED; urgency=low + + * Decrease size of mesa's libgl1-mesa-dri again + - re-enable 117-static-gallium.patch + - add 118-dricore-gallium.patch to link against libdricore again + + -- Maarten Lankhorst Tue, 22 Jan 2013 11:54:09 +0100 + +mesa (9.0-0ubuntu2) raring; urgency=low + + * patches/118-wayland-0.99.diff: Upstream port to wayland 0.99 API + * patches/119-wayland-no-0.85.diff: Drop wayland 0.85 defines + * patches/120-wayland-no-egl-pixmap.diff: Drop wl_egl_pixmap usage + * debian/control: Adjust build-depends to match the above patches + + -- Adam Conrad Sun, 18 Nov 2012 02:52:31 +0000 + +mesa (9.0-0ubuntu1) quantal; urgency=low + + * Merge from unreleased debian git. + - final 9.0 release. + * rules: Don't try building gallium swrast for arm, since it doesn't + work and wasn't actually built anyway. + + -- Timo Aaltonen Tue, 09 Oct 2012 15:55:51 +0300 + +mesa (9.0~git20121004.b2048c5e-0ubuntu1) quantal; urgency=low + + * Merge from unreleased debian git. + - new snapshot leading to final 9.0. + * Drop patch 118, obsolete. + + -- Timo Aaltonen Wed, 03 Oct 2012 18:23:24 +0300 + +mesa (9.0~git20120917.7cfd42ce-0ubuntu3) quantal; urgency=low + + * Add 118-undefined-symbols.patch, fixing libglapi and libosmesa + missing symbols. (LP: #1053088) + + -- Timo Aaltonen Thu, 20 Sep 2012 13:25:46 +0300 + +mesa (9.0~git20120917.7cfd42ce-0ubuntu2) quantal; urgency=low + + * Add Recommends on libtxc-dxtn-s2tc0, required by Bastion, Psychonauts, + Amnesia and other games on Intel graphics. This package provides + patent-free s3tc texture support. + (LP: #1053029) + + -- Bryce Harrington Tue, 18 Sep 2012 21:17:11 -0700 + +mesa (9.0~git20120917.7cfd42ce-0ubuntu1) quantal; urgency=low + + * Merge from unreleased debian git. (LP: #1047306) + + -- Timo Aaltonen Mon, 17 Sep 2012 13:24:35 +0300 + +mesa (9.0~git20120903.e1673d20-0ubuntu1) quantal; urgency=low + + * Merge from unreleased debian git. + * Remove 118-remove-assertion.diff, included upstream. + + -- Timo Aaltonen Thu, 06 Sep 2012 18:09:56 +0300 + +mesa (9.0~git20120821.c1114c61-0ubuntu2) quantal; urgency=low + + * Added 118-remove-assertion.diff from upstream (LP: #1042293). + + -- Timo Aaltonen Mon, 27 Aug 2012 21:12:44 +0300 + +mesa (9.0~git20120821.c1114c61-0ubuntu1) quantal; urgency=low + + * Merge from unreleased debian git. + - Includes support for ATI Trinity PCI IDs (LP: #1009089) + * rules, control, libgl1-mesa-swx11*: Remove swx11 support. + * Refresh patches: + - drop 115_llvm_dynamic_linking.diff, + 117_nullptr_check_in_query_version.patch, and + 118_glsl_initialize_samplers.patch, all upstream + - disable 116_use_shared_galliumcore.diff until it's reviewed and + reworked to apply + * not-installed, libegl1-mesa-drivers-install.linux.in: Updated to + match the single-pass build. + * libgl1-mesa-dri.*install.in: Drop libglsl.so, it's included in + libdricore.so now. + * rules: Don't disable GLU on the common flags, we need to build it + on the dri target. + * libglu*install.in: Fix the source file paths to match the build target. + Drop the static lib from -dev since only shared libs get built. + * libgl1-mesa-dev.install.in: Fix the source file paths to match the + build target. + * libgl1-mesa-dri.install.linux.in: Don't try to install libgallium.so, + which isn't built yet. + * rules: Enable llvmpipe on armhf to see if it works or not. + * rules: Remove bin/install-sh on clean, and don't create a symlink for + it. + * control: Add Pre-Depends on dpkg-dev due to the binaries using xz + compression. + + -- Timo Aaltonen Thu, 23 Aug 2012 15:37:30 +0300 + +mesa (8.0.4-1) unstable; urgency=low + + [ Sven Joachim ] + * New upstream stable release (Closes: #682703). + * Cherry-pick commit fbf86c7f0f (i965/gen7: Reduce GT1 WM thread count + according to updated BSpec.) from upstream. + + -- Cyril Brulebois Sun, 29 Jul 2012 13:17:06 +0200 + +mesa (8.0.3-1) unstable; urgency=low + + [ Robert Hooker ] + * New upstream stable release (Closes: #673532) + * Refresh patches. + + -- Cyril Brulebois Wed, 13 Jun 2012 14:58:54 +0200 + +mesa (8.0.2-2) unstable; urgency=low + + * Upload to unstable. + + -- Cyril Brulebois Tue, 01 May 2012 21:42:35 +0200 + +mesa (8.0.2-1) experimental; urgency=low + + [ Timo Aaltonen ] + * New upstream bugfix release. (LP: #926379) + * control: libegl1-mesa-dev should depend on -drivers so that the + symlinks work. + + [ Robert Hooker ] + * Add libudev-dev to libgbm-dev dependencies. + + -- Cyril Brulebois Sun, 29 Apr 2012 15:51:10 +0200 + +mesa (8.0-2) experimental; urgency=low + + [ Julien Cristau ] + * Only build the radeon, r200, i915 and i965 dri drivers on Linux. They + require KMS. + + [ Cyril Brulebois ] + * Fix FTBFS on GNU/kFreeBSD with libgl1-mesa-dri.install.kfreebsd.in: + there's no *_dri.so file left in the top directory, only swrast is + built and shipped under gallium/. So mention it explicitly, in the + same way as it is done in the libgl1-mesa-dri.install.linux.in file. + * Enable wayland support again, but only on Linux. Wayland needs some + porting (it uses *CLOEXEC flags and epoll). For that, add those files + since EGL packages are also shipped on GNU/kFreeBSD, and we need to + add a few files for Wayland, but only for Linux: + - libegl1-mesa-dev.install.linux.in + - libegl1-mesa-drivers.install.linux.in + * Limit the wl_drm_interface symbol to arch=linux-any accordingly, + and bump the version. + * Limit the build-dependency on libwayland-dev to linux-any too, and + bump it. + * Automatically revert changes to bin/{config.{guess,sub},install-sh} in + the clean target. The first two are modified, the last one needs to be + turned back into a symlink. + + -- Cyril Brulebois Tue, 14 Feb 2012 16:18:14 +0100 + +mesa (8.0-1) experimental; urgency=low + + [ Cyril Brulebois ] + * New upstream release. + * Disable patch temporarily (needs a refresh): + - 11-hurd-ftbfs-again.diff + * Drop patch, no longer needed since swrastg was renamed to swrast: + - 14-load-swrastg-before-swrast.diff + * Update rules file to strop building DRI1 drivers, they went away + with the following upstream commit: + - dri: Remove all DRI1 drivers (e4344161bd). + * Update not-installed for removed files. + * Stop trying to ship swrastg through libgl1-mesa-dri-experimental, + it replaced the non-gallium variant. + + [ Timo Aaltonen ] + * Refresh patches. + * control: Add libxcb-glx0-dev to build-depends. + * control: Drop libglw1-mesa, libglw1-mesa-dev, glw got moved to a + separate source package. + * libegl-mesa.symbols, libgles2-mesa.symbols: Add new symbols. + * rules: Drop obsolete configure options. + * Enable vmwgfx gallium driver & xatracker. (Closes: #652501). + * Build llvmpipe swrast only on non-hurd x86, traditional for the + rest. + * rules: No need to copy nouveau_vieux to the gallium dir, it's + installed in libgl1-mesa-dri now. + * rules: Handle installing r300_dri.so like other gallium drivers, + in libgl1-mesa-dri.install.linux.in. + + [ Robert Hooker ] + * Bump libdrm build dep to 2.4.30, x11proto-gl-dev to 1.4.14, and + x11proto-dri2-dev to 2.6. + * Add libxatracker packaging. + * Add libxcb-glx0-dev to libegl1-mesa-dev depends. + + [ Christopher James Halse Rogers ] + * debian/control: Add libx11-xcb-dev to libegl1-mesa-dev depends. + + -- Cyril Brulebois Fri, 10 Feb 2012 14:02:04 +0100 + +mesa (7.11.2-1) unstable; urgency=low + + * New upstream release: + - Fix a few intel bugs. + + -- Cyril Brulebois Sun, 11 Dec 2011 15:43:40 +0100 + +mesa (7.11.1-1) unstable; urgency=low + + [ Sven Joachim ] + * New upstream release. + * Move the Nouveau drivers to the libgl1-mesa-dri package + (Closes: #645239). + * Install the swrastg driver in the libgl1-mesa-dri-experimental package + (Closes: #605444). + - New patch 14-load-swrastg-before-swrast.diff to prefer swrastg over + swrast. + - Build-depend on llvm-2.9-dev also on kfreebsd-{amd64,i386}. + + -- Cyril Brulebois Sun, 27 Nov 2011 18:54:24 +0100 + +mesa (7.11-6) unstable; urgency=low + + [ Julien Cristau ] + * Inline what's left of debian/scripts/choose-configs in debian/rules. + * Enable texture-float for dri (closes: #635651). + * Update from upstream's 7.11 branch (commit e7794048) + * Merge changes from 7.10.3-4, including: + - Fix comments in libegl1-mesa.symbols to avoid impending FTBFS with the + upcoming dpkg-dev 1.16.1 (closes: #642690) + + [ Cyril Brulebois ] + * Document the symlink dance in README.source. + + -- Cyril Brulebois Sat, 24 Sep 2011 20:32:55 +0200 + +mesa (7.11-5) unstable; urgency=low + + * Merge patch from Pino Tiscano (thanks!): + - Use hurd-any instead of: hurd-i386 (“wildcard archs are free”). + - Use any-i386 instead of: i386 kfreebsd-i386 hurd-i386. + - Rewrite a check in debian/rules to follow the same logic. + - Switch libgbm1-dbg to arch: linux-any. This fixes uninstallability + on kfreebsd-* by getting rid of this package there. + - Switch libglapi-mesa{,-dbg} arch: any. This fixes the FTBFS on + hurd-i386^Wany. + + -- Cyril Brulebois Sun, 28 Aug 2011 19:07:48 +0200 + +mesa (7.11-4) unstable; urgency=low + + * Use xz compression for dbg packages. + * Simplify dh_strip calls a bit using make variables. + * libgbm-dev is also linux-only, not just libgbm1. + + -- Julien Cristau Sat, 27 Aug 2011 12:02:42 +0200 + +mesa (7.11-3) unstable; urgency=low + + * Don't build libgbm on kfreebsd, it needs KMS/udev. + * Build/ship r300g on all Linux architectures, not just x86. + + -- Julien Cristau Fri, 26 Aug 2011 11:04:45 +0200 + +mesa (7.11-2) unstable; urgency=low + + * Work around the lack of O_CLOEXEC on kfreebsd, fix FTBFS. + * Don't crash on BadRequest from DRI2Connect, just fall back to sw or + indirect. + + -- Julien Cristau Thu, 25 Aug 2011 23:13:35 +0200 + +mesa (7.11-1) unstable; urgency=low + + [ Christopher James Halse Rogers ] + * New upstream release. + - Fix regression from 7.10, missing characters in text display with + intel drivers (Closes: #631516). Thanks to Martin Steigerwald for + the report and the tests. + * Temporarily disable Wayland EGL backend as it requires a newer + libwayland-dev + * Update rules for configure changes + * debian/lib{egl1,openvg1}-mesa.install.in: + * debian/libegl1-mesa-drivers.install.in: + - Stop trying to install st_{GL,OpenVG} and pipe_* + as they are all now built in to egl_gallium.so + * Add libgbm{1,1-dbg,-dev} packages for the new buffer-manager library. + * Drop 12-llvm-config-check.diff; upstream. + * Refresh 13-llvm-config-pick-a-version.diff for new upstream. + * Add strictly versioned dependencies on libglapi-mesa to libgl1-mesa-glx + and libegl1-mesa-drivers as they also now depend on this internal library. + * debian/rules: + * debian/libgl1-mesa-dri.install.linux.in: + - Manually install r300g only when we actually build it. Fixes build on + non-i386, non-amd64 linux. + + [ Julien Cristau ] + * Don't use dh_testroot in clean. + + -- Julien Cristau Thu, 25 Aug 2011 00:15:27 +0200 + +mesa (7.11~0-2) experimental; urgency=low + + * Thank you sbuild for giving a green light when that's not actually the + case. Fix missing Pre-Depends for the libegl1-mesa-drivers package + (multiarch-support). + + -- Cyril Brulebois Sun, 19 Jun 2011 21:26:00 +0200 + +mesa (7.11~0-1) experimental; urgency=low + + * New upstream snapshot, from the master branch (up to 2fe39b46e7). + * Drop 05_hurd-ftbfs.diff, merged upstream (as 758561786c). + * Refresh 06_kfreebsd-ftbfs.diff (due to 8fd8de3995). + * Refresh 08-kfreebsd-gallium.diff (adjust offsets). + * Add 10-hurd-configure-tweaks.diff to enable x86 assembler on Hurd, + thanks to Pino Toscano. + * Refresh 11-hurd-ftbfs-again.diff (adjust offsets and drop the + src/gallium/auxiliary/os/os_time.c hunk, which should be OK since + PIPE_OS_UNIX is used there, and should happily replace the use of + PIPE_OS_HURD; and adapt for the removal of the PIPE_OS_EMBEDDED check). + * debian/libegl1-mesa.install.in: Stop trying to install egl_dri2.so and + egl_glx.so, since they are now built-in (since c98ea26e16). + * debian/libgles{1,2}-mesa.install.in: Stop trying to install + st_GLESv{1,2}_CM.so (respectively), which got removed. Quoting the + commit message: “Remove GLES overlay. With core mesa doing runtime API + checks, GLES overlay is no longer needed.” (12583174c5). + * Drop --enable-gles-overlay from debian/rules accordingly. + * Add 12-llvm-config-check.diff to handle --disable-gallium more + properly. + * Add 13-llvm-config-pick-a-version.diff, so that llvm-config-2.9 is + searched by configure, instead of unversioned llvm-config. + * Add a NOT_INSTALLED_EITHER variable to debian/not-installed. A few + files might have to be removed, but only if that's a git snapshot + (those files aren't in the released tarballs). Let's consider it's OK + to run “rm -f” on them: {,dri/}usr/include/GL/glut{,f90}.h + * Add libglapi-mesa{,-dbg} packages. + * Use a package-name-doesnt-match-sonames override accordingly. + * Update libegl1-mesa.symbols with new symbols. + * Update libgles{1,2}-mesa.symbols now that internal symbols (_glapi_* + and _glthread_GetID) moved to libglapi-mesa. + * Add a gentarball target, to generate tarballs for git snapshots. + * Replace “The OpenGL utility library…” with “Mesa OpenGL utility + library…” in the description of the libglu1-mesa* packages. + * Replace radeon with r300 in GALLIUM_DRIVERS to match upstream renaming + (5722286be2). + * Build r300 classic (through DRI_DRIVERS) everywhere, since r300g comes + with a few additional requirements: LLVM is needed for this driver, + and apparently only works fine on x86 platform. As a consequence, only + build r300g on amd and i386, and add llvm-2.9-dev build-dep on those + platforms accordingly. Disable it explicitly on other platforms. + * Stop building i915g at all, it's apparently never going to be a + suitable replacement for i915c. + * Add libwayland-dev build-dep. + * Add wayland to EGL_DISPLAYS on Linux. + * Ship wayland-egl.pc and libwayland-egl.so in libegl1-mesa-dev; and ship + libwayland-egl.so.1* in libegl1-mesa-drivers. + * Update libegl1-mesa.symbols with new wl_drm_interface symbol. + + -- Cyril Brulebois Sun, 19 Jun 2011 19:01:52 +0200 + +mesa (7.10.3-4) unstable; urgency=medium + + [ Cyril Brulebois ] + * Accept libmotif-dev as an alternative to lesstif2-dev in + libglw1-mesa-dev's dependencies, as requested by Michael Hanke + (Closes: #631236). + * Merge upstream 7.10 branch up to e041956cb2. + * Wrap Breaks fields. + * Add Breaks: {xserver-xorg-core,libgl1-mesa-glx}-no-multiarch to + libgl1-mesa-dri* to handle upgrades from squeeze-backports (without + multiarch) to wheezy (with multiarch). + * Add lintian overrides for breaks-without-version accordingly, those + packages are only provided in squeeze-backports. + * Replace “The OpenGL utility library…” with “Mesa OpenGL utility + library…” in the description of the libglu1-mesa* packages. + * Rename all remaining *.install files as *.install.in and use + “${DEB_HOST_MULTIARCH}” instead of “*”. + * Use the sed substitution on all debian/*.in files accordingly. + * Remove debian/clean, and use the same for loop to remove the generated + files. + * Set urgency to “medium” to speed things up. Migration to testing is + a prerequisite for squeeze backports. + + [ Sven Joachim ] + * Fix comments in libegl1-mesa.symbols to avoid impending FTBFS with + the upcoming dpkg-dev 1.16.1. + + -- Cyril Brulebois Sun, 07 Aug 2011 21:50:46 +0200 + +mesa (7.10.3-3) unstable; urgency=low + + * Update the “Breaks: xserver-xorg-core” from “(<= 2:1.10.2-1)” to + “(<< 2:1.10.2-2)”. The first binNMU migrated to testing too soon, + so it was needed to rebuild it again, in testing. Updating the + Breaks makes sure that a multiarch mesa doesn't get installed with + a server built against a pre-multiarch mesa. + * Merge upstream 7.10 branch up to 1ad06c7a25. + + -- Cyril Brulebois Sun, 19 Jun 2011 17:31:17 +0200 + +mesa (7.10.3-2) unstable; urgency=low + + [ Cyril Brulebois ] + * Add Breaks against nvidia and fglrx packages, since they are also + affected by the multiarch changes, and need fixing. Until fixed + packages reach the archive, nvidia and fglrx users should stick to + mesa 7.10.2-3 packages, currently available in testing. Thanks to + Andreas and Patrick for the version strings (Closes: #630710). + * Set CXXFLAGS along with CFLAGS (Closes: #630602). Thanks for the + report and the patch, Fabio Pedretti! + + [ Julien Cristau ] + * Prepend the multiarch dir to the dri driver search path. ${ORIGIN}/dri + works for libGL, but not for egl_dri2.so (which lives in /usr/lib/*/egl/). + Thanks to Michel Dänzer for the heads-up! + + -- Cyril Brulebois Fri, 17 Jun 2011 11:46:20 +0200 + +mesa (7.10.3-1) unstable; urgency=low + + * New upstream release. + * Add flex and bison build-deps (even though the generated files are + stored in VCS, and shipped…). + + -- Cyril Brulebois Tue, 14 Jun 2011 15:37:41 +0200 + +mesa (7.10.2-4) unstable; urgency=low + + [ Steve Langasek ] + * Build for multiarch. + + [ Cyril Brulebois ] + * Explanation of the “Breaks: xserver-xorg-core” part for our users: the + server queries the DRI driver path at build time, which is getting + changed for multiarch, so the server needs be rebuilt; a binNMU will + take care of getting the server ready. + * Many thanks for multiarch, Steve! + * Update Uploaders list. Thanks, David and Brice! + * Wrap Build-Depends. + + -- Cyril Brulebois Tue, 14 Jun 2011 12:19:33 +0200 + +mesa (7.10.2-3) unstable; urgency=low + + * Merge upstream 7.10 branch up to eaadbacb5c. + * Ship r600g again, it should be more usable now. + + -- Cyril Brulebois Tue, 31 May 2011 17:48:47 +0200 + +mesa (7.10.2-2) unstable; urgency=low + + [ Cyril Brulebois ] + * Merge upstream 7.10 branch up to b8c6362389. + * Get rid of leading article in short descriptions, taking care of this + lintian tag for almost all binary packages: + - description-synopsis-starts-with-article + * Get rid of libgl1-mesa-dri-i686, already commented out in control file. + + [ Sven Joachim ] + * Avoid installing the nouveau_vieux driver into libgl1-mesa-dri + (Closes: #622222). + + -- Cyril Brulebois Mon, 02 May 2011 12:29:37 +0200 + +mesa (7.10.2-1) unstable; urgency=low + + * New upstream release. + + -- Cyril Brulebois Sun, 10 Apr 2011 23:42:41 +0200 + +mesa (7.10.1-1) experimental; urgency=low + + [ Cyril Brulebois ] + * Revert to r600 classic, r600 gallium doesn't seem ready yet, after all + (Closes: #612609). + + [ Julien Cristau ] + * Set the DRI driver search path to "${ORIGIN}/dri", allowing libGL to find + the drivers after being relocated to /usr/lib32 by ia32-libs + (closes: #466790). Thanks to Javier Serrano Polo for the suggestion. + + [ Christopher James Halse Rogers ] + * New upstream release + - Lots of intel bugfixes, mainly for Sandybridge. + - Lots of GLSL spec conformance fixes + - Drop 12-fix-fdo-31940.diff; included included in new release. + * Remove talloc from build-depends. This has been re-implemented in-tree. + * Also drop patch fixing talloc linking. + * Cherry-pick fix from master for changed nouveau headers in libdrm 2.4.24. + - Also bump build-depend on libdrm to 2.4.24 + * Build and install nouveau_vieux driver in libgl1-mesa-dri-experimental. + (Closes: #586062) + + -- Cyril Brulebois Sun, 03 Apr 2011 21:26:05 +0200 + +mesa (7.10-4) unstable; urgency=low + + * debian/not-installed: Ignore the same files on *i386. + * debian/local/control: Report-with: xserver-xorg{,-core}. + * debian/local/script: New bug script, calling glxinfo if available, + then the server's bug script. + * New patch, thanks to Pino Toscano, fixing FTBFS on GNU/Hurd: + - 11-hurd-ftbfs-again.diff + * Make a lot of binary packages linux-any kfreebsd-any: + - libegl1-mesa + - libegl1-mesa-dbg + - libegl1-mesa-dev + - libegl1-mesa-drivers + - libegl1-mesa-drivers-dbg + - libopenvg1-mesa + - libopenvg1-mesa-dbg + - libopenvg1-mesa-dev + - libgles1-mesa + - libgles1-mesa-dbg + - libgles1-mesa-dev + - libgles2-mesa + - libgles2-mesa-dbg + - libgles2-mesa-dev + * Disable EGL/Gallium/GLES/state trackers on GNU/Hurd. + * Fix FTBFS on sparc64, treat it the same way as sparc. Thanks, Aurélien + Jarno! (Closes: #613106). + * Add patch for a crash in dri2_invalidate_drawable, thanks to Kai + Wasserbäch (Closes: #612640): + - 12-fix-fdo-31940.diff + + -- Cyril Brulebois Wed, 16 Feb 2011 11:53:26 +0100 + +mesa (7.10-3) unstable; urgency=low + + [ Julien Cristau ] + * debian/rules: RIP lpia. + + [ Cyril Brulebois ] + * Cherry-pick from upstream (thanks to Dave Airlie for the hint): + - radeon: fix build on non-KMS systems. + This fixes the FTBFS on GNU/kFreeBSD. + * Ship r300g (r300 gallium) on Linux only: Introduce Linux-specific + libgl1-mesa-dri.install.linux to that effect. + * According to Michel Dänzer, r600g (r600 gallium) is working well + enough to be shipped now. Let's ship it, then! + * Cherry-pick from upstream, fixing X's failure to start with UMS on + r300g (Closes: #612380): + - dri_util: fail driCreateNewScreen if InitScreen is NULL + + -- Cyril Brulebois Tue, 08 Feb 2011 16:06:38 +0100 + +mesa (7.10-2) unstable; urgency=low + + * Fix FTBFS on i386: Add some files to debian/not-installed, on a + per-architecture fashion (those are under /usr/lib/i686/cmov/). + * Work around FTBFS on sparc due to new symbols: pass -c1 to + dpkg-gensymbols instead of -c4 (on sparc only). Those symbols probably + shouldn't be exported, but let's make it possible to build xorg-server + 1.9 in sid. + + -- Cyril Brulebois Sat, 05 Feb 2011 11:16:26 +0100 + +mesa (7.10-1) experimental; urgency=low + + * New upstream release. + * Add patch: 10-fix-talloc-linking.diff + * Use debian/not-installed to keep track of files which aren't getting + installed for now. Delete them before running dh_install. Use the list + of files appearing in the build logs for 7.9+repack-2. + * Switch from --list-missing to --fail-missing accordingly. + * Pass -c4 to dpkg-gensymbols through dh_makeshlibs to make sure + symbol-related changes are noticed and dealt with. + * Update symbols files with new symbols: + - libopenvg1-mesa.symbols + * Remove “mesa internal ASM optimized functions” lines from symbols + files, those seem to be gone, and with -c4 passed to dpkg-gensymbols, + any related issue will break the build: + - libgles1-mesa.symbols + - libgles2-mesa.symbols + * Stop using dh_strip -s --remaining-packages. When a build is resumed + (-nc), this dh_strip call is a no-op if it was previously written to + the debhelper log files. Specify all remaining packages instead. + That's boring, but avoid getting non-stripped packages. + * Add debian/git-cleanup.sh script to ease removing files in git which + aren't in the release tarballs, and make dpkg-source error out. + * Keep my eyes wide shut and add myself to Uploaders. + + -- Cyril Brulebois Tue, 25 Jan 2011 00:20:57 +0100 + +mesa (7.9+repack-2) experimental; urgency=low + + [ Cyril Brulebois ] + * Specify PASV in watch file, and mangle +repack. + + [ Christopher James Halse Rogers ] + * debian/control: + - Add libudev-dev to build-depends. This is required for the DRI2 EGL + driver to work with a drm display. + + [ Sven Joachim ] + * Update for the latest libdrm-nouveau API: + - Cherry-pick commit c25fcf5a from Mesa master. + - Build-depend on libdrm-dev 2.4.23 or newer. + * Use linux-any for linux-libc-dev and libudev-dev build-depends. + + [ Julien Cristau ] + * Update from upstream 7.9 branch, commit 0ff45dd. + * Refresh patches. + + -- Julien Cristau Tue, 04 Jan 2011 12:46:59 +0100 + +mesa (7.9+repack-1) experimental; urgency=low + + * Repack the upstream tarball to get rid of duplicate files which make dpkg + choke. Thanks to Luca Falavigna for his help diagnosing this. + + -- Julien Cristau Mon, 15 Nov 2010 23:04:45 +0100 + +mesa (7.9-1) experimental; urgency=low + + [ Christopher James Halse Rogers ] + * debian/control: + - Add EGL, GLESv1, GLESv2, and OpenVG virtual packages. The Khronos group + specifies a de-facto linux ABI for these libraries. We have a similar + package for libgl1. + * debian/README.Debian: + - Document the virtual packages above. + + [ Sven Joachim ] + * Bump libdrm-dev build dependency to 2.4.21-2~, the Nouveau Gallium + driver does not build with squeeze's libdrm-nouveau1. + + [ Julien Cristau ] + * New upstream release. + * Update patches: + - 03_optional-progs-and-install.patch dropped, demos moved to a separate + package + - 07-nouveau-update.diff and + 09-intel-fix-invalidate-before-initialisation.diff dropped, they were + backports from upstream + - 04_osmesa_version.diff updated + * Add build-dep on talloc. + * Drop the mesa-utils package, demos were moved out of the mesa tree. + * Use --with-egl-platforms instead of --with-egl-displays, and replace kms + with drm. + * Merge some packaging changes from ubuntu: + - libegl1-mesa-drivers-x11,kms: There are no longer separate kms or x11 + drivers for EGL, libegl1-mesa-drivers now contains a single driver that + provides both backends (Christopher James Halse Rogers) + - Remove pre-generated .pc's, use the ones generated at build time instead + (Robert Hooker) + - Build the r600 gallium driver + - Update symbols files + * README.source: we don't need to repack MesaLib.tar.gz anymore. + * Kill old sourceforge url from debian/watch. + * Ship the gallium r300 driver instead of the classic one. + + -- Julien Cristau Sat, 13 Nov 2010 00:36:11 +0100 + +mesa (7.8.2-2) experimental; urgency=low + + * Add missing dependencies to libegl1-mesa-dev, thanks to Alexandros + Frantzis (LP: #600243). + * gallium: handle kfreebsd like freebsd, fixing FTBFS (closes: #585618) + * intel: Fix invalidate before initialisation (stolen from fdo bugzilla + #29091, fixes server 1.9rc crash when starting an app using GLX 1.3) + * Pull from 7.8-branch up to commit d06e011. + * Fixup hurd and kfreebsd patches to apply. + + -- Julien Cristau Tue, 20 Jul 2010 15:57:31 +0200 + +mesa (7.8.2-1) experimental; urgency=low + + [ Robert Hooker ] + * Adjust the build system to install the dri target in a separate + DESTDIR, no longer passing --libdir=/usr/lib/glx at configure time + messing with the .pc's since it is used for a majority of the + packages now. + * Fix up the mesa-common-dev header install location. + + [ Julien Cristau ] + * Add ${misc:Depends} to all packages. + * libc6-dev is build-essential, no need to depend on it. + * Replace nonsensical dependency of libglw1-mesa-dev on libxext6 with a + dependency on libxt-dev and lesstif2-dev. + * Add new lintian overrides for the package-name-doesnt-match-sonames stuff. + * Don't ship progs/objviewer in the tarball, it's insanely big and unused. + * New upstream release. + * Refresh patches. + * Stop shipping an upstream git log, it's unlikely to be useful to anyone, + and it's big. + * debian/scripts/choose-configs: use DEB_HOST_ARCH, not DEB_BUILD_ARCH + (closes: #451648). + * Rename radeong_dri.so to r300_dri.so in build, not binary. + + [ Christopher James Halse Rogers ] + * debian/patches/07-nouveau-update.diff: + - Pull in nouveau_class.h header no longer shipped by libdrm 2.4.21 and + update nouveau build to use it. Fixes FTBFS against libdrm 2.4.21. + * debian/rules: + - Simplify selecting which gallium drivers are built. Use this to only + act on gallium packages on archs where we're actually building them. + Part of the fix for FTBFS on Hurd and kFreeBSD. + + -- Julien Cristau Thu, 01 Jul 2010 12:50:18 +0200 + +mesa (7.8.1-2) experimental; urgency=low + + [ Tormod Volden ] + * debian/rules: Do not strip the same packages twice + + [ Julien Cristau ] + * Stop building the ffb dri driver on sparc, it no longer exists. + * Merge changes from 7.7.1-2. + + [ Christopher James Halse Rogers ] + * debian/compat: + - Bump to v7 for dh_install search path behaviour + * debian/rules: + - Enable gallium for dri build. + - Enable egl for dri build. + - Build nouveau, radeon & swrast gallium drivers + - Build OpenVG, OpenGL|ES, dri, glx & egl state trackers + * debian/libegl1-mesa-dev.install: + * debian/libegl1-mesa.install: + * debian/libegl1-mesa.symbols: + - New libEGL package. + * debian/libgles1-mesa-dev.install: + * debian/libgles1-mesa.install: + * debian/libgles1-mesa.symbols: + - New OpenGL|ES v1.x package. + * debian/libgles2-mesa-dev.install: + * debian/libgles2-mesa.install: + * debian/libgles2-mesa.symbols: + - New OpenGL|ES v2.x package. + * debian/libopenvg1-mesa-dev.install: + * debian/libopenvg1-mesa.install: + * debian/libopenvg1-mesa.symbols: + - New OpenVG package. + * debian/libegl1-mesa-drivers-x11.install: + - New gallium EGL drivers package. + * debian/libegl1-mesa-drivers-kms.install: + - New gallium EGL kms driver package. + * debian/egl.pc: + * debian/vg.pc: + * debian/glesv1_cm.pc: + * debian/glesv2.pc: + - Pull pkg-config files from master and install them in the respective + -dev packages. + * debian/libgl1-mesa-dri-experimental.install: + * debian/libgl1-mesa-dri.install: + - “make install” puts classic and gallium drivers in the same path, but + builds gallium drivers in the gallium/ subdirectory. Copy the drivers + directly from the build path, rather than trying to separate them out + post-hock. + * debian/control: + - Add new packages. + - Add new build-depends on libx11-xcb-dev, libxcb-dri2-0-dev, + libxcb-xfixes0-dev and python-libxml2 for gallium. + - Bump build-depends on dpkg-dev for regex in symbols files. + + -- Julien Cristau Fri, 11 Jun 2010 03:19:09 +0200 + +mesa (7.8.1-1) experimental; urgency=low + + * New upstream release. + + Pull from upstream 7.8 branch up to commit db3b3421. + * Refresh patches. + * Bump build dependency to libdrm-dev 2.4.19, x11proto-gl-dev 1.4.11, + and x11proto-dri2-dev 2.1. + + -- Brice Goglin Sun, 18 Apr 2010 09:25:39 +0200 + +mesa (7.7.1-2) unstable; urgency=low + + * debian/rules: use DEB_HOST_ARCH_CPU instead of DEB_HOST_GNU_CPU. Prompted + by Ubuntu which changed the latter to i686, breaking their packages on + i386. + * Pull from mesa_7_7_branch (commit 8ba378d). + + -- Julien Cristau Thu, 20 May 2010 17:34:19 +0200 + +mesa (7.7.1-1) unstable; urgency=low + + [ Brice Goglin ] + * Remove Thierry Reding from Uploaders, closes: #572539. + * Bump Standards-Version to 3.8.4, no changes needed. + + [ Timo Aaltonen ] + * New upstream release. + + -- Brice Goglin Tue, 30 Mar 2010 17:15:09 +0200 + +mesa (7.7-4) unstable; urgency=low + + * Pull from upstream mesa_7_7_branch up to commit 293f4d51. + + r6xx/r7xx: emit relocation for FRAG & TILE buffer, closes: #569663. + + -- Brice Goglin Wed, 24 Feb 2010 22:44:11 +0100 + +mesa (7.7-3) experimental; urgency=low + + * Pull from upstream mesa_7_7_branch up to commit f5145a6e. + * Build against libdrm-radeon1 2.4.17 to get DRI2 support. + + -- Brice Goglin Mon, 01 Feb 2010 22:55:36 +0100 + +mesa (7.7-2) experimental; urgency=low + + [ Julien Cristau ] + * Rename the build directory to not include DEB_BUILD_GNU_TYPE for no + good reason. Thanks, Colin Watson! + * Remove myself from Uploaders + + [ Brice Goglin ] + * Pull from upstream mesa_7_7_branch up to commit 2f28ca0a. + + Fix funky colors on radeon/r200/r300. + + -- Brice Goglin Wed, 27 Jan 2010 09:14:38 +0100 + +mesa (7.7-1) experimental; urgency=low + + [ Brice Goglin ] + * Bump libdrm build dependency to 2.4.15, closes: #561058. + * New upstream release. + * Pull from upstream mesa_7_7_branch up to commit 6d6c9c66. + + [ Julien Cristau ] + * Add freedesktop.org ftp to watch file since that's where newer upstream + tarballs are. + * Don't include GLUT sources since we don't use them. + + -- Brice Goglin Mon, 11 Jan 2010 17:52:31 +0100 + +mesa (7.7~rc2-1) experimental; urgency=low + + * New upstream release candidate. + + s3v and trident DRI drivers removed since they never worked. + + -- Brice Goglin Sat, 12 Dec 2009 13:02:55 +0100 + +mesa (7.6.1-1) unstable; urgency=low + + * New upstream release + + Pull upstream mesa_7_6_branch up to commit da876fa3 + * Bump linux-libc-dev build-dep to 2.6.31 for the r600 dri driver (fixes + ftbfs on mips). + * Drop hunk from 05_hurd-ftbfs.diff that was applied upstream. Refresh + other patches. + + -- Julien Cristau Tue, 29 Dec 2009 10:42:24 +0000 + +mesa (7.6.1~rc3-1) unstable; urgency=low + + * New upstream release candidate. + + Pull upstream mesa_7_6_branch up to commit 7d41b424. + + Includes sparc64 xform asm patch from #560403. + * Update debian/rules to fix sparc64 FTBFS, thanks Aurelien Jarno, + closes: #560403. + * Build r600 DRI driver. + + -- Brice Goglin Fri, 11 Dec 2009 18:36:36 +0100 + +mesa (7.6.1~rc2-1) unstable; urgency=low + + * New upstream release candidate. + + Pull upstream mesa_7_6_branch up to commit b2953ee. + + i965: Fix the bounds emitted in the vertex buffer packets, + closes: #556541. + + Fix window drawing regression in Kwin on older Radeon hardware, + fix assertion failure leading to crash on kwin when compositing + is enabled, closes: #549588. + + Refresh patches. + + -- Brice Goglin Sun, 06 Dec 2009 00:14:34 +0100 + +mesa (7.6-1) unstable; urgency=low + + [ Brice Goglin ] + * New upstream release. + + Fix software fallback assertion on RS480, closes: #539162. + + Fix segfault in _swrast_ReadPixels on i915, closes: #545085. + + [ Julien Cristau ] + * Don't run install from the various configs in parallel, hopefully fixing a + bug in the previous debian/rules. Thanks to Bernhard R. Link for the + suggestions. + + -- Brice Goglin Tue, 29 Sep 2009 11:51:58 +0200 + +mesa (7.5.1-1) unstable; urgency=low + + [ Brice Goglin ] + * New upstream release. + * Add README.source. + * Bump Standards-Version to 3.8.3. + + [ Julien Cristau ] + * Override 'package-name-doesnt-match-sonames' lintian warnings for libGLU, + libGLw and both libGLs. + * Use dh_lintian and bump debhelper build-dep accordingly. + + -- Brice Goglin Fri, 04 Sep 2009 11:38:46 +0200 + +mesa (7.5-3) unstable; urgency=low + + * Pull from upstream mesa_7_5_branch up to commit b4ba6a66 + (early 7.5.1 release snapshot). + * Only install the huge upstream changelog in mesa-common-dev, + closes: #538094. + * Enable i686 optimized libraries on hurd-i386. + + -- Brice Goglin Fri, 24 Jul 2009 00:29:28 +0200 + +mesa (7.5-2) unstable; urgency=low + + * Pull from upstream mesa_7_5_branch up to commit a6b31415 + + radeon/DRI1: if we have HW stencil, only expose fbconfigs with stencil, + closes: #537732. + * Install the upstream changelog. + + -- Brice Goglin Tue, 21 Jul 2009 22:21:50 +0200 + +mesa (7.5-1) unstable; urgency=low + + [ Timo Aaltonen ] + * Move dri.pc to mesa-common-dev (closes: #521667) + + [ Brice Goglin ] + * Enable i686 optimized libraries on kfreebsd-i386, closes: #537345. + * New upstream release: + + i915: Fix assertion failure on remapping a non-BO-backed VBO, + closes: #537147. + + GLX/DRI1: Mark GLX visuals with depth != screen depth non-conformant, + closes: #532980. + + -- Brice Goglin Sun, 19 Jul 2009 12:53:41 +0200 + +mesa (7.5~rc4-1) experimental; urgency=low + + [ Timo Aaltonen ] + * New upstream release candidate. + + xdriinfo now works with DRI2 (closes: #527132) + * rules: Disable EGL. + * mesa-common-dev.install: Don't install glxew.h, conflicts with libglew. + + [ Julien Cristau ] + * Update patches: + + 02_use-ieee-fp-on-s390-and-m68k.patch moved from imports.h to compiler.h + + 03_optional-progs-and-install.patch refreshed + + 05_hurd-ftbfs.diff partly applied upstream + + 06_kfreebsd-ftbfs.diff refreshed + * Install dri.pc, which will be needed to build xorg-server 1.7. + * Don't build gallium for now. + + -- Julien Cristau Sun, 28 Jun 2009 20:21:37 +0200 + +mesa (7.4.4-1) unstable; urgency=low + + [ Julien Cristau ] + * New upstream release. + + fixes a crash in swrast glXWaitX (closes: #528708) + * Don't build hardware dri drivers on s390. + * Update 04_osmesa_version.diff, refresh 06_kfreebsd-ftbfs.diff. + + [ Brice Goglin ] + * Enable motif in GLw, closes: #527483. + + -- Julien Cristau Sun, 28 Jun 2009 18:58:27 +0200 + +mesa (7.4.1-1) unstable; urgency=low + + [ Julien Cristau ] + * Make libgl1-mesa-dev and mesa-common-dev 'Architecture: any'. This gets + rid of uninstallability when a new upstream version isn't built on all + architectures, and allows us to ship potentially arch-specific .pc files. + * Install pkgconfig files for libGLU, libOSMesa and libGLw. + * Make libgl1-mesa-dri{,-dbg} 'Architecture: any', as swrast_dri.so should + get built everywhere. + * Drop the dependency on libgl1-mesa-glx from -dri, and make -glx recommend + -dri instead. The dri drivers are also loaded by the X server, which + doesn't need libGL. On the other hand, libGL needs one of the dri drivers + for direct rendering (either software or hardware). Mark libgl1-mesa-dri + as breaking old xserver-xorg-core and libgl1-mesa-glx, to avoid + incompatibilities. + * Add patch by Samuel Thibault to fix FTBFS on hurd-i386. + * Pull from mesa_7_4_branch as of May 3rd (commit 63375254). + * Move -dbg packages to new 'debug' section. + + [ Brice Goglin ] + * Add patch by Aurelien Jarno to fix FTBFS on kfreebsd-i386, closes: #524690. + + -- Julien Cristau Sun, 03 May 2009 16:05:09 +0200 + +mesa (7.4-2) unstable; urgency=low + + * Upload to unstable. + + -- Julien Cristau Wed, 08 Apr 2009 23:53:47 +0100 + +mesa (7.4-1) experimental; urgency=low + + [ Timo Aaltonen ] + * New upstream release. + + -- Julien Cristau Wed, 01 Apr 2009 20:25:00 +0200 + +mesa (7.4~rc1-1) experimental; urgency=low + + * New upstream release candidate. + * Fix watch file to make uscan not consider release candidates as newer than + actual releases. + * debian/control: add lpia to the Architecture field for + libgl1-mesa-dri{,-dbg} to match Ubuntu. + * debian/rules: on lpia, only build the i915 and i965 dri drivers (based on + Ubuntu changes). + * Build-depend on linux-libc-dev >= 2.6.29 on linux archs. + + -- Julien Cristau Wed, 25 Mar 2009 11:34:42 +0100 + +mesa (7.3-1) experimental; urgency=low + + [ Timo Aaltonen ] + * New upstream release. + + [ Julien Cristau ] + * Try to make the diff a bit smaller by removing directories that are in + upstream git but not in tarballs. + + -- Julien Cristau Fri, 30 Jan 2009 20:00:34 +0100 + +mesa (7.3~rc3-1) experimental; urgency=low + + [ Timo Aaltonen ] + * New upstream release candidate. + + [ Julien Cristau ] + * Refresh patches 03 and 04. + + -- Julien Cristau Wed, 21 Jan 2009 19:01:21 +0100 + +mesa (7.3~rc1-1) experimental; urgency=low + + * New upstream release candidate. + + provides DRI2 (closes: #411141). + + i915: fallback for cube map texture. Fixes GPU hang with scorched3d + (closes: #484049). + + [ Timo Aaltonen ] + * Remove debian/patches/01_disable-intel-classic-warn.diff, the + warning is gone now. + * debian/control: + - Build-depend on x11proto-dri2-dev (>= 1.99.3) + + [ Julien Cristau ] + * Require libdrm-dev 2.4.3. + * Merge packaging changes from unstable, from 7.0.3-5 to 7.0.3-7. + * Delete unused configs/debian-*, and install-source.sh script. We've + switched to using autoconf, and mesa-swx11-source is gone. + * Delete some now unused code from debian/rules. + + -- Julien Cristau Sat, 10 Jan 2009 22:14:55 +0100 + +mesa (7.2-1) experimental; urgency=low + + [ Brice Goglin ] + * Fix grammar and punctuation in glxinfo(1), thanks Sam Hocevar, + closes: #498595. + + [ Timo Aaltonen ] + * New upstream release. + * Refresh patch 04_osmesa_version.diff + + [ Julien Cristau ] + * Remove the build-dep on dri2proto, DRI2 support has been removed. + * intel: don't warn about TTM init failure. + + -- Julien Cristau Wed, 24 Sep 2008 14:28:21 +0200 + +mesa (7.1-1) experimental; urgency=low + + * Add parallel build support. + * New upstream development release + + libGLU now only exports its public interface (closes: #319388) + * Some more parallel build updates. + + -- Julien Cristau Wed, 27 Aug 2008 19:52:24 +0200 + +mesa (7.1~rc3-1) experimental; urgency=low + + [ Julien Cristau ] + * New upstream release candidate (updated to git commit 4fab47b1). + * Build against libdrm >= 2.3.1. + * 04_osmesa_version.diff: fix libOSMesa versioning, to revert accidental + SONAME bump. + + [ Timo Aaltonen ] + * Refresh patches, and drop obsolete 00_create-libdir.patch and + 01_fix-makefile.patch. + * Build-depend on x11proto-dri2-dev. + * Drop mesa-swx11-source. + * Add dri_interface.h to mesa-common-dev. + * Add gl.pc to libgl1-mesa-dev + * rules: Replace the old build system with the new autotools-based + system. + * Run autoreconf before building the various flavours.. + * Add automake & autoconf to build-deps. + * Use --enable-glx-tls for dri. + + -- Julien Cristau Sun, 13 Jul 2008 19:41:42 +0200 + +mesa (7.0.3-7) unstable; urgency=low + + * Cherry-pick patch from upstream: + Use 3Dnow! x86-64 routines only on processors that support 3Dnow! + (closes: #484180). + * Also build the x86-specific dri drivers on kfreebsd (closes: #492894). + + -- Julien Cristau Sun, 14 Dec 2008 07:34:58 +0530 + +mesa (7.0.3-6) unstable; urgency=high + + * Update debian/copyright to the SGI Free Software License B, version 2.0. + It now mirrors the free X11 license used by X.Org (closes: #368560). + http://www.sgi.com/company_info/newsroom/press_releases/2008/september/opengl.html + + -- Julien Cristau Sat, 20 Sep 2008 16:30:44 +0200 + +mesa (7.0.3-5) unstable; urgency=low + + * Disable the i915tex driver, it doesn't build against libdrm 2.3.1. + * Pull from mesa_7_0_branch (27425708). + + -- Julien Cristau Sat, 12 Jul 2008 18:56:19 +0200 + +mesa (7.0.3-4) unstable; urgency=low + + * Pull from mesa_7_0_branch (2ac4919d). + * Put back our configs/ changes into the .diff.gz since choose-configs + needs them before quilt is invoked. Put 04_cleanup-osmesa-configs.patch + there as well for #485161. + + -- Brice Goglin Wed, 18 Jun 2008 20:59:14 +0200 + +mesa (7.0.3-3) unstable; urgency=low + + * Pull from mesa_7_0_branch (718724de). + + Fix intel_batchbuffer_space on i965, closes: #455817. + + Fix busy error in i915_wait_irq for real now, closes: #467319. + * Move our configs/ changes from the .diff.gz into our quilt patches, + with 04_cleanup-osmesa-configs.patch renamed into 04_debian-configs.patch, + closes: #485161. + + -- Brice Goglin Tue, 17 Jun 2008 20:00:51 +0200 + +mesa (7.0.3-2) unstable; urgency=low + + * Pull from mesa_7_0_branch (03447de3). + * Set right cliprects for the current draw region on Intel, closes: #467319. + * Use BRW_TEXCOORDMODE_CLAMP instead of BRW_TEXCOORDMODE_CLAMP_BORDER + to implement GL_CLAMP on i965, closes: #478880. + * Fix segment fault with BASE_LEVEL set to 5 for MipMap on i915, + closes: #451339. + * Disable low impact fallback on r300 by default, closes: #440868. + + -- Brice Goglin Fri, 13 Jun 2008 06:53:29 +0200 + +mesa (7.0.3-1) unstable; urgency=low + + * New upstream release. + * Only call ProgramStringNotify if program parsing succeeded, + closes: #473551. + + -- Brice Goglin Fri, 11 Apr 2008 08:42:37 +0200 + +mesa (7.0.3~rc2-2) unstable; urgency=low + + * Pull from mesa_7_0_branch (1e83d70b). + * Fixes regression in the i965 dri driver (closes: #470984, #470084) + * Update 02_use-ieee-fp-on-s390-and-m68k.patch. + * Change libgl1-mesa-swx11-i686's pre-dependency on libgl1-mesa-swx11 to a + regular versioned dependency, and add ${shlibs:Depends}. + + -- Julien Cristau Mon, 31 Mar 2008 16:47:31 +0200 + +mesa (7.0.3~rc2-1) unstable; urgency=low + + * New upstream release candidate. + + enable user-defined clip planes for R300 (closes: #408679) + + 03_optional-progs-and-install.patch: partly applied upstream, fixed up + * Stop building with -O0 on hppa. Bug #451047 should be fixed in recent gcc + versions. + + -- Julien Cristau Sun, 24 Feb 2008 10:22:54 +0100 + +mesa (7.0.2-4) unstable; urgency=low + + * Update to mesa_7_0_branch head (commit 48ae5cf0). + * Add Vcs-Git, Vcs-Browser and Homepage fields in debian/control. + + -- Julien Cristau Thu, 17 Jan 2008 22:23:06 +0100 + +mesa (7.0.2-3) unstable; urgency=low + + * Update to mesa_7_0_branch head (commit 0107acde). + * Bump Standards-Version to 3.7.3. + * Move libgl1-mesa-swx11-dbg, mesa-common-dev and libosmesa6-dev to section + libdevel. + * libgl1-mesa-swx11 conflicts with libgl1-mesa-glx. Move it and + libgl1-mesa-swx11-dev to priority extra. + * Fix typo in mesa-common-dev's long description. + + -- Julien Cristau Tue, 18 Dec 2007 19:13:18 +0100 + +mesa (7.0.2-2) unstable; urgency=low + + [ Julien Cristau ] + * Don't set -fno-strict-aliasing in configs/debian-default. It is set + upstream now. + * Workaround gcc ICE on hppa: build libOSMesa with -O0 (see bug#451047). + * Add build-dep on libxext-dev. Thanks, Timo Aaltonen! + + -- Brice Goglin Tue, 13 Nov 2007 21:43:40 +0100 + +mesa (7.0.2-1) unstable; urgency=low + + * New upstream release. + + Fix Blender crash in triangle_twoside(), closes: #439668, #446315. + + Fix crash in _generic_read_RGBA_span_RGB565_MMX(), closes: #445313. + + Fix the new __gluInvertMatrix() function, closes: #440137 ,#441071. + + Refresh 03_optional-progs-and-install.patch since libGLU is not + built when building progs/xdemos. + + Refresh 04_cleanup-osmesa-configs.patch. + + Drop 05_static-nonpic.patch,, applied upstream. + + Remove DESTDIR from INSTALL_DIR in configs/debian-default since + the upstream Makefiles now support DESTDIR. + * Add myself to Uploaders. + + -- Brice Goglin Sun, 11 Nov 2007 11:53:26 +0100 + +mesa (7.0.1-2) unstable; urgency=low + + * Update to latest git (from mesa_7_0_branch) + + adds support for some new intel chipsets (i915 and i915_tex dri drivers) + (closes: #437333) + + broken inline asm in dri drivers fixed (closes: #423739) + + -- Julien Cristau Tue, 28 Aug 2007 12:11:30 +0200 + +mesa (7.0.1-1) unstable; urgency=low + + * New upstream release. + * Upload to unstable. + + -- Julien Cristau Thu, 09 Aug 2007 11:56:16 +0200 + +mesa (7.0.1~rc2-1) experimental; urgency=low + + [ David Nusinow ] + * New upstream release candidate + * Bite the bullet and add myself to uploaders + + [ Julien Cristau ] + * Modify the short descriptions of various packages so they fit in .changes + files without being cut off. Thanks, Marc 'HE' Brockschmidt! + * Add a shlibs file for libgl1-mesa-swx11-i686. + + -- Julien Cristau Fri, 27 Jul 2007 20:17:48 +0200 + +mesa (6.5.3-1) experimental; urgency=low + + [ David Nusinow ] + * New upstream release + + [ Julien Cristau ] + * Cherry-pick commit 65faf023679988f93da82b4c7ebdc689f2094459 by Michel + Dänzer to fix r300 crash. + + -- Julien Cristau Mon, 21 May 2007 11:34:51 +0200 + +mesa (6.5.3~rc3-1) experimental; urgency=low + + [ Brice Goglin ] + * Split out libGLw libs and headers from libgl1-mesa-swx11 and ship both + static and shared libraries, creating libglw1-mesa and libglw1-mesa-dev + (closes: #374904). + + [ Julien Cristau ] + * New upstream release candidate. + + 06_fix_texture_data_corruption.patch, + 07_call_radeonSetCliprects_from_radeonMakeCurrent.patch, + 08_r300_update_window_state_when_bound_but_stamp_changed.patch, + 09_i915_always_enable_pixel_fog.patch: remove, included upstream. + + 01_fix-makefile.patch, 02_use-ieee-fp-on-s390-and-m68k.patch: refresh. + * Add build-dependencies on libxdamage-dev and libxfixes-dev. + * Resync debian/scripts/install-source.sh. + * Build mesa-swx11-source only in binary-indep. + * Update from upstream git (commit + dee1b0d5bbe91f83854813cbbcd3090327bcb5c2). + + -- Julien Cristau Wed, 25 Apr 2007 10:36:50 +0200 + +mesa (6.5.2-7) unstable; urgency=low + + [ Brice Goglin ] + * libgl1-mesa-dev does not need to depend on libgl1-mesa-dri, + libgl1-mesa-glx is enough (since their split in 6.4.1-0.1); + closes: #432081. Thanks, Samuel Thibault! + + [ Julien Cristau ] + * libgl1-mesa-dev Depends on libgl1-mesa-glx (>= ${source:Upstream-Version}) + instead of >= ${Source-Version}. This way it's still installable on + architectures where mesa isn't built yet when a minor revision is + uploaded. + + -- Julien Cristau Wed, 11 Jul 2007 05:50:45 +0200 + +mesa (6.5.2-6) unstable; urgency=low + + * libgl1-mesa-swx11 needs to depend on libosmesa6 (>= 6.5.2-1) because + it used to contain libOSMesa.so.6. This means that programs linked + against this lib got a dependency on -swx11 which was broken since + 6.5.2-1. + * Fix build on hurd-i386 (build libgl1-mesa-glx without dri support and + don't build the dri drivers); closes: #420403. Thanks, Samuel Thibault! + + -- Julien Cristau Thu, 05 Jul 2007 00:56:35 +0200 + +mesa (6.5.2-5) unstable; urgency=low + + [ Brice Goglin ] + * Add 07_call_radeonSetCliprects_from_radeonMakeCurrent.patch + (closes: #420164). Thanks to Christian Ohm. + * Add 08_r300_update_window_state_when_bound_but_stamp_changed.patch + * Add 09_i915_always_enable_pixel_fog.patch + + -- Julien Cristau Fri, 18 May 2007 13:36:25 +0200 + +mesa (6.5.2-4) unstable; urgency=low + + [ Julien Cristau ] + * debian/control: libgl1-mesa-dri now suggests libglide3, with an + explanation in the description (closes: #387339). + * Upload to unstable. + + [ Brice Goglin ] + * Add 06_fix_texture_data_corruption.patch (closes: #412346). + + -- Julien Cristau Fri, 20 Apr 2007 05:57:35 +0200 + +mesa (6.5.2-3) experimental; urgency=low + + * Set LIB_DIR and EXTRA_LIB_PATH in configs/debian-default to override + settings in configs/linux-x86-64. This fixes a FTBFS on amd64, thanks to + Marc 'HE' Brockschmidt for the report (closes: #410118). + + -- Julien Cristau Wed, 7 Feb 2007 23:04:28 +0100 + +mesa (6.5.2-2) experimental; urgency=low + + * Sync Section/Priority for all packages with the override. + * Build the arch:all debs in binary-indep, and use the debhelper -s option + for commands in binary-arch, to fix FTBFS on non-i386 archs, thanks to + Marc 'HE' Brockschmidt (closes: #409638). + * Add myself to Uploaders. + + -- Julien Cristau Sun, 4 Feb 2007 21:14:02 +0100 + +mesa (6.5.2-1) experimental; urgency=low + + [ Thierry Reding ] + * New upstream release. + * Set the Debian X Strike Force as maintainer. + * Add myself to uploaders. + * Build the i915tex DRI module on the i386 and amd64 architectures. + * Add patch 04_cleanup-osmesa-configs that makes the OSMesa configurations + behave as expected. + * Add patch 05_static-nonpic to build static libraries without -fPIC. + * Make debugging symbol packages depend on the corresponding binary package + and put them into the libdevel section. + * Bump shlibs file for the libosmesa6 package to account for added symbols. + Thanks Julien Cristau. + * Build the DRI modules with the default optimization flags. Thanks Julien + Cristau. + * mesa-common-dev now ships the GLX header files so it needs to replace + libgl1-mesa-swx11-dev and libgl1-mesa-dev. Thanks Julien Cristau. + * All OSMesa libraries were moved to the libosmesa6 and libosmesa6-dev + package, so have them replace libgl1-mesa-swx11, libgl1-mesa-swx11-dev and + mesa-common-dev respectively. Thanks Julien Cristau. + + [ Julien Cristau ] + * Drop obsolete depends on xlibs. + + -- Thierry Reding Thu, 11 Jan 2007 15:06:52 +0100 + +mesa (6.5.2~rc3-0.1) experimental; urgency=low + + * Non-maintainer upload. + * Update to latest upstream release candidate. + + -- Thierry Reding Fri, 1 Dec 2006 01:06:28 +0100 + +mesa (6.5.2~rc2-0.1) experimental; urgency=low + + * Non-maintainer upload. + * New upstream release candidate: + + Refresh 02_use-ieee-fp-on-s390-and-m68k.patch. + * Add manual pages for the glxdemo, glxgears, glxheads and glxinfo + utilities (Closes: #385463). + + -- Thierry Reding Wed, 22 Nov 2006 20:49:06 +0100 + +mesa (6.5.2~rc1-0.1) experimental; urgency=low + + * Non-maintainer upload. + * New upstream release candidate. + * Update patches: + + Drop hunk #2 of 01_fix-makefile.patch, applied upstream. + + Drop 03_handle-sync-and-dont-unlock-display.patch, applied upstream. + * Bump build-dependency on libdrm-dev (>= 2.2.0). + * Use the new upstream minstall utility to install files and directories. + Using /usr/bin/install would result in a symlink's target being copied + instead of the symlink. + + -- Thierry Reding Sat, 18 Nov 2006 22:23:04 +0100 + +mesa (6.5.1-0.6) experimental; urgency=low + + * Non-maintainer upload. + * Rewrote the debian/rules file to make it easier to understand. + * Provide i686 optimized versions in libgl1-mesa-swx11-i686 instead of in + libgl1-mesa-swx11. + * Statically link libOSMesa with the software rasterization code from libGL + so that it works independently of the installed libGL. (Closes: #387706) + * Make libosmesa6-dev depend on mesa-common-dev because it only needs the + gl.h header file and no libGL anymore. + * Move glx*.h headers from libgl1-mesa(-swx11)-dev into mesa-common-dev + because both packages provide identical files. + * Add debugging symbol packages for libgl1-mesa-swx11, libgl1-mesa-glx and + libgl1-mesa-dri. + * Repack the contents of the three Mesa tarballs (MesaDemos, MesaGLUT and + MesaLib) as the original source tarball. (Closes: #392715) + * Make mesa-common-dev depend on libx11-dev. + * Provide a new package: mesa-utils. These utilities are shipped in the + MesaDemos package so mesa is the right package to provide them. + + -- Thierry Reding Sat, 18 Nov 2006 18:50:07 +0100 + +mesa (6.5.1-0.5) unstable; urgency=low + + * Non-maintainer upload. + * Build with -fno-strict-aliasing to fix misbuild of i965_dri.so + (closes: #394311). Thanks to Michel Dänzer for the fix, and to Ryan + Richter for the report and testing. + + -- Julien Cristau Wed, 3 Jan 2007 13:48:20 +0100 + +mesa (6.5.1-0.4) unstable; urgency=medium + + * Non-maintainer upload (and brown paper bag release). + * _Depend_ on libx11-dev from libgl1-mesa-dev; revert previous change. + Fixes FTBFS in other packages. (Really Closes: #396498) + + -- Steinar H. Gunderson Sat, 11 Nov 2006 13:55:20 +0100 + +mesa (6.5.1-0.3) unstable; urgency=medium + + * Non-maintainer upload. + * Build-depend on libx11-dev; fixes FTBFS. (Closes: #396498) + + -- Steinar H. Gunderson Wed, 8 Nov 2006 20:58:40 +0100 + +mesa (6.5.1-0.2) unstable; urgency=low + + * Non-maintainer upload + * Disable generation of SSE instructions (closes: #390560) + * Remove duplicate and unused build configurations + * Remove extra source files left from CVS snapshots (closes: #389283) + * Enable i965 DRI driver on i386 and amd64. Thanks to Ryan Richter + for the patch. (closes: #392030) + * Enable Unichrome DRI driver on amd64 (closes: #391900) + * Enable FFB DRI driver on sparc, not i386 (closes: #388025) + * Consistently compile C sources as C99 (closes: #373623) + * Fix X display locking error in GLX. Thanks to Josh Triplett for + the patch. (closes: #391681) + + -- Ben Hutchings Fri, 13 Oct 2006 02:25:52 +0100 + +mesa (6.5.1-0.1) unstable; urgency=low + + * New upstream version + * Build-dep on x11proto-gl-dev >= 1.4.8 + * Stuff not in the upstream tarballs + + os2 glut stuff + + docs/gears.png + * Bump libdrm-dev build-dep to >= 2.0.2 + * Add libdrm cflags to the debian-dri config. This allows the build system + to find drm.h + * Make sure that libGl looks for the dri drivers in the proper location. Do + this by setting the appropriate variables in the debian config + * Re-add s390 and m68k to the USE_IEEE test in src/mesa/main/imports.h. This + package seriously needs to store patches somewhere that are easy to find + and re-apply. + * Add patch from Cyril Brulebois to allow package to build on HURD, which + lacks DRI and directfb. This includes not using lib-directfb in the + build-depends for hurd-i386. It also creates a new debian config, + debian-indirect, which is used when building for HURD. This config is + invoked in the debian-dri config on hurd-i386. Thanks to Cyril Brulebois + for the patch, Michael Banck, Michel Dänzer, and Samuel Thibault for + input on an appropriate fix. (closes: #358065) + + -- David Nusinow Mon, 25 Sep 2006 21:21:47 -0400 + +mesa (6.5.0.cvs.20060524-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Upload mesa 6.5 cvs to unstable, because we need it for Xorg 7.1. + * Upload with medium urgency instead of high, since this is a new + upstream that should get some testing in unstable in spite of the + multiple RC bugfixes. + * Update debian/copyright with the full text of the SGI Free B and SGI + MIT-style licenses in use in the package, and take a stab at + cleaning up the list of paths and licenses. + Closes: #368562. + * Make mesa-common-dev Replaces: xlibosmesa-dev from sarge. + Closes: #384057. + * Fix libgl1-mesa-glx to not Provides: libgl1-mesa-dri, since it + definitely doesn't provide DRI support and this Provides: breaks + upgrades from sarge. Closes: #384282. + * debian/libgl1-mesa-swx11.shlibs: create a static shlibs file, + because libOSMesa.so.6 is not provided by all implementations of + libGL and so needs a separate shlibs declaration. Also make + libgl1-mesa-glx the default alternative instead of libgl1-mesa-swx11 + for consistency even when building against libgl1-mesa-swx11, + because to the extent these are interchangeable (i.e., 99%...), + there should be no reason to prefer one over the other -- and to the + extent that they aren't interchangeable, it's wrong to list libgl1 + as an alternative dependency at all. Closes: #386185. + * Don't provide shlibs at all for libgl1-mesa-swx11-dbg; this is an + unnecessary duplication of the existing libgl1-mesa-swx11 shlibs + since packages should not really be linking against /usr/lib/debug/ + separately. + * src/mesa/tnl/t_vb_render.c: Drop a pointless printf() in the + RENDER_LINE macro, getting rid of copious debug output on console. + Closes: #369895. + * libgl1-mesa-swx11 has no reason to depend on libglu, anything that + wants libglu will have its own dependency on it; drop this + hard-coded dependency from debian/control. + * Have libglu1-mesa-dev Provides: xlibmesa-glu-dev, since it's the + successor to that package and xlibmesa-glu-dev is still referenced + in a number of places and this makes for more reliable builds than + depending on alternatives without requiring another dummy -dev + package from xorg. + * Replace references to Source-Version in debian/control with either + binary:Version or source:Version, depending on whether the + relationship references an arch: any or arch: all package, making + mesa binNMU-safe; add build-depends on dpkg-dev (>= 1.13.19) to + ensure these substvars are available. + + -- Steve Langasek Fri, 15 Sep 2006 15:51:16 -0700 + +mesa (6.5.0.cvs.20060524-1) experimental; urgency=low + + * The "-O666 -fwater-c00ling -DBE_F4ST" release + * New pull from CVS + * Merge back and forth with 6.4.2-1 + * configs/debian*_i386: disabled, optimized build fuxxored. + + -- Marcelo E. Magallon Wed, 24 May 2006 14:12:13 -0600 + +mesa (6.5.0.cvs.20060512-0.0.1) experimental; urgency=low + + * New upstream release (6.5.0) + * Pulled CVS as of 2006-05-12 + * debian/control: remove DirectFB packages + + -- Marcelo E. Magallon Fri, 12 May 2006 15:23:49 -0600 + +mesa (6.4.2-1) unstable; urgency=low + + * The "please, please, please don't hate me" release. + * New upstream release. + * Ack NMUs + * debian/control: mesa-common-dev Replaces xlibmesa-gl-dev (<< 1:7) + AGAINST MY BETTER JUDGEMENT. The problem here is gratuitous package + renames within a system that does not support them. (closes: + bug#362063) + * debian/control: hurd-i386 doesn't have drm. Doesn't fix #358065, + yet. + * bin/mklib: fix from Robert Millan to support hurd-i386 and + GNU/kFreeBSD. Thanks Robert. (closes: bug#358066) + * src/glx/x11/indirect_vertex_array.c, src/mesa/main/glheader.h, + src/mesa/drivers/dri/common/glcontextmodes.c: fix broken indirect + rendering on 64-bit platforms. Thanks Aaron M. Ucko. (closes: + bug#364228) + * debian/control: b-d on x11proto-gl-dev. Please don't hate me! + * debian/control: Standards-Version: 3.7.2 + * debian/rules: export DEB_HOST_ARCH + * configs/debian-dri: use DEB_HOST_ARCH to decide if certain DRI drivers + should be built or not. + + Built only for i386: i810 i830 sis. + Rationale: integrated chipsets available only for i386 processors. + + Built only for i386: ffb. + Rationale: Michel Dänzer said so, no idea why. + + Built only for i386, amd64: i915. + Rationale: Apparently this is available in the 64-bit Intel chipset. + Please file a bug report stating which drivers should be included/excluded + for which architectures. Positive lists are preferred. If possible state + why. + * debian/mesa-swx11-source.install: nuke this abomination. Dinamically + generate the list at build time. + * debian/drivers.map: add gl-debian-dri_i386 + * debian/README.build: updated, add big friendly letters in short sentences. + Perhaps I can read it myself this way... + * debian/rules, configs/debian, configs/debian-dri, configs/debian_i386, + configs/debian-dri_i386, debian/libdir.map, debian/drivers.map: hack in + support for variable driver's dir. If you want this for your pet + architecture please provide BOTH configs/debian_arch and + configs/debian-dri_arch. If you just want to include/exclude DRI drivers + on your architecture look in configs/debian-dri. + * configs/debian*_i386: disabled, optimized build fuxxored. + * debian/rules: remove misguided Perl construct, replace by something + simpler in shell. I actually meant to do something else with the Perl + thing, but got distracted and forgot about it. Thanks Aaron M. Ucko! + * debian/rules: make it work like debian/README.build says it works wrt to + building optimized targets. + + -- Marcelo E. Magallon Tue, 16 May 2006 18:07:53 -0600 + +mesa (6.4.1-0.4) unstable; urgency=low + + * NMU + * Add versioned conflict between libgl1-mesa-dri and xlibmesa-dri so that + the xlibmesa-dri transitional upgrade package works + + -- David Nusinow Mon, 6 Mar 2006 21:46:18 -0500 + +mesa (6.4.1-0.3) unstable; urgency=low + + * NMU + * Add s390 and m68k to the USE_IEEE test in src/mesa/main/imports.h. + (closes: #349437) + + -- David Nusinow Sat, 11 Feb 2006 17:59:26 -0500 + +mesa (6.4.1-0.2) unstable; urgency=low + + * NMU + * Re-add dh_installdirs call to binary-indep target so that we get + arch-specific dirs for the mesa-swx11-source package + * Remove makedepend from build-depends. Now we'll just build-dep on xutils + to get the app, which will translate over to our own xorg 7.0 plans. + + -- David Nusinow Tue, 31 Jan 2006 19:21:12 -0500 + +mesa (6.4.1-0.1) unstable; urgency=low + + [ Marcelo E. Magallon ] + * debian/control: build-depend on xutils + * include/GL/glx{int,proto,md,tokens}.h: missing upstream (closes: bug#326466) + * debian/libgl1-mesa-dri-dev.install: install GLX include files here, too. + * debian/rules: GLU and GLW don't have arch-specific targets. + + [ Daniel Stone ] + * New upstream version, incorporating changes from Ubuntu 6.3 packaging. + * Rename packages: + - mesag3 -> libgl1-mesa-swrast + - mesag-dev -> libgl1-mesa-swrast-dev + - libgl1-mesa-dri -> libgl1-mesa + - libgl1-mesa-dri-dev -> libgl1-mesa-dev + - libgl1-mesa-dri still exists, but now contains the DRI modules only. + * Drop dependency *from* mesa-common-dev on libgl1-mesa-dev and + libglu1-mesa-dev; it should be the other way around. (closes: #336565) + * Add Build-Depends on pkg-config to get flags from libdrm, and libexpat-dev + for DRI configuration. Break out xlibs-dev Build-Depends to the + individual libraries required. + * Bump libdrm-dev Build-Depends to >> 1.0.5, in order to get new + via_drm.h to build the unichrome DRI driver. + * Configs: pare DRI drivers down to a sensible set for each architecture. + * Remove completely broken Glide target, which caused FTBFS. + * Add mesa-swrast-source package, providing the source for the software + rasteriser for libGLcore in the X server. + * Drop tight libosmesa6 -> libgl1-mesa-swrast Depends, replace with + shlibs:Depends. + + [ David Nusinow ] + * New upstream version (6.4.1) (closes: #232665) + * Merge changes from Ubuntu version 6.4.1-0ubuntu1. + (closes: #341479, #340168, #334742) + + Add new files required by xorg-server GL build to mesa-swrast-source. + * NMU to begin getting Xorg 7.0 in to Debian + * Change libgl1-mesa-swrast Depends on libx11-6-dev to libx11-dev. + * Change libgl1-mesa-swrast to be named libgl1-mesa-swx11 + * Change libgl1-mesa to be named libgl1-mesa-glx + * mesa-swrast-src.install stop looking for the swx11 dir and look for swrast + + -- David Nusinow Sat, 21 Jan 2006 21:43:37 -0500 + +mesa (6.3.2-2.1) unstable; urgency=low + + * Non-maintainer upload. + * Adjust Build-Depends: + + xlibs transition (Closes: #347129). + + xutils, xlibmesa-gl-dev (Closes: #326466). + * mesag-dev: Depends: libx11-dev (Closes: #347205). + + -- Christoph Berg Fri, 20 Jan 2006 20:45:43 +0100 + +mesa (6.3.2-2) unstable; urgency=low + + * debian/rules: build only whatever needs to be build according to + debian/control. + * debian/libdir.map: it's usr/lib/debug not usr/lib/dbg + * debian/rules: select optimized targets for the current host architecture + only (thanks Michel!) + * debian/README.build: reword some of the directions, add more info. + * debian/control: forgot to add CPR relationships in the new packages + (thanks Michel!) + * debian/control: Set maintainer to pkg-mesa-devel, add myself as uploader + + -- Marcelo E. Magallon Sun, 28 Aug 2005 14:41:15 -0600 + +mesa (6.3.2-1) unstable; urgency=low + + * New upstream + * configs/debian-dri: new target + * debian/control: add build-depends on libdrm-dev + * debian/rules: pass SRC_DIRS instead of SUBDIRS on the command line. + This allows for configurations to override the command line in a + sane way. + * configs/debian-dri: override SRC_DIRS + * configs/debian: add -D_GNU_SOURCE (required by dri drivers) + * debian/control, debian/rules: drop glide out of this package, it + will be moved to the mesa-legacy package, forked from 6.2.1-7. + * debian/drivers.map, debian/rules: take into account that some + drivers have external components. + + To be fixed: debian/drivers.map hardcodes locations + * debian/control: libgl1-mesa-dri, libgl1-mesa-directfb: new drivers + * dh_makeshlibs for libgl1-mesa-dri and libgl1-mesa-directfb + * debian/control: priority is optional... again... + + -- Marcelo E. Magallon Sun, 21 Aug 2005 17:13:19 -0600 + +mesa (6.2.1-7) unstable; urgency=low + + * Previous upload got lost somewhere + + bin/mklib: add GNU/kFreeBSD, patch from Aurelien Jarno (closes: + bug#307154) + + recompile with newer g++ + + -- Marcelo E. Magallon Tue, 02 Aug 2005 06:47:20 -0600 + +mesa (6.2.1-6) unstable; urgency=low + + * bin/mklib: add GNU/kFreeBSD, patch from Aurelien Jarno (closes: + bug#307154) + * recompile with newer g++ + + -- Marcelo E. Magallon Sun, 24 Jul 2005 11:47:16 -0600 + +mesa (6.2.1-5) unstable; urgency=low + + * debian/rules: big mess up, files are not being moved to their proper + places. I naively assumed that command-line options to debhelper + commands would override DH_OPTIONS, that is, that having + DH_OPTIONS=-i (as suggested in the documentation) would mean + something like "use -i unless -p is passed on the command line". It + actually means "use -i in addition to -p passed on the command + line", which does not make any sense, but is consistent with the + wording in the documentation. (closes: bug#306499, bug#306918, + bug#307095) + + -- Marcelo E. Magallon Sun, 01 May 2005 09:45:12 -0600 + +mesa (6.2.1-4) unstable; urgency=low + + * debian/control: fix description to reflect the exact content and + purpose of package (libosmesa-dev, mesag-dev). + * debian/rules: DH_OPTIONS=-s added to binary-arch target. (closes: + bug#306091) + + -- Marcelo E. Magallon Sat, 26 Mar 2005 08:03:44 -0600 + +mesa (6.2.1-3) unstable; urgency=low + + * debian/control: try to match the override file. If mesa is "extra" + (for whatever reason), all the packages should be extra. + * debian/rules: quick workaround for left-over libGL.so in GLU -dev + package. + + -- Marcelo E. Magallon Thu, 24 Mar 2005 19:35:34 -0600 + +mesa (6.2.1-2) unstable; urgency=low + + * The "thank you so much, I'm still voting against you" release. + * debian/rules: correct artifact of me not having had a proper + pbuilder environment to build stuff on and the repackaging from the + previous release. The -glu- and -glw- targets now explicitly depend + on the matching -gl- target, and symlinks are placed in the build + directories in order to actually have a libGL.so to make ld happy + when creating the libraries. + * debian/rules: uncomment dh_install :-\ There was a reason why I had + commented that out... + * First change closes: bug#298922 + * Second change closes: bug#300302, bug#300284, bug#300430 + * debian/control: "An X", whatever, I've been corrected multiple times + in both ways (translators beware). (closes: bug#300012) + + -- Marcelo E. Magallon Sun, 20 Mar 2005 22:03:29 -0600 + +mesa (6.2.1-1) unstable; urgency=low + + * The "autobuilders, please please please don't hate me" release. + * New upstream. + * Repackage: + + Fall prey to debhelper + + Entries below this one preserved for historical reasons or + sentimental value, pick as many as you want. They bear NO + relation to the actual packages! + * configs/debian, configs/debian-debug, configs/debian-debug-i386, + configs/debian-glide, configs/debian-glide-i386, configs/debian-i386, + configs/debian-osmesa16, configs/debian-osmesa16-static, + configs/debian-osmesa32, configs/debian-osmesa32-static, + configs/debian-static, configs/debian-static-i386: new files. + * configs/debian-sparc: Dave Miller confirmed that the sparc assembly + files do work on Linux. I don't know where to install the optimized + libraries, so the file doesn't actually exist. Please read + debian/README.build if you want to have a sparc-optimized library. + * debian/control: GGI and glide2 are gone. glide is glide3. + * debian/rules: modify shlibs file for the glide3 target to require glide3 + and only glide3 because that library exports functions not available in + other libGLs. Rationale: if someone is compiling a Debian package and + uses the glide target either he doesn't know what he is doing or he knows + exactly what he is doing. In the first case the package should not be + installable and in the second case the package requires this particular + version. + * debian/control: libgl1-mesa-glide3-dev does NOT provide a proper OpenGL + development environment (see above). + * PCR is bound to be wrong... *sigh* + + -- Marcelo E. Magallon Sat, 25 Dec 2004 14:50:02 -0600 + +mesa (6.0.1-1) unstable; urgency=low + + * New upstream release. + * debian/rules: redid a bunch of stuff in order to support new build system + without autoconf and automake stuff. The next version is going to change + this _again_. + + -- Marcelo E. Magallon Sun, 11 Apr 2004 07:00:19 -0600 + +mesa (5.0.0-5.1) unstable; urgency=low + + * Non-Maintainer Upload. + * Rename "GGIMesa"-references in src/GGI/default/Makefile.am to + "MesaGGI", which makes the package build again with newer libtool. + (Closes: #213836) + + -- Steinar H. Gunderson Sun, 15 Feb 2004 17:37:08 +0100 + +mesa (5.0.0-5) unstable; urgency=low + + * debian/control: yank and put error? Remove hard-coded + nvidia-glx-dev from mesag-glide2-dev dependencies. + + -- Marcelo E. Magallon Sun, 09 Feb 2003 10:31:51 +0100 + +mesa (5.0.0-4) unstable; urgency=low + + * debian/rules: fix typo in definition of GLIDE_ARCHS. (closes: bug#179622) + + -- Marcelo E. Magallon Mon, 03 Feb 2003 20:19:12 +0100 + +mesa (5.0.0-3) unstable; urgency=low + + * The "it's amazing how people pick severities" release + * debian/control: mesa-common-dev conflicts with xlibmesa-dev. Actually put + dependency of mesa-common-dev on the mesa-*-dev packages to avoid having + to track other libgl-dev packages popping up. IMO this is less error + prone. You can't install mesa-common-dev without installing mesa-*-dev, + and those packages conflict with other libgl-dev packages. (closes: + bug#177996) + * Rename libglu1c102 to libglu1-mesa; the libglu1c102 is incorrent since + this library does not export C++ functions. Sorry about the mess. + * Rename libglu1-dev to libglu1-mesa-dev to be consistent + * debian/rules: use grep-dctrl to extract architectures from debian/control + * debian/control: add grep-dctrl to build-depends + * debian/shlibs.libglu: libglu1-mesa | libglu1 + * debian/rules: install include/GL/xmesa.h in /usr/include/GL/xmesa.h; I'm + not 100% sure this is the right thing to do, but it's a niche so I don't + think it will actually make trouble (closes: bug#148866) + * debian/rules: install include/GL/glx*.h in the common package. (closes: + bug#178562) + * debian/rules: nasty hack to work arround libtool's idea of how libraries + should be linked (closes: bug#178514) + * debian/rules: even nastier hack. Getting environment variables to + percolate thru all the make calls isn't getting anywhere. + * si-glu/Makefile.am: export only glu.* symbols + * si-glu/Makefile.am: add -lm to link line + * src/Makefile.am: god damm it. If you use libm link to it! + * debian/control: mesa-common-dev depends on libglu1-mesa-dev to satisfy + libgl-dev's requirements + + -- Marcelo E. Magallon Mon, 27 Jan 2003 17:15:25 +0100 + +mesa (5.0.0-2) unstable; urgency=low + + * debian/control: Not funny, I'm sure I put lesstif and xlibs-dev in the + build-depends. CVS says I didn't. (closes: bug#176730) + * debian/control, debian/rules: regenerate auto-stuff (closes: bug#176729) + * debian/control, debian/rules: GCC C++ 3.2 transition (libglu1c102 -- ugly!) + * remove Makefile.in from CVS control + * si-glu/libnurbs/interface/Makefile.am: fix INCLUDES macro + + -- Marcelo E. Magallon Sun, 19 Jan 2003 00:48:32 +0100 + +mesa (5.0.0-1) unstable; urgency=low + + * New upstream release, it looks like glide and GGI are in working + condition again. + * FX patches from previous releases gone. They'll be back later. + * debian/rules: some clean ups. + * debian/control: add libglu1 packages + * debian/control: Standards-Version: 3.5.8 + * debian/rules: Build Xt widgets (if you need this stuff, you need to depend + on mesag-dev, libgl-dev is not enough) + * debian/control, debian/rules: add mesa-common-dev package + * debian/control, debian/rules: add osmesa packages. + + -- Marcelo E. Magallon Sun, 15 Dec 2002 12:28:49 +0100 + +mesa (4.0.3-1) unstable; urgency=low + + * New (and long delayed) upstream version + * Redid a bunch of FX patches, probably broke. + + -- Marcelo E. Magallon Thu, 03 Oct 2002 11:27:29 +0200 + +mesa (3.5-1) unstable; urgency=low + + * New upstream version. + * Redid patches. + * Disabled building GGI target. Someone with a good understanding of GGI + needs to write a driver for mesa. The old version doesn't cut it + anymore. + * Most makefiles won't work. Copied them out of CVS. + * src/Makefile.am: add -lm to library list. (closes: bug#102717) + * configure.in: adjust GLU's version info to match previous release. + + -- Marcelo E. Magallon Mon, 25 Jun 2001 22:13:40 +0200 + +mesa3 (3.4.2.1-4) unstable; urgency=low + + * So, here's the deal: the 3Dfx backend is going nowhere in 4.x and 5.x is + just arround the corner. Same thing for the GGI stuff. In order to leave + the people who need this stuff with _something_ to work with, I'll compile + those targets out of the mesa3 source package and the mesa package will + stuck to plain old X. + * debian/control, debian/rules: strip out all the parts concerning to mesa3g + and mesa3g-dev + * debian/control: update GGI architectures, let's see what happens + * debian/rules: special case alpha for stripping options. Chris, did you + ever figure out what the problem actually is? (closes: bug#99284) + * debian/rules: hereby I decree that everything in etc is a conffile. Die + future bugs, die!. + * configure: fix ggi_libdir, ggi_confdir (closes: bug#139598) + + -- Marcelo E. Magallon Sun, 29 Sep 2002 11:21:00 +0200 + +mesa (3.4.2.1-3) unstable; urgency=low + + * Actually install widgets on the mesag-dev package (closes: bug#98988) + + -- Marcelo E. Magallon Sat, 9 Jun 2001 16:39:36 +0200 + +mesa (3.4.2.1-2) unstable; urgency=low + + * src/X/xmesa1.c: I knew it, I knew it. This was bound to break. Stupid + typo. Restored MESA_GLX_FX (got renamed to GLX_FX accidentally, if you + have to know) (closes: bug#94114) + + -- Marcelo E. Magallon Mon, 21 May 2001 08:52:07 +0200 + +mesa (3.4.2.1-1) unstable; urgency=low + + * Upstream released 3.4.2. + * Hmmm... thought about it on my way home. The code to parse 3dfx.conf + is wrong. Redid. Still not tested. (closes: bug#94114) + * debian/README.Debian: document 3dfx.conf + + -- Marcelo E. Magallon Sat, 19 May 2001 11:57:33 +0200 + +mesa (3.4.2-1) unstable; urgency=low + + * New upstream version. + * debian/config.guess, debian/config.sub: newest versions from + http://subversions.gnu.org/cgi-bin/cvsweb/config (closes: bug#95338) + * GAAAAAAARGGH! src/X/xmesa1.c: horrible hack to use /etc/mesa/3dfx.conf + if there's no MESA_GLX_FX environment variable defined. I. Hate. + This. I'll make a deal with you: you find another of these things, + and you send me a nice tested patch. I don't have a 3DFX card and I + *HATE* uploading stuff I can't fully test. (closes: bug#94114) + * debian/rules: use the new files + * debian/rules: s/TMPDIR/DTEMPDIR/g + * gl3DfxSetDitherModeEXT from Zephaniah (closes: bug#65860) + * Disable GL_EXT_shared_texture_palette per default. Patch looks funny, + but I'll blindly trust Zephaniah. + * Hmmm... I hope Zephaniah tested this, because it broke in a rather silly + way at compile time. + * Fancy what people regard as "pretty important". + + -- Marcelo E. Magallon Fri, 18 May 2001 09:23:49 +0200 + +mesa (3.4.1-3) unstable; urgency=low + + * PLEASE SUBMIT NMUs TO THE BTS, DAMN IT! + * debian/control: exclude m68k from libggi2-dev build-dependency. + + -- Marcelo E. Magallon Sat, 17 Mar 2001 19:45:09 +0100 + +mesa (3.4.1-2) unstable; urgency=low + + * debian/control: add missing dependency on xlibs-dev and corrected the + one for libglide2-dev + + -- Marcelo E. Magallon Wed, 14 Mar 2001 00:21:42 +0100 + +mesa (3.4.1-1) unstable; urgency=low + + * New upstream version. + * New maintainer. (closes: bug#81139) + * Some fixes to get it to compile. + * debian/rules: some reorganization happened to allow me test different + builds better. + * debian/control: nuked widgets package, if you miss it, you are doing + something wrong. + * debian/rules: -dev packages will be missing some garbage they used to + install. If you miss any of those files, I'm fairly confident you + are doing something wrong. + * configure, ltmain.sh, aclocal.m4, acinclude.m4, ...: vicious hacks to + allow the GGI version to compile. + * TODO: add the widgets to the packages + * TODO: make OSmesa packages + + -- Marcelo E. Magallon Sat, 10 Feb 2001 18:34:13 +0100 + +mesa (3.2.1-1) unstable; urgency=low + + * New upstream version. + + -- James A. Treacy Mon, 31 Jul 2000 15:13:34 -0400 + +mesa (3.2-2) frozen unstable; urgency=low + + * add MMX and 3Dnow opts for x86. + + -- James A. Treacy Fri, 7 Jul 2000 16:06:43 -0400 + +mesa (3.2-1) frozen unstable; urgency=low + + * New upstream version. + * Made minor changes to README.3DFX. Closes bug#56827 + * Added symlinks for mesa widget libraries. Closes bug#63115 + + -- James A. Treacy Wed, 28 Jun 2000 11:21:09 -0400 + +mesa (3.1-17) frozen unstable; urgency=low + + * Fixed Makefile for demos in mesag-widgets-dev. Closes bug#62674 + + -- James A. Treacy Fri, 19 May 2000 13:23:00 -0400 + +mesa (3.1-16) frozen unstable; urgency=low + + * Add --prefix=/usr to ggi build. Closes bug#61705, #61486 + + -- James A. Treacy Wed, 12 Apr 2000 15:12:48 -0400 + +mesa (3.1-15) frozen unstable; urgency=low + + * Remove ggi from the build on m68k. Closes bug#59273 + + -- James A. Treacy Mon, 6 Mar 2000 13:20:29 -0500 + +mesa (3.1-14) frozen unstable; urgency=low + + * Fixed hard-coded location of config file in library. This is release + critical, even though no bug was filed (relates to bug#58267). + + -- James A. Treacy Mon, 28 Feb 2000 10:58:34 -0500 + +mesa (3.1-13) frozen unstable; urgency=low + + * Add missing ggi libraries. Closes bug#58267, #57760 + + -- James A. Treacy Thu, 24 Feb 2000 00:59:30 -0500 + +mesa (3.1-12) frozen unstable; urgency=low + + * Dependencies are now computed in a more intelligent way. Closes: bug#55861 + + -- James A. Treacy Fri, 21 Jan 2000 16:26:40 -0500 + +mesa (3.1-11) frozen unstable; urgency=low + + * Remove svgalib support from the software only package of mesa + + -- James A. Treacy Sat, 22 Jan 2000 05:33:13 +0000 + +mesa (3.1-10) frozen unstable; urgency=low + + * Fix the mesag3-glide2 postinst. Closes bug#55462 + + -- James A. Treacy Sat, 22 Jan 2000 02:06:27 +0000 + +mesa (3.1-9) frozen unstable; urgency=low + + * The ggi based packages are now built with the other versions of mesa. Closes: bug#49218, #55221 + + -- James A. Treacy Sat, 15 Jan 2000 22:24:13 -0500 + +mesa (3.1-8) unstable; urgency=low + + * fixed the postinst and prerm for the glide packages + * added Provides: mesag-dev to the mesag-glide2-dev package to maintain + backwards compatability + + -- James A. Treacy Sat, 15 Jan 2000 01:01:58 -0500 + +mesa (3.1-7) unstable; urgency=low + + * Fix version number for soname in the shlib file. Closes: bug#54926 + + -- James A. Treacy Thu, 13 Jan 2000 01:37:03 -0500 + +mesa (3.1-6) unstable; urgency=low + + * Include docs/README.3DFX in mesag3-glide2 package. Closes: bug#54625 + * Remove Provides: libgl1 from mesag3-widgets. Closes: bug#54774 + * conflicts with older versions of mesa. Closes: bug#54831 + + -- James A. Treacy Mon, 10 Jan 2000 11:50:49 -0500 + +mesa (3.1-5) unstable; urgency=low + + * now Conflicts: libgl1 + * remove extra '.' in library name + + -- James A. Treacy Sun, 9 Jan 2000 20:47:31 -0500 + +mesa (3.1-4) unstable; urgency=low + + * Added links libGL.so.1 <- libMesaGL.so.3 so existing progs don't break + * Copyright changed for version 3.1 + + -- James A. Treacy Thu, 6 Jan 2000 17:11:11 -0500 + +mesa (3.1-3) unstable; urgency=low + + * copyright file now refers to /usr/share/common-license/LGPL. + + -- James A. Treacy Tue, 4 Jan 2000 11:50:45 -0500 + +mesa (3.1-2) unstable; urgency=low + + * Second try. Fixed shlibs file. + + -- James A. Treacy Tue, 4 Jan 2000 00:00:29 -0500 + +mesa (3.1-1) unstable; urgency=low + + * New upstream version. + * glide version of packages added, since glide is now under the GPL. + * mesa widget libraries are now in a separate package + * library names are changed to lib{GL,GLU}.* + + -- James A. Treacy Tue, 14 Dec 1999 10:06:14 -0500 + +mesa (3.0-2) unstable; urgency=low + + * added symlinks from libMesaGL* -> libGL*. Fixes bug #37160 + * added lines (commented out) for building a glide version of mesa. Fixes bug #39758 + + -- James A. Treacy Thu, 13 May 1999 01:02:42 -0400 + +mesa (3.0-1) unstable; urgency=low + + * mesa libs moved to /usr/lib. Fixes bug #26874 + * motif widget library libMesaGLwM added (compiled using headers from lesstif). Fixes bug #25380 + + -- James A. Treacy Thu, 6 Aug 1998 13:49:37 -0400 + +mesa (2.6-4) unstable; urgency=low + + * call to ldconfig in postinst put back in. Fixes bug #20552 + * changelog.Debian file created for the mesa-doc package. + * deleted miscellaneous files. Fixes bug #21481 + + -- James A. Treacy Sat, 23 May 1998 23:41:34 -0400 + +mesa (2.6-3) frozen unstable; urgency=low + + * No changes. Just trying (again) to get this back in the distribution + + -- James A. Treacy Tue, 24 Mar 1998 00:53:09 -0500 + +mesa (2.6-2) unstable frozen; urgency=low + + * point copyright to LPGL in /usr/doc/copyright. Fixes bug #19633 + + -- James A. Treacy Sun, 15 Mar 1998 14:00:33 -0500 + +mesa (2.6-1) unstable; urgency=low + + * New upstream Release + * strip static lib with --strip-debug and shared with strip--unneeded: Fixes bug#17301 + * create doc package in build-indep: Fixes bug#16090 + * added widgets-mesa library to package: Fixes bug#15729 + * created mesa-glide* packages + + -- James A. Treacy Mon, 19 Jan 1998 23:45:50 -0500 + +mesa (2.5-2) unstable; urgency=low + + * Corrected i386 specific debian/rules file: Fixes bug#15640 + + -- James A. Treacy Fri, 5 Nov 1997 11:46:13 -0500 + +mesa (2.5-1) unstable; urgency=low + + * New upstream release. + + -- James A. Treacy Sun, 23 Nov 1997 20:46:13 -0500 + +mesa (2.4-1) unstable; urgency=low + + * New upstream release. + * New maintainer. + * libc6 release. + + -- James A. Treacy Mon, 3 Nov 1997 01:11:34 -0500 + +mesa (2.2-2) unstable; urgency=low + + * debian/control: mesa-doc no longer depends on mesa (bug #8840). + + -- Karl Sackett Wed, 30 Apr 1997 10:25:25 -0500 + +mesa (2.2-1) unstable; urgency=low + + * New upstream release. + * Make-config: linux-elf libraries compiled with -D_REENTRANT. + + -- Karl Sackett Wed, 19 Mar 1997 09:10:22 -0600 + +mesa (2.1-4) unstable; urgency=low + + * debian/control: lib packages moved from 'graphics' to 'libs'. + * debian/rules: headers moved from /usr/include/mesa to /usr/include + (no more -I/usr/include/mesa). + + -- Karl Sackett Tue, 25 Feb 1997 09:30:23 -0600 + +mesa (2.1-3) unstable; urgency=low + + * debian/control: mesa2 provides mesa and conflicts with mesa + (bug #7394). + + -- Karl Sackett Mon, 17 Feb 1997 09:25:42 -0600 + +mesa (2.1-2) unstable; urgency=low + + * debian/rules: install gmesa.h, osmesa.h, FooMesa.h in mesa-dev + (bug #6864). + + -- Karl Sackett Tue, 28 Jan 1997 09:37:41 -0600 + +mesa (2.1-1) unstable; urgency=low + + * New upstream release. + * Added soname to mesa and mesa-widgets. + * Moved static libraries to mesa2-dbg. + * debian/postinst, postinst-widgets: call ldconfig without explicit + pathname (bugs #6176, 6180). + + -- Karl Sackett Mon, 6 Jan 1997 09:30:10 -0600 + +mesa (2.0-2) unstable; urgency=low + + * Created mesa-widgets and mesa-widgets-dev (Bug #5029). + + -- Karl Sackett Wed, 30 Oct 1996 08:44:19 -0600 + +mesa (2.0-1) unstable; urgency=low + + * src/draw.c: replaced with upstream patch. + * Make-config: linux-elf target builds libMesaGLw.so library, looks + for XLIBS in /usr/X11R6/lib, removed -mieee-mp from CFLAGS. + * widgets-sgi/Makefile: builds libMesaGlw.a library + * New upstream release. + * Converted to new package standard. + * Maintainer address changed. + + -- Karl Sackett Mon, 14 Oct 1996 15:37:19 -0500 + +1.2.8-3 + * Package split into runtime, development, and documentation + packages. + * widgets now made as a sharable library. + * GLUT removed. This will be released as a separate package. + +1.2.8-2 + * Support files now architecture-independent + +1.2.8-1 + * Upgrade to latest release + * Brought support files up to latest packaging requirements + * mondello/Makefile: fixed error in realclean target + +1.2.7-2 + * debian.rules: clean all Makefiles out of widgets directory + * debian.postrm: remove /usr/lib/mesa entry from /etc/ld.so.config + (bug #2817) + +1.2.7-1 + * Added Debian support files + * Included the GLUT OpenGL Utility Toolkit + * Makefile - disable building programs in demos, samples, and book + directories + * mklib.linux - disabled building *.a libraries + * widgets/Makefile.in - disabled building demo programs --- mesa-9.0.3.orig/debian/libopenvg1-mesa.install.in +++ mesa-9.0.3/debian/libopenvg1-mesa.install.in @@ -0,0 +1 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libOpenVG.so.1* usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl --- mesa-9.0.3.orig/debian/libegl1-mesa.postinst.in +++ mesa-9.0.3/debian/libegl1-mesa.postinst.in @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +THIS_PACKAGE=libegl1-mesa +THIS_SCRIPT=postinst + +case "$1" in + configure) + # Use alternatives to make it easier to switch between Mesa and 3rd party modules + update-alternatives --force \ + --install /etc/ld.so.conf.d/${DEB_HOST_MULTIARCH}_EGL.conf ${DEB_HOST_MULTIARCH}_egl_conf /usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl/ld.so.conf 500 \ + + # ldconfig needs to be run immediately as we're changing /etc/ld.so.conf.d/ with + # alternatives. + LDCONFIG_NOTRIGGER=y ldconfig + +esac + +#DEBHELPER# + +exit 0 --- mesa-9.0.3.orig/debian/copyright +++ mesa-9.0.3/debian/copyright @@ -0,0 +1,196 @@ +This package was debianized by James A. Treacy treacy@debian.org on Thu, +6 Jan 2000 01:11:34 -0500. It was newly debianized by Marcelo E. +Magallon on Sat, 25 Dec 2004 14:50:02 -0600. It was +again debianized by Thierry Reding on Sat, 14 Oct 2006 +02:01:12 +0200. + +It was downloaded from http://www.mesa3d.org/download.html + +For more information see: + + http://www.mesa3d.org/ + +The tarball was built by combining MesaLib and MesaDemos tarballs, and +deleting the progs/objviewer/ directory. + +Copyright: + +Upstream Author: Brian Paul + +License: + + License / Copyright Information + + The Mesa distribution consists of several components. Different + copyrights and licenses apply to different components. For + example, GLUT is copyrighted by Mark Kilgard, 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 + components and the copyright/license for each. + + The core Mesa library is licensed according to the terms of the + XFree86 copyright (an MIT-style license). This allows integration + with the XFree86/DRI project. Unless otherwise stated, the Mesa + source code and documentation is licensed as follows: + + Copyright (C) 1999-2003 Brian Paul All Rights Reserved. + + 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 + BRIAN PAUL 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. + + Attention, Contributors + + When contributing to the Mesa project you must agree to relinquish + your work to the holder of the copyright for the particular + component you're contributing to. That is, you can't put your own + copyright on the code, unless it's a modular piece that can be + omitted from Mesa (like a new device driver). If for example, you + contribute a bug fix to Mesa's texture mapping code, your code + will become a part of the body of work which is copyrighted by + Brian Paul and licensed by the above terms. + +---------------------------------------------------------------------- + +Some files, as listed below, are made available under the SGI Free B +license. This license is as follows: + +SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + +Copyright (C) [dates of first publication] Silicon Graphics, Inc. All Rights +Reserved. + +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 including the dates of first publication and either +this permission notice or a reference to http://oss.sgi.com/projects/FreeB/ +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 SILICON GRAPHICS, INC. 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. +Except as contained in this notice, the name of Silicon Graphics, Inc. shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from Silicon +Graphics, Inc. + +-------------------------------------------------------------------------- + +Some other files listed below are made available from Silicon Graphics, +Inc. under a more liberal, MIT-style license, as follows: + + Permission to use, copy, modify, and distribute this software for + any purpose and without fee is hereby granted, provided that the above + copyright notice appear in all copies and that both the copyright notice + and this permission notice appear in supporting documentation, and that + the name of Silicon Graphics, Inc. not be used in advertising + or publicity pertaining to distribution of the software without specific, + written prior permission. + + THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS" + AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE + INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR + FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON + GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT, + SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY + KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION, + LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF + THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE + POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE. + + US Government Users Restricted Rights + Use, duplication, or disclosure by the Government is subject to + restrictions set forth in FAR 52.227.19(c)(2) or subparagraph + (c)(1)(ii) of the Rights in Technical Data and Computer Software + clause at DFARS 252.227-7013 and/or in similar or successor + clauses in the FAR or the DOD or NASA FAR Supplement. + Unpublished-- rights reserved under the copyright laws of the + United States. Contractor/manufacturer is Silicon Graphics, + Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311. + +-------------------------------------------------------------------------- + + Mesa Component Licenses: + + Component Files Primary Author License + ---------------------------------------------------------------------------- + core Mesa code src/*.[ch] Brian Paul Mesa + include/GL/gl.h + + GLX driver src/X/* Brian Paul Mesa + include/GL/glx.h + include/GL/xmesa.h + + OS/Mesa driver src/OSmesa/* Brian Paul Mesa + include/GL/osmesa.h + + 3Dfx driver src/FX/* David Bucciarelli Mesa + include/GL/fxmesa.h + + BeOS R4 driver mesa/drivers/beos/ Brian Paul Mesa + + MGL driver include/GL/mglmesa.h SciTech, Inc GNU LGPL + + Windows driver mesa/drivers/windows/ Li Wei GNU LGPL + include/GL/wmesa.h + + SVGA driver mesa/drivers/svga/ Brian Paul GNU LGPL + include/GL/svgamesa.h + + DOS driver mesa/drivers/dos/ Charlie Wallace GNU LGPL + include/GL/dosmesa.h + + GGI driver mesa/drivers/ggi/ Uwe Maurer GNU LGPL + include/GL/ggimesa.h + + GLUT src/glut/* Mark Kilgard Mark's copyright + include/GL/*glut*.h + + GLU library src/glu/* Brian Paul GNU LGPL + + SGI GLU library src/glu/sgi/* SGI SGI Free B + include/GL/glu.h + + Ext registry include/GL/glext.h SGI SGI Free B + include/GL/glxext.h + + demo programs progs/demos/* various see source files + + X demos progs/xdemos/* Brian Paul see source files + + SGI demos progs/samples/* SGI SGI MIT-style + + RedBook demos progs/redbook/* SGI SGI MIT-style + + +On Debian systems the full text of the GNU LGPL license is found in +/usr/share/common-licenses/LGPL. + +------------------------------------------------------------------------------ + +The Debian packaging is (C) 2006, Thierry Reding and +is licensed under the GPL, see `/usr/share/common-licenses/GPL'. + --- mesa-9.0.3.orig/debian/libgles1-mesa-dev.links.in +++ mesa-9.0.3/debian/libgles1-mesa-dev.links.in @@ -0,0 +1 @@ +/usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl/libGLESv1_CM.so /usr/lib/${DEB_HOST_MULTIARCH}/libGLESv1_CM.so --- mesa-9.0.3.orig/debian/libgl1-mesa-glx.install.in +++ mesa-9.0.3/debian/libgl1-mesa-glx.install.in @@ -0,0 +1 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libGL.so.* usr/lib/${DEB_HOST_MULTIARCH}/mesa --- mesa-9.0.3.orig/debian/git-cleanup.sh +++ mesa-9.0.3/debian/git-cleanup.sh @@ -0,0 +1,75 @@ +#!/bin/sh +# © 2011 Cyril Brulebois +set -e + +### First phase, files known to make dpkg-source unhappy. + +# List broken symlinks: +symlinks=$(find -type l) + +# Symlinks vs. directories: +dirs_vs_symlinks='' + +# Modified binaries: +binaries=' +src/gallium/state_trackers/d3d1x/progs/bin/d3d10tri.exe +src/gallium/state_trackers/d3d1x/progs/bin/d3d11gears.exe +src/gallium/state_trackers/d3d1x/progs/bin/d3d11spikysphere.exe +src/gallium/state_trackers/d3d1x/progs/bin/d3d11tex.exe +src/gallium/state_trackers/d3d1x/progs/bin/d3d11tri.exe +src/gallium/state_trackers/python/tests/regress/fragment-shader/frag-abs.png +docs/gears.png +' + +case $1 in + "") clean=0; echo "I: No parameter given, listing only (-f to remove).";; + "-f") clean=1; echo "I: Removing files.";; + *) clean=0; echo "I: Unknown parameter given, listing only (-f to remove).";; +esac + +# Readibility: +echo + +for x in $symlinks $dirs_vs_symlinks $binaries; do + # Do not fail if the file went away already, only warn: + if [ -e $x -o -L $x ]; then + if [ $clean = 1 ]; then + git rm $x + else + echo "I: Would remove $x" + fi + else + echo "W: Unable to remove non-existing: $x" + fi +done + +### Second phase, kill all files in git not in the tarball +version=$(dpkg-parsechangelog|awk '/Version: / {print $2}'|sed 's/-.*$//') +tarball="../mesa_$version.orig.tar.gz" +if [ ! -f $tarball ]; then + echo "E: Missing tarball ($tarball), you could use: uscan --download-current --rename" + exit 1 +fi + +# Be lazy for now, temporary files would be better: +one=1 +two=2 + +# Strip one directory, Mesa-$version/ is the top-level: +tar tfz $tarball | sed 's,[^/]*/,,' | sort > $two +# List all files known to git, except those under debian/: +git ls-files | grep -v ^debian/ | sort > $one + +for x in $(diff -u $one $two|tail -n +3|grep ^-|sed 's/^-//'); do + if [ -e $x -o -L $x ]; then + if [ $clean = 1 ]; then + git rm $x + else + echo "I: Would remove $x" + fi + else + echo "W: Unable to remove non-existing: $x (maybe gone during 1st phase)" + fi +done + +rm $one $two --- mesa-9.0.3.orig/debian/libgl1-mesa-glx.shlibs +++ mesa-9.0.3/debian/libgl1-mesa-glx.shlibs @@ -0,0 +1 @@ +libGL 1 libgl1-mesa-glx | libgl1 --- mesa-9.0.3.orig/debian/libegl1-mesa.symbols +++ mesa-9.0.3/debian/libegl1-mesa.symbols @@ -0,0 +1,87 @@ +libEGL.so.1 libegl1-mesa #MINVER# | libegl1-x11 +# These are all internal symbols between libEGL and the +# drivers. Handle the dependency explicitly in the driver +# package. + (regex)"^_egl.*@Base$" 7.8.1 + dri2_add_config@Base 8.1~0 + dri2_create_image_khr@Base 8.1~0 + dri2_create_screen@Base 8.1~0 + dri2_get_device_name_for_fd@Base 8.1~0 + dri2_get_driver_for_fd@Base 8.1~0 + dri2_initialize_drm@Base 8.1~0 + dri2_initialize_wayland@Base 8.1~0 + dri2_initialize_x11@Base 8.1~0 + dri2_load_driver@Base 8.1~0 + dri2_load_driver_swrast@Base 8.1~0 + dri2_lookup_egl_image@Base 8.1~0 + dri2_setup_screen@Base 8.1~0 + dri2_to_egl_attribute_map@Base 8.1~0 + eglBindAPI@Base 7.8.1 + eglBindTexImage@Base 7.8.1 + eglBindWaylandDisplayWL@Base 7.11~0 + eglChooseConfig@Base 7.8.1 + eglChooseModeMESA@Base 7.8.1 + eglClientWaitSyncKHR@Base 7.9 + eglCopyBuffers@Base 7.8.1 + eglCopyContextMESA@Base 7.8.1 + eglCreateContext@Base 7.8.1 + eglCreateDRMImageMESA@Base 7.9 + eglCreateImageKHR@Base 7.8.1 + eglCreatePbufferFromClientBuffer@Base 7.8.1 + eglCreatePbufferSurface@Base 7.8.1 + eglCreatePixmapSurface@Base 7.8.1 + eglCreateScreenSurfaceMESA@Base 7.8.1 + eglCreateSyncKHR@Base 7.9 + eglCreateWindowSurface@Base 7.8.1 + eglDestroyContext@Base 7.8.1 + eglDestroyImageKHR@Base 7.8.1 + eglDestroySurface@Base 7.8.1 + eglDestroySyncKHR@Base 7.9 + eglExportDRMImageMESA@Base 7.9 + eglGetConfigAttrib@Base 7.8.1 + eglGetConfigs@Base 7.8.1 + eglGetCurrentContext@Base 7.8.1 + eglGetCurrentDisplay@Base 7.8.1 + eglGetCurrentSurface@Base 7.8.1 + eglGetDRMDisplayMESA@Base 7.9 + eglGetDisplay@Base 7.8.1 + eglGetError@Base 7.8.1 + eglGetModeAttribMESA@Base 7.8.1 + eglGetSyncAttribKHR@Base 7.9 + eglGetModesMESA@Base 7.8.1 + eglGetProcAddress@Base 7.8.1 + eglGetScreensMESA@Base 7.8.1 + eglInitialize@Base 7.8.1 + eglMakeCurrent@Base 7.8.1 + eglPostSubBufferNV@Base 8.0~rc1 + eglQueryAPI@Base 7.8.1 + eglQueryContext@Base 7.8.1 + eglQueryModeStringMESA@Base 7.8.1 + eglQueryScreenMESA@Base 7.8.1 + eglQueryScreenModeMESA@Base 7.8.1 + eglQueryScreenSurfaceMESA@Base 7.8.1 + eglQueryString@Base 7.8.1 + eglQuerySurface@Base 7.8.1 + eglQueryWaylandBufferWL@Base 8.1~0 + eglReleaseTexImage@Base 7.8.1 + eglReleaseThread@Base 7.8.1 + eglScreenPositionMESA@Base 7.8.1 + eglShowScreenSurfaceMESA@Base 7.8.1 + eglSignalSyncKHR@Base 7.9 + eglSurfaceAttrib@Base 7.8.1 + eglSwapBuffers@Base 7.8.1 + eglSwapBuffersRegionNOK@Base 7.9 + eglSwapInterval@Base 7.8.1 + eglTerminate@Base 7.8.1 + eglUnbindWaylandDisplayWL@Base 7.11~0 + eglWaitClient@Base 7.8.1 + eglWaitGL@Base 7.8.1 + eglWaitNative@Base 7.8.1 + image_lookup_extension@Base 8.1~0 + use_invalidate@Base 8.1~0 + wayland_buffer_is_drm@Base 8.1~0 + wayland_drm_buffer_get_buffer@Base 8.1~0 + wayland_drm_buffer_get_format@Base 8.1~0 + wayland_drm_init@Base 8.1~0 + wayland_drm_uninit@Base 8.1~0 + (arch=linux-any)wl_drm_interface@Base 8.0-2~ --- mesa-9.0.3.orig/debian/README.source +++ mesa-9.0.3/debian/README.source @@ -0,0 +1,41 @@ +------------------------------------------------------ +Quick Guide To Patching This Package For The Impatient +------------------------------------------------------ + +1. Make sure you have quilt installed +2. Unpack the package as usual with "dpkg-source -x" +3. Run the "patch" target in debian/rules +4. Create a new patch with "quilt new" (see quilt(1)) +5. Edit all the files you want to include in the patch with "quilt edit" + (see quilt(1)). +6. Write the patch with "quilt refresh" (see quilt(1)) +7. Run the "clean" target in debian/rules + +Alternatively, instead of using quilt directly, you can drop the patch in to +debian/patches and add the name of the patch to debian/patches/series. + + +The X Strike Force team maintains X packages in git repositories on +git.debian.org in the pkg-xorg subdirectory. Most upstream packages +are actually maintained in git repositories as well, so they often +just need to be pulled into git.debian.org in a "upstream-*" branch. + +The .orig.tar.gz is upstream's MesaLib tarball. + +While building from git, dpkg-source can complain about symlinks vs. +normal files mismatches. To work around this issue, before uploading, +and without committing: + + find -type l | while read dest; do src=$(readlink -f $dest); rm $dest; cp $src $dest; done + +The Debian packaging is added by creating the "debian-*" git branch +which contains the aforementioned "upstream-*" branch plus the debian/ +repository files. +When a patch has to be applied to the Debian package, two solutions +are involved: +* If the patch is available in one of the upstream branches, it + may be git'cherry-picked into the Debian repository. In this + case, it appears directly in the .diff.gz. +* Otherwise, the patch is added to debian/patches/ which is managed + with quilt as documented in /usr/share/doc/quilt/README.source. + Thus, the patching system requires a build dependency on quilt. --- mesa-9.0.3.orig/debian/libgl1-mesa-glx.postinst.in +++ mesa-9.0.3/debian/libgl1-mesa-glx.postinst.in @@ -0,0 +1,31 @@ +#!/bin/sh + +set -e + +THIS_PACKAGE=libgl1-mesa-glx +THIS_SCRIPT=postinst + +case "$1" in + configure) + # on upgrade from previous versions, clean up our non-arch-qualified + # alternative + if dpkg --compare-versions "$2" lt-nl 7.10.3-0ubuntu1; then + update-alternatives --remove gl_conf /usr/lib/mesa/ld.so.conf + fi + # Use alternatives to make it easier to switch between Mesa and 3rd party modules + update-alternatives --force \ + --install /etc/ld.so.conf.d/${DEB_HOST_MULTIARCH}_GL.conf ${DEB_HOST_MULTIARCH}_gl_conf /usr/lib/${DEB_HOST_MULTIARCH}/mesa/ld.so.conf 500 \ + --slave /usr/lib/${DEB_HOST_MULTIARCH}/xorg/extra-modules ${DEB_HOST_MULTIARCH}_xorg_extra_modules /usr/lib/${DEB_HOST_MULTIARCH}/xorg/x11-extra-modules + + # ldconfig needs to be run immediately as we're changing /etc/ld.so.conf.d/ with + # alternatives. + LDCONFIG_NOTRIGGER=y ldconfig + +esac + +#DEBHELPER# + +exit 0 + +# vim:set ai et sw=2 ts=2 tw=80: + --- mesa-9.0.3.orig/debian/libgles2-mesa-dev.install.in +++ mesa-9.0.3/debian/libgles2-mesa-dev.install.in @@ -0,0 +1,3 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libGLESv2.so usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl +dri/usr/include/GLES2 usr/include +dri/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/glesv2.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig --- mesa-9.0.3.orig/debian/compat +++ mesa-9.0.3/debian/compat @@ -0,0 +1 @@ +7 --- mesa-9.0.3.orig/debian/libopenvg1-mesa.lintian-overrides +++ mesa-9.0.3/debian/libopenvg1-mesa.lintian-overrides @@ -0,0 +1 @@ +package-name-doesnt-match-sonames libOpenVG1 --- mesa-9.0.3.orig/debian/libgl1-mesa-dri-experimental.lintian-overrides +++ mesa-9.0.3/debian/libgl1-mesa-dri-experimental.lintian-overrides @@ -0,0 +1,3 @@ +# virtual packages only: +breaks-without-version libgl1-mesa-glx-no-multiarch +breaks-without-version xserver-xorg-core-no-multiarch --- mesa-9.0.3.orig/debian/libgl1-mesa-dri.install.in +++ mesa-9.0.3/debian/libgl1-mesa-dri.install.in @@ -0,0 +1,3 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/dri/*_dri.so usr/lib/${DEB_HOST_MULTIARCH}/dri +dri/usr/lib/${DEB_HOST_MULTIARCH}/libdricore*.so* usr/lib/${DEB_HOST_MULTIARCH}/ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libgallium*.so* usr/lib/${DEB_HOST_MULTIARCH}/ --- mesa-9.0.3.orig/debian/libgles1-mesa-dev.install.in +++ mesa-9.0.3/debian/libgles1-mesa-dev.install.in @@ -0,0 +1,3 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libGLESv1_CM.so usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl +dri/usr/include/GLES usr/include +dri/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/glesv1_cm.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig --- mesa-9.0.3.orig/debian/libgl1-mesa-dri-experimental.install.in +++ mesa-9.0.3/debian/libgl1-mesa-dri-experimental.install.in @@ -0,0 +1 @@ +# empty for now. --- mesa-9.0.3.orig/debian/gbp.conf +++ mesa-9.0.3/debian/gbp.conf @@ -0,0 +1,2 @@ +[DEFAULT] +debian-branch=ubuntu --- mesa-9.0.3.orig/debian/libgbm-dev.install.in +++ mesa-9.0.3/debian/libgbm-dev.install.in @@ -0,0 +1,3 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libgbm.so usr/lib/${DEB_HOST_MULTIARCH} +dri/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/gbm.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig +dri/usr/include/gbm.h usr/include --- mesa-9.0.3.orig/debian/control +++ mesa-9.0.3/debian/control @@ -0,0 +1,711 @@ +Source: mesa +Section: graphics +Priority: optional +Maintainer: Ubuntu X-SWAT +XSBC-Original-Maintainer: Debian X Strike Force +Uploaders: Cyril Brulebois +Standards-Version: 3.9.3 +Build-Depends: + debhelper (>= 8.1.3), + quilt (>= 0.40), + pkg-config, + libdrm-dev (>= 2.4.39) [!hurd-any], + libx11-dev, + xutils-dev, + x11proto-gl-dev (>= 1.4.14), + libxxf86vm-dev, + libexpat1-dev, + dpkg-dev (>= 1.15.6), + libxfixes-dev, + libxdamage-dev, + libxext-dev, + autoconf, + automake, + libtool, + x11proto-dri2-dev (>= 2.6), + linux-libc-dev (>= 2.6.31) [linux-any], + libx11-xcb-dev, + libxcb-dri2-0-dev, + libxcb-glx0-dev, + libxcb-xfixes0-dev, + python-libxml2, + libudev-dev [linux-any], + flex, + bison, + llvm-3.1-dev [amd64 i386 kfreebsd-amd64 kfreebsd-i386], + libwayland-dev (>= 0.95.0) [linux-any], +Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/mesa +Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/mesa.git +Homepage: http://mesa3d.sourceforge.net/ + +Package: libxatracker1 +Section: libs +Architecture: linux-any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Pre-Depends: ${misc:Pre-Depends}, + dpkg (>= 1.15.6~), +Multi-Arch: same +Description: X acceleration library -- runtime + This package contains the XA (X acceleration) library. It is used exclusively + by the X server to do render, copy and video acceleration. + . + XA is intended to be used by the vmware driver for virtualized X acceleration. + +Package: libxatracker1-dbg +Section: debug +Priority: extra +Architecture: linux-any +Depends: + libxatracker1 (= ${binary:Version}), + ${misc:Depends}, +Pre-Depends: ${misc:Pre-Depends}, + dpkg (>= 1.15.6~), +Multi-Arch: same +Description: X acceleration library -- debugging symbols + This package contains the XA (X acceleration) library. It is used exclusively + by the X server to do render, copy and video acceleration. + . + XA is intended to be used by the vmware driver for virtualized X acceleration. + . + This package contains the debugging symbols for the xatracker library. + +Package: libxatracker-dev +Section: libdevel +Architecture: linux-any +Pre-Depends: dpkg (>= 1.15.6~), +Depends: + libxatracker1 (= ${binary:Version}), + ${misc:Depends}, +Description: X acceleration library -- development files + This package contains the XA (X acceleration) library. It is used exclusively + by the X server to do render, copy and video acceleration. + . + XA is intended to be used by the vmware driver for virtualized X acceleration. + . + This package provides the development environment for compiling programs + against the xatracker library. + +Package: libgbm1 +Section: libs +Architecture: linux-any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Pre-Depends: ${misc:Pre-Depends}, + dpkg (>= 1.15.6~), +Multi-Arch: same +Description: generic buffer management API -- runtime + This package contains the GBM buffer management library. It provides a + mechanism for allocating buffers for graphics rendering tied to Mesa. + . + GBM is intended to be used as a native platform for EGL on drm or openwfd. + +Package: libgbm1-dbg +Section: debug +Priority: extra +Architecture: linux-any +Depends: + libgbm1 (= ${binary:Version}), + ${misc:Depends}, +Pre-Depends: ${misc:Pre-Depends}, + dpkg (>= 1.15.6~), +Multi-Arch: same +Description: generic buffer management API -- debugging symbols + This package contains the GBM buffer management library. It provides a + mechanism for allocating buffers for graphics rendering tied to Mesa. + . + GBM is intended to be used as a native platform for EGL on drm or openwfd. + . + This package contains the debugging symbols for the GBM library. + +Package: libgbm-dev +Section: libdevel +Architecture: linux-any +Pre-Depends: dpkg (>= 1.15.6~), +Depends: + libgbm1 (= ${binary:Version}), + libudev-dev, + ${misc:Depends}, +Description: generic buffer management API -- development files + This package contains the GBM buffer management library. It provides a + mechanism for allocating buffers for graphics rendering tied to Mesa. + . + GBM is intended to be used as a native platform for EGL on drm or openwfd. + . + This package provides the development environment for compiling programs + against the GBM library. + +Package: libegl1-mesa +Section: libs +Architecture: linux-any kfreebsd-any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Recommends: libegl1-mesa-drivers +Provides: libegl1-x11 +Conflicts: libegl1-x11 +Replaces: libegl1-x11 +Pre-Depends: ${misc:Pre-Depends}, + dpkg (>= 1.15.6~), +Multi-Arch: same +Description: free implementation of the EGL API -- runtime + This package contains the EGL native platform graphics interface library. + EGL provides a platform-agnostic mechanism for creating rendering surfaces + for use with other graphics libraries, such as OpenGL|ES and OpenVG. + . + This package contains modules to interface with the existing system GLX or + DRI2 drivers to provide OpenGL via EGL. The libegl1-mesa-drivers package + provides drivers to provide hardware-accelerated OpenGL|ES and OpenVG support. + +Package: libegl1-mesa-dbg +Section: debug +Priority: extra +Architecture: linux-any kfreebsd-any +Pre-Depends: dpkg (>= 1.15.6~) +Depends: + libegl1-mesa (= ${binary:Version}), + ${misc:Depends}, +Multi-Arch: same +Description: free implementation of the EGL API -- debugging symbols + This package contains the EGL native platform graphics interface library. + EGL provides a platform-agnostic mechanism for creating rendering surfaces + for use with other graphics libraries, such as OpenGL|ES and OpenVG. + . + This package contains the debugging symbols for the EGL library. + +Package: libegl1-mesa-dev +Section: libdevel +Architecture: linux-any kfreebsd-any +Pre-Depends: dpkg (>= 1.15.6~), +Depends: + libegl1-mesa (= ${binary:Version}), + libegl1-mesa-drivers (= ${binary:Version}), + libdrm-dev (>= 2.4.19) [!hurd-any], + x11proto-dri2-dev (>= 2.1), + x11proto-gl-dev (>= 1.4.11), + libx11-dev, + libxext-dev, + libxxf86vm-dev, + libxdamage-dev, + libxfixes-dev, + libxcb-glx0-dev, + libx11-xcb-dev, + ${misc:Depends}, +Description: free implementation of the EGL API -- development files + This package contains the development environment required for compiling + programs against EGL native platform graphics interface library. + EGL provides a platform-agnostic mechanism for creating rendering surfaces + for use with other graphics libraries, such as OpenGL|ES and OpenVG. + . + This package provides the development environment for compiling programs + against the EGL library. + +Package: libegl1-mesa-drivers +Section: libs +Architecture: linux-any kfreebsd-any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + libegl1-mesa (= ${binary:Version}), + libglapi-mesa (= ${binary:Version}), +Pre-Depends: ${misc:Pre-Depends}, + dpkg (>= 1.15.6~), +Multi-Arch: same +Replaces: libegl1-mesa (<= 8.0.1-0ubuntu2) +Description: free implementation of the EGL API -- hardware drivers + This package contains the EGL native platform graphics interface library. + EGL provides a platform-agnostic mechanism for creating rendering surfaces + for use with other graphics libraries, such as OpenGL|ES and OpenVG. + . + This package contains the drivers required for hardware accelerated rendering + of EGL-based graphics libraries, such as OpenGL|ES and OpenVG. + +Package: libegl1-mesa-drivers-dbg +Section: debug +Priority: extra +Architecture: linux-any kfreebsd-any +Pre-Depends: dpkg (>= 1.15.6~) +Depends: + libegl1-mesa-drivers (= ${binary:Version}), + ${misc:Depends}, +Multi-Arch: same +Description: free implementation of the EGL API -- driver debugging symbols + This package contains the EGL native platform graphics interface library. + EGL provides a platform-agnostic mechanism for creating rendering surfaces + for use with other graphics libraries, such as OpenGL|ES and OpenVG. + . + This package contains the debugging symbols for the drivers required for + hardware accelerated rendering of EGL-based graphics libraries. + +Package: libopenvg1-mesa +Section: libs +Architecture: linux-any kfreebsd-any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Provides: libopenvg1 +Conflicts: libopenvg1 +Replaces: libopenvg1 +Pre-Depends: ${misc:Pre-Depends}, + dpkg (>= 1.15.6~), +Multi-Arch: same +Description: free implementation of the OpenVG API -- runtime + This package contains the mesa implementation of the OpenVG 2D acceleration + library. OpenVG provides a device independent and vendor-neutral interface + for sophisticated 2D graphical applications, while allowing device + manufacturers to provide hardware acceleration on devices ranging from wrist + watches to full microprocessor-based desktop and server machines. + +Package: libopenvg1-mesa-dbg +Section: debug +Priority: extra +Architecture: linux-any kfreebsd-any +Pre-Depends: dpkg (>= 1.15.6~) +Depends: + libopenvg1-mesa (= ${binary:Version}), + ${misc:Depends}, +Multi-Arch: same +Description: free implementation of the OpenVG API -- debugging symbols + This package contains the mesa implementation of the OpenVG 2D acceleration + library. OpenVG provides a device independent and vendor-neutral interface + for sophisticated 2D graphical applications, while allowing device + manufacturers to provide hardware acceleration on devices ranging from wrist + watches to full microprocessor-based desktop and server machines. + . + This package contains the debugging symbols for the OpenVG library. + +Package: libopenvg1-mesa-dev +Section: libdevel +Architecture: linux-any kfreebsd-any +Pre-Depends: dpkg (>= 1.15.6~), +Depends: + libopenvg1-mesa (= ${binary:Version}), + libegl1-mesa-dev, + ${misc:Depends}, +Description: free implementation of the OpenVG API -- development files + This package contains the mesa implementation of the OpenVG 2D acceleration + library. OpenVG provides a device independent and vendor-neutral interface + for sophisticated 2D graphical applications, while allowing device + manufacturers to provide hardware acceleration on devices ranging from wrist + watches to full microprocessor-based desktop and server machines. + . + This package contains the development environment required for compiling + programs against the OpenVG 2D acceleration library. + +Package: libgles1-mesa +Section: libs +Architecture: linux-any kfreebsd-any +Depends: + libglapi-mesa (= ${binary:Version}), + ${shlibs:Depends}, + ${misc:Depends}, +Provides: libgles1 +Conflicts: libgles1 +Replaces: libgles1 +Pre-Depends: ${misc:Pre-Depends}, + dpkg (>= 1.15.6~), +Multi-Arch: same +Description: free implementation of the OpenGL|ES 1.x API -- runtime + OpenGL|ES is a cross-platform API for full-function 2D and 3D graphics on + embedded systems - including consoles, phones, appliances and vehicles. + It contains a subset of OpenGL plus a number of extensions for the + special needs of embedded systems. + . + OpenGL|ES 1.x provides an API for fixed-function hardware. + +Package: libgles1-mesa-dbg +Section: debug +Priority: extra +Architecture: linux-any kfreebsd-any +Pre-Depends: dpkg (>= 1.15.6~) +Depends: + libgles1-mesa (= ${binary:Version}), + ${misc:Depends}, +Multi-Arch: same +Description: free implementation of the OpenGL|ES 1.x API -- debugging symbols + OpenGL|ES is a cross-platform API for full-function 2D and 3D graphics on + embedded systems - including consoles, phones, appliances and vehicles. + It contains a subset of OpenGL plus a number of extensions for the + special needs of embedded systems. + . + OpenGL|ES 1.x provides an API for fixed-function hardware. + . + This package contains the debugging symbols for the libGLESv1_CM library. + +Package: libgles1-mesa-dev +Section: libdevel +Architecture: linux-any kfreebsd-any +Pre-Depends: dpkg (>= 1.15.6~), +Depends: + libgles1-mesa (= ${binary:Version}), + libegl1-mesa-dev, + ${misc:Depends}, +Description: free implementation of the OpenGL|ES 1.x API -- development files + OpenGL|ES is a cross-platform API for full-function 2D and 3D graphics on + embedded systems - including consoles, phones, appliances and vehicles. + It contains a subset of OpenGL plus a number of extensions for the + special needs of embedded systems. + . + OpenGL|ES 1.x provides an API for fixed-function hardware. + . + This package provides a development environment for building programs using + the OpenGL|ES 1.x APIs. + +Package: libgles2-mesa +Section: libs +Architecture: linux-any kfreebsd-any +Depends: + libglapi-mesa (= ${binary:Version}), + ${shlibs:Depends}, + ${misc:Depends}, +Provides: libgles2 +Conflicts: libgles2 +Replaces: libgles2 +Pre-Depends: ${misc:Pre-Depends}, + dpkg (>= 1.15.6~), +Multi-Arch: same +Description: free implementation of the OpenGL|ES 2.x API -- runtime + OpenGL|ES is a cross-platform API for full-function 2D and 3D graphics on + embedded systems - including consoles, phones, appliances and vehicles. + It contains a subset of OpenGL plus a number of extensions for the + special needs of embedded systems. + . + OpenGL|ES 2.x provides an API for programmable hardware including vertex + and fragment shaders. + +Package: libgles2-mesa-dbg +Section: debug +Priority: extra +Architecture: linux-any kfreebsd-any +Pre-Depends: dpkg (>= 1.15.6~) +Depends: + libgles2-mesa (= ${binary:Version}), + ${misc:Depends}, +Multi-Arch: same +Description: free implementation of the OpenGL|ES 2.x API -- debugging symbols + OpenGL|ES is a cross-platform API for full-function 2D and 3D graphics on + embedded systems - including consoles, phones, appliances and vehicles. + It contains a subset of OpenGL plus a number of extensions for the + special needs of embedded systems. + . + OpenGL|ES 2.x provides an API for programmable hardware including vertex + and fragment shaders. + . + This package contains the debugging symbols for the libGLESv2 library. + +Package: libgles2-mesa-dev +Section: libdevel +Architecture: linux-any kfreebsd-any +Pre-Depends: dpkg (>= 1.15.6~), +Depends: + libgles2-mesa (= ${binary:Version}), + libegl1-mesa-dev, + ${misc:Depends}, +Description: free implementation of the OpenGL|ES 2.x API -- development files + OpenGL|ES is a cross-platform API for full-function 2D and 3D graphics on + embedded systems - including consoles, phones, appliances and vehicles. + It contains a subset of OpenGL plus a number of extensions for the + special needs of embedded systems. + . + OpenGL|ES 2.x provides an API for programmable hardware including vertex + and fragment shaders. + . + This package provides a development environment for building applications + using the OpenGL|ES 2.x APIs. + +Package: libglapi-mesa +Section: libs +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Pre-Depends: ${misc:Pre-Depends}, + dpkg (>= 1.15.6~), +Multi-Arch: same +Description: free implementation of the GL API -- shared library + The Mesa GL API module is responsible for dispatching all the gl* + functions. It is intended to be mainly used by both the libgles1-mesa + and libgles2-mesa packages. + +Package: libglapi-mesa-dbg +Section: debug +Priority: extra +Architecture: any +Pre-Depends: dpkg (>= 1.15.6~) +Depends: + libglapi-mesa (= ${binary:Version}), + ${misc:Depends}, +Multi-Arch: same +Description: free implementation of the GL API -- debugging symbols + The Mesa GL API module is responsible for dispatching all the gl* + functions. It is intended to be mainly used by both the libgles1-mesa + and libgles2-mesa packages. + . + This package contains debugging symbols for the GL API library. + +Package: libgl1-mesa-glx +Section: libs +Architecture: any +Depends: + ${shlibs:Depends}, + libglapi-mesa (= ${binary:Version}), + ${misc:Depends} +Recommends: + libgl1-mesa-dri (>= 7.2), + libtxc-dxtn-s2tc0 +Conflicts: libgl1, libgl1-mesa-dri (<< 6.4.0) +Replaces: libgl1, libgl1-mesa-dri (<< 6.4.0) +Provides: libgl1 +Breaks: + libgl1-nvidia-alternatives (<= 275.09.07-1), + fglrx-glx (<< 1:11-6-1), +Pre-Depends: ${misc:Pre-Depends}, + dpkg (>= 1.15.6~), +Multi-Arch: same +Description: free implementation of the OpenGL API -- GLX runtime + Mesa is a 3-D graphics library with an API which is very similar to + that of OpenGL. To the extent that Mesa utilizes the OpenGL command + syntax or state machine, it is being used with authorization from + Silicon Graphics, Inc. However, the author makes no claim that Mesa + is in any way a compatible replacement for OpenGL or associated with + Silicon Graphics, Inc. + . + This version of Mesa provides GLX and DRI capabilities: it is capable of + both direct and indirect rendering. For direct rendering, it can use DRI + modules from the libgl1-mesa-dri package to accelerate drawing. + . + This package does not include the modules themselves: these can be found + in the libgl1-mesa-dri package. + +Package: libgl1-mesa-glx-dbg +Section: debug +Priority: extra +Architecture: any +Pre-Depends: dpkg (>= 1.15.6~) +Depends: + libgl1-mesa-glx (= ${binary:Version}), + ${misc:Depends}, +Multi-Arch: same +Description: Debugging symbols for the Mesa GLX runtime + This version of Mesa provides GLX and DRI capabilities: it is capable of + both direct and indirect rendering. For direct rendering, it can use DRI + modules from the libgl1-mesa-dri package to accelerate drawing. + . + This package does not include the modules themselves: these can be found + in the libgl1-mesa-dri package. + . + For a complete description of Mesa, please look at the + libgl1-mesa-glx package. + . + This package contains debugging symbols for the GL library with GLX and DRI + capabilities. + +#Package: libgl1-mesa-glx-i686 +#Section: libs +#Priority: extra +#Architecture: any-i386 +#Pre-Depends: libgl1-mesa-glx +#Description: A free implementation of the OpenGL API -- GLX runtime [i686 optimized] +# This version of Mesa provides GLX and DRI capabilities: it is capable of +# both direct and indirect rendering. For direct rendering, it can use DRI +# modules from the libgl1-mesa-dri package to accelerate drawing. +# . +# This package does not include the modules themselves: these can be found +# in the libgl1-mesa-dri package. +# . +# For a complete description of Mesa, please look at the +# libgl1-mesa-glx11 package. +# . +# This set of libraries is optimized for i686 machines and will only be used if +# you are running a 2.6 kernel on an i686 class CPU. This includes Pentium Pro, +# Pentium II/II/IV, Celeron CPU's and similar class CPU's (including clones +# such as AMD Athlon/Opteron, VIA C3 Nehemiah, but not VIA C3 Ezla). + +Package: libgl1-mesa-dri +Section: libs +Priority: optional +Architecture: any +Pre-Depends: dpkg (>= 1.15.6~), + ${misc:Pre-Depends} +Depends: + ${shlibs:Depends}, + ${misc:Depends} +Suggests: libglide3 +Conflicts: xlibmesa-dri (<< 1:7.0.0) +Replaces: xlibmesa-dri (<< 1:7.0.0), libgl1-mesa-dri-experimental (<< 7.11.1) +Breaks: + xserver-xorg-core (<< 2:1.10.2-2), + xserver-xorg-core-no-multiarch, + libgl1-mesa-glx (<< 7.10.2-4), + libgl1-mesa-glx-no-multiarch, + libgl1-mesa-dri-experimental (<< 7.11.1), +Multi-Arch: same +Description: free implementation of the OpenGL API -- DRI modules + This version of Mesa provides GLX and DRI capabilities: it is capable of + both direct and indirect rendering. For direct rendering, it can use DRI + modules from the libgl1-mesa-dri package to accelerate drawing. + . + This package does not include the OpenGL library itself, only the DRI + modules for accelerating direct rendering. + . + For a complete description of Mesa, please look at the + libgl1-mesa-glx package. + . + The tdfx DRI module needs libglide3 to enable direct rendering. + +Package: libgl1-mesa-dri-dbg +Section: debug +Priority: extra +Architecture: any +Pre-Depends: dpkg (>= 1.15.6~) +Depends: + libgl1-mesa-dri (= ${binary:Version}), + ${misc:Depends}, +Replaces: libgl1-mesa-dri-experimental-dbg (<< 7.11.1) +Multi-Arch: same +Description: Debugging symbols for the Mesa DRI modules + This version of Mesa provides GLX and DRI capabilities: it is capable of + both direct and indirect rendering. For direct rendering, it can use DRI + modules from the libgl1-mesa-dri package to accelerate drawing. + . + This package does not include the OpenGL library itself, only the DRI + modules for accelerating direct rendering. + . + For a complete description of Mesa, please look at the + libgl1-mesa-glx package. + . + This package contains debugging symbols for the DRI modules. + +Package: libgl1-mesa-dri-experimental +Section: libs +Architecture: linux-any kfreebsd-any +Pre-Depends: dpkg (>= 1.15.6~), +Depends: + ${shlibs:Depends}, + libgl1-mesa-dri (>= 7.11.1) [linux-any], + ${misc:Depends}, +Breaks: + xserver-xorg-core (<< 2:1.10.2-2), + xserver-xorg-core-no-multiarch, + libgl1-mesa-glx (<< 7.11.1), + libgl1-mesa-glx-no-multiarch, +Multi-Arch: same +Description: free implementation of the OpenGL API -- Extra DRI modules + This version of Mesa provides GLX and DRI capabilities: it is capable of + both direct and indirect rendering. For direct rendering, it can use DRI + modules from the libgl1-mesa-dri package to accelerate drawing. + . + This package does not include the OpenGL library itself, only the DRI + modules for accelerating direct and indirect rendering. The drivers + in this package may provide more features than the drivers in the + libgl1-mesa-dri at the cost of less stability. + . + For a complete description of Mesa, please look at the + libgl1-mesa-glx package. + +Package: libgl1-mesa-dri-experimental-dbg +Section: debug +Priority: extra +Architecture: linux-any +Pre-Depends: dpkg (>= 1.15.6~) +Depends: + libgl1-mesa-dri-experimental (= ${binary:Version}), + ${misc:Depends}, +Multi-Arch: same +Description: Debugging symbols for the experimental Mesa DRI modules + This version of Mesa provides GLX and DRI capabilities: it is capable of + both direct and indirect rendering. For direct rendering, it can use DRI + modules from the libgl1-mesa-dri package to accelerate drawing. + . + This package does not include the OpenGL library itself, only the DRI + modules for accelerating direct rendering. + . + For a complete description of Mesa, please look at the + libgl1-mesa-glx package. + . + This package contains debugging symbols for the extra DRI modules. + +Package: libgl1-mesa-dev +Section: libdevel +Architecture: any +Pre-Depends: dpkg (>= 1.15.6~), +Depends: + mesa-common-dev (= ${binary:Version}), + libgl1-mesa-glx (= ${binary:Version}), + libdrm-dev (>= 2.4.24) [!hurd-any], + libx11-dev, + libx11-xcb-dev, + libxcb-glx0-dev, + libxdamage-dev, + libxext-dev, + libxfixes-dev, + libxxf86vm-dev, + x11proto-dri2-dev (>= 2.6), + x11proto-gl-dev (>= 1.4.14), + ${misc:Depends}, +Conflicts: libgl-dev, libgl1-mesa-dri-dev +Replaces: libgl-dev, libgl1-mesa-dri-dev +Provides: libgl-dev, libgl1-mesa-dri-dev +Description: free implementation of the OpenGL API -- GLX development files + This version of Mesa provides GLX and DRI capabilities: it is capable of + both direct and indirect rendering. For direct rendering, it can use DRI + modules from the libgl1-mesa-dri package to accelerate drawing. + . + This package includes headers and static libraries for compiling + programs with Mesa. + . + For a complete description of Mesa, please look at the libgl1-mesa-glx + package. + +Package: mesa-common-dev +Section: libdevel +Architecture: any +Replaces: xlibmesa-gl-dev (<< 1:7), xlibosmesa-dev, libgl1-mesa-swx11-dev (<< 6.5.2), libgl1-mesa-dev (<< 7.5~rc4-2) +Pre-Depends: dpkg (>= 1.15.6~), +Depends: + libx11-dev, + libdrm-dev [!hurd-any], + ${misc:Depends}, +Description: Developer documentation for Mesa + This package includes the specifications for the Mesa-specific OpenGL + extensions, the complete set of release notes and the development header + files common to all Mesa packages. + +Package: libosmesa6 +Section: libs +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Replaces: libgl1-mesa-swx11 (<< 6.5.2) +Pre-Depends: ${misc:Pre-Depends}, + dpkg (>= 1.15.6~), +Multi-Arch: same +Description: Mesa Off-screen rendering extension + OSmesa is a Mesa extension that allows programs to render to an + off-screen buffer using the OpenGL API without having to create a + rendering context on an X Server. It uses a pure software renderer. + . + This package provides both 16-bit and 32-bit versions of the off-screen + renderer which do not require external libraries to work. + +Package: libosmesa6-dev +Section: libdevel +Architecture: any +Pre-Depends: dpkg (>= 1.15.6~), +Depends: + libosmesa6 (= ${binary:Version}), + mesa-common-dev (= ${binary:Version}) | libgl-dev, + ${misc:Depends}, +Conflicts: xlibosmesa-dev, libosmesa4-dev, libosmesa-dev +Replaces: xlibosmesa-dev, libosmesa-dev, libgl1-mesa-swx11-dev (<< 6.5.2), mesa-common-dev (<< 6.5.2) +Provides: xlibosmesa-dev, libosmesa-dev +Description: Mesa Off-screen rendering extension -- development files + This package provides the required environment for developing programs + that use the off-screen rendering extension of Mesa. + . + For more information on OSmesa see the libosmesa6 package. + +# vim: tw=0 --- mesa-9.0.3.orig/debian/libglapi-mesa.install.in +++ mesa-9.0.3/debian/libglapi-mesa.install.in @@ -0,0 +1 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libglapi.so.0* usr/lib/${DEB_HOST_MULTIARCH} --- mesa-9.0.3.orig/debian/libgl1-mesa-glx.lintian-overrides +++ mesa-9.0.3/debian/libgl1-mesa-glx.lintian-overrides @@ -0,0 +1 @@ +package-name-doesnt-match-sonames libGL1 --- mesa-9.0.3.orig/debian/libgl1-mesa-dri.lintian-overrides +++ mesa-9.0.3/debian/libgl1-mesa-dri.lintian-overrides @@ -0,0 +1,3 @@ +# virtual packages only: +breaks-without-version libgl1-mesa-glx-no-multiarch +breaks-without-version xserver-xorg-core-no-multiarch --- mesa-9.0.3.orig/debian/libegl1-mesa-drivers.install.in +++ mesa-9.0.3/debian/libegl1-mesa-drivers.install.in @@ -0,0 +1,2 @@ +# This file gets tweaked in an os-specific fashion (see libegl1-mesa-drivers.install.linux.in) +dri/usr/lib/${DEB_HOST_MULTIARCH}/egl/egl_gallium.so usr/lib/${DEB_HOST_MULTIARCH}/egl --- mesa-9.0.3.orig/debian/libgl1-mesa-glx.prerm.in +++ mesa-9.0.3/debian/libgl1-mesa-glx.prerm.in @@ -0,0 +1,23 @@ +#!/bin/sh + +set -e + +THIS_PACKAGE=libgl1-mesa-glx +THIS_SCRIPT=prerm + +case "$1" in + remove) + # Use alternatives to make it easier to switch between Mesa and 3rd party modules + update-alternatives --remove ${DEB_HOST_MULTIARCH}_gl_conf /usr/lib/${DEB_HOST_MULTIARCH}/mesa/ld.so.conf + + # explicit ldconfig due to alternatives + ldconfig + +esac + +#DEBHELPER# + +exit 0 + +# vim:set ai et sw=2 ts=2 tw=80: + --- mesa-9.0.3.orig/debian/libglapi-mesa.lintian-overrides +++ mesa-9.0.3/debian/libglapi-mesa.lintian-overrides @@ -0,0 +1 @@ +package-name-doesnt-match-sonames libglapi0 --- mesa-9.0.3.orig/debian/libgles2-mesa.install.in +++ mesa-9.0.3/debian/libgles2-mesa.install.in @@ -0,0 +1 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libGLESv2.so.2* usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl --- mesa-9.0.3.orig/debian/libxatracker1.symbols +++ mesa-9.0.3/debian/libxatracker1.symbols @@ -0,0 +1,31 @@ +libxatracker.so.1 libxatracker1 #MINVER# + xa_composite_allocation@Base 0 + xa_composite_check_accelerated@Base 0 + xa_composite_done@Base 0 + xa_composite_prepare@Base 0 + xa_composite_rect@Base 0 + xa_context_create@Base 0 + xa_context_default@Base 0 + xa_context_destroy@Base 0 + xa_copy@Base 0 + xa_copy_done@Base 0 + xa_copy_prepare@Base 0 + xa_fence_destroy@Base 0 + xa_fence_get@Base 0 + xa_fence_wait@Base 0 + xa_format_check_supported@Base 0 + xa_solid@Base 0 + xa_solid_done@Base 0 + xa_solid_prepare@Base 0 + xa_surface_create@Base 0 + xa_surface_destroy@Base 0 + xa_surface_dma@Base 0 + xa_surface_format@Base 0 + xa_surface_handle@Base 0 + xa_surface_map@Base 0 + xa_surface_redefine@Base 0 + xa_surface_unmap@Base 0 + xa_tracker_create@Base 0 + xa_tracker_destroy@Base 0 + xa_tracker_version@Base 0 + xa_yuv_planar_blit@Base 0 --- mesa-9.0.3.orig/debian/libopenvg1-mesa-dev.install.in +++ mesa-9.0.3/debian/libopenvg1-mesa-dev.install.in @@ -0,0 +1,3 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libOpenVG.so usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl +dri/usr/include/VG usr/include +dri/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/vg.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig --- mesa-9.0.3.orig/debian/libegl1-mesa.install.in +++ mesa-9.0.3/debian/libegl1-mesa.install.in @@ -0,0 +1 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libEGL.so.1* usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl --- mesa-9.0.3.orig/debian/libegl1-mesa.prerm.in +++ mesa-9.0.3/debian/libegl1-mesa.prerm.in @@ -0,0 +1,20 @@ +#!/bin/sh + +set -e + +THIS_PACKAGE=libegl1-mesa +THIS_SCRIPT=prerm + +case "$1" in + remove) + # Use alternatives to make it easier to switch between Mesa and 3rd party modules + update-alternatives --remove ${DEB_HOST_MULTIARCH}_egl_conf /usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl/ld.so.conf + + # explicit ldconfig due to alternatives + ldconfig + +esac + +#DEBHELPER# + +exit 0 --- mesa-9.0.3.orig/debian/not-installed +++ mesa-9.0.3/debian/not-installed @@ -0,0 +1,24 @@ +# Keep track of files we don't install: + +# Common list: +NOT_INSTALLED := \ + dri/etc/drirc \ + dri/usr/include/GL/vms_x_fix.h \ + dri/usr/include/GL/wglext.h \ + dri/usr/include/GL/wmesa.h + +# Same for linux, kfreebsd, and hurd on i386: +NOT_INSTALLED_kfreebsd-i386 = $(NOT_INSTALLED_i386) +NOT_INSTALLED_hurd-i386 = $(NOT_INSTALLED_i386) + +# Detect the current architecture and add the files if any: +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +NOT_INSTALLED += $(NOT_INSTALLED_$(DEB_HOST_ARCH)) + +# Additional files which may or may not be there (depending on +# whether it's from a tarball or from a git snapshot): +NOT_INSTALLED_EITHER = \ + dri/usr/include/GL/glutf90.h \ + dri/usr/include/GL/glut.h \ + usr/include/GL/glutf90.h \ + usr/include/GL/glut.h --- mesa-9.0.3.orig/debian/README.Debian +++ mesa-9.0.3/debian/README.Debian @@ -0,0 +1,18 @@ +Documentation for the libegl1-x11, libgles1, libgles2, and libopenvg1 virtual +packages. + +Although there are is no standardised linux ABI for GL|ES or OpenVG, there is +a “strongly encouraged” set of standard headers, type and linkage definitions +supplied by the Khronos group[1]. The mesa implementation provides this ABI. +Any non-mesa implementation that wants to provide these packages should +conform to the Khronos group's de-facto ABI. + +The case of EGL is similar; Khronos again supplies a de-facto linux ABI. +The EGL ABI is necessarily tied to the native windowing system by the +eglNativeDisplayType, eglNativeWindowType, and eglNativePixmapType typedefs. +The EGL virtual package therefore includes the name of the x11 windowing +system to leave room should further windowing ABIs be standardised. + +[1]: http://www.khronos.org/registry/implementers_guide.html#uncontrolled + + -- Cyril Brulebois , Sat, 22 Jan 2011 06:03:46 +0100 --- mesa-9.0.3.orig/debian/libosmesa6.shlibs +++ mesa-9.0.3/debian/libosmesa6.shlibs @@ -0,0 +1 @@ +libOSMesa 6 libosmesa6 (>= 6.5.2-1) | libgl1-mesa-glide3 --- mesa-9.0.3.orig/debian/libxatracker-dev.install.in +++ mesa-9.0.3/debian/libxatracker-dev.install.in @@ -0,0 +1,5 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libxatracker.so usr/lib/${DEB_HOST_MULTIARCH} +dri/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/xatracker.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig +dri/usr/include/xa_composite.h usr/include +dri/usr/include/xa_context.h usr/include +dri/usr/include/xa_tracker.h usr/include --- mesa-9.0.3.orig/debian/libegl1-mesa-drivers.install.linux.in +++ mesa-9.0.3/debian/libegl1-mesa-drivers.install.linux.in @@ -0,0 +1,6 @@ +# OS-independent part (from libegl1-mesa-drivers.install.in): +dri/usr/lib/${DEB_HOST_MULTIARCH}/egl/egl_gallium.so usr/lib/${DEB_HOST_MULTIARCH}/egl + +# Wayland support, only on Linux: +dri/usr/lib/${DEB_HOST_MULTIARCH}/libwayland-egl.so.1 usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl +dri/usr/lib/${DEB_HOST_MULTIARCH}/libwayland-egl.so.1.0.0 usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl --- mesa-9.0.3.orig/debian/libegl1-mesa-dev.install.linux.in +++ mesa-9.0.3/debian/libegl1-mesa-dev.install.linux.in @@ -0,0 +1,9 @@ +# OS-independent part (from libegl1-mesa-dev.install.in): +dri/usr/lib/${DEB_HOST_MULTIARCH}/libEGL.so usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl +dri/usr/include/EGL usr/include +dri/usr/include/KHR usr/include +dri/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/egl.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig + +# Wayland support, only on Linux: +dri/usr/lib/${DEB_HOST_MULTIARCH}/libwayland-egl.so usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl +dri/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/wayland-egl.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig --- mesa-9.0.3.orig/debian/libgl1-mesa-dev.install.in +++ mesa-9.0.3/debian/libgl1-mesa-dev.install.in @@ -0,0 +1,2 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libGL.so usr/lib/${DEB_HOST_MULTIARCH}/mesa +dri/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/gl.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/ --- mesa-9.0.3.orig/debian/libgles1-mesa.symbols +++ mesa-9.0.3/debian/libgles1-mesa.symbols @@ -0,0 +1,234 @@ +libGLESv1_CM.so.1 libgles1-mesa #MINVER# | libgles1 + glActiveTexture@Base 7.8.1 + glAlphaFunc@Base 7.8.1 + glAlphaFuncx@Base 7.8.1 + glAlphaFuncxOES@Base 7.8.1 + glBindBuffer@Base 7.8.1 + glBindFramebufferOES@Base 7.8.1 + glBindRenderbufferOES@Base 7.8.1 + glBindTexture@Base 7.8.1 + glBlendEquationOES@Base 7.8.1 + glBlendEquationSeparateOES@Base 7.8.1 + glBlendFunc@Base 7.8.1 + glBlendFuncSeparateOES@Base 7.8.1 + glBufferData@Base 7.8.1 + glBufferSubData@Base 7.8.1 + glCheckFramebufferStatusOES@Base 7.8.1 + glClear@Base 7.8.1 + glClearColor@Base 7.8.1 + glClearColorx@Base 7.8.1 + glClearColorxOES@Base 7.8.1 + glClearDepthf@Base 7.8.1 + glClearDepthfOES@Base 7.8.1 + glClearDepthx@Base 7.8.1 + glClearDepthxOES@Base 7.8.1 + glClearStencil@Base 7.8.1 + glClientActiveTexture@Base 7.8.1 + glClipPlanef@Base 7.8.1 + glClipPlanefOES@Base 7.8.1 + glClipPlanex@Base 7.8.1 + glClipPlanexOES@Base 7.8.1 + glColor4f@Base 7.8.1 + glColor4ub@Base 7.8.1 + glColor4x@Base 7.8.1 + glColor4xOES@Base 7.8.1 + glColorMask@Base 7.8.1 + glColorPointer@Base 7.8.1 + glCompressedTexImage2D@Base 7.8.1 + glCompressedTexSubImage2D@Base 7.8.1 + glCopyTexImage2D@Base 7.8.1 + glCopyTexSubImage2D@Base 7.8.1 + glCullFace@Base 7.8.1 + glDeleteBuffers@Base 7.8.1 + glDeleteFramebuffersOES@Base 7.8.1 + glDeleteRenderbuffersOES@Base 7.8.1 + glDeleteTextures@Base 7.8.1 + glDepthFunc@Base 7.8.1 + glDepthMask@Base 7.8.1 + glDepthRangef@Base 7.8.1 + glDepthRangefOES@Base 7.8.1 + glDepthRangex@Base 7.8.1 + glDepthRangexOES@Base 7.8.1 + glDisable@Base 7.8.1 + glDisableClientState@Base 7.8.1 + glDrawArrays@Base 7.8.1 + glDrawElements@Base 7.8.1 + glDrawTexfOES@Base 7.8.1 + glDrawTexfvOES@Base 7.8.1 + glDrawTexiOES@Base 7.8.1 + glDrawTexivOES@Base 7.8.1 + glDrawTexsOES@Base 7.8.1 + glDrawTexsvOES@Base 7.8.1 + glDrawTexxOES@Base 7.8.1 + glDrawTexxvOES@Base 7.8.1 + glEGLImageTargetRenderbufferStorageOES@Base 7.8.1 + glEGLImageTargetTexture2DOES@Base 7.8.1 + glEnable@Base 7.8.1 + glEnableClientState@Base 7.8.1 + glFinish@Base 7.8.1 + glFlush@Base 7.8.1 + glFogf@Base 7.8.1 + glFogfv@Base 7.8.1 + glFogx@Base 7.8.1 + glFogxOES@Base 7.8.1 + glFogxv@Base 7.8.1 + glFogxvOES@Base 7.8.1 + glFramebufferRenderbufferOES@Base 7.8.1 + glFramebufferTexture2DOES@Base 7.8.1 + glFrontFace@Base 7.8.1 + glFrustumf@Base 7.8.1 + glFrustumfOES@Base 7.8.1 + glFrustumx@Base 7.8.1 + glFrustumxOES@Base 7.8.1 + glGenBuffers@Base 7.8.1 + glGenFramebuffersOES@Base 7.8.1 + glGenRenderbuffersOES@Base 7.8.1 + glGenTextures@Base 7.8.1 + glGenerateMipmapOES@Base 7.8.1 + glGetBooleanv@Base 7.8.1 + glGetBufferParameteriv@Base 7.8.1 + glGetBufferPointervOES@Base 7.8.1 + glGetClipPlanef@Base 7.8.1 + glGetClipPlanefOES@Base 7.8.1 + glGetClipPlanex@Base 7.8.1 + glGetClipPlanexOES@Base 7.8.1 + glGetError@Base 7.8.1 + glGetFixedv@Base 7.8.1 + glGetFixedvOES@Base 7.8.1 + glGetFloatv@Base 7.8.1 + glGetFramebufferAttachmentParameterivOES@Base 7.8.1 + glGetIntegerv@Base 7.8.1 + glGetLightfv@Base 7.8.1 + glGetLightxv@Base 7.8.1 + glGetLightxvOES@Base 7.8.1 + glGetMaterialfv@Base 7.8.1 + glGetMaterialxv@Base 7.8.1 + glGetMaterialxvOES@Base 7.8.1 + glGetPointerv@Base 7.8.1 + glGetRenderbufferParameterivOES@Base 7.8.1 + glGetString@Base 7.8.1 + glGetTexEnvfv@Base 7.8.1 + glGetTexEnviv@Base 7.8.1 + glGetTexEnvxv@Base 7.8.1 + glGetTexEnvxvOES@Base 7.8.1 + glGetTexGenfvOES@Base 7.8.1 + glGetTexGenivOES@Base 7.8.1 + glGetTexGenxvOES@Base 7.8.1 + glGetTexParameterfv@Base 7.8.1 + glGetTexParameteriv@Base 7.8.1 + glGetTexParameterxv@Base 7.8.1 + glGetTexParameterxvOES@Base 7.8.1 + glHint@Base 7.8.1 + glIsBuffer@Base 7.8.1 + glIsEnabled@Base 7.8.1 + glIsFramebufferOES@Base 7.8.1 + glIsRenderbufferOES@Base 7.8.1 + glIsTexture@Base 7.8.1 + glLightModelf@Base 7.8.1 + glLightModelfv@Base 7.8.1 + glLightModelx@Base 7.8.1 + glLightModelxOES@Base 7.8.1 + glLightModelxv@Base 7.8.1 + glLightModelxvOES@Base 7.8.1 + glLightf@Base 7.8.1 + glLightfv@Base 7.8.1 + glLightx@Base 7.8.1 + glLightxOES@Base 7.8.1 + glLightxv@Base 7.8.1 + glLightxvOES@Base 7.8.1 + glLineWidth@Base 7.8.1 + glLineWidthx@Base 7.8.1 + glLineWidthxOES@Base 7.8.1 + glLoadIdentity@Base 7.8.1 + glLoadMatrixf@Base 7.8.1 + glLoadMatrixx@Base 7.8.1 + glLoadMatrixxOES@Base 7.8.1 + glLogicOp@Base 7.8.1 + glMapBufferOES@Base 7.8.1 + glMaterialf@Base 7.8.1 + glMaterialfv@Base 7.8.1 + glMaterialx@Base 7.8.1 + glMaterialxOES@Base 7.8.1 + glMaterialxv@Base 7.8.1 + glMaterialxvOES@Base 7.8.1 + glMatrixMode@Base 7.8.1 + glMultMatrixf@Base 7.8.1 + glMultMatrixx@Base 7.8.1 + glMultMatrixxOES@Base 7.8.1 + glMultiDrawArraysEXT@Base 7.8.1 + glMultiDrawElementsEXT@Base 7.8.1 + glMultiTexCoord4f@Base 7.8.1 + glMultiTexCoord4x@Base 7.8.1 + glMultiTexCoord4xOES@Base 7.8.1 + glNormal3f@Base 7.8.1 + glNormal3x@Base 7.8.1 + glNormal3xOES@Base 7.8.1 + glNormalPointer@Base 7.8.1 + glOrthof@Base 7.8.1 + glOrthofOES@Base 7.8.1 + glOrthox@Base 7.8.1 + glOrthoxOES@Base 7.8.1 + glPixelStorei@Base 7.8.1 + glPointParameterf@Base 7.8.1 + glPointParameterfv@Base 7.8.1 + glPointParameterx@Base 7.8.1 + glPointParameterxOES@Base 7.8.1 + glPointParameterxv@Base 7.8.1 + glPointParameterxvOES@Base 7.8.1 + glPointSize@Base 7.8.1 + glPointSizePointerOES@Base 7.8.1 + glPointSizex@Base 7.8.1 + glPointSizexOES@Base 7.8.1 + glPolygonOffset@Base 7.8.1 + glPolygonOffsetx@Base 7.8.1 + glPolygonOffsetxOES@Base 7.8.1 + glPopMatrix@Base 7.8.1 + glPushMatrix@Base 7.8.1 + glQueryMatrixxOES@Base 7.8.1 + glReadPixels@Base 7.8.1 + glRenderbufferStorageOES@Base 7.8.1 + glRotatef@Base 7.8.1 + glRotatex@Base 7.8.1 + glRotatexOES@Base 7.8.1 + glSampleCoverage@Base 7.8.1 + glSampleCoveragex@Base 7.8.1 + glSampleCoveragexOES@Base 7.8.1 + glScalef@Base 7.8.1 + glScalex@Base 7.8.1 + glScalexOES@Base 7.8.1 + glScissor@Base 7.8.1 + glShadeModel@Base 7.8.1 + glStencilFunc@Base 7.8.1 + glStencilMask@Base 7.8.1 + glStencilOp@Base 7.8.1 + glTexCoordPointer@Base 7.8.1 + glTexEnvf@Base 7.8.1 + glTexEnvfv@Base 7.8.1 + glTexEnvi@Base 7.8.1 + glTexEnviv@Base 7.8.1 + glTexEnvx@Base 7.8.1 + glTexEnvxOES@Base 7.8.1 + glTexEnvxv@Base 7.8.1 + glTexEnvxvOES@Base 7.8.1 + glTexGenfOES@Base 7.8.1 + glTexGenfvOES@Base 7.8.1 + glTexGeniOES@Base 7.8.1 + glTexGenivOES@Base 7.8.1 + glTexGenxOES@Base 7.8.1 + glTexGenxvOES@Base 7.8.1 + glTexImage2D@Base 7.8.1 + glTexParameterf@Base 7.8.1 + glTexParameterfv@Base 7.8.1 + glTexParameteri@Base 7.8.1 + glTexParameteriv@Base 7.8.1 + glTexParameterx@Base 7.8.1 + glTexParameterxOES@Base 7.8.1 + glTexParameterxv@Base 7.8.1 + glTexParameterxvOES@Base 7.8.1 + glTexSubImage2D@Base 7.8.1 + glTranslatef@Base 7.8.1 + glTranslatex@Base 7.8.1 + glTranslatexOES@Base 7.8.1 + glUnmapBufferOES@Base 7.8.1 + glVertexPointer@Base 7.8.1 + glViewport@Base 7.8.1 --- mesa-9.0.3.orig/debian/libgles1-mesa.lintian-overrides +++ mesa-9.0.3/debian/libgles1-mesa.lintian-overrides @@ -0,0 +1 @@ +package-name-doesnt-match-sonames libGLESv1-CM1 --- mesa-9.0.3.orig/debian/mesa-common-dev.docs +++ mesa-9.0.3/debian/mesa-common-dev.docs @@ -0,0 +1,8 @@ +docs/bugs.html +docs/debugging.html +docs/envvars.html +docs/faq.html +docs/osmesa.html +docs/RELNOTES-* +docs/relnotes* +docs/*.spec --- mesa-9.0.3.orig/debian/libopenvg1-mesa.symbols +++ mesa-9.0.3/debian/libopenvg1-mesa.symbols @@ -0,0 +1,94 @@ +libOpenVG.so.1 libopenvg1-mesa #MINVER# | libopenvg1 + mapi_get_proc_address@Base 7.9~ + mapi_init@Base 7.9~ + mapi_table_create@Base 7.9~ + mapi_table_destroy@Base 7.9~ + mapi_table_fill@Base 7.9~ + mapi_table_make_current@Base 7.9~ + vgAppendPath@Base 7.8.1 + vgAppendPathData@Base 7.8.1 + vgChildImage@Base 7.8.1 + vgClear@Base 7.8.1 + vgClearGlyph@Base 7.10 + vgClearImage@Base 7.8.1 + vgClearPath@Base 7.8.1 + vgColorMatrix@Base 7.8.1 + vgConvolve@Base 7.8.1 + vgCopyImage@Base 7.8.1 + vgCopyMask@Base 7.10 + vgCopyPixels@Base 7.8.1 + vgCreateFont@Base 7.10 + vgCreateImage@Base 7.8.1 + vgCreateMaskLayer@Base 7.10 + vgCreatePaint@Base 7.8.1 + vgCreatePath@Base 7.8.1 + vgDestroyFont@Base 7.10 + vgDestroyImage@Base 7.8.1 + vgDestroyMaskLayer@Base 7.10 + vgDestroyPaint@Base 7.8.1 + vgDestroyPath@Base 7.8.1 + vgDrawGlyph@Base 7.10 + vgDrawGlyphs@Base 7.10 + vgDrawImage@Base 7.8.1 + vgDrawPath@Base 7.8.1 + vgFillMaskLayer@Base 7.10 + vgFinish@Base 7.8.1 + vgFlush@Base 7.8.1 + vgGaussianBlur@Base 7.8.1 + vgGetColor@Base 7.8.1 + vgGetError@Base 7.8.1 + vgGetImageSubData@Base 7.8.1 + vgGetMatrix@Base 7.8.1 + vgGetPaint@Base 7.8.1 + vgGetParameterVectorSize@Base 7.8.1 + vgGetParameterf@Base 7.8.1 + vgGetParameterfv@Base 7.8.1 + vgGetParameteri@Base 7.8.1 + vgGetParameteriv@Base 7.8.1 + vgGetParent@Base 7.8.1 + vgGetPathCapabilities@Base 7.8.1 + vgGetPixels@Base 7.8.1 + vgGetString@Base 7.8.1 + vgGetVectorSize@Base 7.8.1 + vgGetf@Base 7.8.1 + vgGetfv@Base 7.8.1 + vgGeti@Base 7.8.1 + vgGetiv@Base 7.8.1 + vgHardwareQuery@Base 7.8.1 + vgImageSubData@Base 7.8.1 + vgInterpolatePath@Base 7.8.1 + vgLoadIdentity@Base 7.8.1 + vgLoadMatrix@Base 7.8.1 + vgLookup@Base 7.8.1 + vgLookupSingle@Base 7.8.1 + vgMask@Base 7.8.1 + vgModifyPathCoords@Base 7.8.1 + vgMultMatrix@Base 7.8.1 + vgPaintPattern@Base 7.8.1 + vgPathBounds@Base 7.8.1 + vgPathLength@Base 7.8.1 + vgPathTransformedBounds@Base 7.8.1 + vgPointAlongPath@Base 7.8.1 + vgReadPixels@Base 7.8.1 + vgRemovePathCapabilities@Base 7.8.1 + vgRenderToMask@Base 7.10 + vgRotate@Base 7.8.1 + vgScale@Base 7.8.1 + vgSeparableConvolve@Base 7.8.1 + vgSetColor@Base 7.8.1 + vgSetGlyphToImage@Base 7.10 + vgSetGlyphToPath@Base 7.10 + vgSetPaint@Base 7.8.1 + vgSetParameterf@Base 7.8.1 + vgSetParameterfv@Base 7.8.1 + vgSetParameteri@Base 7.8.1 + vgSetParameteriv@Base 7.8.1 + vgSetPixels@Base 7.8.1 + vgSetf@Base 7.8.1 + vgSetfv@Base 7.8.1 + vgSeti@Base 7.8.1 + vgSetiv@Base 7.8.1 + vgShear@Base 7.8.1 + vgTransformPath@Base 7.8.1 + vgTranslate@Base 7.8.1 + vgWritePixels@Base 7.8.1 --- mesa-9.0.3.orig/debian/libgles2-mesa.lintian-overrides +++ mesa-9.0.3/debian/libgles2-mesa.lintian-overrides @@ -0,0 +1 @@ +package-name-doesnt-match-sonames libGLESv2-2 --- mesa-9.0.3.orig/debian/libgles1-mesa.install.in +++ mesa-9.0.3/debian/libgles1-mesa.install.in @@ -0,0 +1 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libGLESv1_CM.so.1* usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl --- mesa-9.0.3.orig/debian/mesa-common-dev.install.in +++ mesa-9.0.3/debian/mesa-common-dev.install.in @@ -0,0 +1,8 @@ +dri/usr/include/GL/gl.h usr/include/GL +dri/usr/include/GL/glext.h usr/include/GL +dri/usr/include/GL/gl_mangle.h usr/include/GL +dri/usr/include/GL/glx.h usr/include/GL +dri/usr/include/GL/glxext.h usr/include/GL +dri/usr/include/GL/glx_mangle.h usr/include/GL +dri/usr/include/GL/internal/dri_interface.h usr/include/GL/internal +dri/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/dri.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/ --- mesa-9.0.3.orig/debian/libgbm1.install.in +++ mesa-9.0.3/debian/libgbm1.install.in @@ -0,0 +1,2 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/libgbm.so.1* usr/lib/${DEB_HOST_MULTIARCH} +dri/usr/lib/${DEB_HOST_MULTIARCH}/gbm usr/lib/${DEB_HOST_MULTIARCH} --- mesa-9.0.3.orig/debian/libgl1-mesa-glx-i686.install.in +++ mesa-9.0.3/debian/libgl1-mesa-glx-i686.install.in @@ -0,0 +1 @@ +dri/usr/lib/${DEB_HOST_MULTIARCH}/i686/cmov/libGL.so.* usr/lib/${DEB_HOST_MULTIARCH}/i686/cmov --- mesa-9.0.3.orig/debian/libegl1-mesa-dev.links.in +++ mesa-9.0.3/debian/libegl1-mesa-dev.links.in @@ -0,0 +1,2 @@ +/usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl/libEGL.so /usr/lib/${DEB_HOST_MULTIARCH}/libEGL.so +/usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl/libwayland-egl.so /usr/lib/${DEB_HOST_MULTIARCH}/libwayland-egl.so --- mesa-9.0.3.orig/debian/libgbm1.symbols +++ mesa-9.0.3/debian/libgbm1.symbols @@ -0,0 +1,34 @@ +libgbm.so.1 libgbm1 #MINVER# + _gbm_create_device@Base 8.1~0 + _gbm_fd_get_device_name@Base 7.11~1 + _gbm_log@Base 7.11~1 + _gbm_mesa_get_device@Base 7.11~1 + _gbm_udev_device_new_from_fd@Base 7.11~1 + devices@Base 8.1~0 + dri2_loader_extension@Base 8.1~0 + dri_fd_get_driver_name@Base 8.1~0 + gbm_bo_create@Base 7.11~1 +#MISSING: 8.1~0 gbm_bo_create_from_egl_image@Base 7.11~1 + gbm_bo_destroy@Base 7.11~1 + gbm_bo_get_device@Base 8.1~0 + gbm_bo_get_format@Base 8.1~0 + gbm_bo_get_handle@Base 7.11~1 + gbm_bo_get_height@Base 7.11~1 +#MISSING: 8.1~0 gbm_bo_get_pitch@Base 7.11~1 + gbm_bo_get_stride@Base 8.1~0 + gbm_bo_get_user_data@Base 8.1~0 + gbm_bo_get_width@Base 7.11~1 + gbm_bo_import@Base 8.1~0 + gbm_bo_set_user_data@Base 8.1~0 + gbm_bo_write@Base 8.1~0 + gbm_create_device@Base 7.11~1 + gbm_device_destroy@Base 7.11~1 + gbm_device_get_backend_name@Base 7.11~1 + gbm_device_get_fd@Base 7.11~1 + gbm_device_is_format_supported@Base 8.1~0 + gbm_dri_backend@Base 8.1~0 + gbm_surface_create@Base 8.1~0 + gbm_surface_destroy@Base 8.1~0 + gbm_surface_has_free_buffers@Base 8.1~0 + gbm_surface_lock_front_buffer@Base 8.1~0 + gbm_surface_release_buffer@Base 8.1~0 --- mesa-9.0.3.orig/debian/local/control +++ mesa-9.0.3/debian/local/control @@ -0,0 +1 @@ +report-with: xserver-xorg xserver-xorg-core --- mesa-9.0.3.orig/debian/local/script +++ mesa-9.0.3/debian/local/script @@ -0,0 +1,26 @@ +#!/bin/sh + +SERVER_BUG_SCRIPT=/usr/share/bug/xserver-xorg-core/script + +exec >&3 + +echo "glxinfo:" +echo "--------" + +if [ -z "$DISPLAY" ]; then + echo "DISPLAY is not set." +else + if which glxinfo >/dev/null 2>&1; then + glxinfo + else + echo "glxinfo is not available (missing mesa-utils package)." + fi +fi + +echo + +if [ -x "$SERVER_BUG_SCRIPT" ]; then + $SERVER_BUG_SCRIPT 3>&1 +else + echo "$SERVER_BUG_SCRIPT not available" +fi --- mesa-9.0.3.orig/debian/patches/117-static-gallium.patch +++ mesa-9.0.3/debian/patches/117-static-gallium.patch @@ -0,0 +1,407 @@ +diff --git a/configs/current.in b/configs/current.in +index c490842..73d08be 100644 +--- a/configs/current.in ++++ b/configs/current.in +@@ -13,6 +13,7 @@ PIC_FLAGS = @PIC_FLAGS@ + DEFINES = @DEFINES@ + API_DEFINES = @API_DEFINES@ + SHARED_GLAPI = @SHARED_GLAPI@ ++SHARED_GALLIUM = @SHARED_GALLIUM@ + CFLAGS_NOVISIBILITY = @CPPFLAGS@ @CFLAGS@ \ + $(PIC_FLAGS) $(DEFINES) + CXXFLAGS_NOVISIBILITY = @CPPFLAGS@ @CXXFLAGS@ \ +@@ -112,7 +113,11 @@ GALLIUM_DRIVERS_DIRS = @GALLIUM_DRIVERS_DIRS@ + GALLIUM_WINSYS_DIRS = @GALLIUM_WINSYS_DIRS@ + GALLIUM_TARGET_DIRS = @GALLIUM_TARGET_DIRS@ + GALLIUM_STATE_TRACKERS_DIRS = @GALLIUM_STATE_TRACKERS_DIRS@ +-GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a ++ifeq (@SHARED_GALLIUM@,1) ++GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/.libs/libgallium.so ++else ++GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/.libs/libgallium.a ++endif + GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a) + + # Driver specific build vars +diff --git a/configure.ac b/configure.ac +index ee19d0a..d5fbbc2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -698,6 +698,19 @@ fi + AC_SUBST([SHARED_GLAPI]) + AM_CONDITIONAL(HAVE_SHARED_GLAPI, test $SHARED_GLAPI = 1) + ++AC_ARG_ENABLE([shared-gallium], ++ [AS_HELP_STRING([--enable-shared-gallium], ++ [Enable shared gallium core @<:@default=yes@:>@])], ++ [enable_shared_gallium="$enableval"], ++ [enable_shared_gallium=yes]) ++ ++SHARED_GALLIUM="0" ++if test "x$enable_shared_gallium" = xyes; then ++ SHARED_GALLIUM="1" ++fi ++AC_SUBST([SHARED_GALLIUM]) ++AM_CONDITIONAL(HAVE_SHARED_GALLIUM, test $SHARED_GALLIUM = 1) ++ + dnl + dnl Driver configuration. Options are xlib, dri and osmesa right now. + dnl More later: fbdev, ... +@@ -1810,6 +1823,7 @@ if test "x$enable_gallium_llvm" = xyes; then + else + MESA_LLVM=0 + fi ++AM_CONDITIONAL(HAVE_MESA_LLVM, test "x$MESA_LLVM" = x1) + + dnl Directory for XVMC libs + AC_ARG_WITH([xvmc-libdir], +@@ -2070,6 +2084,7 @@ AC_CONFIG_FILES([configs/current + Makefile + src/Makefile + src/gallium/Makefile ++ src/gallium/auxiliary/Makefile + src/gallium/auxiliary/pipe-loader/Makefile + src/gallium/state_trackers/clover/Makefile + src/gallium/drivers/Makefile +diff --git a/src/gallium/auxiliary/Makefile b/src/gallium/auxiliary/Makefile +deleted file mode 100644 +index 3ba3f9c..0000000 +--- a/src/gallium/auxiliary/Makefile ++++ /dev/null +@@ -1,47 +0,0 @@ +-TOP = ../../.. +-include $(TOP)/configs/current +- +-LIBNAME = gallium +- +-# get source lists +-include Makefile.sources +- +-C_SOURCES += $(GENERATED_SOURCES) +- +-ifeq ($(MESA_LLVM),1) +-C_SOURCES += \ +- $(GALLIVM_SOURCES) +-CPP_SOURCES += \ +- $(GALLIVM_CPP_SOURCES) +- +-# LLVM >= 3.2 requires -fno-rtti +-ifeq ($(shell expr `echo $(LLVM_VERSION) | sed -e 's/\([0-9]\)\.\([0-9]\)/\10\2/g'` \>= 302),1) +-CXXFLAGS += -fno-rtti +-endif +-endif +- +- +-include ../Makefile.template +- +-default install clean: %: subdirs-% +- +-subdirs-%: +- @for dir in $(SUBDIRS) ; do \ +- if [ -d $$dir ] ; then \ +- (cd $$dir && $(MAKE) $*) || exit 1; \ +- fi \ +- done +- +-indices/u_indices_gen.c: indices/u_indices_gen.py +- $(PYTHON2) $< > $@ +- +-indices/u_unfilled_gen.c: indices/u_unfilled_gen.py +- $(PYTHON2) $< > $@ +- +-util/u_format_srgb.c: util/u_format_srgb.py +- $(PYTHON2) $< > $@ +- +-util/u_format_table.c: util/u_format_table.py util/u_format_pack.py util/u_format_parse.py util/u_format.csv +- $(PYTHON2) util/u_format_table.py util/u_format.csv > $@ +- +-# DO NOT DELETE +diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am +new file mode 100644 +index 0000000..2c6bde1 +--- /dev/null ++++ b/src/gallium/auxiliary/Makefile.am +@@ -0,0 +1,48 @@ ++TOP = $(top_srcdir) ++ ++include $(srcdir)/Makefile.sources ++ ++AM_CFLAGS = \ ++ -I$(top_srcdir)/src/gallium/include \ ++ @CPPFLAGS@ @CFLAGS@ @DEFINES@ ++ ++AM_CXXFLAGS = \ ++ -I$(top_srcdir)/src/gallium/include \ ++ @CPPFLAGS@ @CXXFLAGS@ @DEFINES@ ++ ++C_SOURCES += $(GENERATED_SOURCES) ++ ++if HAVE_MESA_LLVM ++C_SOURCES += \ ++ $(GALLIVM_SOURCES) ++CPP_SOURCES = \ ++ $(GALLIVM_CPP_SOURCES) ++ ++AM_CFLAGS += @LLVM_CPPFLAGS@ @LLVM_CFLAGS@ ++AM_CXXFLAGS += @LLVM_CPPFLAGS@ @LLVM_CXXFLAGS@ ++endif ++ ++lib_LTLIBRARIES = libgallium.la ++libgallium_la_SOURCES = $(C_SOURCES) $(CPP_SOURCES) ++libgallium_la_LDFLAGS = -no-undefined @LLVM_LDFLAGS@ @LLVM_LIBS@ ++if HAVE_SHARED_GALLIUM ++AM_CFLAGS += -shared ++AM_CXXFLAGS += -shared ++else ++AM_CFLAGS += -static @VISIBILITY_CFLAGS@ ++AM_CXXFLAGS += -static @VISIBILITY_CXXFLAGS@ ++endif ++ ++indices/u_indices_gen.c: indices/u_indices_gen.py ++ $(PYTHON2) $< > $@ ++ ++indices/u_unfilled_gen.c: indices/u_unfilled_gen.py ++ $(PYTHON2) $< > $@ ++ ++util/u_format_srgb.c: util/u_format_srgb.py ++ $(PYTHON2) $< > $@ ++ ++util/u_format_table.c: util/u_format_table.py util/u_format_pack.py util/u_format_parse.py util/u_format.csv ++ $(PYTHON2) util/u_format_table.py util/u_format.csv > $@ ++ ++# DO NOT DELETE +diff --git a/src/gallium/drivers/llvmpipe/Makefile b/src/gallium/drivers/llvmpipe/Makefile +index 35f8fe8..952fc94 100644 +--- a/src/gallium/drivers/llvmpipe/Makefile ++++ b/src/gallium/drivers/llvmpipe/Makefile +@@ -68,8 +68,13 @@ lp_tile_soa.c: lp_tile_soa.py ../../auxiliary/util/u_format_parse.py ../../auxil + $(PYTHON2) $(PYTHON_FLAGS) lp_tile_soa.py ../../auxiliary/util/u_format.csv > $@ + + LDFLAGS += $(LLVM_LDFLAGS) +-LIBS += -L../../auxiliary/ -lgallium libllvmpipe.a ++ifeq ($(SHARED_GALLIUM),1) ++LIBS = libllvmpipe.a ++LDADD = $(GALLIUM_AUXILIARIES) $(LLVM_LIBS) $(GL_LIB_DEPS) ++else ++LIBS += $(GALLIUM_AUXILIARIES) libllvmpipe.a + LDADD += $(LLVM_LIBS) $(GL_LIB_DEPS) ++endif + LD=$(CXX) + + $(PROGS): lp_test_main.o libllvmpipe.a +diff --git a/src/gallium/targets/Makefile.dri b/src/gallium/targets/Makefile.dri +index 5b6676d..d04be29 100644 +--- a/src/gallium/targets/Makefile.dri ++++ b/src/gallium/targets/Makefile.dri +@@ -6,6 +6,10 @@ LDFLAGS += $(LLVM_LDFLAGS) + DRIVER_EXTRAS = $(LLVM_LIBS) + endif + ++ifeq ($(SHARED_GALLIUM),1) ++LDFLAGS += -L$(TOP)/src/gallium/auxiliary/.libs -Wl,--as-needed -lgallium -Wl,--no-as-needed ++endif ++ + MESA_MODULES = \ + $(TOP)/src/mesa/libmesagallium.a \ + $(GALLIUM_AUXILIARIES) +diff --git a/src/gallium/targets/opencl/Makefile.am b/src/gallium/targets/opencl/Makefile.am +index 4c89e36..ec1fe7f 100644 +--- a/src/gallium/targets/opencl/Makefile.am ++++ b/src/gallium/targets/opencl/Makefile.am +@@ -8,7 +8,7 @@ libOpenCL_la_LDFLAGS = \ + + libOpenCL_la_LIBADD = \ + $(top_builddir)/src/gallium/state_trackers/clover/libclover.la \ +- $(top_builddir)/src/gallium/auxiliary/libgallium.a \ ++ $(GALLIUM_AUXILIARIES) \ + $(GALLIUM_PIPE_LOADER_LIBS) $(LIBUDEV_LIBS) \ + -ldl \ + -lclangCodeGen \ +diff --git a/src/gallium/targets/pipe-loader/Makefile b/src/gallium/targets/pipe-loader/Makefile +index 596539c..f17a69b 100644 +--- a/src/gallium/targets/pipe-loader/Makefile ++++ b/src/gallium/targets/pipe-loader/Makefile +@@ -21,8 +21,7 @@ PIPE_LIBS = \ + $(TOP)/src/gallium/drivers/identity/libidentity.a \ + $(TOP)/src/gallium/drivers/galahad/libgalahad.a \ + $(TOP)/src/gallium/drivers/trace/libtrace.a \ +- $(TOP)/src/gallium/drivers/rbug/librbug.a \ +- $(GALLIUM_AUXILIARIES) ++ $(TOP)/src/gallium/drivers/rbug/librbug.a + + PIPE_SYS = $(LIBDRM_LIB) -lm -lpthread $(DLOPEN_LIBS) + +@@ -78,10 +77,16 @@ endif + + # LLVM + ifeq ($(MESA_LLVM),1) +- PIPE_SYS += $(LLVM_LIBS) ++ PIPE_SYS += $(LLVM_LIBS) $(GALLIUM_AUXILIARIES) + PIPE_LDFLAGS += $(LLVM_LDFLAGS) + endif + ++ifeq ($(SHARED_GALLIUM),1) ++ PIPE_SYS += $(GALLIUM_AUXILIARIES) ++else ++ PIPE_LIBS += $(GALLIUM_AUXILIARIES) ++endif ++ + # determine the targets/sources + _PIPE_TARGETS_CC = + _PIPE_TARGETS_CXX = +diff --git a/src/gallium/targets/va-r300/Makefile b/src/gallium/targets/va-r300/Makefile +index 7c89c79..a618698 100644 +--- a/src/gallium/targets/va-r300/Makefile ++++ b/src/gallium/targets/va-r300/Makefile +@@ -11,7 +11,7 @@ PIPE_DRIVERS = \ + $(TOP)/src/gallium/winsys/radeon/drm/libradeonwinsys.a \ + $(TOP)/src/gallium/drivers/softpipe/libsoftpipe.a \ + $(TOP)/src/gallium/drivers/trace/libtrace.a \ +- $(TOP)/src/gallium/auxiliary/libgallium.a ++ $(GALLIUM_AUXILIARIES) + + C_SOURCES = \ + target.c \ +diff --git a/src/gallium/targets/va-r600/Makefile b/src/gallium/targets/va-r600/Makefile +index 50e7fa5..5e94191 100644 +--- a/src/gallium/targets/va-r600/Makefile ++++ b/src/gallium/targets/va-r600/Makefile +@@ -11,7 +11,7 @@ PIPE_DRIVERS = \ + $(TOP)/src/gallium/winsys/radeon/drm/libradeonwinsys.a \ + $(TOP)/src/gallium/drivers/softpipe/libsoftpipe.a \ + $(TOP)/src/gallium/drivers/trace/libtrace.a \ +- $(TOP)/src/gallium/auxiliary/libgallium.a ++ $(GALLIUM_AUXILIARIES) + + C_SOURCES = \ + target.c \ +diff --git a/src/gallium/targets/va-softpipe/Makefile b/src/gallium/targets/va-softpipe/Makefile +index 536cb7b..2fd74c7 100644 +--- a/src/gallium/targets/va-softpipe/Makefile ++++ b/src/gallium/targets/va-softpipe/Makefile +@@ -9,7 +9,7 @@ DRIVER_INCLUDES = + PIPE_DRIVERS = \ + $(TOP)/src/gallium/winsys/sw/xlib/libws_xlib.a \ + $(TOP)/src/gallium/drivers/softpipe/libsoftpipe.a \ +- $(TOP)/src/gallium/auxiliary/libgallium.a ++ $(GALLIUM_AUXILIARIES) + + C_SOURCES = \ + $(TOP)/src/gallium/auxiliary/vl/vl_winsys_xsp.c +diff --git a/src/gallium/targets/vdpau-nouveau/Makefile b/src/gallium/targets/vdpau-nouveau/Makefile +index bb971c6..2f2b7ff 100644 +--- a/src/gallium/targets/vdpau-nouveau/Makefile ++++ b/src/gallium/targets/vdpau-nouveau/Makefile +@@ -12,7 +12,7 @@ PIPE_DRIVERS = \ + $(TOP)/src/gallium/drivers/nvc0/libnvc0.a \ + $(TOP)/src/gallium/drivers/nouveau/libnouveau.a \ + $(TOP)/src/gallium/drivers/trace/libtrace.a \ +- $(TOP)/src/gallium/auxiliary/libgallium.a ++ $(GALLIUM_AUXILIARIES) + + + C_SOURCES = \ +diff --git a/src/gallium/targets/vdpau-r300/Makefile b/src/gallium/targets/vdpau-r300/Makefile +index 1ada550..7cf3345 100644 +--- a/src/gallium/targets/vdpau-r300/Makefile ++++ b/src/gallium/targets/vdpau-r300/Makefile +@@ -12,7 +12,7 @@ PIPE_DRIVERS = \ + $(TOP)/src/gallium/drivers/rbug/librbug.a \ + $(TOP)/src/gallium/drivers/trace/libtrace.a \ + $(TOP)/src/gallium/drivers/galahad/libgalahad.a \ +- $(TOP)/src/gallium/auxiliary/libgallium.a \ ++ $(GALLIUM_AUXILIARIES) \ + $(TOP)/src/mesa/libmesagallium.a + + C_SOURCES = \ +diff --git a/src/gallium/targets/vdpau-r600/Makefile b/src/gallium/targets/vdpau-r600/Makefile +index 05e0b4f..04b1529 100644 +--- a/src/gallium/targets/vdpau-r600/Makefile ++++ b/src/gallium/targets/vdpau-r600/Makefile +@@ -9,7 +9,7 @@ PIPE_DRIVERS = \ + $(TOP)/src/gallium/drivers/r600/libr600.a \ + $(TOP)/src/gallium/winsys/radeon/drm/libradeonwinsys.a \ + $(TOP)/src/gallium/drivers/trace/libtrace.a \ +- $(TOP)/src/gallium/auxiliary/libgallium.a ++ $(GALLIUM_AUXILIARIES) + + C_SOURCES = \ + target.c \ +diff --git a/src/gallium/targets/vdpau-radeonsi/Makefile b/src/gallium/targets/vdpau-radeonsi/Makefile +index 6dd2be9..3446f56 100644 +--- a/src/gallium/targets/vdpau-radeonsi/Makefile ++++ b/src/gallium/targets/vdpau-radeonsi/Makefile +@@ -12,7 +12,7 @@ PIPE_DRIVERS = \ + $(TOP)/src/gallium/drivers/trace/libtrace.a \ + $(TOP)/src/gallium/drivers/rbug/librbug.a \ + $(TOP)/src/gallium/drivers/noop/libnoop.a \ +- $(TOP)/src/gallium/auxiliary/libgallium.a ++ $(GALLIUM_AUXILIARIES) + + C_SOURCES = \ + target.c \ +diff --git a/src/gallium/targets/vdpau-softpipe/Makefile b/src/gallium/targets/vdpau-softpipe/Makefile +index 41cc514..a894540 100644 +--- a/src/gallium/targets/vdpau-softpipe/Makefile ++++ b/src/gallium/targets/vdpau-softpipe/Makefile +@@ -9,7 +9,7 @@ DRIVER_INCLUDES = + PIPE_DRIVERS = \ + $(TOP)/src/gallium/winsys/sw/xlib/libws_xlib.a \ + $(TOP)/src/gallium/drivers/softpipe/libsoftpipe.a \ +- $(TOP)/src/gallium/auxiliary/libgallium.a ++ $(GALLIUM_AUXILIARIES) + + C_SOURCES = \ + $(TOP)/src/gallium/auxiliary/vl/vl_winsys_xsp.c +diff --git a/src/gallium/targets/xvmc-nouveau/Makefile b/src/gallium/targets/xvmc-nouveau/Makefile +index f81f409..1665ca0 100644 +--- a/src/gallium/targets/xvmc-nouveau/Makefile ++++ b/src/gallium/targets/xvmc-nouveau/Makefile +@@ -9,7 +9,7 @@ PIPE_DRIVERS = \ + $(TOP)/src/gallium/drivers/nvc0/libnvc0.a \ + $(TOP)/src/gallium/drivers/nouveau/libnouveau.a \ + $(TOP)/src/gallium/drivers/trace/libtrace.a \ +- $(TOP)/src/gallium/auxiliary/libgallium.a ++ $(GALLIUM_AUXILIARIES) + + + C_SOURCES = \ +diff --git a/src/gallium/targets/xvmc-r300/Makefile b/src/gallium/targets/xvmc-r300/Makefile +index 800f8d5..aed613e 100644 +--- a/src/gallium/targets/xvmc-r300/Makefile ++++ b/src/gallium/targets/xvmc-r300/Makefile +@@ -9,7 +9,7 @@ PIPE_DRIVERS = \ + $(TOP)/src/gallium/drivers/r300/libr300.a \ + $(TOP)/src/gallium/winsys/radeon/drm/libradeonwinsys.a \ + $(TOP)/src/gallium/drivers/trace/libtrace.a \ +- $(TOP)/src/gallium/auxiliary/libgallium.a ++ $(GALLIUM_AUXILIARIES) + + C_SOURCES = \ + target.c \ +diff --git a/src/gallium/targets/xvmc-r600/Makefile b/src/gallium/targets/xvmc-r600/Makefile +index d9ce72f..92a0991 100644 +--- a/src/gallium/targets/xvmc-r600/Makefile ++++ b/src/gallium/targets/xvmc-r600/Makefile +@@ -9,7 +9,7 @@ PIPE_DRIVERS = \ + $(TOP)/src/gallium/drivers/r600/libr600.a \ + $(TOP)/src/gallium/winsys/radeon/drm/libradeonwinsys.a \ + $(TOP)/src/gallium/drivers/trace/libtrace.a \ +- $(TOP)/src/gallium/auxiliary/libgallium.a ++ $(GALLIUM_AUXILIARIES) + + C_SOURCES = \ + target.c \ +diff --git a/src/gallium/targets/xvmc-softpipe/Makefile b/src/gallium/targets/xvmc-softpipe/Makefile +index 35db16f..151567b 100644 +--- a/src/gallium/targets/xvmc-softpipe/Makefile ++++ b/src/gallium/targets/xvmc-softpipe/Makefile +@@ -9,7 +9,7 @@ DRIVER_INCLUDES = + PIPE_DRIVERS = \ + $(TOP)/src/gallium/winsys/sw/xlib/libws_xlib.a \ + $(TOP)/src/gallium/drivers/softpipe/libsoftpipe.a \ +- $(TOP)/src/gallium/auxiliary/libgallium.a ++ $(GALLIUM_AUXILIARIES) + + C_SOURCES = \ + $(TOP)/src/gallium/auxiliary/vl/vl_winsys_xsp.c --- mesa-9.0.3.orig/debian/patches/02_use-ieee-fp-on-s390-and-m68k.patch +++ mesa-9.0.3/debian/patches/02_use-ieee-fp-on-s390-and-m68k.patch @@ -0,0 +1,21 @@ +Patch that fixes Debian bug #349437. + +This patch by David Nusinow. + +--- + src/mesa/main/compiler.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/src/mesa/main/compiler.h ++++ b/src/mesa/main/compiler.h +@@ -366,8 +366,9 @@ + * USE_IEEE: Determine if we're using IEEE floating point + */ + #if defined(__i386__) || defined(__386__) || defined(__sparc__) || \ +- defined(__s390x__) || defined(__powerpc__) || \ ++ defined(__s390__) || defined(__s390x__) || defined(__powerpc__) || \ + defined(__x86_64__) || \ ++ defined(__m68k__) || \ + defined(ia64) || defined(__ia64__) || \ + defined(__hppa__) || defined(hpux) || \ + defined(__mips) || defined(_MIPS_ARCH) || \ --- mesa-9.0.3.orig/debian/patches/118-dricore-gallium.patch +++ mesa-9.0.3/debian/patches/118-dricore-gallium.patch @@ -0,0 +1,123 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -929,6 +929,7 @@ + AC_SUBST([GLESv2_PC_LIB_PRIV]) + + DRI_LIB_DEPS="\$(top_builddir)/src/mesa/libdricore/libdricore${VERSION}.la" ++GALLIUM_DRI_LIB_DEPS="\$(TOP)/\$(LIB_DIR)/libdricore${VERSION}.so" + + AC_SUBST([HAVE_XF86VIDMODE]) + +--- a/src/gallium/targets/egl-static/Makefile ++++ b/src/gallium/targets/egl-static/Makefile +@@ -72,7 +72,7 @@ + egl_CPPFLAGS += -I$(TOP)/src/mesa $(API_DEFINES) + # make st/mesa built-in when there is a single glapi provider + ifeq ($(SHARED_GLAPI),1) +-egl_LIBS += $(TOP)/src/mesa/libmesagallium.a ++egl_LIBS += $(GALLIUM_DRI_LIB_DEPS) $(GALLIUM_AUXILIARIES) + egl_SYS += -lm -lpthread $(DLOPEN_LIBS) -l$(GLAPI_LIB) + else + egl_CPPFLAGS += -D_EGL_EXTERNAL_GL=1 +@@ -169,7 +169,7 @@ + + # st_GL, built only when shared glapi is not enabled + st_GL_CPPFLAGS := -I $(TOP)/src/mesa -I$(TOP)/src/gallium/include +-st_GL_LIBS := $(TOP)/src/mesa/libmesagallium.a $(GALLIUM_AUXILIARIES) ++st_GL_LIBS := $(GALLIUM_DRI_LIB_DEPS) $(GALLIUM_AUXILIARIES) + st_GL_SYS := -lm -lpthread $(DLOPEN_LIBS) + + # LLVM +--- a/src/gallium/targets/libgl-xlib/Makefile ++++ b/src/gallium/targets/libgl-xlib/Makefile +@@ -46,7 +46,6 @@ + $(TOP)/src/gallium/drivers/rbug/librbug.a \ + $(TOP)/src/gallium/drivers/galahad/libgalahad.a \ + $(TOP)/src/mapi/glapi/libglapi.a \ +- $(TOP)/src/mesa/libmesagallium.a \ + $(GALLIUM_AUXILIARIES) \ + + +--- a/src/gallium/targets/Makefile.dri ++++ b/src/gallium/targets/Makefile.dri +@@ -11,7 +11,6 @@ + endif + + MESA_MODULES = \ +- $(TOP)/src/mesa/libmesagallium.a \ + $(GALLIUM_AUXILIARIES) + + COMMON_GALLIUM_SOURCES = \ +--- a/src/mesa/libdricore/Makefile.am ++++ b/src/mesa/libdricore/Makefile.am +@@ -46,7 +46,7 @@ + $(BUILTIN_COMPILER_GENERATED_CXX_FILES) \ + $(top_builddir)/src/glsl/builtin_function.cpp + libdricore@VERSION@_la_LDFLAGS = -version-number 1:0 +-libdricore@VERSION@_la_LIBADD = libdricore-asm.la ++libdricore@VERSION@_la_LIBADD = libdricore-asm.la $(top_builddir)/src/mapi/shared-glapi/libglapi.la + + # This is separated from libdricore to avoid conflics in object + # outputs between main/clip.c and sparc/clip.c. The documented way to +@@ -81,6 +81,17 @@ + noinst_LTLIBRARIES = libdricore-asm.la + lib_LTLIBRARIES = libdricore@VERSION@.la + ++libmesagallium@VERSION@_la_SOURCES = \ ++ $(STATETRACKER_FILES) $(SRCDIR)state_tracker/st_glsl_to_tgsi.cpp ++libmesagallium@VERSION@_la_CFLAGS = $(LLVM_CFLAGS) $(CFLAGS_NOVISIBILITY) ++libmesagallium@VERSION@_la_CXXFLAGS = $(LLVM_CXXFLAGS) $(CXXFLAGS_NOVISIBILITY) ++libmesagallium@VERSION@_la_LIBADD = libdricore@VERSION@.la ++libmesagallium@VERSION@_la_LDFLAGS = ++ ++if HAVE_GALLIUM ++noinst_LTLIBRARIES += libmesagallium@VERSION@.la ++endif ++ + # Provide compatibility with scripts for the old Mesa build system for + # a while by putting a link to the driver into /lib of the build tree. + all-local: libdricore@VERSION@.la +--- a/src/mesa/Makefile.am ++++ b/src/mesa/Makefile.am +@@ -89,9 +89,6 @@ + else + check_LTLIBRARIES = libmesa.la + endif +-if HAVE_GALLIUM +-noinst_LTLIBRARIES += libmesagallium.la +-endif + + SRCDIR = $(top_srcdir)/src/mesa/ + BUILDDIR = $(top_builddir)/src/mesa/ +@@ -131,21 +128,6 @@ + libmesa_la_LIBADD = $(top_builddir)/src/glsl/libglsl.la + libmesa_la_LDFLAGS = + +-libmesagallium_la_SOURCES = \ +- $(MESA_GALLIUM_FILES) \ +- $(MESA_GALLIUM_CXX_FILES) \ +- $(MESA_ASM_FILES_FOR_ARCH) +- +-libmesagallium_la_LIBADD = $(top_builddir)/src/glsl/libglsl.la +-libmesagallium_la_LDFLAGS = +- +-if HAVE_GALLIUM +-# Provide compatibility with scripts for the old Mesa build system for +-# a while by putting a link to the library in the current directory. +-all-local: $(noinst_LTLIBRARIES) +- ln -f .libs/libmesagallium.a . +-endif +- + CLEANFILES += libmesagallium.a + + pkgconfigdir = $(libdir)/pkgconfig +--- a/src/gallium/auxiliary/Makefile.am ++++ b/src/gallium/auxiliary/Makefile.am +@@ -25,6 +25,7 @@ + lib_LTLIBRARIES = libgallium.la + libgallium_la_SOURCES = $(C_SOURCES) $(CPP_SOURCES) + libgallium_la_LDFLAGS = -no-undefined @LLVM_LDFLAGS@ @LLVM_LIBS@ ++libgallium_la_LIBADD = $(top_builddir)/src/mesa/libdricore/libmesagallium@VERSION@.la + if HAVE_SHARED_GALLIUM + AM_CFLAGS += -shared + AM_CXXFLAGS += -shared --- mesa-9.0.3.orig/debian/patches/101_ubuntu_hidden_glname.patch +++ mesa-9.0.3/debian/patches/101_ubuntu_hidden_glname.patch @@ -0,0 +1,10 @@ +--- a/src/mapi/glapi/gen/gl_x86_asm.py ++++ b/src/mapi/glapi/gen/gl_x86_asm.py +@@ -176,7 +176,6 @@ + print '' + print '\t\tALIGNTEXT16' + print '\t\tGLOBL GLNAME(gl_dispatch_functions_start)' +- print '\t\tHIDDEN(GLNAME(gl_dispatch_functions_start))' + print 'GLNAME(gl_dispatch_functions_start):' + print '' + return --- mesa-9.0.3.orig/debian/patches/CVE-2013-1872.patch +++ mesa-9.0.3/debian/patches/CVE-2013-1872.patch @@ -0,0 +1,78 @@ +Description: fix denial of service and possible code execution via + out-of-bands access +Origin: backport, http://cgit.freedesktop.org/mesa/mesa/commit/?id=0677ea063cd96adefe87c1fb01ef7c66d905535b +Bug: https://bugs.freedesktop.org/show_bug.cgi?id=59429 + +Index: mesa-9.0.3/src/mesa/drivers/dri/i965/brw_fs.cpp +=================================================================== +--- mesa-9.0.3.orig/src/mesa/drivers/dri/i965/brw_fs.cpp 2013-06-18 14:02:34.944519611 -0400 ++++ mesa-9.0.3/src/mesa/drivers/dri/i965/brw_fs.cpp 2013-06-18 14:02:34.936519611 -0400 +@@ -496,6 +496,7 @@ + import_uniforms_callback, + variable_ht); + this->params_remap = v->params_remap; ++ this->nr_params_remap = v->nr_params_remap; + } + + /* Our support for uniforms is piggy-backed on the struct +@@ -1110,6 +1111,7 @@ + { + if (c->dispatch_width == 8) { + this->params_remap = ralloc_array(mem_ctx, int, c->prog_data.nr_params); ++ this->nr_params_remap = c->prog_data.nr_params; + + for (unsigned int i = 0; i < c->prog_data.nr_params; i++) + this->params_remap[i] = -1; +@@ -1124,7 +1126,14 @@ + if (inst->src[i].file != UNIFORM) + continue; + +- assert(constant_nr < (int)c->prog_data.nr_params); ++ /* Section 5.11 of the OpenGL 4.3 spec says: ++ * ++ * "Out-of-bounds reads return undefined values, which include ++ * values from other variables of the active program or zero." ++ */ ++ if (constant_nr < 0 || constant_nr >= (int)c->prog_data.nr_params) { ++ constant_nr = 0; ++ } + + /* For now, set this to non-negative. We'll give it the + * actual new number in a moment, in order to keep the +@@ -1175,6 +1184,10 @@ + if (inst->src[i].file != UNIFORM) + continue; + ++ /* as above alias to 0 */ ++ if (constant_nr < 0 || constant_nr >= (int)this->nr_params_remap) { ++ constant_nr = 0; ++ } + assert(this->params_remap[constant_nr] != -1); + inst->src[i].reg = this->params_remap[constant_nr]; + inst->src[i].reg_offset = 0; +Index: mesa-9.0.3/src/mesa/drivers/dri/i965/brw_fs.h +=================================================================== +--- mesa-9.0.3.orig/src/mesa/drivers/dri/i965/brw_fs.h 2013-06-18 14:02:34.944519611 -0400 ++++ mesa-9.0.3/src/mesa/drivers/dri/i965/brw_fs.h 2013-06-18 14:02:34.936519611 -0400 +@@ -368,6 +368,7 @@ + * uniform index. + */ + int *params_remap; ++ int nr_params_remap; + + struct hash_table *variable_ht; + ir_variable *frag_depth; +Index: mesa-9.0.3/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +=================================================================== +--- mesa-9.0.3.orig/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp 2013-06-18 14:02:34.944519611 -0400 ++++ mesa-9.0.3/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp 2013-06-18 14:02:34.936519611 -0400 +@@ -2279,6 +2279,9 @@ + this->virtual_grf_use = NULL; + this->live_intervals_valid = false; + ++ this->params_remap = NULL; ++ this->nr_params_remap = 0; ++ + this->force_uncompressed_stack = 0; + this->force_sechalf_stack = 0; + } --- mesa-9.0.3.orig/debian/patches/16-radeon-ndebug.diff +++ mesa-9.0.3/debian/patches/16-radeon-ndebug.diff @@ -0,0 +1,13 @@ +diff --git a/src/gallium/drivers/radeon/Makefile b/src/gallium/drivers/radeon/Makefile +index 7f1c613..2dfad85 100644 +--- a/src/gallium/drivers/radeon/Makefile ++++ b/src/gallium/drivers/radeon/Makefile +@@ -14,7 +14,7 @@ CXXFLAGS+= $(LLVM_CXXFLAGS) + + include ../../Makefile.template + +-CXXFLAGS := $(filter-out -DDEBUG, $(CXXFLAGS)) ++CXXFLAGS := $(filter-out -DDEBUG, $(CXXFLAGS)) -DNDEBUG + + tablegen = $(TBLGEN) -I $(LLVM_INCLUDEDIR) $1 $2 -o $3 + --- mesa-9.0.3.orig/debian/patches/14-fix-osmesa-build.diff +++ mesa-9.0.3/debian/patches/14-fix-osmesa-build.diff @@ -0,0 +1,10 @@ +--- a/src/mesa/drivers/osmesa/Makefile.am ++++ b/src/mesa/drivers/osmesa/Makefile.am +@@ -25,6 +25,7 @@ + -I$(top_srcdir)/include \ + -I$(top_srcdir)/src/mapi \ + -I$(top_srcdir)/src/mesa/ \ ++ -I$(top_builddir)/src/mapi \ + $(DEFINES) \ + $(API_DEFINES) + AM_CFLAGS = $(PTHREAD_CFLAGS) \ --- mesa-9.0.3.orig/debian/patches/fix-missing-gt3-id.diff +++ mesa-9.0.3/debian/patches/fix-missing-gt3-id.diff @@ -0,0 +1,26 @@ +commit 888fc7a89197972aac614fc19d1c82ed1adbb3f2 +Author: Rodrigo Vivi +Date: Mon May 13 17:53:38 2013 -0300 + + i965: Add missing Haswell GT3 Desktop to IS_HSW_GT3 check. + + NOTE: This is a candidate for stable branches. + + Signed-off-by: Rodrigo Vivi + Reviewed-by: Kenneth Graunke + +diff --git a/src/mesa/drivers/dri/intel/intel_chipset.h b/src/mesa/drivers/dri/intel/intel_chipset.h +index df025ac..ee735bb 100644 +--- a/src/mesa/drivers/dri/intel/intel_chipset.h ++++ b/src/mesa/drivers/dri/intel/intel_chipset.h +@@ -230,8 +230,8 @@ + devid == PCI_CHIP_HASWELL_CRW_GT2 || \ + devid == PCI_CHIP_HASWELL_CRW_M_GT2 || \ + devid == PCI_CHIP_HASWELL_CRW_S_GT2) +- +-#define IS_HSW_GT3(devid) (devid == PCI_CHIP_HASWELL_M_GT3 || \ ++#define IS_HSW_GT3(devid) (devid == PCI_CHIP_HASWELL_GT3 || \ ++ devid == PCI_CHIP_HASWELL_M_GT3 || \ + devid == PCI_CHIP_HASWELL_S_GT3 || \ + devid == PCI_CHIP_HASWELL_SDV_GT3 || \ + devid == PCI_CHIP_HASWELL_SDV_M_GT3 || \ --- mesa-9.0.3.orig/debian/patches/100_no_abi_tag.patch +++ mesa-9.0.3/debian/patches/100_no_abi_tag.patch @@ -0,0 +1,44 @@ +--- a/src/mapi/glapi/gen/gl_x86-64_asm.py ++++ b/src/mapi/glapi/gen/gl_x86-64_asm.py +@@ -181,19 +181,6 @@ + + def printRealFooter(self): + print '' +- print '#if defined(GLX_USE_TLS) && defined(__linux__)' +- print ' .section ".note.ABI-tag", "a"' +- print ' .p2align 2' +- print ' .long 1f - 0f /* name length */' +- print ' .long 3f - 2f /* data length */' +- print ' .long 1 /* note length */' +- print '0: .asciz "GNU" /* vendor name */' +- print '1: .p2align 2' +- print '2: .long 0 /* note data: the ABI tag */' +- print ' .long 2,4,20 /* Minimum kernel version w/TLS */' +- print '3: .p2align 2 /* pad out section */' +- print '#endif /* GLX_USE_TLS */' +- print '' + print '#if defined (__ELF__) && defined (__linux__)' + print ' .section .note.GNU-stack,"",%progbits' + print '#endif' +--- a/src/mapi/glapi/gen/gl_x86_asm.py ++++ b/src/mapi/glapi/gen/gl_x86_asm.py +@@ -189,19 +189,6 @@ + print '\t\tALIGNTEXT16' + print 'GLNAME(gl_dispatch_functions_end):' + print '' +- print '#if defined(GLX_USE_TLS) && defined(__linux__)' +- print ' .section ".note.ABI-tag", "a"' +- print ' .p2align 2' +- print ' .long 1f - 0f /* name length */' +- print ' .long 3f - 2f /* data length */' +- print ' .long 1 /* note length */' +- print '0: .asciz "GNU" /* vendor name */' +- print '1: .p2align 2' +- print '2: .long 0 /* note data: the ABI tag */' +- print ' .long 2,4,20 /* Minimum kernel version w/TLS */' +- print '3: .p2align 2 /* pad out section */' +- print '#endif /* GLX_USE_TLS */' +- print '' + print '#if defined (__ELF__) && defined (__linux__)' + print ' .section .note.GNU-stack,"",%progbits' + print '#endif' --- mesa-9.0.3.orig/debian/patches/06_kfreebsd-ftbfs.diff +++ mesa-9.0.3/debian/patches/06_kfreebsd-ftbfs.diff @@ -0,0 +1,18 @@ +From: Aurelien Jarno +From: Cyril Brulebois + +mesa fails to build on GNU/kFreeBSD, since some parts are not enabled. + +Debian bug: http://bugs.debian.org/524690 + +--- a/configure.ac ++++ b/configure.ac +@@ -1026,7 +1026,7 @@ + ;; + esac + ;; +- freebsd* | dragonfly* | *netbsd*) ++ freebsd* | dragonfly* | *netbsd* | kfreebsd*-gnu*) + DEFINES="$DEFINES -DHAVE_PTHREAD -DUSE_EXTERNAL_DXTN_LIB=1" + DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS" + --- mesa-9.0.3.orig/debian/patches/series +++ mesa-9.0.3/debian/patches/series @@ -0,0 +1,26 @@ +02_use-ieee-fp-on-s390-and-m68k.patch +04_osmesa_version.diff +#05_kfreebsd-egl-x11.diff +06_kfreebsd-ftbfs.diff +08-kfreebsd-gallium.diff +10-hurd-configure-tweaks.diff +#11-hurd-ftbfs-again.diff +14-fix-osmesa-build.diff +15-fix-llvmpipe-test-linking.diff +16-radeon-ndebug.diff + +# Ubuntu patches. +100_no_abi_tag.patch +101_ubuntu_hidden_glname.patch +117-static-gallium.patch +118-dricore-gallium.patch +119-revert-wayland102.patch +CVE-2013-1872.patch +CVE-2013-1993.patch + +# Add missing haswell pci ids +fix-hsw-crw-ids.diff +add-vlv-ids.diff +fix-hsw-gt3-names.diff +fix-missing-gt3-id.diff +add-more-reserved-hsw-ids.diff --- mesa-9.0.3.orig/debian/patches/08-kfreebsd-gallium.diff +++ mesa-9.0.3/debian/patches/08-kfreebsd-gallium.diff @@ -0,0 +1,26 @@ +Index: mesa/src/gallium/auxiliary/rtasm/rtasm_execmem.c +=================================================================== +--- mesa.orig/src/gallium/auxiliary/rtasm/rtasm_execmem.c 2012-01-18 16:04:58.230651581 +0200 ++++ mesa/src/gallium/auxiliary/rtasm/rtasm_execmem.c 2012-01-18 16:06:09.872798989 +0200 +@@ -37,7 +37,7 @@ + + #include "rtasm_execmem.h" + +-#if defined(PIPE_OS_BSD) ++#ifndef MAP_ANONYMOUS + #define MAP_ANONYMOUS MAP_ANON + #endif + +Index: mesa/src/gallium/include/pipe/p_config.h +=================================================================== +--- mesa.orig/src/gallium/include/pipe/p_config.h 2012-01-18 16:04:58.238651821 +0200 ++++ mesa/src/gallium/include/pipe/p_config.h 2012-01-18 16:06:09.872798989 +0200 +@@ -171,7 +171,7 @@ + #define PIPE_OS_ANDROID + #endif + +-#if defined(__FreeBSD__) ++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) + #define PIPE_OS_FREEBSD + #define PIPE_OS_BSD + #define PIPE_OS_UNIX --- mesa-9.0.3.orig/debian/patches/fix-hsw-crw-ids.diff +++ mesa-9.0.3/debian/patches/fix-hsw-crw-ids.diff @@ -0,0 +1,68 @@ +commit b88f74d63dca9db0f1b1cb9ce4d85f706c7a7fab +Author: Kenneth Graunke +Date: Fri Mar 1 15:23:53 2013 -0800 + + i965: Fix Crystal Well PCI IDs. + + The second digit was off by one, which meant we accidentally treated + GTn as GT(n-1). This also meant no support for GT1 at all. + + NOTE: This is a candidate for stable branches. + + Signed-off-by: Kenneth Graunke + +diff --git a/include/pci_ids/i965_pci_ids.h b/include/pci_ids/i965_pci_ids.h +index 09dca5b..1e388f8 100644 +--- a/include/pci_ids/i965_pci_ids.h ++++ b/include/pci_ids/i965_pci_ids.h +@@ -53,12 +53,12 @@ CHIPSET(0x0A26, HASWELL_ULT_M_GT2_PLUS, hsw_gt2) + CHIPSET(0x0A0A, HASWELL_ULT_S_GT1, hsw_gt1) + CHIPSET(0x0A1A, HASWELL_ULT_S_GT2, hsw_gt2) + CHIPSET(0x0A2A, HASWELL_ULT_S_GT2_PLUS, hsw_gt2) +-CHIPSET(0x0D12, HASWELL_CRW_GT1, hsw_gt1) +-CHIPSET(0x0D22, HASWELL_CRW_GT2, hsw_gt2) +-CHIPSET(0x0D32, HASWELL_CRW_GT2_PLUS, hsw_gt2) +-CHIPSET(0x0D16, HASWELL_CRW_M_GT1, hsw_gt1) +-CHIPSET(0x0D26, HASWELL_CRW_M_GT2, hsw_gt2) +-CHIPSET(0x0D36, HASWELL_CRW_M_GT2_PLUS, hsw_gt2) +-CHIPSET(0x0D1A, HASWELL_CRW_S_GT1, hsw_gt1) +-CHIPSET(0x0D2A, HASWELL_CRW_S_GT2, hsw_gt2) +-CHIPSET(0x0D3A, HASWELL_CRW_S_GT2_PLUS, hsw_gt2) ++CHIPSET(0x0D02, HASWELL_CRW_GT1, hsw_gt1) ++CHIPSET(0x0D12, HASWELL_CRW_GT2, hsw_gt2) ++CHIPSET(0x0D22, HASWELL_CRW_GT2_PLUS, hsw_gt2) ++CHIPSET(0x0D06, HASWELL_CRW_M_GT1, hsw_gt1) ++CHIPSET(0x0D16, HASWELL_CRW_M_GT2, hsw_gt2) ++CHIPSET(0x0D26, HASWELL_CRW_M_GT2_PLUS, hsw_gt2) ++CHIPSET(0x0D0A, HASWELL_CRW_S_GT1, hsw_gt1) ++CHIPSET(0x0D1A, HASWELL_CRW_S_GT2, hsw_gt2) ++CHIPSET(0x0D2A, HASWELL_CRW_S_GT2_PLUS, hsw_gt2) +diff --git a/src/mesa/drivers/dri/intel/intel_chipset.h b/src/mesa/drivers/dri/intel/intel_chipset.h +index 9c00ba8..885f6c2 100644 +--- a/src/mesa/drivers/dri/intel/intel_chipset.h ++++ b/src/mesa/drivers/dri/intel/intel_chipset.h +@@ -114,15 +114,15 @@ + #define PCI_CHIP_HASWELL_ULT_S_GT1 0x0A0A /* Server */ + #define PCI_CHIP_HASWELL_ULT_S_GT2 0x0A1A + #define PCI_CHIP_HASWELL_ULT_S_GT2_PLUS 0x0A2A +-#define PCI_CHIP_HASWELL_CRW_GT1 0x0D12 /* Desktop */ +-#define PCI_CHIP_HASWELL_CRW_GT2 0x0D22 +-#define PCI_CHIP_HASWELL_CRW_GT2_PLUS 0x0D32 +-#define PCI_CHIP_HASWELL_CRW_M_GT1 0x0D16 /* Mobile */ +-#define PCI_CHIP_HASWELL_CRW_M_GT2 0x0D26 +-#define PCI_CHIP_HASWELL_CRW_M_GT2_PLUS 0x0D36 +-#define PCI_CHIP_HASWELL_CRW_S_GT1 0x0D1A /* Server */ +-#define PCI_CHIP_HASWELL_CRW_S_GT2 0x0D2A +-#define PCI_CHIP_HASWELL_CRW_S_GT2_PLUS 0x0D3A ++#define PCI_CHIP_HASWELL_CRW_GT1 0x0D02 /* Desktop */ ++#define PCI_CHIP_HASWELL_CRW_GT2 0x0D12 ++#define PCI_CHIP_HASWELL_CRW_GT2_PLUS 0x0D22 ++#define PCI_CHIP_HASWELL_CRW_M_GT1 0x0D06 /* Mobile */ ++#define PCI_CHIP_HASWELL_CRW_M_GT2 0x0D16 ++#define PCI_CHIP_HASWELL_CRW_M_GT2_PLUS 0x0D26 ++#define PCI_CHIP_HASWELL_CRW_S_GT1 0x0D0A /* Server */ ++#define PCI_CHIP_HASWELL_CRW_S_GT2 0x0D1A ++#define PCI_CHIP_HASWELL_CRW_S_GT2_PLUS 0x0D2A + + #define IS_MOBILE(devid) (devid == PCI_CHIP_I855_GM || \ + devid == PCI_CHIP_I915_GM || \ --- mesa-9.0.3.orig/debian/patches/116_use_shared_galliumcore.diff +++ mesa-9.0.3/debian/patches/116_use_shared_galliumcore.diff @@ -0,0 +1,233 @@ +Index: mesa/bin/mklib +=================================================================== +--- mesa.orig/bin/mklib 2012-06-01 13:01:25.243165726 -0400 ++++ mesa/bin/mklib 2012-06-01 13:02:46.827167952 -0400 +@@ -147,6 +147,7 @@ + NOPREFIX=0 + EXPORTS="" + ID="" ++WHOLE_ARCHIVE="" + + # + # Parse arguments +@@ -191,6 +192,18 @@ + -R*) + DEPS="$DEPS $1" + ;; ++ '-Wl,-whole-archive') ++ shift ++ while [ "x$1" != "x-Wl,-no-whole-archive" ] ; do ++ if [ "x$1" = "x" ] ; then ++ echo "mklib: End of arguments reached when scanning for -Wl,-no-whole-archive" ++ echo "mklib: Arguments to -no-whole-archive must be terminated by -Wl,-no-whole-archive" ++ exit 1 ++ fi ++ WHOLE_ARCHIVE="$WHOLE_ARCHIVE $1" ++ shift ++ done ++ ;; + -Wl*) + DEPS="$DEPS $1" + ;; +@@ -271,6 +284,10 @@ + OBJECTS=$NEWOBJECTS + fi + ++if [ "x$WHOLE_ARCHIVE" != "x" ] ; then ++ OBJECTS="${OBJECTS} -Wl,-whole-archive ${WHOLE_ARCHIVE} -Wl,-no-whole-archive" ++fi ++ + + # + # Error checking +@@ -284,7 +301,6 @@ + exit 1 + fi + +- + # + # Debugging info + # +@@ -345,6 +361,7 @@ + fi + + rm -f ${LIBNAME} ++ + # make lib + ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS} + # finish up +Index: mesa/configs/autoconf.in +=================================================================== +--- mesa.orig/configs/autoconf.in 2012-06-01 13:01:25.243165726 -0400 ++++ mesa/configs/autoconf.in 2012-06-01 13:02:46.831167952 -0400 +@@ -124,6 +124,7 @@ + DRICORE_GLSL_LIBS = @DRICORE_GLSL_LIBS@ + DRICORE_LIBS = @DRICORE_LIBS@ + DRICORE_LIB_DEPS = @DRICORE_LIB_DEPS@ ++GALLIUM_LIB_DEPS = @GALLIUM_LIB_DEPS@ + EGL_PLATFORMS = @EGL_PLATFORMS@ + EGL_CLIENT_APIS = @EGL_CLIENT_APIS@ + +Index: mesa/configure.ac +=================================================================== +--- mesa.orig/configure.ac 2012-06-01 13:02:46.511167943 -0400 ++++ mesa/configure.ac 2012-06-01 13:02:46.831167952 -0400 +@@ -1068,6 +1068,41 @@ + GLAPI_LIB_DEPS="-lpthread $SELINUX_LIBS" + AC_SUBST([GLAPI_LIB_DEPS]) + ++dnl Setup default DRI CFLAGS ++DRI_CFLAGS='$(CFLAGS)' ++DRI_CXXFLAGS='$(CXXFLAGS)' ++DRI_LIB_DEPS='$(TOP)/src/mesa/libmesa.a' ++MESA_MODULES='$(TOP)/src/mesa/libmesa.a' ++ ++AC_ARG_ENABLE([shared-dricore], ++ [AS_HELP_STRING([--enable-shared-dricore], ++ [link DRI modules with shared core DRI routines @<:@default=disabled@:>@])], ++ [enable_dricore="$enableval"], ++ [enable_dricore=no]) ++if test "$mesa_driver" = dri ; then ++ if test "$enable_dricore" = yes ; then ++ if test "$GCC$GXX" != yesyes ; then ++ AC_MSG_WARN([Shared dricore requires GCC-compatible rpath handling. Disabling shared dricore]) ++ enable_dricore=no ++ else ++ DRICORE_GLSL_LIBS='$(TOP)/$(LIB_DIR)/libglsl.so' ++ DRICORE_LIBS='$(TOP)/$(LIB_DIR)/libdricore.so' ++ DRICORE_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -lglsl' ++ DRI_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -lgallium -ldricore -lglsl' ++ GALLIUM_LIB_DEPS='-lgallium' ++ DRI_CFLAGS='$(CFLAGS_NOVISIBILITY) -DUSE_DRICORE' ++ DRI_CXXFLAGS='$(CXXFLAGS_NOVISIBILITY) -DUSE_DRICORE' ++ MESA_MODULES='$(DRICORE_LIBS) $(DRICORE_GLSL_LIBS)' ++ fi ++ fi ++fi ++AC_SUBST([DRICORE_LIBS]) ++AC_SUBST([DRICORE_GLSL_LIBS]) ++AC_SUBST([DRICORE_LIB_DEPS]) ++AC_SUBST([GALLIUM_LIB_DEPS]) ++AC_SUBST([DRI_CXXFLAGS]) ++AC_SUBST([DRI_CFLAGS]) ++AC_SUBST([MESA_MODULES]) + + dnl Setup default DRI CFLAGS + DRI_CFLAGS='$(CFLAGS)' +Index: mesa/src/gallium/Makefile.template +=================================================================== +--- mesa.orig/src/gallium/Makefile.template 2012-06-01 13:01:25.247165726 -0400 ++++ mesa/src/gallium/Makefile.template 2012-06-01 13:02:46.831167952 -0400 +@@ -30,7 +30,7 @@ + + ##### TARGETS ##### + +-default: depend lib$(LIBNAME).a $(PROGS) ++default:: depend lib$(LIBNAME).a $(PROGS) + + lib$(LIBNAME).a: $(OBJECTS) $(EXTRA_OBJECTS) Makefile $(TOP)/src/gallium/Makefile.template + $(MKLIB) -o $(LIBNAME) -static $(OBJECTS) $(EXTRA_OBJECTS) +@@ -58,16 +58,16 @@ + ##### RULES ##### + + %.s: %.c +- $(CC) -S $(INCLUDES) $(CFLAGS) $(LIBRARY_DEFINES) $< -o $@ ++ $(CC) -S $(INCLUDES) $(DRI_CFLAGS) $(LIBRARY_DEFINES) $< -o $@ + + %.o: %.c +- $(CC) -c $(INCLUDES) $(CFLAGS) $(LIBRARY_DEFINES) $< -o $@ ++ $(CC) -c $(INCLUDES) $(DRI_CFLAGS) $(LIBRARY_DEFINES) $< -o $@ + + %.o: %.cpp +- $(CXX) -c $(INCLUDES) $(CXXFLAGS) $(LIBRARY_DEFINES) $< -o $@ ++ $(CXX) -c $(INCLUDES) $(DRI_CXXFLAGS) $(LIBRARY_DEFINES) $< -o $@ + + %.o: %.S +- $(CC) -c $(INCLUDES) $(CFLAGS) $(LIBRARY_DEFINES) $< -o $@ ++ $(CC) -c $(INCLUDES) $(DRI_CFLAGS) $(LIBRARY_DEFINES) $< -o $@ + + + sinclude depend +Index: mesa/src/gallium/auxiliary/Makefile +=================================================================== +--- mesa.orig/src/gallium/auxiliary/Makefile 2012-06-01 13:01:25.247165726 -0400 ++++ mesa/src/gallium/auxiliary/Makefile 2012-06-01 13:02:46.831167952 -0400 +@@ -18,6 +18,14 @@ + + include ../Makefile.template + ++# Shared dricore library for classic DRI drivers ++$(TOP)/$(LIB_DIR)/libgallium.so: $(OBJECTS) $(EXTRA_OBJECTS) ++ @$(MKLIB) -o $@ -linker '$(CXX)' -ldflags '$(LDFLAGS)' \ ++ -cplusplus -noprefix \ ++ -install $(TOP)/$(LIB_DIR) -id $(DRI_DRIVER_INSTALL_DIR)/$@.dylib \ ++ -Wl,-whole-archive $(TOP)/src/mesa/libgalliumcore.a -Wl,-no-whole-archive \ ++ $(OBJECTS) $(EXTRA_OBJECTS) ++ + + indices/u_indices_gen.c: indices/u_indices_gen.py + $(PYTHON2) $< > $@ +@@ -33,4 +41,6 @@ + + util/u_half.c: util/u_half.py + $(PYTHON2) util/u_half.py > $@ ++ ++default:: $(TOP)/$(LIB_DIR)/libgallium.so + # DO NOT DELETE +Index: mesa/src/gallium/targets/Makefile.dri +=================================================================== +--- mesa.orig/src/gallium/targets/Makefile.dri 2012-06-01 13:01:25.251165726 -0400 ++++ mesa/src/gallium/targets/Makefile.dri 2012-06-01 13:02:46.831167952 -0400 +@@ -7,7 +7,6 @@ + endif + + MESA_MODULES = \ +- $(TOP)/src/mesa/libmesagallium.a \ + $(GALLIUM_AUXILIARIES) + + COMMON_GALLIUM_SOURCES = \ +@@ -73,8 +72,8 @@ + $(MKLIB) -o $@.tmp -noprefix -linker '$(CXX)' -ldflags '$(LDFLAGS)' \ + $(OBJECTS) $(PIPE_DRIVERS) \ + -Wl,--start-group $(MESA_MODULES) -Wl,--end-group \ +- $(DRI_LIB_DEPS) $(DRIVER_EXTRAS) +- $(CXX) $(CFLAGS) -o $@.test $(TOP)/src/mesa/drivers/dri/common/dri_test.o $@.tmp $(DRI_LIB_DEPS) $(LDFLAGS); ++ $(DRI_LIB_DEPS) $(GALLIUM_LIB_DEPS) $(DRIVER_EXTRAS) ++ $(CXX) $(CFLAGS) -o $@.test $(TOP)/src/mesa/drivers/dri/common/dri_test.o $@.tmp -lgallium $(DRI_LIB_DEPS) $(GALLIUM_LIB_DEPS) $(LDFLAGS); + @rm -f $@.test + mv -f $@.tmp $@ + +Index: mesa/src/mesa/Makefile +=================================================================== +--- mesa.orig/src/mesa/Makefile 2012-06-01 13:01:25.259165726 -0400 ++++ mesa/src/mesa/Makefile 2012-06-01 13:02:46.831167952 -0400 +@@ -16,6 +16,9 @@ + MESA_OBJECTS := $(addprefix $(MESA_OBJ_DIR)/, $(MESA_OBJECTS)) + MESA_GALLIUM_OBJECTS := $(addprefix $(MESA_OBJ_DIR)/, $(MESA_GALLIUM_OBJECTS)) + ++DRICORE_OBJECTS := $(addprefix $(DRICORE_OBJ_DIR)/, $(MESA_OBJECTS)) ++GALLIUMCORE_OBJECTS := $(addprefix $(DRICORE_OBJ_DIR)/, $(filter-out $(MESA_OBJECTS), $(MESA_GALLIUM_OBJECTS))) ++ + # define preprocessor flags + MESA_CPPFLAGS := $(API_DEFINES) $(DEFINES) + +@@ -65,7 +68,7 @@ + + # Default: build dependencies, then asm_subdirs, GLSL built-in lib, + # then convenience libs (.a) and finally the device drivers: +-default: $(DEPENDS) asm_subdirs $(MESA_LIBS) $(DRICORE_LIBS) driver_subdirs ++default: $(DEPENDS) asm_subdirs $(MESA_LIBS) $(DRICORE_LIBS) libgalliumcore.a driver_subdirs + + # include glapi_gen.mk for generating glapi headers for GLES + GLAPI := $(TOP)/src/mapi/glapi/gen +@@ -146,6 +149,10 @@ + @$(MKDEP) $(MKDEP_OPTIONS) -a -p$(DRICORE_OBJ_DIR)/ $(MESA_CPPFLAGS) \ + $(ALL_SOURCES) > /dev/null 2>/dev/null + ++# Make archive of subset of core mesa object files for gallium ++libgalliumcore.a: $(GALLIUMCORE_OBJECTS) ++ @ $(MKLIB) -o galliumcore -static $(GALLIUMCORE_OBJECTS) ++ + ###################################################################### + # Installation rules + --- mesa-9.0.3.orig/debian/patches/15-fix-llvmpipe-test-linking.diff +++ mesa-9.0.3/debian/patches/15-fix-llvmpipe-test-linking.diff @@ -0,0 +1,61 @@ +From 7e2e29c67f8fc8ec72c2dc8544428fdd86b21353 Mon Sep 17 00:00:00 2001 +From: Olivier Blin +Date: Sat, 4 Aug 2012 00:29:45 +0200 +Subject: [PATCH] gallium: only link static archives between ld start/end group options + +llvmpipe test programs failed to link with --as-needed ld option, +since dynamic libraries were mixed with static libraries between the +ld --start-group and --end-group options. + +gd3d1x likely had the same issue. + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52167 +--- + src/gallium/Makefile.template | 2 +- + src/gallium/drivers/llvmpipe/Makefile | 3 ++- + src/gallium/state_trackers/d3d1x/gd3d1x/Makefile | 3 ++- + 3 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/src/gallium/Makefile.template b/src/gallium/Makefile.template +index 036c119..c30477a 100644 +--- a/src/gallium/Makefile.template ++++ b/src/gallium/Makefile.template +@@ -41,7 +41,7 @@ depend: $(C_SOURCES) $(CPP_SOURCES) $(ASM_SOURCES) $(SYMLINKS) $(GENERATED_SOURC + $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(C_SOURCES) $(CPP_SOURCES) $(ASM_SOURCES) $(GENERATED_SOURCES) 2> /dev/null + + $(PROGS): % : %.o $(PROGS_DEPS) +- $(LD) $(LDFLAGS) $(filter %.o,$^) -o $@ -Wl,--start-group $(LIBS) -Wl,--end-group ++ $(LD) $(LDFLAGS) $(filter %.o,$^) -o $@ -Wl,--start-group $(LIBS) -Wl,--end-group $(LDADD) + + # Emacs tags + tags: +diff --git a/src/gallium/drivers/llvmpipe/Makefile b/src/gallium/drivers/llvmpipe/Makefile +index ef16fc7..35f8fe8 100644 +--- a/src/gallium/drivers/llvmpipe/Makefile ++++ b/src/gallium/drivers/llvmpipe/Makefile +@@ -68,7 +68,8 @@ lp_tile_soa.c: lp_tile_soa.py ../../auxiliary/util/u_format_parse.py ../../auxil + $(PYTHON2) $(PYTHON_FLAGS) lp_tile_soa.py ../../auxiliary/util/u_format.csv > $@ + + LDFLAGS += $(LLVM_LDFLAGS) +-LIBS += -L../../auxiliary/ -lgallium libllvmpipe.a $(LLVM_LIBS) $(GL_LIB_DEPS) ++LIBS += -L../../auxiliary/ -lgallium libllvmpipe.a ++LDADD += $(LLVM_LIBS) $(GL_LIB_DEPS) + LD=$(CXX) + + $(PROGS): lp_test_main.o libllvmpipe.a +diff --git a/src/gallium/state_trackers/d3d1x/gd3d1x/Makefile b/src/gallium/state_trackers/d3d1x/gd3d1x/Makefile +index 32d2956..f9cad05 100644 +--- a/src/gallium/state_trackers/d3d1x/gd3d1x/Makefile ++++ b/src/gallium/state_trackers/d3d1x/gd3d1x/Makefile +@@ -3,5 +3,6 @@ CPP_SOURCES=$(wildcard *.cpp) + LIBRARY_INCLUDES=-Iinclude -I../gd3dapi -I../d3dapi -I../w32api -I../d3d1xstutil/include -I../d3d1xshader/include -I../../../include -I../../../auxiliary -I../../../state_trackers/egl/common + PROGS=tools/dxbc2tgsi + PROGS_DEPS=libgd3d1x.a ../d3d1xshader/libd3d1xshader.a ../d3d1xstutil/libd3d1xstutil.a ../../../auxiliary/libgallium.a +-LIBS=$(PROGS_DEPS) -ldl ++LIBS=$(PROGS_DEPS) ++LDADD=-ldl + include ../Makefile.inc +-- +1.7.11.4 + + --- mesa-9.0.3.orig/debian/patches/04_osmesa_version.diff +++ mesa-9.0.3/debian/patches/04_osmesa_version.diff @@ -0,0 +1,20 @@ +--- a/src/mesa/drivers/osmesa/Makefile.am ++++ b/src/mesa/drivers/osmesa/Makefile.am +@@ -37,7 +37,7 @@ + nodist_EXTRA_lib@OSMESA_LIB@_la_SOURCES = dummy.cpp + lib@OSMESA_LIB@_la_SOURCES = osmesa.c + +-lib@OSMESA_LIB@_la_LDFLAGS = -module -version-number @OSMESA_VERSION@ -no-undefined ++lib@OSMESA_LIB@_la_LDFLAGS = -module -version-number 6:5:3 -no-undefined + + if HAVE_SHARED_GLAPI + GLAPI_LIB = $(top_builddir)/src/mapi/shared-glapi/libglapi.la +@@ -55,7 +55,7 @@ + all-local: lib@OSMESA_LIB@.la + $(MKDIR_P) $(top_builddir)/$(LIB_DIR); + ln -f .libs/lib@OSMESA_LIB@.so $(top_builddir)/$(LIB_DIR)/lib@OSMESA_LIB@.so; +- ln -f .libs/lib@OSMESA_LIB@.so.@OSMESA_VERSION@ $(top_builddir)/$(LIB_DIR)/lib@OSMESA_LIB@.so.@OSMESA_VERSION@; ++ ln -f .libs/lib@OSMESA_LIB@.so.6.5.3 $(top_builddir)/$(LIB_DIR)/lib@OSMESA_LIB@.so.6.5.3; + endif + + pkgconfigdir = $(libdir)/pkgconfig --- mesa-9.0.3.orig/debian/patches/11-hurd-ftbfs-again.diff +++ mesa-9.0.3/debian/patches/11-hurd-ftbfs-again.diff @@ -0,0 +1,69 @@ +From c43546d2c9d877df6963a18f93377f93a169d43a Mon Sep 17 00:00:00 2001 +From: Cyril Brulebois +Date: Sun, 13 Feb 2011 06:58:45 +0000 +Subject: [PATCH] Fix FTBFS on GNU/Hurd due to missing PIPE_OS_HURD detection. + +Thanks to Pino Toscano. + +Signed-off-by: Cyril Brulebois +--- + src/gallium/auxiliary/os/os_thread.h | 12 ++++++------ + src/gallium/auxiliary/os/os_time.c | 2 +- + 2 files changed, 7 insertions(+), 7 deletions(-) + +--- a/src/gallium/auxiliary/os/os_thread.h ++++ b/src/gallium/auxiliary/os/os_thread.h +@@ -40,7 +40,7 @@ + #include "util/u_debug.h" /* for assert */ + + +-#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_CYGWIN) ++#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_CYGWIN) || defined(PIPE_OS_HURD) + + #include /* POSIX threads headers */ + #include /* for perror() */ +@@ -314,7 +314,7 @@ typedef int64_t pipe_condvar; + * pipe_barrier + */ + +-#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU) ++#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_HURD) + + typedef pthread_barrier_t pipe_barrier; + +@@ -442,7 +442,7 @@ pipe_semaphore_wait(pipe_semaphore *sema + */ + + typedef struct { +-#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_CYGWIN) ++#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_CYGWIN) || defined(PIPE_OS_HURD) + pthread_key_t key; + #elif defined(PIPE_SUBSYSTEM_WINDOWS_USER) + DWORD key; +@@ -457,7 +457,7 @@ typedef struct { + static INLINE void + pipe_tsd_init(pipe_tsd *tsd) + { +-#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_CYGWIN) ++#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_CYGWIN) || defined(PIPE_OS_HURD) + if (pthread_key_create(&tsd->key, NULL/*free*/) != 0) { + perror("pthread_key_create(): failed to allocate key for thread specific data"); + exit(-1); +@@ -474,7 +474,7 @@ pipe_tsd_get(pipe_tsd *tsd) + if (tsd->initMagic != (int) PIPE_TSD_INIT_MAGIC) { + pipe_tsd_init(tsd); + } +-#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_CYGWIN) ++#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_CYGWIN) || defined(PIPE_OS_HURD) + return pthread_getspecific(tsd->key); + #elif defined(PIPE_SUBSYSTEM_WINDOWS_USER) + assert(0); +@@ -491,7 +491,7 @@ pipe_tsd_set(pipe_tsd *tsd, void *value) + if (tsd->initMagic != (int) PIPE_TSD_INIT_MAGIC) { + pipe_tsd_init(tsd); + } +-#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_CYGWIN) ++#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_CYGWIN) || defined(PIPE_OS_HURD) + if (pthread_setspecific(tsd->key, value) != 0) { + perror("pthread_set_specific() failed"); + exit(-1); --- mesa-9.0.3.orig/debian/patches/CVE-2013-1993.patch +++ mesa-9.0.3/debian/patches/CVE-2013-1993.patch @@ -0,0 +1,45 @@ +Description: fix denial of service and possible code execution via + integer overflows +Origin: backport, http://cgit.freedesktop.org/mesa/mesa/commit?id=2e5a268f18be30df15aed0b44b01a18a37fb5df4 +Origin: backport, http://cgit.freedesktop.org/mesa/mesa/commit?id=306f630e676eb901789dd09a0f30d7e7fa941ebe + +Index: mesa-9.0.3/src/glx/XF86dri.c +=================================================================== +--- mesa-9.0.3.orig/src/glx/XF86dri.c 2013-06-18 14:02:56.964519401 -0400 ++++ mesa-9.0.3/src/glx/XF86dri.c 2013-06-18 14:04:41.700518402 -0400 +@@ -43,6 +43,7 @@ + #include + #include + #include "xf86dristr.h" ++#include + + static XExtensionInfo _xf86dri_info_data; + static XExtensionInfo *xf86dri_info = &_xf86dri_info_data; +@@ -201,7 +202,11 @@ + } + + if (rep.length) { +- if (!(*busIdString = (char *) Xcalloc(rep.busIdStringLength + 1, 1))) { ++ if (rep.busIdStringLength < INT_MAX) ++ *busIdString = calloc(rep.busIdStringLength + 1, 1); ++ else ++ *busIdString = NULL; ++ if (*busIdString == NULL) { + _XEatData(dpy, ((rep.busIdStringLength + 3) & ~3)); + UnlockDisplay(dpy); + SyncHandle(); +@@ -300,9 +305,11 @@ + *ddxDriverPatchVersion = rep.ddxDriverPatchVersion; + + if (rep.length) { +- if (! +- (*clientDriverName = +- (char *) Xcalloc(rep.clientDriverNameLength + 1, 1))) { ++ if (rep.clientDriverNameLength < INT_MAX) ++ *clientDriverName = calloc(rep.clientDriverNameLength + 1, 1); ++ else ++ *clientDriverName = NULL; ++ if (*clientDriverName == NULL) { + _XEatData(dpy, ((rep.clientDriverNameLength + 3) & ~3)); + UnlockDisplay(dpy); + SyncHandle(); --- mesa-9.0.3.orig/debian/patches/add-more-reserved-hsw-ids.diff +++ mesa-9.0.3/debian/patches/add-more-reserved-hsw-ids.diff @@ -0,0 +1,231 @@ +commit ce67fb4715e0c2fab01de33da475ef4705622020 +Author: Rodrigo Vivi +Date: Mon May 13 17:53:39 2013 -0300 + + i965: Adding more reserved PCI IDs for Haswell. + + At DDX commit Chris mentioned the tendency we have of finding out more + PCI IDs only when users report. So Let's add all new reserved Haswell IDs. + + NOTE: This is a candidate for stable branches. + + Bugzilla: http://bugs.freedesktop.org/show_bug.cgi?id=63701 + Signed-off-by: Rodrigo Vivi + Acked-by: Kenneth Graunke + +diff --git a/include/pci_ids/i965_pci_ids.h b/include/pci_ids/i965_pci_ids.h +index 3e9765c..808eb4e 100644 +--- a/include/pci_ids/i965_pci_ids.h ++++ b/include/pci_ids/i965_pci_ids.h +@@ -35,6 +35,12 @@ CHIPSET(0x0426, HASWELL_M_GT3, hsw_gt3) + CHIPSET(0x040A, HASWELL_S_GT1, hsw_gt1) + CHIPSET(0x041A, HASWELL_S_GT2, hsw_gt2) + CHIPSET(0x042A, HASWELL_S_GT3, hsw_gt3) ++CHIPSET(0x040B, HASWELL_B_GT1, hsw_gt1) ++CHIPSET(0x041B, HASWELL_B_GT2, hsw_gt2) ++CHIPSET(0x042B, HASWELL_B_GT3, hsw_gt3) ++CHIPSET(0x040E, HASWELL_E_GT1, hsw_gt1) ++CHIPSET(0x041E, HASWELL_E_GT2, hsw_gt2) ++CHIPSET(0x042E, HASWELL_E_GT3, hsw_gt3) + CHIPSET(0x0C02, HASWELL_SDV_GT1, hsw_gt1) + CHIPSET(0x0C12, HASWELL_SDV_GT2, hsw_gt2) + CHIPSET(0x0C22, HASWELL_SDV_GT3, hsw_gt3) +@@ -44,6 +50,12 @@ CHIPSET(0x0C26, HASWELL_SDV_M_GT3, hsw_gt3) + CHIPSET(0x0C0A, HASWELL_SDV_S_GT1, hsw_gt1) + CHIPSET(0x0C1A, HASWELL_SDV_S_GT2, hsw_gt2) + CHIPSET(0x0C2A, HASWELL_SDV_S_GT3, hsw_gt3) ++CHIPSET(0x0C0B, HASWELL_SDV_B_GT1, hsw_gt1) ++CHIPSET(0x0C1B, HASWELL_SDV_B_GT2, hsw_gt2) ++CHIPSET(0x0C2B, HASWELL_SDV_B_GT3, hsw_gt3) ++CHIPSET(0x0C0E, HASWELL_SDV_E_GT1, hsw_gt1) ++CHIPSET(0x0C1E, HASWELL_SDV_E_GT2, hsw_gt2) ++CHIPSET(0x0C2E, HASWELL_SDV_E_GT3, hsw_gt3) + CHIPSET(0x0A02, HASWELL_ULT_GT1, hsw_gt1) + CHIPSET(0x0A12, HASWELL_ULT_GT2, hsw_gt2) + CHIPSET(0x0A22, HASWELL_ULT_GT3, hsw_gt3) +@@ -53,6 +65,12 @@ CHIPSET(0x0A26, HASWELL_ULT_M_GT3, hsw_gt3) + CHIPSET(0x0A0A, HASWELL_ULT_S_GT1, hsw_gt1) + CHIPSET(0x0A1A, HASWELL_ULT_S_GT2, hsw_gt2) + CHIPSET(0x0A2A, HASWELL_ULT_S_GT3, hsw_gt3) ++CHIPSET(0x0A0B, HASWELL_ULT_B_GT1, hsw_gt1) ++CHIPSET(0x0A1B, HASWELL_ULT_B_GT2, hsw_gt2) ++CHIPSET(0x0A2B, HASWELL_ULT_B_GT3, hsw_gt3) ++CHIPSET(0x0A0E, HASWELL_ULT_E_GT1, hsw_gt1) ++CHIPSET(0x0A1E, HASWELL_ULT_E_GT2, hsw_gt2) ++CHIPSET(0x0A2E, HASWELL_ULT_E_GT3, hsw_gt3) + CHIPSET(0x0D02, HASWELL_CRW_GT1, hsw_gt1) + CHIPSET(0x0D12, HASWELL_CRW_GT2, hsw_gt2) + CHIPSET(0x0D22, HASWELL_CRW_GT3, hsw_gt3) +@@ -62,6 +80,12 @@ CHIPSET(0x0D26, HASWELL_CRW_M_GT3, hsw_gt3) + CHIPSET(0x0D0A, HASWELL_CRW_S_GT1, hsw_gt1) + CHIPSET(0x0D1A, HASWELL_CRW_S_GT2, hsw_gt2) + CHIPSET(0x0D2A, HASWELL_CRW_S_GT3, hsw_gt3) ++CHIPSET(0x0D0B, HASWELL_CRW_B_GT1, hsw_gt1) ++CHIPSET(0x0D1B, HASWELL_CRW_B_GT2, hsw_gt2) ++CHIPSET(0x0D2B, HASWELL_CRW_B_GT3, hsw_gt3) ++CHIPSET(0x0D0E, HASWELL_CRW_E_GT1, hsw_gt1) ++CHIPSET(0x0D1E, HASWELL_CRW_E_GT2, hsw_gt2) ++CHIPSET(0x0D2E, HASWELL_CRW_E_GT3, hsw_gt3) + CHIPSET(0x0F31, BAYTRAIL_M_1, byt) + CHIPSET(0x0F32, BAYTRAIL_M_2, byt) + CHIPSET(0x0F33, BAYTRAIL_M_3, byt) +diff --git a/src/mesa/drivers/dri/intel/intel_chipset.h b/src/mesa/drivers/dri/intel/intel_chipset.h +index ee735bb..1e98cf4 100644 +--- a/src/mesa/drivers/dri/intel/intel_chipset.h ++++ b/src/mesa/drivers/dri/intel/intel_chipset.h +@@ -102,6 +102,12 @@ + #define PCI_CHIP_HASWELL_S_GT1 0x040A /* Server */ + #define PCI_CHIP_HASWELL_S_GT2 0x041A + #define PCI_CHIP_HASWELL_S_GT3 0x042A ++#define PCI_CHIP_HASWELL_B_GT1 0x040B /* Reserved */ ++#define PCI_CHIP_HASWELL_B_GT2 0x041B ++#define PCI_CHIP_HASWELL_B_GT3 0x042B ++#define PCI_CHIP_HASWELL_E_GT1 0x040E /* Reserved */ ++#define PCI_CHIP_HASWELL_E_GT2 0x041E ++#define PCI_CHIP_HASWELL_E_GT3 0x042E + #define PCI_CHIP_HASWELL_SDV_GT1 0x0C02 /* Desktop */ + #define PCI_CHIP_HASWELL_SDV_GT2 0x0C12 + #define PCI_CHIP_HASWELL_SDV_GT3 0x0C22 +@@ -111,6 +117,12 @@ + #define PCI_CHIP_HASWELL_SDV_S_GT1 0x0C0A /* Server */ + #define PCI_CHIP_HASWELL_SDV_S_GT2 0x0C1A + #define PCI_CHIP_HASWELL_SDV_S_GT3 0x0C2A ++#define PCI_CHIP_HASWELL_SDV_B_GT1 0x0C0B /* Reserved */ ++#define PCI_CHIP_HASWELL_SDV_B_GT2 0x0C1B ++#define PCI_CHIP_HASWELL_SDV_B_GT3 0x0C2B ++#define PCI_CHIP_HASWELL_SDV_E_GT1 0x0C0E /* Reserved */ ++#define PCI_CHIP_HASWELL_SDV_E_GT2 0x0C1E ++#define PCI_CHIP_HASWELL_SDV_E_GT3 0x0C2E + #define PCI_CHIP_HASWELL_ULT_GT1 0x0A02 /* Desktop */ + #define PCI_CHIP_HASWELL_ULT_GT2 0x0A12 + #define PCI_CHIP_HASWELL_ULT_GT3 0x0A22 +@@ -120,6 +132,12 @@ + #define PCI_CHIP_HASWELL_ULT_S_GT1 0x0A0A /* Server */ + #define PCI_CHIP_HASWELL_ULT_S_GT2 0x0A1A + #define PCI_CHIP_HASWELL_ULT_S_GT3 0x0A2A ++#define PCI_CHIP_HASWELL_ULT_B_GT1 0x0A0B /* Reserved */ ++#define PCI_CHIP_HASWELL_ULT_B_GT2 0x0A1B ++#define PCI_CHIP_HASWELL_ULT_B_GT3 0x0A2B ++#define PCI_CHIP_HASWELL_ULT_E_GT1 0x0A0E /* Reserved */ ++#define PCI_CHIP_HASWELL_ULT_E_GT2 0x0A1E ++#define PCI_CHIP_HASWELL_ULT_E_GT3 0x0A2E + #define PCI_CHIP_HASWELL_CRW_GT1 0x0D02 /* Desktop */ + #define PCI_CHIP_HASWELL_CRW_GT2 0x0D12 + #define PCI_CHIP_HASWELL_CRW_GT3 0x0D22 +@@ -129,6 +147,12 @@ + #define PCI_CHIP_HASWELL_CRW_S_GT1 0x0D0A /* Server */ + #define PCI_CHIP_HASWELL_CRW_S_GT2 0x0D1A + #define PCI_CHIP_HASWELL_CRW_S_GT3 0x0D2A ++#define PCI_CHIP_HASWELL_CRW_B_GT1 0x0D0B /* Reserved */ ++#define PCI_CHIP_HASWELL_CRW_B_GT2 0x0D1B ++#define PCI_CHIP_HASWELL_CRW_B_GT3 0x0D2B ++#define PCI_CHIP_HASWELL_CRW_E_GT1 0x0D0E /* Reserved */ ++#define PCI_CHIP_HASWELL_CRW_E_GT2 0x0D1E ++#define PCI_CHIP_HASWELL_CRW_E_GT3 0x0D2E + + #define IS_MOBILE(devid) (devid == PCI_CHIP_I855_GM || \ + devid == PCI_CHIP_I915_GM || \ +@@ -209,39 +233,63 @@ + #define IS_HSW_GT1(devid) (devid == PCI_CHIP_HASWELL_GT1 || \ + devid == PCI_CHIP_HASWELL_M_GT1 || \ + devid == PCI_CHIP_HASWELL_S_GT1 || \ ++ devid == PCI_CHIP_HASWELL_B_GT1 || \ ++ devid == PCI_CHIP_HASWELL_E_GT1 || \ + devid == PCI_CHIP_HASWELL_SDV_GT1 || \ + devid == PCI_CHIP_HASWELL_SDV_M_GT1 || \ + devid == PCI_CHIP_HASWELL_SDV_S_GT1 || \ ++ devid == PCI_CHIP_HASWELL_SDV_B_GT1 || \ ++ devid == PCI_CHIP_HASWELL_SDV_E_GT1 || \ + devid == PCI_CHIP_HASWELL_ULT_GT1 || \ + devid == PCI_CHIP_HASWELL_ULT_M_GT1 || \ + devid == PCI_CHIP_HASWELL_ULT_S_GT1 || \ ++ devid == PCI_CHIP_HASWELL_ULT_B_GT1 || \ ++ devid == PCI_CHIP_HASWELL_ULT_E_GT1 || \ + devid == PCI_CHIP_HASWELL_CRW_GT1 || \ + devid == PCI_CHIP_HASWELL_CRW_M_GT1 || \ +- devid == PCI_CHIP_HASWELL_CRW_S_GT1) ++ devid == PCI_CHIP_HASWELL_CRW_S_GT1 || \ ++ devid == PCI_CHIP_HASWELL_CRW_B_GT1 || \ ++ devid == PCI_CHIP_HASWELL_CRW_E_GT1) + #define IS_HSW_GT2(devid) (devid == PCI_CHIP_HASWELL_GT2 || \ + devid == PCI_CHIP_HASWELL_M_GT2 || \ + devid == PCI_CHIP_HASWELL_S_GT2 || \ ++ devid == PCI_CHIP_HASWELL_B_GT2 || \ ++ devid == PCI_CHIP_HASWELL_E_GT2 || \ + devid == PCI_CHIP_HASWELL_SDV_GT2 || \ + devid == PCI_CHIP_HASWELL_SDV_M_GT2 || \ + devid == PCI_CHIP_HASWELL_SDV_S_GT2 || \ ++ devid == PCI_CHIP_HASWELL_SDV_B_GT2 || \ ++ devid == PCI_CHIP_HASWELL_SDV_E_GT2 || \ + devid == PCI_CHIP_HASWELL_ULT_GT2 || \ + devid == PCI_CHIP_HASWELL_ULT_M_GT2 || \ + devid == PCI_CHIP_HASWELL_ULT_S_GT2 || \ ++ devid == PCI_CHIP_HASWELL_ULT_B_GT2 || \ ++ devid == PCI_CHIP_HASWELL_ULT_E_GT2 || \ + devid == PCI_CHIP_HASWELL_CRW_GT2 || \ + devid == PCI_CHIP_HASWELL_CRW_M_GT2 || \ +- devid == PCI_CHIP_HASWELL_CRW_S_GT2) ++ devid == PCI_CHIP_HASWELL_CRW_S_GT2 || \ ++ devid == PCI_CHIP_HASWELL_CRW_B_GT2 || \ ++ devid == PCI_CHIP_HASWELL_CRW_E_GT2) + #define IS_HSW_GT3(devid) (devid == PCI_CHIP_HASWELL_GT3 || \ + devid == PCI_CHIP_HASWELL_M_GT3 || \ + devid == PCI_CHIP_HASWELL_S_GT3 || \ ++ devid == PCI_CHIP_HASWELL_B_GT3 || \ ++ devid == PCI_CHIP_HASWELL_E_GT3 || \ + devid == PCI_CHIP_HASWELL_SDV_GT3 || \ + devid == PCI_CHIP_HASWELL_SDV_M_GT3 || \ + devid == PCI_CHIP_HASWELL_SDV_S_GT3 || \ ++ devid == PCI_CHIP_HASWELL_SDV_B_GT3 || \ ++ devid == PCI_CHIP_HASWELL_SDV_E_GT3 || \ + devid == PCI_CHIP_HASWELL_ULT_GT3 || \ + devid == PCI_CHIP_HASWELL_ULT_M_GT3 || \ + devid == PCI_CHIP_HASWELL_ULT_S_GT3 || \ ++ devid == PCI_CHIP_HASWELL_ULT_B_GT3 || \ ++ devid == PCI_CHIP_HASWELL_ULT_E_GT3 || \ + devid == PCI_CHIP_HASWELL_CRW_GT3 || \ + devid == PCI_CHIP_HASWELL_CRW_M_GT3 || \ +- devid == PCI_CHIP_HASWELL_CRW_S_GT3) ++ devid == PCI_CHIP_HASWELL_CRW_S_GT3 || \ ++ devid == PCI_CHIP_HASWELL_CRW_B_GT3 || \ ++ devid == PCI_CHIP_HASWELL_CRW_E_GT3) + + #define IS_HASWELL(devid) (IS_HSW_GT1(devid) || \ + IS_HSW_GT2(devid) || \ +diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c +index 88cc247..ab7f80b 100644 +--- a/src/mesa/drivers/dri/intel/intel_context.c ++++ b/src/mesa/drivers/dri/intel/intel_context.c +@@ -235,6 +235,32 @@ intelGetString(struct gl_context * ctx, GLenum name) + case PCI_CHIP_HASWELL_CRW_S_GT3: + chipset = "Intel(R) Haswell Server"; + break; ++ case PCI_CHIP_HASWELL_B_GT1: ++ case PCI_CHIP_HASWELL_B_GT2: ++ case PCI_CHIP_HASWELL_B_GT3: ++ case PCI_CHIP_HASWELL_SDV_B_GT1: ++ case PCI_CHIP_HASWELL_SDV_B_GT2: ++ case PCI_CHIP_HASWELL_SDV_B_GT3: ++ case PCI_CHIP_HASWELL_ULT_B_GT1: ++ case PCI_CHIP_HASWELL_ULT_B_GT2: ++ case PCI_CHIP_HASWELL_ULT_B_GT3: ++ case PCI_CHIP_HASWELL_CRW_B_GT1: ++ case PCI_CHIP_HASWELL_CRW_B_GT2: ++ case PCI_CHIP_HASWELL_CRW_B_GT3: ++ case PCI_CHIP_HASWELL_E_GT1: ++ case PCI_CHIP_HASWELL_E_GT2: ++ case PCI_CHIP_HASWELL_E_GT3: ++ case PCI_CHIP_HASWELL_SDV_E_GT1: ++ case PCI_CHIP_HASWELL_SDV_E_GT2: ++ case PCI_CHIP_HASWELL_SDV_E_GT3: ++ case PCI_CHIP_HASWELL_ULT_E_GT1: ++ case PCI_CHIP_HASWELL_ULT_E_GT2: ++ case PCI_CHIP_HASWELL_ULT_E_GT3: ++ case PCI_CHIP_HASWELL_CRW_E_GT1: ++ case PCI_CHIP_HASWELL_CRW_E_GT2: ++ case PCI_CHIP_HASWELL_CRW_E_GT3: ++ chipset = "Intel(R) Haswell"; ++ break; + default: + chipset = "Unknown Intel Chipset"; + break; --- mesa-9.0.3.orig/debian/patches/add-vlv-ids.diff +++ mesa-9.0.3/debian/patches/add-vlv-ids.diff @@ -0,0 +1,97 @@ +commit e7965598b7cc1123847e5c87ab16745145e849e2 +Author: Kenneth Graunke +Date: Wed Oct 3 14:26:29 2012 -0700 + + i965: Enable the Bay Trail platform. + + This patch adds PCI IDs for Bay Trail (sometimes called Valley View). + As far as the 3D driver is concerned, it's very similar to Ivybridge, + so the existing code should work just fine. + + Signed-off-by: Kenneth Graunke + +diff --git a/include/pci_ids/i965_pci_ids.h b/include/pci_ids/i965_pci_ids.h +index 1e388f8..9a2da61 100644 +--- a/include/pci_ids/i965_pci_ids.h ++++ b/include/pci_ids/i965_pci_ids.h +@@ -62,3 +62,8 @@ CHIPSET(0x0D26, HASWELL_CRW_M_GT2_PLUS, hsw_gt2) + CHIPSET(0x0D0A, HASWELL_CRW_S_GT1, hsw_gt1) + CHIPSET(0x0D1A, HASWELL_CRW_S_GT2, hsw_gt2) + CHIPSET(0x0D2A, HASWELL_CRW_S_GT2_PLUS, hsw_gt2) ++CHIPSET(0x0F31, BAYTRAIL_M_1, byt) ++CHIPSET(0x0F32, BAYTRAIL_M_2, byt) ++CHIPSET(0x0F33, BAYTRAIL_M_3, byt) ++CHIPSET(0x0157, BAYTRAIL_M_4, byt) ++CHIPSET(0x0155, BAYTRAIL_D, byt) +diff --git a/src/mesa/drivers/dri/intel/intel_chipset.h b/src/mesa/drivers/dri/intel/intel_chipset.h +index 885f6c2..04753dd 100644 +--- a/src/mesa/drivers/dri/intel/intel_chipset.h ++++ b/src/mesa/drivers/dri/intel/intel_chipset.h +@@ -87,6 +87,12 @@ + #define PCI_CHIP_IVYBRIDGE_S_GT1 0x015a /* Server */ + #define PCI_CHIP_IVYBRIDGE_S_GT2 0x016a + ++#define PCI_CHIP_BAYTRAIL_M_1 0x0F31 ++#define PCI_CHIP_BAYTRAIL_M_2 0x0F32 ++#define PCI_CHIP_BAYTRAIL_M_3 0x0F33 ++#define PCI_CHIP_BAYTRAIL_M_4 0x0157 ++#define PCI_CHIP_BAYTRAIL_D 0x0155 ++ + #define PCI_CHIP_HASWELL_GT1 0x0402 /* Desktop */ + #define PCI_CHIP_HASWELL_GT2 0x0412 + #define PCI_CHIP_HASWELL_GT2_PLUS 0x0422 +@@ -190,7 +196,14 @@ + + #define IS_IVYBRIDGE(devid) (IS_IVB_GT1(devid) || IS_IVB_GT2(devid)) + ++#define IS_BAYTRAIL(devid) (devid == PCI_CHIP_BAYTRAIL_M_1 || \ ++ devid == PCI_CHIP_BAYTRAIL_M_2 || \ ++ devid == PCI_CHIP_BAYTRAIL_M_3 || \ ++ devid == PCI_CHIP_BAYTRAIL_M_4 || \ ++ devid == PCI_CHIP_BAYTRAIL_D) ++ + #define IS_GEN7(devid) (IS_IVYBRIDGE(devid) || \ ++ IS_BAYTRAIL(devid) || \ + IS_HASWELL(devid)) + + #define IS_HSW_GT1(devid) (devid == PCI_CHIP_HASWELL_GT1 || \ +diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c +index ba7d4b6..0a1dd75 100644 +--- a/src/mesa/drivers/dri/intel/intel_context.c ++++ b/src/mesa/drivers/dri/intel/intel_context.c +@@ -186,6 +186,13 @@ intelGetString(struct gl_context * ctx, GLenum name) + case PCI_CHIP_IVYBRIDGE_S_GT2: + chipset = "Intel(R) Ivybridge Server"; + break; ++ case PCI_CHIP_BAYTRAIL_M_1: ++ case PCI_CHIP_BAYTRAIL_M_2: ++ case PCI_CHIP_BAYTRAIL_M_3: ++ case PCI_CHIP_BAYTRAIL_M_4: ++ case PCI_CHIP_BAYTRAIL_D: ++ chipset = "Intel(R) Bay Trail"; ++ break; + case PCI_CHIP_HASWELL_GT1: + case PCI_CHIP_HASWELL_GT2: + case PCI_CHIP_HASWELL_GT2_PLUS: +@@ -682,6 +689,9 @@ intelInitContext(struct intel_context *intel, + + if (IS_HASWELL(devID)) { + intel->is_haswell = true; ++ } else if (IS_BAYTRAIL(devID)) { ++ intel->is_baytrail = true; ++ intel->gt = 1; + } else if (IS_G4X(devID)) { + intel->is_g4x = true; + } else if (IS_945(devID)) { +diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h +index 4591ab7..c0f07ff 100644 +--- a/src/mesa/drivers/dri/intel/intel_context.h ++++ b/src/mesa/drivers/dri/intel/intel_context.h +@@ -236,6 +236,7 @@ struct intel_context + int gt; + bool needs_ff_sync; + bool is_haswell; ++ bool is_baytrail; + bool is_g4x; + bool is_945; + bool has_separate_stencil; --- mesa-9.0.3.orig/debian/patches/10-hurd-configure-tweaks.diff +++ mesa-9.0.3/debian/patches/10-hurd-configure-tweaks.diff @@ -0,0 +1,14 @@ +Enable x86 assembler on Hurd. + +Thanks to Pino Toscano. +--- a/configure.ac ++++ b/configure.ac +@@ -438,7 +438,7 @@ + case "$host_cpu" in + i?86) + case "$host_os" in +- linux* | *freebsd* | dragonfly* | *netbsd*) ++ linux* | *freebsd* | dragonfly* | *netbsd* | gnu*) + test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86 + ;; + esac --- mesa-9.0.3.orig/debian/patches/fix-hsw-gt3-names.diff +++ mesa-9.0.3/debian/patches/fix-hsw-gt3-names.diff @@ -0,0 +1,238 @@ +commit f1d2b373177dbbb582cefb0d6c88994073fab652 +Author: Paulo Zanoni +Date: Fri Aug 10 12:06:37 2012 -0300 + + i965: make GT3 machines work as GT3 instead of GT2 + + We were not allowed to say the "GT3" name, but we really needed to + have the PCI IDs because too many people had such machines, so we had + to make the GT3 machines work as GT2. + + Let's just say that GT2_PLUS was a short for GT2_PLUS_1 :) + + NOTE: This is a candidate for stable branches. + + Signed-off-by: Paulo Zanoni + Signed-off-by: Kenneth Graunke + +diff --git a/include/pci_ids/i965_pci_ids.h b/include/pci_ids/i965_pci_ids.h +index 9a2da61..3e9765c 100644 +--- a/include/pci_ids/i965_pci_ids.h ++++ b/include/pci_ids/i965_pci_ids.h +@@ -28,40 +28,40 @@ CHIPSET(0x015a, IVYBRIDGE_S_GT1, ivb_gt1) + CHIPSET(0x016a, IVYBRIDGE_S_GT2, ivb_gt2) + CHIPSET(0x0402, HASWELL_GT1, hsw_gt1) + CHIPSET(0x0412, HASWELL_GT2, hsw_gt2) +-CHIPSET(0x0422, HASWELL_GT2_PLUS, hsw_gt2) ++CHIPSET(0x0422, HASWELL_GT3, hsw_gt3) + CHIPSET(0x0406, HASWELL_M_GT1, hsw_gt1) + CHIPSET(0x0416, HASWELL_M_GT2, hsw_gt2) +-CHIPSET(0x0426, HASWELL_M_GT2_PLUS, hsw_gt2) ++CHIPSET(0x0426, HASWELL_M_GT3, hsw_gt3) + CHIPSET(0x040A, HASWELL_S_GT1, hsw_gt1) + CHIPSET(0x041A, HASWELL_S_GT2, hsw_gt2) +-CHIPSET(0x042A, HASWELL_S_GT2_PLUS, hsw_gt2) ++CHIPSET(0x042A, HASWELL_S_GT3, hsw_gt3) + CHIPSET(0x0C02, HASWELL_SDV_GT1, hsw_gt1) + CHIPSET(0x0C12, HASWELL_SDV_GT2, hsw_gt2) +-CHIPSET(0x0C22, HASWELL_SDV_GT2_PLUS, hsw_gt2) ++CHIPSET(0x0C22, HASWELL_SDV_GT3, hsw_gt3) + CHIPSET(0x0C06, HASWELL_SDV_M_GT1, hsw_gt1) + CHIPSET(0x0C16, HASWELL_SDV_M_GT2, hsw_gt2) +-CHIPSET(0x0C26, HASWELL_SDV_M_GT2_PLUS, hsw_gt2) ++CHIPSET(0x0C26, HASWELL_SDV_M_GT3, hsw_gt3) + CHIPSET(0x0C0A, HASWELL_SDV_S_GT1, hsw_gt1) + CHIPSET(0x0C1A, HASWELL_SDV_S_GT2, hsw_gt2) +-CHIPSET(0x0C2A, HASWELL_SDV_S_GT2_PLUS, hsw_gt2) ++CHIPSET(0x0C2A, HASWELL_SDV_S_GT3, hsw_gt3) + CHIPSET(0x0A02, HASWELL_ULT_GT1, hsw_gt1) + CHIPSET(0x0A12, HASWELL_ULT_GT2, hsw_gt2) +-CHIPSET(0x0A22, HASWELL_ULT_GT2_PLUS, hsw_gt2) ++CHIPSET(0x0A22, HASWELL_ULT_GT3, hsw_gt3) + CHIPSET(0x0A06, HASWELL_ULT_M_GT1, hsw_gt1) + CHIPSET(0x0A16, HASWELL_ULT_M_GT2, hsw_gt2) +-CHIPSET(0x0A26, HASWELL_ULT_M_GT2_PLUS, hsw_gt2) ++CHIPSET(0x0A26, HASWELL_ULT_M_GT3, hsw_gt3) + CHIPSET(0x0A0A, HASWELL_ULT_S_GT1, hsw_gt1) + CHIPSET(0x0A1A, HASWELL_ULT_S_GT2, hsw_gt2) +-CHIPSET(0x0A2A, HASWELL_ULT_S_GT2_PLUS, hsw_gt2) ++CHIPSET(0x0A2A, HASWELL_ULT_S_GT3, hsw_gt3) + CHIPSET(0x0D02, HASWELL_CRW_GT1, hsw_gt1) + CHIPSET(0x0D12, HASWELL_CRW_GT2, hsw_gt2) +-CHIPSET(0x0D22, HASWELL_CRW_GT2_PLUS, hsw_gt2) ++CHIPSET(0x0D22, HASWELL_CRW_GT3, hsw_gt3) + CHIPSET(0x0D06, HASWELL_CRW_M_GT1, hsw_gt1) + CHIPSET(0x0D16, HASWELL_CRW_M_GT2, hsw_gt2) +-CHIPSET(0x0D26, HASWELL_CRW_M_GT2_PLUS, hsw_gt2) ++CHIPSET(0x0D26, HASWELL_CRW_M_GT3, hsw_gt3) + CHIPSET(0x0D0A, HASWELL_CRW_S_GT1, hsw_gt1) + CHIPSET(0x0D1A, HASWELL_CRW_S_GT2, hsw_gt2) +-CHIPSET(0x0D2A, HASWELL_CRW_S_GT2_PLUS, hsw_gt2) ++CHIPSET(0x0D2A, HASWELL_CRW_S_GT3, hsw_gt3) + CHIPSET(0x0F31, BAYTRAIL_M_1, byt) + CHIPSET(0x0F32, BAYTRAIL_M_2, byt) + CHIPSET(0x0F33, BAYTRAIL_M_3, byt) +diff --git a/src/mesa/drivers/dri/intel/intel_chipset.h b/src/mesa/drivers/dri/intel/intel_chipset.h +index 04753dd..df025ac 100644 +--- a/src/mesa/drivers/dri/intel/intel_chipset.h ++++ b/src/mesa/drivers/dri/intel/intel_chipset.h +@@ -95,40 +95,40 @@ + + #define PCI_CHIP_HASWELL_GT1 0x0402 /* Desktop */ + #define PCI_CHIP_HASWELL_GT2 0x0412 +-#define PCI_CHIP_HASWELL_GT2_PLUS 0x0422 ++#define PCI_CHIP_HASWELL_GT3 0x0422 + #define PCI_CHIP_HASWELL_M_GT1 0x0406 /* Mobile */ + #define PCI_CHIP_HASWELL_M_GT2 0x0416 +-#define PCI_CHIP_HASWELL_M_GT2_PLUS 0x0426 ++#define PCI_CHIP_HASWELL_M_GT3 0x0426 + #define PCI_CHIP_HASWELL_S_GT1 0x040A /* Server */ + #define PCI_CHIP_HASWELL_S_GT2 0x041A +-#define PCI_CHIP_HASWELL_S_GT2_PLUS 0x042A ++#define PCI_CHIP_HASWELL_S_GT3 0x042A + #define PCI_CHIP_HASWELL_SDV_GT1 0x0C02 /* Desktop */ + #define PCI_CHIP_HASWELL_SDV_GT2 0x0C12 +-#define PCI_CHIP_HASWELL_SDV_GT2_PLUS 0x0C22 ++#define PCI_CHIP_HASWELL_SDV_GT3 0x0C22 + #define PCI_CHIP_HASWELL_SDV_M_GT1 0x0C06 /* Mobile */ + #define PCI_CHIP_HASWELL_SDV_M_GT2 0x0C16 +-#define PCI_CHIP_HASWELL_SDV_M_GT2_PLUS 0x0C26 ++#define PCI_CHIP_HASWELL_SDV_M_GT3 0x0C26 + #define PCI_CHIP_HASWELL_SDV_S_GT1 0x0C0A /* Server */ + #define PCI_CHIP_HASWELL_SDV_S_GT2 0x0C1A +-#define PCI_CHIP_HASWELL_SDV_S_GT2_PLUS 0x0C2A ++#define PCI_CHIP_HASWELL_SDV_S_GT3 0x0C2A + #define PCI_CHIP_HASWELL_ULT_GT1 0x0A02 /* Desktop */ + #define PCI_CHIP_HASWELL_ULT_GT2 0x0A12 +-#define PCI_CHIP_HASWELL_ULT_GT2_PLUS 0x0A22 ++#define PCI_CHIP_HASWELL_ULT_GT3 0x0A22 + #define PCI_CHIP_HASWELL_ULT_M_GT1 0x0A06 /* Mobile */ + #define PCI_CHIP_HASWELL_ULT_M_GT2 0x0A16 +-#define PCI_CHIP_HASWELL_ULT_M_GT2_PLUS 0x0A26 ++#define PCI_CHIP_HASWELL_ULT_M_GT3 0x0A26 + #define PCI_CHIP_HASWELL_ULT_S_GT1 0x0A0A /* Server */ + #define PCI_CHIP_HASWELL_ULT_S_GT2 0x0A1A +-#define PCI_CHIP_HASWELL_ULT_S_GT2_PLUS 0x0A2A ++#define PCI_CHIP_HASWELL_ULT_S_GT3 0x0A2A + #define PCI_CHIP_HASWELL_CRW_GT1 0x0D02 /* Desktop */ + #define PCI_CHIP_HASWELL_CRW_GT2 0x0D12 +-#define PCI_CHIP_HASWELL_CRW_GT2_PLUS 0x0D22 ++#define PCI_CHIP_HASWELL_CRW_GT3 0x0D22 + #define PCI_CHIP_HASWELL_CRW_M_GT1 0x0D06 /* Mobile */ + #define PCI_CHIP_HASWELL_CRW_M_GT2 0x0D16 +-#define PCI_CHIP_HASWELL_CRW_M_GT2_PLUS 0x0D26 ++#define PCI_CHIP_HASWELL_CRW_M_GT3 0x0D26 + #define PCI_CHIP_HASWELL_CRW_S_GT1 0x0D0A /* Server */ + #define PCI_CHIP_HASWELL_CRW_S_GT2 0x0D1A +-#define PCI_CHIP_HASWELL_CRW_S_GT2_PLUS 0x0D2A ++#define PCI_CHIP_HASWELL_CRW_S_GT3 0x0D2A + + #define IS_MOBILE(devid) (devid == PCI_CHIP_I855_GM || \ + devid == PCI_CHIP_I915_GM || \ +@@ -229,21 +229,23 @@ + devid == PCI_CHIP_HASWELL_ULT_S_GT2 || \ + devid == PCI_CHIP_HASWELL_CRW_GT2 || \ + devid == PCI_CHIP_HASWELL_CRW_M_GT2 || \ +- devid == PCI_CHIP_HASWELL_CRW_S_GT2 || \ +- devid == PCI_CHIP_HASWELL_M_GT2_PLUS || \ +- devid == PCI_CHIP_HASWELL_S_GT2_PLUS || \ +- devid == PCI_CHIP_HASWELL_SDV_GT2_PLUS || \ +- devid == PCI_CHIP_HASWELL_SDV_M_GT2_PLUS || \ +- devid == PCI_CHIP_HASWELL_SDV_S_GT2_PLUS || \ +- devid == PCI_CHIP_HASWELL_ULT_GT2_PLUS || \ +- devid == PCI_CHIP_HASWELL_ULT_M_GT2_PLUS || \ +- devid == PCI_CHIP_HASWELL_ULT_S_GT2_PLUS || \ +- devid == PCI_CHIP_HASWELL_CRW_GT2_PLUS || \ +- devid == PCI_CHIP_HASWELL_CRW_M_GT2_PLUS || \ +- devid == PCI_CHIP_HASWELL_CRW_S_GT2_PLUS) ++ devid == PCI_CHIP_HASWELL_CRW_S_GT2) ++ ++#define IS_HSW_GT3(devid) (devid == PCI_CHIP_HASWELL_M_GT3 || \ ++ devid == PCI_CHIP_HASWELL_S_GT3 || \ ++ devid == PCI_CHIP_HASWELL_SDV_GT3 || \ ++ devid == PCI_CHIP_HASWELL_SDV_M_GT3 || \ ++ devid == PCI_CHIP_HASWELL_SDV_S_GT3 || \ ++ devid == PCI_CHIP_HASWELL_ULT_GT3 || \ ++ devid == PCI_CHIP_HASWELL_ULT_M_GT3 || \ ++ devid == PCI_CHIP_HASWELL_ULT_S_GT3 || \ ++ devid == PCI_CHIP_HASWELL_CRW_GT3 || \ ++ devid == PCI_CHIP_HASWELL_CRW_M_GT3 || \ ++ devid == PCI_CHIP_HASWELL_CRW_S_GT3) + + #define IS_HASWELL(devid) (IS_HSW_GT1(devid) || \ +- IS_HSW_GT2(devid)) ++ IS_HSW_GT2(devid) || \ ++ IS_HSW_GT3(devid)) + + #define IS_965(devid) (IS_GEN4(devid) || \ + IS_G4X(devid) || \ +diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c +index 0a1dd75..88cc247 100644 +--- a/src/mesa/drivers/dri/intel/intel_context.c ++++ b/src/mesa/drivers/dri/intel/intel_context.c +@@ -195,44 +195,44 @@ intelGetString(struct gl_context * ctx, GLenum name) + break; + case PCI_CHIP_HASWELL_GT1: + case PCI_CHIP_HASWELL_GT2: +- case PCI_CHIP_HASWELL_GT2_PLUS: ++ case PCI_CHIP_HASWELL_GT3: + case PCI_CHIP_HASWELL_SDV_GT1: + case PCI_CHIP_HASWELL_SDV_GT2: +- case PCI_CHIP_HASWELL_SDV_GT2_PLUS: ++ case PCI_CHIP_HASWELL_SDV_GT3: + case PCI_CHIP_HASWELL_ULT_GT1: + case PCI_CHIP_HASWELL_ULT_GT2: +- case PCI_CHIP_HASWELL_ULT_GT2_PLUS: ++ case PCI_CHIP_HASWELL_ULT_GT3: + case PCI_CHIP_HASWELL_CRW_GT1: + case PCI_CHIP_HASWELL_CRW_GT2: +- case PCI_CHIP_HASWELL_CRW_GT2_PLUS: ++ case PCI_CHIP_HASWELL_CRW_GT3: + chipset = "Intel(R) Haswell Desktop"; + break; + case PCI_CHIP_HASWELL_M_GT1: + case PCI_CHIP_HASWELL_M_GT2: +- case PCI_CHIP_HASWELL_M_GT2_PLUS: ++ case PCI_CHIP_HASWELL_M_GT3: + case PCI_CHIP_HASWELL_SDV_M_GT1: + case PCI_CHIP_HASWELL_SDV_M_GT2: +- case PCI_CHIP_HASWELL_SDV_M_GT2_PLUS: ++ case PCI_CHIP_HASWELL_SDV_M_GT3: + case PCI_CHIP_HASWELL_ULT_M_GT1: + case PCI_CHIP_HASWELL_ULT_M_GT2: +- case PCI_CHIP_HASWELL_ULT_M_GT2_PLUS: ++ case PCI_CHIP_HASWELL_ULT_M_GT3: + case PCI_CHIP_HASWELL_CRW_M_GT1: + case PCI_CHIP_HASWELL_CRW_M_GT2: +- case PCI_CHIP_HASWELL_CRW_M_GT2_PLUS: ++ case PCI_CHIP_HASWELL_CRW_M_GT3: + chipset = "Intel(R) Haswell Mobile"; + break; + case PCI_CHIP_HASWELL_S_GT1: + case PCI_CHIP_HASWELL_S_GT2: +- case PCI_CHIP_HASWELL_S_GT2_PLUS: ++ case PCI_CHIP_HASWELL_S_GT3: + case PCI_CHIP_HASWELL_SDV_S_GT1: + case PCI_CHIP_HASWELL_SDV_S_GT2: +- case PCI_CHIP_HASWELL_SDV_S_GT2_PLUS: ++ case PCI_CHIP_HASWELL_SDV_S_GT3: + case PCI_CHIP_HASWELL_ULT_S_GT1: + case PCI_CHIP_HASWELL_ULT_S_GT2: +- case PCI_CHIP_HASWELL_ULT_S_GT2_PLUS: ++ case PCI_CHIP_HASWELL_ULT_S_GT3: + case PCI_CHIP_HASWELL_CRW_S_GT1: + case PCI_CHIP_HASWELL_CRW_S_GT2: +- case PCI_CHIP_HASWELL_CRW_S_GT2_PLUS: ++ case PCI_CHIP_HASWELL_CRW_S_GT3: + chipset = "Intel(R) Haswell Server"; + break; + default: +@@ -684,6 +684,8 @@ intelInitContext(struct intel_context *intel, + intel->gt = 1; + else if (IS_SNB_GT2(devID) || IS_IVB_GT2(devID) || IS_HSW_GT2(devID)) + intel->gt = 2; ++ else if (IS_HSW_GT3(devID)) ++ intel->gt = 3; + else + intel->gt = 0; + --- mesa-9.0.3.orig/debian/patches/119-revert-wayland102.patch +++ mesa-9.0.3/debian/patches/119-revert-wayland102.patch @@ -0,0 +1,1084 @@ +Revert back to wayland 0.95 shipped with quantal. + +Patch generated with: +git diff a5776ac0b8c015bf5d6a8513^ \ + src/egl/wayland/ src/egl/drivers/dri2/*wayland* \ + src/gallium/state_trackers/egl/wayland/ \ + src/egl/drivers/dri2/egl_dri2.h \ + | patch -Rp1 + +--- +diff --git a/configure.ac b/configure.ac +index 682e0a5..b711e13 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1530,7 +1530,7 @@ for plat in $egl_platforms; do + ;; + + wayland) +- PKG_CHECK_MODULES([WAYLAND], [wayland-client >= 1.0.2 wayland-server >= 1.0.2]) ++ PKG_CHECK_MODULES([WAYLAND], [wayland-client wayland-server]) + GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/wayland" + + WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client` +diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h +index 2e7b547..81c1354 100644 +--- a/src/egl/drivers/dri2/egl_dri2.h ++++ b/src/egl/drivers/dri2/egl_dri2.h +@@ -122,10 +122,8 @@ struct dri2_egl_display + + #ifdef HAVE_WAYLAND_PLATFORM + struct wl_display *wl_dpy; +- struct wl_registry *wl_registry; + struct wl_drm *wl_server_drm; + struct wl_drm *wl_drm; +- struct wl_event_queue *wl_queue; + int authenticated; + int formats; + #endif +@@ -176,8 +174,7 @@ struct dri2_egl_surface + __DRIbuffer *dri_buffers[__DRI_BUFFER_COUNT]; + __DRIbuffer *third_buffer; + __DRIbuffer *pending_buffer; +- struct wl_callback *frame_callback; +- struct wl_callback *pending_buffer_callback; ++ EGLBoolean block_swap_buffers; + int format; + #endif + +diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c +index ccff9a8..d291f0f 100644 +--- a/src/egl/drivers/dri2/platform_wayland.c ++++ b/src/egl/drivers/dri2/platform_wayland.c +@@ -46,37 +46,6 @@ enum wl_drm_format_flags { + }; + + static void +-sync_callback(void *data, struct wl_callback *callback, uint32_t serial) +-{ +- int *done = data; +- +- *done = 1; +- wl_callback_destroy(callback); +-} +- +-static const struct wl_callback_listener sync_listener = { +- sync_callback +-}; +- +-static int +-roundtrip(struct dri2_egl_display *dri2_dpy) +-{ +- struct wl_callback *callback; +- int done = 0, ret = 0; +- +- callback = wl_display_sync(dri2_dpy->wl_dpy); +- wl_callback_add_listener(callback, &sync_listener, &done); +- wl_proxy_set_queue((struct wl_proxy *) callback, dri2_dpy->wl_queue); +- while (ret != -1 && !done) +- ret = wl_display_dispatch_queue(dri2_dpy->wl_dpy, dri2_dpy->wl_queue); +- +- if (!done) +- wl_callback_destroy(callback); +- +- return ret; +-} +- +-static void + wl_buffer_release(void *data, struct wl_buffer *buffer) + { + struct dri2_egl_surface *dri2_surf = data; +@@ -100,16 +69,6 @@ static struct wl_buffer_listener wl_buffer_listener = { + wl_buffer_release + }; + +-static void +-resize_callback(struct wl_egl_window *wl_win, void *data) +-{ +- struct dri2_egl_surface *dri2_surf = data; +- struct dri2_egl_display *dri2_dpy = +- dri2_egl_display(dri2_surf->base.Resource.Display); +- +- (*dri2_dpy->flush->invalidate)(dri2_surf->dri_drawable); +-} +- + /** + * Called via eglCreateWindowSurface(), drv->API.CreateWindowSurface(). + */ +@@ -121,6 +80,7 @@ dri2_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type, + struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); + struct dri2_egl_config *dri2_conf = dri2_egl_config(conf); + struct dri2_egl_surface *dri2_surf; ++ struct dri2_egl_buffer *dri2_buf; + int i; + + (void) drv; +@@ -144,8 +104,7 @@ dri2_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type, + + dri2_surf->pending_buffer = NULL; + dri2_surf->third_buffer = NULL; +- dri2_surf->frame_callback = NULL; +- dri2_surf->pending_buffer_callback = NULL; ++ dri2_surf->block_swap_buffers = EGL_FALSE; + + if (conf->AlphaSize == 0) + dri2_surf->format = WL_DRM_FORMAT_XRGB8888; +@@ -156,12 +115,20 @@ dri2_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type, + case EGL_WINDOW_BIT: + dri2_surf->wl_win = (struct wl_egl_window *) window; + +- dri2_surf->wl_win->private = dri2_surf; +- dri2_surf->wl_win->resize_callback = resize_callback; +- + dri2_surf->base.Width = -1; + dri2_surf->base.Height = -1; + break; ++ case EGL_PIXMAP_BIT: ++ dri2_surf->wl_pix = (struct wl_egl_pixmap *) window; ++ ++ dri2_surf->base.Width = dri2_surf->wl_pix->width; ++ dri2_surf->base.Height = dri2_surf->wl_pix->height; ++ ++ if (dri2_surf->wl_pix->driver_private) { ++ dri2_buf = dri2_surf->wl_pix->driver_private; ++ dri2_surf->dri_buffers[__DRI_BUFFER_FRONT_LEFT] = dri2_buf->dri_buffer; ++ } ++ break; + default: + goto cleanup_surf; + } +@@ -199,6 +166,15 @@ dri2_create_window_surface(_EGLDriver *drv, _EGLDisplay *disp, + window, attrib_list); + } + ++static _EGLSurface * ++dri2_create_pixmap_surface(_EGLDriver *drv, _EGLDisplay *disp, ++ _EGLConfig *conf, EGLNativePixmapType pixmap, ++ const EGLint *attrib_list) ++{ ++ return dri2_create_surface(drv, disp, EGL_PIXMAP_BIT, conf, ++ pixmap, attrib_list); ++} ++ + /** + * Called via eglDestroySurface(), drv->API.DestroySurface(). + */ +@@ -221,7 +197,8 @@ dri2_destroy_surface(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf) + wl_buffer_destroy(dri2_surf->wl_drm_buffer[i]); + + for (i = 0; i < __DRI_BUFFER_COUNT; ++i) +- if (dri2_surf->dri_buffers[i]) ++ if (dri2_surf->dri_buffers[i] && !(i == __DRI_BUFFER_FRONT_LEFT && ++ dri2_surf->base.Type == EGL_PIXMAP_BIT)) + dri2_dpy->dri2->releaseBuffer(dri2_dpy->dri_screen, + dri2_surf->dri_buffers[i]); + +@@ -230,21 +207,25 @@ dri2_destroy_surface(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf) + dri2_surf->third_buffer); + } + +- if (dri2_surf->frame_callback) +- wl_callback_destroy(dri2_surf->frame_callback); ++ free(surf); + +- if (dri2_surf->pending_buffer_callback) +- wl_callback_destroy(dri2_surf->pending_buffer_callback); ++ return EGL_TRUE; ++} + ++static void ++dri2_wl_egl_pixmap_destroy(struct wl_egl_pixmap *egl_pixmap) ++{ ++ struct dri2_egl_buffer *dri2_buf = egl_pixmap->driver_private; + +- if (dri2_surf->base.Type == EGL_WINDOW_BIT) { +- dri2_surf->wl_win->private = NULL; +- dri2_surf->wl_win->resize_callback = NULL; +- } ++ assert(dri2_buf); + +- free(surf); ++ dri2_buf->dri2_dpy->dri2->releaseBuffer(dri2_buf->dri2_dpy->dri_screen, ++ dri2_buf->dri_buffer); + +- return EGL_TRUE; ++ free(dri2_buf); ++ ++ egl_pixmap->driver_private = NULL; ++ egl_pixmap->destroy = NULL; + } + + static struct wl_buffer * +@@ -287,6 +268,30 @@ dri2_process_back_buffer(struct dri2_egl_surface *dri2_surf, unsigned format) + } + + static void ++dri2_process_front_buffer(struct dri2_egl_surface *dri2_surf, unsigned format) ++{ ++ struct dri2_egl_display *dri2_dpy = ++ dri2_egl_display(dri2_surf->base.Resource.Display); ++ struct dri2_egl_buffer *dri2_buf; ++ ++ switch (dri2_surf->base.Type) { ++ case EGL_PIXMAP_BIT: ++ dri2_buf = malloc(sizeof *dri2_buf); ++ if (!dri2_buf) ++ return; ++ ++ dri2_buf->dri_buffer = dri2_surf->dri_buffers[__DRI_BUFFER_FRONT_LEFT]; ++ dri2_buf->dri2_dpy = dri2_dpy; ++ ++ dri2_surf->wl_pix->driver_private = dri2_buf; ++ dri2_surf->wl_pix->destroy = dri2_wl_egl_pixmap_destroy; ++ break; ++ default: ++ break; ++ } ++} ++ ++static void + dri2_release_pending_buffer(void *data, + struct wl_callback *callback, uint32_t time) + { +@@ -303,7 +308,6 @@ dri2_release_pending_buffer(void *data, + dri2_surf->pending_buffer = NULL; + + wl_callback_destroy(callback); +- dri2_surf->pending_buffer_callback = NULL; + } + + static const struct wl_callback_listener release_buffer_listener = { +@@ -329,14 +333,11 @@ dri2_release_buffers(struct dri2_egl_surface *dri2_surf) + switch (i) { + case __DRI_BUFFER_FRONT_LEFT: + if (dri2_surf->pending_buffer) +- roundtrip(dri2_dpy); ++ wl_display_roundtrip(dri2_dpy->wl_dpy); + dri2_surf->pending_buffer = dri2_surf->dri_buffers[i]; + callback = wl_display_sync(dri2_dpy->wl_dpy); + wl_callback_add_listener(callback, + &release_buffer_listener, dri2_surf); +- wl_proxy_set_queue((struct wl_proxy *) callback, +- dri2_dpy->wl_queue); +- dri2_surf->pending_buffer_callback = callback; + break; + default: + dri2_dpy->dri2->releaseBuffer(dri2_dpy->dri_screen, +@@ -429,9 +430,6 @@ dri2_get_buffers_with_format(__DRIdrawable * driDrawable, + dri2_egl_display(dri2_surf->base.Resource.Display); + int i; + +- /* There might be a buffer release already queued that wasn't processed */ +- wl_display_dispatch_queue_pending(dri2_dpy->wl_dpy, dri2_dpy->wl_queue); +- + if (dri2_surf->base.Type == EGL_WINDOW_BIT && + (dri2_surf->base.Width != dri2_surf->wl_win->width || + dri2_surf->base.Height != dri2_surf->wl_win->height)) { +@@ -468,7 +466,9 @@ dri2_get_buffers_with_format(__DRIdrawable * driDrawable, + if (!dri2_surf->dri_buffers[attachments[i]]) + continue; + +- if (attachments[i] == __DRI_BUFFER_BACK_LEFT) ++ if (attachments[i] == __DRI_BUFFER_FRONT_LEFT) ++ dri2_process_front_buffer(dri2_surf, attachments[i+1]); ++ else if (attachments[i] == __DRI_BUFFER_BACK_LEFT) + dri2_process_back_buffer(dri2_surf, attachments[i+1]); + } + +@@ -479,7 +479,13 @@ dri2_get_buffers_with_format(__DRIdrawable * driDrawable, + dri2_surf->buffer_count++; + } + +- assert(dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]); ++ assert(dri2_surf->base.Type == EGL_PIXMAP_BIT || ++ dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]); ++ ++ if (dri2_surf->base.Type == EGL_PIXMAP_BIT && !dri2_surf->wl_pix->buffer) ++ dri2_surf->wl_pix->buffer = ++ wayland_create_buffer(dri2_surf, ++ dri2_surf->dri_buffers[__DRI_BUFFER_FRONT_LEFT]); + + *out_count = dri2_surf->buffer_count; + if (dri2_surf->buffer_count == 0) +@@ -546,7 +552,7 @@ wayland_frame_callback(void *data, struct wl_callback *callback, uint32_t time) + { + struct dri2_egl_surface *dri2_surf = data; + +- dri2_surf->frame_callback = NULL; ++ dri2_surf->block_swap_buffers = EGL_FALSE; + wl_callback_destroy(callback); + } + +@@ -563,18 +569,17 @@ dri2_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw) + struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); + struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw); + struct dri2_egl_driver *dri2_drv = dri2_egl_driver(drv); +- int ret = 0; ++ struct wl_callback *callback; + +- while (dri2_surf->frame_callback && ret != -1) +- ret = wl_display_dispatch_queue(dri2_dpy->wl_dpy, dri2_dpy->wl_queue); +- if (ret < 0) +- return EGL_FALSE; ++ if (dri2_surf->block_swap_buffers) { ++ wl_display_flush(dri2_dpy->wl_dpy); ++ while (dri2_surf->block_swap_buffers) ++ wl_display_iterate(dri2_dpy->wl_dpy, WL_DISPLAY_READABLE); ++ } + +- dri2_surf->frame_callback = wl_surface_frame(dri2_surf->wl_win->surface); +- wl_callback_add_listener(dri2_surf->frame_callback, +- &frame_listener, dri2_surf); +- wl_proxy_set_queue((struct wl_proxy *) dri2_surf->frame_callback, +- dri2_dpy->wl_queue); ++ dri2_surf->block_swap_buffers = EGL_TRUE; ++ callback = wl_surface_frame(dri2_surf->wl_win->surface); ++ wl_callback_add_listener(callback, &frame_listener, dri2_surf); + + if (dri2_surf->base.Type == EGL_WINDOW_BIT) { + pointer_swap( +@@ -606,8 +611,6 @@ dri2_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw) + + wl_surface_damage(dri2_surf->wl_win->surface, 0, 0, + dri2_surf->base.Width, dri2_surf->base.Height); +- +- wl_surface_commit(dri2_surf->wl_win->surface); + } + + _EGLContext *ctx; +@@ -623,6 +626,71 @@ dri2_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw) + return EGL_TRUE; + } + ++/** ++ * Called via eglCreateImageKHR(), drv->API.CreateImageKHR(). ++ */ ++static _EGLImage * ++dri2_create_image_khr_pixmap(_EGLDisplay *disp, _EGLContext *ctx, ++ EGLClientBuffer buffer, const EGLint *attr_list) ++{ ++ struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); ++ struct wl_egl_pixmap *wl_egl_pixmap = (struct wl_egl_pixmap *) buffer; ++ struct dri2_egl_buffer *dri2_buf; ++ EGLint wl_attr_list[] = { ++ EGL_WIDTH, 0, ++ EGL_HEIGHT, 0, ++ EGL_DRM_BUFFER_STRIDE_MESA, 0, ++ EGL_DRM_BUFFER_FORMAT_MESA, EGL_DRM_BUFFER_FORMAT_ARGB32_MESA, ++ EGL_NONE ++ }; ++ ++ dri2_buf = malloc(sizeof *dri2_buf); ++ if (!dri2_buf) ++ return NULL; ++ ++ dri2_buf->dri2_dpy = dri2_dpy; ++ dri2_buf->dri_buffer = ++ dri2_dpy->dri2->allocateBuffer(dri2_dpy->dri_screen, ++ __DRI_BUFFER_FRONT_LEFT, 32, ++ wl_egl_pixmap->width, ++ wl_egl_pixmap->height); ++ ++ wl_egl_pixmap->destroy = dri2_wl_egl_pixmap_destroy; ++ wl_egl_pixmap->driver_private = dri2_buf; ++ ++ /* FIXME: Get buffer format from attr_list somehow... or from the ++ wl_egl_piaxmap. */ ++ wl_egl_pixmap->buffer = ++ wl_drm_create_buffer(dri2_dpy->wl_drm, ++ dri2_buf->dri_buffer->name, ++ wl_egl_pixmap->width, ++ wl_egl_pixmap->height, ++ dri2_buf->dri_buffer->pitch, ++ WL_DRM_FORMAT_ARGB8888); ++ ++ wl_attr_list[1] = wl_egl_pixmap->width; ++ wl_attr_list[3] = wl_egl_pixmap->height; ++ wl_attr_list[5] = dri2_buf->dri_buffer->pitch / 4; ++ ++ return dri2_create_image_khr(disp->Driver, disp, ctx, EGL_DRM_BUFFER_MESA, ++ (EGLClientBuffer)(intptr_t) dri2_buf->dri_buffer->name, wl_attr_list); ++} ++ ++static _EGLImage * ++dri2_wayland_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp, ++ _EGLContext *ctx, EGLenum target, ++ EGLClientBuffer buffer, const EGLint *attr_list) ++{ ++ (void) drv; ++ ++ switch (target) { ++ case EGL_NATIVE_PIXMAP_KHR: ++ return dri2_create_image_khr_pixmap(disp, ctx, buffer, attr_list); ++ default: ++ return dri2_create_image_khr(drv, disp, ctx, target, buffer, attr_list); ++ } ++} ++ + static int + dri2_wayland_authenticate(_EGLDisplay *disp, uint32_t id) + { +@@ -632,8 +700,7 @@ dri2_wayland_authenticate(_EGLDisplay *disp, uint32_t id) + dri2_dpy->authenticated = 0; + + wl_drm_authenticate(dri2_dpy->wl_drm, id); +- if (roundtrip(dri2_dpy) < 0) +- ret = -1; ++ wl_display_roundtrip(dri2_dpy->wl_dpy); + + if (!dri2_dpy->authenticated) + ret = -1; +@@ -728,37 +795,22 @@ static const struct wl_drm_listener drm_listener = { + drm_handle_authenticated + }; + +-static void +-registry_handle_global(void *data, struct wl_registry *registry, uint32_t name, +- const char *interface, uint32_t version) +-{ +- struct dri2_egl_display *dri2_dpy = data; +- +- if (strcmp(interface, "wl_drm") == 0) { +- dri2_dpy->wl_drm = +- wl_registry_bind(registry, name, &wl_drm_interface, 1); +- wl_drm_add_listener(dri2_dpy->wl_drm, &drm_listener, dri2_dpy); +- } +-} +- +-static const struct wl_registry_listener registry_listener = { +- registry_handle_global +-}; +- + EGLBoolean + dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp) + { + struct dri2_egl_display *dri2_dpy; + const __DRIconfig *config; +- uint32_t types; ++ uint32_t id, types; + int i; + static const unsigned int argb_masks[4] = + { 0xff0000, 0xff00, 0xff, 0xff000000 }; + static const unsigned int rgb_masks[4] = { 0xff0000, 0xff00, 0xff, 0 }; + + drv->API.CreateWindowSurface = dri2_create_window_surface; ++ drv->API.CreatePixmapSurface = dri2_create_pixmap_surface; + drv->API.DestroySurface = dri2_destroy_surface; + drv->API.SwapBuffers = dri2_swap_buffers; ++ drv->API.CreateImageKHR = dri2_wayland_create_image_khr; + drv->API.Terminate = dri2_terminate; + + dri2_dpy = malloc(sizeof *dri2_dpy); +@@ -777,19 +829,22 @@ dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp) + dri2_dpy->wl_dpy = disp->PlatformDisplay; + } + +- dri2_dpy->wl_queue = wl_display_create_queue(dri2_dpy->wl_dpy); +- dri2_dpy->wl_registry = wl_display_get_registry(dri2_dpy->wl_dpy); +- wl_proxy_set_queue((struct wl_proxy *) dri2_dpy->wl_registry, +- dri2_dpy->wl_queue); +- wl_registry_add_listener(dri2_dpy->wl_registry, +- ®istry_listener, dri2_dpy); +- if (roundtrip(dri2_dpy) < 0 || dri2_dpy->wl_drm == NULL) ++ id = wl_display_get_global(dri2_dpy->wl_dpy, "wl_drm", 1); ++ if (id == 0) ++ wl_display_roundtrip(dri2_dpy->wl_dpy); ++ id = wl_display_get_global(dri2_dpy->wl_dpy, "wl_drm", 1); ++ if (id == 0) + goto cleanup_dpy; +- +- if (roundtrip(dri2_dpy) < 0 || dri2_dpy->fd == -1) ++ dri2_dpy->wl_drm = wl_display_bind(dri2_dpy->wl_dpy, id, &wl_drm_interface); ++ if (!dri2_dpy->wl_drm) ++ goto cleanup_dpy; ++ wl_drm_add_listener(dri2_dpy->wl_drm, &drm_listener, dri2_dpy); ++ wl_display_roundtrip(dri2_dpy->wl_dpy); ++ if (dri2_dpy->fd == -1) + goto cleanup_drm; + +- if (roundtrip(dri2_dpy) < 0 || !dri2_dpy->authenticated) ++ wl_display_roundtrip(dri2_dpy->wl_dpy); ++ if (!dri2_dpy->authenticated) + goto cleanup_fd; + + dri2_dpy->driver_name = dri2_get_driver_for_fd(dri2_dpy->fd); +@@ -816,7 +871,7 @@ dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp) + if (!dri2_create_screen(disp)) + goto cleanup_driver; + +- types = EGL_WINDOW_BIT; ++ types = EGL_WINDOW_BIT | EGL_PIXMAP_BIT; + for (i = 0; dri2_dpy->driver_configs[i]; i++) { + config = dri2_dpy->driver_configs[i]; + if (dri2_dpy->formats & HAS_XRGB8888) +@@ -825,6 +880,8 @@ dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp) + dri2_add_config(disp, config, i + 1, 0, types, NULL, argb_masks); + } + ++ disp->Extensions.KHR_image_pixmap = EGL_TRUE; ++ + disp->Extensions.WL_bind_wayland_display = EGL_TRUE; + dri2_dpy->authenticate = dri2_wayland_authenticate; + +diff --git a/src/egl/wayland/wayland-drm/wayland-drm.c b/src/egl/wayland/wayland-drm/wayland-drm.c +index d02aab6..45b307f 100644 +--- a/src/egl/wayland/wayland-drm/wayland-drm.c ++++ b/src/egl/wayland/wayland-drm/wayland-drm.c +@@ -36,6 +36,17 @@ + #include "wayland-drm.h" + #include "wayland-drm-server-protocol.h" + ++/* Git master of Wayland is moving towards a stable version of the ++ * protocol, but breaking from 0.85 in the process. For the time ++ * being, it's convenient to be able to build Mesa against both master ++ * and 0.85.x of Wayland. To make this work we'll do a compile-time ++ * version check and work around the difference in API and protocol */ ++#if defined (WAYLAND_VERSION_MAJOR) && \ ++ WAYLAND_VERSION_MAJOR == 0 && \ ++ WAYLAND_VERSION_MINOR == 85 ++#define HAS_WAYLAND_0_85 ++#endif ++ + struct wl_drm { + struct wl_display *display; + +@@ -58,10 +69,25 @@ destroy_buffer(struct wl_resource *resource) + static void + buffer_destroy(struct wl_client *client, struct wl_resource *resource) + { ++#ifdef HAS_WAYLAND_0_85 ++ wl_resource_destroy(resource, 0); ++#else + wl_resource_destroy(resource); ++#endif ++} ++ ++#ifdef HAS_WAYLAND_0_85 ++static void ++buffer_damage(struct wl_client *client, struct wl_resource *buffer, ++ int32_t x, int32_t y, int32_t width, int32_t height) ++{ + } ++#endif + + const static struct wl_buffer_interface drm_buffer_interface = { ++#ifdef HAS_WAYLAND_0_85 ++ buffer_damage, ++#endif + buffer_destroy + }; + +diff --git a/src/egl/wayland/wayland-egl/wayland-egl-priv.h b/src/egl/wayland/wayland-egl/wayland-egl-priv.h +index da25be9..accd2dd 100644 +--- a/src/egl/wayland/wayland-egl/wayland-egl-priv.h ++++ b/src/egl/wayland/wayland-egl/wayland-egl-priv.h +@@ -24,9 +24,17 @@ struct wl_egl_window { + + int attached_width; + int attached_height; ++}; ++ ++struct wl_egl_pixmap { ++ struct wl_buffer *buffer; ++ ++ int width; ++ int height; ++ ++ void (*destroy) (struct wl_egl_pixmap *egl_pixmap); + +- void *private; +- void (*resize_callback)(struct wl_egl_window *, void *); ++ void *driver_private; + }; + + #ifdef __cplusplus +diff --git a/src/egl/wayland/wayland-egl/wayland-egl.c b/src/egl/wayland/wayland-egl/wayland-egl.c +index 8bd49cf..e950b4a 100644 +--- a/src/egl/wayland/wayland-egl/wayland-egl.c ++++ b/src/egl/wayland/wayland-egl/wayland-egl.c +@@ -13,9 +13,6 @@ wl_egl_window_resize(struct wl_egl_window *egl_window, + egl_window->height = height; + egl_window->dx = dx; + egl_window->dy = dy; +- +- if (egl_window->resize_callback) +- egl_window->resize_callback(egl_window, egl_window->private); + } + + WL_EGL_EXPORT struct wl_egl_window * +@@ -29,8 +26,6 @@ wl_egl_window_create(struct wl_surface *surface, + return NULL; + + egl_window->surface = surface; +- egl_window->private = NULL; +- egl_window->resize_callback = NULL; + wl_egl_window_resize(egl_window, width, height, 0, 0); + egl_window->attached_width = 0; + egl_window->attached_height = 0; +@@ -53,3 +48,36 @@ wl_egl_window_get_attached_size(struct wl_egl_window *egl_window, + if (height) + *height = egl_window->attached_height; + } ++ ++WL_EGL_EXPORT struct wl_egl_pixmap * ++wl_egl_pixmap_create(int width, int height, uint32_t flags) ++{ ++ struct wl_egl_pixmap *egl_pixmap; ++ ++ egl_pixmap = malloc(sizeof *egl_pixmap); ++ if (egl_pixmap == NULL) ++ return NULL; ++ ++ egl_pixmap->width = width; ++ egl_pixmap->height = height; ++ ++ egl_pixmap->destroy = NULL; ++ egl_pixmap->buffer = NULL; ++ egl_pixmap->driver_private = NULL; ++ ++ return egl_pixmap; ++} ++ ++WL_EGL_EXPORT void ++wl_egl_pixmap_destroy(struct wl_egl_pixmap *egl_pixmap) ++{ ++ if (egl_pixmap->destroy) ++ egl_pixmap->destroy(egl_pixmap); ++ free(egl_pixmap); ++} ++ ++WL_EGL_EXPORT struct wl_buffer * ++wl_egl_pixmap_create_buffer(struct wl_egl_pixmap *egl_pixmap) ++{ ++ return egl_pixmap->buffer; ++} +diff --git a/src/gallium/state_trackers/egl/wayland/native_drm.c b/src/gallium/state_trackers/egl/wayland/native_drm.c +index 4671e33..c6f6197 100644 +--- a/src/gallium/state_trackers/egl/wayland/native_drm.c ++++ b/src/gallium/state_trackers/egl/wayland/native_drm.c +@@ -182,43 +182,35 @@ static const struct wl_drm_listener drm_listener = { + drm_handle_authenticated + }; + +-static void +-registry_handle_global(void *data, struct wl_registry *registry, uint32_t name, +- const char *interface, uint32_t version) +-{ +- struct wayland_drm_display *drmdpy = data; +- +- if (strcmp(interface, "wl_drm") == 0) { +- drmdpy->wl_drm = wl_registry_bind(registry, name, &wl_drm_interface, 1); +- wl_drm_add_listener(drmdpy->wl_drm, &drm_listener, drmdpy); +- } +-} +- +-static const struct wl_registry_listener registry_listener = { +- registry_handle_global +-}; +- + static boolean + wayland_drm_display_init_screen(struct native_display *ndpy) + { + struct wayland_drm_display *drmdpy = wayland_drm_display(ndpy); ++ uint32_t id; ++ ++ id = wl_display_get_global(drmdpy->base.dpy, "wl_drm", 1); ++ if (id == 0) ++ wl_display_roundtrip(drmdpy->base.dpy); ++ id = wl_display_get_global(drmdpy->base.dpy, "wl_drm", 1); ++ if (id == 0) ++ return FALSE; + +- drmdpy->base.queue = wl_display_create_queue(drmdpy->base.dpy); +- drmdpy->base.registry = wl_display_get_registry(drmdpy->base.dpy); +- wl_proxy_set_queue((struct wl_proxy *) drmdpy->base.registry, +- drmdpy->base.queue); +- wl_registry_add_listener(drmdpy->base.registry, ®istry_listener, drmdpy); +- if (wayland_roundtrip(&drmdpy->base) < 0 || drmdpy->wl_drm == NULL) ++ drmdpy->wl_drm = wl_display_bind(drmdpy->base.dpy, id, &wl_drm_interface); ++ if (!drmdpy->wl_drm) + return FALSE; + + wl_drm_add_listener(drmdpy->wl_drm, &drm_listener, drmdpy); +- if (wayland_roundtrip(&drmdpy->base) < 0 || drmdpy->fd == -1) ++ wl_display_roundtrip(drmdpy->base.dpy); ++ if (drmdpy->fd == -1) + return FALSE; + +- if (wayland_roundtrip(&drmdpy->base) < 0 || !drmdpy->authenticated) ++ wl_display_roundtrip(drmdpy->base.dpy); ++ if (!drmdpy->authenticated) + return FALSE; + + if (drmdpy->base.formats == 0) ++ wl_display_roundtrip(drmdpy->base.dpy); ++ if (drmdpy->base.formats == 0) + return FALSE; + + drmdpy->base.base.screen = +diff --git a/src/gallium/state_trackers/egl/wayland/native_shm.c b/src/gallium/state_trackers/egl/wayland/native_shm.c +index 5ffe485..574ffce 100644 +--- a/src/gallium/state_trackers/egl/wayland/native_shm.c ++++ b/src/gallium/state_trackers/egl/wayland/native_shm.c +@@ -133,36 +133,26 @@ static const struct wl_shm_listener shm_listener = { + shm_handle_format + }; + +-static void +-registry_handle_global(void *data, struct wl_registry *registry, uint32_t name, +- const char *interface, uint32_t version) +-{ +- struct wayland_shm_display *shmdpy = data; +- +- if (strcmp(interface, "wl_shm") == 0) { +- shmdpy->wl_shm = wl_registry_bind(registry, name, &wl_shm_interface, 1); +- wl_shm_add_listener(shmdpy->wl_shm, &shm_listener, shmdpy); +- } +-} +- +-static const struct wl_registry_listener registry_listener = { +- registry_handle_global +-}; +- + static boolean + wayland_shm_display_init_screen(struct native_display *ndpy) + { + struct wayland_shm_display *shmdpy = wayland_shm_display(ndpy); + struct sw_winsys *winsys = NULL; ++ uint32_t id; + +- shmdpy->base.queue = wl_display_create_queue(shmdpy->base.dpy); +- shmdpy->base.registry = wl_display_get_registry(shmdpy->base.dpy); +- wl_proxy_set_queue((struct wl_proxy *) shmdpy->base.registry, +- shmdpy->base.queue); +- wl_registry_add_listener(shmdpy->base.registry, ®istry_listener, shmdpy); +- if (wayland_roundtrip(&shmdpy->base) < 0 || shmdpy->wl_shm == NULL) ++ id = wl_display_get_global(shmdpy->base.dpy, "wl_shm", 1); ++ if (id == 0) ++ wl_display_iterate(shmdpy->base.dpy, WL_DISPLAY_READABLE); ++ id = wl_display_get_global(shmdpy->base.dpy, "wl_shm", 1); ++ if (id == 0) + return FALSE; + ++ shmdpy->wl_shm = wl_display_bind(shmdpy->base.dpy, id, &wl_shm_interface); ++ if (!shmdpy->wl_shm) ++ return FALSE; ++ ++ wl_shm_add_listener(shmdpy->wl_shm, &shm_listener, shmdpy); ++ + if (shmdpy->base.formats == 0) + wl_display_roundtrip(shmdpy->base.dpy); + if (shmdpy->base.formats == 0) +diff --git a/src/gallium/state_trackers/egl/wayland/native_wayland.c b/src/gallium/state_trackers/egl/wayland/native_wayland.c +index 941a094..a7f9cb7 100644 +--- a/src/gallium/state_trackers/egl/wayland/native_wayland.c ++++ b/src/gallium/state_trackers/egl/wayland/native_wayland.c +@@ -35,37 +35,6 @@ + + #include "native_wayland.h" + +-static void +-sync_callback(void *data, struct wl_callback *callback, uint32_t serial) +-{ +- int *done = data; +- +- *done = 1; +- wl_callback_destroy(callback); +-} +- +-static const struct wl_callback_listener sync_listener = { +- sync_callback +-}; +- +-int +-wayland_roundtrip(struct wayland_display *display) +-{ +- struct wl_callback *callback; +- int done = 0, ret = 0; +- +- callback = wl_display_sync(display->dpy); +- wl_callback_add_listener(callback, &sync_listener, &done); +- wl_proxy_set_queue((struct wl_proxy *) callback, display->queue); +- while (ret != -1 && !done) +- ret = wl_display_dispatch_queue(display->dpy, display->queue); +- +- if (!done) +- wl_callback_destroy(callback); +- +- return ret; +-} +- + static const struct native_event_handler *wayland_event_handler; + + const static struct { +@@ -102,6 +71,7 @@ wayland_display_get_configs(struct native_display *ndpy, int *num_configs) + (1 << NATIVE_ATTACHMENT_BACK_LEFT); + + nconf->window_bit = TRUE; ++ nconf->pixmap_bit = TRUE; + + nconf->color_format = wayland_formats[i].format; + display->num_configs++; +@@ -123,6 +93,7 @@ static int + wayland_display_get_param(struct native_display *ndpy, + enum native_param_type param) + { ++ struct wayland_display *display = wayland_display(ndpy); + int val; + + switch (param) { +@@ -140,6 +111,49 @@ wayland_display_get_param(struct native_display *ndpy, + return val; + } + ++static boolean ++wayland_display_get_pixmap_format(struct native_display *ndpy, ++ EGLNativePixmapType pix, ++ enum pipe_format *format) ++{ ++ /* all wl_egl_pixmaps are supported */ ++ *format = PIPE_FORMAT_NONE; ++ ++ return TRUE; ++} ++ ++static void ++wayland_pixmap_destroy(struct wl_egl_pixmap *egl_pixmap) ++{ ++ struct pipe_resource *resource = egl_pixmap->driver_private; ++ ++ assert(resource); ++ ++ pipe_resource_reference(&resource, NULL); ++ if (egl_pixmap->buffer) { ++ wl_buffer_destroy(egl_pixmap->buffer); ++ egl_pixmap->buffer = NULL; ++ } ++ ++ egl_pixmap->driver_private = NULL; ++ egl_pixmap->destroy = NULL; ++} ++ ++static void ++wayland_pixmap_surface_initialize(struct wayland_surface *surface) ++{ ++ struct wayland_display *display = wayland_display(&surface->display->base); ++ const enum native_attachment front_natt = NATIVE_ATTACHMENT_FRONT_LEFT; ++ ++ if (surface->pix->buffer != NULL) ++ return; ++ ++ surface->pix->buffer = display->create_buffer(display, surface, front_natt); ++ surface->pix->destroy = wayland_pixmap_destroy; ++ surface->pix->driver_private = ++ resource_surface_get_single_resource(surface->rsurf, front_natt); ++} ++ + static void + wayland_release_pending_resource(void *data, + struct wl_callback *callback, +@@ -174,7 +188,7 @@ wayland_window_surface_handle_resize(struct wayland_surface *surface) + surface->win->width, surface->win->height)) { + + if (surface->pending_resource) +- wayland_roundtrip(display); ++ wl_display_roundtrip(display->dpy); + + if (front_resource) { + struct wl_callback *callback; +@@ -184,7 +198,6 @@ wayland_window_surface_handle_resize(struct wayland_surface *surface) + + callback = wl_display_sync(display->dpy); + wl_callback_add_listener(callback, &release_buffer_listener, surface); +- wl_proxy_set_queue((struct wl_proxy *) callback, display->queue); + } + + for (i = 0; i < WL_BUFFER_COUNT; ++i) { +@@ -221,6 +234,9 @@ wayland_surface_validate(struct native_surface *nsurf, uint attachment_mask, + + resource_surface_get_size(surface->rsurf, (uint *) width, (uint *) height); + ++ if (surface->type == WL_PIXMAP_SURFACE) ++ wayland_pixmap_surface_initialize(surface); ++ + return TRUE; + } + +@@ -229,7 +245,7 @@ wayland_frame_callback(void *data, struct wl_callback *callback, uint32_t time) + { + struct wayland_surface *surface = data; + +- surface->frame_callback = NULL; ++ surface->block_swap_buffers = FALSE; + + wl_callback_destroy(callback); + } +@@ -253,17 +269,15 @@ wayland_surface_swap_buffers(struct native_surface *nsurf) + { + struct wayland_surface *surface = wayland_surface(nsurf); + struct wayland_display *display = surface->display; +- int ret = 0; ++ struct wl_callback *callback; + +- while (surface->frame_callback && ret != -1) +- ret = wl_display_dispatch_queue(display->dpy, display->queue); +- if (ret == -1) +- return EGL_FALSE; ++ while (surface->block_swap_buffers) ++ wl_display_iterate(display->dpy, WL_DISPLAY_READABLE); + +- surface->frame_callback = wl_surface_frame(surface->win->surface); +- wl_callback_add_listener(surface->frame_callback, &frame_listener, surface); +- wl_proxy_set_queue((struct wl_proxy *) surface->frame_callback, +- display->queue); ++ surface->block_swap_buffers = TRUE; ++ ++ callback = wl_surface_frame(surface->win->surface); ++ wl_callback_add_listener(callback, &frame_listener, surface); + + if (surface->type == WL_WINDOW_SURFACE) { + resource_surface_swap_buffers(surface->rsurf, +@@ -335,7 +349,6 @@ wayland_surface_present(struct native_surface *nsurf, + if (surface->type == WL_WINDOW_SURFACE) { + resource_surface_get_size(surface->rsurf, &width, &height); + wl_surface_damage(surface->win->surface, 0, 0, width, height); +- wl_surface_commit(surface->win->surface); + } + + return ret; +@@ -358,14 +371,66 @@ wayland_surface_destroy(struct native_surface *nsurf) + wl_buffer_destroy(surface->buffer[buffer]); + } + +- if (surface->frame_callback) +- wl_callback_destroy(surface->frame_callback); +- + resource_surface_destroy(surface->rsurf); + FREE(surface); + } + + ++ ++static struct native_surface * ++wayland_create_pixmap_surface(struct native_display *ndpy, ++ EGLNativePixmapType pix, ++ const struct native_config *nconf) ++{ ++ struct wayland_display *display = wayland_display(ndpy); ++ struct wayland_surface *surface; ++ struct wl_egl_pixmap *egl_pixmap = (struct wl_egl_pixmap *) pix; ++ enum native_attachment natt = NATIVE_ATTACHMENT_FRONT_LEFT; ++ uint bind = PIPE_BIND_RENDER_TARGET | PIPE_BIND_SAMPLER_VIEW | ++ PIPE_BIND_DISPLAY_TARGET | PIPE_BIND_SCANOUT; ++ ++ surface = CALLOC_STRUCT(wayland_surface); ++ if (!surface) ++ return NULL; ++ ++ surface->display = display; ++ ++ surface->pending_resource = NULL; ++ surface->type = WL_PIXMAP_SURFACE; ++ surface->pix = egl_pixmap; ++ ++ if (nconf) ++ surface->color_format = nconf->color_format; ++ else /* FIXME: derive format from wl_visual */ ++ surface->color_format = PIPE_FORMAT_B8G8R8A8_UNORM; ++ ++ surface->attachment_mask = (1 << NATIVE_ATTACHMENT_FRONT_LEFT); ++ ++ surface->rsurf = resource_surface_create(display->base.screen, ++ surface->color_format, bind); ++ ++ if (!surface->rsurf) { ++ FREE(surface); ++ return NULL; ++ } ++ ++ resource_surface_set_size(surface->rsurf, ++ egl_pixmap->width, egl_pixmap->height); ++ ++ /* the pixmap is already allocated, so import it */ ++ if (surface->pix->buffer != NULL) ++ resource_surface_import_resource(surface->rsurf, natt, ++ surface->pix->driver_private); ++ ++ surface->base.destroy = wayland_surface_destroy; ++ surface->base.present = wayland_surface_present; ++ surface->base.validate = wayland_surface_validate; ++ surface->base.wait = wayland_surface_wait; ++ ++ return &surface->base; ++} ++ ++ + static struct native_surface * + wayland_create_window_surface(struct native_display *ndpy, + EGLNativeWindowType win, +@@ -387,7 +452,7 @@ wayland_create_window_surface(struct native_display *ndpy, + surface->win = (struct wl_egl_window *) win; + + surface->pending_resource = NULL; +- surface->frame_callback = NULL; ++ surface->block_swap_buffers = FALSE; + surface->type = WL_WINDOW_SURFACE; + + surface->buffer[WL_BUFFER_FRONT] = NULL; +@@ -440,7 +505,10 @@ native_create_display(void *dpy, boolean use_sw) + + display->base.get_param = wayland_display_get_param; + display->base.get_configs = wayland_display_get_configs; ++ display->base.get_pixmap_format = wayland_display_get_pixmap_format; ++ display->base.copy_to_pixmap = native_display_copy_to_pixmap; + display->base.create_window_surface = wayland_create_window_surface; ++ display->base.create_pixmap_surface = wayland_create_pixmap_surface; + + display->own_dpy = own_dpy; + +diff --git a/src/gallium/state_trackers/egl/wayland/native_wayland.h b/src/gallium/state_trackers/egl/wayland/native_wayland.h +index b623fee..e6a914f 100644 +--- a/src/gallium/state_trackers/egl/wayland/native_wayland.h ++++ b/src/gallium/state_trackers/egl/wayland/native_wayland.h +@@ -45,8 +45,6 @@ struct wayland_display { + struct native_display base; + + struct wl_display *dpy; +- struct wl_event_queue *queue; +- struct wl_registry *registry; + boolean own_dpy; + /* supported formats */ + uint32_t formats; +@@ -67,6 +65,7 @@ enum wayland_buffer_type { + + enum wayland_surface_type { + WL_WINDOW_SURFACE, ++ WL_PIXMAP_SURFACE, + WL_PBUFFER_SURFACE + }; + +@@ -75,6 +74,7 @@ struct wayland_surface { + struct wayland_display *display; + + struct wl_egl_window *win; ++ struct wl_egl_pixmap *pix; + enum wayland_surface_type type; + int dx, dy; + struct resource_surface *rsurf; +@@ -85,7 +85,7 @@ struct wayland_surface { + struct wl_buffer *buffer[WL_BUFFER_COUNT]; + unsigned int attachment_mask; + +- struct wl_callback *frame_callback; ++ boolean block_swap_buffers; + boolean premultiplied_alpha; + }; + +@@ -119,7 +119,4 @@ struct wayland_display * + wayland_create_drm_display(struct wl_display *display, + const struct native_event_handler *event_handler); + +-int +-wayland_roundtrip(struct wayland_display *drmdpy); +- + #endif /* _NATIVE_WAYLAND_H_ */ --- mesa-9.0.3.orig/debian/patches/05_kfreebsd-egl-x11.diff +++ mesa-9.0.3/debian/patches/05_kfreebsd-egl-x11.diff @@ -0,0 +1,28 @@ +From 8aec01a4d5d098430cdb369a69a85cdbf20ebc99 Mon Sep 17 00:00:00 2001 +From: Julien Cristau +Date: Thu, 25 Aug 2011 23:08:05 +0200 +Subject: [PATCH] Work around the lack of O_CLOEXEC on kbsd + +Not that dri2 is going to work there, but well. +--- + src/egl/drivers/dri2/platform_x11.c | 6 ++++++ + 1 files changed, 6 insertions(+), 0 deletions(-) + +Index: mesa/src/egl/drivers/dri2/platform_x11.c +=================================================================== +--- mesa.orig/src/egl/drivers/dri2/platform_x11.c 2012-01-18 16:04:58.294653499 +0200 ++++ mesa/src/egl/drivers/dri2/platform_x11.c 2012-01-18 16:05:08.790968112 +0200 +@@ -1083,7 +1083,13 @@ + if (!dri2_load_driver(disp)) + goto cleanup_conn; + ++#ifdef O_CLOEXEC + dri2_dpy->fd = open(dri2_dpy->device_name, O_RDWR | O_CLOEXEC); ++#else ++ dri2_dpy->fd = open(dri2_dpy->device_name, O_RDWR); ++ if (dri2_dpy->fd >= 0) ++ fcntl(dri2_dpy->fd, F_SETFD, fcntl(dri2_dpy->fd, F_GETFD) | FD_CLOEXEC); ++#endif + if (dri2_dpy->fd == -1) { + _eglLog(_EGL_WARNING, + "DRI2: could not open %s (%s)", dri2_dpy->device_name,