[git pull] drm for 5.8-rc1

Karol Herbst kherbst at redhat.com
Wed Aug 12 15:20:15 UTC 2020


On Wed, Aug 12, 2020 at 5:05 PM Thierry Reding <thierry.reding at gmail.com> wrote:
>
> On Wed, Aug 12, 2020 at 12:43:17PM +0200, Karol Herbst wrote:
> > On Wed, Aug 12, 2020 at 12:27 PM Karol Herbst <kherbst at redhat.com> wrote:
> > >
> > > On Wed, Aug 12, 2020 at 2:19 AM James Jones <jajones at nvidia.com> wrote:
> > > >
> > > > Sorry for the slow reply here as well.  I've been in the process of
> > > > rebasing and reworking the userspace patches.  I'm not clear my changes
> > > > will address the Jetson Nano issue, but if you'd like to try them, the
> > > > latest userspace changes are available here:
> > > >
> > > >    https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3724
> > > >
> > > > And the tegra-drm kernel patches are here:
> > > >
> > > >
> > > > https://patchwork.ozlabs.org/project/linux-tegra/patch/20191217005205.2573-1-jajones@nvidia.com/
> > > >
> > > > Those + the kernel changes addressed in this thread are everything I had
> > > > outstanding.
> > > >
> > >
> > > I don't know if that's caused by your changes or not, but now the
> > > assert I hit is a different one pointing out that
> > > nvc0_miptree_select_best_modifier fails in a certain case and returns
> > > MOD_INVALID... anyway, it seems like with your patches applied it's
> > > now way easier to debug and figure out what's going wrong, so maybe I
> > > can figure it out now :)
> > >
> >
> > collected some information which might help to track it down.
> >
> > src/gallium/frontends/dri/dri2.c:648 is the assert hit: assert(*zsbuf)
> >
> > templ is {reference = {count = 0}, width0 = 300, height0 = 300, depth0
> > = 1, array_size = 1, format = PIPE_FORMAT_Z24X8_UNORM, target =
> > PIPE_TEXTURE_2D, last_level = 0, nr_samples = 0, nr_storage_samples =
> > 0, usage = 0, bind = 1, flags = 0, next = 0x0, screen = 0x0}
> >
> > inside tegra_screen_resource_create modifier says
> > DRM_FORMAT_MOD_INVALID as template->bind is 1
> >
> > and nvc0_miptree_select_best_modifier returns DRM_FORMAT_MOD_INVALID,
> > so the call just returns NULL leading to the assert.
> >
> > Btw, this is on Xorg-1.20.8-1.fc32.aarch64 with glxgears.
>
> Hi Karol,
>
> I'm not sure if I'm doing something wrong, but I can't seem to reproduce
> these assertions at all. I've got a debug Mesa build from today as well
> as an X server build from today and if I run glxgears it works just fine
> for me. This is on Jetson TX1, but I don't think there's any difference
> to Jetson Nano in that regard. I'll try to give this a try on Jetson
> Nano as well, just to make sure. I can also try to pull in James'
> patches to see if they change anything for me.
>
> However, perhaps we can compare notes on what exactly your configuration
> is so that perhaps I can reproduce and take a closer look at what's
> going on.
>
> My Mesa build uses the following configuration:
>
>     $ meson --prefix /usr --libexecdir /usr/lib --buildtype debug -Dgles1=false \
>         -Dgallium-drivers=nouveau,swrast,tegra -Dgallium-opencl=standalone \
>         -Dvulkan-drivers='' -Dplatforms=wayland,x11,drm,surfaceless \
>         -Dbuild-tests=true -Dtexture-float=true -Ddri-drivers='' \
>         -Dgallium-omx=disabled -Dllvm=true
>
> And here's what I use for X:
>
>     $ meson --prefix /usr --libexecdir /usr/lib \
>         --libexecdir /usr/lib/xorg-server -Dxdmcp=false
>
> I've stripped out some cross-compilation boilerplate there because that
> shouldn't be relevant. Do you see anything in there that I'm missing and
> which might be causing the issue not to happen for me?
>
> Also, what's the window manager that you use? I use TWM (for simplicity)
> and I suspect that's not what you use, so perhaps this is relevant
> somehow as well?
>

I don't use any at all, just plain X.

Anyway, for software versions:
kernel-5.8.0 + patch James refered to above
Xorg-1.20.8-1.fc32.aarch64 (just the normal fc32 build)

mesa fedora, master or james modifier branch (james' branch is hitting
a different assert, so maybe that could behave differently for you as
well)
but my meson args are those: -Dplatforms=auto -Dllvm=false
-Dgallium-drivers="nouveau, tegra" -Dbuildtype=debug

But I am seeing a bunch of messages in dmesg in a release build as well:
[  233.080649] nouveau 57000000.gpu: gr: DATA_ERROR 00000003
[INVALID_OPERATION] ch 4 [0400323000 glxgears[412]] subc 0 class b197
mthd 19d0 data 0000003d
[  233.094237] nouveau 57000000.gpu: gr: DATA_ERROR 0000009c [] ch 4
[0400323000 glxgears[412]] subc 0 class b197 mthd 0d78 data 00000052
[  233.106327] nouveau 57000000.gpu: gr: DATA_ERROR 0000009c [] ch 4
[0400323000 glxgears[412]] subc 0 class b197 mthd 0d78 data 00000050

But at the moment I kind of expect Xorg to be the difference. I will
try with Xorg from git and see if it goes away.

> Thierry



More information about the dri-devel mailing list