Chris,
This looks like a hw specific value which is difficult to
understand. However, the definition of these values are
just a list of available options of z-order. On Intel VLV, there
is only 6 options for the three planes Primary, Sprite A and
Sprite B. Cursor is always on top. For example, "P1S1S2C1" means
z-order (from bottom to top) of Primary -> Sprite A ->
Sprite B -> Cursor.
#define P1S1S2C1 0
#define P1S2S1C1 8
#define S2P1S1C1 1
#define S2S1P1C1 9
#define S1P1S2C1 4
#define S1S2P1C1 6
In theory, if hw supports, each CRTC may have their own plane
z-order if user intentionally wants that happens. The pipe info (0
or 1) is packed into z-order value with extra bit (bit 31).
Thanks,
Alex
On 14-03-04 12:20 AM, Chris Wilson wrote:
> On Mon, Mar 03, 2014 at
02:12:28PM -0800, yu.dai@intel.com wrote:
>> From: "Yu(Alex) Dai" <yu.dai@intel.com>
>>
>> Add "zorder" property to crtc to control Z-order of
sprite and
>> primary planes. The alpha channel of the planes can be
enabled or
>> disabled during Z-order change.
>
> Can I just say that is an abonimal user interface. You expect
the
> client to encode a hw specific value into a CRTC property
that
> affects global state. and given the two properties on the two
CRTCs,
> which should userspace believe? -Chris
>