[Mesa-dev] [Nouveau] [PATCH mesa 4/4] nv30: Disable msaa on nv4x because it causes gpu lockups

Ilia Mirkin imirkin at alum.mit.edu
Thu Sep 3 10:33:57 PDT 2015


On Thu, Sep 3, 2015 at 7:25 AM, Hans de Goede <hdegoede at redhat.com> wrote:
> On nv4x with a msaa visual after a while the gpu locks up, attach gdb to
> impress shows it is hanging waiting for a fence which never comes.
>
> Killing ooimpress at this point works exactly once, trying to do any
> 3d operations after killing impress will lockup the entire system.
>
> This needs further investigation, but for now disable msaa because no
> msaa is better then crashing the system.

That's an argument I'm willing to live with -- can you generate such a
patch without your previous patch?

However if we do this, this is basically saying that MSAA will never
work on nv3x/nv4x, since it's unlikely that anyone will look further
into it. It'd be nice to put a little effort in first to make sure
there isn't something simple we can fix.

>
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
>  src/gallium/drivers/nouveau/nv30/nv30_screen.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
> index 69acc38..57262b8 100644
> --- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c
> +++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
> @@ -321,7 +321,8 @@ nv30_screen_is_format_supported(struct pipe_screen *pscreen,
>  {
>     struct nv30_screen *screen = nv30_screen(pscreen);
>
> -   if (screen->eng3d->oclass >= NV40_3D_CLASS) {
> +   /* MSAA visuals work somwhat on nv4x, but cause gpu lockups */
> +   if (0 && screen->eng3d->oclass >= NV40_3D_CLASS) {
>        if (sample_count > 4)
>           return false;
>     } else {
> --
> 2.4.3
>
> _______________________________________________
> Nouveau mailing list
> Nouveau at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/nouveau


More information about the mesa-dev mailing list