[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mesa: Changes to 'debian-experimental'



Rebased ref, commits from common ancestor:
commit 30ca38cde4873e5be63bd26826d2f2d977ea0c8d
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Thu Feb 7 17:21:47 2013 +0200

    16-avoid-symbols-from-static-llvm.diff: Temporary patch to keep libxatracker1.symbols sane.

diff --git a/debian/changelog b/debian/changelog
index cc5ed6a..0860c01 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -37,6 +37,8 @@ mesa (9.1~git20130207.f1c46c84-1) UNRELEASED; urgency=low
   * 15-fix-oot-build.diff: Use correct includes to fix out-of-tree builds.
   * libgl1-mesa-dri.install.in: Include gallium-pipe/*.so and libllvmradeon*.so.
   * rules: Add files to clean.
+  * 16-avoid-symbols-from-static-llvm.diff: Temporary patch to keep
+    libxatracker1.symbols sane.
 
   [ Steve Langasek ]
   * Install all dri drivers from the DESTDIR tree, instead of copying them
diff --git a/debian/patches/16-avoid-symbols-from-static-llvm.diff b/debian/patches/16-avoid-symbols-from-static-llvm.diff
new file mode 100644
index 0000000..f67f004
--- /dev/null
+++ b/debian/patches/16-avoid-symbols-from-static-llvm.diff
@@ -0,0 +1,90 @@
+diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
+index a4eee47..148aff9 100644
+--- a/src/gallium/auxiliary/Makefile.am
++++ b/src/gallium/auxiliary/Makefile.am
+@@ -7,7 +7,9 @@ noinst_LTLIBRARIES = libgallium.la
+ 
+ AM_CFLAGS = \
+ 	-I$(top_srcdir)/src/gallium/auxiliary/util \
+-	$(GALLIUM_CFLAGS)
++	$(GALLIUM_CFLAGS) $(VISIBILITY_CFLAGS)
++
++AM_CXXFLAGS = $(VISIBILITY_CXXFLAGS)
+ 
+ libgallium_la_SOURCES = \
+ 	$(C_SOURCES) \
+@@ -18,7 +20,7 @@ if HAVE_MESA_LLVM
+ AM_CFLAGS += \
+ 	$(LLVM_CFLAGS)
+ 
+-AM_CXXFLAGS = \
++AM_CXXFLAGS += \
+ 	$(GALLIUM_CFLAGS) \
+ 	$(LLVM_CXXFLAGS)
+ 
+diff --git a/src/gallium/drivers/rbug/Makefile.am b/src/gallium/drivers/rbug/Makefile.am
+index 655bfe1..686daf8 100644
+--- a/src/gallium/drivers/rbug/Makefile.am
++++ b/src/gallium/drivers/rbug/Makefile.am
+@@ -29,7 +29,7 @@ noinst_LTLIBRARIES = librbug.la
+ # different directories, and which one is included by the
+ # preprocessor is determined by the ordering of the -I flags.
+ AM_CFLAGS = \
+-	$(GALLIUM_CFLAGS) \
++	$(GALLIUM_CFLAGS) $(VISIBILITY_CFLAGS) \
+ 	-I$(top_srcdir)/src/gallium/drivers \
+ 	-I$(top_srcdir)/include
+ 
+diff --git a/src/gallium/drivers/svga/Makefile.am b/src/gallium/drivers/svga/Makefile.am
+index fdaa3c8..7eacd90 100644
+--- a/src/gallium/drivers/svga/Makefile.am
++++ b/src/gallium/drivers/svga/Makefile.am
+@@ -29,6 +29,8 @@ AM_CPPFLAGS = \
+ 	-I$(top_srcdir)/include \
+ 	$(GALLIUM_CFLAGS)
+ 
++AM_CFLAGS = $(VISIBILITY_CFLAGS)
++
+ #On some systems -std= must be added to CFLAGS to be the last -std=
+ CFLAGS += -std=gnu99
+ 
+diff --git a/src/gallium/drivers/trace/Makefile.am b/src/gallium/drivers/trace/Makefile.am
+index a9e1457..b9df06f 100644
+--- a/src/gallium/drivers/trace/Makefile.am
++++ b/src/gallium/drivers/trace/Makefile.am
+@@ -1,7 +1,7 @@
+ include $(top_srcdir)/src/gallium/Automake.inc
+ 
+ AM_CFLAGS = \
+-	$(GALLIUM_CFLAGS)
++	$(GALLIUM_CFLAGS) $(VISIBILITY_CFLAGS)
+ 
+ noinst_LTLIBRARIES = libtrace.la
+ 
+diff --git a/src/gallium/state_trackers/xa/Makefile.am b/src/gallium/state_trackers/xa/Makefile.am
+index 5b53ef9..347dc01 100644
+--- a/src/gallium/state_trackers/xa/Makefile.am
++++ b/src/gallium/state_trackers/xa/Makefile.am
+@@ -24,7 +24,8 @@ include $(top_srcdir)/src/gallium/Automake.inc
+ 
+ AM_CFLAGS = \
+ 	-Wall -pedantic \
+-	$(GALLIUM_CFLAGS)
++	$(GALLIUM_CFLAGS) $(VISIBILITY_CFLAGS)
++
+ AM_CPPFLAGS = \
+ 	-I$(top_srcdir)/src/gallium/ \
+ 	-I$(top_srcdir)/src/gallium/winsys \
+diff --git a/src/gallium/winsys/svga/drm/Makefile.am b/src/gallium/winsys/svga/drm/Makefile.am
+index 53bbcc2..d7ada3c 100644
+--- a/src/gallium/winsys/svga/drm/Makefile.am
++++ b/src/gallium/winsys/svga/drm/Makefile.am
+@@ -31,6 +31,8 @@ AM_CPPFLAGS = \
+ 	$(GALLIUM_CFLAGS) \
+ 	$(LIBDRM_CFLAGS)
+ 
++AM_CFLAGS = $(VISIBILITY_CFLAGS)
++
+ #On some systems -std= must be added to CFLAGS to be the last -std=
+ CFLAGS += -std=gnu99 -D_FILE_OFFSET_BITS=64
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 9ffbdea..2271a52 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,3 +7,4 @@
 #11-hurd-ftbfs-again.diff
 14-fix-osmesa-build.diff
 15-fix-oot-build.diff
+16-avoid-symbols-from-static-llvm.diff

commit 1de29531d1745b8f726f0887244c08fb46d86941
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Thu Feb 7 16:04:43 2013 +0200

    various packaging changes for the new release

diff --git a/debian/changelog b/debian/changelog
index 00d0353..cc5ed6a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,14 +1,14 @@
-mesa (9.0.2-1) UNRELEASED; urgency=low
+mesa (9.1~git20130207.f1c46c84-1) UNRELEASED; urgency=low
+
+  * New upstream snapshot.
+    - Set close on exec flag when opening dri devices (Closes: #651370).
 
   [ 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.
@@ -26,15 +26,17 @@ mesa (9.0.2-1) UNRELEASED; urgency=low
   * 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
+  * Update symbols for libgles2-mesa and libxatracker1.
   * libegl1-mesa-drivers.install.linux: Bump libwayland-egl.so version
   * control: Add libdrm-dev to mesa-common-dev Depends.
+  * control: Build-depend on llvm-3.2-dev (Closes: #678822).
+  * 15-fix-oot-build.diff: Use correct includes to fix out-of-tree builds.
+  * libgl1-mesa-dri.install.in: Include gallium-pipe/*.so and libllvmradeon*.so.
+  * rules: Add files to clean.
 
   [ Steve Langasek ]
   * Install all dri drivers from the DESTDIR tree, instead of copying them
@@ -49,11 +51,9 @@ mesa (9.0.2-1) UNRELEASED; urgency=low
     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 <jcristau@debian.org>  Fri, 03 Aug 2012 23:17:16 +0200
 
diff --git a/debian/control b/debian/control
index eae7f1e..87d0953 100644
--- a/debian/control
+++ b/debian/control
@@ -31,7 +31,7 @@ Build-Depends:
  libudev-dev [linux-any],
  flex,
  bison,
- llvm-3.1-dev [amd64 i386 kfreebsd-amd64 kfreebsd-i386],
+ llvm-3.2-dev [amd64 i386 kfreebsd-amd64 kfreebsd-i386],
  libwayland-dev (>= 1.0.2) [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
diff --git a/debian/libgl1-mesa-dri.install.in b/debian/libgl1-mesa-dri.install.in
index 5eda011..ffed3b7 100644
--- a/debian/libgl1-mesa-dri.install.in
+++ b/debian/libgl1-mesa-dri.install.in
@@ -1,2 +1,4 @@
 dri/usr/lib/${DEB_HOST_MULTIARCH}/dri/*_dri.so usr/lib/${DEB_HOST_MULTIARCH}/dri
+dri/usr/lib/${DEB_HOST_MULTIARCH}/gallium-pipe/*.so usr/lib/${DEB_HOST_MULTIARCH}/gallium-pipe
 dri/usr/lib/${DEB_HOST_MULTIARCH}/libdricore*.so* usr/lib/${DEB_HOST_MULTIARCH}/
+dri/usr/lib/${DEB_HOST_MULTIARCH}/libllvmradeon*.so usr/lib/${DEB_HOST_MULTIARCH}/
diff --git a/debian/libgles1-mesa.symbols b/debian/libgles1-mesa.symbols
index fa79646..0452e2b 100644
--- a/debian/libgles1-mesa.symbols
+++ b/debian/libgles1-mesa.symbols
@@ -67,6 +67,7 @@ libGLESv1_CM.so.1 libgles1-mesa #MINVER# | libgles1
  glEnableClientState@Base 7.8.1
  glFinish@Base 7.8.1
  glFlush@Base 7.8.1
+ glFlushMappedBufferRangeEXT@Base 9.1~
  glFogf@Base 7.8.1
  glFogfv@Base 7.8.1
  glFogx@Base 7.8.1
@@ -145,6 +146,7 @@ libGLESv1_CM.so.1 libgles1-mesa #MINVER# | libgles1
  glLoadMatrixxOES@Base 7.8.1
  glLogicOp@Base 7.8.1
  glMapBufferOES@Base 7.8.1
+ glMapBufferRangeEXT@Base 9.1~
  glMaterialf@Base 7.8.1
  glMaterialfv@Base 7.8.1
  glMaterialx@Base 7.8.1
diff --git a/debian/libgles2-mesa.symbols b/debian/libgles2-mesa.symbols
index 8f0be1a..30c7d85 100644
--- a/debian/libgles2-mesa.symbols
+++ b/debian/libgles2-mesa.symbols
@@ -1,32 +1,49 @@
 libGLESv2.so.2 libgles2-mesa #MINVER# | libgles2
  glActiveTexture@Base 7.8.1
  glAttachShader@Base 7.8.1
+ glBeginQuery@Base 9.1~
+ glBeginTransformFeedback@Base 9.1~
  glBindAttribLocation@Base 7.8.1
  glBindBuffer@Base 7.8.1
+ glBindBufferBase@Base 9.1~
+ glBindBufferRange@Base 9.1~
  glBindFramebuffer@Base 7.8.1
  glBindRenderbuffer@Base 7.8.1
+ glBindSampler@Base 9.1~
  glBindTexture@Base 7.8.1
+ glBindTransformFeedback@Base 9.1~
+ glBindVertexArray@Base 9.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
+ glBlitFramebuffer@Base 9.1~
  glBufferData@Base 7.8.1
  glBufferSubData@Base 7.8.1
  glCheckFramebufferStatus@Base 7.8.1
  glClear@Base 7.8.1
+ glClearBufferfi@Base 9.1~
+ glClearBufferfv@Base 9.1~
+ glClearBufferiv@Base 9.1~
+ glClearBufferuiv@Base 9.1~
  glClearColor@Base 7.8.1
  glClearDepthf@Base 7.8.1
  glClearStencil@Base 7.8.1
+ glClientWaitSync@Base 9.1~
  glColorMask@Base 7.8.1
  glCompileShader@Base 7.8.1
  glCompressedTexImage2D@Base 7.8.1
+ glCompressedTexImage3D@Base 9.1~
  glCompressedTexImage3DOES@Base 7.8.1
  glCompressedTexSubImage2D@Base 7.8.1
+ glCompressedTexSubImage3D@Base 9.1~
  glCompressedTexSubImage3DOES@Base 7.8.1
+ glCopyBufferSubData@Base 9.1~
  glCopyTexImage2D@Base 7.8.1
  glCopyTexSubImage2D@Base 7.8.1
+ glCopyTexSubImage3D@Base 9.1~
  glCopyTexSubImage3DOES@Base 7.8.1
  glCreateProgram@Base 7.8.1
  glCreateShader@Base 7.8.1
@@ -34,9 +51,14 @@ libGLESv2.so.2 libgles2-mesa #MINVER# | libgles2
  glDeleteBuffers@Base 7.8.1
  glDeleteFramebuffers@Base 7.8.1
  glDeleteProgram@Base 7.8.1
+ glDeleteQueries@Base 9.1~
  glDeleteRenderbuffers@Base 7.8.1
+ glDeleteSamplers@Base 9.1~
  glDeleteShader@Base 7.8.1
+ glDeleteSync@Base 9.1~
  glDeleteTextures@Base 7.8.1
+ glDeleteTransformFeedbacks@Base 9.1~
+ glDeleteVertexArrays@Base 9.1~
  glDeleteVertexArraysOES@Base 9.0~0
  glDepthFunc@Base 7.8.1
  glDepthMask@Base 7.8.1
@@ -45,74 +67,130 @@ libGLESv2.so.2 libgles2-mesa #MINVER# | libgles2
  glDisable@Base 7.8.1
  glDisableVertexAttribArray@Base 7.8.1
  glDrawArrays@Base 7.8.1
+ glDrawArraysInstanced@Base 9.1~
+ glDrawBuffers@Base 9.1~
  glDrawBuffersNV@Base 8.0~rc1
  glDrawElements@Base 7.8.1
+ glDrawElementsInstanced@Base 9.1~
+ glDrawRangeElements@Base 9.1~
  glEGLImageTargetRenderbufferStorageOES@Base 7.8.1
  glEGLImageTargetTexture2DOES@Base 7.8.1
  glEnable@Base 7.8.1
  glEnableVertexAttribArray@Base 7.8.1
+ glEndQuery@Base 9.1~
+ glEndTransformFeedback@Base 9.1~
+ glFenceSync@Base 9.1~
  glFinish@Base 7.8.1
  glFlush@Base 7.8.1
+ glFlushMappedBufferRange@Base 9.1~
+ glFlushMappedBufferRangeEXT@Base 9.1~
  glFramebufferRenderbuffer@Base 7.8.1
  glFramebufferTexture2D@Base 7.8.1
  glFramebufferTexture3DOES@Base 7.8.1
+ glFramebufferTextureLayer@Base 9.1~
  glFrontFace@Base 7.8.1
  glGenBuffers@Base 7.8.1
  glGenFramebuffers@Base 7.8.1
+ glGenQueries@Base 9.1~
  glGenRenderbuffers@Base 7.8.1
+ glGenSamplers@Base 9.1~
  glGenTextures@Base 7.8.1
+ glGenTransformFeedbacks@Base 9.1~
+ glGenVertexArrays@Base 9.1~
  glGenVertexArraysOES@Base 9.0~0
  glGenerateMipmap@Base 7.8.1
  glGetActiveAttrib@Base 7.8.1
  glGetActiveUniform@Base 7.8.1
+ glGetActiveUniformBlockName@Base 9.1~
+ glGetActiveUniformBlockiv@Base 9.1~
+ glGetActiveUniformsiv@Base 9.1~
  glGetAttachedShaders@Base 7.8.1
  glGetAttribLocation@Base 7.8.1
  glGetBooleanv@Base 7.8.1
+ glGetBufferParameteri64v@Base 9.1~
  glGetBufferParameteriv@Base 7.8.1
+ glGetBufferPointerv@Base 9.1~
  glGetBufferPointervOES@Base 7.8.1
  glGetError@Base 7.8.1
  glGetFloatv@Base 7.8.1
+ glGetFragDataLocation@Base 9.1~
  glGetFramebufferAttachmentParameteriv@Base 7.8.1
+ glGetInteger64i_v@Base 9.1~
+ glGetInteger64v@Base 9.1~
+ glGetIntegeri_v@Base 9.1~
  glGetIntegerv@Base 7.8.1
+ glGetInternalformativ@Base 9.1~
+ glGetProgramBinary@Base 9.1~
  glGetProgramBinaryOES@Base 7.8.1
  glGetProgramInfoLog@Base 7.8.1
  glGetProgramiv@Base 7.8.1
+ glGetQueryObjectuiv@Base 9.1~
+ glGetQueryiv@Base 9.1~
  glGetRenderbufferParameteriv@Base 7.8.1
+ glGetSamplerParameterfv@Base 9.1~
+ glGetSamplerParameteriv@Base 9.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
+ glGetStringi@Base 9.1~
+ glGetSynciv@Base 9.1~
  glGetTexParameterfv@Base 7.8.1
  glGetTexParameteriv@Base 7.8.1
+ glGetTransformFeedbackVarying@Base 9.1~
+ glGetUniformBlockIndex@Base 9.1~
+ glGetUniformIndices@Base 9.1~
  glGetUniformLocation@Base 7.8.1
  glGetUniformfv@Base 7.8.1
  glGetUniformiv@Base 7.8.1
+ glGetUniformuiv@Base 9.1~
+ glGetVertexAttribIiv@Base 9.1~
+ glGetVertexAttribIuiv@Base 9.1~
  glGetVertexAttribPointerv@Base 7.8.1
  glGetVertexAttribfv@Base 7.8.1
  glGetVertexAttribiv@Base 7.8.1
  glHint@Base 7.8.1
+ glInvalidateFramebuffer@Base 9.1~
+ glInvalidateSubFramebuffer@Base 9.1~
  glIsBuffer@Base 7.8.1
  glIsEnabled@Base 7.8.1
  glIsFramebuffer@Base 7.8.1
  glIsProgram@Base 7.8.1
+ glIsQuery@Base 9.1~
  glIsRenderbuffer@Base 7.8.1
+ glIsSampler@Base 9.1~
  glIsShader@Base 7.8.1
+ glIsSync@Base 9.1~
  glIsTexture@Base 7.8.1
+ glIsTransformFeedback@Base 9.1~
+ glIsVertexArray@Base 9.1~
  glIsVertexArrayOES@Base 9.0~0
  glLineWidth@Base 7.8.1
  glLinkProgram@Base 7.8.1
  glMapBufferOES@Base 7.8.1
+ glMapBufferRange@Base 9.1~
+ glMapBufferRangeEXT@Base 9.1~
  glMultiDrawArraysEXT@Base 7.8.1
  glMultiDrawElementsEXT@Base 7.8.1
+ glPauseTransformFeedback@Base 9.1~
  glPixelStorei@Base 7.8.1
  glPolygonOffset@Base 7.8.1
+ glProgramBinary@Base 9.1~
  glProgramBinaryOES@Base 7.8.1
+ glProgramParameteri@Base 9.1~
+ glReadBuffer@Base 9.1~
  glReadBufferNV@Base 8.1~0
  glReadPixels@Base 7.8.1
  glReleaseShaderCompiler@Base 7.8.1
  glRenderbufferStorage@Base 7.8.1
+ glRenderbufferStorageMultisample@Base 9.1~
+ glResumeTransformFeedback@Base 9.1~
  glSampleCoverage@Base 7.8.1
+ glSamplerParameterf@Base 9.1~
+ glSamplerParameterfv@Base 9.1~
+ glSamplerParameteri@Base 9.1~
+ glSamplerParameteriv@Base 9.1~
  glScissor@Base 7.8.1
  glShaderBinary@Base 7.8.1
  glShaderSource@Base 7.8.1
@@ -123,32 +201,53 @@ libGLESv2.so.2 libgles2-mesa #MINVER# | libgles2
  glStencilOp@Base 7.8.1
  glStencilOpSeparate@Base 7.8.1
  glTexImage2D@Base 7.8.1
+ glTexImage3D@Base 9.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
+ glTexStorage2D@Base 9.1~
+ glTexStorage3D@Base 9.1~
  glTexSubImage2D@Base 7.8.1
+ glTexSubImage3D@Base 9.1~
  glTexSubImage3DOES@Base 7.8.1
+ glTransformFeedbackVaryings@Base 9.1~
  glUniform1f@Base 7.8.1
  glUniform1fv@Base 7.8.1
  glUniform1i@Base 7.8.1
  glUniform1iv@Base 7.8.1
+ glUniform1ui@Base 9.1~
+ glUniform1uiv@Base 9.1~
  glUniform2f@Base 7.8.1
  glUniform2fv@Base 7.8.1
  glUniform2i@Base 7.8.1
  glUniform2iv@Base 7.8.1
+ glUniform2ui@Base 9.1~
+ glUniform2uiv@Base 9.1~
  glUniform3f@Base 7.8.1
  glUniform3fv@Base 7.8.1
  glUniform3i@Base 7.8.1
  glUniform3iv@Base 7.8.1
+ glUniform3ui@Base 9.1~
+ glUniform3uiv@Base 9.1~
  glUniform4f@Base 7.8.1
  glUniform4fv@Base 7.8.1
  glUniform4i@Base 7.8.1
  glUniform4iv@Base 7.8.1
+ glUniform4ui@Base 9.1~
+ glUniform4uiv@Base 9.1~
+ glUniformBlockBinding@Base 9.1~
  glUniformMatrix2fv@Base 7.8.1
+ glUniformMatrix2x3fv@Base 9.1~
+ glUniformMatrix2x4fv@Base 9.1~
  glUniformMatrix3fv@Base 7.8.1
+ glUniformMatrix3x2fv@Base 9.1~
+ glUniformMatrix3x4fv@Base 9.1~
  glUniformMatrix4fv@Base 7.8.1
+ glUniformMatrix4x2fv@Base 9.1~
+ glUniformMatrix4x3fv@Base 9.1~
+ glUnmapBuffer@Base 9.1~
  glUnmapBufferOES@Base 7.8.1
  glUseProgram@Base 7.8.1
  glValidateProgram@Base 7.8.1
@@ -160,5 +259,12 @@ libGLESv2.so.2 libgles2-mesa #MINVER# | libgles2
  glVertexAttrib3fv@Base 7.8.1
  glVertexAttrib4f@Base 7.8.1
  glVertexAttrib4fv@Base 7.8.1
+ glVertexAttribDivisor@Base 9.1~
+ glVertexAttribI4i@Base 9.1~
+ glVertexAttribI4iv@Base 9.1~
+ glVertexAttribI4ui@Base 9.1~
+ glVertexAttribI4uiv@Base 9.1~
+ glVertexAttribIPointer@Base 9.1~
  glVertexAttribPointer@Base 7.8.1
  glViewport@Base 7.8.1
+ glWaitSync@Base 9.1~
diff --git a/debian/libxatracker1.symbols b/debian/libxatracker1.symbols
index d36a9e7..26d038e 100644
--- a/debian/libxatracker1.symbols
+++ b/debian/libxatracker1.symbols
@@ -1,4 +1,5 @@
 libxatracker.so.1 libxatracker1 #MINVER#
+ driver_descriptor@Base 9.1~
  xa_composite_allocation@Base 0
  xa_composite_check_accelerated@Base 0
  xa_composite_done@Base 0
diff --git a/debian/not-installed b/debian/not-installed
index 8fdb25b..67dd2b5 100644
--- a/debian/not-installed
+++ b/debian/not-installed
@@ -3,9 +3,11 @@
 # 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 \
+	dri/usr/include/GLES3/gl3platform.h \
+	dri/usr/include/GLES3/gl3ext.h \
+	dri/usr/include/GLES3/gl3.h \
 	dri/usr/lib/*/libGL.so \
 	dri/usr/lib/*/pkgconfig/gl.pc \
 	usr/include/GL/glext.h \
@@ -15,7 +17,6 @@ NOT_INSTALLED := \
 	usr/include/GL/glx.h \
 	usr/include/GL/glx_mangle.h \
 	usr/include/GL/osmesa.h \
-	usr/include/GL/vms_x_fix.h \
 	usr/include/GL/wglext.h \
 	usr/include/GL/wmesa.h
 
diff --git a/debian/patches/15-fix-llvmpipe-test-linking.diff b/debian/patches/15-fix-llvmpipe-test-linking.diff
deleted file mode 100644
index 92893a3..0000000
--- a/debian/patches/15-fix-llvmpipe-test-linking.diff
+++ /dev/null
@@ -1,61 +0,0 @@
-From 7e2e29c67f8fc8ec72c2dc8544428fdd86b21353 Mon Sep 17 00:00:00 2001
-From: Olivier Blin <dev@blino.org>
-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
-
-
diff --git a/debian/patches/15-fix-oot-build.diff b/debian/patches/15-fix-oot-build.diff
new file mode 100644
index 0000000..7604766
--- /dev/null
+++ b/debian/patches/15-fix-oot-build.diff
@@ -0,0 +1,22 @@
+diff --git a/src/gallium/state_trackers/egl/Makefile.am b/src/gallium/state_trackers/egl/Makefile.am
+index d647a64..d770699 100644
+--- a/src/gallium/state_trackers/egl/Makefile.am
++++ b/src/gallium/state_trackers/egl/Makefile.am
+@@ -27,7 +27,7 @@ include $(top_srcdir)/src/gallium/Automake.inc
+ AM_CFLAGS = $(GALLIUM_CFLAGS)
+ AM_CPPFLAGS = \
+ 	-I$(top_srcdir)/src/egl/main \
+-	-I$(top_srcdir)/src/egl/wayland/wayland-drm/ \
++	-I$(top_builddir)/src/egl/wayland/wayland-drm/ \
+ 	-I$(top_srcdir)/include
+ 
+ noinst_LTLIBRARIES = libegl.la
+@@ -71,7 +71,7 @@ AM_CFLAGS += \
+ AM_CPPFLAGS += \
+ 	-I$(top_srcdir)/src/gallium/winsys \
+ 	-I$(top_srcdir)/src/egl/wayland/wayland-egl \
+-	-I$(top_srcdir)/src/egl/wayland/wayland-drm \
++	-I$(top_builddir)/src/egl/wayland/wayland-drm \
+ 	-DHAVE_WAYLAND_BACKEND
+ endif
+ 
diff --git a/debian/patches/16-radeon-ndebug.diff b/debian/patches/16-radeon-ndebug.diff
deleted file mode 100644
index afdbda6..0000000
--- a/debian/patches/16-radeon-ndebug.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-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
- 
diff --git a/debian/patches/series b/debian/patches/series
index c959e9c..9ffbdea 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,5 +6,4 @@
 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
+15-fix-oot-build.diff
diff --git a/debian/rules b/debian/rules
index a4127c1..bfe04a5 100755
--- a/debian/rules
+++ b/debian/rules
@@ -190,7 +190,7 @@ $(STAMP)-build-%: configure
 	             --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
+	             ac_cv_path_LLVM_CONFIG=llvm-config-3.2
 	cd $(DEB_BUILD_DIR)/$* && $(MAKE)
 	>$@
 
@@ -229,6 +229,7 @@ clean: unpatch
 	rm -f src/glsl/builtins/tools/texture_builtins.pyc
 	rm -f src/mapi/glapi/gen/*.pyc
 	rm -f src/mesa/main/*.pyc
+	rm -f src/gallium/auxiliary/util/*.pyc
 
 	dh_clean
 

commit c3ffd797a7af2bd458b569e9cd6f74c01b47e0a7
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Thu Jan 31 18:24:54 2013 +0200

    fix libosmesa install paths

diff --git a/debian/libosmesa6-dev.install.in b/debian/libosmesa6-dev.install.in
index cef6cac..9796d26 100644
--- a/debian/libosmesa6-dev.install.in
+++ b/debian/libosmesa6-dev.install.in
@@ -1,3 +1,3 @@
-dri/usr/include/GL/osmesa.h
-dri/usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa.so
-dri/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/osmesa.pc
+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
diff --git a/debian/libosmesa6.install.in b/debian/libosmesa6.install.in
index 6289c66..e34327e 100644
--- a/debian/libosmesa6.install.in
+++ b/debian/libosmesa6.install.in
@@ -1 +1 @@
-dri/usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa.so.*
+dri/usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa.so.*	usr/lib/${DEB_HOST_MULTIARCH}

commit f1c46c84189e548331e94f296530f98b5b002f10
Author: Marek Olšák <maraeo@gmail.com>
Date:   Fri Feb 1 20:59:38 2013 +0100

    r300g: fix blending with blend color and RGBA formats
    
    NOTE: This is a candidate for the stable branches.
    (cherry picked from commit f40a7fc34a601195191b1b2ffef55818a4086d5f)

diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c
index fd02f82..377b726 100644
--- a/src/gallium/drivers/r300/r300_state.c
+++ b/src/gallium/drivers/r300/r300_state.c
@@ -487,6 +487,7 @@ static void r300_set_blend_color(struct pipe_context* pipe,
         (struct r300_blend_color_state*)r300->blend_color_state.state;
     struct pipe_blend_color c;
     enum pipe_format format = fb->nr_cbufs ? fb->cbufs[0]->format : 0;
+    float tmp;
     CB_LOCALS;
 
     state->state = *color; /* Save it, so that we can reuse it in set_fb_state */
@@ -513,6 +514,13 @@ static void r300_set_blend_color(struct pipe_context* pipe,
             c.color[2] = c.color[3];
             break;
 
+        case PIPE_FORMAT_R8G8B8A8_UNORM:
+        case PIPE_FORMAT_R8G8B8X8_UNORM:
+            tmp = c.color[0];
+            c.color[0] = c.color[2];
+            c.color[2] = tmp;
+            break;
+
         default:;
         }
     }
