diff options
Diffstat (limited to 'recipes-graphics')
-rw-r--r-- | recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch | 45 | ||||
-rw-r--r-- | recipes-graphics/mesa/mesa_%.bbappend | 4 |
2 files changed, 49 insertions, 0 deletions
diff --git a/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch b/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch new file mode 100644 index 0000000..3ff469d --- /dev/null +++ b/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch @@ -0,0 +1,45 @@ +mesa: querying dma_buf_modifiers for specific formats + +mesa wl_drm protocol is the backend for wayland server side which requires +the dmabuf modifiers for some DRM formats on specific devices like RPI. +Currently there is no support of giving any dmabuf modifiers on wl_drm protocol. +This dma_buf modifiers allows EGL implementations to add extra attributes +to drm_fourcc format. + +Upstream-Status: Pending + +Signed-off-by: Balaji Velmurugan <balaji.velmurugan@ltts.com> + +diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c +index 6ce6f19..2f9d47d 100644 +--- a/src/gallium/state_trackers/dri/dri2.c ++++ b/src/gallium/state_trackers/dri/dri2.c +@@ -1368,14 +1368,28 @@ dri2_from_planar(__DRIimage *image, int plane, void *loaderPrivate) + return img; + } + ++static boolean ++dri2_query_dma_buf_modifiers(__DRIscreen *_screen, int fourcc, int max, ++ uint64_t *modifiers, unsigned int *external_only, ++ int *count); + static __DRIimage * + dri2_from_fds(__DRIscreen *screen, int width, int height, int fourcc, + int *fds, int num_fds, int *strides, int *offsets, + void *loaderPrivate) + { ++ uint64_t modifier= DRM_FORMAT_MOD_INVALID; ++ unsigned int external_only= 0; ++ int count= 0; ++ boolean result; ++ result= dri2_query_dma_buf_modifiers( screen, fourcc, 1, &modifier, &external_only, &count); ++ return dri2_create_image_from_fd(screen, width, height, fourcc, ++ modifier, fds, num_fds, ++ strides, offsets, NULL, loaderPrivate); ++ #if 0 + return dri2_create_image_from_fd(screen, width, height, fourcc, + DRM_FORMAT_MOD_INVALID, fds, num_fds, + strides, offsets, NULL, loaderPrivate); ++ #endif + } + + static boolean diff --git a/recipes-graphics/mesa/mesa_%.bbappend b/recipes-graphics/mesa/mesa_%.bbappend index eaa46f2..d3435e7 100644 --- a/recipes-graphics/mesa/mesa_%.bbappend +++ b/recipes-graphics/mesa/mesa_%.bbappend @@ -1,6 +1,10 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" # DRI3 note: # With oe-core commit 8509e2e1a87578882b71948ccef3b50ccf1228b3 dri3 is set # as default. To state out clearly that Raspi needs dri3 and to avoid surprises # in case oe-core changes this default, we set dri3 explicitly. + +SRC_URI_append_rpi = " file://0001-dri2-query-dma-buf-modifiers.patch " + PACKAGECONFIG_append_rpi = " gallium vc4 v3d kmsro ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)}" DRIDRIVERS_class-target_rpi = "" |