Commit Graph

2064 Commits (a9fd93347dff482a83d45d92c23e46fd6337089c)

Author SHA1 Message Date
Yuri Kunde Schlesner 7dbc27ff57 Remove unused concurrent_ring_buffer.h 10 years ago
purpasmart96 0fd727f3ad APT/FS: Remove asserts that were causing false positives 10 years ago
Yuri Kunde Schlesner 12f6216741 Merge pull request #774 from lioncash/decodings
dyncom: Add ARMv6K NOP and hint instructions to the interpreter.
10 years ago
bunnei 6abed88092 Merge pull request #770 from lioncash/dyncom_clean
dyncom: Minor cleanup.
10 years ago
bunnei ef8d0e9823 Merge pull request #761 from Subv/resource_limits
Core/ResourceLimits: Implemented the basic structure of ResourceLimits.
10 years ago
Yuri Kunde Schlesner a188e0fa57 Merge pull request #675 from jroweboy/windows-build-fixes
Windows build fixes
10 years ago
Subv d3634d4bf4 Core/ResourceLimits: Implemented the basic structure of ResourceLimits.
Implemented svcs GetResourceLimit, GetResourceLimitCurrentValues and GetResourceLimitLimitValues.

Note that the resource limits do not currently keep track of used objects, since we have no way to distinguish between an object created by the application, and an object created by some HLE module once we're inside Kernel::T::Create.
10 years ago
Yuri Kunde Schlesner dd4430609a Memory: Use a table based lookup scheme to read from memory regions 10 years ago
Yuri Kunde Schlesner 52158c1b8d Memory: Read SharedPage directly from Memory::Read 10 years ago
Yuri Kunde Schlesner ec514b16a6 Memory: Read ConfigMem directly from Memory::Read 10 years ago
Yuri Kunde Schlesner 7ada357b2d Memmap: Re-organize memory function in two files
memory.cpp/h contains definitions related to acessing memory and
configuring the address space
mem_map.cpp/h contains higher-level definitions related to configuring
the address space accoording to the kernel and allocating memory.
10 years ago
Yuri Kunde Schlesner a251721bf3 Memmap: Remove unused declarations 10 years ago
bunnei 9f503387dc Merge pull request #769 from lioncash/cond
thread: Fix a conditional check in Reschedule
10 years ago
Lioncash 8cd72428c9 dyncom: Add ARMv6K NOP and hint instructions to the decoding table 10 years ago
Lioncash 699b67d7cf dyncom: Handle some MSR variants individually
This is necessary, as hint instructions will be recognized as MSR, which is pretty bad.
10 years ago
Lioncash be0119be08 dyncom: Move exclusive load/stores above bbl and swi in the decoding table 10 years ago
Lioncash 1e0255364c dyncom: Remove duplicate enums/prototypes
These are already defined in arm_dyncom_interpreter_dec.cpp.
10 years ago
Lioncash f4921d0f9d dyncom: Remove unnecessary defines
These can simply be const vars.
10 years ago
Lioncash 0530fd2499 dyncom: Make translation-unit functions and variables static 10 years ago
Lioncash 497f4bee0c pica: Add the ULL specifier in IsDefaultAttribute
This is necessary otherwise there are warnings about a 32-bit result being casted to a 64-bit value.
10 years ago
Lioncash 773b1ef6bf vfp: Get rid of warnings
- Unary minus operator applied to unsigned type.
- Unsafe use of bool.
10 years ago
Lioncash 150e700729 process: Get rid of warnings
Sign mismatches and "forcing value to bool" warnings.
10 years ago
Lioncash f3c4de4ce4 dyncom: Remove unnecessary typedefs 10 years ago
Lioncash a48b4ec583 dyncom: Remove unused structs 10 years ago
Lioncash 207087c856 thread: Fix a conditional check in Reschedule 10 years ago
Emmanuel Gil Peyrot a31fd7f86b Common: Remove unused cruft from math_util, and remove a duplicated Rect class in common_types. 10 years ago
bunnei e83bc5b7ee dyncom: Removed irrelevant log. 10 years ago
bunnei 09c8110e1a Merge pull request #763 from bunnei/qt-fix-crash
Qt: Shutdown emulation session only if EmuThread exists.
10 years ago
Lioncash 832c130ed1 dyncom: Fix decoding of BKPT's immediate
A shift here is intended since the representation is imm12:imm4
10 years ago
bunnei c3bd797917 Qt: Shutdown emulation session only if EmuThread exists. 10 years ago
bunnei 7d21b0663b Merge pull request #756 from purpasmart96/ptm_service_changes
PTM: Changed the ptm services  to be like the IR, HID, and APT services.
10 years ago
Yuri Kunde Schlesner def5913d19 GPU: Add more fine grained profiling for vertex shader and rasterization 10 years ago
Yuri Kunde Schlesner c8eae338a8 Common: Use the log system to print assert messages 10 years ago
Yuri Kunde Schlesner b88c91dd3d Common: Remove async logging
It provided a large increase in complexity of the logging system while
having a negligible performance impact: the usage patterns of the ring
buffer meant that each log contended with the logging thread, causing
it to effectively act as a synchronous extra buffering.

