mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 05:58:05 +02:00
Check for NULL VB->EdgeFlag array.
There might be a bug elsewhere, but this is a simple work-around for now. See bug 12614
This commit is contained in:
parent
a49e0726e3
commit
c9ce3e8fd2
1 changed files with 10 additions and 8 deletions
|
|
@ -238,14 +238,16 @@ static void TAG(quadfunc)( GLcontext *ctx, GLuint v0,
|
|||
{
|
||||
if (IND & SS_UNFILLED_BIT) {
|
||||
struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
|
||||
GLubyte ef1 = VB->EdgeFlag[v1];
|
||||
GLubyte ef3 = VB->EdgeFlag[v3];
|
||||
VB->EdgeFlag[v1] = 0;
|
||||
TAG(triangle)( ctx, v0, v1, v3 );
|
||||
VB->EdgeFlag[v1] = ef1;
|
||||
VB->EdgeFlag[v3] = 0;
|
||||
TAG(triangle)( ctx, v1, v2, v3 );
|
||||
VB->EdgeFlag[v3] = ef3;
|
||||
if (VB->EdgeFlag) { /* XXX this test shouldn't be needed (bug 12614) */
|
||||
GLubyte ef1 = VB->EdgeFlag[v1];
|
||||
GLubyte ef3 = VB->EdgeFlag[v3];
|
||||
VB->EdgeFlag[v1] = 0;
|
||||
TAG(triangle)( ctx, v0, v1, v3 );
|
||||
VB->EdgeFlag[v1] = ef1;
|
||||
VB->EdgeFlag[v3] = 0;
|
||||
TAG(triangle)( ctx, v1, v2, v3 );
|
||||
VB->EdgeFlag[v3] = ef3;
|
||||
}
|
||||
} else {
|
||||
TAG(triangle)( ctx, v0, v1, v3 );
|
||||
TAG(triangle)( ctx, v1, v2, v3 );
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue