diff --git a/rpcs3/Emu/RSX/rsx_methods.cpp b/rpcs3/Emu/RSX/rsx_methods.cpp index 8c52039e95..5ac11fd75b 100644 --- a/rpcs3/Emu/RSX/rsx_methods.cpp +++ b/rpcs3/Emu/RSX/rsx_methods.cpp @@ -29,9 +29,11 @@ namespace rsx std::array 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 struct vertex_data_type_from_element_type;