etnaviv: Command buffer realloc
[mesa.git] / src / etnaviv / drm / etnaviv_drmif.h
index 5a6bef8d12d1bce40fb462a9227bcea31bd23b0c..ff08ab50dbc97174da39cc56b194d586d848b1e2 100644 (file)
@@ -56,6 +56,7 @@ enum etna_param_id {
        ETNA_GPU_FEATURES_4                = 0x7,
        ETNA_GPU_FEATURES_5                = 0x8,
        ETNA_GPU_FEATURES_6                = 0x9,
+       ETNA_GPU_FEATURES_7                = 0xa,
 
        ETNA_GPU_STREAM_COUNT              = 0x10,
        ETNA_GPU_REGISTER_MAX              = 0x11,
@@ -115,8 +116,6 @@ int etna_pipe_wait_ns(struct etna_pipe *pipe, uint32_t timestamp, uint64_t ns);
 
 struct etna_bo *etna_bo_new(struct etna_device *dev,
                uint32_t size, uint32_t flags);
-struct etna_bo *etna_bo_from_handle(struct etna_device *dev,
-               uint32_t handle, uint32_t size);
 struct etna_bo *etna_bo_from_name(struct etna_device *dev, uint32_t name);
 struct etna_bo *etna_bo_from_dmabuf(struct etna_device *dev, int fd);
 struct etna_bo *etna_bo_ref(struct etna_bo *bo);
@@ -144,10 +143,9 @@ struct etna_cmd_stream *etna_cmd_stream_new(struct etna_pipe *pipe, uint32_t siz
                void *priv);
 void etna_cmd_stream_del(struct etna_cmd_stream *stream);
 uint32_t etna_cmd_stream_timestamp(struct etna_cmd_stream *stream);
-void etna_cmd_stream_flush(struct etna_cmd_stream *stream);
-void etna_cmd_stream_flush2(struct etna_cmd_stream *stream, int in_fence_fd,
+void etna_cmd_stream_flush(struct etna_cmd_stream *stream, int in_fence_fd,
                            int *out_fence_fd);
-void etna_cmd_stream_finish(struct etna_cmd_stream *stream);
+void etna_cmd_stream_force_flush(struct etna_cmd_stream *stream);
 
 static inline uint32_t etna_cmd_stream_avail(struct etna_cmd_stream *stream)
 {
@@ -156,10 +154,12 @@ static inline uint32_t etna_cmd_stream_avail(struct etna_cmd_stream *stream)
        return stream->size - stream->offset - END_CLEARANCE;
 }
 
+void etna_cmd_stream_realloc(struct etna_cmd_stream *stream, size_t n);
+
 static inline void etna_cmd_stream_reserve(struct etna_cmd_stream *stream, size_t n)
 {
        if (etna_cmd_stream_avail(stream) < n)
-               etna_cmd_stream_flush(stream);
+               etna_cmd_stream_realloc(stream, n);
 }
 
 static inline void etna_cmd_stream_emit(struct etna_cmd_stream *stream, uint32_t data)