[Mesa-dev] [PATCH] Android: fix r300g only build

Ilia Mirkin imirkin at alum.mit.edu
Thu Apr 27 17:27:22 UTC 2017


On Thu, Apr 27, 2017 at 12:31 PM, Rob Herring <robh at kernel.org> wrote:
> On Thu, Apr 27, 2017 at 11:18 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>> On Thu, Apr 27, 2017 at 11:36 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>>> On 27 April 2017 at 16:11, Rob Herring <robh at kernel.org> wrote:
>>>
>>>>
>>>> BTW, mesa lists this as the LLVM version requirements:
>>>>
>>>> LLVM_REQUIRED_GALLIUM=3.3.0
>>> src/gallium/auxiliary/{draw,gallivm}, used by
>>>  - nouveau (nv30), i915, r300, softpipe (yes) and svga  - optional
>>>  - llvmpipe, swr, radeonsi - mandatory
>>
>> Technically, it's optionally used by everything as it's used for
>> GL_FEEDBACK implementation by st/mesa. But the drivers you point at do
>> use it for more than just that. However for none of the "optional"
>> ones is llvm required (perhaps that's your point) - draw can operate
>> without llvm as well.
>
> Is there an advantage to using LLVM over not? Android-x86 only enables
> LLVM for radeonsi and llvmpipe, though when enabled it is globally
> enabled (which perhaps could have some side effects on other drivers).

If you do a single build [with autoconf], LLVM is either on or off,
for all drivers built in that build. Enabling LLVM has the advantage
that ... LLVM gets used in those situations where the draw module is
invoked, i.e. you get JIT'd vertex processing programs instead of the
much slower interpreted approach.

For nv30, "draw" gets used as a fallback path semi-frequently (i.e. an
appreciable fraction of the time). For nv50/nvc0, it's really just
GL_SELECT/GL_FEEDBACK usage by st/mesa -- this is a long-deprecated GL
feature that is AFAIK not accessible from ES (and AFAIK there's no
desktop GL on Android), so I wouldn't worry about it.
http://docs.gl/gl3/glRenderMode -- poor man's transform feedback.

Cheers,

  -ilia


More information about the mesa-dev mailing list