<div class="gmail_quote">On Wed, Apr 27, 2011 at 12:26 AM, Julien Cristau <span dir="ltr">&lt;<a href="mailto:jcristau@debian.org" target="_blank">jcristau@debian.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div><div></div><div>On Sat, Apr 23, 2011 at 10:48:49 +0200, Marek Olšák wrote:<br>
<br>
&gt; On Fri, Apr 22, 2011 at 1:29 PM, Jose Fonseca &lt;<a href="mailto:jfonseca@vmware.com" target="_blank">jfonseca@vmware.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; The Mesa state tracker uses SWTNL for GL selection/feedback regardless of<br>
&gt; &gt; the driver. Some SPECviewperf viewsets and CAD apps use it. So using LLVM<br>
&gt; &gt; speeds up selection/feedback for all gallium drivers.<br>
&gt; &gt;<br>
&gt; &gt; We have only tested LLVM with x86/x86_64. So indeed, using it/requiring it<br>
&gt; &gt; on other platforms is not advisable.<br>
&gt; &gt;<br>
&gt;<br>
&gt; I take the first patch back. Here&#39;s an updated r300g patch that requires<br>
&gt; LLVM on x86 and x86_64 only:<br>
&gt;<br>
&gt;<br>
&gt;     <a href="http://configure.ac" target="_blank">configure.ac</a>: require LLVM to build r300g on x86 and x86_64<br>
&gt;<br>
&gt; diff --git a/<a href="http://configure.ac" target="_blank">configure.ac</a> b/<a href="http://configure.ac" target="_blank">configure.ac</a><br>
&gt; index d8c50ce..1012ca5 100644<br>
&gt; --- a/<a href="http://configure.ac" target="_blank">configure.ac</a><br>
&gt; +++ b/<a href="http://configure.ac" target="_blank">configure.ac</a><br>
&gt; @@ -1780,9 +1780,16 @@ dnl Gallium Radeon r300g configuration<br>
&gt;  dnl<br>
&gt;  AC_ARG_ENABLE([gallium-r300],<br>
&gt;      [AS_HELP_STRING([--enable-gallium-r300],<br>
&gt; -        [build gallium r300 @&lt;:@default=DRI-only@:&gt;@])],<br>
&gt; +        [build gallium r300 @&lt;:@default=build DRI driver only@:&gt;@])],<br>
&gt;      [enable_gallium_r300=&quot;$enableval&quot;],<br>
&gt;      [enable_gallium_r300=auto])<br>
&gt; +if test &quot;x$enable_gallium_r300&quot; != xno; then<br>
&gt; +    if test &quot;x$MESA_LLVM&quot; = x0; then<br>
&gt; +        case &quot;$host_cpu&quot; in<br>
&gt; +        i*86|x86_64) AC_MSG_ERROR([LLVM is required to build Gallium R300<br>
&gt; on x86 and x86_64]);;<br>
&gt; +        esac<br>
&gt; +    fi<br>
&gt; +fi<br>
&gt;  if test &quot;x$enable_gallium_r300&quot; = xauto; then<br>
&gt;      GALLIUM_DRIVERS_DIRS=&quot;$GALLIUM_DRIVERS_DIRS r300&quot;<br>
&gt;      gallium_check_st &quot;radeon/drm&quot; &quot;dri-r300&quot;<br>
&gt;<br>
&gt;<br>
</div></div>AIUI it&#39;s not really required, it&#39;ll just be slow if built without llvm?<br></blockquote><div><br>Slow like almost unusable. Note that I am only talking about SWTCL chipsets and some rarely-used GL features.<br>


<br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
How much of that is specific to r300 as opposed to other gallium<br>
drivers?</blockquote><div><br>None of the LLVM code is driver-specific. I think about a half of all the Gallium drivers use it for some fallbacks. Some Gallium drivers like i915 really suffer without LLVM.<br><br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">


  Shouldn&#39;t this be a warning instead of an error?<br></blockquote><div><br>The thing is if I don&#39;t enforce it for r300g, no one besides Redhat will use it. The TGSI interpreter, which would be used if LLVM was disabled, is maybe useful for debugging and testing, but totally inappropriate for end-users.<br>


<br>Marek<br></div></div>