@@ -919,6 +927,9 @@ r300_set_framebuffer_state(struct pipe_context* pipe,
     /* Need to reset clamping or colormask. */
     r300_mark_atom_dirty(r300, &r300->blend_state);
 
+    /* Re-swizzle the blend color. */
+    r300_set_blend_color(pipe, &((struct r300_blend_color_state*)r300->blend_color_state.state)->state);
+
     /* If zsbuf is set from NULL to non-NULL or vice versa.. */
     if (!!old_state->zsbuf != !!state->zsbuf) {
         r300_mark_atom_dirty(r300, &r300->dsa_state);

commit 4bc85f9aac46d2442eb6194bd15c5995b281071f
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Tue Feb 5 15:12:14 2013 +0100

    Require libdrm_radeon 2.4.42 for radeonsi.
    
    It has new PCI IDs and an important tiled surface layout fix.
    (cherry picked from commit 02a423b23936a0757f5171535235707c5444b9bc)

diff --git a/configure.ac b/configure.ac
index 564ca3c..ef6da49 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,7 +30,7 @@ AC_SUBST([OSMESA_VERSION])
 
 dnl Versions for external dependencies
 LIBDRM_REQUIRED=2.4.24
-LIBDRM_RADEON_REQUIRED=2.4.40
+LIBDRM_RADEON_REQUIRED=2.4.42
 LIBDRM_INTEL_REQUIRED=2.4.38
 LIBDRM_NVVIEUX_REQUIRED=2.4.33
 LIBDRM_NOUVEAU_REQUIRED="2.4.33 libdrm >= 2.4.41"
diff --git a/scons/gallium.py b/scons/gallium.py
index a8b1f03..4b51b6e 100755
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -530,7 +530,7 @@ def generate(env):
     env.PkgCheckModules('XF86VIDMODE', ['xxf86vm'])
     env.PkgCheckModules('DRM', ['libdrm >= 2.4.24'])
     env.PkgCheckModules('DRM_INTEL', ['libdrm_intel >= 2.4.30'])
-    env.PkgCheckModules('DRM_RADEON', ['libdrm_radeon >= 2.4.40'])
+    env.PkgCheckModules('DRM_RADEON', ['libdrm_radeon >= 2.4.42'])
     env.PkgCheckModules('XORG', ['xorg-server >= 1.6.0'])
     env.PkgCheckModules('KMS', ['libkms >= 2.4.24'])
     env.PkgCheckModules('UDEV', ['libudev > 150'])

commit e1d798a9015d330f23aef5ad2ca10c5844e704e7
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Thu Jan 24 19:11:28 2013 -0500

    radeonsi: add Oland pci ids
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    
    Note: this is a candidate for the 9.1 branch.
    (cherry picked from commit 4161d70bba567e6e73d5e9e993a74d81930d0e72)

diff --git a/include/pci_ids/radeonsi_pci_ids.h b/include/pci_ids/radeonsi_pci_ids.h
index a885a44..22c96c0 100644
--- a/include/pci_ids/radeonsi_pci_ids.h
+++ b/include/pci_ids/radeonsi_pci_ids.h
@@ -46,3 +46,17 @@ CHIPSET(0x6839, VERDE_6839, VERDE)
 CHIPSET(0x683B, VERDE_683B, VERDE)
 CHIPSET(0x683D, VERDE_683D, VERDE)
 CHIPSET(0x683F, VERDE_683F, VERDE)
+
+CHIPSET(0x6600, OLAND_6600, OLAND)
+CHIPSET(0x6601, OLAND_6601, OLAND)
+CHIPSET(0x6602, OLAND_6602, OLAND)
+CHIPSET(0x6603, OLAND_6603, OLAND)
+CHIPSET(0x6606, OLAND_6606, OLAND)
+CHIPSET(0x6607, OLAND_6607, OLAND)
+CHIPSET(0x6610, OLAND_6610, OLAND)
+CHIPSET(0x6611, OLAND_6611, OLAND)
+CHIPSET(0x6613, OLAND_6613, OLAND)
+CHIPSET(0x6620, OLAND_6620, OLAND)
+CHIPSET(0x6621, OLAND_6621, OLAND)
+CHIPSET(0x6623, OLAND_6623, OLAND)
+CHIPSET(0x6631, OLAND_6631, OLAND)

commit 6b0fa537a99bb961d47069da952900edb4f4613d
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Thu Jan 24 19:09:48 2013 -0500

    radeonsi: default PA_SC_RASTER_CONFIG to 0
    
    That should work in all cases.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    
    Note: this is a candidate for the 9.1 branch.
    (cherry picked from commit af0af75881ea99452086afd6907780de77af6e96)

diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 6478e9a..6e50832 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -2662,12 +2662,14 @@ void si_init_config(struct r600_context *rctx)
 		si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x2a00126a);
 		break;
 	case CHIP_VERDE:
-	default:
 		si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x0000124a);
 		break;
 	case CHIP_OLAND:
 		si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x00000082);
 		break;
