diff options
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 6555db5bb..c2a931469 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, | |||
| 169 | ASSERT(buffer.IsEnabled()); | 169 | ASSERT(buffer.IsEnabled()); |
| 170 | 170 | ||
| 171 | glEnableVertexAttribArray(index); | 171 | glEnableVertexAttribArray(index); |
| 172 | glVertexAttribFormat(index, attrib.ComponentCount(), MaxwellToGL::VertexType(attrib), | 172 | if (attrib.type == Tegra::Engines::Maxwell3D::Regs::VertexAttribute::Type::SignedInt || |
| 173 | attrib.IsNormalized() ? GL_TRUE : GL_FALSE, attrib.offset); | 173 | attrib.type == Tegra::Engines::Maxwell3D::Regs::VertexAttribute::Type::UnsignedInt) { |
| 174 | glVertexAttribIFormat(index, attrib.ComponentCount(), MaxwellToGL::VertexType(attrib), | ||
| 175 | attrib.offset); | ||
| 176 | } else { | ||
| 177 | glVertexAttribFormat(index, attrib.ComponentCount(), MaxwellToGL::VertexType(attrib), | ||
| 178 | attrib.IsNormalized() ? GL_TRUE : GL_FALSE, attrib.offset); | ||
| 179 | } | ||
| 174 | glVertexAttribBinding(index, attrib.buffer); | 180 | glVertexAttribBinding(index, attrib.buffer); |
| 175 | } | 181 | } |
| 176 | 182 | ||