[Intel-gfx] [RFC 2/6] drm/i915: Add tiled framebuffer modifiers

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Mon Feb 2 02:23:57 PST 2015


On 02/02/2015 09:58 AM, Daniel Vetter wrote:
> On Mon, Feb 02, 2015 at 10:41:24AM +0100, Daniel Vetter wrote:
>> On Fri, Jan 30, 2015 at 05:36:54PM +0000, Tvrtko Ursulin wrote:
>>> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>>>
>>> To be used from the new addfb2 extension.
>>>
>>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>>> ---
>>>   include/uapi/drm/i915_drm.h | 13 +++++++++++++
>>>   1 file changed, 13 insertions(+)
>>>
>>> diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
>>> index 6eed16b..a7327fd 100644
>>> --- a/include/uapi/drm/i915_drm.h
>>> +++ b/include/uapi/drm/i915_drm.h
>>> @@ -28,6 +28,7 @@
>>>   #define _UAPI_I915_DRM_H_
>>>
>>>   #include <drm/drm.h>
>>> +#include <uapi/drm/drm_fourcc.h>
>>>
>>>   /* Please note that modifications to all structs defined here are
>>>    * subject to backwards-compatibility constraints.
>>> @@ -1101,4 +1102,16 @@ struct drm_i915_gem_context_param {
>>>   	__u64 value;
>>>   };
>>>
>>> +/** @{
>>> + * Intel framebuffer modifiers
>>> + *
>>> + * Tiling modes supported by the display hardware
>>> + * to be passed in via the DRM addfb2 ioctl.
>>> + */
>>> +/** None */
>>> +#define I915_FORMAT_MOD_NONE	fourcc_mod_code(INTEL, 0x00000000000000L)
>>> +/** X tiling */
>>> +#define I915_FORMAT_MOD_X_TILED	fourcc_mod_code(INTEL, 0x00000000000001L)
>>
>> One thing I wonder here is whether we should have a modifier for each
>> physical layout (tiling modes do change slightly between hw) or whether we
>> should just continue to assume that this is Intel-specific and add a
>> disclaimer that the precise layout depends upon the actual intel box
>> you're running on?
>>
>> Leaning towards your approach, worst case we get to write some code to
>> de-alias layout modifiers with established cross-vendor layouts (if they
>> ever happen). Just want to make sure that we've thought about this. Adding
>> Rob&dri-devel for this.
>
> Something else to ponder: We also need layout modifiers for non-fb formats
> in userspace so that clients and compositors can communicate about render
> formats. Given that I think it'll make sense to enumerate all the other
> tiling formats we have, too (i.e. Y-tiled and W-tiled).

If we need fb modifiers for non-fb formats, although that sounds a bit 
funky to me, we can always add them in separate patches, no?

Regards,

Tvrtko


More information about the Intel-gfx mailing list