mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-13 18:28:35 +12:00
fix barrier type mfc transfers
This commit is contained in:
parent
c5dcef52fa
commit
a5d4e58ddd
1 changed files with 7 additions and 2 deletions
|
@ -895,7 +895,7 @@ bool SPUThread::do_dma_check(const spu_mfc_cmd& args)
|
||||||
{
|
{
|
||||||
const u32 mask = 1u << args.tag;
|
const u32 mask = 1u << args.tag;
|
||||||
|
|
||||||
if (UNLIKELY(mfc_barrier & mask || (args.cmd & MFC_FENCE_MASK && mfc_fence & mask)))
|
if (UNLIKELY(mfc_barrier & mask || (args.cmd & (MFC_BARRIER_MASK | MFC_FENCE_MASK) && mfc_fence & mask)))
|
||||||
{
|
{
|
||||||
// Check for special value combination (normally impossible)
|
// Check for special value combination (normally impossible)
|
||||||
if (false)
|
if (false)
|
||||||
|
@ -1080,8 +1080,13 @@ void SPUThread::do_mfc(bool wait)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args.cmd & MFC_FENCE_MASK && fence & mask)
|
if (args.cmd & (MFC_BARRIER_MASK | MFC_FENCE_MASK) && fence & mask)
|
||||||
{
|
{
|
||||||
|
if (args.cmd & MFC_BARRIER_MASK)
|
||||||
|
{
|
||||||
|
barrier |= mask;
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue