[Mesa-dev] [PATCH 03/11] vulkan/wsi: Add modifiers support to wsi_create_native_image

Daniel Stone daniel at fooishbar.org
Fri Feb 16 11:00:04 UTC 2018


Hi,

On 15 February 2018 at 19:46, Jason Ekstrand <jason at jlekstrand.net> wrote:
> On Thu, Feb 15, 2018 at 7:57 AM, Daniel Stone <daniels at collabora.com> wrote:
>> +      image_modifier_count = 0;
>> +      for (uint32_t l = 0; l < num_modifier_lists; l++) {
>> +         /* Walk the modifier lists and construct a list of supported
>> +          * modifiers.
>> +          */
>> +         for (uint32_t i = 0; i < num_modifiers[l]; i++) {
>> +            for (uint32_t j = 0; j < modifier_prop_count; j++) {
>> +               if (modifier_props[j].modifier == modifiers[l][i])
>> +                  image_modifiers[image_modifier_count++] =
>> modifiers[l][i];
>> +            }
>> +         }
>
> I know I technically wrote this code, but I'm having a bit of trouble
> understanding why it's needed.  Are we expecting that the scanout set may
> not have any supported modifiers in it?  The 3D driver can render to a lot
> of things so that's very unlikely.  At least on Intel, LINEAR and X will
> always be there and we can definitely render to those.

The textbook example is i.MX6 where the Vivante GPU can only render to
tiled, and the Freescale display controller can only scan out linear.
You need a separate IP block to blit and convert. They did finally fix
this in i.MX6QP, but there are (for better or worse) an infinite
number of i.MX6S/DL/D/Q in the wild.

Cheers,
Daniel


More information about the mesa-dev mailing list