freedreno: Enable GL_EXT_memory_object and GL_EXT_memory_object_fd
[mesa.git] / src / freedreno / drm / freedreno_drmif.h
index e181da302b3d1a10e3654811018f136cb8bc4794..15038475e7427afc7e8dd088d46921e0f35b2cdf 100644 (file)
@@ -47,6 +47,7 @@ enum fd_pipe_id {
 enum fd_param_id {
        FD_DEVICE_ID,
        FD_GMEM_SIZE,
+       FD_GMEM_BASE,
        FD_GPU_ID,
        FD_CHIP_ID,
        FD_MAX_FREQ,
@@ -88,10 +89,12 @@ enum fd_version {
        FD_VERSION_MADVISE = 1,            /* kernel supports madvise */
        FD_VERSION_UNLIMITED_CMDS = 1,     /* submits w/ >4 cmd buffers (growable ringbuffer) */
        FD_VERSION_FENCE_FD = 2,           /* submit command supports in/out fences */
+       FD_VERSION_GMEM_BASE = 3,          /* supports querying GMEM base address */
        FD_VERSION_SUBMIT_QUEUES = 3,      /* submit queues and multiple priority levels */
        FD_VERSION_BO_IOVA = 3,            /* supports fd_bo_get/put_iova() */
        FD_VERSION_SOFTPIN = 4,            /* adds softpin, bo name, and dump flag */
        FD_VERSION_ROBUSTNESS = 5,         /* adds FD_NR_FAULTS and FD_PP_PGTABLE */
+       FD_VERSION_MEMORY_FD = 2,          /* supports shared memory objects */
 };
 enum fd_version fd_device_version(struct fd_device *dev);
 
@@ -155,8 +158,8 @@ struct fd_bo *fd_bo_from_handle(struct fd_device *dev,
                uint32_t handle, uint32_t size);
 struct fd_bo * fd_bo_from_name(struct fd_device *dev, uint32_t name);
 struct fd_bo * fd_bo_from_dmabuf(struct fd_device *dev, int fd);
+void fd_bo_mark_for_dump(struct fd_bo *bo);
 uint64_t fd_bo_get_iova(struct fd_bo *bo);
-void fd_bo_put_iova(struct fd_bo *bo);
 struct fd_bo * fd_bo_ref(struct fd_bo *bo);
 void fd_bo_del(struct fd_bo *bo);
 int fd_bo_get_name(struct fd_bo *bo, uint32_t *name);