rsx: Discard queue if RET is found without CALL

This commit is contained in:
kd-11 2017-11-26 15:51:16 +03:00
parent da1e97618b
commit 90a3f3af30
1 changed files with 7 additions and 0 deletions

View File

@ -545,6 +545,13 @@ namespace rsx
} }
if (cmd == RSX_METHOD_RETURN_CMD) if (cmd == RSX_METHOD_RETURN_CMD)
{ {
if (m_call_stack.size() == 0)
{
LOG_ERROR(RSX, "FIFO: RET found without corresponding CALL. Discarding queue");
internal_get = put;
continue;
}
u32 get = m_call_stack.top(); u32 get = m_call_stack.top();
m_call_stack.pop(); m_call_stack.pop();
//LOG_WARNING(RSX, "rsx return(0x%x)", get); //LOG_WARNING(RSX, "rsx return(0x%x)", get);