Re: [RFC][oe-core][PATCH] mesa: add support for rusticl

Markus Volk
2024-09-13T12:57:40Z

[-- Attachment #1: Type: text/plain, Size: 4740 bytes --]

Hi,
thanks for the feedback. Yes, I accidentally added the patch I made for
mesa 24.2.1. Currently I have it like this, which should also work:

diff --git a/src/gallium/frontends/rusticl/meson.build
b/src/gallium/frontends/rusticl/meson.build
index 84df0a9edb9..20459f73993 100644
--- a/src/gallium/frontends/rusticl/meson.build
+++ b/src/gallium/frontends/rusticl/meson.build
@@ -122,6 +122,7 @@ endif

rusticl_bindgen_c_args = [
'-fno-builtin-malloc',
+ '-I@include@', '-I@include_cpp@', '-I@include_cpp_target_sys@',
]

cl_c_args = [
--

One assumption on the shader issue. intel_clc is currently added only
for x86-64. If you are building for another platform intel_clc is not
installed for mesa-native, but required for 'iris'.

Changing this line:
GALLIUMDRIVERS:append ="${@bb.utils.contains_any('PACKAGECONFIG',
'opencl-rusticl opencl-clover', ',iris', '', d)}"
to:
GALLIUMDRIVERS:append:x86-64
="${@bb.utils.contains_any('PACKAGECONFIG', 'opencl-rusticl
opencl-clover', ',iris', '', d)}"

might remove the need to disable raytracing in EXTRA_OEMESON

Alternatively also removing x86-64 from these lines:
EXTRA_OEMESON:append:class-target:x86-64 = "
${@bb.utils.contains_any('PACKAGECONFIG', 'opencl-rusticl
opencl-clover', '-Dintel-clc=system', '', d)}"
EXTRA_OEMESON:append:class-native:x86-64 = "
${@bb.utils.contains_any('PACKAGECONFIG', 'opencl-rusticl
opencl-clover', '-Dintel-clc=enabled -Dinstall-intel-clc=true
-Dgallium-rusticl=false', '', d)}"

might help, but I'm unsure if intel_clc would be of any use apart from
x86-64

On Fri, Sep 13 2024 at 12:43:46 PM +02:00:00, Böszörményi Zoltán
<zboszor@gmail.com> wrote:
> 2024. 09. 13. 12:40 keltezéssel, Zoltan Boszormenyi via
> lists.openembedded.org írta:
>> 2024. 09. 09. 11:45 keltezéssel, Markus Volk via
>> lists.openembedded.org írta:
>>> On Mon, Sep 9 2024 at 10:46:59 AM +02:00:00, Alexander Kanavin
>>> <alex.kanavin@gmail.com <mailto:alex.kanavin@gmail.com>> \x7f\x7fwrote:
>>>> This does need to be properly looked into, there's probably a
>>>> better patch possible, \x7f\x7f\x7for a build setting we're missing, or at
>>>> least an upstream ticket to be filed. It's not \x7f\x7f\x7fa good patch
>>>> when it says 'workaround' and doesn't explain the issue and the
>>>> fix.
>>>
>>> Fully agree. This is ugly as hell. Just a quick and dirty hack to
>>> get things working \x7f\x7f(which is always a good starting point) but by
>>> no means a solution for oe-core. Thats \x7f\x7fwhy I marked it RFC
>>
>> Don't call it a "workaround" then.
>> Call it "pass in recipe-sysroot include directories" because
>> that's what this patch does combined with the mesa.inc changes.
>
> The underlying problem seems to be that bindgen does not
> seem to pick up CFLAGS or CPPFLAGS automatically, so it needs
> the extra -I options passed in under Yocto to look for headers
> in the correct places.
>
>>
>> Though it's not complete in my testing.
>> I needed this patch against 24.2.2 so I could build Mesa Rusticl,
>> plus EXTRA_OEMESON += "-Dintel-rt=disabled" in my bbappend
>> because the iris driver failed to build otherwise, complaining for
>> every generated file from *.cl about "shader not available, consider
>> installing libclc" or something like that, eventually failing the
>> build.
>>
>> diff --git a/src/gallium/frontends/rusticl/meson.build
>> \x7fb/src/gallium/frontends/rusticl/meson.build
>> index eef09d8f01e..efac4cab964 100644
>> --- a/src/gallium/frontends/rusticl/meson.build
>> +++ b/src/gallium/frontends/rusticl/meson.build
>> @@ -146,6 +146,7 @@ rusticl_opencl_bindings_rs = rust.bindgen(
>> rusticl_bindgen_c_args,
>> pre_args,
>> cl_c_args,
>> + '-I@include@', '-I@include_cpp@', '-I@include_cpp_target_sys@'
>> ],
>> args : [
>> rusticl_bindgen_args,
>> @@ -190,6 +191,7 @@ rusticl_llvm_bindings_rs = rust.bindgen(
>> c_args : [
>> rusticl_bindgen_c_args,
>> pre_args,
>> + '-I@include@', '-I@include_cpp@', '-I@include_cpp_target_sys@'
>> ],
>> dependencies : [
>> dep_clang,
>>
>>
>>>
>>>
>>>
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#204478):
>> <https://lists.openembedded.org/g/openembedded-core/message/204478>
>> Mute This Topic:
>> <https://lists.openembedded.org/mt/108340502/3617728>
>> Group Owner: openembedded-core+owner@lists.openembedded.org
>> <mailto:openembedded-core+owner@lists.openembedded.org>
>> Unsubscribe:
>> <https://lists.openembedded.org/g/openembedded-core/unsub>
>> [zboszor@gmail.com <mailto:zboszor@gmail.com>]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
>

[-- Attachment #2: Type: text/html, Size: 5601 bytes --]