gl_rasterizer: Normalize vertex array data as appropriate.

This commit is contained in:
bunnei 2018-03-25 00:09:53 -04:00
parent d4fb8a887c
commit a6cab532f8
2 changed files with 5 additions and 1 deletions

View file

@ -222,6 +222,10 @@ public:
UNREACHABLE();
return {};
}
bool IsNormalized() const {
return (type == Type::SignedNorm) || (type == Type::UnsignedNorm);
}
};
enum class PrimitiveTopology : u32 {

View file

@ -178,7 +178,7 @@ void RasterizerOpenGL::SetupVertexArray(u8* array_ptr, GLintptr buffer_offset) {
for (unsigned index = 0; index < 16; ++index) {
auto& attrib = regs.vertex_attrib_format[index];
glVertexAttribPointer(index, attrib.ComponentCount(), MaxwellToGL::VertexType(attrib),
GL_FALSE, vertex_array.stride,
attrib.IsNormalized() ? GL_TRUE : GL_FALSE, vertex_array.stride,
reinterpret_cast<GLvoid*>(buffer_offset + attrib.offset));
glEnableVertexAttribArray(index);
hw_vao_enabled_attributes[index] = true;