rsx: Skip unknown/invalid commands in cb
This commit is contained in:
@@ -29,9 +29,11 @@ namespace rsx
|
|||||||
|
|
||||||
std::array<rsx_method_t, 0x10000 / 4> methods{};
|
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;
|
template<typename Type> struct vertex_data_type_from_element_type;
|
||||||
|
|||||||
Reference in New Issue
Block a user