[Intel-gfx] [Patch] multiple ring buffer support(for libva H.264 decoding)

Zou, Nanhai nanhai.zou at intel.com
Fri Mar 26 08:41:53 CET 2010


Hi,
This patch introduces multiple ring buffer support to the driver.

>From G4X, GPU begin to support more than 1 kind of command buffer.
On G4X, a separate command buffer, a BSD (bit-stream decoder) command buffer was introduced to support H.264 VLD decoding.

There will be more kinds of command buffer to come on newer chips.

The patch abstract ring buffer related methods.
It separated sequential number and interrupt handling logic to per ring base.
gem object active_list and request_list are also put per ring while flushing_list 
And inactive_list keeps single.

The patch uses the flag in gem_execbuffer2 interface to indicate on which ring to execute.
Then it will mark every referenced object in this execution to be on that ring. One object can belong only 1 ring at 1 time.

The multiple ring buffer capability will be first used by our H.264 VAAPI driver.
We have tested the patch on pre Ironlake Systems(both 3D 2D)
, and Ironlake Systems(HD H.264 video + 3D).

Signed-off-by: Xiang Hai hao <haihao.xiang at intel.com>
Signed-off-by: Zou Nan hai <nanhai.zou at intel.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: multi-ring.patch
Type: application/octet-stream
Size: 113504 bytes
Desc: multi-ring.patch
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20100326/7a7b2bef/attachment.obj>


More information about the Intel-gfx mailing list