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

Zou, Nanhai nanhai.zou at intel.com
Fri Apr 2 07:30:30 CEST 2010


Hi, 
	I have split the multiple ring buffer patch set with some small fixes.

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)
No regressing found.

Thanks
Zou Nan hai





More information about the Intel-gfx mailing list