mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 13:38:06 +02:00
i965: Call intel_prepare_render() from intel_update_state()
The resolve code looks at the current color draw buffers. These are not valid until intel_prepare_render() is called. You can end up with one color buffer bound, but where the renderbuffer has zero width/height and no miptree allocated. You can get a call chain like: _mesa_Clear -> _mesa_update_state -> intel_update_state, where no brw driver hooks were called, so there is no other point at which we could have called this. Fixes crashes in KWin where Clear was causing intel_disable_rb_aux_buffer to crash on irb != NULL but irb->mt == NULL. According to Tapani, this also fixes crashes seen on Android. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Tested-by: Tapani Pälli <tapani.palli@intel.com>
This commit is contained in:
parent
fae3b13905
commit
b7153c3e9f
1 changed files with 2 additions and 0 deletions
|
|
@ -201,6 +201,8 @@ intel_update_state(struct gl_context * ctx)
|
|||
|
||||
_mesa_unlock_context_textures(ctx);
|
||||
|
||||
intel_prepare_render(brw);
|
||||
|
||||
/* Resolve the depth buffer's HiZ buffer. */
|
||||
depth_irb = intel_get_renderbuffer(ctx->DrawBuffer, BUFFER_DEPTH);
|
||||
if (depth_irb && depth_irb->mt) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue