From e5fab0b7681be06a5a3be4bbd769ba5c435e2128 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Fri, 25 Jul 2008 13:44:29 -0700 Subject: [PATCH] Add OUT_RELOC macro and backing intel_batch_emit_reloc function --- src/i830_batchbuffer.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/i830_batchbuffer.h b/src/i830_batchbuffer.h index 2b898c26..c9b84215 100644 --- a/src/i830_batchbuffer.h +++ b/src/i830_batchbuffer.h @@ -59,6 +59,20 @@ intel_batch_emit_dword(I830Ptr pI830, uint32_t dword) pI830->batch_used += 4; } +static inline void +intel_batch_emit_reloc (I830Ptr pI830, + dri_bo *bo, + uint32_t read_domains, + uint32_t write_domains, + uint32_t delta) +{ + assert(intel_batch_space(pI830) >= 4); + *(uint32_t *)(pI830->batch_ptr + pI830->batch_used) = bo->offset + delta; + intel_bo_emit_reloc (pI830->batch_bo, read_domains, write_domains, delta, + pI830->batch_used, bo); + pI830->batch_used += 4; +} + static inline void intel_batch_emit_reloc_pixmap(I830Ptr pI830, PixmapPtr pPixmap, uint32_t delta) { @@ -71,6 +85,9 @@ intel_batch_emit_reloc_pixmap(I830Ptr pI830, PixmapPtr pPixmap, uint32_t delta) #define OUT_BATCH(dword) intel_batch_emit_dword(pI830, dword) +#define OUT_RELOC(bo, read_domains, write_domains, delta) \ + intel_batch_emit_reloc (pI830, bo, read_domains, write_domains, delta) + #define OUT_RELOC_PIXMAP(pPixmap, delta) \ intel_batch_emit_reloc_pixmap(pI830, pPixmap, delta)