Review to avoid UBSAN complaining #1891
This commit is contained in:
parent
18e9784c6d
commit
30a9a24db9
1 changed files with 10 additions and 2 deletions
12
src/rlgl.h
12
src/rlgl.h
|
@ -3687,7 +3687,11 @@ void rlDrawVertexArray(int offset, int count)
|
|||
// Draw vertex array elements
|
||||
void rlDrawVertexArrayElements(int offset, int count, const void *buffer)
|
||||
{
|
||||
glDrawElements(GL_TRIANGLES, count, GL_UNSIGNED_SHORT, (const unsigned short *)buffer + offset);
|
||||
// NOTE: Added pointer math separately from function to avoid UBSAN complaining
|
||||
unsigned short *bufferPtr = (unsigned short *)buffer;
|
||||
if (offset > 0) bufferPtr += offset;
|
||||
|
||||
glDrawElements(GL_TRIANGLES, count, GL_UNSIGNED_SHORT, (const unsigned short *)bufferPtr);
|
||||
}
|
||||
|
||||
// Draw vertex array instanced
|
||||
|
@ -3702,7 +3706,11 @@ void rlDrawVertexArrayInstanced(int offset, int count, int instances)
|
|||
void rlDrawVertexArrayElementsInstanced(int offset, int count, const void *buffer, int instances)
|
||||
{
|
||||
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
|
||||
glDrawElementsInstanced(GL_TRIANGLES, count, GL_UNSIGNED_SHORT, (const unsigned short *)buffer + offset, instances);
|
||||
// NOTE: Added pointer math separately from function to avoid UBSAN complaining
|
||||
unsigned short *bufferPtr = (unsigned short *)buffer;
|
||||
if (offset > 0) bufferPtr += offset;
|
||||
|
||||
glDrawElementsInstanced(GL_TRIANGLES, count, GL_UNSIGNED_SHORT, (const unsigned short *)bufferPtr, instances);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue