From e5e8dafc991ee922ec159491c680caff0cfe9235 Mon Sep 17 00:00:00 2001 From: "Kalamarz, Lukasz" Date: Tue, 24 Apr 2018 10:32:12 +0200 Subject: lib/intel_batchbuffer: Move batch functions from media/render/gpgpu libs Batch functions were copy/pasted across several libs. With moving it into intel_batchbuffer lib test can now be easly maintained without worrying that we forgot to modify older version of lib. v2: Added documentation into lib and rebased patch v3: Fixed typos and rebased patch v4: Fixed documentation issues v5: Rename, clean up of leftovers from previous version and documentation polishing v6: Fixing assert Signed-off-by: Lukasz Kalamarz Cc: Katarzyna Dec Cc: Radoslaw Szwichtenberg Cc: Daniele Ceraolo Spurio Reviewed-by: Daniele Ceraolo Spurio Reviewed-by: Katarzyna Dec --- lib/intel_batchbuffer.h | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'lib/intel_batchbuffer.h') diff --git a/lib/intel_batchbuffer.h b/lib/intel_batchbuffer.h index 6744bcbc..1b8e831d 100644 --- a/lib/intel_batchbuffer.h +++ b/lib/intel_batchbuffer.h @@ -40,8 +40,9 @@ void intel_batchbuffer_flush_with_context(struct intel_batchbuffer *batch, void intel_batchbuffer_reset(struct intel_batchbuffer *batch); -void intel_batchbuffer_data(struct intel_batchbuffer *batch, - const void *data, unsigned int bytes); +uint32_t intel_batchbuffer_copy_data(struct intel_batchbuffer *batch, + const void *data, unsigned int bytes, + uint32_t align); void intel_batchbuffer_emit_reloc(struct intel_batchbuffer *batch, drm_intel_bo *buffer, @@ -50,6 +51,16 @@ void intel_batchbuffer_emit_reloc(struct intel_batchbuffer *batch, uint32_t write_domain, int fenced); +uint32_t +intel_batchbuffer_align(struct intel_batchbuffer *batch, uint32_t align); + +void * +intel_batchbuffer_subdata_alloc(struct intel_batchbuffer *batch, + uint32_t size, uint32_t align); + +uint32_t +intel_batchbuffer_subdata_offset(struct intel_batchbuffer *batch, void *ptr); + /* Inline functions - might actually be better off with these * non-inlined. Certainly better off switching all command packets to * be passed as structs rather than dwords, but that's a little bit of -- cgit v1.2.3