mirror of
https://github.com/scratchfoundation/bgfx.git
synced 2025-02-17 20:31:57 -05:00
Manually merged pull request #508.
This commit is contained in:
parent
5b7f5305b8
commit
d13fe2321a
2 changed files with 23 additions and 1 deletions
|
@ -200,6 +200,7 @@ typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLf
|
|||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
|
||||
typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
|
||||
|
@ -374,6 +375,7 @@ GL_IMPORT______(false, PFNGLUNIFORMMATRIX4FVPROC, glUniformMatr
|
|||
GL_IMPORT______(false, PFNGLUSEPROGRAMPROC, glUseProgram);
|
||||
GL_IMPORT______(true, PFNGLVERTEXATTRIBDIVISORPROC, glVertexAttribDivisor);
|
||||
GL_IMPORT______(false, PFNGLVERTEXATTRIBPOINTERPROC, glVertexAttribPointer);
|
||||
GL_IMPORT______(true, PFNGLVERTEXATTRIBIPOINTERPROC, glVertexAttribIPointer);
|
||||
GL_IMPORT______(false, PFNGLVERTEXATTRIB1FPROC, glVertexAttrib1f);
|
||||
GL_IMPORT______(false, PFNGLVERTEXATTRIB2FPROC, glVertexAttrib2f);
|
||||
GL_IMPORT______(false, PFNGLVERTEXATTRIB3FPROC, glVertexAttrib3f);
|
||||
|
|
|
@ -3586,7 +3586,27 @@ namespace bgfx { namespace gl
|
|||
GL_CHECK(glVertexAttribDivisor(loc, 0) );
|
||||
|
||||
uint32_t baseVertex = _baseVertex*_vertexDecl.m_stride + _vertexDecl.m_offset[attr];
|
||||
GL_CHECK(glVertexAttribPointer(loc, num, s_attribType[type], normalized, _vertexDecl.m_stride, (void*)(uintptr_t)baseVertex) );
|
||||
if ( (BX_ENABLED(BGFX_CONFIG_RENDERER_OPENGL >= 30) || BX_ENABLED(BGFX_CONFIG_RENDERER_OPENGLES >= 31) )
|
||||
&& (AttribType::Uint8 == type || AttribType::Int16 == type)
|
||||
&& !normalized)
|
||||
{
|
||||
GL_CHECK(glVertexAttribIPointer(loc
|
||||
, num
|
||||
, s_attribType[type]
|
||||
, _vertexDecl.m_stride
|
||||
, (void*)(uintptr_t)baseVertex)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
GL_CHECK(glVertexAttribPointer(loc
|
||||
, num
|
||||
, s_attribType[type]
|
||||
, normalized
|
||||
, _vertexDecl.m_stride
|
||||
, (void*)(uintptr_t)baseVertex)
|
||||
);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue