[waffle] [PATCH 02/29] gbm: don't fetch gbm_bo_* symbols from libgbm

Frank Henigman fjhenigman at google.com
Wed Jan 6 14:19:12 PST 2016


On Wed, Jan 6, 2016 at 4:27 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> Neither one of these is (or has been) used. Remove them for now and
> introduce back when needed.
>
> Presently this causes run-time issues whenever someone attempts to use an
> old version of libgbm (mesa circa 9.2) as the gbm_bo_get_fd symbol is
> missing.
>
> Due to the multiple gbm provides and their inconsistent versioning
> (xxx: check ?) we cannot reliably add a limitation during the configure
> stage.
>
> This commit reverts a hunk of commit 14e3356a01d(gbm: make platform
> friendlier to derived classes). The latter of which could have kept
> these as a separate patch :)
>
> Cc: Frank Henigman <fjhenigman at google.com>
> Cc: Chad Versace <chad.versace at intel.com>
> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
> ---
>  src/waffle/gbm/wgbm_platform.h | 11 +----------
>  1 file changed, 1 insertion(+), 10 deletions(-)
>
> diff --git a/src/waffle/gbm/wgbm_platform.h b/src/waffle/gbm/wgbm_platform.h
> index 1a08183..edcbe95 100644
> --- a/src/waffle/gbm/wgbm_platform.h
> +++ b/src/waffle/gbm/wgbm_platform.h
> @@ -41,16 +41,7 @@
>      f(struct gbm_surface *, gbm_surface_create           , (struct gbm_device *gbm, uint32_t width, uint32_t height, uint32_t format, uint32_t flags)) \
>      f(void                , gbm_surface_destroy          , (struct gbm_surface *surface)) \
>      f(struct gbm_bo *     , gbm_surface_lock_front_buffer, (struct gbm_surface *surface)) \
> -    f(void                , gbm_surface_release_buffer   , (struct gbm_surface *surface, struct gbm_bo *bo)) \
> -    f(struct gbm_bo *     , gbm_bo_create                , (struct gbm_device *gbm, uint32_t width, uint32_t height, uint32_t format, uint32_t flags)) \
> -    f(void                , gbm_bo_destroy               , (struct gbm_bo *bo)) \
> -    f(int                 , gbm_bo_get_fd                , (struct gbm_bo *bo)) \
> -    f(uint32_t            , gbm_bo_get_width             , (struct gbm_bo *bo)) \
> -    f(uint32_t            , gbm_bo_get_height            , (struct gbm_bo *bo)) \
> -    f(uint32_t            , gbm_bo_get_stride            , (struct gbm_bo *bo)) \
> -    f(uint32_t            , gbm_bo_get_format            , (struct gbm_bo *bo)) \
> -    f(union gbm_bo_handle , gbm_bo_get_handle            , (struct gbm_bo *bo)) \
> -    f(struct gbm_device * , gbm_bo_get_device            , (struct gbm_bo *bo))

My surfaceless branch uses these.  The branch I've been thinking I'll
send to the list "soon" for ages.
I'll add in a check for gbm_bo_get_fd and disable surfaceless if not
found (though I'm sure it wouldn't work anyway on ancient mesa).
In the mean time if you have to remove this stuff go ahead, or maybe
just remove gbm_bo_get_fd. Then I won't have to add the others back
in.


More information about the waffle mailing list