Commit Graph

1796 Commits (7da90dee42cad7b3c3cabded4c8ce3426144c140)

Author SHA1 Message Date
Kevin Hartman a6fdb8f217 Fix error message for bad config block request. 11 years ago
Emmanuel Gil Peyrot 54d6f6c82b Common: Change names containing “Dolphin” or “PPSSPP” to something more generic. 11 years ago
bunnei 5f9939070e Merge pull request #588 from archshift/somebranch
Sweeping cleanup of Common
11 years ago
archshift 4fb75d220a Misc cleanup of common and related functions 11 years ago
archshift 302f0b32f5 Remove duplication of INSERT_PADDING_WORDS between pica.h and gpu.h 11 years ago
bunnei c7d1480ece Merge pull request #587 from archshift/assert
Convert a few C stdlib asserts to Citra's own asserts
11 years ago
archshift 49f94b82b4 Remove "super lame/broken" file_search compilation unit that was leftover from Dolphin 11 years ago
archshift 961f65d1fe Remove redundant utf8 compilation unit that was leftover from Dolphin 11 years ago
archshift 9f7f1a2272 Remove useless extended_trace compilation unit that was leftover from Dolphin 11 years ago
archshift 5efd149ad5 Remove the useless msg_handler compilation unit that was left over from Dolphin 11 years ago
archshift 3c48697ea3 Convert a few C stdlib asserts to Citra's own asserts 11 years ago
Subv 5410367ebf Rasterizer: Fixed a warning in GetWrappedTexCoord.
Redeclaring the variable inside the switch was causing weird behavior.
11 years ago
bunnei ec8f2210e3 Merge pull request #580 from lioncash/emplace
core/video_core: Use in-place construction where possible
11 years ago
Tony Wasserka 2eee3a87f9 Pica/Rasterizer: Replace exit() calls with UNIMPLEMENTED(). 11 years ago
Tony Wasserka 6e5a903286 Pica/Rasterizer: Make some local lambdas static. 11 years ago
Tony Wasserka 1561204342 Pica/BlendUnit: Implement separate color/alpha blend equations. 11 years ago
Tony Wasserka 81ebb4d682 Pica/TextureEnvironment: Add a note. 11 years ago
Tony Wasserka e11fb96408 Pica/TextureEnvironment: Treat texture combiner source 1 as the PrimaryColor.
Not really sure where the difference is, but some applications seem to use this 1:1 the same way...
11 years ago
Tony Wasserka 04cd06d5c2 Pica/TextureEnvironment: Add support for the MAD-like texture combiners and clean up texture environment logic. 11 years ago
Tony Wasserka 087edcfbec Pica/OutputMerger: Fix flipped framebuffers. 11 years ago
Tony Wasserka 6ca752ccbc Pica/TextureUnit: Implement mirrored repeating texture wrapping. 11 years ago
Tony Wasserka 8bd7a896ea Pica: Fix a bug in the register definitions, relating to texture wrapping. 11 years ago
Tony Wasserka aaf30ca4ee Pica/OutputMerger: Implement color format checking. 11 years ago
Tony Wasserka 3b5710bae6 Pica/Rasterizer: Rasterize actual pixel centers instead of pixel corners. 11 years ago
Tony Wasserka 3cb22d31a7 Pica/Rasterizer: Fix garbage pixels at triangle borders. 11 years ago
Tony Wasserka 638b370fb5 Pica/Rasterizer: Clean up and fix backface culling. 11 years ago
Tony Wasserka 365236fa4c Pica: Cleanup clipping code and change screenspace z to range from -1..0.
The change in depth range seems to reflect better to what applications are expecting, and makes for cleaner code overall (hence is more likely to reflect hardware behavior).
11 years ago
Tony Wasserka 70a764d992 Pica/VertexShader: Implement the LOOP instruction. 11 years ago
Tony Wasserka 6c26ec72a5 Pica/CommandProcessor: Properly implement shader load destination offset registers. 11 years ago
Tony Wasserka 67120270f2 Pica/CommandProcessor: Work around initialized vertex attributes some more. 11 years ago
Tony Wasserka 0da6a7e234 GPU: Properly implement memory fills. 11 years ago
bunnei 745b42d236 Merge pull request #570 from purpasmart96/config_mem
ConfigMem: Clean up the Config memory to be more like the shared page
11 years ago
bunnei 8e731b129d Merge pull request #582 from lioncash/warnings
vfpinstr: Fix trivial signed/unsigned mismatch warnings
11 years ago
bunnei 60f9cd6a4a Merge pull request #579 from lioncash/bkpt
dyncom: Support conditional BKPT instructions
11 years ago
Yuri Kunde Schlesner 714d507938 Asserts: Use lambdas to keep assertion code away from the main code path 11 years ago
Lioncash 4f910bb1a1 vfpinstr: Fix trivial signed/unsigned mismatch warnings 11 years ago
Lioncash 5d2366e1e9 core/video_core: Use in-place construction where possible 11 years ago
Lioncash a7120662e6 dyncom: Support conditional BKPT instructions 11 years ago
Tony Wasserka a78b8b1bc4 Merge pull request #578 from linkmauve/math-typo
VideoCore: Fix a typo in Vec4 MakeVec(T, Vec3<T>), where the second argument was Vec2<T> instead
11 years ago
purpasmart96 c3c309f33d ConfigMem: Clean up the Config memory to be more like the shared page and moved
the helper macro for padding to common_funcs.h
11 years ago
Emmanuel Gil Peyrot 8a1c08a0af VideoCore: Fix a typo in Vec4 MakeVec(T, Vec3<T>), where the second argument was Vec2<T> instead. 11 years ago
Subv cb3d254517 Services: Fixed "Tried to connect to named port err:f".
err:f is a named port, not a service
11 years ago
bunnei 2b2b343ce0 Merge pull request #574 from lioncash/warn
vfpdouble: Use %p for printing pointer addresses.
11 years ago
Lioncash 012d1e32ad dyncom: Actually set the destination register for USAD8/USADA8.
Idiotville: Population: 1 - Inhabitant name: Lioncash
11 years ago
Lioncash f0c4bd629c vfpdouble: Use %p for printing pointer addresses. 11 years ago
bunnei 20dc07721c Merge pull request #539 from linkmauve/framebuffer-formats
Framebuffer formats
11 years ago
Emmanuel Gil Peyrot c439b3074d video_core: Implement the remaining framebuffer formats in the OpenGL renderer. 11 years ago
Lioncash 473afa4530 arm: Set the A bit on reset.
This enum value is ORed against in ARMul_Reset (and used to refer to all interrupt bits in the CPSR). So simply updating this is enough.
11 years ago
bunnei 12181c8a64 Merge pull request #529 from Subv/master
Build: Fixed some warnings
11 years ago
Lioncash 0c6434c379 core: Apply static to local functions 11 years ago
Lioncash a75e1ff6e6 arm: General cleanup
- Remove several typedefs for ARMul_State.
- Remove unused functions
- Remove unused/unnecessary headers
- Removed unused enums, etc.
11 years ago
bunnei 9b69079c83 Merge pull request #569 from lioncash/modeswitch
Dyncom: Correctly set the ARM modes on dyncom initialization.
11 years ago
Lioncash b7fac494cd dyncom: Switch the app and system cores into the correct mode at initialization 11 years ago
Lioncash c3211c9c80 dyncom: Clean up the constructor
Some function calls aren't necessary and would be handled by regular initialization routines.
11 years ago
Lioncash 3c474a7d31 backend: Add logging subentry for ldr
Fixes an assertion upon executing citra in debug mode.
11 years ago
bunnei befa556b78 Merge pull request #567 from lioncash/warn
dyncom: Remove warning for SXTAH
11 years ago
Lioncash df9e0c0f81 dyncom: Remove warning for SXTAH
This is tested to work correctly.
11 years ago
bunnei f7cde47911 Merge pull request #561 from Alegend45/master
Fix Min and Max blend equations
11 years ago
Lioncash e3f5c6366c arm: Remove ARMul_EmulateInit
This was only used for armemu, which has since been removed. Removed components related to this as well.
11 years ago
Subv 8e2b248e05 Build: Fixed some warnings 11 years ago
Lioncash f48b0100a6 armdefs: Remove unnecessary extern C 11 years ago
Darius Goad 5db62cc758 Fix Min and Max blend equations 11 years ago
Tony Wasserka f990728ad4 Merge pull request #384 from neobrain/vertex_shader_debugger
Vertex shader debugger
11 years ago
Kevin Hartman a56f3f290e Implemented WriteHWRegsWithMask for GSP. 11 years ago
Lioncash 49a22acd02 arm: Remove ARM26 support.
This will never be used. 32-bit is the norm.
11 years ago
bunnei c51b23b052 Merge pull request #559 from lioncash/clean
arm: Some cleanup. Also fixed the initial ARM mode that is emulated.
11 years ago
Lioncash c94c41f95a arm: Get rid of some magic constants. Specify proper ARM mode.
Initially, we were starting the emulator in USER26MODE, which is incorrect, this should be USER32MODE.
11 years ago
Lioncash 93cd199633 arm: Change some more constants into enums 11 years ago
Tony Wasserka 12a5cd1d65 citra-qt: Add a vertex shader debugger. 11 years ago
Tony Wasserka 3f649dc9b8 Pica/DebugUtils: Factor out BreakPointObserverDock into its own file. 11 years ago
archshift ef24e72b26 Asserts: break/crash program, fit to style guide; log.h->assert.h
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time)
As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing)

