[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