SIGBUS with gbm_bo_map() and Intel ARC

Pierre Ossman <[email protected]>
Newsgroups gmane.comp.video.mesa3d.devel
Organization Cendio AB
Message-ID <[email protected]>
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?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.