diff --git a/rpcs3/Emu/RSX/RSXThread.cpp b/rpcs3/Emu/RSX/RSXThread.cpp index 12f4ae9fd3..4c5b744757 100644 --- a/rpcs3/Emu/RSX/RSXThread.cpp +++ b/rpcs3/Emu/RSX/RSXThread.cpp @@ -344,6 +344,9 @@ void RSXThread::DoCmd(const u32 fcmd, const u32 cmd, const u32 args_addr, const case_range(16, NV4097_SET_TEX_COORD_CONTROL, 4); { LOG_WARNING(RSX, "TODO: NV4097_SET_TEX_COORD_CONTROL"); + const u32 a0 = ARGS(0); + u8 texMask2D = a0 & 1; + u8 texMaskCentroid = (a0 >> 4) & 1; break; } diff --git a/rpcs3/Emu/SysCalls/Modules/cellSpurs.cpp b/rpcs3/Emu/SysCalls/Modules/cellSpurs.cpp index 0d9d91ffa3..49520eede7 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellSpurs.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellSpurs.cpp @@ -191,7 +191,7 @@ s32 cellSpursEventFlagGetTasksetAddress(vm::ptr eventFlag, v // // SPURS lock free queue functions // -s32 _cellSpursLFQueueInitialize(); +s32 _cellSpursLFQueueInitialize(vm::ptr pTasksetOrSpurs, vm::ptr pQueue, vm::cptr buffer, u32 size, u32 depth, u32 direction); s32 _cellSpursLFQueuePushBody(); s32 cellSpursLFQueueDetachLv2EventQueue(); s32 cellSpursLFQueueAttachLv2EventQueue(); @@ -3272,9 +3272,10 @@ s32 cellSpursEventFlagGetTasksetAddress(vm::ptr eventFlag, v return CELL_OK; } -s32 _cellSpursLFQueueInitialize() +s32 _cellSpursLFQueueInitialize(vm::ptr pTasksetOrSpurs, vm::ptr pQueue, vm::cptr buffer, u32 size, u32 depth, u32 direction) { - UNIMPLEMENTED_FUNC(cellSpurs); + cellSpurs.Todo("_cellSpursLFQueueInitialize(pTasksetOrSpurs=*0x%x, pQueue=*0x%x, buffer=*0x%x, size=0x%x, depth=0x%x, direction=%d)", pTasksetOrSpurs, pQueue, buffer, size, depth, direction); + return CELL_OK; } diff --git a/rpcs3/Emu/SysCalls/Modules/cellSpurs.h b/rpcs3/Emu/SysCalls/Modules/cellSpurs.h index ad05f23f9c..4bb4854482 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellSpurs.h +++ b/rpcs3/Emu/SysCalls/Modules/cellSpurs.h @@ -1,5 +1,7 @@ #pragma once +#include "cellSync.h" + namespace vm { using namespace ps3; } struct CellSpurs; @@ -641,6 +643,8 @@ struct set_alignment(128) CellSpursEventFlag CHECK_SIZE_ALIGN(CellSpursEventFlag, 128, 128); +using CellSpursLFQueue = CellSyncLFQueue; + union CellSpursTaskArgument { be_t _u32[4];