Hi,

On 11/5/24 6:16 PM, Yuqian Yang wrote:
> In conclusion, there is no way to do things like using a pointer to pass
> data pointed by it in Mach. I can understand this is rooted in Mach
> design. This does create problems of mimicking API in Linux to reuse a
> lot of high-level things. At least for drm, most APIs of drm in Linux
> are implemented by passing data with pointer with ioctl. libdrm relies
> on this, and then mesa relies on libdrm, and OpenGL and Vulkan apps rely
> on mesa.

It sounds like we need to implement a wrapping-paper thin layer in libdrm
that unpacks drmIoctl() and fans out all the combinations of proper RPCs;
it will be ugly but doable.  (I was hoping we could just pass in a
casted struct as that is what an ioctl is for). This is more work,
but probably simplest.

Damien



Reply via email to