mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	svc: updated WaitSynchronizationN to properly use first pointer argument
This commit is contained in:
		
							parent
							
								
									4819e9a60f
								
							
						
					
					
						commit
						477b0caca4
					
				
					 2 changed files with 6 additions and 4 deletions
				
			
		|  | @ -766,7 +766,9 @@ template<int func(u32, s64)> void WrapI_US64() { | |||
| } | ||||
| 
 | ||||
| template<int func(void*, void*, u32, u32, s64)> void WrapI_VVUUS64() { | ||||
|     int retval = func(Memory::GetPointer(PARAM(5)), Memory::GetPointer(PARAM(1)), PARAM(2), PARAM(3), (((u64)PARAM(4) << 32) | PARAM(0))); | ||||
|     u32 param_1 = 0; | ||||
|     int retval = func(¶m_1, Memory::GetPointer(PARAM(1)), PARAM(2), PARAM(3), (((u64)PARAM(4) << 32) | PARAM(0))); | ||||
|     Core::g_app_core->SetReg(1, param_1); | ||||
|     RETURN(retval); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -147,7 +147,7 @@ Result WaitSynchronization1(Handle handle, s64 nano_seconds) { | |||
| Result WaitSynchronizationN(void* _out, void* _handles, u32 handle_count, u32 wait_all,  | ||||
|     s64 nano_seconds) { | ||||
|     // TODO(bunnei): Do something with nano_seconds, currently ignoring this
 | ||||
| 
 | ||||
|     s32* out = (s32*)_out; | ||||
|     Handle* handles = (Handle*)_handles; | ||||
|     bool unlock_all = true; | ||||
| 
 | ||||
|  | @ -167,7 +167,7 @@ Result WaitSynchronizationN(void* _out, void* _handles, u32 handle_count, u32 wa | |||
|         Result res = object->WaitSynchronization(&wait); | ||||
| 
 | ||||
|         if (!wait && !wait_all) { | ||||
|             Core::g_app_core->SetReg(1, i); | ||||
|             *out = i; | ||||
|             return 0; | ||||
|         } else { | ||||
|             unlock_all = false; | ||||
|  | @ -175,7 +175,7 @@ Result WaitSynchronizationN(void* _out, void* _handles, u32 handle_count, u32 wa | |||
|     } | ||||
| 
 | ||||
|     if (wait_all && unlock_all) { | ||||
|         Core::g_app_core->SetReg(1, handle_count); | ||||
|         *out = handle_count; | ||||
|         return 0; | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue