Bug 110608 - [bisected][18.3.3 regression] Nouveau on Wayland fails
Summary: [bisected][18.3.3 regression] Nouveau on Wayland fails
Status: RESOLVED INVALID
Alias: None
Product: Mesa
Classification: Unclassified
Component: glsl-compiler (show other bugs)
Version: 18.3
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-05-04 15:49 UTC by Marius Bakke
Modified: 2019-05-04 16:50 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Marius Bakke 2019-05-04 15:49:07 UTC
Greetings,

After updating from Mesa 18.3.1 to 18.3.5, swaywm no longer starts on my nouveau Nvidia GTX 770.

Sway prints the following error:

sway: ../mesa-18.3.5/src/mesa/program/prog_parameter.c:247: _mesa_add_parameter: Assertion `0 < size && size <=4' failed.

I bisected it down to this commit:
https://gitlab.freedesktop.org/mesa/mesa/commit/fb78a6cb72270de271f75d6f6c9b5ebadba7a898

However, reverting that on top of my distro-provided Mesa 18.3.5 still yields the same error.

Mesa 19.0.3 fails with a different message:

sway: ../mesa-19.0.3/src/compiler/glsl/serialize.cpp:555: void read_uniforms(blob_reader*, gl_shader_program*): Assertion `vec_size + prog->data->UniformStorage[i].storage <= data + prog->data->NumUniformDataSlots' failed.

Please let me know what other details I can provide.  Thanks in advance!

This is possibly a duplicate of #109812.
Comment 1 Ilia Mirkin 2019-05-04 16:08:05 UTC
This feels like a mesa cache format issue. For whatever reason, mesa's internal mechanisms don't detect that it should invalidate the shader cache.

Try to wipe your $HOME/.cache/mesa_shader_cache directory, and see if the situation improves.
Comment 2 Marius Bakke 2019-05-04 16:50:22 UTC
Derp.  I can confirm that wiping $HOME/.cache/mesa_shader_cache fixes the issue.

Closing this bug, thanks for the quick response!


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.