diff options
| author | Stenzek <stenzek@gmail.com> | 2020-04-01 13:16:07 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2020-04-02 12:51:41 +1000 |
| commit | a9c1dcf6565517b75ec33e935931249afdb3427c (patch) | |
| tree | 92f02bbc6fa597e0e06c053be169bd30343cf7a2 /Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp | |
| parent | ee98042b814e557a5dbc4284e6b5849eef6f31db (diff) | |
VertexManagerBase: Skip drawing objects with mismatched xf/bp stages
Hardware tests have shown that if the number of texgens/channels do not
match, you get garbage rendering. Presumably because the output
registers from the XF stage are fed into the incorrect input registers
for TEV/BP.
Currently, this causes Dolphin to crash/generate invalid shaders with an
assertion failure in the hardware backends. Instead, we log an error.
Perhaps in the future we should just spit out all texgens/colors anyway
from both stages, and let cross-stage optimization take care of DCE'ing
it away. But doing so would require changing the UIDs and invalidating
everyone's shader caches.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp')
0 files changed, 0 insertions, 0 deletions
