cmake: Require gbm 13.0.

Submitted by Vinson Lee on June 9, 2017, 11:22 p.m.

Details

Message ID 1497050546-27397-1-git-send-email-vlee@freedesktop.org
State New
Headers show
Series "cmake: Require gbm 13.0." ( rev: 1 ) in Piglit

Not browsing as part of any series.

Commit Message

Vinson Lee June 9, 2017, 11:22 p.m.
mesa 13.0 is needed for GBM_FORMAT_R8 symbol.

target_api/gl/tests/util/CMakeFiles/piglitutil_gl.dir/piglit-framework-gl/piglit_drm_dma_buf.c.o
piglit/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c: In function ‘piglit_gbm_buf_create’:
piglit/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c:265:12: error: ‘GBM_FORMAT_R8’ undeclared (first use in this function)
   format = GBM_FORMAT_R8;
            ^~~~~~~~~~~~~
piglit/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c:265:12: note: each undeclared identifier is reported only once for each function it appears in
piglit/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c:271:12: error: ‘GBM_FORMAT_GR88’ undeclared (first use in this function)
   format = GBM_FORMAT_GR88;
            ^~~~~~~~~~~~~~~

Fixes: 2217871ac937 ("CMake: define GBM_BO_MAP only when symbol is found")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101358
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
---
 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/CMakeLists.txt b/CMakeLists.txt
index cc26fa8bef85..cf2851c779a5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -137,7 +137,7 @@  IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
 		add_definitions(-DPIGLIT_HAS_GLX)
 	endif()
 
-	pkg_check_modules(GBM QUIET gbm)
+	pkg_check_modules(GBM QUIET gbm>=13.0)
 	if(GBM_FOUND)
 		set(PIGLIT_HAS_GBM True)
 		add_definitions(-DPIGLIT_HAS_GBM)

Comments

This doesn't seem right to me.. Since ARM has a different implementation of
GBM that doesn't follow mesa's version numbering this will potentially break
for them, putting us back where we were before.

We need to do one of the following:
1) Not support any GBM but mesa GBM (or assert that GBM is mesa, and outside
implementors need to provide a pkgconfig sets the version equal to the mesa
version for the features they implement), which seems wrong.

or

2) We need to check that GBM_FORMAT_GR8 and GBM_FORMAT_GR88 are available like
we did with GBM_BO_MAP.

Dylan

Quoting Vinson Lee (2017-06-09 16:22:26)
> mesa 13.0 is needed for GBM_FORMAT_R8 symbol.
> 
> target_api/gl/tests/util/CMakeFiles/piglitutil_gl.dir/piglit-framework-gl/piglit_drm_dma_buf.c.o
> piglit/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c: In function ‘piglit_gbm_buf_create’:
> piglit/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c:265:12: error: ‘GBM_FORMAT_R8’ undeclared (first use in this function)
>    format = GBM_FORMAT_R8;
>             ^~~~~~~~~~~~~
> piglit/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c:265:12: note: each undeclared identifier is reported only once for each function it appears in
> piglit/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c:271:12: error: ‘GBM_FORMAT_GR88’ undeclared (first use in this function)
>    format = GBM_FORMAT_GR88;
>             ^~~~~~~~~~~~~~~
> 
> Fixes: 2217871ac937 ("CMake: define GBM_BO_MAP only when symbol is found")
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101358
> Signed-off-by: Vinson Lee <vlee@freedesktop.org>
> ---
>  CMakeLists.txt | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index cc26fa8bef85..cf2851c779a5 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -137,7 +137,7 @@ IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
>                 add_definitions(-DPIGLIT_HAS_GLX)
>         endif()
>  
> -       pkg_check_modules(GBM QUIET gbm)
> +       pkg_check_modules(GBM QUIET gbm>=13.0)
>         if(GBM_FOUND)
>                 set(PIGLIT_HAS_GBM True)
>                 add_definitions(-DPIGLIT_HAS_GBM)
> -- 
> 2.9.3
>