Also removed some GEKKO cruft.
11 years ago
bunnei 168eb27aee GSP: Fixed typo in SignalInterrupt 11 years ago
bunnei 76e7d41f88 Merge pull request #552 from bunnei/setbufferswap-fix
GSP SetBufferSwap fix
11 years ago
bunnei 9eae2400c0 GSP: Call SetBufferSwap for each screen on corresponding signal interrupt. 11 years ago
bunnei ca22ee3239 Merge pull request #526 from purpasmart96/citra_stubs
Services: Stub some functions
11 years ago
bunnei 5b735bdeea Merge pull request #556 from lioncash/clean
arm: Remove TRUE/FALSE defines
11 years ago
bunnei 8f35772bd7 Merge pull request #555 from lioncash/lut
arm_dyncom_thumb: Make lookup tables static
11 years ago
Lioncash 088fab743f arm: Remove TRUE/FALSE defines
- Removed the Debug parameter from ARMul_State since it isn't used.
- Changed ARMul_CoProInit to a void function. It always returned true.
11 years ago
Subv 0d2b6dd656 PTM: Fixed a problem with the gamecoin PTM file. 11 years ago
Subv 1bbf0567b1 Archives: Made the Format function more generic. 11 years ago
Subv 071663e074 Archives: Expose the File and Directory classes to HLE 11 years ago
Subv ca1a87ef7d ResultVal: Fixed compilation when reassigning a ResultVal. 11 years ago
Yuri Kunde Schlesner 3f1a3952d7 FS: Allow multiple instances of the same archive type to be open at once 11 years ago
Yuri Kunde Schlesner 4468625080 FS: Get rid of completely useless Archive class 11 years ago
Lioncash 8d2fb3bb2b arm_dyncom_thumb: Make lookup tables static
These don't need to be recreated all the time.
11 years ago
bunnei 67db6aa4ce Merge pull request #553 from lioncash/denorm
vfp: Normalize accumulator for multiply accumulate instructions
11 years ago
Lioncash 3eccc66abf dyncom: Add more regs to MCR/MRC
Adds the registers that were left out of some coprocessor ranges.
11 years ago
Lioncash a86d5e2752 vfp: Normalize accumulator for multiply accumulate instructions 11 years ago
Tony Wasserka eb83ac48aa Merge pull request #543 from Alegend45/master
Add more blend equations from 3dbrew
11 years ago
Kevin Hartman 5fcbfc06eb Scheduler refactor Pt. 1
* Simplifies scheduling logic, specifically regarding thread status. It should be much clearer which statuses are valid
for a thread at any given point in the system.
* Removes dead code from thread.cpp.
* Moves the implementation of resetting a ThreadContext to the corresponding core's implementation.

Other changes:
* Fixed comments in arm interfaces.
* Updated comments in thread.cpp
* Removed confusing, useless, functions like MakeReady() and ChangeStatus() from thread.cpp.
* Removed stack_size from Thread. In the CTR kernel, the thread's stack would be allocated before thread creation.
11 years ago
bunnei 848795f383 Merge pull request #551 from bunnei/mutex-fixes
Mutex/synch fixes
11 years ago
bunnei 1b0bf00cbc Mutex: Locks should be recursive. 11 years ago
bunnei caa58acc84 WaitSynch: Always reschedule (verified behavior on hw). 11 years ago
Darius Goad 536958fb29 Add more blend equations from 3dbrew 11 years ago
Lioncash 53fa04f326 vfpdouble: Fix the FTOUI NaN sign setting
This was fixed for vfpsingle, but not vfpdouble
11 years ago
Lioncash a734e9fdca Throw more unused/unnecessary VFP code out 11 years ago
Lioncash ca7babe062 vfp_helper: Convert some flags to enums. Throw out more duplicated FPSCR stuff 11 years ago
Lioncash d832c48864 vfp_helper: Normalize tabs to spaces 11 years ago
purpasmart96 60ce36f721 Services: Stub some functions 11 years ago
chinhodado 34cce345a7 Fix a wrong file name in a comment 11 years ago
Lioncash 1ecd75ea1a vfp_helper: Remove unnecessary extern C blocks 11 years ago
Lioncash 3e576219c4 vfp: Move FPSID, FPEXC, and FPSCR values over to enums.
Also got rid of duplicate definitions of some of these values.
11 years ago
Tony Wasserka 1576a318f2 Merge pull request #535 from bunnei/color-modifiers
Implement color/alpha modifiers
11 years ago
bunnei 1eb591d6fd Rasterizer: Implement the other color and alpha modifiers. 11 years ago
bunnei 8c93a28fed VideoCore: Added same-component swizzlers to math utility functions. 11 years ago
bunnei 7f900ac68e Merge pull request #537 from lioncash/vfp
vfp: Fix VCVT
11 years ago
bunnei 4d36a6a255 Merge pull request #536 from lioncash/dead
vfp: Throw out unused code
11 years ago
Lioncash 82e8f25fe7 vfp: Fix VCVT
These variants exclusively read from the single precision regs and write to double-precision registers
Fixes issues where converted values would be way off from what they should be due to the results being stored in the wrong registers.
11 years ago
Lioncash 7ecedfb970 vfp: Throw out unused code 11 years ago
Tony Wasserka a45175ee0d Merge pull request #534 from neobrain/disassembler-improvements
Disassembler improvements
11 years ago
Tony Wasserka 5a90420c0b citra-qt: Fix horrible scrolling responsiveness in disassembler by giving the uniformRowHeight hint. 11 years ago
Tony Wasserka 79713d500b citra-qt: Fix a crash when double-clicking a disassembler list item. 11 years ago
Lioncash 3a5a39c6aa dyncom: Remove more unnecessary code 11 years ago
Lioncash 676daef3c7 core: Fix some warnings on OSX 11 years ago
Yuri Kunde Schlesner 88a4a808c6 Kernel: Stop creating useless Handles during object creation
They're finally unnecessary, and will stop cluttering the application's
handle table.
11 years ago
Yuri Kunde Schlesner 52f58e64ef Kernel: Make WaitObjects share ownership of Threads waiting on them
During normal operation, a thread waiting on an WaitObject and the
object hold mutual references to each other for the duration of the
wait.