+	default:
+		si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x00000000);
+		break;
 	}
 
 	si_pm4_set_state(rctx, init, pm4);

commit 0cc0097bb03e1790c4598016343fa91cfd39e10c
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Thu Jan 24 19:08:07 2013 -0500

    radeonsi: add support for Oland chips
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    
    Note: this is a candidate for the 9.1 branch
    (cherry picked from commit 83e4407f443fb6baeccf9aefee291c82adcaa58b)

diff --git a/src/gallium/drivers/radeonsi/radeonsi_pipe.c b/src/gallium/drivers/radeonsi/radeonsi_pipe.c
index 9ec3fe3..9a71bcc 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_pipe.c
+++ b/src/gallium/drivers/radeonsi/radeonsi_pipe.c
@@ -280,6 +280,7 @@ static const char *r600_get_family_name(enum radeon_family family)
 	case CHIP_TAHITI: return "AMD TAHITI";
 	case CHIP_PITCAIRN: return "AMD PITCAIRN";
 	case CHIP_VERDE: return "AMD CAPE VERDE";
+	case CHIP_OLAND: return "AMD OLAND";
 	default: return "AMD unknown";
 	}
 }
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index e81079e..6478e9a 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -2665,6 +2665,9 @@ void si_init_config(struct r600_context *rctx)
 	default:
 		si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x0000124a);
 		break;
