summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/i915/i915_flush.c
diff options
context:
space:
mode:
authorJakob Bornecrantz <wallbraker@gmail.com>2010-07-03 15:25:17 +0100
committerJakob Bornecrantz <wallbraker@gmail.com>2010-07-04 13:32:02 +0100
commit57fc2ad7a165bd969de5d1943e325db52f702eb8 (patch)
tree057c6994c540d5bb9ba1373f1b9d8d025c96bdc8 /src/gallium/drivers/i915/i915_flush.c
parentded664b1ac716211a76dddb507ed2023ead578fc (diff)
i915g: Make batchbuffer flush function not be inline
Diffstat (limited to 'src/gallium/drivers/i915/i915_flush.c')
-rw-r--r--src/gallium/drivers/i915/i915_flush.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/gallium/drivers/i915/i915_flush.c b/src/gallium/drivers/i915/i915_flush.c
index 482d28eb96..a2c70b1199 100644
--- a/src/gallium/drivers/i915/i915_flush.c
+++ b/src/gallium/drivers/i915/i915_flush.c
@@ -38,9 +38,9 @@
#include "i915_debug.h"
-static void i915_flush( struct pipe_context *pipe,
- unsigned flags,
- struct pipe_fence_handle **fence )
+static void i915_flush_pipe( struct pipe_context *pipe,
+ unsigned flags,
+ struct pipe_fence_handle **fence )
{
struct i915_context *i915 = i915_context(pipe);
@@ -81,5 +81,17 @@ static void i915_flush( struct pipe_context *pipe,
void i915_init_flush_functions( struct i915_context *i915 )
{
- i915->base.flush = i915_flush;
+ i915->base.flush = i915_flush_pipe;
+}
+
+/**
+ * Here we handle all the notifications that needs to go out on a flush.
+ * XXX might move above function to i915_pipe_flush.c and leave this here.
+ */
+void i915_flush(struct i915_context *i915, struct pipe_fence_handle **fence)
+{
+ struct i915_winsys_batchbuffer *batch = i915->batch;
+
+ batch->iws->batchbuffer_flush(batch, fence);
+ i915->hardware_dirty = ~0;
}