If a process is forcefully terminated (The CTR kernel has a SVC to do
this, TerminateProcess, though no equivalent exists for threads.) its
threads would also be stopped and destroyed, leaving dangling pointers
in the WaitObjects.

The solution is to simply have the Thread remove itself from WaitObjects
when it is stopped. The vector of Threads in WaitObject has also been
changed to hold SharedPtrs, just in case. (Better to have a reference
cycle than a crash.)
11 years ago
Yuri Kunde Schlesner 7725256f64 Explicitly instantiate constructors/destructors for Kernel objects
This should speed up compile times a bit, as well as enable more liberal
use of forward declarations. (Due to SharedPtr not trying to emit the
destructor anymore.)
11 years ago
Yuri Kunde Schlesner 4e84df8be3 Mutex: Replace g_mutex_held_locks with a set inside Thread 11 years ago
Yuri Kunde Schlesner 0f69668fc6 HID: Fix crash when pressing a key when the emulator is stopped 11 years ago
Yuri Kunde Schlesner c4208c1171 SVC: Enable CloseHandle, clean up DuplicateHandle 11 years ago
Yuri Kunde Schlesner e8330dd162 Kernel: Fix bug in HandleTable::Close 11 years ago
Yuri Kunde Schlesner 5354a479bc Kernel: Remove Object::GetHandle (it's not used anymore :D) 11 years ago
Yuri Kunde Schlesner 869ec46683 Kernel: Introduce unique Object ids for debugging 11 years ago
Yuri Kunde Schlesner a9b86db3cf Kernel: Use separate Handle tables for CoreTiming userdata
This is to support the removal of GetHandle soon
11 years ago
Yuri Kunde Schlesner ec9c773251 Kernel: Remove previous scheduled event when a Timer is re-Set 11 years ago
Yuri Kunde Schlesner 8441591659 FS: Remove use of GetHandle 11 years ago
Yuri Kunde Schlesner 664c79ff47 Thread: Modernize two functions that slipped through previous rebases 11 years ago
Yuri Kunde Schlesner 6e11570862 Service: Store function names as const char* instead of std::string
Uses less memory (strings and function table is stored in constant data)
and speeds up start up (no need to allocate and copy strings).
11 years ago
Yuri Kunde Schlesner a79d21c83e Service: Clean-up Interface 11 years ago
Yuri Kunde Schlesner 8779b31fe6 Make Port/Service registration and querying more HW-accurate 11 years ago
Yuri Kunde Schlesner 5e91fc0d1a Filesys: Move creation of Handles for File/Directory to service handlers 11 years ago
Tony Wasserka e1f9f9ea04 Merge pull request #517 from bunnei/blend-factors
Pica: Implement blend factors.
11 years ago
bunnei c915d0b727 Merge pull request #514 from rohit-n/fix-warnings
Silence a few warnings.
11 years ago
bunnei c8628f5d56 Merge pull request #525 from lioncash/armwarn
vfp: Get rid of some compile warnings
11 years ago
Lioncash 8c944bd1f0 vfp: Get rid of some compile warnings 11 years ago
Lioncash 3f00dd9117 arm: Clean up ARMul_State
Remove unnecessary/unused struct variables.
11 years ago
Lioncash f44781fd7b arm: Adios armemu 11 years ago
Tony Wasserka 73a7a379d6 Merge pull request #512 from lioncash/assignment
shared_memory: Fix assignments in SharedMemory::Map
11 years ago
bunnei 72cc512b1e Pica: Implement blend factors. 11 years ago
Lioncash b6cfc48a0b dyncom: clean up arm_dyncom_dec.h 11 years ago
Lioncash fc1a9e35fb arm: Move headers over to pragma once 11 years ago
Lioncash 83bc1a3120 arm: Get rid of armcpu.h and skyeye_types.h 11 years ago
Lioncash 904194c3e8 arm: Clean out armos.h and armmmu.h 11 years ago
bunnei 88a62b671b Merge pull request #513 from lioncash/cleanup
arm: Cleanup.
11 years ago
Rohit Nirmal 5ebf35db96 Silence a few warnings. 11 years ago
Lioncash 09a66860e2 arm: Throw out a lot of unnecessary code 11 years ago
Lioncash 3dfef1701c armdefs: Move some defines over to enums 11 years ago
Lioncash 96c174aed4 shared_memory: Fix assignments in SharedMemory::Map 11 years ago
Lioncash 0c4685ca12 loader: Add missing printf argument 11 years ago
Lioncash 551264f815 archive: Fix initializer list order for the File class. 11 years ago
Lioncash 0c53cc52bd apt_u: Fix missing printf specifiers 11 years ago
Yuri Kunde Schlesner d917a9bf77 Kernel: Mark all appropriate kernel objects as "final" 11 years ago
Yuri Kunde Schlesner 58b544db99 SVC: Use CASCADE_RESULT in SVC handlers 11 years ago
Yuri Kunde Schlesner 09ae6e1fa3 Remove result.h InvalidHandle
It was only being used in two places, where it was replaced by a local
constant.
11 years ago
Yuri Kunde Schlesner 44f90340dc SVC: Change return type of handlers to ResultCode 11 years ago
Yuri Kunde Schlesner d52d859936 Kernel: Convert Event to not use Handles 11 years ago
Yuri Kunde Schlesner ad80ff1e32 Kernel: Convert Timer to (mostly) not use Handles 11 years ago
Yuri Kunde Schlesner 882b6fed75 Kernel: Convert Mutex to not use Handles 11 years ago
Yuri Kunde Schlesner 38e7122f23 Kernel: Convert AddressArbiter to not use Handles 11 years ago
Yuri Kunde Schlesner d9b19be1d9 Kernel: Convert Semaphore to not use Handles 11 years ago
Yuri Kunde Schlesner 4bb33dfc30 Kernel: Convert SharedMemory to not use Handles 11 years ago
Yuri Kunde Schlesner fc11aff955 Common: Fix SCOPE_EXIT to actually create unique identifiers. 11 years ago
Yuri Kunde Schlesner afc416c607 Additions to ResultVal to make it more convenient to use. 11 years ago
Yuri Kunde Schlesner b5ee4f9df9 Move VAddr/PAddr typedefs to kernel.h 11 years ago
Yuri Kunde Schlesner 9a345de2bd Kernel: Remove useless/duplicated comments; mark functions static 11 years ago
bunnei 206cabc0e4 Merge pull request #412 from purpasmart96/svc_table_cleanup
SVC: Update the SVC function table
11 years ago
bunnei b522cf4e6a Pica: Implement color/alpha channel enable. 11 years ago
bunnei b2c55bf772 Rasterizer: Implemented alpha testing. 11 years ago
Lioncash 7a3e371141 dyncom: Minor cleanup
Narrow scopes for the instruction variables. Remove unnecessary parentheses.
11 years ago
purpasmart96 62f4365db1 SVC: Update the SVC function table 11 years ago
bunnei 326c451758 Merge pull request #345 from purpasmart96/apt_stubs
APT_U: Stub some functions & misc changes
11 years ago
bunnei 547737f720 Update vfp.cpp
VFP: Changed a debug log to trace.
11 years ago
bunnei ff83d23ed5 GPU: Implement the remaining depth testing functions. 11 years ago
bunnei e7dd4d34aa Merge pull request #485 from Subv/more_servs
Services: Stubbed more services.
11 years ago
Subv 2ea60bdc7f Services/HID: Removed some files due to a rebase error 11 years ago
Subv c2e9990149 Services: Stubbed more services.
Implemented FSUser::CreateExtSaveData
11 years ago
bunnei cc34462b71 Merge pull request #410 from chinhodado/cleanup
Cleanup: Logging in Core
11 years ago
Lioncash e09fb7becc vfp: Clean up vertical alignment for instructions 11 years ago
purpasmart96 2dd23b6467 APT_U: Stub some functions & misc changes 11 years ago
archshift 92a75df9b1 cam_u.h: fix indentation
Withholding my profanity towards Xcode.
11 years ago
bunnei 92550013cf Merge pull request #493 from archshift/ptmplay
Stubbed some services
11 years ago
Lioncash 8810dfe1de dyncom: Minor cleanup
Removes some unused macros and cleans up indentation inconsistencies
11 years ago
bunnei 731154f79e WaitSynchronization: Added a result code for invalid result, fixed bug. 11 years ago
bunnei 68ddaaa2f5 Thread: Fix WaitSynchronization1 to not set register 1 on thread wakeup. 11 years ago
bunnei 4255f25647 Thread: Use std::find in CheckWait_WaitObject. 11 years ago
bunnei 2f3020a102 Mutex: Cleanup and remove redundant code. 11 years ago
bunnei f09806aed2 Kernel: Renamed some functions for clarity.
- ReleaseNextThread->WakeupNextThread
- ReleaseAllWaitingThreads->WakeupAllWaitingThreads.
11 years ago
bunnei 15b6a4d9ad Kernel: Changed "ShouldWait" to return bool and "Acquire" to return void. 11 years ago
bunnei c68eb15695 WaitObject: Renamed "Wait" to "ShouldWait", made "ShouldWait" and "Acquire" pure virtual. 11 years ago
bunnei 69c5830ef2 Event: Fix implementation of "non-sticky" events. 11 years ago
bunnei 9e6ec3b6cd Session: Change to a WaitObject. 11 years ago
bunnei d2759c578e Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs. 11 years ago
bunnei dde02f79af Mutex: Fix a bug where the thread should not wait if it already has the mutex. 11 years ago
bunnei 9412996c8f Kernel: Moved Wait and Acquire to WaitObject, added way to retrieve a WaitObject safely. 11 years ago
bunnei c06d64528a SVC: Removed a Sleep that made no sense
- Would deadlock the calling thread
- Code would never get hit anyways
11 years ago
bunnei 254e4ebd58 AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that made no sense. 11 years ago
bunnei e5a9f1c644 Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks. 11 years ago
bunnei 6deb1a0119 WaitSynchronizationN: Improved comments 11 years ago
bunnei 6643673f28 WaitSynchronizationN: Refactor to fix several bugs
- Separate wait checking from waiting the current thread
- Resume thread when wait_all=true only if all objects are available at once
- Set output to correct wait object index when there are duplicate handles
11 years ago
bunnei aa01c57ae9 Kernel: Separate WaitSynchronization into Wait and Acquire methods. 11 years ago