Also removed some broken code related to filtering of subclasses which
was broken since it was introduced. (Which means no one ever used that
feature anyway, since, 8 months later, no one ever complained.)
10 years ago
bunnei cb2b2071a8 Merge pull request #748 from Subv/tls_max
Core/Memory: Add TLS support for creating up to 300 threads
10 years ago
bunnei ee8da4c356 Merge pull request #751 from yuriks/idle-thread
Thread: Remove the idle thread
10 years ago
bunnei 6e26d063a5 Merge pull request #757 from Subv/scheduling
Core/Scheduling: Prepare the new priority in the thread queue when svcSetPriority is called
10 years ago
bunnei 6223496a49 Merge pull request #752 from lioncash/flush
vfp: Handle flush-to-zero mode.
10 years ago
bunnei d22bc68175 Merge pull request #755 from lioncash/mcrr-mrrc
dyncom: Stub MCRR and MRRC
10 years ago
Yuri Kunde Schlesner 4f7a055081 Thread: Remove the idle thread
Instead just use nullptr to represent no thread is active.
10 years ago
Subv dda94e56dd Core/Memory: Add TLS support for creating up to 300 threads 10 years ago
Yuri Kunde Schlesner 820b97787c Merge pull request #750 from Subv/process_svc
Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThread
10 years ago
Subv dbc1320923 Core/Scheduling: Prepare the new priority in the thread queue when svcSetPriority is called 10 years ago
purpasmart96 53130fffd9 PTM: Changed the way the ptm services are handled to be like the
IR, HID, and APT services.
10 years ago
Subv 25c010dc7d fixup! 10 years ago
Lioncash dc7ac751f2 dyncom: Stub MCRR and MRRC
There's no other coprocessor outside the VFP (which has its own VMOV variants) in which the MPCore can send/retrieve data from.
Stubbed so citra won't crash and burn on the odd chance someone actually tries to use these.
10 years ago
purpasmart96 046044618d NWM_UDS: Fix a typo in the nwm service port name 10 years ago
Lioncash ffc51161f3 vfp: Handle flush-to-zero mode. 10 years ago
bunnei 10eb8b0c02 Merge pull request #749 from yuriks/stack-top
Thread: Correctly set main thread initial stack position
10 years ago
Subv 41f74a16fd Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThread 10 years ago
Yuri Kunde Schlesner d16c2bd956 Thread: Correctly set main thread initial stack position 10 years ago
archshift 40310e2132 Implement I4 texture format
@neobrain, could you confirm that this is correct?

