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

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


For those who want to early test H.264 support.

You may apply this patch to drm-intel-next.
Then apply the lib-drm patch to libdrm.
And pull i965_H264 branch on libva git repository.

You also need to patch your mplayer on http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/

You need to have an Clarkdale or Arrandale system to test.
This version disabled ILDB and still contains bugs on some platforms.
We are still fixing those issues.

Welcome to test.
Thanks
Zou Nan hai

-----Original Message-----
From: intel-gfx-bounces at lists.freedesktop.org [mailto:intel-gfx-bounces at lists.freedesktop.org] On Behalf Of Zou, Nanhai
Sent: 2010年3月26日 15:42
To: intel-gfx at lists.freedesktop.org
Subject: [Intel-gfx] [Patch] multiple ring buffer support(for libva H.264 decoding)

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>


More information about the Intel-gfx mailing list