mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-22 01:10:32 +01:00
Fix an i965 assertion failure on glClear()
While running conform with render-to-texture:
conform -d 33 -v 2 -t -direct
the i965 driver failed this assertion:
intel_clear.c:77: intel_clear_tris: Assertion `(mask & ~((1 << BUFFER_BACK_LEFT) | (1 << BUFFER_FRONT_LEFT) | (1 << BUFFER_DEPTH) | (1 << BUFFER_STENCIL))) == 0' failed.
The problem is that intel_clear_tris() is called by intelClear() to
clear any and all of the available color buffers, but intel_clear_tris()
actually only handles the back left and front left color buffers; so
the assertion fails as soon as you try to clear a non-standard color
buffer.
The fix is to have intelClear() only call intel_clear_tris() with
buffers that intel_clear_tris() can support. intelClear() already backs
down to _swrast_Clear() for all buffers that aren't handled explicitly.
(cherry picked from commit 0ccbc3c905)
This commit is contained in:
parent
5efbca1e21
commit
e9dfc858fb
1 changed files with 1 additions and 1 deletions
|
|
@ -289,7 +289,7 @@ intelClear(GLcontext *ctx, GLbitfield mask)
|
|||
}
|
||||
else {
|
||||
/* glColorMask in effect */
|
||||
tri_mask |= (mask & BUFFER_BITS_COLOR);
|
||||
tri_mask |= (mask & (BUFFER_BIT_FRONT_LEFT | BUFFER_BIT_BACK_LEFT));
|
||||
}
|
||||
|
||||
/* HW stencil */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue