summaryrefslogtreecommitdiffstats
path: root/src/glsl/opt_constant_variable.cpp
diff options
context:
space:
mode:
authorPaul Berry <stereotype441@gmail.com>2014-01-10 18:56:14 -0800
committerPaul Berry <stereotype441@gmail.com>2014-01-13 09:44:39 -0800
commitfb6d9798a0c6eefd512f5b0f19eed34af8f4f257 (patch)
treed415623c0cb8d2e0157942614045e92410e3aac5 /src/glsl/opt_constant_variable.cpp
parentdf918b5b90c0c1fc564adc026c9da1b8e7003807 (diff)
downloadexternal_mesa3d-fb6d9798a0c6eefd512f5b0f19eed34af8f4f257.zip
external_mesa3d-fb6d9798a0c6eefd512f5b0f19eed34af8f4f257.tar.gz
external_mesa3d-fb6d9798a0c6eefd512f5b0f19eed34af8f4f257.tar.bz2
i965: Ensure that all necessary state is re-emitted if we run out of aperture.
Prior to this patch, if we ran out of aperture space during brw_try_draw_prims(), we would rewind the batch buffer pointer (potentially throwing some state that may have been emitted by brw_upload_state()), flush the batch, and then try again. However, we wouldn't reset the dirty bits to the state they had before the call to brw_upload_state(). As a result, when we tried again, there was a danger that we wouldn't re-emit all the necessary state. (Note: prior to the introduction of hardware contexts, this wasn't a problem because flushing the batch forced all state to be re-emitted). This patch fixes the problem by leaving the dirty bits set at the end of brw_upload_state(); we only clear them after we have determined that we don't need to rewind the batch buffer. Cc: 10.0 9.2 <mesa-stable@lists.freedesktop.org> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/glsl/opt_constant_variable.cpp')
0 files changed, 0 insertions, 0 deletions