diff options
author | Rob Clark <robclark@freedesktop.org> | 2018-10-08 15:33:02 -0400 |
---|---|---|
committer | Rob Clark <robclark@freedesktop.org> | 2018-10-13 17:21:53 -0400 |
commit | 33faf339c3de8e70dcef5240f9e88e1e2bde3713 (patch) | |
tree | 72d2761f8eca405a7b90ee4a0b9f47472914a401 /freedreno/freedreno_ringbuffer.h | |
parent | bf001648a92c8f5e10d95322f486a346febd2c09 (diff) | |
download | drm-33faf339c3de8e70dcef5240f9e88e1e2bde3713.tar.gz |
freedreno/msm: support suballocation for stateobj rb's
Signed-off-by: Rob Clark <robclark@freedesktop.org>
Diffstat (limited to 'freedreno/freedreno_ringbuffer.h')
-rw-r--r-- | freedreno/freedreno_ringbuffer.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/freedreno/freedreno_ringbuffer.h b/freedreno/freedreno_ringbuffer.h index c5aebaf2..ad615e8f 100644 --- a/freedreno/freedreno_ringbuffer.h +++ b/freedreno/freedreno_ringbuffer.h @@ -46,6 +46,20 @@ enum fd_ringbuffer_flags { * to a parent ringbuffer. */ FD_RINGBUFFER_OBJECT = 0x1, + + /* Hint that the stateobj will be used for streaming state + * that is used once or a few times and then discarded. + * + * For sub-allocation, non streaming stateobj's should be + * sub-allocated from a page size buffer, so one long lived + * state obj doesn't prevent other pages from being freed. + * (Ie. it would be no worse than allocating a page sized + * bo for each small non-streaming stateobj). + * + * But streaming stateobj's could be sub-allocated from a + * larger buffer to reduce the alloc/del overhead. + */ + FD_RINGBUFFER_STREAMING = 0x2, }; struct fd_ringbuffer { |