summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/drm/intel/gem/intel_be_device.h
diff options
context:
space:
mode:
authorJakob Bornecrantz <wallbraker@gmail.com>2009-02-27 03:27:31 +0100
committerJakob Bornecrantz <wallbraker@gmail.com>2009-02-27 03:36:48 +0100
commite1d276f9351a6524f4a48d9606ae531cc04ccad4 (patch)
treea60ed46a4c2cc44b463c26c9cbbd2c370c07aba6 /src/gallium/winsys/drm/intel/gem/intel_be_device.h
parent6a72a2d3f4ea50996593bfa55ae671eee9836d76 (diff)
intel: Use flink for global buffer ids
Also fix minor drm api change
Diffstat (limited to 'src/gallium/winsys/drm/intel/gem/intel_be_device.h')
-rw-r--r--src/gallium/winsys/drm/intel/gem/intel_be_device.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/gallium/winsys/drm/intel/gem/intel_be_device.h b/src/gallium/winsys/drm/intel/gem/intel_be_device.h
index 5bf7d3fc4f..47d2176cb4 100644
--- a/src/gallium/winsys/drm/intel/gem/intel_be_device.h
+++ b/src/gallium/winsys/drm/intel/gem/intel_be_device.h
@@ -44,6 +44,8 @@ intel_be_init_device(struct intel_be_device *device, int fd, unsigned id);
struct intel_be_buffer {
struct pipe_buffer base;
drm_intel_bo *bo;
+ boolean flinked;
+ unsigned flink;
};
/**
@@ -60,9 +62,20 @@ intel_be_buffer_from_handle(struct pipe_screen *screen,
*
* If buffer is destroyed handle may become invalid.
*/
-unsigned
+boolean
intel_be_handle_from_buffer(struct pipe_screen *screen,
- struct pipe_buffer *buffer);
+ struct pipe_buffer *buffer,
+ unsigned *handle);
+
+/**
+ * Gets the global handle from a buffer.
+ *
+ * If buffer is destroyed handle may become invalid.
+ */
+boolean
+intel_be_global_handle_from_buffer(struct pipe_screen *screen,
+ struct pipe_buffer *buffer,
+ unsigned *handle);
static INLINE struct intel_be_buffer *
intel_be_buffer(struct pipe_buffer *buf)