[Mesa-dev] [PATCH] i965/screen: MOD_FORMAT_Y_TILED is only supported by gen9+

Mario Kleiner mario.kleiner.de at gmail.com
Tue Jul 31 16:08:05 UTC 2018


Ok, we have a diagnosis of the real issue, thanks Jason. With that i
leave dealing with it to the experts. If some testing or light review
of the proper solution is needed on the modesetting-ddx side, happy to
do that.

-mario



On Tue, Jul 31, 2018 at 6:01 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
> NAK.
>
> On SNB+, we'd like to get Y-tiling when the surface is only being used by
> the compositor and reserve X-tiling for scanout surfaces.  With the
> modifiers negotiation framework, the X server should be able to figure out
> that the window is being composited (or blitted) and request Y-tiling.  If
> the surface is full-screen, it should know this and either require X-tiling
> because that's all KMS advertises or not flip the buffer because it uses a
> modifier that's unsupported by the kernel.  I think you have an X server
> bug.
>
> --Jason
>
> On Tue, Jul 31, 2018 at 7:54 AM Mario Kleiner <mario.kleiner.de at gmail.com>
> wrote:
>>
>> At least that's what the Linux 4.18 i915 drm/kms driver
>> thinks, and the disagreement between kms and Mesa leads to
>> pageflipping failure with X-Server 1.20's dmabuf modifiers
>> enabled modesetting-ddx, at least as tested on a gen 7
>> Ivybridge system.
>>
>> Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com>
>> ---
>>  src/mesa/drivers/dri/i965/intel_screen.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/mesa/drivers/dri/i965/intel_screen.c
>> b/src/mesa/drivers/dri/i965/intel_screen.c
>> index cb35741..ef04ffb 100644
>> --- a/src/mesa/drivers/dri/i965/intel_screen.c
>> +++ b/src/mesa/drivers/dri/i965/intel_screen.c
>> @@ -309,7 +309,7 @@ static const struct {
>>  } supported_modifiers[] = {
>>     { .modifier = DRM_FORMAT_MOD_LINEAR       , .since_gen = 1 },
>>     { .modifier = I915_FORMAT_MOD_X_TILED     , .since_gen = 1 },
>> -   { .modifier = I915_FORMAT_MOD_Y_TILED     , .since_gen = 6 },
>> +   { .modifier = I915_FORMAT_MOD_Y_TILED     , .since_gen = 9 },
>>     { .modifier = I915_FORMAT_MOD_Y_TILED_CCS , .since_gen = 9 },
>>  };
>>
>> --
>> 2.7.4
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list