commit:     d9a5fd011e6dd17929a1d839b60f983c9f8121c7
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 14 02:32:39 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Mar 14 02:32:39 2016 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=d9a5fd01

media-libs/mesa: in tree version 11.0.6 works

 media-libs/mesa/Manifest                           |   12 -
 media-libs/mesa/files/eselect-mesa.conf.8.1        |   38 -
 media-libs/mesa/files/eselect-mesa.conf.9.2        |   39 -
 media-libs/mesa/files/glx_ro_text_segm.patch       |   28 -
 media-libs/mesa/files/mesa-10-pthread.patch        |   24 -
 .../mesa-10.2-dont-require-llvm-for-r300.patch     |   11 -
 .../mesa/files/mesa-10.3.7-dont-use-clrsb.patch    |   36 -
 .../mesa/files/mesa-10.3.7-format_utils.c.patch    | 1089 --------------------
 .../mesa/files/mesa-10.5.1-fstat-include.patch     |   37 -
 media-libs/mesa/files/mesa-9.1.6-fpclassify.patch  |   11 -
 media-libs/mesa/mesa-10.3.7-r99.ebuild             |  536 ----------
 media-libs/mesa/metadata.xml                       |   34 -
 12 files changed, 1895 deletions(-)

diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest
deleted file mode 100644
index ca24f64..0000000
--- a/media-libs/mesa/Manifest
+++ /dev/null
@@ -1,12 +0,0 @@
-AUX eselect-mesa.conf.8.1 1622 SHA256 
a7a4306084885dc624304a8893ca4f5645f7f1fe31322f9fb663e5a103f69221 SHA512 
58eacf1304ebaa0116ea3c53fafdddb8c94738e31daad8546ac33b46dc51b81a6bccb48c167afe792c7fd41ca5054d8e66123f524b0623ad3e603ed4872f9dc4
 WHIRLPOOL 
7af55e3cb9448f4b3b4c463443e078a5559588371767e10b5890918d84bfeb16797f11ffabf9aaa205db70c550c5dfc18fe709b3a2e00746d93d4bf4944124b1
-AUX eselect-mesa.conf.9.2 1676 SHA256 
bcf5f77140b4695f147d4cd3c2db4b954fb57eccfd4475c7f7c4866edda8436e SHA512 
d0061359638c0d9729ba1035fd7740c84d59f538adc11af2ee671b5ddbc83c420159efbefcc39ea680f06d20507f1e1d76b528712a07baeca901a413ba7b55df
 WHIRLPOOL 
0fc650223a1910305bb2c4b7b946ac8b83b5b1ba0b79b586a96303a369b30c9c03dc658a6e8e9a29c5c4605f3865e245be0a0e6a27c40ac37402e8a2616b3ace
-AUX glx_ro_text_segm.patch 731 SHA256 
e36af5b530fdbe2b0e62a035bf4bf4baef267c3dc56133d1a58e56899ebffc5c SHA512 
90d04d1268cc90e1c5596b49b143895eba99d4e7f7d9bb5f699725c1308e3995edac44e3f61536c7ce70ebf5df84a5a22c18fa84fb54fbddb339f908975bb43c
 WHIRLPOOL 
42171ef67930bebdcfdfcb0c9370234791c6125be760b6419abfff44bd65899982167d6da4d6eb4198383438e6376b4b695109af158083b903071c545160d883
-AUX mesa-10-pthread.patch 695 SHA256 
a355933736a39ce9b0e26412ac940377fc6b3eeb25737c53bf8d767fe34c5367 SHA512 
7850b543fb8413b9abf65ab884588eb7b15782122253bc9f4baee8735775bfd6bade42c386f295c20c7d43484d9ce82597cf82c8bca97433ccec8816386cc275
 WHIRLPOOL 
ad2b5163a556733f8772ab9bce0ea452ac8373c96dc9be82ab1cf7dd7c59eea9fc7bed90786f1e3237e1639852785ed836f42bcaed78447355a6693501c9560f
-AUX mesa-10.2-dont-require-llvm-for-r300.patch 547 SHA256 
83cfeae33b1e8c84b37ed59c353000eb775978ae3d9035ba8ce4f63a167756fc SHA512 
d1cb5a989aa001c99f353d27ab5b28ac05d60050614bbfd76ca5d312e00efcc2b1a2459d30d697b68119310c69512b4195afce6c0ed7f31fb9cf14689a740e27
 WHIRLPOOL 
c06669942d275a9d9f132ec8f51d3ecf23d33cb89cb607ba3a7861f209f283b39a9568513b07e22f0dfcc99339a307d7b2a6b03f261ed583fd4518d3b4d0b464
-AUX mesa-10.3.7-dont-use-clrsb.patch 1140 SHA256 
23626c6bf1e502f17f4b9236b512063b41bf52be64f56252f0fc5ce456824d58 SHA512 
2d9dd9a56c3bab02e8ec1a1ab4d88c2855746d8243548f197cb43de6e980554447c75e53c07dcd270de7e1c282cf7fdf996e5102a24e47b75e484a18f99092e0
 WHIRLPOOL 
47b222fb61427bbe2a63ac4b738608e9c3491e6373c33e1d68c79198a111d7668b4cafbac9e58820e8cefae55dffca46ab57dbe91ad819feeb734c32f01020f0
-AUX mesa-10.3.7-format_utils.c.patch 34839 SHA256 
81ec8d547d798aa5ef5dfc9f0685291af04f95882608f8e9db39a867f44ab431 SHA512 
777597b41c37ced0fb375048cc30c4cac701c6020c70bd0f6fbbc2d6f2c1ac9ece0f6d411d81dd042be7f2fbc17e0536176d8230b93f9eed7d7ddf205ac98bb8
 WHIRLPOOL 
51a213c415d81250a2bc3ad117581b62c4eed13152a9550b2214a9c63f85a6559b1504e013ae0d8e56d5adcaff053c753aa833d7acbe10185d468fdfed5e1b72
-AUX mesa-10.5.1-fstat-include.patch 1008 SHA256 
4d44da3882ae9ae7c5d255189e5ca86569337a53d6aece4c65344c753aa588d3 SHA512 
6df3167efe198955198b4eb3e1c883f307ebbeb5ebaa63836f8bddf70173382454de6b0d9cb626bb20a5a649fe355a7d25ed5ce27348d5234df27fb9c920b4b4
 WHIRLPOOL 
b05dee0366e35105a7eac143bd4b59e146b0ca369b522e58d2e9a08c8c35b79e929edeacf90154d826dc7ff40ebc7161cc3a6b663e0418388b8f5f5254747066
-AUX mesa-9.1.6-fpclassify.patch 618 SHA256 
b02df9b6850d46d251dd51213800d6608195487d0bc91aac79df75616b7bd6d4 SHA512 
e7f61451bb05caaeecbe19b24d3c44cecd54a3f10d40701973cf061dc5396c7dc0220c19396e73d5f8d8a8febf34789333476cca62566667d827ed5f68155d4b
 WHIRLPOOL 
4df278e552808cf8656c1319518cd8e37ffd3189e482efae6401dfd43febe733a8e57135d1d4886906fc37b495762c92ca24e5a5f98fe7af59df405e54a4b946
-DIST MesaLib-10.3.7.tar.bz2 7287153 SHA256 
43c6ced15e237cbb21b3082d7c0b42777c50c1f731d0d4b5efb5231063fb6a5b SHA512 
bbc027c4146c42aaa160990f5281c71a342d32c10ba56f91da1a60dd4cb7d620ff49b72553d24bc1d87470e2baf9be81b5bdee9abe49d6acc57902fccb9e2e5f
 WHIRLPOOL 
7fa32e70c6aabb84a06f2f852f77eac839aea08726c442742b3d3abdb94a0fd9f033439ab0cb16865f4ee14e1538cb86937856bbdfd1f9090e8e7c43eac52e03
-EBUILD mesa-10.3.7-r99.ebuild 14707 SHA256 
5d7bc944628f494641d79bb39559d0e459f89770f7b2691d79c2f6420d3b7ab9 SHA512 
ed82955c3d2741a73ec3082680e5c93b9708a3c159bb836e01298e88cdfc9028591d0050d8ef76dfeb4304f7c0c53e38aee5c130094bbff5d3b93ab609d26391
 WHIRLPOOL 
26430225f044f046f0229f62f3c3541f169c87b5141973edbc8ffbd6fa57231ba2479ab0d42be0b61ba4ae9dce140277099c20228da2ead18a7b0fd8d2b54423
-MISC metadata.xml 2031 SHA256 
c73e1a9bc99045751417552228181f11eee19a5c654968ea353c50c3da96daa3 SHA512 
b79ddf5ebd7832ff173528eda54d828ef2164b128386a586fa8e4f56edb3831316b67c5a89c7f575dce99ff83e52776d1fd324734853c5cb546bf58adbb014d0
 WHIRLPOOL 
cd73d9e2cad9d61d68d46ecefb1b56fdd35adeb79cefcb8f150af203bc928e420fe673b4947d0c6e3a46d63e2aa2d88085edba229c387ab98a0b0bce59cf20c2

diff --git a/media-libs/mesa/files/eselect-mesa.conf.8.1 
b/media-libs/mesa/files/eselect-mesa.conf.8.1
deleted file mode 100644
index 63a21aa..0000000
--- a/media-libs/mesa/files/eselect-mesa.conf.8.1
+++ /dev/null
@@ -1,38 +0,0 @@
-# mesa classic/gallium implementations in this release
-
-# Syntax description:
-# * MESA_IMPLEMENTATIONS contains a space-delimited list of switchable
-#   classic/gallium implementations.
-# * MESA_DRIVERS is an associative array, for each member "foo" of
-#   MESA_IMPLEMENTATIONS it contains the following elements:
-#   foo,description - Human-readable description of the driver
-#   foo,classicdriver - Filename of the classic driver
-#   foo,galliumdriver - Filename of the gallium driver
-#   foo,default - which of classic or gallium is chosen by default
-
-MESA_IMPLEMENTATIONS="i915 i965 r300 r600 sw"
-declare -A MESA_DRIVERS || die "MESA_DRIVERS already in environment and not 
associative."
-
-MESA_DRIVERS[i915,description]="i915 (Intel 915, 945)"
-MESA_DRIVERS[i915,classicdriver]="i915_dri.so"
-MESA_DRIVERS[i915,galliumdriver]="i915g_dri.so"
-MESA_DRIVERS[i915,default]="gallium"
-
-MESA_DRIVERS[i965,description]="i965 (Intel 965, G/Q3x, G/Q4x)"
-MESA_DRIVERS[i965,classicdriver]="i965_dri.so"
-MESA_DRIVERS[i965,default]="classic"
-
-MESA_DRIVERS[r300,description]="r300 (Radeon R300-R500)"
-MESA_DRIVERS[r300,classicdriver]="r300_dri.so"
-MESA_DRIVERS[r300,galliumdriver]="r300g_dri.so"
-MESA_DRIVERS[r300,default]="gallium"
-
-MESA_DRIVERS[r600,description]="r600 (Radeon R600-R700, Evergreen, Northern 
Islands)"
-MESA_DRIVERS[r600,classicdriver]="r600_dri.so"
-MESA_DRIVERS[r600,galliumdriver]="r600g_dri.so"
-MESA_DRIVERS[r600,default]="gallium"
-
-MESA_DRIVERS[sw,description]="sw (Software renderer)"
-MESA_DRIVERS[sw,classicdriver]="swrast_dri.so"
-MESA_DRIVERS[sw,galliumdriver]="swrastg_dri.so"
-MESA_DRIVERS[sw,default]="gallium"

