Title: [170040] trunk/Tools
Revision
170040
Author
[email protected]
Date
2014-06-16 19:26:36 -0700 (Mon, 16 Jun 2014)

Log Message

[GTK] Add llvmpipe (Mesa) to the JHBuild moduleset and force it when running layout tests
https://bugs.webkit.org/show_bug.cgi?id=131472

Reviewed by Martin Robinson.

This patch reapplies r167510 with fixes to add llvm as a dependency for llvmpipe.

* Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver._start): Use the LLVMPIPE_LIBGL_PATH to set the LD_LIBRARY_PATH
when running WebKitTestRunner with the Xvfb driver.
* gtk/install-dependencies: Add LLVM as a dependency to build llvmpipe.
* gtk/jhbuild.modules: Add Mesa to the modulelist so that the llvmpipe libGL is build, but not
installed.
* gtk/jhbuildrc: Set the LLVMPIPE_LIBGL_PATH environment variable so that the test driver knows
how to properly set the LD_LIBRARY_PATH variable. We do this because it is much easier to
calculate the path in the jhbuildrc than in the test driver code. This simplifies things a great
deal.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (170039 => 170040)


--- trunk/Tools/ChangeLog	2014-06-17 02:17:56 UTC (rev 170039)
+++ trunk/Tools/ChangeLog	2014-06-17 02:26:36 UTC (rev 170040)
@@ -1,3 +1,23 @@
+2014-06-16  Gwang Yoon Hwang  <[email protected]>
+
+        [GTK] Add llvmpipe (Mesa) to the JHBuild moduleset and force it when running layout tests
+        https://bugs.webkit.org/show_bug.cgi?id=131472
+
+        Reviewed by Martin Robinson.
+
+        This patch reapplies r167510 with fixes to add llvm as a dependency for llvmpipe.
+
+        * Scripts/webkitpy/port/xvfbdriver.py:
+        (XvfbDriver._start): Use the LLVMPIPE_LIBGL_PATH to set the LD_LIBRARY_PATH
+        when running WebKitTestRunner with the Xvfb driver.
+        * gtk/install-dependencies: Add LLVM as a dependency to build llvmpipe.
+        * gtk/jhbuild.modules: Add Mesa to the modulelist so that the llvmpipe libGL is build, but not
+        installed.
+        * gtk/jhbuildrc: Set the LLVMPIPE_LIBGL_PATH environment variable so that the test driver knows
+        how to properly set the LD_LIBRARY_PATH variable. We do this because it is much easier to
+        calculate the path in the jhbuildrc than in the test driver code. This simplifies things a great
+        deal.
+
 2014-06-16  Tanay C  <[email protected]>
 
         Remove deprecated API warnings in WebKit/Tools/MiniBrowser/efl/main.c

Modified: trunk/Tools/Scripts/webkitpy/port/xvfbdriver.py (170039 => 170040)


--- trunk/Tools/Scripts/webkitpy/port/xvfbdriver.py	2014-06-17 02:17:56 UTC (rev 170039)
+++ trunk/Tools/Scripts/webkitpy/port/xvfbdriver.py	2014-06-17 02:26:36 UTC (rev 170040)
@@ -77,6 +77,13 @@
         display_id = self._next_free_display()
         self._lock_file = "/tmp/.X%d-lock" % display_id
 
+        server_name = self._port.driver_name()
+        environment = self._port.setup_environ_for_server(server_name)
+
+        llvmpipe_libgl_path = os.environ.get('LLVMPIPE_LIBGL_PATH')
+        if llvmpipe_libgl_path:
+            environment['LD_LIBRARY_PATH'] = '%s:%s' % (llvmpipe_libgl_path, os.environ.get('LD_LIBRARY_PATH', ''))
+
         run_xvfb = ["Xvfb", ":%d" % display_id, "-screen",  "0", "800x600x%s" % self._xvfb_screen_depth(), "-nolisten", "tcp"]
         with open(os.devnull, 'w') as devnull:
             self._xvfb_process = self._port.host.executive.popen(run_xvfb, stderr=devnull)
