2 #ifndef INTEL_BE_BATCHBUFFER_H
3 #define INTEL_BE_BATCHBUFFER_H
5 #include "i915simple/i915_batch.h"
8 #include "intel_bufmgr.h"
10 #define BATCH_RESERVED 16
12 #define INTEL_DEFAULT_RELOCS 100
13 #define INTEL_MAX_RELOCS 400
15 #define INTEL_BATCH_NO_CLIPRECTS 0x1
16 #define INTEL_BATCH_CLIPRECTS 0x2
18 struct intel_be_context
;
19 struct intel_be_device
;
20 struct intel_be_fence
;
22 struct intel_be_batchbuffer
24 struct i915_batchbuffer base
;
26 struct intel_be_context
*intel
;
27 struct intel_be_device
*device
;
32 struct intel_be_batchbuffer
*
33 intel_be_batchbuffer_alloc(struct intel_be_context
*intel
);
36 intel_be_batchbuffer_free(struct intel_be_batchbuffer
*batch
);
39 intel_be_batchbuffer_finish(struct intel_be_batchbuffer
*batch
);
42 intel_be_batchbuffer_flush(struct intel_be_batchbuffer
*batch
,
43 struct intel_be_fence
**fence
);
46 intel_be_batchbuffer_reset(struct intel_be_batchbuffer
*batch
);
49 intel_be_offset_relocation(struct intel_be_batchbuffer
*batch
,
52 uint32_t read_domains
,
53 uint32_t write_doman
);