diff --git a/media-libs/mesa/files/eselect-mesa.conf.9.2 
b/media-libs/mesa/files/eselect-mesa.conf.9.2
deleted file mode 100644
index ff590f5..0000000
--- a/media-libs/mesa/files/eselect-mesa.conf.9.2
+++ /dev/null
@@ -1,39 +0,0 @@
-# mesa classic/gallium implementations in this release
-
-# Syntax description:
-# * MESA_IMPLEMENTATIONS contains a space-delimited list of switchable
-#   classic/gallium implementations.
-# * MESA_DRIVERS is an associative array, for each member "foo" of
-#   MESA_IMPLEMENTATIONS it contains the following elements:
-#   foo,description - Human-readable description of the driver
-#   foo,classicdriver - Filename of the classic driver
-#   foo,galliumdriver - Filename of the gallium driver
-#   foo,default - which of classic or gallium is chosen by default
-
-MESA_IMPLEMENTATIONS="i915 i965 r300 r600 sw"
-declare -A MESA_DRIVERS || die "MESA_DRIVERS already in environment and not 
associative."
-
-MESA_DRIVERS[i915,description]="i915 (Intel 915, 945)"
-MESA_DRIVERS[i915,classicdriver]="i915_dri.so"
-MESA_DRIVERS[i915,galliumdriver]="i915g_dri.so"
-MESA_DRIVERS[i915,default]="gallium"
-
-MESA_DRIVERS[i965,description]="i965 (Intel GMA 965, G/Q3x, G/Q4x, HD)"
-MESA_DRIVERS[i965,classicdriver]="i965_dri.so"
-MESA_DRIVERS[i965,galliumdriver]="ilo_dri.so"
-MESA_DRIVERS[i965,default]="classic"
-
-MESA_DRIVERS[r300,description]="r300 (Radeon R300-R500)"
-MESA_DRIVERS[r300,classicdriver]="r300_dri.so"
-MESA_DRIVERS[r300,galliumdriver]="r300g_dri.so"
-MESA_DRIVERS[r300,default]="gallium"
-
-MESA_DRIVERS[r600,description]="r600 (Radeon R600-R700, Evergreen, Northern 
Islands)"
-MESA_DRIVERS[r600,classicdriver]="r600_dri.so"
-MESA_DRIVERS[r600,galliumdriver]="r600g_dri.so"
-MESA_DRIVERS[r600,default]="gallium"
-
-MESA_DRIVERS[sw,description]="sw (Software renderer)"
-MESA_DRIVERS[sw,classicdriver]="swrast_dri.so"
-MESA_DRIVERS[sw,galliumdriver]="swrastg_dri.so"
-MESA_DRIVERS[sw,default]="gallium"

diff --git a/media-libs/mesa/files/glx_ro_text_segm.patch 
b/media-libs/mesa/files/glx_ro_text_segm.patch
deleted file mode 100644
index 495b7dc..0000000
--- a/media-libs/mesa/files/glx_ro_text_segm.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-2011-02-09     Jeremy Huddleston <[email protected]
-
-       #240956
-       * configure.ac  add support to enable readonly test segment on x86
-
---- configure.ac.orig  2008-11-17 23:19:38.000000000 +0100
-+++ configure.ac       2008-11-17 23:20:17.000000000 +0100
-@@ -499,6 +499,20 @@
-     enable_xcb=no
- fi
- 
-+
-+dnl readonly text segment on x86 hardened platforms
-+AC_ARG_ENABLE([glx_rts],
-+    [AS_HELP_STRING([--enable-glx-rts],
-+        [on x86, use a readonly text segment for libGL 
@<:@default=disabled@:>@])],
-+    [enable_glx_rts="$enableval"],
-+    [enable_glx_rts=no])
-+if test "x$enable_glx_rts" = xyes; then
-+    DEFINES="$DEFINES -DGLX_X86_READONLY_TEXT"
-+else
-+    enable_glx_rts=no
-+fi
-+
-+
- dnl
- dnl libGL configuration per driver
- dnl

diff --git a/media-libs/mesa/files/mesa-10-pthread.patch 
b/media-libs/mesa/files/mesa-10-pthread.patch
deleted file mode 100644
index 17a8bda..0000000
--- a/media-libs/mesa/files/mesa-10-pthread.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-mesa-10.patch from sabotage linux
-
---- ./include/c11/threads_posix.h.orig
-+++ ./include/c11/threads_posix.h
-@@ -178,7 +178,7 @@
-         return thrd_error;
-     pthread_mutexattr_init(&attr);
-     if ((type & mtx_recursive) != 0) {
--#if defined(__linux__) || defined(__linux)
-+#if defined(__GLIBC__)
-         pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
- #else
-         pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
---- ./src/gallium/winsys/svga/drm/vmw_screen.h.orig
-+++ ./src/gallium/winsys/svga/drm/vmw_screen.h
-@@ -34,7 +34,7 @@
- #ifndef VMW_SCREEN_H_
- #define VMW_SCREEN_H_
- 
--
-+#include <sys/stat.h>
- #include "pipe/p_compiler.h"
- #include "pipe/p_state.h"
- 

diff --git a/media-libs/mesa/files/mesa-10.2-dont-require-llvm-for-r300.patch 
b/media-libs/mesa/files/mesa-10.2-dont-require-llvm-for-r300.patch
deleted file mode 100644
index a85a3c1..0000000
--- a/media-libs/mesa/files/mesa-10.2-dont-require-llvm-for-r300.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur a/configure.ac b/configure.ac
---- a/configure.ac     2014-03-03 04:05:33.110522943 +0100
-+++ b/configure.ac     2014-03-03 04:06:44.165518094 +0100
-@@ -1774,7 +1774,6 @@
-             HAVE_GALLIUM_R300=yes
-             PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= 
$LIBDRM_RADEON_REQUIRED])
-             gallium_require_drm_loader
--            gallium_require_llvm "Gallium R300"
-             GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
-             gallium_check_st "radeon/drm" "r300/dri" "" "" ""
-             DRICOMMON_NEED_LIBDRM=yes

