Merge pull request #926 from ogniK5377/vertex-attrib-format

gl_rasterizer: Fix glVertexAttribFormat for integers
This commit is contained in:
bunnei 2018-08-05 01:38:54 -04:00 committed by GitHub
commit ce46fb27ca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -169,8 +169,14 @@ std::pair<u8*, GLintptr> RasterizerOpenGL::SetupVertexArrays(u8* array_ptr,
ASSERT(buffer.IsEnabled()); ASSERT(buffer.IsEnabled());
glEnableVertexAttribArray(index); glEnableVertexAttribArray(index);
glVertexAttribFormat(index, attrib.ComponentCount(), MaxwellToGL::VertexType(attrib), if (attrib.type == Tegra::Engines::Maxwell3D::Regs::VertexAttribute::Type::SignedInt ||
attrib.IsNormalized() ? GL_TRUE : GL_FALSE, attrib.offset); 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); glVertexAttribBinding(index, attrib.buffer);
} }