[gnome-continuous-yocto/gnomeostree-3.28-rocko: 6025/8267] piglit: add patch for lack of gbm_bo_map



commit 58ca310b625a55dc56980112e51535f29addabb5
Author: Daniel Díaz <daniel diaz linaro org>
Date:   Thu May 18 13:22:36 2017 -0500

    piglit: add patch for lack of gbm_bo_map
    
    [Piglit Bug #100978] -- https://bugs.freedesktop.org/show_bug.cgi?id=100978
    
    When linking against Mali 450 r6, errors like the following
    can be seen:
      ../../../../lib/libpiglitutil_gl.so.0: undefined reference to `gbm_bo_unmap'
      ../../../../lib/libpiglitutil_gl.so.0: undefined reference to `gbm_bo_map'
      collect2: error: ld returned 1 exit status
      make[2]: *** [bin/point-sprite] Error 1
    
    This is due to gbm_bo_map() and gbm_bo_unmap() being recently
    added but not yet implemented by all graphics drivers.
    
    Instead of relying on GBM's version, actually try to link
    against those symbols.
    
    Upstream-Status: Submitted [piglit lists freedesktop org]
    
    (From OE-Core rev: 2e0c8a510ee60d4ca97e58184c48995cd88a823f)
    
    Signed-off-by: Daniel Díaz <daniel diaz linaro org>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 ...fine-GBM_BO_MAP-only-when-symbol-is-found.patch |   48 ++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)
---
diff --git a/meta/recipes-graphics/piglit/piglit/0001-CMake-define-GBM_BO_MAP-only-when-symbol-is-found.patch 
b/meta/recipes-graphics/piglit/piglit/0001-CMake-define-GBM_BO_MAP-only-when-symbol-is-found.patch
new file mode 100644
index 0000000..0750676
--- /dev/null
+++ b/meta/recipes-graphics/piglit/piglit/0001-CMake-define-GBM_BO_MAP-only-when-symbol-is-found.patch
@@ -0,0 +1,48 @@
+From 6b6acee8841d092e5066b1bec2ba1c49cce4f91f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel diaz linaro org>
+Date: Thu, 4 May 2017 00:57:39 -0500
+Subject: [PATCH 1/4] CMake: define GBM_BO_MAP only when symbol is found
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+gbm_bo_map() and _unmap() have been added recently to Mesa,
+and this update may not have reached all implementations of
+GBM, such as the one provided by Mali r6, where said
+definitions can be found in the header file but not in the
+library itself. This leads to errors like the following when
+linking:
+  ../../../../lib/libpiglitutil_gl.so.0: undefined reference to `gbm_bo_unmap'
+  ../../../../lib/libpiglitutil_gl.so.0: undefined reference to `gbm_bo_map'
+  collect2: error: ld returned 1 exit status
+  make[2]: *** [bin/point-sprite] Error 1
+
+Instead of relying on the header file, actually try to link
+using that symbol to determine if PIGLIT_HAS_GBM_BO_MAP
+should be defined.
+
+Signed-off-by: Daniel Díaz <daniel diaz linaro org>
+Reviewed-by: Jan Vesely <jan vesely rutgers edu>
+---
+ CMakeLists.txt | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a4ff99e..cc26fa8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -141,8 +141,9 @@ IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+       if(GBM_FOUND)
+               set(PIGLIT_HAS_GBM True)
+               add_definitions(-DPIGLIT_HAS_GBM)
+-              if (GBM_VERSION VERSION_EQUAL "12.1" OR GBM_VERSION VERSION_GREATER "12.1")
+-                      set(PIGLIT_HAS_GBM_BO_MAP True)
++              set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${GBM_LIBRARIES})
++              CHECK_FUNCTION_EXISTS(gbm_bo_map PIGLIT_HAS_GBM_BO_MAP)
++              if (PIGLIT_HAS_GBM_BO_MAP)
+                       add_definitions(-DPIGLIT_HAS_GBM_BO_MAP)
+               endif()
+       endif(GBM_FOUND)
+-- 
+1.9.1
+


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]