[Mesa-dev] [PATCH] i965: Ensure that all necessary state is re-emitted if we run out of aperture.
Kenneth Graunke
kenneth at whitecape.org
Sat Jan 11 14:22:25 PST 2014
On 01/10/2014 07:34 PM, Paul Berry wrote:
> 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 at lists.freedesktop.org>
Thanks a ton for fixing this, Paul.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
More information about the mesa-dev
mailing list