diff options
author | Eric Engestrom <eric@igalia.com> | 2022-11-02 18:11:26 +0000 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2022-11-08 21:23:27 +0000 |
commit | 83b1cb936e757194010d77322fe60a999ed02605 (patch) | |
tree | a746f6f13478415fec93ec832dfa7383a4e0daef | |
parent | 2c5b1d0e3b111708f0a660b687fbc0231b4d19f3 (diff) |
vc4: add DRM_VC4_CREATE_SHADER_BO support to drm-shim
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19305>
-rw-r--r-- | src/broadcom/drm-shim/vc4_noop.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/broadcom/drm-shim/vc4_noop.c b/src/broadcom/drm-shim/vc4_noop.c index 3f85158e6df..b9c83db8313 100644 --- a/src/broadcom/drm-shim/vc4_noop.c +++ b/src/broadcom/drm-shim/vc4_noop.c @@ -51,6 +51,20 @@ vc4_ioctl_create_bo(int fd, unsigned long request, void *arg) } static int +vc4_ioctl_create_shader_bo(int fd, unsigned long request, void *arg) +{ + struct shim_fd *shim_fd = drm_shim_fd_lookup(fd); + struct drm_vc4_create_shader_bo *create = arg; + struct shim_bo *bo = calloc(1, sizeof(*bo)); + + drm_shim_bo_init(bo, create->size); + create->handle = drm_shim_bo_get_handle(shim_fd, bo); + drm_shim_bo_put(bo); + + return 0; +} + +static int vc4_ioctl_mmap_bo(int fd, unsigned long request, void *arg) { struct shim_fd *shim_fd = drm_shim_fd_lookup(fd); @@ -101,6 +115,7 @@ vc4_ioctl_get_param(int fd, unsigned long request, void *arg) static ioctl_fn_t driver_ioctls[] = { [DRM_VC4_CREATE_BO] = vc4_ioctl_create_bo, + [DRM_VC4_CREATE_SHADER_BO] = vc4_ioctl_create_shader_bo, [DRM_VC4_MMAP_BO] = vc4_ioctl_mmap_bo, [DRM_VC4_GET_PARAM] = vc4_ioctl_get_param, [DRM_VC4_GET_TILING] = vc4_ioctl_noop, |