summaryrefslogtreecommitdiffstats
path: root/src/glsl/link_functions.cpp
diff options
context:
space:
mode:
authorMarcin Ślusarz <[email protected]>2015-03-31 22:04:31 +0200
committerMarcin Ślusarz <[email protected]>2015-03-31 22:04:31 +0200
commitf9e2295560f9b4869fa2a94933c1881ec7970af4 (patch)
tree7f61f1b60c8903f75e622b9bb86f07fbabfcf8e4 /src/glsl/link_functions.cpp
parent3db0317351e02be4498c7833262ac919d597b396 (diff)
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" <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/glsl/link_functions.cpp')
0 files changed, 0 insertions, 0 deletions