+	case CHIP_OLAND:
+		si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x00000082);
+		break;
 	}
 
 	si_pm4_set_state(rctx, init, pm4);
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
index d23220d..62ba4b1 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
@@ -312,6 +312,7 @@ static boolean do_winsys_init(struct radeon_drm_winsys *ws)
     case CHIP_TAHITI:
     case CHIP_PITCAIRN:
     case CHIP_VERDE:
+    case CHIP_OLAND:
         ws->info.chip_class = TAHITI;
         break;
     }
diff --git a/src/gallium/winsys/radeon/drm/radeon_winsys.h b/src/gallium/winsys/radeon/drm/radeon_winsys.h
index 8b64ef2..c57a87d 100644
--- a/src/gallium/winsys/radeon/drm/radeon_winsys.h
+++ b/src/gallium/winsys/radeon/drm/radeon_winsys.h
@@ -123,6 +123,7 @@ enum radeon_family {
     CHIP_TAHITI,
     CHIP_PITCAIRN,
     CHIP_VERDE,
+    CHIP_OLAND,
     CHIP_LAST,
 };
 

commit 7f90de54142647966169165079a952ce648ddb06
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Feb 1 18:49:07 2013 +0100

    radeonsi: Fix draws using user index buffer.
    
    Was broken since commit bf469f4edc60bd1c5fd770cb231b8d5ab801427f
    ('gallium: add void *user_buffer in pipe_index_buffer').
    
    Fixes 11 piglit tests and lots of missing geometry e.g. in TORCS.
    
    NOTE: This is a candidate for the 9.1 branch.
    (cherry picked from commit a8a5055f2dea1960898763d17f28043577c3e64e)

diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
index ef94eae..3704410 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -524,10 +524,8 @@ void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
 	struct pipe_index_buffer ib = {};
 	uint32_t cp_coher_cntl;
 
-	if ((!info->count && (info->indexed || !info->count_from_stream_output)) ||
-	    (info->indexed && !rctx->index_buffer.buffer)) {
+	if (!info->count && (info->indexed || !info->count_from_stream_output))
 		return;
-	}
 
 	if (!rctx->ps_shader || !rctx->vs_shader)
 		return;
@@ -538,13 +536,14 @@ void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
 	if (info->indexed) {
 		/* Initialize the index buffer struct. */
 		pipe_resource_reference(&ib.buffer, rctx->index_buffer.buffer);
+		ib.user_buffer = rctx->index_buffer.user_buffer;
 		ib.index_size = rctx->index_buffer.index_size;
 		ib.offset = rctx->index_buffer.offset + info->start * ib.index_size;
 
 		/* Translate or upload, if needed. */
 		r600_translate_index_buffer(rctx, &ib, info->count);
 
-		if (ib.user_buffer) {
+		if (ib.user_buffer && !ib.buffer) {
 			r600_upload_index_buffer(rctx, &ib, info->count);
 		}
 

commit 8cd237bcbe415475d70526039c12ab6a36082365
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Jan 25 16:04:37 2013 +0100

    radeonsi: Remove spurious traces of R16G16B16 support.
    
    The hardware can't do it, and these were causing warnings in some piglit tests.
    
    NOTE: This is a candidate for the 9.1 branch.
    (cherry picked from commit 6455d40b7ec09e3a3923c9b78952dc29627afed1)

diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index aba44df..e81079e 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -804,15 +804,12 @@ static uint32_t si_translate_colorformat(enum pipe_format format)
 		return V_028C70_COLOR_10_11_11;
 
 	/* 64-bit buffers. */
-	case PIPE_FORMAT_R16G16B16_USCALED:
-	case PIPE_FORMAT_R16G16B16_SSCALED:
 	case PIPE_FORMAT_R16G16B16A16_UINT:
 	case PIPE_FORMAT_R16G16B16A16_SINT:
 	case PIPE_FORMAT_R16G16B16A16_USCALED:
 	case PIPE_FORMAT_R16G16B16A16_SSCALED:
 	case PIPE_FORMAT_R16G16B16A16_UNORM:
 	case PIPE_FORMAT_R16G16B16A16_SNORM:
-	case PIPE_FORMAT_R16G16B16_FLOAT:
 	case PIPE_FORMAT_R16G16B16A16_FLOAT:
 		return V_028C70_COLOR_16_16_16_16;
 

commit 5ca77c27a6ded205d28204076e165d2f2e5afc93
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Fri Jan 25 18:30:30 2013 +0100

    radeonsi: Enable texture arrays.


Reply to: