A short while after a game is started, et:qw crashes.
Created attachment 36378 [details]
my gpu is an rv350 (radeon 9600xt)
It doesn't add up. The "start" parameter in draw_elements is 117825309, it's impossible for the index buffer to be so large. I might add some validation in the draw function for it not to crash, but that would just hide problems elsewhere.
Could you try current mesa git?
No feedback, closing.
I'm sorry for not responding. I now tried with current git (version
5fa1af0905ef2f513fe296f1d8e658dbdf24dd74), and it still prints
r300: Invalid index buffer range. Skipping rendering.
upon certain objects entering the view (like the giant walker, the cupboards in the houses and in the tunnel etc.).
Is this still an issue with Mesa 7.9 or the latest version from git?
Yes, the problem still exists. It doesn't crash; though, because Marek added a hack that disables rendering instead of crashing.
Does this problem still exist?
Yes, and it currently makes the game completely unplayable.
Created attachment 41442 [details] [review]
The attached hack may not be correct, but it fixes this problem. When drawing light halos around lamps, etqw calls glDrawElements() as it was issuing a vertex array: indices is a pointer to the buffer rather than an offset to the vbo. The real bug may be in etqw (is it allowed to issue a vertex array while a vbo is bound?) or in the way mesa detects the difference between a vertex array and a vbo. Or in the head of the one who designed glDrawElements() this way...
Could you possibly bring this issue and the patch to the mesa-dev mailing list? I can't comment on something I can't reproduce and this seems to be quite special. Maybe the Mesa maintainers will know what is going on. I don't think that patch is going to be accepted, but at least it's a good starting point.
OK, I subscribed to mesa-dev, and will post this issue shortly.
Meanwhile, to increase reproducibility: I'm testing with the demo, which is
ETQW 1.4.12343.12343 linux-x86 Jan 16 2008 10:19:41
Maybe the retail version does not trigger this crash (?)
I use exactly the same version.
I now purged and reinstalled the game (with the same installer as before, which has the correct md5sum), and the problem is gone (and so is #32652). I forgot to keep a copy of the previous install, though, so I don't know what's happened.
Now this problem appeared again, and I was able to investigate it.
In .etqwctl/base/etqwconfig.cfg the correct setting is
seta r_useIndexBuffers "1"
and the incorrect is "0". I still don't know why, when, or how this was changed automatically.