[arch-commits] Commit in lib32-primus/repos/multilib-x86_64 (3 files)
Sven-Hendrik Haase
svenstaro at archlinux.org
Fri Jan 22 04:37:41 UTC 2016
Date: Friday, January 22, 2016 @ 05:37:41
Author: svenstaro
Revision: 158492
archrelease: copy trunk to multilib-x86_64
Added:
lib32-primus/repos/multilib-x86_64/PKGBUILD
(from rev 158491, lib32-primus/trunk/PKGBUILD)
lib32-primus/repos/multilib-x86_64/register_cleanup.patch
(from rev 158491, lib32-primus/trunk/register_cleanup.patch)
Deleted:
lib32-primus/repos/multilib-x86_64/register_cleanup.patch
------------------------+
PKGBUILD | 41 ++++++++++++++++++++
register_cleanup.patch | 94 +++++++++++++++++++++++------------------------
2 files changed, 88 insertions(+), 47 deletions(-)
Copied: lib32-primus/repos/multilib-x86_64/PKGBUILD (from rev 158491, lib32-primus/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2016-01-22 04:37:41 UTC (rev 158492)
@@ -0,0 +1,41 @@
+# Maintainer: Sven-Hendrik Haase <sh at lutzhaase.com>
+# Contributor: Alexander Monakov <amonakov at gmail.com>
+
+pkgname=lib32-primus
+pkgver=20151110
+pkgrel=3
+pkgdesc="Faster OpenGL offloading for Bumblebee (32-bit)"
+arch=('x86_64')
+url="https://github.com/amonakov/primus"
+license=('custom:ISC')
+depends=('bumblebee' 'lib32-mesa-libgl')
+makedepends=('git' 'gcc-multilib')
+source=("git://github.com/amonakov/primus.git#commit=d1afbf6"
+ "register_cleanup.patch")
+sha1sums=('SKIP'
+ 'fd48f89c55c1ad854d7a985781faed2c52c0135f')
+
+prepare() {
+ cd primus
+
+ patch -Np1 < "$srcdir/register_cleanup.patch"
+}
+
+build() {
+ cd primus
+
+ export CC="g++ -m32"
+ export CXX="g++ -m32"
+
+ LIBDIR=lib32 make
+}
+
+package() {
+ cd primus
+
+ install -D "lib32/libGL.so.1" "$pkgdir/usr/lib32/primus/libGL.so.1"
+
+ install -D -m644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
Deleted: register_cleanup.patch
===================================================================
--- register_cleanup.patch 2016-01-22 04:37:17 UTC (rev 158491)
+++ register_cleanup.patch 2016-01-22 04:37:41 UTC (rev 158492)
@@ -1,47 +0,0 @@
-diff --git a/libglfork.cpp b/libglfork.cpp
-index 03f514f..bb42f0d 100644
---- a/libglfork.cpp
-+++ b/libglfork.cpp
-@@ -259,6 +259,22 @@ static struct PrimusInfo {
- }
- } primus;
-
-+static void cleanup()
-+{
-+ primus.drawables.clear();
-+}
-+
-+static void register_cleanup_1()
-+{
-+ atexit(cleanup);
-+}
-+
-+static void register_cleanup()
-+{
-+ static pthread_once_t once = PTHREAD_ONCE_INIT;
-+ pthread_once(&once, register_cleanup_1);
-+}
-+
- // Thread-specific data
- static __thread struct {
- Display *dpy;
-@@ -622,11 +638,6 @@ GLXContext glXCreateContextAttribsARB(Display *dpy, GLXFBConfig config, GLXConte
- void glXDestroyContext(Display *dpy, GLXContext ctx)
- {
- primus.contexts.erase(ctx);
-- // kludge: reap background tasks when deleting the last context
-- // otherwise something will deadlock during unloading the library
-- if (primus.contexts.empty())
-- for (DrawablesInfo::iterator i = primus.drawables.begin(); i != primus.drawables.end(); i++)
-- i->second.reap_workers();
- primus.afns.glXDestroyContext(primus.adpy, ctx);
- }
-
-@@ -720,6 +731,7 @@ void glXSwapBuffers(Display *dpy, GLXDrawable drawable)
- di.actx = ctx;
- di.d.spawn_worker(drawable, display_work);
- di.r.spawn_worker(drawable, readback_work);
-+ register_cleanup();
- }
- // Readback thread needs a sync object to avoid reading an incomplete frame
- di.sync = primus.afns.glFenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0);
Copied: lib32-primus/repos/multilib-x86_64/register_cleanup.patch (from rev 158491, lib32-primus/trunk/register_cleanup.patch)
===================================================================
--- register_cleanup.patch (rev 0)
+++ register_cleanup.patch 2016-01-22 04:37:41 UTC (rev 158492)
@@ -0,0 +1,47 @@
+diff --git a/libglfork.cpp b/libglfork.cpp
+index 03f514f..bb42f0d 100644
+--- a/libglfork.cpp
++++ b/libglfork.cpp
+@@ -259,6 +259,22 @@ static struct PrimusInfo {
+ }
+ } primus;
+
++static void cleanup()
++{
++ primus.drawables.clear();
++}
++
++static void register_cleanup_1()
++{
++ atexit(cleanup);
++}
++
++static void register_cleanup()
++{
++ static pthread_once_t once = PTHREAD_ONCE_INIT;
++ pthread_once(&once, register_cleanup_1);
++}
++
+ // Thread-specific data
+ static __thread struct {
+ Display *dpy;
+@@ -622,11 +638,6 @@ GLXContext glXCreateContextAttribsARB(Display *dpy, GLXFBConfig config, GLXConte
+ void glXDestroyContext(Display *dpy, GLXContext ctx)
+ {
+ primus.contexts.erase(ctx);
+- // kludge: reap background tasks when deleting the last context
+- // otherwise something will deadlock during unloading the library
+- if (primus.contexts.empty())
+- for (DrawablesInfo::iterator i = primus.drawables.begin(); i != primus.drawables.end(); i++)
+- i->second.reap_workers();
+ primus.afns.glXDestroyContext(primus.adpy, ctx);
+ }
+
+@@ -720,6 +731,7 @@ void glXSwapBuffers(Display *dpy, GLXDrawable drawable)
+ di.actx = ctx;
+ di.d.spawn_worker(drawable, display_work);
+ di.r.spawn_worker(drawable, readback_work);
++ register_cleanup();
+ }
+ // Readback thread needs a sync object to avoid reading an incomplete frame
+ di.sync = primus.afns.glFenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0);
More information about the arch-commits
mailing list