Skip to content

rusticl: fix non blocking maps and GPUs with discrete VRAM

Karol Herbst requested to merge karolherbst/mesa:rusticl/discrete_mem into main

I still plan to add proper documentation to the code and commits, but for everybody wanting to make things run on discrete GPUs, this is a must have.

This fixes some corner case problems with non blocking memory maps, but also adds shadowing of unmapable resources (e.g. tiled images). The old code relied on drivers pipe_transfers to get this right, but OpenCL requires us to be more explicit about when do synchronize transfers and the real resource.

So in order to change that a shadow staging coherent resource will be used, which can be directly mapped and accessed.

Merge request reports