The DMA-BUF PRIME support in the popular open-source Linux graphics drivers is coming together for the Linux 3.5 kernel to allow for GPU offloaded rendering.
Coming out this week was a new patch
for the DMA-BUF/PRIME buffer sharing support so that Intel's DRM driver can offload rendering in one direction and outputs in the other. This patch is based upon David Airlie's work and amounts to just under 200 lines of code in the i915 kernel DRM driver.
Out on the same day from Alex Deucher was a patch
entitled "add PRIME support" that effectively does the same as the Intel driver, but instead for the Radeon DRM driver. This too was just about 200 lines of code.
These patches come one week after David Airlie added PRIME sharing support to the TTM memory manager (here
) as well as PRIME support for the Nouveau DRM driver (here
This PRIME support builds upon the DMA-BUF
buffer sharing mechanism that was originally merged into Linux 3.3
and the PRIME fundamentals in Linux 3.4
. With the Linux 3.5 kernel is where the popular Direct Rendering Manager hardware drivers should support this for sharing buffers between drivers / GPUs. While Intel / Radeon / Nouveau are the most popular drivers, there's also been ongoing DMA-BUF work for the Texas Instruments OMAP, Samsung Exynos, and DisplayLink UDL KMS drivers too.
This technology can ultimately be used for things like NVIDIA Optimus
or SLI/CrossFire. DMA-BUF itself largely was born within the Linaro camp for buffer sharing between driver drivers for ARM SoCs. Last November was when PRIME got back under-way
for the GPU offloaded rendering.