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

Hans de Goede hdegoede at redhat.com
Fri Sep 4 06:14:03 PDT 2015


Hi,

On 03-09-15 19:33, Ilia Mirkin wrote:
> 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.

My plan was for me to commit to at least taking a serious attempt
at fixing this, see my mail in the "nv3x libreoffice impress opengl
animations not working" thread.

In the mean time I think it would be good to have a patch such as this
one upstream, so that things will just work for nv30 family users and
we can also Cc such a patch to
"10.6 11.0" <mesa-stable at lists.freedesktop.org>

Where as the fix may not be suitable for stable.

Regards,

Hans



>
>>
>> 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