@@ -85,8 +92,6 @@
         # worker because the Xvfb display isn't ready yet. Halting execution a bit should avoid that.
         time.sleep(self._startup_delay_secs)
 
-        server_name = self._port.driver_name()
-        environment = self._port.setup_environ_for_server(server_name)
         # We must do this here because the DISPLAY number depends on _worker_number
         environment['DISPLAY'] = ":%d" % display_id
         self._driver_tempdir = self._port.host.filesystem.mkdtemp(prefix='%s-' % self._port.driver_name())

Modified: trunk/Tools/gtk/install-dependencies (170039 => 170040)


--- trunk/Tools/gtk/install-dependencies	2014-06-17 02:17:56 UTC (rev 170039)
+++ trunk/Tools/gtk/install-dependencies	2014-06-17 02:26:36 UTC (rev 170040)
@@ -109,6 +109,7 @@
         libtiff5-dev \
         libxfont-dev \
         libxkbfile-dev \
+        llvm \
         python-dev \
         ragel \
         x11proto-bigreqs-dev \
@@ -206,6 +207,7 @@
         libpciaccess-devel \
         libtiff-devel \
         libxkbfile-devel \
+        llvm \
         mesa-libEGL-devel \
         ragel \
         xorg-x11-font-utils \

Modified: trunk/Tools/gtk/jhbuild.modules (170039 => 170040)


--- trunk/Tools/gtk/jhbuild.modules	2014-06-17 02:17:56 UTC (rev 170039)
+++ trunk/Tools/gtk/jhbuild.modules	2014-06-17 02:26:36 UTC (rev 170040)
@@ -29,6 +29,7 @@
       <dep package="gst-plugins-bad"/>
       <dep package="gst-libav"/>
       <dep package="xserver"/>
+      <dep package="mesa"/>
     </dependencies>
   </metamodule>
 
@@ -48,6 +49,8 @@
       href=""
   <repository type="tarball" name="xorg"
       href=""
+  <repository type="tarball" name="ftp.freedesktop.org"
+      href=""
   <repository type="tarball" name="xmlsoft.org"
       href=""
   <repository type="tarball" name="gstreamer"
@@ -331,4 +334,11 @@
             hash="sha256:3e6ecf134dbf92a74c24d79848fea3a48e59ab95408a38c6405905d95a293011"/>
   </autotools>
 
+  <autotools id="mesa" autogenargs="--enable-xlib-glx --disable-dri --with-gallium-drivers=swrast" skip-install="true">
+    <branch module="/pub/mesa/10.2.1/MesaLib-10.2.1.tar.bz2" version="10.2.1"
+            checkoutdir="Mesa-10.2.1"
+            repo="ftp.freedesktop.org"
+            hash="sha256:461277909207da689d8152cfbf9e182ea6f70e1e672ab64c67df83725c8d2b54"/>
+  </autotools>
+
 </moduleset>

Modified: trunk/Tools/gtk/jhbuildrc (170039 => 170040)


--- trunk/Tools/gtk/jhbuildrc	2014-06-17 02:17:56 UTC (rev 170039)
+++ trunk/Tools/gtk/jhbuildrc	2014-06-17 02:26:36 UTC (rev 170040)
@@ -31,3 +31,8 @@
 # We always enable introspection so that we can sniff out problems with our
 # annotations sooner rather than later.
 autogenargs='--enable-introspection'
+
+if use_lib64:
+    os.environ['LLVMPIPE_LIBGL_PATH'] = os.path.abspath(os.path.join(checkoutroot, 'Mesa-10.2.1', 'lib64'))
+else:
+    os.environ['LLVMPIPE_LIBGL_PATH'] = os.path.abspath(os.path.join(checkoutroot, 'Mesa-10.2.1', 'lib'))
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to