Accepting request 74294 from X11:XOrg

- Update to libdrm 2.6.26
- obsoletes intel-Export-CONSTANT_BUFFER-addressing-mode.patch
- a bunch of fixes
- new Intel API for use by mesa

OBS-URL: https://build.opensuse.org/request/show/74294
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libdrm?expand=0&rev=53
This commit is contained in:
Sascha Peilicke 2011-06-22 09:21:42 +00:00 committed by Git OBS Bridge
commit 823749d034
5 changed files with 14 additions and 131 deletions

View File

@ -1,124 +0,0 @@
From 0184bb1c6d946bcaf198f7680b3405adca676790 Mon Sep 17 00:00:00 2001
From: Chris Wilson <chris@chris-wilson.co.uk>
Date: Sun, 19 Dec 2010 13:01:15 +0000
Subject: [PATCH] intel: Export CONSTANT_BUFFER addressing mode
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
include/drm/i915_drm.h | 13 +++++++++++++
intel/intel_bufmgr.c | 4 ++--
intel/intel_bufmgr.h | 2 +-
intel/intel_bufmgr_gem.c | 6 +++---
intel/intel_bufmgr_priv.h | 4 ++--
5 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h
index 19da2c0..98e1597 100644
--- a/include/drm/i915_drm.h
+++ b/include/drm/i915_drm.h
@@ -279,6 +279,8 @@ typedef struct drm_i915_irq_wait {
#define I915_PARAM_HAS_BSD 10
#define I915_PARAM_HAS_BLT 11
#define I915_PARAM_HAS_RELAXED_FENCING 12
+#define I915_PARAM_HAS_COHERENT_RINGS 13
+#define I915_PARAM_HAS_EXEC_CONSTANTS 14
typedef struct drm_i915_getparam {
int param;
@@ -625,6 +627,17 @@ struct drm_i915_gem_execbuffer2 {
#define I915_EXEC_RENDER (1<<0)
#define I915_EXEC_BSD (2<<0)
#define I915_EXEC_BLT (3<<0)
+
+/* Used for switching the constants addressing mode on gen4+ RENDER ring.
+ * Gen6+ only supports relative addressing to dynamic state (default) and
+ * absolute addressing.
+ *
+ * These flags are ignored for the BSD and BLT rings.
+ */
+#define I915_EXEC_CONSTANTS_MASK (3<<6)
+#define I915_EXEC_CONSTANTS_REL_GENERAL (0<<6) /* default */
+#define I915_EXEC_CONSTANTS_ABSOLUTE (1<<6)
+#define I915_EXEC_CONSTANTS_REL_SURFACE (2<<6) /* gen4/5 only */
__u64 flags;
__u64 rsvd1;
__u64 rsvd2;
diff --git a/intel/intel_bufmgr.c b/intel/intel_bufmgr.c
index f93a870..b7c5c09 100644
--- a/intel/intel_bufmgr.c
+++ b/intel/intel_bufmgr.c
@@ -136,12 +136,12 @@ drm_intel_bo_exec(drm_intel_bo *bo, int used,
int
drm_intel_bo_mrb_exec(drm_intel_bo *bo, int used,
drm_clip_rect_t *cliprects, int num_cliprects, int DR4,
- int ring_flag)
+ unsigned int rings)
{
if (bo->bufmgr->bo_mrb_exec)
return bo->bufmgr->bo_mrb_exec(bo, used,
cliprects, num_cliprects, DR4,
- ring_flag);
+ rings);
return -ENODEV;
}
diff --git a/intel/intel_bufmgr.h b/intel/intel_bufmgr.h
index e1b4c45..daa18b4 100644
--- a/intel/intel_bufmgr.h
+++ b/intel/intel_bufmgr.h
@@ -114,7 +114,7 @@ int drm_intel_bo_exec(drm_intel_bo *bo, int used,
struct drm_clip_rect *cliprects, int num_cliprects, int DR4);
int drm_intel_bo_mrb_exec(drm_intel_bo *bo, int used,
struct drm_clip_rect *cliprects, int num_cliprects, int DR4,
- int ring_flag);
+ unsigned int flags);
int drm_intel_bufmgr_check_aperture_space(drm_intel_bo ** bo_array, int count);
int drm_intel_bo_emit_reloc(drm_intel_bo *bo, uint32_t offset,
diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c
index c5bb588..72c8731 100644
--- a/intel/intel_bufmgr_gem.c
+++ b/intel/intel_bufmgr_gem.c
@@ -1555,13 +1555,13 @@ drm_intel_gem_bo_exec(drm_intel_bo *bo, int used,
static int
drm_intel_gem_bo_mrb_exec2(drm_intel_bo *bo, int used,
drm_clip_rect_t *cliprects, int num_cliprects, int DR4,
- int ring_flag)
+ unsigned int flags)
{
drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bo->bufmgr;
struct drm_i915_gem_execbuffer2 execbuf;
int ret, i;
- switch (ring_flag) {
+ switch (flags & 0x7) {
default:
return -EINVAL;
case I915_EXEC_BLT:
@@ -1594,7 +1594,7 @@ drm_intel_gem_bo_mrb_exec2(drm_intel_bo *bo, int used,
execbuf.num_cliprects = num_cliprects;
execbuf.DR1 = 0;
execbuf.DR4 = DR4;
- execbuf.flags = ring_flag;
+ execbuf.flags = flags;
execbuf.rsvd1 = 0;
execbuf.rsvd2 = 0;
diff --git a/intel/intel_bufmgr_priv.h b/intel/intel_bufmgr_priv.h
index 87e91e7..0b62520 100644
--- a/intel/intel_bufmgr_priv.h
+++ b/intel/intel_bufmgr_priv.h
@@ -177,8 +177,8 @@ struct _drm_intel_bufmgr {
* ring buffer
*/
int (*bo_mrb_exec) (drm_intel_bo *bo, int used,
- drm_clip_rect_t *cliprects, int num_cliprects,
- int DR4, int ring_flag);
+ drm_clip_rect_t *cliprects, int num_cliprects,
+ int DR4, unsigned flags);
/**
* Pin a buffer to the aperture and fix the offset until unpinned
--
1.7.3.4

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c0f06d68c3edba7a1ad937f5481a8c287efd4cd368cee66cd9e678b06a911c18
size 408276

3
libdrm-2.4.26.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3ce2834a23827aaffef4f5c1e0e3195a127635699ac27581a1619b3017ce1829
size 141707

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Fri Jun 17 18:19:08 UTC 2011 - vljn@ovi.com
- Update to libdrm 2.6.26
- obsoletes intel-Export-CONSTANT_BUFFER-addressing-mode.patch
- a bunch of fixes
- new Intel API for use by mesa
-------------------------------------------------------------------
Wed May 25 10:38:44 UTC 2011 - sndirsch@novell.com

View File

@ -19,12 +19,12 @@
Name: libdrm
BuildRequires: pkgconfig xorg-x11-proto-devel
BuildRequires: pkgconfig xorg-x11-proto-devel libpciaccess0-devel
Url: http://dri.sf.net
License: MIT License (or similar)
Group: System/Libraries
AutoReqProv: on
Version: 2.4.23
Version: 2.4.26
Release: 12
Provides: libdrm23 = %{version}
Obsoletes: libdrm23 < %{version}
@ -37,7 +37,6 @@ Provides: libdrm-64bit = %{version}
Summary: Userspace Interface for Kernel DRM Services
Source: %{name}-%{version}.tar.bz2
Source2: baselibs.conf
Patch1: intel-Export-CONSTANT_BUFFER-addressing-mode.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@ -63,7 +62,7 @@ services.
%prep
%setup -q -n %{name}-%{version}
%patch1 -p1
%build
autoreconf -fi