summaryrefslogtreecommitdiff
path: root/freedreno/freedreno_ringbuffer.h
diff options
context:
space:
mode:
authorRob Clark <robclark@freedesktop.org>2016-11-09 09:02:09 -0500
committerRob Clark <robclark@freedesktop.org>2016-11-26 12:51:38 -0500
commit23d10b82440f59f2a685db34d3662d75f4a3784b (patch)
treeaf78910485035ae59a2b707ab81a0c96ad4eb8fc /freedreno/freedreno_ringbuffer.h
parentd15515aea3c3e51336f9ab29691162c69acc9807 (diff)
downloaddrm-23d10b82440f59f2a685db34d3662d75f4a3784b.tar.gz
freedreno: 64bit support
a5xx and later are 64bit devices.. make reloc's handle that. A new public symbol is introduced to avoid silent problems with new mesa and old libdrm (since on 64b reloc consumes two dwords). Signed-off-by: Rob Clark <robclark@freedesktop.org>
Diffstat (limited to 'freedreno/freedreno_ringbuffer.h')
-rw-r--r--freedreno/freedreno_ringbuffer.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/freedreno/freedreno_ringbuffer.h b/freedreno/freedreno_ringbuffer.h
index 108d5a6d..c501fbad 100644
--- a/freedreno/freedreno_ringbuffer.h
+++ b/freedreno/freedreno_ringbuffer.h
@@ -78,9 +78,13 @@ struct fd_reloc {
uint32_t offset;
uint32_t or;
int32_t shift;
+ uint32_t orhi; /* used for a5xx+ */
};
-void fd_ringbuffer_reloc(struct fd_ringbuffer *ring, const struct fd_reloc *reloc);
+/* NOTE: relocs are 2 dwords on a5xx+ */
+
+void fd_ringbuffer_reloc2(struct fd_ringbuffer *ring, const struct fd_reloc *reloc);
+will_be_deprecated void fd_ringbuffer_reloc(struct fd_ringbuffer *ring, const struct fd_reloc *reloc);
will_be_deprecated void fd_ringbuffer_emit_reloc_ring(struct fd_ringbuffer *ring,
struct fd_ringmarker *target, struct fd_ringmarker *end);
uint32_t fd_ringbuffer_cmd_count(struct fd_ringbuffer *ring);