[Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

Michel Dänzer michel at daenzer.net
Wed Aug 20 02:41:08 PDT 2014


On 20.08.2014 00:04, Connor Abbott wrote:
> On Mon, Aug 18, 2014 at 8:52 PM, Michel Dänzer <michel at daenzer.net> wrote:
>> On 19.08.2014 01:28, Connor Abbott wrote:
>>> On Mon, Aug 18, 2014 at 4:32 AM, Michel Dänzer <michel at daenzer.net> wrote:
>>>> On 16.08.2014 09:12, Connor Abbott wrote:
>>>>> I know what you might be thinking right now. "Wait, *another* IR? Don't
>>>>> we already have like 5 of those, not counting all the driver-specific
>>>>> ones? Isn't this stuff complicated enough already?" Well, there are some
>>>>> pretty good reasons to start afresh (again...). In the years we've been
>>>>> using GLSL IR, we've come to realize that, in fact, it's not what we
>>>>> want *at all* to do optimizations on.
>>>>
>>>> Did you evaluate using LLVM IR instead of inventing yet another one?
>>>
>>> Yes. See
>>>
>>> http://lists.freedesktop.org/archives/mesa-dev/2014-February/053502.html
>>>
>>> and
>>>
>>> http://lists.freedesktop.org/archives/mesa-dev/2014-February/053522.html
>>
>> I know Ian can't deal with LLVM for some reason. I was wondering if
>> *you* evaluated it, and if so, why you rejected it.

First of all, thank you for sharing more specific information than
'table-flipping rage'.


> * LLVM is on a different release schedule (6 months vs. 3 months), has
> a different review process, etc., which means that to add support for
> new functionality that involves shaders, we now have to submit patches
> to two separate projects, and then 2 months later when we ship Mesa it
> turns out that nobody can actually use the new feature because it
> depends upon an unreleased version of LLVM that won't be released for
> another 3 months and then packaged by distros even later...

This has indeed been frustrating at times, but it's better now for
backend changes since Tom has been making LLVM point releases.

As for the GLSL frontend, I agree with Tom that it shouldn't require
that much direct interaction with the LLVM project.


> we've already had problems where distros refused to ship newer Mesa
> releases because radeon depended on a version of LLVM newer than the
> one they were shipping, [...]

That's news to me, can you be more specific?

That sounds like basically a distro issue though, since different LLVM
versions can be installed in parallel (and the one used by default
doesn't have to be the newest one). And it even works if another part of
the same process uses a different version of LLVM.


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer


More information about the mesa-dev mailing list