gl_rasterizer: Implement constant vertex attributes
Credits go to gdkchan from Ryujinx for finding constant attributes are used in retail games.
This commit is contained in:
parent
7e4a132a77
commit
6dfcabc800
|
@ -303,6 +303,10 @@ public:
|
|||
return (type == Type::SignedNorm) || (type == Type::UnsignedNorm);
|
||||
}
|
||||
|
||||
bool IsConstant() const {
|
||||
return constant;
|
||||
}
|
||||
|
||||
bool IsValid() const {
|
||||
return size != Size::Invalid;
|
||||
}
|
||||
|
|
|
@ -140,8 +140,8 @@ void RasterizerOpenGL::SetupVertexFormat() {
|
|||
const auto attrib = gpu.regs.vertex_attrib_format[index];
|
||||
const auto gl_index = static_cast<GLuint>(index);
|
||||
|
||||
// Ignore invalid attributes.
|
||||
if (!attrib.IsValid()) {
|
||||
// Disable constant attributes.
|
||||
if (attrib.IsConstant()) {
|
||||
glDisableVertexAttribArray(gl_index);
|
||||
continue;
|
||||
}
|
||||
|
|
Reference in New Issue