mesa/src
Marcin Ślusarz 64bb117f6d nouveau: synchronize "scratch runout" destruction with the command stream
When nvc0_push_vbo calls nouveau_scratch_done it does not mean
scratch buffers can be freed immediately. It means "when hardware
advances to this place in the command stream the scratch buffers
can be freed".

To fix it, just postpone scratch runout destruction after current
fence is signalled.

The bug existed for a very long time. Nobody noticed, because
"scratch runout" code path is rarely executed.

Fixes hang at the very beginning of first mission in "Serious Sam 3"
on nve7/gk107. It manifested as:

nouveau E[   PFIFO][0000:01:00.0] read fault at 0x000a9e0000 [PTE] from GR/GPC0/PE_2 on channel 0x007f853000 [Sam3[17056]]

Cc: "10.4 10.5" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
(cherry picked from commit f9e2295560)
2015-04-08 19:09:02 +01:00
..
egl automake: add missing egl files to the tarball 2015-03-25 21:04:19 +00:00
gallium nouveau: synchronize "scratch runout" destruction with the command stream 2015-04-08 19:09:02 +01:00
gbm gbm: Define _DEFAULT_SOURCE to avoid warning 2015-01-16 21:54:54 -08:00
getopt
glsl glsl: Generate link error for non-matching gl_FragCoord redeclarations 2015-03-26 01:47:12 +00:00
glx glx: Handle out-of-sequence swap completion events correctly. (v2) 2015-03-25 21:46:50 +00:00
gtest gtest: Add headers to distribution. 2014-12-12 12:11:46 -08:00
hgl hgl: traverse add-on entries 2014-12-10 14:01:01 +00:00
loader loader: include <sys/stat.h> for non-sysfs builds 2015-03-25 21:33:55 +00:00
mapi mapi: Make private copies of name strings provided by client. 2015-03-26 01:47:11 +00:00
mesa i965: Do not render primitives in non-zero streams then TF is disabled 2015-04-08 18:45:33 +01:00
util Revert SHA1 additions. 2015-03-07 18:04:42 +00:00
Makefile.am automake: add missing egl files to the tarball 2015-03-25 21:04:19 +00:00
SConscript egl: Fix non-dri SCons builds re #87657 2014-12-25 10:34:49 -05:00