Merge pull request #3662 from ReinUsesLisp/constant-attrs

gl_rasterizer: Implement constant vertex attributes
This commit is contained in:
Mat M 2020-04-15 11:54:50 -04:00 committed by GitHub
commit 64b5985f0a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 2 deletions

View file

@ -303,6 +303,10 @@ public:
return (type == Type::SignedNorm) || (type == Type::UnsignedNorm); return (type == Type::SignedNorm) || (type == Type::UnsignedNorm);
} }
bool IsConstant() const {
return constant;
}
bool IsValid() const { bool IsValid() const {
return size != Size::Invalid; return size != Size::Invalid;
} }

View file

@ -140,8 +140,8 @@ void RasterizerOpenGL::SetupVertexFormat() {
const auto attrib = gpu.regs.vertex_attrib_format[index]; const auto attrib = gpu.regs.vertex_attrib_format[index];
const auto gl_index = static_cast<GLuint>(index); const auto gl_index = static_cast<GLuint>(index);
// Ignore invalid attributes. // Disable constant attributes.
if (!attrib.IsValid()) { if (attrib.IsConstant()) {
glDisableVertexAttribArray(gl_index); glDisableVertexAttribArray(gl_index);
continue; continue;
} }