rsx: Skip unknown/invalid commands in cb

This commit is contained in:
kd-11 2017-03-21 14:58:25 +03:00 committed by Zangetsu38
parent c27283c0d8
commit 423f41d7d3

View file

@ -29,9 +29,11 @@ namespace rsx
std::array<rsx_method_t, 0x10000 / 4> methods{};
[[noreturn]] void invalid_method(thread*, u32 _reg, u32 arg)
void invalid_method(thread*, u32 _reg, u32 arg)
{
fmt::throw_exception("Invalid RSX method 0x%x (arg=0x%x)" HERE, _reg << 2, arg);
//Don't throw, gather information and ignore broken/garbage commands
//TODO: Investigate why these commands are executed at all. (Heap corruption? Alignment padding?)
LOG_ERROR(RSX, "Invalid RSX method 0x%x (arg=0x%x)" HERE, _reg << 2, arg);
}
template<typename Type> struct vertex_data_type_from_element_type;