summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2020-04-01 13:16:07 +1000
committerStenzek <stenzek@gmail.com>2020-04-02 12:51:41 +1000
commita9c1dcf6565517b75ec33e935931249afdb3427c (patch)
tree92f02bbc6fa597e0e06c053be169bd30343cf7a2 /Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
parentee98042b814e557a5dbc4284e6b5849eef6f31db (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/VideoBackends/OGL/ProgramShaderCache.cpp')
0 files changed, 0 insertions, 0 deletions