It's been tested with various different games and fixes different textures, including in Animal Crossing, Kirby Triple Deluxe, and SMB3D.
10 years ago
archshift e98fbadf4a Merge pull request #740 from yuriks/gsp-shmem
Fix crashes due to un-initialized GSP shared memory
10 years ago
Subv 115ad8e16a fixup! Set the TLS address in the scheduler 10 years ago
Subv 000876858d Core/Memory: Give every emulated thread it's own TLS area.
The TLS area for thread T with id Ti is located at TLS_AREA_VADDR + (Ti - 1) * 0x200.
This allows some games like Mario Kart 7 to continue further.
10 years ago
Yuri Kunde Schlesner fd85367621 fixup! GSP: Small tweaks to shared memory initialization 10 years ago
Yuri Kunde Schlesner 1538a34eda GSP: Small tweaks to shared memory initialization 10 years ago
Yuri Kunde Schlesner 774eea8374 Kernel: Zero-fill shared memory blocks when mapping
This works around crashes related to GSP/HID/etc. shared memory blocks
having garbage values. The proper fix requires proper management of
mapped memory blocks in the process.
10 years ago
Yuri Kunde Schlesner c96f22490a Kernel: Capture SharedMemory attributes at creation, not when mapping 10 years ago
bunnei 23e8be573e rasterizer: Implemented combiner output scaling. 10 years ago
bunnei ff767eeb40 rasterizer: Implemented AddSigned combiner op. 10 years ago
bunnei 547da374b8 rasterizer: Fixed a depth testing bug. 10 years ago
bunnei a806b420a6 rasterizer: Implement combiner buffer input. 10 years ago
bunnei 44927f0306 rasterizer: Return zero'd vectors on error conditions. 10 years ago
bunnei 692a74c09e vertex_shader: Implement FLR instruction. 10 years ago
bunnei f935130a0f vertex_shader: Implement MADI instruction.
nihstro: Update submodule to latest upstream/master to support MADI instruction decoding.
10 years ago
Yuri Kunde Schlesner b700b55696 Common: Remove the BIT macro
When the macro was introduced in 326ec51261
it wasn't noticed that it conflicted in name with a heavily used macro
inside of dyncom. This causes some compiler warnings. Since it's only
lightly used, it was opted to simply remove the new macro.
10 years ago
Tony Wasserka e35e72d0a5 Merge pull request #734 from yuriks/memmap
Small memory map definitions cleanup
10 years ago
Yuri Kunde Schlesner 417c867e14 Loader: Add missing include 10 years ago
Yuri Kunde Schlesner 17a8cae003 Memory: Add GetPhysicalPointer helper function 10 years ago
Yuri Kunde Schlesner 28a9e4c1d5 Memory: Support more regions in the VAddr-PAddr translation functions
Also adds better documentation and removes the one-off reimplementation
of the function in pica.h.
10 years ago
Yuri Kunde Schlesner e7b6ed7578 Memory: Sort memory region variables by VAddr 10 years ago
Yuri Kunde Schlesner 1c0b87edc2 Memory: Re-organize and rename memory area address constants 10 years ago
Yuri Kunde Schlesner eb3eb9f75d Loader: Remove .bin file support
It is of very limited practical utility currently, and will soon be
impossible to support due to more accurate memory map emulation.
10 years ago
Yuri Kunde Schlesner 7c50b999fa Kernel: Remove unused g_main_thread variable 10 years ago
Yuri Kunde Schlesner 3cb19c9589 Process: Rename StaticAddressMapping => AddressMapping 10 years ago
Yuri Kunde Schlesner 83ccf85bb2 Process: Add more documentation to the class members 10 years ago
Yuri Kunde Schlesner 2f5904611d Process: Use BitField to store process flags 10 years ago
Yuri Kunde Schlesner 7eb413155f Loader/NCCH: Fix formatting of braces 10 years ago
Yuri Kunde Schlesner 2af30d465f Process: Support parsing of exheader kernel caps 10 years ago
Yuri Kunde Schlesner 326ec51261 Common: Add BIT macro 10 years ago
Yuri Kunde Schlesner a5eba2f984 Kernel: Remove g_program_id
This has been obsoleted by the field in Process.
10 years ago
Yuri Kunde Schlesner 6d60acf0f1 Kernel: Introduce skeleton Process class to hold process data 10 years ago
Yuri Kunde Schlesner 8809d02db3 Common: Add StringFromFixedZeroTerminatedBuffer 10 years ago
Yuri Kunde Schlesner 0f39cc359b Core: Fix sorting in CMakeFiles.txt 10 years ago
Lioncash 1622068198 Merge pull request #728 from lioncash/vars
dyncom: Remove an unnecessary variable in the interpreter
10 years ago
Lioncash ae0c38a333 Remove unnecessary dyncom header files 10 years ago
Lioncash 31dc8b8890 dyncom: Remove an unnecessary variable in the interpreter
All this was doing was needlessly aliasing a variable.
10 years ago
Yuri Kunde Schlesner 4560178f66 Merge pull request #725 from yuriks/remove-common-crap
Remove unused hash and mem_arena from common
10 years ago
bunnei 10ef39624a Merge pull request #723 from lioncash/commonstr
string_util: Get rid of UriDecode/UriEncode
10 years ago
Yuri Kunde Schlesner ed12b08e7a Profiler: Fix off-by-one error when computing average. 10 years ago
Yuri Kunde Schlesner 3396f352cb Common: Remove mem_arena.cpp/h
It is superfluous for Citra. (It's only really necessary if you're doing
JIT. We were using it but not taking any advantage from it.) This should
make 32-bit builds work again.
10 years ago
Yuri Kunde Schlesner d9df5b575a Common: Remove hash.cpp/h
Currently unused and the code quality is pretty questionable.
10 years ago
Yuri Kunde Schlesner fae5933ad6 Common: Add proper macros to test for architecture pointer size
The old system of just defining macros available in some other platform
was susceptible to silently using the wrong code if you forgot to
include a particular header. This fixes a crash on non-Windows platforms
introduced by e1fbac3ca1.
10 years ago
Lioncash 9adad45b0f string_util: Get rid of UriDecode/UriEncode 10 years ago
Yuri Kunde Schlesner 4f4d230dac Merge pull request #721 from yuriks/more-cleanups
More cleanups
10 years ago
Yuri Kunde Schlesner c956e8a686 Fix printf format warning 10 years ago
Yuri Kunde Schlesner e1fbac3ca1 Common: Remove common.h 10 years ago
Yuri Kunde Schlesner 1bd1a13a02 Common: Move alignment macros to common_funcs.h 10 years ago
Yuri Kunde Schlesner ae963d75f8 Common: Move SSE detection ifdefs to platform.h 10 years ago
Yuri Kunde Schlesner a594fdb66e Common: Remove more unused compatibility defines 10 years ago
Yuri Kunde Schlesner f3c096951b Common: Move IO-specific compatibility macros to file_util.cpp 10 years ago
Yuri Kunde Schlesner bf12f270b3 Common: Remove many unnecessary cross-platform compatibility macros 10 years ago
Yuri Kunde Schlesner c0eaa662d4 Clean-up includes 10 years ago
Yuri Kunde Schlesner b89f644cfe FileSys: De-inline Path members 10 years ago
Yuri Kunde Schlesner 6f89d25f90 FileSys: Clean-up includes, de-inline destructors 10 years ago
Yuri Kunde Schlesner c916bcf7b5 Move typedefs from kernel.h to more appropriate places 10 years ago
Yuri Kunde Schlesner 6ad71c216b Common: Move NonCopyable to common_types.h 10 years ago
Yuri Kunde Schlesner 7a4b717772 Common: Use C++11 deleted functions for NonCopyable 10 years ago
Yuri Kunde Schlesner 1fee769aa0 Common: Remove unused enums 10 years ago
bunnei 337f1e1b96 Merge pull request #695 from Subv/crash_f
GPU: Implemented default vertex shader attributes.
10 years ago
Subv 0e5ca080a8 GPU: Implemented default vertex shader attributes.
Fixes some games crashing.
10 years ago
Yuri Kunde Schlesner ecff2351a1 HLE: Clean up SVC dispatch mechanism 10 years ago
Yuri Kunde Schlesner 0749687b8d Core: Remove some unused functions and types 10 years ago
Tony Wasserka 7859b145cf Merge pull request #698 from Zaneo/clip_stylus_input
EmuWindow: Clip mouse input coordinates to emulated screen dimensions.
10 years ago
Zaneo b8328593fe EmuWindow: Clip mouse input coordinates to emulated screen dimensions.
If the mouse position for a mouse move/drag would take it outside the emulated screen dimensions, clip the coordinates to
the emulated screen dimensions.
Qt and GLFW will report negative coordinates for mouse positions to the left, or above citra window. Added restriction
to mouse coordinates passed to touchmoved by Qt/GLFW to be greater or equal to zero.
10 years ago
bunnei 046dd6e3ef Qt: Shutdown game on emulator close event. 10 years ago
bunnei 85cc81d8cc Qt: Disable "Start" unless we are paused (it otherwise has no meaning and causes a crash). 10 years ago
bunnei bc41de2131 Qt: Fixed a bug in shutdown procedure, various cleanups. 10 years ago
bunnei ad4445c529 Qt: Clear registers widget on shutdown. 10 years ago
bunnei 43cf424907 Qt: Use signals for emu_thread start/stop and fix disasm widget. 10 years ago
bunnei e4ea133717 Qt: Restructured to remove unnecessary shutdown event and various cleanups. 10 years ago
bunnei 3dd2688785 Qt: Fix loading a new game without stopping emulation. 10 years ago
bunnei 5a855bdb2f CoreTiming: Initialize static variables at bootup. 10 years ago
bunnei d3c2f9a4a4 HLE: Properly initialize and shutdown remaining modules. 10 years ago
bunnei bab5abaf46 Dyncom: Move cream cache to ARMul_State. 10 years ago
bunnei c7dc799e19 Kernel: Properly initialize and shutdown all modules. 10 years ago
bunnei 57aaaf92db HW: Properly initialize and shutdown all modules. 10 years ago
bunnei e0cb85691a Services: Initialize all state variables at bootup. 10 years ago
bunnei bbabed8e98 Memory: Properly cleanup & shutdown. 10 years ago
bunnei 28df8dbfeb Qt: Create emu thread on bootup, kill it on shutdown. 10 years ago
bunnei d5665fea89 EmuThread: Remove unused filename attribute. 10 years ago
bunnei 762c1a9ff5 Qt: Move EmuThread ownership from render window to main window. 10 years ago
bunnei 4d30edc11e Merge pull request #717 from linkmauve/useless-auto
VideoCore: Remove a superfluous auto variable declaration in debug_utils
10 years ago
Emmanuel Gil Peyrot 36b48082d5 VideoCore: Remove a superfluous auto variable declaration in debug_utils. 10 years ago
purpasmart96 8716445621 ConfigMem: Remove duplicate retail bit 10 years ago
bunnei 2cc6511039 Merge pull request #692 from purpasmart96/log_improvements
Services/Loader: Use more sensible log formats for certain functions along with more info being logged.
10 years ago
purpasmart96 c3a480160e Services/Loader: Use more sensible log formats for certain functions
along with more info being logged.
10 years ago
Lioncash 1baab50e7c ptm_sysm: Add static specifier to IsLegacyPowerOff 10 years ago
Lioncash 8b2b620a5e dyncom: Remove more unused/unnecessary code
Gets rid of a sizeable amount of stuff in armdefs.
10 years ago
bunnei a698e15c5d Merge pull request #703 from lioncash/cruft
dyncom: Remove unused/unnecessary VFP cruft
10 years ago
Lioncash d66a12c6f6 dyncom: Remove unused/unnecessary VFP cruft 10 years ago
bunnei 5e55a525d8 Merge pull request #691 from rohit-n/sign-compare
Silence some -Wsign-compare warnings.
10 years ago
Yuri Kunde Schlesner 6402de9ae7 Common: thread.h cleanups
The helper classes are rendered obsolete by C++11 lambdas. Also made
formatting conform to our code style.
10 years ago
bunnei 3ee9f6c5d8 Merge pull request #696 from yuriks/interface-deinline
De-inline functions from Interface, removing them from service.h
10 years ago
Emmanuel Gil Peyrot 2e860bd59c Core_ARM11: Replace debug prints with our own logging functions in vfpsingle. 10 years ago
Emmanuel Gil Peyrot d9eb7ca95c citra-qt: Use std::abs() to get the right absolute function for s64. 10 years ago
Emmanuel Gil Peyrot 0d69b2f7bd Kernel: Use the correct format string for u64 hex. 10 years ago
Emmanuel Gil Peyrot bdcf28e3bc Headers: Add some forgotten overrides, thanks clang! 10 years ago
Yuri Kunde Schlesner ad3e25b414 De-inline functions from Interface, removing them from service.h
This reduces the time for a full recompile from 65.43s to 59.53s (~9%)
10 years ago