GPU: Intercept writes to the VERTEX_END_GL register.

This is the register that gets written after a game calls DrawArrays().

We should collect all GPU state and draw using our graphics API here.
This commit is contained in:
Subv
2018-03-04 19:13:15 -05:00
parent 80562aaf64
commit 5fb4c718cc
2 changed files with 18 additions and 1 deletions

View File

@ -19,6 +19,10 @@ void Maxwell3D::WriteReg(u32 method, u32 value) {
#define MAXWELL3D_REG_INDEX(field_name) (offsetof(Regs, field_name) / sizeof(u32))
switch (method) {
case MAXWELL3D_REG_INDEX(draw.vertex_end_gl): {
DrawArrays();
break;
}
case MAXWELL3D_REG_INDEX(query.query_get): {
ProcessQueryGet();
break;
@ -47,5 +51,10 @@ void Maxwell3D::ProcessQueryGet() {
UNIMPLEMENTED_MSG("Query mode %u not implemented", regs.query.query_get.mode.Value());
}
}
void Maxwell3D::DrawArrays() {
LOG_WARNING(HW_GPU, "Game requested a DrawArrays, ignoring");
}
} // namespace Engines
} // namespace Tegra