diff --git a/media-libs/mesa/files/mesa-10.3.7-dont-use-clrsb.patch 
b/media-libs/mesa/files/mesa-10.3.7-dont-use-clrsb.patch
deleted file mode 100644
index c38757d..0000000
--- a/media-libs/mesa/files/mesa-10.3.7-dont-use-clrsb.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 32e98e8ef06f0bb6ad55f9fb5858be77c03367b0 Mon Sep 17 00:00:00 2001
-From: Matt Turner <[email protected]>
-Date: Mon, 2 Feb 2015 17:26:49 -0800
-Subject: [PATCH] gallium/util: Don't use __builtin_clrsb in util_last_bit().
-
-Unclear circumstances lead to undefined symbols on x86.
-
-Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=536916
-Cc: [email protected]
-Reviewed-by: Ilia Mirkin <[email protected]>
----
- src/gallium/auxiliary/util/u_math.h | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/src/gallium/auxiliary/util/u_math.h 
b/src/gallium/auxiliary/util/u_math.h
-index 19c7343..ca6d0f1 100644
---- a/src/gallium/auxiliary/util/u_math.h
-+++ b/src/gallium/auxiliary/util/u_math.h
-@@ -561,14 +561,10 @@ util_last_bit(unsigned u)
- static INLINE unsigned
- util_last_bit_signed(int i)
- {
--#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 407) && 
!defined(__INTEL_COMPILER)
--   return 31 - __builtin_clrsb(i);
--#else
-    if (i >= 0)
-       return util_last_bit(i);
-    else
-       return util_last_bit(~(unsigned)i);
--#endif
- }
- 
- /* Destructively loop over all of the bits in a mask as in:
--- 
-2.0.4
-

diff --git a/media-libs/mesa/files/mesa-10.3.7-format_utils.c.patch 
b/media-libs/mesa/files/mesa-10.3.7-format_utils.c.patch
deleted file mode 100644
index e1fba03..0000000
--- a/media-libs/mesa/files/mesa-10.3.7-format_utils.c.patch
+++ /dev/null
@@ -1,1089 +0,0 @@
-From cfeb394224f2daeb2139cf4ec489a4dd8297a44d Mon Sep 17 00:00:00 2001
-From: Brian Paul <[email protected]>
-Date: Fri, 12 Sep 2014 08:31:15 -0600
-Subject: [PATCH] mesa: break up _mesa_swizzle_and_convert() to reduce compile
- time
-
-This reduces gcc -O3 compile time to 1/4 of what it was on my system.
-Reduces MSVC release build time too.
-
-Reviewed-by: Jason Ekstrand <[email protected]>
----
- src/mesa/main/format_utils.c | 1030 ++++++++++++++++++++++--------------------
- 1 file changed, 550 insertions(+), 480 deletions(-)
-
-diff --git a/src/mesa/main/format_utils.c b/src/mesa/main/format_utils.c
-index 240e3bc..29d779a 100644
---- a/src/mesa/main/format_utils.c
-+++ b/src/mesa/main/format_utils.c
-@@ -352,9 +352,14 @@ swizzle_convert_try_memcpy(void *dst, GLenum dst_type, 
int num_dst_channels,
-  */
- #define SWIZZLE_CONVERT(DST_TYPE, SRC_TYPE, CONV)                 \
-    do {                                                           \
-+      const uint8_t swizzle_x = swizzle[0];                       \
-+      const uint8_t swizzle_y = swizzle[1];                       \
-+      const uint8_t swizzle_z = swizzle[2];                       \
-+      const uint8_t swizzle_w = swizzle[3];                       \
-       const SRC_TYPE *typed_src = void_src;                       \
-       DST_TYPE *typed_dst = void_dst;                             \
-       DST_TYPE tmp[7];                                            \
-+      int s, j;                                                   \
-       tmp[4] = 0;                                                 \
-       tmp[5] = one;                                               \
-       switch (num_dst_channels) {                                 \
-@@ -423,7 +428,527 @@ swizzle_convert_try_memcpy(void *dst, GLenum dst_type, 
int num_dst_channels,
-          }                                                        \
-          break;                                                   \
-       }                                                           \
--   } while (0);
-+   } while (0)
-+
-+
-+static void
-+convert_float(void *void_dst, int num_dst_channels,
-+              const void *void_src, GLenum src_type, int num_src_channels,
-+              const uint8_t swizzle[4], bool normalized, int count)
-+{
-+   const float one = 1.0f;
-+
-+   switch (src_type) {
-+   case GL_FLOAT:
-+      SWIZZLE_CONVERT(float, float, src);
-+      break;
-+   case GL_HALF_FLOAT:
-+      SWIZZLE_CONVERT(float, uint16_t, _mesa_half_to_float(src));
-+      break;
-+   case GL_UNSIGNED_BYTE:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(float, uint8_t, unorm_to_float(src, 8));
-+      } else {
-+         SWIZZLE_CONVERT(float, uint8_t, src);
-+      }
-+      break;
-+   case GL_BYTE:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(float, int8_t, snorm_to_float(src, 8));
-+      } else {
-+         SWIZZLE_CONVERT(float, int8_t, src);
-+      }
-+      break;
-+   case GL_UNSIGNED_SHORT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(float, uint16_t, unorm_to_float(src, 16));
-+      } else {
-+         SWIZZLE_CONVERT(float, uint16_t, src);
-+      }
-+      break;
-+   case GL_SHORT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(float, int16_t, snorm_to_float(src, 16));
-+      } else {
-+         SWIZZLE_CONVERT(float, int16_t, src);
-+      }
-+      break;
-+   case GL_UNSIGNED_INT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(float, uint32_t, unorm_to_float(src, 32));
-+      } else {
-+         SWIZZLE_CONVERT(float, uint32_t, src);
-+      }
-+      break;
-+   case GL_INT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(float, int32_t, snorm_to_float(src, 32));
-+      } else {
-+         SWIZZLE_CONVERT(float, int32_t, src);
-+      }
-+      break;
-+   default:
-+      assert(!"Invalid channel type combination");
-+   }
-+}
-+
-+
-+static void
-+convert_half_float(void *void_dst, int num_dst_channels,
-+                   const void *void_src, GLenum src_type, int 
num_src_channels,
-+                   const uint8_t swizzle[4], bool normalized, int count)
-+{
-+   const uint16_t one = _mesa_float_to_half(1.0f);
-+
-+   switch (src_type) {
-+   case GL_FLOAT:
-+      SWIZZLE_CONVERT(uint16_t, float, _mesa_float_to_half(src));
-+      break;
-+   case GL_HALF_FLOAT:
-+      SWIZZLE_CONVERT(uint16_t, uint16_t, src);
-+      break;
-+   case GL_UNSIGNED_BYTE:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint16_t, uint8_t, unorm_to_half(src, 8));
-+      } else {
-+         SWIZZLE_CONVERT(uint16_t, uint8_t, _mesa_float_to_half(src));
-+      }
-+      break;
-+   case GL_BYTE:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint16_t, int8_t, snorm_to_half(src, 8));
-+      } else {
-+         SWIZZLE_CONVERT(uint16_t, int8_t, _mesa_float_to_half(src));
-+      }
-+      break;
-+   case GL_UNSIGNED_SHORT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint16_t, uint16_t, unorm_to_half(src, 16));
-+      } else {
-+         SWIZZLE_CONVERT(uint16_t, uint16_t, _mesa_float_to_half(src));
-+      }
-+      break;
-+   case GL_SHORT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint16_t, int16_t, snorm_to_half(src, 16));
-+      } else {
-+         SWIZZLE_CONVERT(uint16_t, int16_t, _mesa_float_to_half(src));
-+      }
-+      break;
-+   case GL_UNSIGNED_INT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint16_t, uint32_t, unorm_to_half(src, 32));
-+      } else {
-+         SWIZZLE_CONVERT(uint16_t, uint32_t, _mesa_float_to_half(src));
-+      }
-+      break;
-+   case GL_INT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint16_t, int32_t, snorm_to_half(src, 32));
-+      } else {
-+         SWIZZLE_CONVERT(uint16_t, int32_t, _mesa_float_to_half(src));
-+      }
-+      break;
-+   default:
-+      assert(!"Invalid channel type combination");
-+   }
-+}
-+
-+
-+static void
-+convert_ubyte(void *void_dst, int num_dst_channels,
-+              const void *void_src, GLenum src_type, int num_src_channels,
-+              const uint8_t swizzle[4], bool normalized, int count)
-+{
-+   const uint8_t one = normalized ? UINT8_MAX : 1;
-+
-+   switch (src_type) {
-+   case GL_FLOAT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint8_t, float, float_to_unorm(src, 8));
-+      } else {
-+         SWIZZLE_CONVERT(uint8_t, float, (src < 0) ? 0 : src);
-+      }
-+      break;
-+   case GL_HALF_FLOAT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint8_t, uint16_t, half_to_unorm(src, 8));
-+      } else {
-+         SWIZZLE_CONVERT(uint8_t, uint16_t, half_to_uint(src));
-+      }
-+      break;
-+   case GL_UNSIGNED_BYTE:
-+      SWIZZLE_CONVERT(uint8_t, uint8_t, src);
-+      break;
-+   case GL_BYTE:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint8_t, int8_t, snorm_to_unorm(src, 8, 8));
-+      } else {
-+         SWIZZLE_CONVERT(uint8_t, int8_t, (src < 0) ? 0 : src);
-+      }
-+      break;
-+   case GL_UNSIGNED_SHORT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint8_t, uint16_t, unorm_to_unorm(src, 16, 8));
-+      } else {
-+         SWIZZLE_CONVERT(uint8_t, uint16_t, src);
-+      }
-+      break;
-+   case GL_SHORT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint8_t, int16_t, snorm_to_unorm(src, 16, 8));
-+      } else {
-+         SWIZZLE_CONVERT(uint8_t, int16_t, (src < 0) ? 0 : src);
-+      }
-+      break;
-+   case GL_UNSIGNED_INT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint8_t, uint32_t, unorm_to_unorm(src, 32, 8));
-+      } else {
-+         SWIZZLE_CONVERT(uint8_t, uint32_t, src);
-+      }
-+      break;
-+   case GL_INT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint8_t, int32_t, snorm_to_unorm(src, 32, 8));
-+      } else {
-+         SWIZZLE_CONVERT(uint8_t, int32_t, (src < 0) ? 0 : src);
-+      }
-+      break;
-+   default:
-+      assert(!"Invalid channel type combination");
-+   }
-+}
-+
-+
-+static void
-+convert_byte(void *void_dst, int num_dst_channels,
-+             const void *void_src, GLenum src_type, int num_src_channels,
-+             const uint8_t swizzle[4], bool normalized, int count)
-+{
-+   const int8_t one = normalized ? INT8_MAX : 1;
-+
-+   switch (src_type) {
-+   case GL_FLOAT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint8_t, float, float_to_snorm(src, 8));
-+      } else {
-+         SWIZZLE_CONVERT(uint8_t, float, src);
-+      }
-+      break;
-+   case GL_HALF_FLOAT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint8_t, uint16_t, half_to_snorm(src, 8));
-+      } else {
-+         SWIZZLE_CONVERT(uint8_t, uint16_t, _mesa_half_to_float(src));
-+      }
-+      break;
-+   case GL_UNSIGNED_BYTE:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(int8_t, uint8_t, unorm_to_snorm(src, 8, 8));
-+      } else {
-+         SWIZZLE_CONVERT(int8_t, uint8_t, src);
-+      }
-+      break;
-+   case GL_BYTE:
-+      SWIZZLE_CONVERT(int8_t, int8_t, src);
-+      break;
-+   case GL_UNSIGNED_SHORT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(int8_t, uint16_t, unorm_to_snorm(src, 16, 8));
-+      } else {
-+         SWIZZLE_CONVERT(int8_t, uint16_t, src);
-+      }
-+      break;
-+   case GL_SHORT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(int8_t, int16_t, snorm_to_snorm(src, 16, 8));
-+      } else {
-+         SWIZZLE_CONVERT(int8_t, int16_t, src);
-+      }
-+      break;
-+   case GL_UNSIGNED_INT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(int8_t, uint32_t, unorm_to_snorm(src, 32, 8));
-+      } else {
-+         SWIZZLE_CONVERT(int8_t, uint32_t, src);
-+      }
-+      break;
-+   case GL_INT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(int8_t, int32_t, snorm_to_snorm(src, 32, 8));
-+      } else {
-+         SWIZZLE_CONVERT(int8_t, int32_t, src);
-+      }
-+      break;
-+   default:
-+      assert(!"Invalid channel type combination");
-+   }
-+}
-+
-+
-+static void
-+convert_ushort(void *void_dst, int num_dst_channels,
-+               const void *void_src, GLenum src_type, int num_src_channels,
-+               const uint8_t swizzle[4], bool normalized, int count)
-+{
-+   const uint16_t one = normalized ? UINT16_MAX : 1;
-+   
-+   switch (src_type) {
-+   case GL_FLOAT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint16_t, float, float_to_unorm(src, 16));
-+      } else {
-+         SWIZZLE_CONVERT(uint16_t, float, (src < 0) ? 0 : src);
-+      }
-+      break;
-+   case GL_HALF_FLOAT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint16_t, uint16_t, half_to_unorm(src, 16));
-+      } else {
-+         SWIZZLE_CONVERT(uint16_t, uint16_t, half_to_uint(src));
-+      }
-+      break;
-+   case GL_UNSIGNED_BYTE:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint16_t, uint8_t, unorm_to_unorm(src, 8, 16));
-+      } else {
-+         SWIZZLE_CONVERT(uint16_t, uint8_t, src);
-+      }
-+      break;
-+   case GL_BYTE:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint16_t, int8_t, snorm_to_unorm(src, 8, 16));
-+      } else {
-+         SWIZZLE_CONVERT(uint16_t, int8_t, (src < 0) ? 0 : src);
-+      }
-+      break;
-+   case GL_UNSIGNED_SHORT:
-+      SWIZZLE_CONVERT(uint16_t, uint16_t, src);
-+      break;
-+   case GL_SHORT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint16_t, int16_t, snorm_to_unorm(src, 16, 16));
-+      } else {
-+         SWIZZLE_CONVERT(uint16_t, int16_t, (src < 0) ? 0 : src);
-+      }
-+      break;
-+   case GL_UNSIGNED_INT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint16_t, uint32_t, unorm_to_unorm(src, 32, 16));
-+      } else {
-+         SWIZZLE_CONVERT(uint16_t, uint32_t, src);
-+      }
-+      break;
-+   case GL_INT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint16_t, int32_t, snorm_to_unorm(src, 32, 16));
-+      } else {
-+         SWIZZLE_CONVERT(uint16_t, int32_t, (src < 0) ? 0 : src);
-+      }
-+      break;
-+   default:
-+      assert(!"Invalid channel type combination");
-+   }
-+}
-+
-+
-+static void
-+convert_short(void *void_dst, int num_dst_channels,
-+              const void *void_src, GLenum src_type, int num_src_channels,
-+              const uint8_t swizzle[4], bool normalized, int count)
-+{
-+   const int16_t one = normalized ? INT16_MAX : 1;
-+
-+   switch (src_type) {
-+   case GL_FLOAT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint16_t, float, float_to_snorm(src, 16));
-+      } else {
-+         SWIZZLE_CONVERT(uint16_t, float, src);
-+      }
-+      break;
-+   case GL_HALF_FLOAT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint16_t, uint16_t, half_to_snorm(src, 16));
-+      } else {
-+         SWIZZLE_CONVERT(uint16_t, uint16_t, _mesa_half_to_float(src));
-+      }
-+      break;
-+   case GL_UNSIGNED_BYTE:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(int16_t, uint8_t, unorm_to_snorm(src, 8, 16));
-+      } else {
-+         SWIZZLE_CONVERT(int16_t, uint8_t, src);
-+      }
-+      break;
-+   case GL_BYTE:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(int16_t, int8_t, snorm_to_snorm(src, 8, 16));
-+      } else {
-+         SWIZZLE_CONVERT(int16_t, int8_t, src);
-+      }
-+      break;
-+   case GL_UNSIGNED_SHORT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(int16_t, uint16_t, unorm_to_snorm(src, 16, 16));
-+      } else {
-+         SWIZZLE_CONVERT(int16_t, uint16_t, src);
-+      }
-+      break;
-+   case GL_SHORT:
-+      SWIZZLE_CONVERT(int16_t, int16_t, src);
-+      break;
-+   case GL_UNSIGNED_INT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(int16_t, uint32_t, unorm_to_snorm(src, 32, 16));
-+      } else {
-+         SWIZZLE_CONVERT(int16_t, uint32_t, src);
-+      }
-+      break;
-+   case GL_INT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(int16_t, int32_t, snorm_to_snorm(src, 32, 16));
-+      } else {
-+         SWIZZLE_CONVERT(int16_t, int32_t, src);
-+      }
-+      break;
-+   default:
-+      assert(!"Invalid channel type combination");
-+   }
-+}
-+
-+static void
-+convert_uint(void *void_dst, int num_dst_channels,
-+             const void *void_src, GLenum src_type, int num_src_channels,
-+             const uint8_t swizzle[4], bool normalized, int count)
-+{
-+   const uint32_t one = normalized ? UINT32_MAX : 1;
-+
-+   switch (src_type) {
-+   case GL_FLOAT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint32_t, float, float_to_unorm(src, 32));
-+      } else {
-+         SWIZZLE_CONVERT(uint32_t, float, (src < 0) ? 0 : src);
-+      }
-+      break;
-+   case GL_HALF_FLOAT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint32_t, uint16_t, half_to_unorm(src, 32));
-+      } else {
-+         SWIZZLE_CONVERT(uint32_t, uint16_t, half_to_uint(src));
-+      }
-+      break;
-+   case GL_UNSIGNED_BYTE:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint32_t, uint8_t, unorm_to_unorm(src, 8, 32));
-+      } else {
-+         SWIZZLE_CONVERT(uint32_t, uint8_t, src);
-+      }
-+      break;
-+   case GL_BYTE:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint32_t, int8_t, snorm_to_unorm(src, 8, 32));
-+      } else {
-+         SWIZZLE_CONVERT(uint32_t, int8_t, (src < 0) ? 0 : src);
-+      }
-+      break;
-+   case GL_UNSIGNED_SHORT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint32_t, uint16_t, unorm_to_unorm(src, 16, 32));
-+      } else {
-+         SWIZZLE_CONVERT(uint32_t, uint16_t, src);
-+      }
-+      break;
-+   case GL_SHORT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint32_t, int16_t, snorm_to_unorm(src, 16, 32));
-+      } else {
-+         SWIZZLE_CONVERT(uint32_t, int16_t, (src < 0) ? 0 : src);
-+      }
-+      break;
-+   case GL_UNSIGNED_INT:
-+      SWIZZLE_CONVERT(uint32_t, uint32_t, src);
-+      break;
-+   case GL_INT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint32_t, int32_t, snorm_to_unorm(src, 32, 32));
-+      } else {
-+         SWIZZLE_CONVERT(uint32_t, int32_t, (src < 0) ? 0 : src);
-+      }
-+      break;
-+   default:
-+      assert(!"Invalid channel type combination");
-+   }
-+}
-+
-+
-+static void
-+convert_int(void *void_dst, int num_dst_channels,
-+            const void *void_src, GLenum src_type, int num_src_channels,
-+            const uint8_t swizzle[4], bool normalized, int count)
-+{
-+   const int32_t one = normalized ? INT32_MAX : 12;
-+
-+   switch (src_type) {
-+   case GL_FLOAT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint32_t, float, float_to_snorm(src, 32));
-+      } else {
-+         SWIZZLE_CONVERT(uint32_t, float, src);
-+      }
-+      break;
-+   case GL_HALF_FLOAT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(uint32_t, uint16_t, half_to_snorm(src, 32));
-+      } else {
-+         SWIZZLE_CONVERT(uint32_t, uint16_t, _mesa_half_to_float(src));
-+      }
-+      break;
-+   case GL_UNSIGNED_BYTE:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(int32_t, uint8_t, unorm_to_snorm(src, 8, 32));
-+      } else {
-+         SWIZZLE_CONVERT(int32_t, uint8_t, src);
-+      }
-+      break;
-+   case GL_BYTE:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(int32_t, int8_t, snorm_to_snorm(src, 8, 32));
-+      } else {
-+         SWIZZLE_CONVERT(int32_t, int8_t, src);
-+      }
-+      break;
-+   case GL_UNSIGNED_SHORT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(int32_t, uint16_t, unorm_to_snorm(src, 16, 32));
-+      } else {
-+         SWIZZLE_CONVERT(int32_t, uint16_t, src);
-+      }
-+      break;
-+   case GL_SHORT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(int32_t, int16_t, snorm_to_snorm(src, 16, 32));
-+      } else {
-+         SWIZZLE_CONVERT(int32_t, int16_t, src);
-+      }
-+      break;
-+   case GL_UNSIGNED_INT:
-+      if (normalized) {
-+         SWIZZLE_CONVERT(int32_t, uint32_t, unorm_to_snorm(src, 32, 32));
-+      } else {
-+         SWIZZLE_CONVERT(int32_t, uint32_t, src);
-+      }
-+      break;
-+   case GL_INT:
-+      SWIZZLE_CONVERT(int32_t, int32_t, src);
-+      break;
-+   default:
-+      assert(!"Invalid channel type combination");
-+   }
-+}
-+
- 
- /**
-  * Convert between array-based color formats.
-@@ -478,499 +1003,44 @@ _mesa_swizzle_and_convert(void *void_dst, GLenum 
dst_type, int num_dst_channels,
-                           const void *void_src, GLenum src_type, int 
num_src_channels,
-                           const uint8_t swizzle[4], bool normalized, int 
count)
- {
--   int s, j;
--   register uint8_t swizzle_x, swizzle_y, swizzle_z, swizzle_w;
--
-    if (swizzle_convert_try_memcpy(void_dst, dst_type, num_dst_channels,
-                                   void_src, src_type, num_src_channels,
-                                   swizzle, normalized, count))
-       return;
- 
--   swizzle_x = swizzle[0];
--   swizzle_y = swizzle[1];
--   swizzle_z = swizzle[2];
--   swizzle_w = swizzle[3];
--
-    switch (dst_type) {
-    case GL_FLOAT:
--   {
--      const float one = 1.0f;
--      switch (src_type) {
--      case GL_FLOAT:
--         SWIZZLE_CONVERT(float, float, src)
--         break;
--      case GL_HALF_FLOAT:
--         SWIZZLE_CONVERT(float, uint16_t, _mesa_half_to_float(src))
--         break;
--      case GL_UNSIGNED_BYTE:
--         if (normalized) {
--            SWIZZLE_CONVERT(float, uint8_t, unorm_to_float(src, 8))
--         } else {
--            SWIZZLE_CONVERT(float, uint8_t, src)
--         }
--         break;
--      case GL_BYTE:
--         if (normalized) {
--            SWIZZLE_CONVERT(float, int8_t, snorm_to_float(src, 8))
--         } else {
--            SWIZZLE_CONVERT(float, int8_t, src)
--         }
--         break;
--      case GL_UNSIGNED_SHORT:
--         if (normalized) {
--            SWIZZLE_CONVERT(float, uint16_t, unorm_to_float(src, 16))
--         } else {
--            SWIZZLE_CONVERT(float, uint16_t, src)
--         }
--         break;
--      case GL_SHORT:
--         if (normalized) {
--            SWIZZLE_CONVERT(float, int16_t, snorm_to_float(src, 16))
--         } else {
--            SWIZZLE_CONVERT(float, int16_t, src)
--         }
--         break;
--      case GL_UNSIGNED_INT:
--         if (normalized) {
--            SWIZZLE_CONVERT(float, uint32_t, unorm_to_float(src, 32))
--         } else {
--            SWIZZLE_CONVERT(float, uint32_t, src)
--         }
--         break;
--      case GL_INT:
--         if (normalized) {
--            SWIZZLE_CONVERT(float, int32_t, snorm_to_float(src, 32))
--         } else {
--            SWIZZLE_CONVERT(float, int32_t, src)
--         }
--         break;
--      default:
--         assert(!"Invalid channel type combination");
--      }
--   }
--   break;
-+      convert_float(void_dst, num_dst_channels, void_src, src_type,
-+                    num_src_channels, swizzle, normalized, count);
-+      break;
-    case GL_HALF_FLOAT:
--   {
--      const uint16_t one = _mesa_float_to_half(1.0f);
--      switch (src_type) {
--      case GL_FLOAT:
--         SWIZZLE_CONVERT(uint16_t, float, _mesa_float_to_half(src))
--         break;
--      case GL_HALF_FLOAT:
--         SWIZZLE_CONVERT(uint16_t, uint16_t, src)
--         break;
--      case GL_UNSIGNED_BYTE:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint16_t, uint8_t, unorm_to_half(src, 8))
--         } else {
--            SWIZZLE_CONVERT(uint16_t, uint8_t, _mesa_float_to_half(src))
--         }
--         break;
--      case GL_BYTE:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint16_t, int8_t, snorm_to_half(src, 8))
--         } else {
--            SWIZZLE_CONVERT(uint16_t, int8_t, _mesa_float_to_half(src))
--         }
--         break;
--      case GL_UNSIGNED_SHORT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint16_t, uint16_t, unorm_to_half(src, 16))
--         } else {
--            SWIZZLE_CONVERT(uint16_t, uint16_t, _mesa_float_to_half(src))
--         }
--         break;
--      case GL_SHORT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint16_t, int16_t, snorm_to_half(src, 16))
--         } else {
--            SWIZZLE_CONVERT(uint16_t, int16_t, _mesa_float_to_half(src))
--         }
--         break;
--      case GL_UNSIGNED_INT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint16_t, uint32_t, unorm_to_half(src, 32))
--         } else {
--            SWIZZLE_CONVERT(uint16_t, uint32_t, _mesa_float_to_half(src))
--         }
--         break;
--      case GL_INT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint16_t, int32_t, snorm_to_half(src, 32))
--         } else {
--            SWIZZLE_CONVERT(uint16_t, int32_t, _mesa_float_to_half(src))
--         }
--         break;
--      default:
--         assert(!"Invalid channel type combination");
--      }
--   }
--   break;
-+      convert_half_float(void_dst, num_dst_channels, void_src, src_type,
-+                    num_src_channels, swizzle, normalized, count);
-+      break;
-    case GL_UNSIGNED_BYTE:
--   {
--      const uint8_t one = normalized ? UINT8_MAX : 1;
--      switch (src_type) {
--      case GL_FLOAT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint8_t, float, float_to_unorm(src, 8))
--         } else {
--            SWIZZLE_CONVERT(uint8_t, float, (src < 0) ? 0 : src)
--         }
--         break;
--      case GL_HALF_FLOAT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint8_t, uint16_t, half_to_unorm(src, 8))
--         } else {
--            SWIZZLE_CONVERT(uint8_t, uint16_t, half_to_uint(src))
--         }
--         break;
--      case GL_UNSIGNED_BYTE:
--         SWIZZLE_CONVERT(uint8_t, uint8_t, src)
--         break;
--      case GL_BYTE:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint8_t, int8_t, snorm_to_unorm(src, 8, 8))
--         } else {
--            SWIZZLE_CONVERT(uint8_t, int8_t, (src < 0) ? 0 : src)
--         }
--         break;
--      case GL_UNSIGNED_SHORT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint8_t, uint16_t, unorm_to_unorm(src, 16, 8))
--         } else {
--            SWIZZLE_CONVERT(uint8_t, uint16_t, src)
--         }
--         break;
--      case GL_SHORT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint8_t, int16_t, snorm_to_unorm(src, 16, 8))
--         } else {
--            SWIZZLE_CONVERT(uint8_t, int16_t, (src < 0) ? 0 : src)
--         }
--         break;
--      case GL_UNSIGNED_INT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint8_t, uint32_t, unorm_to_unorm(src, 32, 8))
--         } else {
--            SWIZZLE_CONVERT(uint8_t, uint32_t, src)
--         }
--         break;
--      case GL_INT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint8_t, int32_t, snorm_to_unorm(src, 32, 8))
--         } else {
--            SWIZZLE_CONVERT(uint8_t, int32_t, (src < 0) ? 0 : src)
--         }
--         break;
--      default:
--         assert(!"Invalid channel type combination");
--      }
--   }
--   break;
-+      convert_ubyte(void_dst, num_dst_channels, void_src, src_type,
-+                    num_src_channels, swizzle, normalized, count);
-+      break;
-    case GL_BYTE:
--   {
--      const int8_t one = normalized ? INT8_MAX : 1;
--      switch (src_type) {
--      case GL_FLOAT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint8_t, float, float_to_snorm(src, 8))
--         } else {
--            SWIZZLE_CONVERT(uint8_t, float, src)
--         }
--         break;
--      case GL_HALF_FLOAT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint8_t, uint16_t, half_to_snorm(src, 8))
--         } else {
--            SWIZZLE_CONVERT(uint8_t, uint16_t, _mesa_half_to_float(src))
--         }
--         break;
--      case GL_UNSIGNED_BYTE:
--         if (normalized) {
--            SWIZZLE_CONVERT(int8_t, uint8_t, unorm_to_snorm(src, 8, 8))
--         } else {
--            SWIZZLE_CONVERT(int8_t, uint8_t, src)
--         }
--         break;
--      case GL_BYTE:
--         SWIZZLE_CONVERT(int8_t, int8_t, src)
--         break;
--      case GL_UNSIGNED_SHORT:
--         if (normalized) {
--            SWIZZLE_CONVERT(int8_t, uint16_t, unorm_to_snorm(src, 16, 8))
--         } else {
--            SWIZZLE_CONVERT(int8_t, uint16_t, src)
--         }
--         break;
--      case GL_SHORT:
--         if (normalized) {
--            SWIZZLE_CONVERT(int8_t, int16_t, snorm_to_snorm(src, 16, 8))
--         } else {
--            SWIZZLE_CONVERT(int8_t, int16_t, src)
--         }
--         break;
--      case GL_UNSIGNED_INT:
--         if (normalized) {
--            SWIZZLE_CONVERT(int8_t, uint32_t, unorm_to_snorm(src, 32, 8))
--         } else {
--            SWIZZLE_CONVERT(int8_t, uint32_t, src)
--         }
--         break;
--      case GL_INT:
--         if (normalized) {
--            SWIZZLE_CONVERT(int8_t, int32_t, snorm_to_snorm(src, 32, 8))
--         } else {
--            SWIZZLE_CONVERT(int8_t, int32_t, src)
--         }
--         break;
--      default:
--         assert(!"Invalid channel type combination");
--      }
--   }
--   break;
-+      convert_byte(void_dst, num_dst_channels, void_src, src_type,
-+                   num_src_channels, swizzle, normalized, count);
-+      break;
-    case GL_UNSIGNED_SHORT:
--   {
--      const uint16_t one = normalized ? UINT16_MAX : 1;
--      switch (src_type) {
--      case GL_FLOAT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint16_t, float, float_to_unorm(src, 16))
--         } else {
--            SWIZZLE_CONVERT(uint16_t, float, (src < 0) ? 0 : src)
--         }
--         break;
--      case GL_HALF_FLOAT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint16_t, uint16_t, half_to_unorm(src, 16))
--         } else {
--            SWIZZLE_CONVERT(uint16_t, uint16_t, half_to_uint(src))
--         }
--         break;
--      case GL_UNSIGNED_BYTE:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint16_t, uint8_t, unorm_to_unorm(src, 8, 16))
--         } else {
--            SWIZZLE_CONVERT(uint16_t, uint8_t, src)
--         }
--         break;
--      case GL_BYTE:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint16_t, int8_t, snorm_to_unorm(src, 8, 16))
--         } else {
--            SWIZZLE_CONVERT(uint16_t, int8_t, (src < 0) ? 0 : src)
--         }
--         break;
--      case GL_UNSIGNED_SHORT:
--         SWIZZLE_CONVERT(uint16_t, uint16_t, src)
--         break;
--      case GL_SHORT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint16_t, int16_t, snorm_to_unorm(src, 16, 16))
--         } else {
--            SWIZZLE_CONVERT(uint16_t, int16_t, (src < 0) ? 0 : src)
--         }
--         break;
--      case GL_UNSIGNED_INT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint16_t, uint32_t, unorm_to_unorm(src, 32, 16))
--         } else {
--            SWIZZLE_CONVERT(uint16_t, uint32_t, src)
--         }
--         break;
--      case GL_INT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint16_t, int32_t, snorm_to_unorm(src, 32, 16))
--         } else {
--            SWIZZLE_CONVERT(uint16_t, int32_t, (src < 0) ? 0 : src)
--         }
--         break;
--      default:
--         assert(!"Invalid channel type combination");
--      }
--   }
--   break;
-+      convert_ushort(void_dst, num_dst_channels, void_src, src_type,
-+                     num_src_channels, swizzle, normalized, count);
-+      break;
-    case GL_SHORT:
--   {
--      const int16_t one = normalized ? INT16_MAX : 1;
--      switch (src_type) {
--      case GL_FLOAT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint16_t, float, float_to_snorm(src, 16))
--         } else {
--            SWIZZLE_CONVERT(uint16_t, float, src)
--         }
--         break;
--      case GL_HALF_FLOAT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint16_t, uint16_t, half_to_snorm(src, 16))
--         } else {
--            SWIZZLE_CONVERT(uint16_t, uint16_t, _mesa_half_to_float(src))
--         }
--         break;
--      case GL_UNSIGNED_BYTE:
--         if (normalized) {
--            SWIZZLE_CONVERT(int16_t, uint8_t, unorm_to_snorm(src, 8, 16))
--         } else {
--            SWIZZLE_CONVERT(int16_t, uint8_t, src)
--         }
--         break;
--      case GL_BYTE:
--         if (normalized) {
--            SWIZZLE_CONVERT(int16_t, int8_t, snorm_to_snorm(src, 8, 16))
--         } else {
--            SWIZZLE_CONVERT(int16_t, int8_t, src)
--         }
--         break;
--      case GL_UNSIGNED_SHORT:
--         if (normalized) {
--            SWIZZLE_CONVERT(int16_t, uint16_t, unorm_to_snorm(src, 16, 16))
--         } else {
--            SWIZZLE_CONVERT(int16_t, uint16_t, src)
--         }
--         break;
--      case GL_SHORT:
--         SWIZZLE_CONVERT(int16_t, int16_t, src)
--         break;
--      case GL_UNSIGNED_INT:
--         if (normalized) {
--            SWIZZLE_CONVERT(int16_t, uint32_t, unorm_to_snorm(src, 32, 16))
--         } else {
--            SWIZZLE_CONVERT(int16_t, uint32_t, src)
--         }
--         break;
--      case GL_INT:
--         if (normalized) {
--            SWIZZLE_CONVERT(int16_t, int32_t, snorm_to_snorm(src, 32, 16))
--         } else {
--            SWIZZLE_CONVERT(int16_t, int32_t, src)
--         }
--         break;
--      default:
--         assert(!"Invalid channel type combination");
--      }
--   }
--   break;
-+      convert_short(void_dst, num_dst_channels, void_src, src_type,
-+                    num_src_channels, swizzle, normalized, count);
-+      break;
-    case GL_UNSIGNED_INT:
--   {
--      const uint32_t one = normalized ? UINT32_MAX : 1;
--      switch (src_type) { case GL_FLOAT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint32_t, float, float_to_unorm(src, 32))
--         } else {
--            SWIZZLE_CONVERT(uint32_t, float, (src < 0) ? 0 : src)
--         }
--         break;
--      case GL_HALF_FLOAT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint32_t, uint16_t, half_to_unorm(src, 32))
--         } else {
--            SWIZZLE_CONVERT(uint32_t, uint16_t, half_to_uint(src))
--         }
--         break;
--      case GL_UNSIGNED_BYTE:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint32_t, uint8_t, unorm_to_unorm(src, 8, 32))
--         } else {
--            SWIZZLE_CONVERT(uint32_t, uint8_t, src)
--         }
--         break;
--      case GL_BYTE:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint32_t, int8_t, snorm_to_unorm(src, 8, 32))
--         } else {
--            SWIZZLE_CONVERT(uint32_t, int8_t, (src < 0) ? 0 : src)
--         }
--         break;
--      case GL_UNSIGNED_SHORT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint32_t, uint16_t, unorm_to_unorm(src, 16, 32))
--         } else {
--            SWIZZLE_CONVERT(uint32_t, uint16_t, src)
--         }
--         break;
--      case GL_SHORT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint32_t, int16_t, snorm_to_unorm(src, 16, 32))
--         } else {
--            SWIZZLE_CONVERT(uint32_t, int16_t, (src < 0) ? 0 : src)
--         }
--         break;
--      case GL_UNSIGNED_INT:
--         SWIZZLE_CONVERT(uint32_t, uint32_t, src)
--         break;
--      case GL_INT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint32_t, int32_t, snorm_to_unorm(src, 32, 32))
--         } else {
--            SWIZZLE_CONVERT(uint32_t, int32_t, (src < 0) ? 0 : src)
--         }
--         break;
--      default:
--         assert(!"Invalid channel type combination");
--      }
--   }
--   break;
-+      convert_uint(void_dst, num_dst_channels, void_src, src_type,
-+                   num_src_channels, swizzle, normalized, count);
-+      break;
-    case GL_INT:
--   {
--      const int32_t one = normalized ? INT32_MAX : 1;
--      switch (src_type) {
--      case GL_FLOAT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint32_t, float, float_to_snorm(src, 32))
--         } else {
--            SWIZZLE_CONVERT(uint32_t, float, src)
--         }
--         break;
--      case GL_HALF_FLOAT:
--         if (normalized) {
--            SWIZZLE_CONVERT(uint32_t, uint16_t, half_to_snorm(src, 32))
--         } else {
--            SWIZZLE_CONVERT(uint32_t, uint16_t, _mesa_half_to_float(src))
--         }
--         break;
--      case GL_UNSIGNED_BYTE:
--         if (normalized) {
--            SWIZZLE_CONVERT(int32_t, uint8_t, unorm_to_snorm(src, 8, 32))
--         } else {
--            SWIZZLE_CONVERT(int32_t, uint8_t, src)
--         }
--         break;
--      case GL_BYTE:
--         if (normalized) {
--            SWIZZLE_CONVERT(int32_t, int8_t, snorm_to_snorm(src, 8, 32))
--         } else {
--            SWIZZLE_CONVERT(int32_t, int8_t, src)
--         }
--         break;
--      case GL_UNSIGNED_SHORT:
--         if (normalized) {
--            SWIZZLE_CONVERT(int32_t, uint16_t, unorm_to_snorm(src, 16, 32))
--         } else {
--            SWIZZLE_CONVERT(int32_t, uint16_t, src)
--         }
--         break;
--      case GL_SHORT:
--         if (normalized) {
--            SWIZZLE_CONVERT(int32_t, int16_t, snorm_to_snorm(src, 16, 32))
--         } else {
--            SWIZZLE_CONVERT(int32_t, int16_t, src)
--         }
--         break;
--      case GL_UNSIGNED_INT:
--         if (normalized) {
--            SWIZZLE_CONVERT(int32_t, uint32_t, unorm_to_snorm(src, 32, 32))
--         } else {
--            SWIZZLE_CONVERT(int32_t, uint32_t, src)
--         }
--         break;
--      case GL_INT:
--         SWIZZLE_CONVERT(int32_t, int32_t, src)
--         break;
--      default:
--         assert(!"Invalid channel type combination");
--      }
--   }
--   break;
-+      convert_int(void_dst, num_dst_channels, void_src, src_type,
-+                  num_src_channels, swizzle, normalized, count);
-+      break;
-    default:
-       assert(!"Invalid channel type");
-    }
--- 
-2.0.5
-

diff --git a/media-libs/mesa/files/mesa-10.5.1-fstat-include.patch 
b/media-libs/mesa/files/mesa-10.5.1-fstat-include.patch
deleted file mode 100644
index 212d00d..0000000
--- a/media-libs/mesa/files/mesa-10.5.1-fstat-include.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 771cd266b9d00bdcf2cf7acaa3c8363c358d7478 Mon Sep 17 00:00:00 2001
-From: Emil Velikov <[email protected]>
-Date: Wed, 11 Mar 2015 19:12:35 +0000
-Subject: loader: include <sys/stat.h> for non-sysfs builds
-
-Required by fstat(), otherwise we'll error out due to implicit function
-declaration.
-
-Cc: "10.4 10.5" <[email protected]>
-Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89530
-Signed-off-by: Emil Velikov <[email protected]>
-Reported-by: Vadim Rutkovsky <[email protected]>
-Tested-by: Vadim Rutkovsky <[email protected]>
-
-diff --git a/src/loader/loader.c b/src/loader/loader.c
-index 9ff5115..17bf133 100644
---- a/src/loader/loader.c
-+++ b/src/loader/loader.c
-@@ -64,6 +64,7 @@
-  *    Rob Clark <[email protected]>
-  */
- 
-+#include <sys/stat.h>
- #include <stdarg.h>
- #include <stdio.h>
- #include <string.h>
-@@ -80,7 +81,6 @@
- #endif
- #endif
- #ifdef HAVE_SYSFS
--#include <sys/stat.h>
- #include <sys/types.h>
- #endif
- #include "loader.h"
--- 
-cgit v0.10.2
-

diff --git a/media-libs/mesa/files/mesa-9.1.6-fpclassify.patch 
b/media-libs/mesa/files/mesa-9.1.6-fpclassify.patch
deleted file mode 100644
index 3d606c9..0000000
--- a/media-libs/mesa/files/mesa-9.1.6-fpclassify.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Mesa-9.1.6.org/src/mesa/main/querymatrix.c 2013-08-04 18:12:47.046000003 
+0000
-+++ Mesa-9.1.6/src/mesa/main/querymatrix.c     2013-08-04 18:23:35.360000003 
+0000
-@@ -71,7 +71,7 @@
-     }
- }
- 
--#elif defined(__APPLE__) || defined(__CYGWIN__) || defined(__FreeBSD__) || \
-+#elif defined(fpclassify) || defined(__APPLE__) || defined(__CYGWIN__) || 
defined(__FreeBSD__) || \
-      defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || 
\
-      (defined(__sun) && defined(__C99FEATURES__)) || defined(__MINGW32__) || \
-      (defined(__sun) && defined(__GNUC__)) || defined(ANDROID) || 
defined(__HAIKU__)

diff --git a/media-libs/mesa/mesa-10.3.7-r99.ebuild 
b/media-libs/mesa/mesa-10.3.7-r99.ebuild
deleted file mode 100644
index 8581f62..0000000
--- a/media-libs/mesa/mesa-10.3.7-r99.ebuild
+++ /dev/null
@@ -1,536 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-10.3.7-r1.ebuild,v 1.4 
2015/02/20 11:16:40 ago Exp $
-
-EAPI=5
-
-EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"
-
-if [[ ${PV} = 9999* ]]; then
-       GIT_ECLASS="git-r3"
-       EXPERIMENTAL="true"
-fi
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit base autotools multilib multilib-minimal flag-o-matic \
-       python-any-r1 toolchain-funcs pax-utils ${GIT_ECLASS}
-
-OPENGL_DIR="xorg-x11"
-
-MY_PN="${PN/m/M}"
-MY_P="${MY_PN}-${PV/_/-}"
-MY_SRC_P="${MY_PN}Lib-${PV/_/-}"
-
-FOLDER="${PV/.0/}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="http://mesa3d.sourceforge.net/";
-
-#SRC_PATCHES="mirror://gentoo/${P}-gentoo-patches-01.tar.bz2"
-if [[ $PV = 9999* ]]; then
-       SRC_URI="${SRC_PATCHES}"
-else
-       
SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/${FOLDER}/${MY_SRC_P}.tar.bz2
-               ${SRC_PATCHES}"
-fi
-
-# The code is MIT/X11.
-# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
-LICENSE="MIT SGI-B-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm ~mips ppc x86"
-RESTRICT="!bindist? ( bindist )"
-
-INTEL_CARDS="i915 i965 ilo intel"
-RADEON_CARDS="r100 r200 r300 r600 radeon radeonsi"
-VIDEO_CARDS="${INTEL_CARDS} ${RADEON_CARDS} freedreno nouveau vmware"
-for card in ${VIDEO_CARDS}; do
-       IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
-       bindist +classic debug +dri3 +egl +gallium +gbm gles1 gles2 +llvm +nptl
-       opencl openvg osmesa pax_kernel openmax pic selinux
-       +udev vdpau wayland xvmc xa kernel_FreeBSD kernel_linux"
-
-REQUIRED_USE="
-       llvm?   ( gallium )
-       openvg? ( egl gallium )
-       opencl? (
-               gallium
-               llvm
-       )
-       openmax? ( gallium )
-       gles1?  ( egl )
-       gles2?  ( egl )
-       wayland? ( egl gbm )
-       xa?  ( gallium )
-       video_cards_freedreno?  ( gallium )
-       video_cards_intel?  ( || ( classic gallium ) )
-       video_cards_i915?   ( || ( classic gallium ) )
-       video_cards_i965?   ( classic )
-       video_cards_ilo?    ( gallium )
-       video_cards_nouveau? ( || ( classic gallium ) )
-       video_cards_radeon? ( || ( classic gallium ) )
-       video_cards_r100?   ( classic )
-       video_cards_r200?   ( classic )
-       video_cards_r300?   ( gallium )
-       video_cards_r600?   ( gallium )
-       video_cards_radeonsi?   ( gallium llvm )
-       video_cards_vmware? ( gallium )
-       ${PYTHON_REQUIRED_USE}
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.56"
-# keep correct libdrm and dri2proto dep
-# keep blocks in rdepend for binpkg
-RDEPEND="
-       !<x11-base/xorg-server-1.7
-       !<=x11-proto/xf86driproto-2.0.3
-       abi_x86_32? ( !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)] )
-       classic? ( app-eselect/eselect-mesa )
-       gallium? ( app-eselect/eselect-mesa )
-       >=app-eselect/eselect-opengl-1.2.7
-       udev? ( kernel_linux? ( >=virtual/libudev-215:=[${MULTILIB_USEDEP}] ) )
-       >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
-       >=x11-libs/libX11-1.6.2:=[${MULTILIB_USEDEP}]
-       >=x11-libs/libxshmfence-1.1:=[${MULTILIB_USEDEP}]
-       >=x11-libs/libXdamage-1.1.4-r1:=[${MULTILIB_USEDEP}]
-       >=x11-libs/libXext-1.3.2:=[${MULTILIB_USEDEP}]
-       >=x11-libs/libXxf86vm-1.1.3:=[${MULTILIB_USEDEP}]
-       >=x11-libs/libxcb-1.9.3:=[${MULTILIB_USEDEP}]
-       llvm? (
-               video_cards_radeonsi? ( || (
-                       >=dev-libs/elfutils-0.155-r1:=[${MULTILIB_USEDEP}]
-                       >=dev-libs/libelf-0.8.13-r2:=[${MULTILIB_USEDEP}]
-                       ) )
-               video_cards_r600? ( || (
-                       >=dev-libs/elfutils-0.155-r1:=[${MULTILIB_USEDEP}]
-                       >=dev-libs/libelf-0.8.13-r2:=[${MULTILIB_USEDEP}]
-                       ) )
-               !video_cards_r600? (
-                       video_cards_radeon? ( || (
-                               
>=dev-libs/elfutils-0.155-r1:=[${MULTILIB_USEDEP}]
-                               
>=dev-libs/libelf-0.8.13-r2:=[${MULTILIB_USEDEP}]
-                               ) )
-               )
-               >=sys-devel/llvm-3.3-r3:=[${MULTILIB_USEDEP}]
-               <sys-devel/llvm-3.6
-               video_cards_radeonsi? ( 
>=sys-devel/llvm-3.4.2:=[${MULTILIB_USEDEP}] )
-       )
-       opencl? (
-                               app-eselect/eselect-opencl
-                               dev-libs/libclc
-                       )
-       openmax? ( >=media-libs/libomxil-bellagio-0.9.3:=[${MULTILIB_USEDEP}] )
-       vdpau? ( >=x11-libs/libvdpau-0.7:=[${MULTILIB_USEDEP}] )
-       wayland? ( >=dev-libs/wayland-1.2.0:=[${MULTILIB_USEDEP}] )
-       xvmc? ( >=x11-libs/libXvMC-1.0.8:=[${MULTILIB_USEDEP}] )
-       
${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_nouveau?,video_cards_vmware?,${MULTILIB_USEDEP}]
-"
-for card in ${INTEL_CARDS}; do
-       RDEPEND="${RDEPEND}
-               video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_intel] )
-       "
-done
-
-for card in ${RADEON_CARDS}; do
-       RDEPEND="${RDEPEND}
-               video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
-       "
-done
-
-DEPEND="${RDEPEND}
-       ${PYTHON_DEPS}
-       llvm? (
-               video_cards_radeonsi? ( sys-devel/llvm[video_cards_radeon] )
-       )
-       opencl? (
-                               >=sys-devel/llvm-3.4.2:=[${MULTILIB_USEDEP}]
-                               >=sys-devel/clang-3.4.2:=[${MULTILIB_USEDEP}]
-                               >=sys-devel/gcc-4.6
-       )
-       sys-devel/bison
-       sys-devel/flex
-       sys-devel/gettext
-       virtual/pkgconfig
-       >=x11-proto/dri2proto-2.8-r1:=[${MULTILIB_USEDEP}]
-       dri3? (
-               >=x11-proto/dri3proto-1.0:=[${MULTILIB_USEDEP}]
-               >=x11-proto/presentproto-1.0:=[${MULTILIB_USEDEP}]
-       )
-       >=x11-proto/glproto-1.4.16-r1:=[${MULTILIB_USEDEP}]
-       >=x11-proto/xextproto-7.2.1-r1:=[${MULTILIB_USEDEP}]
-       >=x11-proto/xf86driproto-2.1.1-r1:=[${MULTILIB_USEDEP}]
-       >=x11-proto/xf86vidmodeproto-2.3.1-r1:=[${MULTILIB_USEDEP}]
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-# It is slow without texrels, if someone wants slow
-# mesa without texrels +pic use is worth the shot
-QA_EXECSTACK="usr/lib*/opengl/xorg-x11/lib/libGL.so*"
-QA_WX_LOAD="usr/lib*/opengl/xorg-x11/lib/libGL.so*"
-
-# Think about: ggi, fbcon, no-X configs
-
-pkg_setup() {
-       # workaround toc-issue wrt #386545
-       use ppc64 && append-flags -mminimal-toc
-
-       # warning message for bug 459306
-       if use llvm && has_version sys-devel/llvm[!debug=]; then
-               ewarn "Mismatch between debug USE flags in media-libs/mesa and 
sys-devel/llvm"
-               ewarn "detected! This can cause problems. For details, see bug 
459306."
-       fi
-
-       python-any-r1_pkg_setup
-}
-
-src_unpack() {
-       default
-       [[ $PV = 9999* ]] && git-r3_src_unpack
-}
-
-src_prepare() {
-       # apply patches
-       if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
-               EPATCH_FORCE="yes" \
-               EPATCH_SOURCE="${WORKDIR}/patches" \
-               EPATCH_SUFFIX="patch" \
-               epatch
-       fi
-
-       epatch "${FILESDIR}"/${PN}-10.3.7-dont-use-clrsb.patch
-       epatch "${FILESDIR}"/${PN}-10.3.7-format_utils.c.patch
-       epatch "${FILESDIR}"/${PN}-10.5.1-fstat-include.patch
-
-       # relax the requirement that r300 must have llvm, bug 380303
-       epatch "${FILESDIR}"/${PN}-10.2-dont-require-llvm-for-r300.patch
-
-       # for musl
-       epatch "${FILESDIR}"/${PN}-9.1.6-fpclassify.patch
-       epatch "${FILESDIR}"/${PN}-10-pthread.patch
-
-       # fix for hardened pax_kernel, bug 240956
-       [[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch
-
-       # Solaris needs some recent POSIX stuff in our case
-       if [[ ${CHOST} == *-solaris* ]] ; then
-               sed -i -e "s/-DSVR4/-D_POSIX_C_SOURCE=200112L/" configure.ac || 
die
-       fi
-
-       base_src_prepare
-
-       eautoreconf
-       multilib_copy_sources
-}
-
-multilib_src_configure() {
-       local myconf
-
-       if use classic; then
-       # Configurable DRI drivers
-               driver_enable swrast
-
-       # Intel code
-               driver_enable video_cards_i915 i915
-               driver_enable video_cards_i965 i965
-               if ! use video_cards_i915 && \
-                       ! use video_cards_i965; then
-                       driver_enable video_cards_intel i915 i965
-               fi
-
-               # Nouveau code
-               driver_enable video_cards_nouveau nouveau
-
-               # ATI code
-               driver_enable video_cards_r100 radeon
-               driver_enable video_cards_r200 r200
-               if ! use video_cards_r100 && \
-                               ! use video_cards_r200; then
-                       driver_enable video_cards_radeon radeon r200
-               fi
-       fi
-
-       if use egl; then
-               myconf+="--with-egl-platforms=x11$(use wayland && echo 
",wayland")$(use gbm && echo ",drm") "
-       fi
-
-       if use gallium; then
-               myconf+="
-                       $(use_enable llvm gallium-llvm)
-                       $(use_enable openvg)
-                       $(use_enable openvg gallium-egl)
-                       $(use_enable openmax omx)
-                       $(use_enable vdpau)
-                       $(use_enable xa)
-                       $(use_enable xvmc)
-               "
-               gallium_enable swrast
-               gallium_enable video_cards_vmware svga
-               gallium_enable video_cards_nouveau nouveau
-               gallium_enable video_cards_i915 i915
-               gallium_enable video_cards_ilo ilo
-               if ! use video_cards_i915 && \
-                       ! use video_cards_i965; then
-                       gallium_enable video_cards_intel i915
-               fi
-
-               gallium_enable video_cards_r300 r300
-               gallium_enable video_cards_r600 r600
-               gallium_enable video_cards_radeonsi radeonsi
-               if ! use video_cards_r300 && \
-                               ! use video_cards_r600; then
-                       gallium_enable video_cards_radeon r300 r600
-               fi
-
-               gallium_enable video_cards_freedreno freedreno
-               # opencl stuff
-               if use opencl; then
-                       myconf+="
-                               $(use_enable opencl)
-                               
--with-opencl-libdir="${EPREFIX}/usr/$(get_libdir)/OpenCL/vendors/mesa"
-                               --with-clang-libdir="${EPREFIX}/usr/lib"
-                               "
-               fi
-       fi
-
-       # x86 hardened pax_kernel needs glx-rts, bug 240956
-       if use pax_kernel; then
-               myconf+="
-                       $(use_enable x86 glx-rts)
-               "
-       fi
-
-       # on abi_x86_32 hardened we need to have asm disable
-       if [[ ${ABI} == x86* ]] && use pic; then
-               myconf+=" --disable-asm"
-       fi
-
-       # build fails with BSD indent, bug #428112
-       use userland_GNU || export INDENT=cat
-
-       econf \
-               --enable-dri \
-               --enable-glx \
-               --enable-shared-glapi \
-               $(use_enable !bindist texture-float) \
-               $(use_enable debug) \
-               $(use_enable dri3) \
-               $(use_enable egl) \
-               $(use_enable gbm) \
-               $(use_enable gles1) \
-               $(use_enable gles2) \
-               $(use_enable nptl glx-tls) \
-               $(use_enable osmesa) \
-               $(use_enable !udev sysfs) \
-               --enable-llvm-shared-libs \
-               --with-dri-drivers=${DRI_DRIVERS} \
-               --with-gallium-drivers=${GALLIUM_DRIVERS} \
-               PYTHON2="${PYTHON}" \
-               ${myconf}
-}
-
-multilib_src_install() {
-       emake install DESTDIR="${D}"
-
-       # Move libGL and others from /usr/lib to /usr/lib/opengl/blah/lib
-       # because user can eselect desired GL provider.
-       ebegin "Moving libGL and friends for dynamic switching"
-               local x
-               local gl_dir="/usr/$(get_libdir)/opengl/${OPENGL_DIR}/"
-               dodir ${gl_dir}/{lib,extensions,include/GL}
-               for x in 
"${ED}"/usr/$(get_libdir)/lib{EGL,GL*,OpenVG}.{la,a,so*}; do
-                       if [ -f ${x} -o -L ${x} ]; then
-                               mv -f "${x}" "${ED}${gl_dir}"/lib \
-                                       || die "Failed to move ${x}"
-                       fi
-               done
-               for x in "${ED}"/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; 
do
-                       if [ -f ${x} -o -L ${x} ]; then
-                               mv -f "${x}" "${ED}${gl_dir}"/include/GL \
-                                       || die "Failed to move ${x}"
-                       fi
-               done
-               for x in "${ED}"/usr/include/{EGL,GLES*,VG,KHR}; do
-                       if [ -d ${x} ]; then
-                               mv -f "${x}" "${ED}${gl_dir}"/include \
-                                       || die "Failed to move ${x}"
-                       fi
-               done
-       eend $?
-
-       if use classic || use gallium; then
-                       ebegin "Moving DRI/Gallium drivers for dynamic 
switching"
-                       local gallium_drivers=( i915_dri.so i965_dri.so 
r300_dri.so r600_dri.so swrast_dri.so )
-                       keepdir /usr/$(get_libdir)/dri
-                       dodir /usr/$(get_libdir)/mesa
-                       for x in ${gallium_drivers[@]}; do
-                               if [ -f "$(get_libdir)/gallium/${x}" ]; then
-                                       mv -f 
"${ED}/usr/$(get_libdir)/dri/${x}" 
"${ED}/usr/$(get_libdir)/dri/${x/_dri.so/g_dri.so}" \
-                                               || die "Failed to move ${x}"
-                               fi
-                       done
-                       if use classic; then
-                               emake -C "${BUILD_DIR}/src/mesa/drivers/dri" 
DESTDIR="${D}" install
-                       fi
-                       for x in "${ED}"/usr/$(get_libdir)/dri/*.so; do
-                               if [ -f ${x} -o -L ${x} ]; then
-                                       mv -f "${x}" "${x/dri/mesa}" \
-                                               || die "Failed to move ${x}"
-                               fi
-                       done
-                       pushd "${ED}"/usr/$(get_libdir)/dri || die "pushd 
failed"
-                       ln -s ../mesa/*.so . || die "Creating symlink failed"
-                       # remove symlinks to drivers known to eselect
-                       for x in ${gallium_drivers[@]}; do
-                               if [ -f ${x} -o -L ${x} ]; then
-                                       rm "${x}" || die "Failed to remove ${x}"
-                               fi
-                       done
-                       popd
-               eend $?
-       fi
-       if use opencl; then
-               ebegin "Moving Gallium/Clover OpenCL implementation for dynamic 
switching"
-               local cl_dir="/usr/$(get_libdir)/OpenCL/vendors/mesa"
-               dodir ${cl_dir}/{lib,include}
-               if [ -f "${ED}/usr/$(get_libdir)/libOpenCL.so" ]; then
-                       mv -f "${ED}"/usr/$(get_libdir)/libOpenCL.so* \
-                       "${ED}"${cl_dir}
-               fi
-               if [ -f "${ED}/usr/include/CL/opencl.h" ]; then
-                       mv -f "${ED}"/usr/include/CL \
-                       "${ED}"${cl_dir}/include
-               fi
-               eend $?
-       fi
-
-       if use openmax; then
-               echo "XDG_DATA_DIRS=\"${EPREFIX}/usr/share/mesa/xdg\"" > 
"${T}/99mesaxdgomx"
-               doenvd "${T}"/99mesaxdgomx
-               keepdir /usr/share/mesa/xdg
-       fi
-}
-
-multilib_src_install_all() {
-       prune_libtool_files --all
-       einstalldocs
-
-       if use !bindist; then
-               dodoc docs/patents.txt
-       fi
-
-       # Install config file for eselect mesa
-       insinto /usr/share/mesa
-       newins "${FILESDIR}/eselect-mesa.conf.9.2" eselect-mesa.conf
-}
-
-multilib_src_test() {
-       if use llvm; then
-               local llvm_tests='lp_test_arit lp_test_arit lp_test_blend 
lp_test_blend lp_test_conv lp_test_conv lp_test_format lp_test_format 
lp_test_printf lp_test_printf'
-               pushd src/gallium/drivers/llvmpipe >/dev/null || die
-               emake ${llvm_tests}
-               pax-mark m ${llvm_tests}
-               popd >/dev/null || die
-       fi
-       emake check
-}
-
-pkg_postinst() {
-       # Switch to the xorg implementation.
-       echo
-       eselect opengl set --use-old ${OPENGL_DIR}
-
-       # switch to xorg-x11 and back if necessary, bug #374647 comment 11
-       OLD_IMPLEM="$(eselect opengl show)"
-       if [[ ${OPENGL_DIR}x != ${OLD_IMPLEM}x ]]; then
-               eselect opengl set ${OPENGL_DIR}
-               eselect opengl set ${OLD_IMPLEM}
-       fi
-
-       # Select classic/gallium drivers
-       if use classic || use gallium; then
-               eselect mesa set --auto
-       fi
-
-       # Switch to mesa opencl
-       if use opencl; then
-               eselect opencl set --use-old ${PN}
-       fi
-
-       # run omxregister-bellagio to make the OpenMAX drivers known system-wide
-       if use openmax; then
-               ebegin "Registering OpenMAX drivers"
-               
BELLAGIO_SEARCH_PATH="${EPREFIX}/usr/$(get_libdir)/libomxil-bellagio0" \
-                       
OMX_BELLAGIO_REGISTRY=${EPREFIX}/usr/share/mesa/xdg/.omxregister \
-                       omxregister-bellagio
-               eend $?
-       fi
-
-       # warn about patent encumbered texture-float
-       if use !bindist; then
-               elog "USE=\"bindist\" was not set. Potentially patent 
encumbered code was"
-               elog "enabled. Please see patents.txt for an explanation."
-       fi
-
-       local using_radeon r_flag
-       for r_flag in ${RADEON_CARDS}; do
-               if use video_cards_${r_flag}; then
-                       using_radeon=1
-                       break
-               fi
-       done
-
-       if [[ ${using_radeon} = 1 ]] && ! has_version media-libs/libtxc_dxtn; 
then
-               elog "Note that in order to have full S3TC support, it is 
necessary to install"
-               elog "media-libs/libtxc_dxtn as well. This may be necessary to 
get nice"
-               elog "textures in some apps, and some others even require this 
to run."
-       fi
-}
-
-pkg_prerm() {
-       if use openmax; then
-               rm "${EPREFIX}"/usr/share/mesa/xdg/.omxregister
-       fi
-}
-
-# $1 - VIDEO_CARDS flag
-# other args - names of DRI drivers to enable
-# TODO: avoid code duplication for a more elegant implementation
-driver_enable() {
-       case $# in
-               # for enabling unconditionally
-               1)
-                       DRI_DRIVERS+=",$1"
-                       ;;
-               *)
-                       if use $1; then
-                               shift
-                               for i in $@; do
-                                       DRI_DRIVERS+=",${i}"
-                               done
-                       fi
-                       ;;
-       esac
-}
-
-gallium_enable() {
-       case $# in
-               # for enabling unconditionally
-               1)
-                       GALLIUM_DRIVERS+=",$1"
-                       ;;
-               *)
-                       if use $1; then
-                               shift
-                               for i in $@; do
-                                       GALLIUM_DRIVERS+=",${i}"
-                               done
-                       fi
-                       ;;
-       esac
-}

diff --git a/media-libs/mesa/metadata.xml b/media-libs/mesa/metadata.xml
deleted file mode 100644
index 88120e5..0000000
--- a/media-libs/mesa/metadata.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
-<pkgmetadata>
-       <maintainer type="project">
-               <email>[email protected]</email>
-               <name>X11</name>
-       </maintainer>
-       <use>
-               <flag name="bindist">Disable patent-encumbered 
ARB_texture_float, EXT_texture_shared_exponent, and EXT_packed_float 
extensions.</flag>
-               <flag name="classic">Build drivers based on the classic 
architecture.</flag>
-               <flag name="d3d9">Enable Direct 3D9 API through Nine state 
tracker. Can be used together with patched wine.</flag>
-               <flag name="dri3">Enable DRI3 support.</flag>
-               <flag name="egl">Enable EGL support.</flag>
-               <flag name="gallium">Build drivers based on Gallium3D, the new 
architecture for 3D graphics drivers.</flag>
-               <flag name="gbm">Enable the Graphics Buffer Manager for EGL on 
KMS.</flag>
-               <flag name="gles">Enable GLES (both v1 and v2) support.</flag>
-               <flag name="gles1">Enable GLESv1 support.</flag>
-               <flag name="gles2">Enable GLESv2 support.</flag>
-               <flag name="llvm">Enable LLVM backend for Gallium3D.</flag>
-               <flag name="opencl">Enable the Clover Gallium OpenCL state 
tracker.</flag>
-               <flag name="openmax">Enable OpenMAX video decode/encode 
acceleration for Gallium3D.</flag>
-               <flag name="openvg">Enable the OpenVG 2D acceleration API for 
Gallium3D.</flag>
-               <flag name="osmesa">Build the Mesa library for off-screen 
rendering.</flag>
-               <flag name="pax_kernel">Enable if the user plans to run the 
package under a pax enabled hardened kernel</flag>
-               <flag name="pic">disable optimized assembly code that is not 
PIC friendly</flag>
-               <flag name="vdpau">Enable the VDPAU acceleration interface for 
the Gallium3D Video Layer.</flag>
-               <flag name="wayland">Enable support for dev-libs/wayland</flag>
-               <flag name="xa">Enable the XA (X Acceleration) API for 
Gallium3D.</flag>
-               <flag name="xvmc">Enable the XvMC acceleration interface for 
the Gallium3D Video Layer.</flag>
-       </use>
-       <upstream>
-               <remote-id type="sourceforge">mesa3d</remote-id>
-       </upstream>
-</pkgmetadata>

Reply via email to