[Discussion] Multiple IPAs support

Cheng-Hao Yang chenghaoyang at chromium.org
Wed Jul 24 08:36:06 CEST 2024


Hi folks,

I want to discuss the support of multiple IPAs within a pipeline handler,
before I upload patches, as I think there are different approaches. It's
needed because some chromeos models (like intelipu7) need both cpu & gpu
IPAs, and they might have different mojo interfaces.

Currently in the `meson.build`s, they restrict the IPA name to be the same
as a pipeline handler name [1] [2].

Here are some approaches that I can think of:

1. Besides the ipa that has the same name as pipeline handler name, build
the one that has a suffix `_gpu` or so. For example, build `ipu7` &
`ipu7_gpu` for pipeline handler `ipu7`.
This approach limits the number of IPAs to be two though, and we might need
to change the design again if there are other requirements in the future.

2. Build exactly the IPAs specified in the meson option: `ipas` (or we add
another meson option). IIUC, currently the default value of meson option
`ipas` contains all the possible values, and it might be the case for most
of the build configs for the current use cases.
This approach might require developers to update their build configs
accordingly.

3. Build more than one shared library in one `src/ipa/${IPA_NAME}`
directory. We can register more than one mojom interface in a pipeline
handler name [3], so that the build can generate multiple IPA
proxies/workers.
This approach doesn't need to change the meson build files or logic. I
haven't tried it myself though. Maybe there are some missing parts.

Let me know your opinions. Thanks!

BR,
Harvey

[1]:
https://git.libcamera.org/libcamera/libcamera.git/tree/include/libcamera/ipa/meson.build#n88
[2]:
https://git.libcamera.org/libcamera/libcamera.git/tree/src/ipa/meson.build#n47
[3]:
https://git.libcamera.org/libcamera/libcamera.git/tree/include/libcamera/ipa/meson.build#n64
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20240724/9dfe0aa7/attachment.htm>


More information about the libcamera-devel mailing list