summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Shvetsov <alexxy@gentoo.org>2013-04-15 08:19:06 +0400
committerAlexey Shvetsov <alexxy@gentoo.org>2013-04-15 08:19:06 +0400
commit201ee7f354d412a56865d72e92f3d6b8c34f3b45 (patch)
treecec3d095c622267447a91c6f65ae84a8bf4eb938
parentAdd patch for multigpu in clover (diff)
downloadx11-201ee7f354d412a56865d72e92f3d6b8c34f3b45.tar.gz
x11-201ee7f354d412a56865d72e92f3d6b8c34f3b45.tar.bz2
x11-201ee7f354d412a56865d72e92f3d6b8c34f3b45.zip
Drop unneded patch
Package-Manager: portage-2.2.0_alpha173
-rw-r--r--media-libs/mesa/files/mesa-9999-use-a-struct-for-cl_platform_id.patch400
-rw-r--r--media-libs/mesa/mesa-9999.ebuild1
2 files changed, 0 insertions, 401 deletions
diff --git a/media-libs/mesa/files/mesa-9999-use-a-struct-for-cl_platform_id.patch b/media-libs/mesa/files/mesa-9999-use-a-struct-for-cl_platform_id.patch
deleted file mode 100644
index e5c7786f..00000000
--- a/media-libs/mesa/files/mesa-9999-use-a-struct-for-cl_platform_id.patch
+++ /dev/null
@@ -1,400 +0,0 @@
-From 39d5479f931bfce9641fb43d99a50cea63952de6 Mon Sep 17 00:00:00 2001
-From: Francisco Jerez <currojerez@riseup.net>
-Date: Wed, 10 Apr 2013 19:16:43 +0000
-Subject: clover: Use a struct to represent cl_platform_id
-
----
-diff --git a/src/gallium/state_trackers/clover/Makefile.am b/src/gallium/state_trackers/clover/Makefile.am
-index 33ff03d..b4c197a 100644
---- a/src/gallium/state_trackers/clover/Makefile.am
-+++ b/src/gallium/state_trackers/clover/Makefile.am
-@@ -50,6 +50,8 @@ libclover_la_SOURCES = \
- core/format.cpp \
- core/memory.hpp \
- core/memory.cpp \
-+ core/platform.hpp \
-+ core/platform.cpp \
- core/resource.hpp \
- core/resource.cpp \
- core/sampler.hpp \
-diff --git a/src/gallium/state_trackers/clover/api/context.cpp b/src/gallium/state_trackers/clover/api/context.cpp
-index 80afb6b..99b9566 100644
---- a/src/gallium/state_trackers/clover/api/context.cpp
-+++ b/src/gallium/state_trackers/clover/api/context.cpp
-@@ -41,8 +41,7 @@ clCreateContext(const cl_context_properties *props, cl_uint num_devs,
- throw error(CL_INVALID_DEVICE);
-
- for (auto p : mprops) {
-- if (!(p.first == CL_CONTEXT_PLATFORM &&
-- (cl_platform_id)p.second == NULL))
-+ if (p.first != CL_CONTEXT_PLATFORM)
- throw error(CL_INVALID_PROPERTY);
- }
-
-@@ -61,17 +60,25 @@ clCreateContextFromType(const cl_context_properties *props,
- cl_device_type type,
- void (CL_CALLBACK *pfn_notify)(
- const char *, const void *, size_t, void *),
-- void *user_data, cl_int *errcode_ret) {
-+ void *user_data, cl_int *errcode_ret) try {
-+ cl_platform_id platform;
-+ cl_uint num_platforms;
- cl_device_id dev;
- cl_int ret;
-
-- ret = clGetDeviceIDs(0, type, 1, &dev, 0);
-- if (ret) {
-- ret_error(errcode_ret, ret);
-- return NULL;
-- }
-+ ret = clGetPlatformIDs(1, &platform, &num_platforms);
-+ if (ret || !num_platforms)
-+ throw error(CL_INVALID_PLATFORM);
-+
-+ ret = clGetDeviceIDs(platform, type, 1, &dev, 0);
-+ if (ret)
-+ throw error(CL_DEVICE_NOT_FOUND);
-
- return clCreateContext(props, 1, &dev, pfn_notify, user_data, errcode_ret);
-+
-+} catch(error &e) {
-+ ret_error(errcode_ret, e);
-+ return NULL;
- }
-
- PUBLIC cl_int
-diff --git a/src/gallium/state_trackers/clover/api/device.cpp b/src/gallium/state_trackers/clover/api/device.cpp
-index cf68d0f..dfb440d 100644
---- a/src/gallium/state_trackers/clover/api/device.cpp
-+++ b/src/gallium/state_trackers/clover/api/device.cpp
-@@ -21,29 +21,25 @@
- //
-
- #include "api/util.hpp"
-+#include "core/platform.hpp"
- #include "core/device.hpp"
-
- using namespace clover;
-
--static device_registry registry;
--
- PUBLIC cl_int
- clGetDeviceIDs(cl_platform_id platform, cl_device_type device_type,
- cl_uint num_entries, cl_device_id *devices,
- cl_uint *num_devices) {
- std::vector<cl_device_id> devs;
-
-- if (platform != NULL)
-- return CL_INVALID_PLATFORM;
--
- if ((!num_entries && devices) ||
- (!num_devices && !devices))
- return CL_INVALID_VALUE;
-
- // Collect matching devices
-- for (device &dev : registry) {
-+ for (device &dev : *platform) {
- if (((device_type & CL_DEVICE_TYPE_DEFAULT) &&
-- &dev == &registry.front()) ||
-+ &dev == &platform->front()) ||
- (device_type & dev.type()))
- devs.push_back(&dev);
- }
-@@ -223,13 +219,15 @@ clGetDeviceInfo(cl_device_id dev, cl_device_info param,
- return string_property(buf, size, size_ret, "FULL_PROFILE");
-
- case CL_DEVICE_VERSION:
-- return string_property(buf, size, size_ret, "OpenCL 1.1 MESA " PACKAGE_VERSION);
-+ return string_property(buf, size, size_ret,
-+ "OpenCL 1.1 MESA " PACKAGE_VERSION);
-
- case CL_DEVICE_EXTENSIONS:
- return string_property(buf, size, size_ret, "");
-
- case CL_DEVICE_PLATFORM:
-- return scalar_property<cl_platform_id>(buf, size, size_ret, NULL);
-+ return scalar_property<cl_platform_id>(buf, size, size_ret,
-+ dev->platform);
-
- case CL_DEVICE_HOST_UNIFIED_MEMORY:
- return scalar_property<cl_bool>(buf, size, size_ret, CL_TRUE);
-diff --git a/src/gallium/state_trackers/clover/api/platform.cpp b/src/gallium/state_trackers/clover/api/platform.cpp
-index f99b694..90111c7 100644
---- a/src/gallium/state_trackers/clover/api/platform.cpp
-+++ b/src/gallium/state_trackers/clover/api/platform.cpp
-@@ -21,9 +21,12 @@
- //
-
- #include "api/util.hpp"
-+#include "core/platform.hpp"
-
- using namespace clover;
-
-+static platform __platform;
-+
- PUBLIC cl_int
- clGetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms,
- cl_uint *num_platforms) {
-@@ -34,7 +37,7 @@ clGetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms,
- if (num_platforms)
- *num_platforms = 1;
- if (platforms)
-- *platforms = NULL;
-+ *platforms = &__platform;
-
- return CL_SUCCESS;
- }
-@@ -42,7 +45,7 @@ clGetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms,
- PUBLIC cl_int
- clGetPlatformInfo(cl_platform_id platform, cl_platform_info param_name,
- size_t size, void *buf, size_t *size_ret) {
-- if (platform != NULL)
-+ if (platform != &__platform)
- return CL_INVALID_PLATFORM;
-
- switch (param_name) {
-diff --git a/src/gallium/state_trackers/clover/core/device.cpp b/src/gallium/state_trackers/clover/core/device.cpp
-index d93a1f6..8c6a8a6 100644
---- a/src/gallium/state_trackers/clover/core/device.cpp
-+++ b/src/gallium/state_trackers/clover/core/device.cpp
-@@ -38,13 +38,16 @@ namespace {
- }
- }
-
--_cl_device_id::_cl_device_id(pipe_loader_device *ldev) : ldev(ldev) {
-+_cl_device_id::_cl_device_id(clover::platform *platform,
-+ pipe_loader_device *ldev) :
-+ platform(platform), ldev(ldev) {
- pipe = pipe_loader_create_screen(ldev, PIPE_SEARCH_DIR);
- if (!pipe || !pipe->get_param(pipe, PIPE_CAP_COMPUTE))
- throw error(CL_INVALID_DEVICE);
- }
-
--_cl_device_id::_cl_device_id(_cl_device_id &&dev) : pipe(dev.pipe), ldev(dev.ldev) {
-+_cl_device_id::_cl_device_id(_cl_device_id &&dev) :
-+ platform(dev.platform), pipe(dev.pipe), ldev(dev.ldev) {
- dev.ldev = NULL;
- dev.pipe = NULL;
- }
-@@ -56,6 +59,15 @@ _cl_device_id::~_cl_device_id() {
- pipe_loader_release(&ldev, 1);
- }
-
-+void
-+_cl_device_id::operator=(_cl_device_id &&dev) {
-+ platform = dev.platform;
-+ pipe = dev.pipe;
-+ ldev = dev.ldev;
-+ dev.ldev = NULL;
-+ dev.pipe = NULL;
-+}
-+
- cl_device_type
- _cl_device_id::type() const {
- switch (ldev->type) {
-@@ -179,16 +191,3 @@ _cl_device_id::ir_target() const {
- PIPE_COMPUTE_CAP_IR_TARGET);
- return { target.data() };
- }
--
--device_registry::device_registry() {
-- int n = pipe_loader_probe(NULL, 0);
-- std::vector<pipe_loader_device *> ldevs(n);
--
-- pipe_loader_probe(&ldevs.front(), n);
--
-- for (pipe_loader_device *ldev : ldevs) {
-- try {
-- devs.emplace_back(ldev);
-- } catch (error &) {}
-- }
--}
-diff --git a/src/gallium/state_trackers/clover/core/device.hpp b/src/gallium/state_trackers/clover/core/device.hpp
-index 5b92751..897a003 100644
---- a/src/gallium/state_trackers/clover/core/device.hpp
-+++ b/src/gallium/state_trackers/clover/core/device.hpp
-@@ -32,17 +32,21 @@
-
- namespace clover {
- typedef struct _cl_device_id device;
-+ typedef struct _cl_platform_id platform;
- class root_resource;
- class hard_event;
- }
-
- struct _cl_device_id {
- public:
-- _cl_device_id(pipe_loader_device *ldev);
-+ _cl_device_id(clover::platform *platform, pipe_loader_device *ldev);
- _cl_device_id(_cl_device_id &&dev);
- _cl_device_id(const _cl_device_id &dev) = delete;
- ~_cl_device_id();
-
-+ void operator=(_cl_device_id &&dev);
-+ void operator=(const _cl_device_id &dev) = delete;
-+
- cl_device_type type() const;
- cl_uint vendor_id() const;
- size_t max_images_read() const;
-@@ -70,41 +74,11 @@ public:
- friend std::set<cl_image_format>
- clover::supported_formats(cl_context, cl_mem_object_type);
-
-+ clover::platform *platform;
-+
- private:
- pipe_screen *pipe;
- pipe_loader_device *ldev;
- };
-
--namespace clover {
-- ///
-- /// Container of all the compute devices that are available in the
-- /// system.
-- ///
-- class device_registry {
-- public:
-- typedef std::vector<device>::iterator iterator;
--
-- device_registry();
--
-- iterator begin() {
-- return devs.begin();
-- }
--
-- iterator end() {
-- return devs.end();
-- }
--
-- device &front() {
-- return devs.front();
-- }
--
-- device &back() {
-- return devs.back();
-- }
--
-- protected:
-- std::vector<device> devs;
-- };
--}
--
- #endif
-diff --git a/src/gallium/state_trackers/clover/core/platform.cpp b/src/gallium/state_trackers/clover/core/platform.cpp
-new file mode 100644
-index 0000000..f557ef2
---- a/dev/null
-+++ b/src/gallium/state_trackers/clover/core/platform.cpp
-@@ -0,0 +1,38 @@
-+//
-+// Copyright 2012 Francisco Jerez
-+//
-+// Permission is hereby granted, free of charge, to any person obtaining a
-+// copy of this software and associated documentation files (the "Software"),
-+// to deal in the Software without restriction, including without limitation
-+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+// and/or sell copies of the Software, and to permit persons to whom the
-+// Software is furnished to do so, subject to the following conditions:
-+//
-+// The above copyright notice and this permission notice shall be included in
-+// all copies or substantial portions of the Software.
-+//
-+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-+// THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
-+// OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-+// SOFTWARE.
-+//
-+
-+#include "core/platform.hpp"
-+
-+using namespace clover;
-+
-+_cl_platform_id::_cl_platform_id() {
-+ int n = pipe_loader_probe(NULL, 0);
-+ std::vector<pipe_loader_device *> ldevs(n);
-+
-+ pipe_loader_probe(&ldevs.front(), n);
-+
-+ for (pipe_loader_device *ldev : ldevs) {
-+ try {
-+ devs.emplace_back(this, ldev);
-+ } catch (error &) {}
-+ }
-+}
-diff --git a/src/gallium/state_trackers/clover/core/platform.hpp b/src/gallium/state_trackers/clover/core/platform.hpp
-new file mode 100644
-index 0000000..eeb6d60
---- a/dev/null
-+++ b/src/gallium/state_trackers/clover/core/platform.hpp
-@@ -0,0 +1,66 @@
-+//
-+// Copyright 2013 Francisco Jerez
-+//
-+// Permission is hereby granted, free of charge, to any person obtaining a
-+// copy of this software and associated documentation files (the "Software"),
-+// to deal in the Software without restriction, including without limitation
-+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+// and/or sell copies of the Software, and to permit persons to whom the
-+// Software is furnished to do so, subject to the following conditions:
-+//
-+// The above copyright notice and this permission notice shall be included in
-+// all copies or substantial portions of the Software.
-+//
-+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-+// THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
-+// OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-+// SOFTWARE.
-+//
-+
-+#ifndef __CORE_PLATFORM_HPP__
-+#define __CORE_PLATFORM_HPP__
-+
-+#include <vector>
-+
-+#include "core/base.hpp"
-+#include "core/device.hpp"
-+
-+namespace clover {
-+ typedef struct _cl_platform_id platform;
-+}
-+
-+struct _cl_platform_id {
-+public:
-+ typedef std::vector<clover::device>::iterator iterator;
-+
-+ _cl_platform_id();
-+
-+ ///
-+ /// Container of all compute devices that are available in the platform.
-+ ///
-+ /// @{
-+ iterator begin() {
-+ return devs.begin();
-+ }
-+
-+ iterator end() {
-+ return devs.end();
-+ }
-+
-+ clover::device &front() {
-+ return devs.front();
-+ }
-+
-+ clover::device &back() {
-+ return devs.back();
-+ }
-+ /// @}
-+
-+protected:
-+ std::vector<clover::device> devs;
-+};
-+
-+#endif
---
-cgit v0.9.0.2-2-gbebe
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index 9ceca552..8b5323a8 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -173,7 +173,6 @@ src_prepare() {
epatch "${FILESDIR}"/${P}-dont-require-llvm-for-r300.patch
# use non-NULL platform id
- epatch "${FILESDIR}/${P}-use-a-struct-for-cl_platform_id.patch"
epatch "${FILESDIR}/0001-clover-Support-multiple-devices-in-clCreateContextFr.patch"
# fix for hardened pax_kernel, bug 240956