diff options
author | bunnei <bunneidev@gmail.com> | 2018-08-05 01:38:54 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-05 01:38:54 -0400 |
commit | ce46fb27ca6d771f0c34b81bde4711c65050274d (patch) | |
tree | cc84e9278faa81ec67f760726fe10da85521699d /src | |
parent | a0a605df06e82e13f3529d824a6bdd45839c8705 (diff) | |
parent | b96010bfa94f3127c33df8fb456e80080fc20753 (diff) |
Merge pull request #926 from ogniK5377/vertex-attrib-format
gl_rasterizer: Fix glVertexAttribFormat for integers
Diffstat (limited to 'src')
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 6555db5bbb..c2a9314695 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -169,8 +169,14 @@ std::pair<u8*, GLintptr> RasterizerOpenGL::SetupVertexArrays(u8* array_ptr, ASSERT(buffer.IsEnabled()); glEnableVertexAttribArray(index); - glVertexAttribFormat(index, attrib.ComponentCount(), MaxwellToGL::VertexType(attrib), - attrib.IsNormalized() ? GL_TRUE : GL_FALSE, attrib.offset); + if (attrib.type == Tegra::Engines::Maxwell3D::Regs::VertexAttribute::Type::SignedInt || + attrib.type == Tegra::Engines::Maxwell3D::Regs::VertexAttribute::Type::UnsignedInt) { + glVertexAttribIFormat(index, attrib.ComponentCount(), MaxwellToGL::VertexType(attrib), + attrib.offset); + } else { + glVertexAttribFormat(index, attrib.ComponentCount(), MaxwellToGL::VertexType(attrib), + attrib.IsNormalized() ? GL_TRUE : GL_FALSE, attrib.offset); + } glVertexAttribBinding(index, attrib.buffer); } |