Fix invalid memory access bug
This commit is contained in:
parent
b4539443f5
commit
d9fa69c288
|
@ -780,6 +780,7 @@ static void submitVertices(GLenum mode, GLsizei first, GLsizei count, GLenum typ
|
||||||
/* Make room in the list buffer */
|
/* Make room in the list buffer */
|
||||||
GLsizei spaceNeeded = (mode == GL_POLYGON || mode == GL_TRIANGLE_FAN) ? ((count - 2) * 3) : count;
|
GLsizei spaceNeeded = (mode == GL_POLYGON || mode == GL_TRIANGLE_FAN) ? ((count - 2) * 3) : count;
|
||||||
ClipVertex* start = aligned_vector_extend(&activeList->vector, spaceNeeded + 1);
|
ClipVertex* start = aligned_vector_extend(&activeList->vector, spaceNeeded + 1);
|
||||||
|
uint32_t startOffset = start - (ClipVertex*) activeList->vector.data;
|
||||||
|
|
||||||
/* Store a pointer to the header for later */
|
/* Store a pointer to the header for later */
|
||||||
PVRHeader* header = (PVRHeader*) start++;
|
PVRHeader* header = (PVRHeader*) start++;
|
||||||
|
@ -828,11 +829,15 @@ static void submitVertices(GLenum mode, GLsizei first, GLsizei count, GLenum typ
|
||||||
fprintf(stderr, "%x\n", *((uint32_t*)v));
|
fprintf(stderr, "%x\n", *((uint32_t*)v));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
profiler_checkpoint("clip");
|
profiler_checkpoint("clip");
|
||||||
|
|
||||||
|
/* Clipping may have realloc'd so reset the start pointer */
|
||||||
|
start = ((ClipVertex*) activeList->vector.data) + startOffset;
|
||||||
|
|
||||||
divide(start, spaceNeeded);
|
divide(start, spaceNeeded);
|
||||||
|
|
||||||
profiler_checkpoint("divide");
|
profiler_checkpoint("divide");
|
||||||
|
|
Loading…
Reference in New Issue
Block a user