[PATCH libdrm v2] Header: Add rotation property fields

Kristian Høgsberg hoegsberg at gmail.com
Tue Apr 18 18:33:39 UTC 2017


On Tue, Apr 18, 2017 at 11:03 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> On 18 April 2017 at 18:38, Kristian Høgsberg <hoegsberg at gmail.com> wrote:
>> On Mon, Apr 17, 2017 at 1:13 PM, Robert Foss <robert.foss at collabora.com> wrote:
>>> From: Sean Paul <seanpaul at chromium.org>
>>>
>>> From drm_crtc.h, for use with the plane "rotation" property.
>>>
>>> Signed-off-by: Sean Paul <seanpaul at chromium.org>
>>> Signed-off-by: Robert Foss <robert.foss at collabora.com>
>>> Reviewed-by: Sumit Semwal <sumit.semwal at linaro.org>
>>> ---
>>> Changes since v1:
>>>  - Added r-b
>>>
>>>  include/drm/drm.h | 8 ++++++++
>>>  1 file changed, 8 insertions(+)
>>>
>>> diff --git a/include/drm/drm.h b/include/drm/drm.h
>>> index 1e7a4bc7a505..656c90045161 100644
>>> --- a/include/drm/drm.h
>>> +++ b/include/drm/drm.h
>>> @@ -74,6 +74,14 @@ extern "C" {
>>>  #define _DRM_LOCK_IS_CONT(lock)           ((lock) & _DRM_LOCK_CONT)
>>>  #define _DRM_LOCKING_CONTEXT(lock) ((lock) & ~(_DRM_LOCK_HELD|_DRM_LOCK_CONT))
>>>
>>> +/* Rotation property bits */
>>> +#define DRM_ROTATE_0           0
>>> +#define DRM_ROTATE_90          1
>>> +#define DRM_ROTATE_180         2
>>> +#define DRM_ROTATE_270         3
>>> +#define DRM_REFLECT_X          4
>>> +#define DRM_REFLECT_Y          5
>>
>> As far as I understand the property mechanism, the numeric values
>> aren't actually ABI. The string names of the enum values are the ABI
>> and you're supposed to parse the enum info and discover the numerical
>> values. For example:
>> https://git.collabora.com/cgit/user/daniels/weston.git/tree/libweston/compositor-drm.c?h=wip/2017-03/atomic-v10-WIP#n570
>>
> Note sure I agree, yet then again my kernel experience is less than yours.
> Do check the following commit and feel free to search the ML thread
> that inspired it.

I haven't worked much with the property mechanism tbh, but I know
Daniel (Stone) jumped through all those hoops to avoid hard-coding the
enum values.

> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/include/drm/drm_blend.h?id=226714dc7c6af6d0acee449eb2afce08d128edad
>
> Thanks
> Emil


More information about the dri-devel mailing list