SIGBUS with gbm_bo_map() and Intel ARC
Pierre Ossman
ossman at cendio.se
Wed Jun 19 09:36:30 UTC 2024
Hi,
More gbm_bo_map() issues from me that could use some expert insight.
When I mix GPU access in my GBM adventures, one combination results in a
SIGBUS when reading the memory given from gbm_bo_map(). I'm unsure if
this is a bug in the driver, or in my access?
What I do is:
1. X server does gbm_create_device() on the integrated Radeon GPU
2. I start vkcube, pointing it at the discrete Intel ARC GPU
3. I assume Vulkan does DRI3PixmapFromBuffer, with a buffer from the
Intel GPU
4. X server does:
gbm_bo_import(<radeon device>, GBM_BO_IMPORT_FD, <Intel fd>,
GBM_BO_USE_RENDERING | GBM_BO_USE_LINEAR)
5. Vulkan does PresentPixmap
6. X server does gbm_bo_map() and then tries to read the pixels
7. SIGBUS!
Oddly enough, it works fine if I mix the GPUs the other way around.
Is there something special I need to pay attention to when doing cross
GPU stuff? I would have assumed that gbm_bo_import() would have
complained if this was an incompatible setup.
Regards
--
Pierre Ossman Software Development
Cendio AB https://cendio.com
Teknikringen 8 https://twitter.com/ThinLinc
583 30 Linköping https://facebook.com/ThinLinc
Phone: +46-13-214600
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
More information about the mesa-dev
mailing list