Created attachment 116944 [details]
trace generated by apitrace
The game runs natively on Linux. When Mesa was compiled with DRI3 support the game segfaults when starting and I get this in the terminal:
Psychonauts: nv50/nv50_miptree.c:132: nv50_mt_choose_storage_type: Assertion `ms == 0' failed.
The game starts properly if I disable DRI3 at runtime (LIBGL_DRI3_DISABLE=1)
The problem is present since
Author: Maarten Lankhorst <email@example.com>
Date: Wed Oct 22 11:04:16 2014 +0200
enable dri3 support without glamor
When replaying the trace with glretrace the message about the assertion is not present, but glretrace segfaults with signal 11.
Fedora 22 32-bit
VGA compatible controller: NVIDIA Corporation G92 [GeForce GTS 250] (rev a2) (prog-if 00 [VGA controller])
Created attachment 116945 [details]
The assertion is regarding PIPE_BIND_SCANOUT + nr_samples != 0. I suspect this might be a dri st bug which only surfaces with the new mechanisms that dri3 enables.
Created attachment 116946 [details]
backtrace from the game and glretrace
If you have a Steam account and Steam for Linux installed you can reproduce the segfault with these native Linux demos on Steam:
- 'Running with Rifles' demo (note: I had to remove libstdc++.so.6 and libxcb.so.1 from ./lib).
- Torchlight II demo (the game starts with default settings, you need to enable anti-aliasing in-game option and restart the game to reproduce this bug).
All those games crash on start with
>nv50/nv50_miptree.c:132: nv50_mt_choose_storage_type: Assertion `ms == 0' failed.
when DRI3 is enabled.
Marek posted a patch for this at http://patchwork.freedesktop.org/patch/53843/
(In reply to Ilia Mirkin from comment #5)
> Marek posted a patch for this at
The patch works and fixes the problem in all the affected games that I know of.
Thank you both for your help fixing this bug.
Patch committed, marking the bug as fixed.