intel/gmmlib

The update from version 21.3.3 to 21.3.4 contains breaking changes

primeos opened this issue · 4 comments

FYI: I wouldn't expect breaking API changes in a patch release (even if this project doesn't use semver). This apparently makes version 21.3.4 incompatible with https://github.com/intel/media-driver version 21.4.3. Is that really intended?

Last 10 log lines:

[ 70%] Building CXX object media_driver/CMakeFiles/iHD_drv_video_OBJ.dir/linux/common/ddi/media_libva_common.cpp.o
/build/source/media_driver/linux/common/ddi/media_libva.cpp: In function 'VAStatus DdiMedia_InitMediaContext(VADriverContextP, int32_t, int32_t*, int32_t*, bool)':
/build/source/media_driver/linux/common/ddi/media_libva.cpp:1884:32: error: 'OpenGmm' was not declared in this scope
 1884 |         GMM_STATUS gmmStatus = OpenGmm(&mediaCtx->GmmFuncs);
      |                                ^~~~~~~
[ 70%] Building CXX object media_driver/CMakeFiles/iHD_drv_video_OBJ.dir/linux/common/ddi/media_libva_util.cpp.o
make[2]: *** [media_driver/CMakeFiles/iHD_drv_video_OBJ.dir/build.make:8112: media_driver/CMakeFiles/iHD_drv_video_OBJ.dir/linux/common/ddi/media_libva.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:247: media_driver/CMakeFiles/iHD_drv_video_OBJ.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

Note: #92 only mentions upcoming ABI breakages.

Errors with LibreELEC build too.

/var/media/DATA/home-rudi/LibreELEC.kernel11/build.LibreELEC-Generic.x86_64-11.0-devel/build/media-driver-21.4.3/media_driver/linux/common/ddi/media_libva.cpp: In function 'VAStatus DdiMedia_InitMediaContext(VADriverContextP, int32_t, int32_t*, int32_t*, bool)':
/var/media/DATA/home-rudi/LibreELEC.kernel11/build.LibreELEC-Generic.x86_64-11.0-devel/build/media-driver-21.4.3/media_driver/linux/common/ddi/media_libva.cpp:1884:32: error: 'OpenGmm' was not declared in this scope
 1884 |         GMM_STATUS gmmStatus = OpenGmm(&mediaCtx->GmmFuncs);
      |                                ^~~~~~~

Michael Weiss,

This was intended as it is an ABI break(See #92)
. To support gmmlib.21.3.4, media latest release is expected. Since Gmmlib changes always go first, this is expected to fail. This will be soon stable once media releases.
However, If you want to get the things moving temporarily, media patch 42ffd79 will do the job for you.

Thanks,
John

This was intended as it is an ABI break(See #92) . To support gmmlib.21.3.4, media latest release is expected. Since Gmmlib changes always go first, this is expected to fail. This will be soon stable once media releases. However, If you want to get the things moving temporarily, media patch 42ffd79 will do the job for you.

Sure, but IMHO fairly obviously API breaking changes should have changed major, or at even minor release version, not just patch level version. That's against all versioning practices. You should have tests that catch API/ABI changes unless there's large enough version bump.

Agreed. This should be much better now, upstream was kind enough to change their versioning scheme (but it was only announced in the other issue): #92 (comment) :)