Data Fields | |
void(* | destroy )(struct i915_winsys *sws) |
struct i915_batchbuffer *(* | batch_get )(struct i915_winsys *sws) |
Get the current batch buffer from the winsys. | |
void(* | batch_reloc )(struct i915_winsys *sws, struct pipe_buffer *buf, unsigned access_flags, unsigned delta) |
Emit a relocation to a buffer. | |
void(* | batch_flush )(struct i915_winsys *sws, struct pipe_fence_handle **fence) |
Flush the batch. |
It is an over-simple batchbuffer mechanism. Will want to improve the performance of this, perhaps based on the cmdstream stuff. It would be pretty impossible to implement swz on top of this interface.
Will also need additions/changes to implement static/dynamic indirect state.
Definition at line 76 of file i915_winsys.h.
void(* i915_winsys::destroy)(struct i915_winsys *sws) |
struct i915_batchbuffer*(* i915_winsys::batch_get)(struct i915_winsys *sws) [read] |
Get the current batch buffer from the winsys.
void(* i915_winsys::batch_reloc)(struct i915_winsys *sws, struct pipe_buffer *buf, unsigned access_flags, unsigned delta) |
Emit a relocation to a buffer.
Used not only when the buffer addresses are not pinned, but also to ensure refered buffers will not be destroyed until the current batch buffer execution is finished.
The access flags is a combination of I915_BUFFER_ACCESS_WRITE and I915_BUFFER_ACCESS_READ macros.
void(* i915_winsys::batch_flush)(struct i915_winsys *sws, struct pipe_fence_handle **fence) |
Flush the batch.