- intel-Export-CONSTANT_BUFFER-addressing-mode.patch
* intel: Export CONSTANT_BUFFER addressing mode OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/libdrm?expand=0&rev=77
This commit is contained in:
parent
e3ba74ba97
commit
31d6eb4cf1
124
intel-Export-CONSTANT_BUFFER-addressing-mode.patch
Normal file
124
intel-Export-CONSTANT_BUFFER-addressing-mode.patch
Normal file
@ -0,0 +1,124 @@
|
||||
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
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 5 02:10:17 UTC 2011 - sndirsch@novell.com
|
||||
|
||||
- intel-Export-CONSTANT_BUFFER-addressing-mode.patch
|
||||
* intel: Export CONSTANT_BUFFER addressing mode
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 20 15:26:43 UTC 2010 - sndirsch@novell.com
|
||||
|
||||
|
@ -38,6 +38,7 @@ Summary: Userspace Interface for Kernel DRM Services
|
||||
Source: %{name}-%{version}.tar.bz2
|
||||
Source2: baselibs.conf
|
||||
Patch: enable_test_tools.diff
|
||||
Patch1: intel-Export-CONSTANT_BUFFER-addressing-mode.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
@ -64,6 +65,7 @@ services.
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}
|
||||
%patch
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
autoreconf -fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user