diff options
author | Eric Anholt <eric@anholt.net> | 2010-03-11 14:33:00 -0800 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-06-11 00:15:56 -0700 |
commit | 321014156b3f7842a84d9b9915389c9f6f6486f5 (patch) | |
tree | 2b0b4c7d266ca968e438014b16802c030c09d589 /src/mesa/drivers/dri/intel/intel_batchbuffer.c | |
parent | f5bb775fd1f333d8e579d07a5cac1ded2bd54a2f (diff) |
i965: Add support for streaming indirect state rather than caching objects.
Diffstat (limited to 'src/mesa/drivers/dri/intel/intel_batchbuffer.c')
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_batchbuffer.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_batchbuffer.c b/src/mesa/drivers/dri/intel/intel_batchbuffer.c index 1116bccd8e..698445c526 100644 --- a/src/mesa/drivers/dri/intel/intel_batchbuffer.c +++ b/src/mesa/drivers/dri/intel/intel_batchbuffer.c @@ -49,6 +49,7 @@ intel_batchbuffer_reset(struct intel_batchbuffer *batch) batch->ptr = batch->map; batch->reserved_space = BATCH_RESERVED; batch->dirty_state = ~0; + batch->state_batch_offset = batch->size; } struct intel_batchbuffer * @@ -84,6 +85,12 @@ do_flush_locked(struct intel_batchbuffer *batch, GLuint used) int x_off = 0, y_off = 0; drm_intel_bo_subdata(batch->buf, 0, used, batch->buffer); + if (batch->state_batch_offset != batch->size) { + drm_intel_bo_subdata(batch->buf, + batch->state_batch_offset, + batch->size - batch->state_batch_offset, + batch->buffer + batch->state_batch_offset); + } batch->ptr = NULL; |