diff options
author | Michel Dänzer <[email protected]> | 2008-03-26 09:36:40 +0000 |
---|---|---|
committer | Michel Dänzer <[email protected]> | 2008-03-26 09:36:40 +0000 |
commit | 4abe1eb980ed76d2b2d3383eaab520d0aa2ae6f4 (patch) | |
tree | 82ef00b79a812d6380b023e1da1a24c34437d66e /src/gallium/drivers/i915simple/i915_flush.c | |
parent | e55dccd0bfc41dbcf306f864c01758f8e28fc660 (diff) |
gallium: Change pipe->flush() interface to optionally return a fence.
The cell driver still uses an internal CELL_FLUSH_WAIT flag, in the long run
proper fencing should be implemented for it.
Diffstat (limited to 'src/gallium/drivers/i915simple/i915_flush.c')
-rw-r--r-- | src/gallium/drivers/i915simple/i915_flush.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/gallium/drivers/i915simple/i915_flush.c b/src/gallium/drivers/i915simple/i915_flush.c index 96a54281f11..7d23e6b6b90 100644 --- a/src/gallium/drivers/i915simple/i915_flush.c +++ b/src/gallium/drivers/i915simple/i915_flush.c @@ -37,11 +37,9 @@ #include "i915_batch.h" -/** - * In future we may want a fence-like interface instead of finish. - */ static void i915_flush( struct pipe_context *pipe, - unsigned flags ) + unsigned flags, + struct pipe_fence_handle **fence ) { struct i915_context *i915 = i915_context(pipe); @@ -60,7 +58,7 @@ static void i915_flush( struct pipe_context *pipe, flush |= FLUSH_MAP_CACHE; if (!BEGIN_BATCH(1, 0)) { - FLUSH_BATCH(); + FLUSH_BATCH(NULL); assert(BEGIN_BATCH(1, 0)); } OUT_BATCH( flush ); @@ -69,11 +67,7 @@ static void i915_flush( struct pipe_context *pipe, /* If there are no flags, just flush pending commands to hardware: */ - FLUSH_BATCH(); - - if (flags & PIPE_FLUSH_WAIT) { - i915->winsys->batch_finish(i915->winsys); - } + FLUSH_BATCH(fence); } |