[git pull] drm for 5.8-rc1
Thierry Reding
thierry.reding at gmail.com
Fri Aug 14 15:34:49 UTC 2020
On Fri, Aug 14, 2020 at 04:44:43PM +0200, Karol Herbst wrote:
> On Fri, Aug 14, 2020 at 4:05 PM Thierry Reding <thierry.reding at gmail.com> wrote:
> >
> > On Thu, Aug 13, 2020 at 10:45:34AM -0700, James Jones wrote:
> > > I'll defer to Thierry, but I think that may be by design. Tegra format
> > > modifiers were added to get things like this working in the first place,
> > > right? It's not a regression, is it?
> >
> > I recall that things used to work with or without modifiers at some
> > point. That was basically the point of the "pitch-linear by default"
> > patch, see:
> >
> > https://gitlab.freedesktop.org/mesa/mesa/-/commit/9603d81df05105857b676f20dff964ef3ab0ecff
> >
> > If we don't force pitch-linear for cases where we don't have modifiers,
> > there's no way we can properly display these as framebuffers because we
> > lack the modifier information at the kernel level.
> >
>
> I suspect that's related to
> https://gitlab.freedesktop.org/mesa/mesa/commit/c56fe4118a2dd991ff1b2a532c0f234eddd435e9
But we're checking the the PIPE_USAGE_SCANOUT flag specifically for that
type of case, so this should work. On the other hand, it does sound like
that logic might actually work, but for some reason Nouveau then ends up
allocating a linear render buffer and a tiled depth buffer, and that's
the combination that doesn't work. Did I understand that correctly?
So it sounds like there's a few options:
a) Make Nouveau render without a depth buffer in these cases (not sure
if that's even possible).
b) Allocate a linear buffer *in addition* to the normal buffer that
Nouveau allocates (with whatever it selects as the default layout)
and then blit from the tiled buffer to the linear buffer everytime
we need to. I think that'd be basically reproducing the code that
is controlled by the DRI_PRIME environment variable.
c) Accept that modifiers are the way to go and rely on them for proper
functionality. This is obviously a really bad solution because not
everyone has transitioned to framebuffer modifiers yet. On the
other hand, this is precisely the kind of use-case that framebuffer
modifiers were meant to address, so it isn't all that far-fetched
to make them a requirement.
None of those are really great options... does anyone have any other
ideas?
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20200814/7e5700c7/attachment.sig>
More information about the dri-devel
mailing list