Commit Graph

5765 Commits

Author SHA1 Message Date
bunnei 4728cc141a core/video_core: Fix a bunch of u64 -> u32 warnings. 2018-01-01 15:40:35 -05:00
bunnei 082be53aab svc: Stub out svcWaitSynchronization.
- This does not matter until we implement other kernel objects, mutexes use svcLockMutex for waiting.
2018-01-01 14:47:57 -05:00
bunnei 37d55a0317 svc: Implement svcExitProcess. 2018-01-01 14:38:34 -05:00
bunnei aec03c0e73 svc: Implement svcUnlockMutex. 2018-01-01 14:04:36 -05:00
bunnei 16c66e09cc svc: Implement svcLockMutex. 2018-01-01 14:02:26 -05:00
bunnei fba61b93c7 kernel: Add ObjectAddressTable class. 2018-01-01 13:25:37 -05:00
bunnei 57d3544f96 thread: Keep track of the initially created handle.
This is kinda crufty, but we need it for now to update guest state variables.
2017-12-31 17:23:36 -05:00
bunnei a373ba43e4 svc: Implement svcExitThread. 2017-12-31 16:11:27 -05:00
bunnei c943ab553f svc: Implement svcCreateThread. 2017-12-31 16:10:01 -05:00
bunnei 753ab82242 svc: Cleanup svcGetThreadPriority. 2017-12-31 16:06:11 -05:00
bunnei 647243bd78 svc: Stub out svcGetCurrentProcessorNumber. 2017-12-31 16:01:04 -05:00
bunnei 10022dc332 errors: Define missing kernel error codes. 2017-12-31 15:59:00 -05:00
bunnei 8c14a2704d svc: Implement svcSetThreadPriority. 2017-12-31 15:58:16 -05:00
bunnei 4564526c43 svc: Change SignalProcessWideKey to a stub. 2017-12-31 15:55:11 -05:00
bunnei 1629d02a54 function_wrappers: Cleanup, fix warnings, remove unused code. 2017-12-31 15:46:30 -05:00
bunnei 3af6ad6bb9 svc: Implement svcUnmapMemory. 2017-12-31 15:22:49 -05:00
bunnei f10d490c94 svc: Minor cleanups. 2017-12-30 13:40:28 -05:00
bunnei 7a612ba7dd svc: Implement svcStartThread. 2017-12-30 13:37:07 -05:00
bunnei 3fc608b040 thread: Main thread should set thread handle to reg 1. 2017-12-30 12:10:58 -05:00
bunnei da4bd90980 thread: Remove THUMB mode flag. 2017-12-30 12:08:26 -05:00
bunnei d8a3de102e thread: Main thread should be ready by default, all others dormant. 2017-12-30 12:05:10 -05:00
bunnei 78531342a4 kernel: Various 64-bit fixes in memory/process/thread 2017-12-29 13:27:58 -05:00
bunnei 7b3a56f0fb applet_oe: Stub out a bunch of interfaces necessary for boot. 2017-12-29 00:44:46 -05:00
bunnei 33fa650a20 controller: Implement DuplicateSession. 2017-12-29 00:39:34 -05:00
bunnei 9d04a45a90 kernel: Fix implementation of ConvertSessionToDomain. 2017-12-29 00:36:22 -05:00
bunnei d203083a1c ap, aoc_u: Minor cleanup. 2017-12-28 23:45:44 -05:00
bunnei 26495098a9 service: Add empty interface for pctl:a. 2017-12-28 23:44:39 -05:00
bunnei 8331a996d6 kernel: Add basic support for Domain object. 2017-12-28 23:30:21 -05:00
bunnei 8fdafee314 kernel: Add SyncObject primitive, use it for ClientSession. 2017-12-28 23:12:28 -05:00
bunnei 58cf9d847a svc: Implement MapMemory. 2017-12-28 21:38:38 -05:00
bunnei e74563e0d0 process: Add method to mirror a memory region. 2017-12-28 21:35:49 -05:00
bunnei 4678ba1e18 svc: Implement SetHeapSize. 2017-12-28 15:29:52 -05:00
bunnei 82fb80da76 service: Clean up apm/lm/applet_oe/controller/sm ctor/dtor. 2017-12-28 15:27:30 -05:00
bunnei 6d0751cd00 service: Halt on ReportUnimplementedFunction and improve output log. 2017-12-28 15:24:59 -05:00
bunnei f9d160c819 service: Add empty interface for aoc:u. 2017-12-28 15:24:05 -05:00
bunnei 1edc9cc327 service: Return proper result code for IPC::CommandType::Close. 2017-10-31 19:30:05 -04:00
bunnei 714dd3da6d hle: Use Switch formatted result codes. 2017-10-31 19:26:11 -04:00
bunnei bfd01c7c71 svc: Implement GetThreadId and GetProcessId. 2017-10-23 00:15:45 -04:00
bunnei 9651b2db3a logging: Rename category "Core_ARM11" to "Core_ARM". 2017-10-23 00:13:12 -04:00
bunnei 0fba69c235 nso: Load more common submodules. 2017-10-22 23:50:26 -04:00
bunnei ec6eb66383 memory: Support 32-bit paging, move heap address space up. 2017-10-22 23:17:59 -04:00
bunnei bf69f3d1eb hle: Fix QueryMemory response for MemoryInfo. 2017-10-19 23:00:46 -04:00
bunnei bb50d29ca9 lm: Implement lm::Initialize and Logger::log. 2017-10-18 21:41:24 -04:00
bunnei a636b779e7 hle_ipc: Only copy necessary fields for outgoing command buffer. 2017-10-18 21:39:48 -04:00
bunnei f599769c3c hle_ipc: Parse out buffer X/A/B/B descriptors from incoming command buffer. 2017-10-18 21:38:01 -04:00
bunnei c6a1d24720 service: Add CreatePort function (that does not register/install). 2017-10-18 21:34:19 -04:00
bunnei 8b314ec3f9 memory: Print addresses as 64-bit. 2017-10-18 21:29:23 -04:00
bunnei 9ed2ef9c1c ipc_helpers: Fix alignment (was wrong as a result of a dynarmic bug). 2017-10-17 18:03:47 -04:00
bunnei c40bfc606d service: Print correct command ID on unimplemented function. 2017-10-17 18:02:08 -04:00
bunnei be299c7636 hle: Implement ConvertSessionToDomain, various cleanups. 2017-10-15 01:24:22 -04:00
bunnei 5e11c12766 core: Refactor MakeMagic usage and remove dead code. 2017-10-15 00:11:38 -04:00
bunnei 9ce5a90aa6 hle: Add service stubs for apm and appletOE. 2017-10-14 22:50:04 -04:00
bunnei 2ea8867549 hle: Initial implementation of NX service framework and IPC. 2017-10-14 22:18:42 -04:00
bunnei 14ebd959bd nso: Add a log for loading submodules. 2017-10-14 17:37:51 -04:00
bunnei 0176bad5b2 svc: Some logging cleanup. 2017-10-14 17:35:21 -04:00
bunnei 8a19114047 svc: Update MemoryInfo flags for 64-bit. 2017-10-14 17:31:25 -04:00
bunnei bdc3ccc8ac svc: Initial nx impl. for QueryMemory, ConnectToPort, SendSyncRequest, etc. 2017-10-14 17:30:07 -04:00
bunnei 8cf95d87aa Remove more 3DS-specific code. 2017-10-13 17:56:42 -04:00
bunnei 877d4c71d3 Remove more 3DS-specific code. 2017-10-12 21:45:06 -04:00
bunnei e36d959e34 Remove more 3DS-specific code. 2017-10-12 21:29:53 -04:00
bunnei 5993f6f6de Remove lots more 3DS-specific code. 2017-10-12 21:21:49 -04:00
bunnei dd4ffef0a2 hle: Remove a large amount of 3ds-specific service code. 2017-10-10 17:32:14 -04:00
bunnei 775cf60729 Merge remote-tracking branch 'upstream/master' into nx
# Conflicts:
#	src/core/CMakeLists.txt
#	src/core/arm/dynarmic/arm_dynarmic.cpp
#	src/core/arm/dyncom/arm_dyncom.cpp
#	src/core/hle/kernel/process.cpp
#	src/core/hle/kernel/thread.cpp
#	src/core/hle/kernel/thread.h
#	src/core/hle/kernel/vm_manager.cpp
#	src/core/loader/3dsx.cpp
#	src/core/loader/elf.cpp
#	src/core/loader/ncch.cpp
#	src/core/memory.cpp
#	src/core/memory.h
#	src/core/memory_setup.h
2017-10-09 23:56:20 -04:00
bunnei e36ccd5ff1 loader: Various improvements for NSO/NRO loaders. 2017-10-09 21:39:32 -04:00
Dragios cefb2e7745 Change command header in nwm::UDS Initialize function 2017-10-09 09:10:48 +08:00
Sebastian Valle 3fb50166a9 Merge pull request #2991 from Subv/getpointer
Remove more usages of GetPointer.
2017-10-08 10:11:12 -05:00
Sebastian Valle 66150505dc Merge pull request #2975 from shinyquagsire23/archive-ncch-container-and-override
file_sys/archive_ncch: use NCCHs/.apps instead of .romfs files, NCCH section override
2017-10-06 12:19:20 -05:00
bunnei 90cc352a37 loader: Add support for NRO, as well as various fixes and shared linker. 2017-10-05 23:30:08 -04:00
Sebastian Valle a19944b9eb Merge pull request #2953 from Subv/applet_launch
HLE/APT: Always set up the APT parameter when starting a library applet.
2017-10-04 15:01:58 -05:00
Subv c6304fc50e SVC: Removed GetPointer usage in the GetResourceLimit functions. 2017-10-04 14:04:27 -05:00
Subv 62e3520792 SVC: Remove GetPointer usage in CreatePort. 2017-10-04 14:04:03 -05:00
Subv 5768c55104 SVC: Replace GetPointer usage with ReadCString in ConnectToPort. 2017-10-04 14:03:59 -05:00
Subv f08872822c SVC: Replace GetPointer usage with ReadBlock in OutputDebugString. 2017-10-04 12:30:33 -05:00
Subv 690b21012d SVC: Replace GetPointer usage with Read32 in ReplyAndReceive. 2017-10-04 12:30:33 -05:00
Subv 6fd20a0595 SVC: Replace GetPointer usage with Read32 in WaitSynchronizationN. 2017-10-04 12:30:32 -05:00
Subv 8226539902 Memory: Remove all GetPointer usages from the GDB stub. 2017-10-04 11:33:32 -05:00
Huw Pascoe e38656565d Extracted the attribute setup and draw commands into their own functions 2017-10-04 01:08:29 +01:00
bunnei f44ce614ef nso: Fixes to support homebrew NSOs without a MOD header. 2017-10-03 18:30:02 -04:00
bunnei 14389f5d6d Merge pull request #2977 from Subv/shmem_create
SharedMemory: Don't take over and unmap the source memory block when creating a shared memory, just reference it
2017-10-03 16:21:49 -04:00
Subv 25a5ce9e75 Kernel/SharedMemory: Don't take over and unmap the source memory block when creating a shared memory, just reference it.
Also reference the right offset into the backing block for the requested address.
2017-10-02 15:16:16 -05:00
Sebastian Valle cbf57de4e5 Merge pull request #2971 from Subv/per_process_memops
Memory: Add overloads for ReadBlock and WriteBlock that operate on a specific process.
2017-10-01 14:44:06 -05:00
Subv 1265575db5 Memory: Make WriteBlock take a Process parameter on which to operate 2017-10-01 14:18:36 -05:00
Subv bf55d2f57e Memory: Make ReadBlock take a Process parameter on which to operate 2017-10-01 14:18:36 -05:00
Subv 141da6b667 Kernel/Thread: Added a helper function to get a thread's command buffer VAddr. 2017-10-01 14:18:35 -05:00
Sebastian Valle fd974cb502 Merge pull request #2974 from Subv/nim_event
Services/NIM: Implement CheckForSysUpdateEvent.
2017-10-01 14:16:14 -05:00
shinyquagsire23 9c8cdede44 file_sys, loader: add support for reading TMDs to determine app paths 2017-10-01 10:54:02 -06:00
shinyquagsire23 f6564f232e file_sys: add class for Title Metadata (TMD) 2017-10-01 10:53:45 -06:00
shinyquagsire23 a151c0edec file_sys/ncch_container: add RomFS, ExeFS override to allow for backward compatibility with existing .romfs system archive dumps 2017-10-01 10:53:18 -06:00
shinyquagsire23 2f8af214f8 file_sys/archive_ncch: use NCCHContainer instead of loading .romfs files 2017-10-01 10:53:04 -06:00
bunnei 47d0206ac7 arm_interface: Set TLS address for dynarmic core. 2017-09-30 14:34:03 -04:00
bunnei 6d3b6e0041 nso: Refactor and allocate .bss section. 2017-09-30 14:33:58 -04:00
bunnei 39308848e3 process: Support loading multiple codesets. 2017-09-30 14:33:11 -04:00
bunnei 0e04a4ffd6 loader: Add support for loading an NSO. 2017-09-30 14:32:53 -04:00
bunnei f4b1216c81 externals: Add lz4. 2017-09-30 14:30:04 -04:00
bunnei 55eaa14131 memory: Log with 64-bit values. 2017-09-30 14:28:54 -04:00
bunnei 6cfc867d93 kernel: Various threading fixes to support 64-bit addressing. 2017-09-30 14:28:54 -04:00
bunnei e5731e94d6 core: Various changes to support 64-bit addressing. 2017-09-30 14:28:54 -04:00
bunnei 7f1ce2cf68 arm: Use 64-bit addressing in a bunch of places. 2017-09-30 14:28:53 -04:00
bunnei d13377a2a9 elf: Check if machine is ARM. 2017-09-30 14:28:53 -04:00
Subv ded3089f66 Services/NIM: Implement CheckForSysUpdateEvent.
Implementation verified by reverse engineering.
This lets the Home Menu boot without crashing on startup.
2017-09-30 13:21:45 -05:00
Huw Pascoe ed9e0618c9 Moved down_count to CoreTiming 2017-09-30 17:38:14 +01:00
B3n30 6706b1994e Services/UDS: Handle the rest of the connection sequence. (#2963)
Services/UDS: Handle the rest of the connection sequence.
2017-09-30 18:18:45 +02:00
Sebastian Valle afd9af8417 Merge pull request #2946 from Subv/home_menu_apt
Implement PrepareToStartNewestHomeMenu and fixed an APT regression.
2017-09-30 10:47:42 -05:00
Sebastian Valle 2e30398e7a Merge pull request #2967 from Subv/thread_wakeup_callbacks
Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken
2017-09-30 09:12:18 -05:00
Huw Pascoe da1c8d1522 Fixed type conversion ambiguity 2017-09-30 09:34:35 +01:00
bunnei e2a34ccd89 Merge pull request #2961 from Subv/load_titles
Loaders: Don't automatically set the current process every time we load an application.
2017-09-29 14:58:42 -04:00
Subv a0054d695e Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken.
This change makes for a clearer (less confusing) path of execution in the scheduler, now the code to execute when a thread awakes is closer to the code that puts the thread to sleep (WaitSynch1, WaitSynchN). It also allows us to implement the special wake up behavior of ReplyAndReceive without hacking up WaitObject::WakeupAllWaitingThreads.

If savestates are desired in the future, we can change this implementation to one similar to the CoreTiming event system, where we first register the callback functions at startup and assign their identifiers to the Thread callback variable instead of directly assigning a lambda to the wake up callback variable.
2017-09-28 11:53:32 -05:00
Sebastian Valle 1d94b4fd3d Merge pull request #2907 from Subv/warnings3
Disable unary operator- on Math::Vec2/Vec3/Vec4 for unsigned types.
2017-09-27 15:45:38 -05:00
Subv 9f1b2d3260 Disable unary operator- on Math::Vec2/Vec3/Vec4 for unsigned types.
It is unlikely we will ever use this without first doing a Cast to a signed type.
Fixes 9 "unary minus operator applied to unsigned type, result still unsigned" warnings on MSVC2017.3
2017-09-27 09:06:41 -05:00
Subv 11920a6bd1 Loaders: Don't automatically set the current process every time we load an application.
The loaders will now just create a Kernel::Process, construct it and return it to the caller, which is responsible for setting it as the current process and configuring the global page table.
2017-09-26 18:17:47 -05:00
James Rowe 47ca57f00f Merge pull request #2954 from Subv/cache_unmapped_mem
Memory/RasterizerCache: Ignore unmapped memory regions when caching physical regions
2017-09-26 16:55:47 -06:00
Subv 2e78c05d91 Kernel/Thread: Allow specifying which process a thread belongs to when creating it.
Don't automatically assume that Thread::Create will only be called when the parent process is currently scheduled. This assumption will be broken when applets or system modules are loaded.
2017-09-26 17:40:49 -05:00
Subv 2420759794 Tests: Added Memory::IsValidVirtualAddress tests. 2017-09-26 17:31:50 -05:00
Subv 6af5b05299 Tests: Fixed ARM VFP tests 2017-09-26 17:29:06 -05:00
Subv 3cb2bf08c3 Memory: Allow IsValidVirtualAddress to be called with a specific process parameter.
There is still an overload of IsValidVirtualAddress that only takes the VAddr and will default to the current process.
2017-09-26 17:27:44 -05:00
Merry 0e74e2bd52 Merge pull request #2958 from Subv/audio_buffer_datatype
Audio: Use std::deque instead of std::vector for the audio buffer type (StereoBuffer16)
2017-09-26 08:47:37 +01:00
Subv 04481f6a13 HLE/APT: Always set up the APT parameter when starting a library applet.
Only use the HLE interface if an HLE applet with the desired id was started.

This commit reorganizes the APT code surrounding parameter creation and delivery to make it easier to support LLE applets in the future.

As future work, the HLE applet interface can be reworked to utilize the same facilities as the LLE interface.
2017-09-25 23:47:50 -05:00
Subv bfc70ef1d1 Memory/RasterizerCache: Ignore unmapped memory regions when caching physical regions.
Not all physical regions need to be mapped into the address space of every process, for example, system modules do not have a VRAM mapping.

This fixes a crash when loading applets and system modules.
2017-09-25 19:37:45 -05:00
Subv 3532957099 Audio: Use std::deque instead of std::vector for the audio buffer type (StereoBuffer16).
The current code inserts and deletes elements from the beginning of the audio buffer, which is very inefficient in an std::vector.

Profiling was done using VisualStudio2017's Performance Analyzer in Super Mario 3D Land.

Before this change: AudioInterp::Linear had 14.14% of the runtime (inclusive) and most of that time was spent in std::vector's insert implementation.
After this change: AudioInterp::Linear has 0.36% of the runtime (inclusive)
2017-09-25 18:31:37 -05:00
Subv f2b635a73d HLE/Archives: Allow multiple loaded applications to access their SelfNCCH archive independently.
The loaders now register each loaded ROM with the SelfNCCH factory, which keeps the data around for the duration of the emulation session.

When opening the SelfNCCH archive, the factory queries the current program's programid and uses that as a key to the map that contains the NCCHData structure (RomFS, Icon, Banner, etc).

3dsx files do not have a programid and will use a default of 0 for this value, thus, only 1 3dsx file with RomFS is loadable at the same time.
2017-09-25 09:45:02 -05:00
B3n30 75f023a48b Merge pull request #2952 from MerryMage/page-tables
Switchable Page Tables
2017-09-25 08:29:32 +02:00
B3n30 9b06d0afb7 Merge pull request #2951 from huwpascoe/perf-4
Optimized Morton
2017-09-25 08:28:55 +02:00
B3n30 91b85122af Merge pull request #2949 from wwylele/fix-tr
citra-qt: fix some untranslated strings
2017-09-25 08:23:04 +02:00
B3n30 c78c4f258d Merge pull request #2948 from Subv/register_service
HLE/SRV: Implemented RegisterService.
2017-09-25 08:22:05 +02:00
Max Thomas 042b389b57 Loader/NCCH: Add support for loading application updates (#2927)
* loader/ncch: split NCCH parsing into its own file

* loader/ncch: add support for loading update NCCHs from the SD card

* loader/ncch: fix formatting

* file_sys/ncch_container: Return a value for OpenFile

* loader/ncch: cleanup, always instantiate overlay_ncch to base_ncch

* file_sys/ncch_container: better encryption checks, allow non-app NCCHs to load properly and for the existence of NCCH structures to be checked

* file_sys/ncch_container: pass filepath as a const reference
2017-09-25 08:17:38 +02:00
B3n30 9ab7d720db Services/UDS: Added a function to send EAPoL-Start packets (#2920)
* Services/UDS: Added a function to generate the EAPoL-Start packet body.

* Services/UDS: Added filter for beacons.

* Services/UDS: Lock a mutex when accessing connection_status from both the emulation and network thread.

* Services/UDS: Handle the Association Response frame and respond with the EAPoL-Start frame.

* fixup: make use of current_node, changed received_beacons into a list, mutex and assert corrections

* fixup: fix damn clang-format
2017-09-25 08:16:27 +02:00
Huw Pascoe cb0886468d Optimized Float<M,E> multiplication
Before:

ucomiss xmm1, xmm1
jp      .L9
pxor    xmm2, xmm2
mov     edx, 1
ucomiss xmm0, xmm2
setp    al
cmovne  eax, edx
test    al, al
jne     .L9
.L3:
movaps  xmm0, xmm2
ret
.L9:
ucomiss xmm0, xmm0
jp      .L10
pxor    xmm2, xmm2
mov     edx, 1
ucomiss xmm1, xmm2
setp    al
cmovne  eax, edx
test    al, al
je      .L3

After:

movaps  xmm2, xmm1
mulss   xmm2, xmm0
ucomiss xmm2, xmm2
jnp     .L3
ucomiss xmm1, xmm0
jnp     .L11
.L3:
movaps  xmm0, xmm2
ret
.L11:
pxor    xmm2, xmm2
jmp     .L3
2017-09-25 00:54:02 +01:00
MerryMage 0e49bffe03 ARM_Interface: Implement PageTableChanged 2017-09-24 23:08:25 +01:00
MerryMage ecf27fbf82 memory: Remove GetCurrentPageTablePointers 2017-09-24 22:43:28 +01:00
MerryMage 6b8ad273fc memory: Add GetCurrentPageTable/SetCurrentPageTable
Don't expose Memory::current_page_table as a global.
2017-09-24 22:42:42 +01:00
Huw Pascoe 275530d7a9 Optimized Morton 2017-09-24 22:27:14 +01:00
wwylele 9c4b6162af citra-qt: fix some untranslated strings 2017-09-24 17:53:35 +03:00
Subv 5a30962cf1 HLE/APT: Always return an error from PrepareToStartNewestHomeMenu so that the Home Menu doesn't try to reboot the system.
As per 3dbrew:
"During Home Menu start-up it uses APT:PrepareToStartNewestHomeMenu. If that doesn't return an error(normally NS returns 0xC8A0CFFC for that), Home Menu starts a hardware reboot with APT:StartNewestHomeMenu etc. "
2017-09-24 08:59:31 -05:00
Subv c3b1470a42 HLE/APT: Prepare the APT Wakeup parameter when the game calls Initialize
We need to know what is being run so we can set the APT parameter destination AppId correctly.
Delaying the preparation of the parameter until we know which AppId is running lets us support booting both the Home Menu and normal game Applications.
2017-09-24 08:59:30 -05:00
James Rowe 4c4807a251 Merge pull request #2921 from jroweboy/batch-fix-2
GPU: Add draw for immediate and batch modes
2017-09-24 07:57:16 -06:00
Subv 2e487c9bce HLE/SRV: Implemented RegisterService.
Now system modules can do more than just crash immediately on startup.
2017-09-24 00:12:58 -05:00
James Rowe a10022da25 Remove pipeline.gpu_mode and fix minor issues 2017-09-23 09:28:20 -06:00
Yuri Kunde Schlesner b9365deb5a Merge pull request #2928 from huwpascoe/master
Fixed framebuffer warning
2017-09-22 04:06:38 +02:00
bunnei 4db1bff95e Merge pull request #2933 from huwpascoe/perf-1
Improved performance of FromAttributeBuffer
2017-09-19 13:18:35 -04:00
B3n30 fdd8a6ef0c WebService: Verify username and token (#2930)
* WebService: Verify username and token; Log errors in PostJson

* Fixup: added docstrings to the functions

* Webservice: Added Icons to the verification, imrpved error detection in cpr, fixup nits

* fixup: fmt warning
2017-09-18 21:18:26 -04:00
Huw Pascoe 1089bdda80 Improved performance of FromAttributeBuffer
Ternary operator is optimized by the compiler
whereas std::min() is meant to return a value.

I've noticed a 5%-10% emulation speed increase.
2017-09-17 15:56:36 +01:00
Huw Pascoe a35ca6c623 Fixed framebuffer warning 2017-09-17 11:57:06 +01:00
Yuri Kunde Schlesner defb247fff Merge pull request #2906 from Subv/ns_new_framework
Services/NS: Port ns:s to the new service framework.
2017-09-16 21:13:51 +02:00
Subv 891916efff Services/NS: Port ns:s to the new service framework. 2017-09-16 10:52:45 -05:00
Yuri Kunde Schlesner e379255d9b Merge pull request #2900 from wwylele/clip-2
PICA: implement custom clip plane
2017-09-16 10:23:00 +02:00
B3n30 ccdc31ca9f Merge pull request #2842 from Subv/switchable_page_table
Kernel/Memory: Give each process its own page table and allow switching the current page table upon reschedule
2017-09-15 22:41:45 +02:00
Subv 85f1a05d7e CPU/Dynarmic: Disable the fast page-table access in dynarmic until it supports switching page tables at runtime. 2017-09-15 14:26:22 -05:00
Subv 082f12048a Tests/VFP: Use a standalone pagetable for the TestEnvironment memory operations.
This fixes building the tests
2017-09-15 14:26:20 -05:00
Subv 8932f435fc Kernel/Memory: Make IsValidPhysicalAddress not go through the current process' virtual memory mapping. 2017-09-15 14:26:18 -05:00
Subv 9200465e55 Kernel/Threads: Don't clear the CPU instruction cache when performing a context switch from an idle thread into a thread in the same process.
We were unnecessarily clearing the cache when going from Process A -> Idle -> Process A, this caused extreme performance regressions.
2017-09-15 14:26:15 -05:00
Subv 71281c2114 Kernel/Memory: Changed GetPhysicalPointer so that it doesn't go through the current process' page table to obtain a pointer. 2017-09-15 14:26:13 -05:00
bunnei b957876d61 Merge pull request #2915 from wwylele/font-archive-2
APT: load different shared font depending on the region
2017-09-11 21:39:56 -04:00
James Rowe 08a1641f8a GPU: Add draw for immediate and batch modes
PR #1461 introduced a regression where some games would change configuration
even while in the poorly named "drawing" mode, which broke the heuristic
citra was using to determine when to draw the batch. This change adds
back in a draw call for batching, and also adds in a draw call in
immediate mode each time it adds a triangle.
2017-09-11 09:21:43 -06:00
Subv 23ad87098d Kernel/Memory: Switch the current page table when a new process is scheduled. 2017-09-10 15:14:31 -05:00
Subv 36100ec791 Kernel/Memory: Give each Process its own page table.
The loader is in charge of setting the newly created process's page table as the main one during the loading process.
2017-09-10 15:13:41 -05:00
bunnei f536a8d269 Merge pull request #2865 from wwylele/gs++
PICA: implemented geometry shader
2017-09-07 23:02:59 -04:00
bunnei d9e82a499e Merge pull request #2914 from wwylele/fresnel-fix
pica/lighting: only apply Fresnel factor for the last light
2017-09-05 10:00:49 -04:00
Weiyi Wang 312e762696 Merge pull request #2831 from Subv/uds_auth
Services/UDS: Handle beacon frames and the basic AP connection sequence frames.
2017-09-05 15:03:56 +03:00
mailwl 4edc09f6b3 Remove _flag in var names 2017-09-04 12:15:15 +03:00
mailwl 977f7eee79 Mii Selector Applet: update Mii structures 2017-09-04 12:04:12 +03:00
James Rowe f841eb37ea Fix icon for citra qt 2017-09-03 11:26:10 -06:00
wwylele 7bf08b4f6e APT: load different shared font depending on the region 2017-09-03 12:34:11 +03:00
wwylele 3b210dd006 pica/lighting: only apply Fresnel factor for the last light 2017-09-03 08:22:03 +03:00
DaMan 9a09519e7a Add manifest 2017-09-02 20:08:11 -04:00
bunnei 2e3cb85793 Merge pull request #2909 from wwylele/telemetry-gas
video_core: report telemetry for gas mode
2017-08-31 11:12:55 -04:00
wwylele c58f627516 video_core: report telemetry for gas mode 2017-08-31 12:54:17 +03:00
bunnei a334004da8 Merge pull request #2858 from MerryMage/interp-on-a-frame-basis
interpolate: Interpolate on a frame-by-frame basis
2017-08-30 21:56:43 -04:00
bunnei 84ac533b17 Merge pull request #2891 from wwylele/sw-bump
SwRasterizer/Lighting: implement bump mapping
2017-08-30 21:07:30 -04:00
bunnei d181a67df9 Merge pull request #2899 from wwylele/touch-refactor
Refactor touch input into a TouchDevice
2017-08-29 11:29:10 -04:00
Sebastian Valle 8b1fdb9394 Merge pull request #2905 from danzel/fix-2902
Use recursive_mutex instead of mutex to fix #2902
2017-08-29 09:35:56 -05:00
danzel e16c96d587 Use recursive_mutex instead of mutex to fix #2902 2017-08-29 20:39:55 +12:00
MerryMage cbb31422b7 interpolate: Interpolate on a frame-by-frame basis 2017-08-28 10:54:41 +01:00
Weiyi Wang d74c3415fb Merge pull request #2892 from Subv/warnings2
Warnings: Fixed a few missing-return warnings in video_core.
2017-08-28 03:21:51 -05:00
Subv 02af4789cc Services/UDS: Remove an old duplicated declaration of WifiPacket. 2017-08-27 10:48:15 -05:00
Subv 0e1a05aaec Services/UDS: Handle the connection sequence packets.
There is currently no stage tracking, a client is considered "Connected" when it receives the EAPoL Logoff packet from the server, this is not yet implemented.
2017-08-27 10:48:13 -05:00
Subv 088500377e Services/UDS: Store the received beacon frames until RecvBeaconBroadcastData is called, up to 15 beacons at the same time, removing any older beacon frames when the limit is exceeded. 2017-08-27 10:48:11 -05:00
Subv 44350f7ea1 Services/UDS: Add functions to generate 802.11 auth and assoc response frames. 2017-08-27 10:48:09 -05:00
bunnei 2c616c7f45 web_backend: Fix CPR bug where Winsock is not properly initializing. 2017-08-26 19:45:41 -04:00
Subv 1ba7703833 Warnings: Fixed a few missing-return warnings in video_core. 2017-08-26 11:58:22 -05:00
bunnei 85bfee814a web_backend: Fix asynchronous JSON post by spawning new thread. 2017-08-25 23:37:47 -04:00
bunnei 0783d36b5a web_services: Refactor to remove dependency on Core. 2017-08-25 23:10:02 -04:00
bunnei d10cd5d7ea qt: Add an option to view/regenerate telemetry ID. 2017-08-25 23:10:02 -04:00
bunnei c871b582f3 default_ini: Use correct telemetry endpoint URL. 2017-08-25 23:10:01 -04:00
bunnei ebd40bac63 # This is a combination of 2 commits.
# This is the 1st commit message:

qt: Add web configuration tab.

# The commit message #2 will be skipped:

# fixup! qt: Add web configuration tab.
2017-08-25 23:10:01 -04:00
bunnei b4d06de621 qt: Add web configuration tab. 2017-08-25 23:10:01 -04:00
bunnei 5dddc43fde web_backend: User config for username and token, support anonymous post. 2017-08-25 23:10:01 -04:00
bunnei 24326a8436 telemetry: Log frontend type. 2017-08-25 23:10:01 -04:00
bunnei 3142ed98b6 settings: Add enable_telemetry, citra_username, and citra_token. 2017-08-25 23:10:00 -04:00
bunnei 58d3f0ae1d telemetry_session: Log telemetry ID. 2017-08-25 23:10:00 -04:00
bunnei 8ed5cd044d citra_qt: Show one-time callout messages to user. 2017-08-25 23:10:00 -04:00
ThaMighty90 791a419280 SidebySide Layout (#2859)
* added a SidebySide Layout

* Reworked, so both screen have the same height and cleaned up screen translates.

* added the option in the UI, hope this is the right way to do it. formated framebuffer_layout.cpp

* delete the x64 files

* deleted ui_configure_graphics.h

* added Option for the Layout in the xml

* got rid of SIDE_BY_SIDE_ASPECT_RATIO because it was useless. pulled translate into variables

* changed shift variables to u32 and moved them in their respective branch. remove notr="true" for the Screen layout drop down

* reworked intends :). changed function description for SideFrameLayout

* some description reworking
2017-08-25 17:53:07 -04:00
wwylele b67850c882 SwRasterizer/Clipper: flip the sign convention to match PICA and OpenGL 2017-08-25 07:26:45 +03:00
wwylele 55eaecad8f gl_rasterizer: implement custom clip plane 2017-08-25 07:26:45 +03:00
wwylele 5893bb84af SwRasterizer: implement custom clip plane 2017-08-24 15:34:27 +03:00
wwylele 2814d0fba2 EmuWindow: refactor touch input into a TouchDevice 2017-08-24 15:00:56 +03:00
wwylele 5ec879dfaa HID: use TouchDevice for touch pad 2017-08-24 13:56:43 +03:00
James Rowe 35e185309b Merge pull request #2839 from Subv/global_kernel_lock
Kernel/HLE: Use a mutex  to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc).
2017-08-23 18:17:44 -06:00
bunnei add21dee2f Merge pull request #2893 from Subv/not_schedule_main_thread
Kernel/Threads: Don't immediately switch to the new main thread when loading a new process.
2017-08-22 17:45:47 -04:00
Subv 36220f3873 Kernel/Memory: Acquire the global HLE lock when a memory read/write operation falls outside of the fast path, for it might perform an MMIO operation. 2017-08-22 09:30:58 -05:00
Subv 9cf64ca2cf Kernel/HLE: Use a mutex to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc).
This mutex is acquired in SVC::CallSVC, ie, as soon as the guest application enters the HLE kernel, and should be acquired by the aforementioned threads before modifying kernel structures.
2017-08-22 09:30:55 -05:00
James Rowe 95ccb3a6e6 Merge pull request #2888 from Subv/warnings
Fixed some warnings in the core project.
2017-08-22 08:09:09 -06:00
wwylele 56684ad10b motion_emu: fix initialization order 2017-08-22 11:43:44 +03:00
wwylele 709d362609 gl_rasterizer/lighting: more accurate CP formula 2017-08-22 09:34:44 +03:00
wwylele 6813c61423 SwRasterizer/Lighting: implement LUT input CP 2017-08-22 09:34:44 +03:00
wwylele f75c6b4d36 SwRasterizer/Lighting: implement bump mapping 2017-08-22 09:34:44 +03:00
Subv 733dfe220e Kernel/Threads: Don't immediately switch to the new main thread when loading a new process.
This is necessary for loading multiple processes at the same time.
The main thread will be automatically scheduled when necessary once the scheduler runs.
2017-08-21 20:54:29 -05:00
Subv 1c6f3ee4ba GPU/Warnings: Explicitly cast the screen refresh ticks to u64. 2017-08-21 08:34:30 -05:00
Subv f94bd67a0d Warnings: Add UNREACHABLE macros to switches that contemplate all possible values. 2017-08-21 08:34:28 -05:00
Subv ecfad8a134 HLE/Applets: Fixed some conversion warnings when creating the framebuffer shared memory objects. 2017-08-21 08:34:27 -05:00
Subv 690eed4d9e CPU/Dynarmic: Fixed a warning when incrementing the number of ticks in ExecuteInstructions. 2017-08-21 08:34:25 -05:00
Subv 015a96a59b Dyncom: Use size_t instead of int to store the instruction offsets in the instruction cache.
Fixes a few warnings.
2017-08-21 08:34:23 -05:00
Subv b2d8872e56 Dyncom: Fixed a conversion warning when decoding thumb instructions. 2017-08-21 08:20:36 -05:00
wwylele c0bc013929 swrasterizer: remove invalid TODO
This function is called in clipping, before the pespective divide, and is not used in later rasterization. Thus it doesn't need perspective correction.
2017-08-21 08:03:07 +03:00
wwylele a931e4974e swrasterizer/clipper: remove tested TODO
hwtested. Current implementation is the correct behavior
2017-08-21 08:03:07 +03:00
wwylele a8499f3adb gl_shader_gen: simplify and clarify the depth transformation between vertex shader and fragment shader 2017-08-21 08:03:07 +03:00
wwylele d332ede188 gl_rasterizer: add clipping plane z<=0 defined in PICA 2017-08-21 08:03:07 +03:00
Yuri Kunde Schlesner d7d434cbc7 Merge pull request #2872 from wwylele/sw-geo-factor
SwRasterizer/Lighting: implement geometric factor
2017-08-20 17:49:42 -07:00
James Rowe df206639cf Merge pull request #2861 from wwylele/motion-refactor
Refactor MotionEmu into a InputDevice
2017-08-19 23:43:01 -06:00
wwylele 13014535c1 HID: fix a comment and a warning 2017-08-20 08:37:48 +03:00
James Rowe 989749253e Merge pull request #2871 from wwylele/sw-spotlight
SwRasterizer/Lighting: implement spot light
2017-08-19 20:10:24 -06:00
B3n30 95fd4a5e9d Added missing parts in libnetwork (#2838)
* Network: Set and send the game information over enet

Added Callbacks for RoomMember and GetMemberList to Room in preparation for web_services.
2017-08-19 11:14:33 -06:00
wwylele 35b3fef422 pica/command_processor: build geometry pipeline and run geometry shader
The geometry pipeline manages data transfer between VS, GS and primitive assembler. It has known four modes:
 - no GS mode: sends VS output directly to the primitive assembler (what citra currently does)
 - GS mode 0: sends VS output to GS input registers, and sends GS output to primitive assembler
 - GS mode 1: sends VS output to GS uniform registers, and sends GS output to primitive assembler. It also takes an index from the index buffer at the beginning of each primitive for determine the primitive size.
 - GS mode 2: similar to mode 1, but doesn't take the index and uses a fixed primitive size.
hwtest shows that immediate mode also supports GS (at least for mode 0), so the geometry pipeline gets refactored into its own class for supporting both drawing mode.
In the immediate mode, some games don't set the pipeline registers to a valid value until the first attribute input, so a geometry pipeline reset flag is set in `pipeline.vs_default_attributes_setup.index` trigger, and the actual pipeline reconfigure is triggered in the first attribute input.
In the normal drawing mode with index buffer, the vertex cache is a little bit modified to support the geometry pipeline. Instead of OutputVertex, it now holds AttributeBuffer, which is the input to the geometry pipeline. The AttributeBuffer->OutputVertex conversion is done inside the pipeline vertex handler. The actual hardware vertex cache is believed to be implemented in a similar way (because this is the only way that makes sense).
Both geometry pipeline and GS unit rely on states preservation across drawing call, so they are put into the global state. In the future, the other three vertex shader units should be also placed in the global state, and a scheduler should be implemented on top of the four units. Note that the current gs_unit already allows running VS on it in the future.
2017-08-19 10:13:20 +03:00
wwylele 6d51febdc4 pica/shader/jit: implement SETEMIT and EMIT 2017-08-19 10:13:20 +03:00
wwylele ab3e6dba1f pica/primitive_assembly: Handle winding for GS primitive
hwtest shows that, although GS always emit a group of three vertices as one primitive, it still respects to the topology type, as if the three vertices are input into the primitive assembler independently and sequentially. It is also shown that the winding flag in SETEMIT only takes effect for Shader topology type, which is believed to be the actual difference between List and Shader (hence removed the TODO). However, only Shader topology type is observed in official games when GS is in use, so the other mode seems to be just unintended usage.
2017-08-19 10:13:20 +03:00
wwylele 4283f4b244 correct constness 2017-08-19 10:13:20 +03:00
wwylele 4d4dbc83a7 pica/shader/interpreter: implement SETEMIT and EMIT 2017-08-19 10:13:20 +03:00
wwylele 2599928707 pica/shader: extend UnitState for GS
Among four shader units in pica, a special unit can be configured to run both VS and GS program. GSUnitState represents this unit, which extends UnitState (which represents the other three normal units) with extra state for primitive emitting. It uses lots of raw pointers to represent internal structure in order to keep it standard layout type for JIT to access.
This unit doesn't handle triangle winding (inverting) itself; instead, it calls a WindingSetter handler. This will be explained in the following commits
2017-08-19 10:13:20 +03:00
wwylele 6e56beafbf motion_emu: no need to include thread in header 2017-08-19 07:21:02 +03:00
Yuri Kunde Schlesner e24db32ae8 Merge pull request #2881 from MerryMage/dsp-firm-check
dsp_dsp: Remove size assertion in LoadComponent
2017-08-15 20:14:41 -07:00
MerryMage 98edc03737 dsp_dsp: Remove size assertion in LoadComponent 2017-08-15 10:16:50 +01:00
Dave Leaver 4c281049aa Fix Spelling/English mistakes 2017-08-14 09:15:39 +12:00
Sebastian Valle ebc3701d0e Merge pull request #2843 from Subv/applet_slots
Services/APT: Use an array to hold data about the 4 possible concurrent applet types (Application, Library, HomeMenu, System)
2017-08-12 10:27:57 -05:00
wwylele a26768503a gl_shader_gen: don't call SampleTexture when bump map is not used 2017-08-11 18:35:00 +03:00
wwylele d500f79b8e move MotionEmu from core/frontend to input_common as a InputDevice 2017-08-11 11:05:08 +03:00
wwylele 31da8b8353 HID: use MotionDevice for Accelerometer and Gyroscope 2017-08-11 11:03:18 +03:00
Weiyi Wang 4f6f33f155 Merge pull request #2874 from danzel/spelling-1
Fix some spelling mistakes
2017-08-11 11:02:14 +03:00
danzel 6610e914a3 Fix some spelling mistakes 2017-08-11 19:51:16 +12:00
wwylele 1904567e36 SwRasterizer/Lighting: implement spot light 2017-08-11 01:19:10 +03:00
wwylele b7e4eb7d90 SwRasterizer/Lighting: implement geometric factor 2017-08-11 01:18:43 +03:00
Weiyi Wang ed7b0bfad0 Merge pull request #2863 from wwylele/pad-state-zero
HID: zero unused PadState bits
2017-08-10 17:50:18 +03:00
wwylele b05c60172b HID: zero unused PadState bits 2017-08-10 17:01:03 +03:00
wwylele 72905b0389 SwRasterizer/Lighting: use make_tuple instead of constructor
implicit tuple constructor is a c++17 thing, which is not supported by some not-so-old libraries. Play safe for now
2017-08-10 12:19:58 +03:00
wwylele edc3516958 pica/regs: layout geometry shader configuration regs
All the register meanings are derived from ctrulib (3dbrew is outdated for most of them)
2017-08-10 01:53:08 +03:00
bunnei e9c9b0ff53 Merge pull request #2862 from j-selby/update-cryptopp
Update CryptoPP (byte ambiguity)
2017-08-09 16:18:43 -04:00
Weiyi Wang ae040b4f3b Merge pull request #2822 from wwylele/sw_lighting-2
Implement fragment lighting in the sw renderer (take 2)
2017-08-09 18:54:29 +03:00
Weiyi Wang 16020d23ac Merge pull request #2856 from wwylele/shader-share
pica: upload shared shader code & swizzle to both unit
2017-08-09 18:52:30 +03:00
mailwl 77aedbdc52 Service/dlp: Update function tables according 3dbrew 2017-08-09 16:14:07 +03:00
James b09fccfe6d Update cryptopp 2017-08-08 17:50:09 +10:00
Subv 02b8723f3c Services/APT: Use the AppletAttributes union directly when dealing with applet attrs. 2017-08-07 16:09:55 -05:00
Subv 99fe2f6ec7 Services/APT: Use an array to hold data about the 4 possible concurrent applet types (Application, Library, HomeMenu, System).
This gives each applet type its own set of events as per the real NS module.
2017-08-07 14:53:58 -05:00
wwylele 089c0d897b pica: upload shared shader code to both unit 2017-08-07 10:30:05 +03:00
Andrea Pascal 0aeb557fe7 Quickfix typo in OpenGL 3.3 error message
User pointed out on the Discord server that "nothave" is erroneously concatenated. Added a space to prevent it.
2017-08-04 23:11:27 -04:00
bunnei df6409c59f telemetry: Add field for OsPlatform. 2017-08-03 20:10:38 -04:00
bunnei 512facf394 telemetry: Add field for BuildName. 2017-08-03 20:10:37 -04:00
bunnei 9d33e7a94c telemetry: Add field for RequiresSharedFont. 2017-08-03 20:10:37 -04:00
bunnei 27e05b885a telemetry_session: Log BuildDate and ProgramName fields. 2017-08-03 20:10:37 -04:00
bunnei e6b95d5511 common: Add build timestamp to scm_rev. 2017-08-03 20:10:37 -04:00
bunnei 1d3d7645bb core: Expose AppLoader as a public interface. 2017-08-03 20:10:37 -04:00
bunnei e5f2839605 loader: Expose program title. 2017-08-03 20:10:37 -04:00
wwylele fe4c91ae4c SwRasterizer/Lighting: shorten file name 2017-08-03 13:51:22 +03:00
wwylele 0af90eabd8 SwRasterizer/Lighting: move to its own file 2017-08-02 22:20:40 +03:00
wwylele a402f75cf4 SwRasterizer/Lighting: reduce confusion 2017-08-02 22:07:15 +03:00
wwylele cfd3edb942 SwRasterizer/Lighting: move quaternion normalization to the caller 2017-08-02 22:05:53 +03:00
James 9da055f84c Handle invalid filenames when renaming files/directories 2017-07-31 17:11:53 +10:00
Weiyi Wang 05e0bef66d Merge pull request #2848 from wwylele/shader-loop-fix
pica/shader_interpreter: fix off-by-one in LOOP
2017-07-29 12:34:28 +03:00
bunnei 361dcc2e17 Merge pull request #2679 from MerryMage/interp-tests
DynCom VFP tests
2017-07-27 11:21:36 -04:00
bunnei 43c11bbd89 Merge pull request #2840 from Subv/apt_parameter
Services/APT: Corrected the behavior of the Receive/Send/Glance/CancelParameter functions
2017-07-27 11:14:27 -04:00
wwylele dc6f41bcc5 pica/shader_interpreter: fix off-by-one in LOOP 2017-07-27 13:48:27 +03:00
bunnei 72d36b8260 Merge pull request #2837 from wwylele/shader-debugger-fix
Misc shader debugger fixes
2017-07-26 16:00:10 -04:00
B3n30 9f9afc3fd5 Network: Moved NintendoOUI initalization to RoomMember constructor 2017-07-26 21:06:40 +02:00
MerryMage 22e08c7e6b tests: Add tests for vadd 2017-07-23 12:29:51 +01:00
MerryMage 75f30767d3 tests: Arm testing framework 2017-07-23 12:08:43 +01:00
Sebastian Valle 803fda3c67 Merge pull request #2816 from wwylele/proctex-lutlutlut
gl_rasterizer: use texture buffer for proctex LUT
2017-07-22 23:03:48 -05:00
Sebastian Valle 62cdefaed0 Merge pull request #2834 from wwylele/depth-enable-fix
gl_rasterizer_cache: fix using_depth_fb
2017-07-22 23:02:59 -05:00
Weiyi Wang c40c9bf285 Merge pull request #2799 from yuriks/virtual-cached-range-flush
Add address conversion functions returning optional, Add function to flush virtual region from rasterizer cache
2017-07-22 10:15:52 +03:00
Subv 20eb92534e Service/APT: Log Send/Cancel/Receive/GlanceParameter calls even if they return an error. 2017-07-21 15:03:06 -05:00
Subv e0cfa309b6 Services/APT: Return the proper error code when calling SendParameter with an outstanding parameter already in memory. 2017-07-21 14:59:26 -05:00
Subv f8f6966ce1 Services/APT: Reset the APT parameter inside CancelParameter if the conditions are met. 2017-07-21 14:59:25 -05:00
Subv f678b8da42 Services/APT: Properly clear the apt parameter after a successful ReceiveParameter call. 2017-07-21 14:59:22 -05:00
Subv 00128a81d3 Services/APT: Use the right error codes in ReceiveParameter and GlanceParameter when the parameter doesn't exist. 2017-07-21 14:59:21 -05:00
Subv 725a45fe9f Services/APT: Use boost::optional for the APT parameter structure. 2017-07-21 14:59:20 -05:00
wwylele d9a05eec0b debugger/shader: display LOOP 2017-07-20 23:30:34 +03:00
wwylele b5711f9f54 debugger/shader: print the invert flag for JMPU 2017-07-20 23:18:07 +03:00
wwylele 2fcfd76fb2 debugger/shader: fix address register for reverted arithmetic op 2017-07-20 23:12:08 +03:00
wwylele 69b544d73a debugger/shader: fix inverted uniform flow control 2017-07-20 22:47:53 +03:00
bunnei b2bfbf5120 telemetry: Log performance, configuration, and system data. 2017-07-17 21:32:28 -04:00
bunnei f6ed592be0 Merge pull request #2804 from Kloen/theming
citra-qt: UI Themes
2017-07-17 21:30:01 -04:00
Weiyi Wang 9eb8dd311c Merge pull request #2818 from B3n30/network
Enable data transfer over ENet
2017-07-17 17:08:02 +03:00
B3n30 e2992eb321 stubbed frd::UnscrambleLocalFriendCode (#2827) 2017-07-16 21:32:08 -05:00
B3n30 e9ce27c941 Network: Changed timeout for receiving packets to 100ms 2017-07-16 21:30:17 +02:00
B3n30 e443c779a5 Network: Propagate Room closing to connected members 2017-07-16 21:30:10 +02:00
B3n30 99bb995de3 Network: Made send async in RoomMember 2017-07-16 21:30:04 +02:00
B3n30 7eb9751711 Network: Send the game title 2017-07-16 21:29:57 +02:00
B3n30 ea994b412e Network: Enable sending and receiving chat messages 2017-07-16 21:29:49 +02:00
B3n30 ad621f7fa4 Network: Handle the disconnect of a client 2017-07-16 21:29:41 +02:00
B3n30 87c5fd4a75 Network: Enable to send WifiPackets 2017-07-16 21:29:34 +02:00
B3n30 8014f7bdfb Network: Init Network in SDL and QT 2017-07-16 21:29:19 +02:00
B3n30 6b20db1d8e Network: Send JoinRequest and handle the answer in RoomMember 2017-07-16 21:29:11 +02:00
B3n30 e942c65777 Network: Handle join request in Room 2017-07-16 21:29:02 +02:00
B3n30 1d82cf8944 Network: Added Packet class for serialization 2017-07-16 21:28:55 +02:00
B3n30 898b372ba3 Network: Threads for Room and RoomMember 2017-07-16 21:28:47 +02:00
Weiyi Wang b5e42d338d Merge pull request #2784 from wwylele/font-archive
load shared font from system archive
2017-07-16 20:12:55 +03:00
bunnei 425200bca5 web_backend: Specify api-version on JSON post. 2017-07-11 18:34:30 -04:00
bunnei 7927c9b28f web_service: Add CMake flag to enable. 2017-07-11 18:33:41 -04:00
bunnei d253007194 telemetry_session: Use TelemetryJson to submit real telemetry. 2017-07-11 18:33:40 -04:00
bunnei d5a3ab8aef web_service: Implement JSON serialization of telemetry data. 2017-07-11 18:33:38 -04:00
bunnei 07f0f623d1 web_backend: Add initial interface to POST data to Citra Web Services. 2017-07-11 18:33:25 -04:00
wwylele 9f7ba9c282 SwRasterizer/Lighting: dist atten lut input need to be clamp 2017-07-11 22:19:00 +03:00
wwylele 4fe16d80bd SwRasterizer/Lighting: unify float suffix 2017-07-11 22:15:35 +03:00
wwylele 35bbf67e6e SwRasterizer/Lighting: get rid of nested return 2017-07-11 22:15:35 +03:00
wwylele a98f20df55 SwRasterizer/Lighting: refactor GetLutValue into a function.
merging similar pattern. Also makes the code more similar to the gl one
2017-07-11 22:15:35 +03:00
wwylele e34dc666cf SwRasterizer: only interpolate quat and view when lighting is enabled 2017-07-11 21:35:57 +03:00
wwylele acdf5035be vector_math: remove dead template parameter 2017-07-11 20:08:56 +03:00
wwylele 837642011d SwRasterizer/Lighting: pass lighting state as parameter 2017-07-11 20:06:26 +03:00
wwylele 48058f31b1 vector_math: remove broken SFINAE stuff
this was originally added to eliminate warnings on MSVC, but it doesn't work for custom types.
2017-07-11 19:51:29 +03:00
Subv 57bd9fca7a SwRasterizer/Lighting: Move the clamp highlight calculation to the end of the per-light loop body. 2017-07-11 19:39:15 +03:00
Subv d96c1bd977 SwRasterizer/Lighting: Move the lighting enable check outside the ComputeFragmentsColors function. 2017-07-11 19:39:15 +03:00
Subv 08ebc3203d SwRasterizer/Lighting: Do not use global registers state in ComputeFragmentsColors. 2017-07-11 19:39:15 +03:00
Subv 5d5611f3d7 SwRasterizer/Lighting: Do not use global state in LookupLightingLut. 2017-07-11 19:39:15 +03:00
Subv c2088581a0 SwRasterizer/Lighting: Fixed a bug where the distance attenuation bias was being set to the dist atten scale. 2017-07-11 19:39:15 +03:00
Subv eefe9b2bed SwRasterizer: Fixed a few conversion warnings and moved per-light values into the per-light loop. 2017-07-11 19:39:15 +03:00
Subv 232ff77c65 SwRasterizer: Run clang-format 2017-07-11 19:39:15 +03:00
Subv 1dcd48ba2a SwRasterizer: Flip the vertex quaternions before clipping (if necessary). 2017-07-11 19:39:15 +03:00
Subv 97723538d8 SwRasterizer: Corrected the light LUT lookups. 2017-07-11 19:39:15 +03:00
Subv 9bc4d2754b SwRasterizer: Corrected the light LUT lookups. 2017-07-11 19:39:15 +03:00
Subv e50af9c6a1 SwRasterizer: Fixed the lighting lut lookup function. 2017-07-11 19:39:15 +03:00
Subv 3bdb54d954 SwRasterizer: Calculate fresnel for fragment lighting. 2017-07-11 19:39:15 +03:00
Subv e238921440 SwRasterizer: Calculate specular_1 for fragment lighting. 2017-07-11 19:39:15 +03:00
Subv e28b936c5d SwRasterizer: Calculate specular_0 for fragment lighting. 2017-07-11 19:39:15 +03:00
Subv 8e95685a2a SwRasterizer: Implement primary fragment color. 2017-07-11 19:39:15 +03:00
bunnei 061f10e286 web_service: Add skeleton project. 2017-07-10 00:15:40 -04:00
bunnei de913af2c7 settings: Add telemetry endpoint URL. 2017-07-10 00:15:39 -04:00
bunnei e5a69c42e2 logging: Add WebService as a log cateogry. 2017-07-10 00:15:30 -04:00
Sebastian Valle c13e4d7ea4 Merge pull request #2815 from mailwl/bossp
Service/boss:P: Add some functions to FunctionTable
2017-07-08 13:58:40 -05:00
bunnei d08d94d942 Merge pull request #2797 from yuriks/cached-vma-free-crash
Memory: Fix crash when unmapping a VMA covering cached surfaces
2017-07-08 14:07:47 -04:00
B3n30 64b6caf5f5 Implement basic virtual Room support based on enet (#2803)
* Added support for network with ENet lib,

connecting is possible, but data can't be sent, yet.

* fixup! Added support for network with ENet lib,

* fixup! CLang

* fixup! Added support for network with ENet lib,

* fixup! Added support for network with ENet lib,

* fixup! Clang format

* More fixups!

* Moved ENetHost* and ENetPeer* into pimpl classes

* fixup! Moved ENetHost* and ENetPeer* into pimpl classes

* fixup! Clang again

* fixup! Moved ENetHost* and ENetPeer* into pimpl classes

* fixup! Moved ENetHost* and ENetPeer* into pimpl classes

* fixup! Moved ENetHost* and ENetPeer* into pimpl classes
2017-07-07 15:34:15 -04:00
mailwl edef1d54bb Service/boss:P: Add some functions to FunctionTable 2017-07-01 12:21:38 +03:00
wwylele 54eafa42ce gl_rasterizer: use texture buffer for proctex LUT 2017-07-01 11:02:48 +03:00
Kloen 1e5a589a66 Remove unnecessary WIN32_LEAN_AND_MEAN macro definition 2017-06-30 01:59:55 +02:00
Sebastian Valle 4f7e8c6f1e Merge pull request #2793 from Subv/replyandreceive
Kernel/SVC: Partially implemented svcReplyAndReceive
2017-06-29 17:05:22 -05:00
Subv 4a8de6bb00 Kernel/SVC: Pass the current thread as a parameter to ClientSession::SendSyncRequest. 2017-06-29 12:30:34 -05:00
Yuri Kunde Schlesner f2ca6e8d8d Merge pull request #2809 from wwylele/texture-copy-fix
gpu: fix edge cases for TextureCopy
2017-06-29 09:29:40 -07:00
wwylele 60f6d78648 gpu: add comments for TextureCopy 2017-06-29 13:09:23 +03:00
Yuri Kunde Schlesner 36ed66c9ad Merge pull request #2800 from wwylele/fog-lutlutlut
gl_rasterizer: use texture buffer for fog LUT
2017-06-28 21:52:20 -07:00
MerryMage 8ac1da24c5 configure_debug: Add label warning that CPU JIT needs to be disabled for gdbstub to work 2017-06-28 08:50:22 +01:00
wwylele 36a523b7cf gpu: fix edge cases for TextureCopy 2017-06-27 23:20:23 +03:00
Sebastian Valle 0481516faf Merge pull request #2778 from Subv/uds_more
Services/UDS: Stub SendTo to generate the unencrypted data frames with the right headers
2017-06-26 19:35:52 -05:00
Subv 49d391d757 UDS: Use the ToDS and FromDS fields to properly calculate the AAD used during encryption. 2017-06-26 12:24:14 -05:00
Subv 1ae0d3c450 UDS: Move the UDS keyslot used to generate the CCMP key to the AES::KeySlotID enum. 2017-06-26 12:24:13 -05:00
Subv 0a6a3dc5de UDS: Run clang-format. 2017-06-26 12:24:11 -05:00
Subv 7f5c4beca2 UDS: Added functions to encrypt and decrypt the data frames.
The responsibility of encryption and encapsulation into an 802.11 MAC frame will fall into the callers of GenerateDataPayload.
2017-06-26 12:24:09 -05:00
Subv 44f4737f99 Kernel/Sessions: Clean up the list of pending request threads of a session when the client endpoint is closed. 2017-06-25 23:38:29 -05:00
Subv 820509103c Kernel/SVC: Partially implemented svcReplyAndReceive.
It behaves mostly as WaitSynchronizationN with wait_all = false, except for IPC buffer translation.

The target thread of an IPC response will now wake up when responding.
IPC buffer translation is currently not implemented.
Error passing back to svcSendSyncRequest is currently not implemented.
2017-06-25 23:38:28 -05:00
wwylele e93f183170 apt: load shared font from system archive 2017-06-26 01:38:12 +03:00
wwylele e770625812 apt/shared_font: don't relocate zero offset 2017-06-26 00:43:23 +03:00
Subv d7538409fb Kernel/ServerSession: Keep track of which threads have issued sync requests. 2017-06-25 14:47:25 -05:00
B3n30 2a652f3324 Set global definition WIN32_LEAN_AND_MEAN (#2807)
Set definition WIN32_LEAN_AND_MEAN to avoid windows.h including a lot of libs that are usually not used.
2017-06-24 17:38:16 -07:00
Kloen 9c525330b9 citra-qt: Add option to configure the UI theme 2017-06-24 05:48:43 +02:00
Kloen ffa035529d citra-qt: load ui theme at startup and config change. 2017-06-24 05:48:42 +02:00
Kloen 0b22d01043 citra-qt: Add Dark theme from https://github.com/ColinDuquesnoy/QDarkStyleSheet 2017-06-24 05:48:42 +02:00
Kloen 45c1d80518 citra-qt: add new uisetting->theme 2017-06-24 05:48:35 +02:00
Yuri Kunde Schlesner afa851d0a4 Kernel: Implement AcceptSession SVC 2017-06-23 11:26:37 -07:00
Yuri Kunde Schlesner 0539afd69b Kernel: Fix SVC wrapper for CreatePort
The return parameters were flipped.
2017-06-23 11:22:04 -07:00
Yuri Kunde Schlesner cf12983372 Kernel: Implement CreateSessionToPort SVC 2017-06-23 11:22:02 -07:00
Yuri Kunde Schlesner 917e708cfb Merge pull request #2798 from yuriks/svc-create-session
Kernel: Implement CreateSession SVC
2017-06-23 11:18:49 -07:00
bunnei 29a8893020 Merge pull request #2795 from chris062689/master
Change default UI background from white to black.
2017-06-22 22:00:03 -04:00
bunnei b08b662e76 Merge pull request #2796 from yuriks/hle-null-handles
Kernel/IPC: Support translation of null handles
2017-06-22 21:59:25 -04:00
wwylele f1afe2baa8 gl_rasterizer: use texture buffer for fog LUT 2017-06-22 20:41:00 +03:00
wwylele b3f9d734f0 gl_rasterizer: create the texture before applying the state
this is a rebasing error from #2792. It doesn't affect much though, because the later more Apply() call fixes/hides it
2017-06-22 17:47:46 +03:00
Yuri Kunde Schlesner 0c20b6e519 Kernel: Fix typo in test name 2017-06-22 02:21:18 -07:00
Yuri Kunde Schlesner 364ef24f77 Kernel: Implement CreateSession SVC 2017-06-22 00:39:27 -07:00
Yuri Kunde Schlesner 1423b3b10e Memory: Add function to flush a virtual range from the rasterizer cache
This is slightly more ergonomic to use, correctly handles virtual
regions which are disjoint in physical addressing space, and checks only
regions which can be cached by the rasterizer.
2017-06-21 22:57:12 -07:00
Yuri Kunde Schlesner 3bc1034465 Memory: Fix crash when unmapping a VMA covering cached surfaces
Unmapping pages tries to flush any cached GPU surfaces touching that
region. When a cached page is invalidated, GetPointerFromVMA() is used
to restore the original pagetable pointer. However, since that VMA has
already been deleted, this hits an UNREACHABLE case in that function.

Now when this happens, just set the page type to Unmapped and continue,
which arrives at the correct end result.
2017-06-21 22:56:31 -07:00
Yuri Kunde Schlesner 75be7907c1 Memory: Add TryVirtualToPhysicalAddress, returning a boost::optional 2017-06-21 22:55:18 -07:00
Yuri Kunde Schlesner 1dd91e371b Memory: Make PhysicalToVirtualAddress return a boost::optional
And fix a few places in the code to take advantage of that.
2017-06-21 22:55:17 -07:00
Yuri Kunde Schlesner 294e6b6306 Merge pull request #2792 from wwylele/lutlutlut
gl_rasterizer: fix lighting LUT interpolation
2017-06-21 14:55:23 -07:00
Yuri Kunde Schlesner b3e13d653f Kernel/IPC: Support translation of null handles
Missed this in my first implementation. Thanks to @wwylele for pointing
out that this was missing.
2017-06-21 14:27:03 -07:00
wwylele 3e20762caa gl_state: reset 1d textures 2017-06-21 23:13:06 +03:00
wwylele 49cf57c079 gl_rasterizer: fix glGetUniformLocation type 2017-06-21 23:13:06 +03:00
wwylele 4dc2b38ce2 gl_rasterizer: manage texture ids in one place 2017-06-21 23:13:06 +03:00
wwylele 98a84efd39 gl_rasterizer/lighting: fix LUT interpolation 2017-06-21 23:13:06 +03:00
chris062689 b3426b6b51 Changing default values for bg_red, bg_green, and bg_blue from 1.0 to 0.0. 2017-06-21 13:45:07 -04:00
Weiyi Wang d910f9cc85 Merge pull request #2789 from yuriks/misc-kernel
Trivial no-op additions
2017-06-21 20:34:12 +03:00
Yuri Kunde Schlesner 03964e9cd2 Merge pull request #2790 from yuriks/remove-movefrom
Remove ResultVal::MoveFrom
2017-06-20 22:04:09 -07:00
Yuri Kunde Schlesner 2cb9a2538b Memory: Add enum definitions for the n3DS FCRAM size 2017-06-20 22:03:25 -07:00
Sebastian Valle b91c1e214c Merge pull request #2779 from Subv/uds_more2
UDS: Added a hook for updating the connection status when a client connects to the network.
2017-06-21 02:29:00 +00:00
Yuri Kunde Schlesner c27dad4cd1 ResultVal: Remove MoveFrom()
Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in
case you already have an rvalue.
2017-06-18 19:03:15 -07:00
Yuri Kunde Schlesner ec6a30b8bb ResultVal: Add an rvalue overload of Unwrap() 2017-06-18 18:49:46 -07:00
Yuri Kunde Schlesner 41376f050a Kernel: Add comment about the extended linear heap area 2017-06-18 18:38:40 -07:00
Yuri Kunde Schlesner d8ee9cb5c3 Kernel/IPC: Add tests for HLERequestContext buffer translation 2017-06-18 16:05:58 -07:00
Yuri Kunde Schlesner 6382e341f8 Kernel/IPC: Make HLERequestContext usable from outside kernel 2017-06-18 16:05:12 -07:00
Yuri Kunde Schlesner 2f5b8ebc73 Merge pull request #2776 from wwylele/geo-factor
Fragment lighting: implement geometric factor
2017-06-18 14:18:48 -07:00
wwylele 7318329bbb gl_rasterizer/lighting: use the formula from the paper for germetic factor 2017-06-18 10:29:02 +03:00
Yuri Kunde Schlesner ccdeacf149 Stop using reserved operator names (and/or/xor) with Xbyak
Also has the Dynarmic upgrade with the same change
2017-06-17 12:20:22 -07:00
Subv bc8fe1c226 UDS: Clarify comment about the first 4 bytes of the SecureData header.
It is likely that these 4 bytes are actually a different header, part of some protocol that encapsulates the SecureData protocol.
2017-06-15 12:08:55 -05:00
Subv 39d3a3aa7e UDS: Return the correct error messages in SendTo when not connected to a network or trying to send to itself. 2017-06-15 12:08:54 -05:00
Subv 2761536b1d UDS: Stub SendTo to generate the unencrypted data frame with the right headers. 2017-06-15 12:08:53 -05:00
Subv 8cc1a34f7e UDS: Added a hook for updating the connection status when a client connects to the network. 2017-06-15 11:57:49 -05:00
wwylele a8f1a9cbb4 gl_rasterizer/lighting: implement geometric factor 2017-06-15 14:59:01 +03:00
Yuri Kunde Schlesner 186edf7ed7 Merge pull request #2762 from wwylele/light-cp-tangent
Fragment lighting: implement lut input 5 (CP) and tangent mapping
2017-06-14 20:08:26 -07:00
Yuri Kunde Schlesner b865e7904d Merge pull request #2743 from wwylele/wrap-fix
pica/rasterizer: implement/stub texture wrap mode 4-7
2017-06-13 21:28:12 -07:00
Sebastian Valle cc8c999994 Services/UDS: Set the proper bit in the ConnectionStatus structure when creating a network. (#2738)
* Services/UDS: Set the proper bit in the ConnectionStatus structure when creating a network.

This lets the application know that the host was successfully added to the session.

* Services/UDS: Reset the connection status when destroying the network

* Services/UDS: Reset the connection status's bitmask of changed nodes after reporting it to the game.
2017-06-13 22:00:58 +03:00
Yuri Kunde Schlesner 0056022b1d Merge pull request #2767 from yuriks/quaternion-flip-comment
OpenGL: Update comment on AreQuaternionsOpposite with new information
2017-06-12 16:31:55 -07:00
Yuri Kunde Schlesner 8542637065 Merge pull request #2774 from yuriks/hle-handles
Add basic support for IPC translation for HLE services
2017-06-11 21:39:49 -07:00
Yuri Kunde Schlesner 48b7e2b061 Kernel/IPC: Use boost::small_vector for HLE context objects 2017-06-11 16:34:13 -07:00
Yuri Kunde Schlesner 192a95390e Kernel: Allow clearing request_objects to re-use buffer space
Reduces the necessary allocation to max(in_handles, out_handles) rather
than (in_handles + out_handles).
2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner e639024013 Kernel: Basic support for IPC translation for HLE services 2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner 7747a25345 Service/sm: Convert srv: to use IPC helpers 2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner a74dbc2c24 IPC: Add Pop/PushObjects methods to RequestParser/Builder
These use the context functions to create and look-up handles for the
user.
2017-06-11 13:10:20 -07:00
Yuri Kunde Schlesner 2102e5e907 IPC: Add basic HLERequestContext support to RequestParser/Builder 2017-06-11 13:10:16 -07:00
Yuri Kunde Schlesner ccba9e903f Kernel: Add methods in HLERequestContext abstracting handle creation 2017-06-11 13:07:33 -07:00
Yuri Kunde Schlesner 1e8c1ed676 ServiceFramework: Use separate copy of command buffer
Copy the IPC command buffer to/from the request context before/after the
handler is invoked. This is part of a move away from using global data
for handling IPC requests.
2017-06-11 13:07:33 -07:00
wwylele bd01da889f gl_rasterizer/lighting: Implement tangent mapping 2017-06-11 21:30:53 +03:00
wwylele 8b2aeb449c gl_rasterizer/lighting: implement lut input 5 (CP) 2017-06-11 21:30:53 +03:00
Sebastian Valle e789d1f1c4 Merge pull request #2727 from wwylele/spot-light
Fragment lighting: implement spot light
2017-06-11 18:23:47 +00:00
wwylele 13481c8131 gl_rasterizer_cache: depth write is disabled if allow_depth_stencil_write is false 2017-06-10 15:10:34 +03:00
Yuri Kunde Schlesner 5903948a7a OpenGL: Update comment on AreQuaternionsOpposite with new information
While debugging the software renderer implementation, it was noticed
that this is actually exactly what the hardware does, upgrading the
status of this "hack" to being a proper implementation. And there was
much rejoicing.
2017-06-10 01:55:17 -07:00
Kloen Lansfiel 715eb0dee5 Remove unused import in break_points.cpp (#2763) 2017-06-08 21:16:46 -07:00
Yuri Kunde Schlesner 74aaf0d5c7 Merge pull request #2756 from yuriks/service-framework
New service framework
2017-06-08 21:03:03 -07:00
Yuri Kunde Schlesner 211fea5441 Service/sm: Convert 'srv:' to ServiceFramework 2017-06-08 20:59:19 -07:00
Yuri Kunde Schlesner 5a6d4a2f19 Session: Remove/add some forward declarations 2017-06-08 00:33:57 -07:00
Yuri Kunde Schlesner 82a355b3cd Kernel: Ensure objects are kept alive during ClientSession disconnection
Fixes #2760
2017-06-08 00:33:24 -07:00
Yuri Kunde Schlesner 147ec9e842 Service: Remove a few redundant namespace qualifiers 2017-06-08 00:11:37 -07:00
Yuri Kunde Schlesner 0a7f4f531f Service: Add new ServiceFramework framework for writing HLE services
The old "Interface" class had a few problems such as using free
functions (Which didn't allow you to write the service handler as if it
were a regular class.) which weren't very extensible. (Only received one
parameter with a pointer to the Interface object.)

The new ServiceFramework aims to solve these problems by working with
member functions and passing a generic context struct as parameter. This
struct can be extended in the future without having to update all
existing service implementations.
2017-06-08 00:11:37 -07:00
James Rowe 5639a00972 Merge pull request #2737 from Subv/decryptbeacondata
Services/UDS: Implement DecryptBeaconData.
2017-06-07 10:08:43 -06:00
Yuri Kunde Schlesner 1e267fd653 Kernel: Remove some unnecessary namespace qualifications 2017-06-06 14:51:42 -07:00
Subv 656f26c4df Services/UDS: Implement DecryptBeaconData.
This function decrypts the encrypted data tags contained in the 802.11 beacon frames.
2017-06-06 11:31:20 -05:00
Yuri Kunde Schlesner f68fd997cd Service: Remove unnecessary includes from service.h
This has a huge fallout in terms of needing to fix other files because
all service implementations included that file.
2017-06-06 02:57:23 -07:00
Yuri Kunde Schlesner 0e3e091a0d Service: Make service registration part of the sm implementation
Also enhances the GetServiceHandle implementation to be more accurate.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner d9e7be32de Service/sm: Use an actual semaphore for the notification semaphore
An Event was used way back then when we didn't have proper working
semaphores. Our Semaphore implementation is good enough now.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner c17330e05f Service: Move SRV interface to a new sm/ subdirectory
This will contain the implementation of the sm (Service Manager) system
module.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner 8a35f3634e Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSession
This allows attaching a HLE handle to a ServerPort at any point after it
is created, allowing port/session creation to be generic between HLE and
regular services.
2017-06-06 02:56:32 -07:00
Yuri Kunde Schlesner 9dd1fd5b9e ResultVal: Add more convenience utils for creating and cascading results 2017-06-06 00:51:57 -07:00
Yuri Kunde Schlesner 41a3feea66 HLE: Move SessionRequestHandler from Service:: to Kernel::
Most of the code that works with this is or will be in the kernel, so
it's a more appropriate place for it to be.
2017-06-05 23:40:11 -07:00
wwylele a13b327035 pica/rasterizer: implement/stub texture wrap mode 4-7 2017-06-04 09:47:25 +03:00
Alex Touchet 75e006ac06 Edit Citra URLs (#2728) 2017-06-03 23:51:45 +03:00
Kloen 1edf3c80d6 Remove unused imports in game_list_p.h 2017-06-03 17:43:37 +02:00
TheKoopaKingdom e0f8f75f43 Addressed Bunnei's review comments, and made some other tweaks:
- Deleted GetStatus() because it wasn't used anywhere outside of Core::System.
 - Fixed design flaw where the message bar status could be set despite the game being stopped.
2017-06-02 18:40:39 -04:00
TheKoopaKingdom b5b8dd22e5 Fixed wiki URLs. 2017-06-02 18:40:39 -04:00
TheKoopaKingdom fa11f957f4 Switched to the ERROR_NOT_FOUND constant from errors.h. 2017-06-02 18:40:39 -04:00
TheKoopaKingdom af0a2f11d9 Moved whitelist checks from FS_User to the Archive_NCCH handler. 2017-06-02 18:40:27 -04:00
TheKoopaKingdom b817071212 Created a whitelist of system archives to prevent false positives creating dialogs. 2017-06-02 18:28:14 -04:00
TheKoopaKingdom 4799017aec Optimized messages that were repetitive and added ability for core errors to specify more details optionally. 2017-06-02 18:28:14 -04:00
TheKoopaKingdom beefa1482e Added message to status bar to show core errors ignored by the user. 2017-06-02 18:28:14 -04:00
TheKoopaKingdom cee9b78a15 Made some changes from review comments:
- Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review).
- Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore.
- Made dialog messages more clear.
- Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic.
- Cleaned up some other stuff.
2017-06-02 18:28:14 -04:00
TheKoopaKingdom 3a32a33fde Added system for handling core errors in citra-qt. 2017-06-02 18:27:56 -04:00
TheKoopaKingdom 1b9c3436ab Fixed encrypted ROM error messages. 2017-06-02 18:25:32 -04:00
bunnei c5b12080e7 Merge pull request #2722 from wwylele/cam-ipc-helper
CAM: use IPCHelper
2017-05-31 19:47:37 -04:00
bunnei 11b66db774 Merge pull request #2739 from yuriks/kernel-reorg
Split-up kernel.h
2017-05-31 19:46:15 -04:00
bunnei fedc51fec1 Merge pull request #2721 from wwylele/texture-cube
swrasterizer: implemented TextureCube
2017-05-30 10:21:05 -04:00
wwylele 03fbc7f914 gl_rasterizer: implement spot light 2017-05-30 10:54:58 +03:00
wwylele 35339a578c gl_rasterizer: sync spot light status 2017-05-30 10:54:58 +03:00
wwylele 0ade09f28a pica: prepare registers for spotlight 2017-05-30 10:54:58 +03:00
Yuri Kunde Schlesner ecfda5317e Kernel: Move HandleTable to a separate file 2017-05-29 17:34:39 -07:00
Yuri Kunde Schlesner 6f662625d3 Kernel: Move WaitObject to a separate file
Now that HandleTable doesn't directly depend on WaitObject anymore, this
can be separated from the main kernel.h header.
2017-05-29 16:16:46 -07:00
Yuri Kunde Schlesner dfa8e600b0 Merge pull request #2734 from yuriks/cmake-imported-libs
CMake: Use CMake target properties for all libraries
2017-05-29 15:12:21 -07:00
Yuri Kunde Schlesner ddbf9cec1b Kernel: Removed HandleTable::GetWaitObject
This isn't necessary anymore since plain Get works correctly for
WaitObjects.
2017-05-29 15:10:06 -07:00
Yuri Kunde Schlesner 74aa9efe3e Kernel: Extract dynamic Object pointer cast into its own function 2017-05-29 14:42:27 -07:00
wwylele 06dfd8eee1 swrasterizer: implement TextureCube 2017-05-29 22:28:48 +03:00
wwylele 1295e20de3 pica: add registers for texture cube 2017-05-29 22:03:08 +03:00
Yuri Kunde Schlesner a6222bbbc7 Merge pull request #2729 from yuriks/quaternion-fix
OpenGL: Improve accuracy of quaternion interpolation
2017-05-28 01:24:06 -07:00
Yuri Kunde Schlesner e04bfa22e7 CMake: Create an INTERFACE target for Catch 2017-05-27 22:46:59 -07:00
Yuri Kunde Schlesner 1f22f0939c CMake: Create INTERFACE targets for microprofile and nihstro 2017-05-27 22:34:52 -07:00
Yuri Kunde Schlesner 49ef9a6270 CMake: Remove unnecessary include_directories for dynarmic
Dynarmic already adds the correct include paths to the library target.
2017-05-27 22:19:37 -07:00
Yuri Kunde Schlesner dfd2db3e37 CMake: Add cryptopp include path to target property 2017-05-27 22:16:57 -07:00
Yuri Kunde Schlesner f9a960614d CMake: Add SoundTouch include path to target property 2017-05-27 22:09:28 -07:00
Yuri Kunde Schlesner d84915c4a1 CMake: Define an interface target for SDL2 definitions 2017-05-27 21:38:49 -07:00
Yuri Kunde Schlesner 1e2a31410c CMake: Remove CITRA_QT_LIBS var
This used to be required to support both Qt4 and Qt5, but we dropped Qt4
so it's not needed anymore.
2017-05-27 20:53:39 -07:00
Yuri Kunde Schlesner 08a93f99d2 CMake: Stop using FindOpenGL, which seems to not be required anymore 2017-05-27 20:48:00 -07:00
Yuri Kunde Schlesner 97f922e583 CMake: Use IMPORTED target for Boost 2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner 96dc0780e9 CMake: Use IMPORTED target for libpng 2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner b78ce2bce5 CMake: Correct inter-module dependencies and library visibility
Modules didn't correctly define their dependencies before, which relied
on the frontends implicitly including every module for linking to
succeed.

Also changed every target_link_libraries call to specify visibility of
dependencies to avoid leaking definitions to dependents when not
necessary.
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner c201307b74 Citra: Convert include into forward declaration 2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner 7d74a5daf0 Remove some unnecessary inclusions of video_core.h 2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner b868036561 Move screen size constants from video_core to core
video_core didn't even properly use them, and they were the source of
many otherwise-unnecessary dependencies from core to video_core.
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner 2010024c2d OpenGL: Remove unused RendererOpenGL fields 2017-05-27 18:02:46 -07:00
Yuri Kunde Schlesner 7b560a8b81 Core: Fix some out-of-style includes 2017-05-27 16:31:42 -07:00
Yuri Kunde Schlesner 8b55ffb74a Common: Fix some out-of-style includes 2017-05-27 16:14:10 -07:00
Yuri Kunde Schlesner e6dc5926fb Move framebuffer_layout from Common to Core
This removes a dependency inversion between core and common. It's also
the proper place for the file since it makes screen layout decisions
specific to the 3DS.
2017-05-27 16:10:25 -07:00
wwylele 3342bb1fa9 fixup!cam: use IPCHelper 2017-05-27 21:30:07 +03:00
Yuri Kunde Schlesner 4db60b39e7 Merge pull request #2725 from wwylele/texture-sampler
gl_shader: refactor texture sampler into its own function
2017-05-27 03:26:50 -07:00
Yuri Kunde Schlesner 24ca113f3c OpenGL: Improve accuracy of quaternion interpolation
Current order of operations (rotate then normalize) seems to produce a
lot more distortion than normalizing and then rotating. This makes Citra
results match pretty closesly with hardware, and indicates that hardware
may also be using lerp instead of slerp to interpolate the quaternions.
2017-05-27 00:13:41 -07:00
wwylele 5e5816c800 gl_shader: refactor texture sampler into its own function 2017-05-27 01:56:22 +03:00
bunnei 030121014f Merge pull request #2716 from yuriks/decentralized-result
Decentralize ResultCode
2017-05-26 11:59:57 -04:00
Yuri Kunde Schlesner 85c524bc45 Merge pull request #2697 from wwylele/proctex
Implemented Procedural Texture (Texture Unit 3)
2017-05-24 21:37:42 -07:00
Yuri Kunde Schlesner 782c6b1923 FS: Remove unused result definition 2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner 0ba04b2166 Common: Clean up meta-template logic in BitField 2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner 467545ed48 Kernel: Centralize error definitions in errors.h 2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner 6210a1aaf3 GSP_GPU: Move error codes from result.h to local file 2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner 2d147a1c0d FileSys: Move all result description to errors.h 2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner f2e65b5cbc result: Make error description a generic integer
It is now known that result code description vary depending on the
module, and so they're best defined on a per-module basis. To support
this, allow passing in an arbitrary integer instead of limiting to the
ones in the ErrorDescription enum. These will be gradually migrated to
their individual users, but a few will be kept as "common" codes shared
by all modules.
2017-05-24 21:05:59 -07:00
Yuri Kunde Schlesner a786199c4b Make BitField and ResultCode constexpr-initializable 2017-05-24 21:05:59 -07:00
bunnei 68100e88e0 telemetry: Log a few simple data fields throughout core. 2017-05-24 19:16:23 -04:00
bunnei e65f4cc882 core: Keep track of telemetry for the current emulation session. 2017-05-24 19:16:22 -04:00
bunnei f9a850bb59 common: Add a generic interface for logging telemetry fields. 2017-05-24 19:16:21 -04:00
wwylele 3b34518bcf cam: move u32->u8 trancation to IPCHelper 2017-05-24 12:50:19 +03:00
wwylele e82ac2e80f cam: use IPCHelper 2017-05-24 12:45:36 +03:00
Sebastian Valle 1483d53541 Merge pull request #2692 from Subv/vfp_ftz
Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.
2017-05-22 12:16:53 -05:00
Yuri Kunde Schlesner 464dc927af Merge pull request #2406 from Subv/session_disconnect
Kernel: Properly update port counters on session disconnection.
2017-05-21 17:18:16 -07:00
Subv c67cd54049 fixup! Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled. 2017-05-21 18:56:09 -05:00
Subv 8e4b05c22a Kernel/Sessions: Remove the ClientSession::Create function.
It is not meant to be used by anything other than CreateSessionPair.
2017-05-21 18:52:42 -05:00
Merry aee6dcf1f7 Merge pull request #2694 from Subv/vfp_vsub_ftz
Dyncom/VFP: Perform flush-to-zero on the second operand of vsub before sending it to vadd.
2017-05-22 00:50:52 +01:00
wwylele e965922607 swrasterizer: add missing tc0_w and fragment lighting attribute processing 2017-05-21 09:09:15 +03:00
wwylele 19583dfd61 gl_rasterizer: implement procedural texture 2017-05-20 13:50:50 +03:00
wwylele b010ff8174 pica/swrasterizer: implement procedural texture 2017-05-20 13:50:50 +03:00
bunnei fa45d8a35e Merge pull request #2661 from Subv/uds5
Services/UDS: Generate 802.11 beacon frames when a network is open.
2017-05-19 11:04:34 -04:00
bunnei ec8e58a9fa Merge pull request #2710 from emmauss/ptm_ipc
use IPCHelper for PTM services
2017-05-19 11:03:55 -04:00
emmaus 603f9246e1 use IPCHelper for PTM services 2017-05-19 08:44:58 +00:00
wwylele c033f16977 pica: use correct register value for shader bool_uniforms
variable value is not masked. the masked and combined register value should be used instead
2017-05-17 22:14:09 +03:00
Yuri Kunde Schlesner 27a2664711 Merge pull request #2703 from wwylele/pica-reg-revise
pica: correct bit field length for some registers
2017-05-16 10:00:37 -07:00
wwylele 2a89d391c9 pica: correct bit field length for some registers 2017-05-16 19:24:06 +03:00
Subv 56031253c4 Services/UDS: Use the new IPC helper functions. 2017-05-15 13:05:17 -05:00
Subv 2472e71eb0 Services/UDS: Implement RecvBeaconBroadcastData.
This allows the applications to retrieve 802.11 beacon frames from nearby UDS networks.
Note that the networks are still not announced anywhere.
2017-05-15 13:05:16 -05:00
Subv b722ca78a2 Services/UDS: Generate the UDS beacons when the beacon callback fires. 2017-05-15 13:05:15 -05:00
Subv f98eb7d315 Kernel: Remove a now unused enum and variable regarding a session's status. 2017-05-15 11:22:16 -05:00
Subv 9c496013b3 Kernel: Use a Session object to keep track of the status of a Client/Server session pair.
Reduce the associated port's connection count when a ServerSession is destroyed.
2017-05-15 11:22:15 -05:00
Yuri Kunde Schlesner d704ab4fea Merge pull request #2687 from yuriks/address-mappings
Kernel: Map special regions according to ExHeader
2017-05-14 13:52:40 -07:00
Subv 8533b511e8 Dyncom/VFP: Perform flush-to-zero on the second operand of vsub before sending it to vadd.
Previously we were letting vadd flush the value to positive 0, but there are cases where this behavior is wrong, for example,

vsub: -0 - +0 = -0
vadd: -0 + +0 = +0

Now we'll flush the value to +0 inside vsub, and then negate it.
2017-05-13 18:03:41 -05:00
Weiyi Wang e8a577eb03 Merge pull request #2695 from JayFoxRox/gs-regs
Prepare Pica registers for Geometry Shaders
2017-05-12 18:02:45 +03:00
Jannik Vogel f3efa5e031 Pica: Write GS registers
This adds the handlers for the geometry shader register writes which will call the functions from the previous commit to update registers for the GS.
2017-05-12 16:22:37 +02:00
Jannik Vogel 52c66441ab Pica: Write shader registers in functions
The commit after this one adds GS register writes, so this moves the VS handlers into functions so they can be re-used and extended more easily.
2017-05-12 16:22:37 +02:00
Jannik Vogel b9cc8596a2 Pica: Set program code / swizzle data limit to 4096
One of the later commits will enable writing to GS regs.
It turns out that on startup, most games will write 4096 GS program words.

The current limit of 1024 would hence result in 3072 (4096 - 1024) error messages:
```
HW.GPU <Error> video_core/shader/shader.cpp:WriteProgramCode:229: Invalid GS program offset 1024
```

New constants have been introduced to represent these limits.
The swizzle data size has also been raised. This matches the given field sizes of [GPUREG_SH_OPDESCS_INDEX](https://3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_OPDESCS_INDEX) and [GPUREG_SH_CODETRANSFER_INDEX](https://www.3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_CODETRANSFER_INDEX) (12 bit = [0; 4095]).
2017-05-11 15:01:27 +02:00
Yuri Kunde Schlesner e69c563ca2 Merge pull request #2669 from jroweboy/async_file_watcher
Frontend: Prevent FileSystemWatcher from blocking UI thread
2017-05-10 18:44:06 -07:00
James Rowe d2b1114c2c Frontend: Prevent FileSystemWatcher from blocking UI thread
Instead of tying the QFileSystemWatcher to the GameList and updating in
the UI thread, this change moves it to the worker thread. Since it gets
deleted and recreated as part of the worker thread, this prevents it from
ever getting used from multiple threads (which is why it was originally
done on the UI thread)
2017-05-10 09:37:44 -06:00
bunnei 5e8debd0b4 Merge pull request #2676 from wwylele/irrst
ir: implement new 3ds HID via ir:rst
2017-05-10 09:56:27 -04:00
Yuri Kunde Schlesner 2668c26a68 Kernel: Map special regions according to ExHeader
This replaces the hardcoded VRAM/DSP mappings with ones made based on
the ExHeader ARM11 Kernel caps list. While this has no visible effect
for most applications (since they use a standard set of mappings) it
does improve support for system modules and n3DS exclusives.
2017-05-09 21:44:00 -07:00
Yuri Kunde Schlesner 03ad0ec0e5 DSP: Create backing memory for entire DSP RAM
Also move address space mapping out of video_core.
2017-05-09 21:44:00 -07:00
Yuri Kunde Schlesner 2af0a2a4b7 Memory: Add constants for the n3DS additional RAM
This is 4MB of extra, separate memory that was added on the New 3DS.
2017-05-09 21:43:59 -07:00
Yuri Kunde Schlesner b73cc8d51b Merge pull request #2696 from Subv/vfp_revert
Dyncom/VFP: Revert 7d2670f and fix the FPSCR getting invalid values.
2017-05-08 21:38:45 -07:00
Subv 338eb4204e Dyncom/VFP: Strip the VFP_NAN_FLAG sentinel value when setting vfp exceptions. 2017-05-09 00:36:23 -05:00
Subv 55a42d3764 Revert "Remove `exceptions` parameter from `normaliseround` VFP functions"
This reverts commit 7d2670f08e.

Conflicts:
	src/core/arm/skyeye_common/vfp/vfp_helper.h
	src/core/arm/skyeye_common/vfp/vfpdouble.cpp
	src/core/arm/skyeye_common/vfp/vfpsingle.cpp
2017-05-09 00:36:22 -05:00
Subv 934af07e88 Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.
Inputs are still not flushed to 0 if they are denormals.
2017-05-08 14:34:16 -05:00
Yuri Kunde Schlesner 3d5dacdc57 Dyncom: Remove disassembler code
Had licensing issue around it, in addition to several bugs.

Closes #1632, #1280
2017-05-07 15:33:46 -07:00
Yuri Kunde Schlesner 2945356d11 Dyncom: Tweak types and log formatting 2017-05-07 15:33:42 -07:00
Yuri Kunde Schlesner 89fe2c033d Remove unused symbols code 2017-05-07 15:33:39 -07:00
Yuri Kunde Schlesner 88fddcbce4 Remove ability to load symbol maps
This was now mostly unused except by thread creation, which used a
symbol of the entrypoint, if available, to name the thread.
2017-05-07 15:33:07 -07:00
Yuri Kunde Schlesner fc0204b2c0 citra-qt: Remove callstack widget
Appears to be currently broken, and given the complexity of doing this
for ARM code without debugging information, should probably be left to
an external tool or library. Use the GDB stub instead.

Closes #586
2017-05-07 15:32:47 -07:00
Yuri Kunde Schlesner 1465b0b919 citra-qt: Remove disassembler widget
It has performance problems, a very misleading UI, and is broken in
general. It has essentially been superceded by the GDB stub, but if we
wanted a built-in disassembler in the future it'd essentially need to be
rewritten from scratch anyway.

Closes #427, #1480
2017-05-07 15:29:36 -07:00
Yuri Kunde Schlesner e8f794104a Merge pull request #2682 from nicoboss/filter
citra-qt: game list search function fixed minor mistakes
2017-05-07 13:46:46 -07:00
wwylele 7bec8e32a8 fixup!ir: implement new 3ds HID via ir:rst 2017-05-07 21:53:27 +03:00
Nico Bosshard ba1a10ee4c Don’t focus the search field if the game is empty 2017-05-06 12:08:28 +02:00
Yuri Kunde Schlesner 7006642242 Merge pull request #2686 from wwylele/tex-coord-reg
pica: use correct coordinates for texture 2
2017-05-05 21:33:32 -07:00
B3n30 e719319b10 Create a random console_unique_id (#2668)
* Create a random console_id when config save_file is created

Added button in system config to refresh the console unique id

* Moved the connect for the button from .ui file to constructor of ConfigureSystem

* Added warning and info dialog
Fixup: Make use of qt5 style connects,
  renamed the refresh button,
  removed some duplicate code,
  changed random device and moved all to the generate function

* Changed the random generator to reflect what a real 3DS stores as console unique id
Fixup: Changed the warning message

* Fixup: Set and Create

* Fixup: Added console id label, therfore removed second message box

* Fixup: fixed the endianess

* Fixup: more endianness fixes

* Fixup: Endianness the 3rd
2017-05-05 20:55:51 -04:00
wwylele cb51c1024f pica: shader_dirty if texture2 coord changed 2017-05-05 15:35:17 +03:00
wwylele fced3273c1 ir: implement new 3ds HID via ir:rst 2017-05-04 12:59:28 +03:00
bunnei 4906d0617c Merge pull request #2606 from wwylele/ir
ir: implement circle pad pro
2017-05-03 22:34:12 -04:00
wwylele 39d77e5d9d pica: use correct coordinates for texture 2 2017-05-03 22:12:46 +03:00
wwylele eef121c30a ir: implement circle pad pro 2017-05-03 09:44:00 +03:00
Nico Bosshard 7ce591a8f1 Fixed some more typos 2017-05-03 00:23:20 +02:00
Nico Bosshard dc13d6e1da citra-qt: game list search function fixed minor mistakes 2017-05-02 23:55:27 +02:00
Nico Bosshard 52d2e4a5f3 citra-qt: game list search function (#2673)
* citra-qt: game list search function

* Empty search field during game list refresh

* Code improvements

* Code formatting

* Autofocus search field

* JayFoxRox's recommendations

* lioncash's review
2017-04-29 22:04:39 -04:00
bunnei d167bc3636 Merge pull request #2671 from wwylele/dot3-rgba
rasterizer: implement combiner operation 7 (Dot3_RGBA)
2017-04-21 17:03:22 -04:00
wwylele fdbc63d7b2 gl_shader_gen: remove TODO about Lerp behaviour verification. The implementation is verified against hardware 2017-04-20 22:56:07 +03:00
Yuri Kunde Schlesner dfb142a90b Merge pull request #2666 from yuriks/gl-cleanups
PicaShaderConfig cleanups
2017-04-19 22:09:51 -07:00
wwylele aaa320dd45 rasterizer: implement combiner operation 7 (Dot3_RGBA) 2017-04-19 23:48:10 +03:00
Yuri Kunde Schlesner 3722af0876 Merge pull request #2532 from wwylele/ldrro-ipc
ldr_ro: use IPC helper
2017-04-18 00:32:01 -07:00
Yuri Kunde Schlesner 7938f9250c OpenGL: Pass Pica regs via parameter 2017-04-17 10:34:45 -07:00
wwylele 96a97f2f6d input_common/sdl: add support for binding button to axis 2017-04-17 14:14:35 +03:00
wwylele 3ba860133f ldr_ro: use IPC helper 2017-04-17 10:11:18 +03:00
Yuri Kunde Schlesner 9b5c90cbe3 OpenGL: Move PicaShaderConfig to gl_shader_gen.h
Also move the implementation of CurrentConfig to the cpp file.
2017-04-16 21:49:32 -07:00
Yuri Kunde Schlesner f510fe1b2e OpenGL: Move Attributes enum to a more appropriate file 2017-04-16 20:47:04 -07:00
bunnei fcde0cf890 Merge pull request #2659 from MerryMage/dsp_dsp-correction
dsp_dsp: Messages are modified by service before being sent to DSP
2017-04-13 10:43:13 -04:00
Cereal-Killa 45f9915609 Better looking status bar under Linux Ubuntu (#2662)
* Remove borders from status bar items

On Ubuntu the status bar didn't look as good as on Windows due to some border being drawn around each status bar cell.
2017-04-12 19:14:52 -06:00
MerryMage 1fb8824cac dsp_dsp: Messages are modified by service before being sent to DSP 2017-04-12 21:33:07 +01:00
Sebastian Valle cb844a55d7 Merge pull request #2628 from Subv/uds
Services/UDS: Initial support for hosting local-wlan networks.
2017-04-12 11:57:24 -05:00
wwylele e88e9c6c97 qt: enable config for circle pad pro 2017-04-09 12:05:57 +03:00
Jannik Vogel ee331cf4f8 Pica/Regs: Correct bit width for blend-equations 2017-04-08 18:33:17 +02:00
bunnei a3eeb4ef71 Merge pull request #2533 from Lectem/apt_ipchelper
IpcHelper enhancement and APT refactor
2017-04-06 14:44:52 -04:00
bunnei 509f1483e2 Merge pull request #2634 from wwylele/battery
shared_page: stub battery state
2017-04-06 14:43:29 -04:00
Lioncash bbb41d4504 citra-qt: Move config dialog code to its own directory 2017-04-03 20:43:13 -06:00
noah the goodra 4d81244114 error conversion fixes for soc_u 2017-04-03 10:19:42 -05:00
Michael Theall 775ae0634e Fix OutputDebugString syscall 2017-04-01 04:09:39 -05:00
Sebastian Valle 4077eb3545 Services/UDS: Fixed a style mistake in GetChannel. 2017-03-27 13:08:26 -05:00
Subv e6223853f0 Services/UDS: Use consistent spelling for WiFi and simplify the GetChannel function. 2017-03-26 08:17:57 -05:00
Subv 6f0271bafe Services/UDS: Signal the connection event when closing down the network. 2017-03-26 08:17:56 -05:00
Subv a177a5dd61 Services/UDS: Do not allow trying to start up a network that only the host can connect to. 2017-03-26 08:17:55 -05:00
Subv 49bd2cb5ab Service/UDS: Schedule an event to broadcast the beacon frames every 102.4ms. 2017-03-26 08:17:53 -05:00
Subv 0755761fb4 Services/UDS: Store the entire NetworkInfo structure that was used to create the network.
It will be needed when generating the beacon frames.
2017-03-26 08:17:52 -05:00
Subv 9439ef2cdd Services/UDS: Initial support for hosting local-wlan networks.
Currently it will let games create a network as hosts, but will not broadcast it anywhere and will not allow clients to connect.
2017-03-26 08:17:51 -05:00
wwylele d38eb8b471 ptm: create SharedExtSave file before openning it 2017-03-25 14:22:07 +03:00
bunnei 141b13c6da Merge pull request #2512 from SonofUgly/custom-layout
Add custom layout settings.
2017-03-21 22:57:31 -04:00
wwylele bff25c5f9c shared_page: stub battery state 2017-03-21 13:25:56 +02:00
Lectem 0fd0d4592c hopefully fix clang-format issues with old version 2017-03-20 22:47:06 +01:00
bunnei 76cce58970 Merge pull request #2630 from wwylele/qt-focus-loss-2
Qt: Release all pressed buttons when window focus is lost [rebased]
2017-03-20 11:13:52 -04:00
Lectem 1dcc60410b address more comments 2017-03-19 01:33:56 +01:00
Lectem 582352b85c Cast size_t to u32 for PushStaticBuffer usages 2017-03-18 11:56:21 +01:00
Lectem 268d389a37 IPCHelper Skip method + address comments for apt 2017-03-18 11:47:40 +01:00
wwylele 52b1d8af8b apt: fix RequestBuilder parameters for Unwrap 2017-03-18 11:45:19 +02:00
Lectem 7b87571b09 fix #2560 and other comments 2017-03-18 10:44:01 +01:00
Lectem 48825ceb01 move push out of class body and add u8 u16 bool specializations 2017-03-18 10:44:01 +01:00
Lectem f1e18b1880 refactor APT service to use the new IPC helpers 2017-03-18 10:44:01 +01:00
wwylele 5899b6b04d citra-qt: remove dead code 2017-03-17 21:45:29 +02:00
wwylele edc6c110bf citra-qt: release all buttons when render window focus is lost
credit to @Hawkheart for the original idea
2017-03-17 21:41:25 +02:00
bunnei 0180121d53 Merge pull request #2497 from wwylele/input-2
Refactor input emulation & add SDL gamepad support
2017-03-17 14:59:39 -04:00
bunnei aa0535cbec Merge pull request #2618 from wwylele/log-less-filename
Reduce host file name and path logging
2017-03-16 23:35:36 -04:00
bunnei ddbefe77a5 Merge pull request #2620 from FernandoS27/syscore_error
Refined thread launch on syscore error messages
2017-03-15 21:17:43 -04:00
bunnei 6d4e46cdf0 Merge pull request #2625 from wwylele/hash-console-unique
cfg: correctly implement GenHashConsoleUnique
2017-03-15 21:07:54 -04:00
Yuri Kunde Schlesner bc3f65a0ee common/cpu_detect: Add missing include and fix namespace scope 2017-03-12 21:55:15 -07:00
wwylele cfccfbfbf9 cfg: implement GenHashConsoleUnique 2017-03-12 12:24:57 +02:00
wwylele f1b8adf818 file_util: Log when using local user directory 2017-03-11 18:31:17 +02:00
Fernando Sahmkow b302e3e34d Refined thread launch on syscore error messages 2017-03-09 08:18:18 -05:00
wwylele 2ca691aab8 file_sys: lower log level for setting host path 2017-03-08 17:47:24 +02:00
wwylele 0ca9e1d4b0 file_util: lower logging level for harmless cases 2017-03-08 17:42:10 +02:00
wwylele 6b607c4b72 loader/ncch: less verbose log for loading game list. only log program ID when booting 2017-03-08 17:37:24 +02:00
wwylele d3f36956e1 loader: lower file name logging level 2017-03-08 17:25:09 +02:00
wwylele ba6eb5ebb4 qt/config_input: don't connect for null button 2017-03-02 13:29:28 +02:00
wwylele 110e23b4ee citra: update default ini with new input system 2017-03-01 23:30:57 +02:00
wwylele 9bdb78f869 Input: remove unused stuff & clean up
1. removed zl, zr and c-stick from HID::PadState. They are handled by IR, not HID
2. removed button handling in EmuWindow
3. removed key_map
4. cleanup #include
2017-03-01 23:30:57 +02:00
wwylele 3115fd8f3b Qt: rework input configuration for new input system 2017-03-01 23:30:57 +02:00
wwylele 9cd5268ac3 InputCommon: add SDL joystick support 2017-03-01 23:30:57 +02:00
wwylele ffb582ff3b InputCommon: add AnalogFromButton 2017-03-01 23:30:57 +02:00
wwylele 189063ac2d InputCommon: add Keyboard 2017-03-01 23:30:57 +02:00
wwylele 3e561f92f1 HID: use AnalogDevice 2017-03-01 23:30:57 +02:00
wwylele 74b1bf38fe HID: use ButtonDevice 2017-03-01 23:30:57 +02:00
wwylele 55737ec90f Input: add device and factory template 2017-03-01 23:30:57 +02:00
wwylele 11e73d554f Common: add ParamPackage 2017-03-01 23:30:57 +02:00
wwylele 67ead14445 Timer: restore missing signaled=true from #2421 2017-02-27 22:49:46 +02:00
bunnei 5e32c84f5c Merge pull request #2594 from wwylele/ir-separate
IR: separate functions of each port to their own files
2017-02-27 14:25:50 -05:00
B3n30 3fef6c1b0b Fix log entry in timer::signal (#2600) 2017-02-27 11:04:03 -05:00
Mat M dc1927a9d1 Doxygen: Amend minor issues (#2593)
Corrects a few issues with regards to Doxygen documentation, for example:

- Incorrect parameter referencing.
- Missing @param tags.
- Typos in @param tags.

and a few minor other issues.
2017-02-26 17:58:51 -08:00
Yuri Kunde Schlesner 9a88ab50f7 Merge pull request #2587 from yuriks/status-bar
Replace built-in Profiler with indicators in status bar
2017-02-26 17:51:15 -08:00
Yuri Kunde Schlesner b50b227f94 PerfStats: Re-order and document members better 2017-02-26 17:22:04 -08:00
Yuri Kunde Schlesner 5b6f062177 Qt: Tweak status bar styling 2017-02-26 17:22:04 -08:00
Yuri Kunde Schlesner 8e13c43c75 Qt: Increase status bar update interval to 2 seconds 2017-02-26 17:22:04 -08:00
Yuri Kunde Schlesner 5990d020a8 Core: Re-write frame limiter
Now based on std::chrono, and also works in terms of emulated time
instead of frames, so we can in the future frame-limit even when the
display is disabled, etc.

The frame limiter can also be enabled along with v-sync now, which
should be useful for those with displays running at more than 60 Hz.
2017-02-26 17:22:04 -08:00
Yuri Kunde Schlesner ea78f30e67 Core: Make PerfStats internally locked
More ergonomic to use and will be required for upcoming changes.
2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner 9feecc14f6 Qt: Add tooltips to status bar displays 2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner b08b9a65d7 Qt: Don't show fractional figures in the status bar
They're not very important and this makes the display changes less
often, making it less distracting.
2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner e7c2eba35d Remove built-in (non-Microprofile) profiler 2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner 60f90d7c48 PerfStats: Add method to get the instantaneous time ratio 2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner 3a9447bc16 Add performance statistics to status bar 2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner 1772c9f5a0 SynchronizedWrapper: Add Lock convenience method 2017-02-26 17:22:02 -08:00
Yuri Kunde Schlesner 249bd04274 Qt: Add (empty) status bar 2017-02-26 17:22:02 -08:00
Yuri Kunde Schlesner 28c24c2c6e Core: Remove unnecessary include in thread.h 2017-02-26 17:22:01 -08:00
wwylele bf2d045b5a IR: separate functions of each port to their own files 2017-02-26 11:11:35 +02:00
bunnei 03277411f3 Merge pull request #2569 from wwylele/wrap-unwrap
APT: implemented Wrap and Unwrap
2017-02-25 00:12:33 -05:00
Yuri Kunde Schlesner 7726bc31f8 Merge pull request #2421 from Subv/timers
Timers: Immediately signal the timer if it was started with an initial value of 0
2017-02-24 20:48:31 -08:00
James Rowe 160ba0e9f8 Use QFileSystemWatcher to reload the game list when a change is detected. (#2555)
* Added a refresh game directory option to the file menu

* Make the game list watcher recursive and have it start watching from the initial load

* Rework game list watcher to be thread safe

* Fix code style issues
2017-02-23 16:29:00 -05:00
bunnei 05e3a95e3d Merge pull request #2441 from jroweboy/titlebar
Gui: Change title bar to include build name
2017-02-23 16:24:48 -05:00
SonofUgly 4cb28deee5 Add custom layout settings. 2017-02-23 10:49:56 -08:00
James Rowe e109f95da9 Gui: Change title bar to include build name
Nightly builds now have "Citra Nightly" in the titlebar
Bleeding edge builds now have "Citra Bleeding Edge" in the titlebar
2017-02-23 00:42:55 -07:00
Anthony fd83a2682e [UI] Modify recursive scanning label (#2589) 2017-02-22 21:45:03 -08:00
Subv be2b4057e5 Timers: Return an error when calling SetTimer with negative timeouts. 2017-02-21 20:51:56 -05:00
Subv f814a914b0 Timers: Immediately signal the timer if it was started with an initial value of 0. 2017-02-21 20:51:54 -05:00
wwylele ba431d1e16 APT: implement Wrap and Unwrap 2017-02-21 23:57:31 +02:00
wwylele ec94c633b7 HW: add AES engine & implement AES-CCM 2017-02-21 23:57:31 +02:00
bunnei 0b9d4fcaac Merge pull request #2585 from MerryMage/sxtb16-sxtab16
dyncom: Correct SXTAB16 and SXTB16
2017-02-19 22:45:46 -05:00
Yuri Kunde Schlesner 485520f84a Merge pull request #2580 from yuriks/qt-cleanup2
Qt cleanups 2
2017-02-19 12:13:52 -08:00
MerryMage c0ec38e745 dyncom: Correct SXTAB16 and SXTB16 2017-02-18 20:04:54 +00:00
Jannik Vogel 4dc66fd320 OpenGL: Check if uniform block exists before updating it (#2581) 2017-02-18 11:46:26 -08:00
Yuri Kunde Schlesner c6173ca60d Qt: Move some connections from .ui file to code 2017-02-18 02:30:29 -08:00
Yuri Kunde Schlesner 632bf59854 Qt: Reorganize connection of menu events 2017-02-18 02:26:57 -08:00
Yuri Kunde Schlesner e00a6d67f5 Qt: Re-organize setup of debugging widgets 2017-02-18 02:16:24 -08:00
Yuri Kunde Schlesner 8515b7f183 Qt: Fix action name to match conventions 2017-02-18 01:11:57 -08:00
Yuri Kunde Schlesner be2f0fa3b0 Qt: Make IsSingleFileDropEvent static 2017-02-17 21:44:00 -08:00
Yuri Kunde Schlesner 7f3e4b3b04 Qt: Allow any file extension in Open dialog 2017-02-17 21:44:00 -08:00
Yuri Kunde Schlesner 6f64a25225 Qt: Remove orpahned function declaration 2017-02-17 21:44:00 -08:00
Yuri Kunde Schlesner df894125af Qt: Remove unnecessary std::string usage 2017-02-17 21:44:00 -08:00
Weiyi Wang 071e27ff0b HID: move enable_accelerometer/gyroscope_count initialization into Init() (#2574)
Fixes #2556
2017-02-16 22:04:27 -08:00
noah the goodra 43acf2a17a added drag n drop feature 2017-02-16 14:43:18 -06:00
Mat M 60aa96b7f4 Merge pull request #2571 from wwylele/missing-file
core: add missing errors.h in CMakeLists.txt
2017-02-15 11:19:06 -05:00
wwylele 6f79503576 core: add missing errors.h in CMakeLists.txt 2017-02-15 15:49:07 +02:00
Weiyi Wang f729229811 video_core: remove #pragma once in cpp file (#2570) 2017-02-15 00:16:50 -08:00
Weiyi Wang 98ef6528b5 Merge pull request #2566 from yuriks/file-extension-suffix
Qt/GameList: Use suffix() to parse the file extension
2017-02-14 09:04:59 +02:00
Yuri Kunde Schlesner 1a3ba1314b HLE/IPC: Fix uninitialized variables in helpers (#2568)
Fixes #2567
2017-02-13 21:41:59 -08:00
Yuri Kunde Schlesner 622c405e71 Qt/GameList: Use suffix() to parse the file extension
completeSuffix returns everything after the first period, which means
that a file such as `foo.bar.3ds` would not get recognized.
2017-02-13 19:03:59 -08:00
noah the goodra b52309faab applied the change suggested by @wwylele 2017-02-13 18:34:02 -06:00
noah the goodra b7755931aa NWM changed to NIM 2017-02-13 18:34:01 -06:00
noah the goodra 82ebb9e2d3 turned clang format back on 2017-02-13 18:34:01 -06:00
noah the goodra 4cb10ba1cc added http service enum to the log.h file 2017-02-13 18:34:01 -06:00
Yuri Kunde Schlesner 595afe7297 Merge pull request #2562 from yuriks/pica-refactor3
Re-organize software rasterizer code
2017-02-13 12:04:17 -08:00
Weiyi Wang 2b5dc25f1c Core: add cryptopp library (#2412) 2017-02-13 12:03:55 -08:00
Yuri Kunde Schlesner 13cecbb439 Merge pull request #2561 from wwylele/fs-rom
file_sys: change RomFS archive to Self NCCH archive
2017-02-13 09:18:23 -08:00
wwylele 05a989965a loader: use self NCCH archive 2017-02-13 13:57:38 +02:00
wwylele 2fff7f897b file_sys: add Self NCCH archive 2017-02-13 13:57:38 +02:00
Yuri Kunde Schlesner 5209e82858 SWRasterizer: Move more framebuffer functions to file 2017-02-12 18:13:04 -08:00
Yuri Kunde Schlesner dfc2ec178f SWRasterizer: Move texturing functions to their own file 2017-02-12 18:12:37 -08:00
Yuri Kunde Schlesner 541f464d68 SWRasterizer: Convert large no-capture lambdas to standalone functions 2017-02-12 18:11:05 -08:00
Yuri Kunde Schlesner fed2e59280 SWRasterizer: Move framebuffer operation functions to their own file 2017-02-12 18:11:03 -08:00
Yuri Kunde Schlesner 9c0a770c16 VideoCore: Move software rasterizer files to sub-directory 2017-02-12 18:08:11 -08:00
Yuri Kunde Schlesner 653723399c video_core/shader: Document sanitized MUL operation 2017-02-12 13:29:14 -08:00
Yuri Kunde Schlesner 84f423dea6 Merge pull request #2550 from yuriks/pica-refactor2
Small VideoCore cleanups
2017-02-12 12:33:26 -08:00
Kloen Lansfiel 21a48770b8 citra-qt: Don't attempt to scan files with unsupported extensions (#2402) 2017-02-12 12:28:56 -08:00
Yuri Kunde Schlesner 8ceeae2cd2 core: Free AppLoader on shutdown to release file (#2558)
Fixes #2455
2017-02-11 03:29:46 -08:00
Weiyi Wang 924b953308 hid: remove the touch field from PadState (#2557) 2017-02-11 01:11:42 -08:00
Yuri Kunde Schlesner ef90a662f2 video_core: Fix benign out-of-bounds indexing of array (#2553)
The resulting pointer wasn't written to unless the index was verified as
valid, but that's still UB and triggered debug checks in MSVC.

Reported by garrettboast on IRC
2017-02-10 20:51:09 -08:00
Yuri Kunde Schlesner 176b247d68 VideoCore: Split u64 Pica reg unions into 2 separate u32 unions
This eliminates UB when aliasing it with the array of u32 regs, and
is compatible with non-LE architectures.
2017-02-09 00:04:25 -08:00
Yuri Kunde Schlesner 381733acfa VideoCore: Force enum sizes to u32 in LightingRegs
All enums that are used with BitField must have their type forced to u32
to ensure correctness.
2017-02-09 00:04:24 -08:00
Yuri Kunde Schlesner 4f4f04078b OpenGL: Remove unused duplicate of IsPassThroughTevStage
This copy was left behind when the shader generation code was moved to a
separate file.
2017-02-09 00:04:24 -08:00
Yuri Kunde Schlesner ddf23d4a2e VideoCore: Split regs.h inclusions 2017-02-09 00:04:24 -08:00
Yuri Kunde Schlesner 1b3b6d9d9a Pica/Regs: Use binary search to look up reg names
This gets rid of the static unordered_map. Also changes the return type
const char*, avoiding unnecessary allocations (the result was only used
by calling .c_str() on it.)
2017-02-09 00:04:24 -08:00
Yuri Kunde Schlesner 55110e9361 VideoCore: Use union to index into Regs struct
Also remove some unused members.
2017-02-08 22:13:25 -08:00
Yuri Kunde Schlesner 9989daa420 Merge pull request #2482 from yuriks/pica-refactor
Split up monolithic Regs struct
2017-02-08 22:07:34 -08:00
Lectem dcb1f220cd Use std::array<u8,2> instead of u8[2] to fix MSVC build 2017-02-05 14:55:51 +01:00
Weiyi Wang 0801baa271 Merge pull request #2027 from Lectem/ipcrefactor
IPC helper
2017-02-05 10:22:13 +02:00
Lectem fc81e9226a fix wwylele's comment and use typename in templates 2017-02-05 00:29:07 +01:00
Yuri Kunde Schlesner a0b1957425 VideoCore: Move Regs to its own file 2017-02-04 13:59:12 -08:00
Yuri Kunde Schlesner 08df8f7d7a VideoCore: Split shader regs from Regs struct 2017-02-04 13:59:11 -08:00
Yuri Kunde Schlesner 90d220d1b3 VideoCore: Split geometry pipeline regs from Regs struct 2017-02-04 13:59:11 -08:00
Yuri Kunde Schlesner b4306bed74 VideoCore: Split lighting regs from Regs struct 2017-02-04 13:59:11 -08:00
Yuri Kunde Schlesner 6f9218c8ec VideoCore: Split framebuffer regs from Regs struct 2017-02-04 13:59:11 -08:00
Yuri Kunde Schlesner 1242f42a09 VideoCore: Split texturing regs from Regs struct 2017-02-04 13:59:09 -08:00
Yuri Kunde Schlesner d3928b7f9a VideoCore: Split rasterizer regs from Regs struct 2017-02-04 13:08:47 -08:00
Yuri Kunde Schlesner cb89a67a80 Merge pull request #2476 from yuriks/shader-refactor3
Oh No! More shader changes!
2017-02-04 13:02:48 -08:00
Yuri Kunde Schlesner 2937a44eed Pica/Texture: Move part of ETC1 decoding to new file and cleanups 2017-02-04 12:33:28 -08:00
Yuri Kunde Schlesner 114222b11e Pica/Texture: Simplify/cleanup texture tile addressing 2017-02-04 12:33:25 -08:00
Yuri Kunde Schlesner d1270b647c VideoCore: Move LookupTexture out of debug_utils.h 2017-02-04 12:31:40 -08:00
Yuri Kunde Schlesner fa2089a766 Merge pull request #2496 from mailwl/cfg-mem
Core: update Kernel Config Memory to latest version (11.2)
2017-02-03 21:17:48 -08:00
Yuri Kunde Schlesner 11c155957a Merge pull request #2520 from wwylele/shader-stack-boundary
ShaderJIT: add 16 dummy bytes at the bottom of the stack
2017-02-03 18:56:42 -08:00
Yuri Kunde Schlesner 8d620d0cae Merge pull request #2518 from MerryMage/coproc
arm_dynarmic: Coprocessor support
2017-02-03 18:22:28 -08:00
bunnei a3c982e873 Merge pull request #2509 from jfmherokiller/settingscastpatch
removed the possibly uneeded cast on values.gdbstub_port
2017-02-03 14:57:44 -05:00
bunnei 971b4eab3b Merge pull request #2507 from jfmherokiller/keyidchange
removal of the -1 case in the configure_input switch
2017-02-03 14:56:55 -05:00
MerryMage 5ba90abf00 arm_dynarmic: Update memory interface 2017-02-03 17:32:51 +00:00
MerryMage c2717d3302 arm_dynarmic: CP15 support 2017-02-03 17:32:47 +00:00
wwylele 2bc786be73 ShaderJIT: add 16 dummy bytes at the bottom of the stack 2017-02-03 14:53:38 +02:00
mailwl de4bac64de GSP_GPU::StoreDataCache stubbed (#2428) 2017-02-02 23:07:44 -08:00
noah the goodra f91bebc7e5 removed the possibly uneeded cast on values.gdbstub_port
as far as i could tell this cast is unneeded because [GDBStub::SetServerPort](https://github.com/citra-emu/citra/blob/master/src/core/gdbstub/gdbstub.cpp#L897) takes a u16 and [values.gdbstub_port](https://github.com/citra-emu/citra/blob/master/src/core/settings.h#L116) is already a u16
2017-01-31 11:44:23 -06:00
noah the goodra 31f5456b9d removal of the -1 case in the configure_input switch
this case is unneeded because no enumeration value can possibly correspond to it
2017-01-31 09:55:56 -06:00
mailwl 6dc26f9d4e HLE/Applets: Stub Mint (eShop) Applet (#2463)
This allows Phoenix Wright - Dual Destinies to boot.
2017-01-31 01:16:58 -08:00
Weiyi Wang 6580180759 Common/x64: remove legacy emitter and abi (#2504)
These are not used any more since we moved shader JIT to xbyak.
2017-01-31 01:06:42 -08:00
Merry 6b2f12869e shader_jit_x64_compiler: esi and edi should be persistent (#2500) 2017-01-31 00:38:31 -08:00
noah the goodra 8477e269c3 file_util: Fixed implicit type conversion warning (#2503) 2017-01-30 20:08:00 -08:00
mailwl 16fef8dfa4 Core: update Kernel Config Memory to latest version (11.2) 2017-01-30 11:29:00 +03:00
Jake Merdich 38dfe42ad9 Support looping HLE audio (#2422)
* Support looping HLE audio
* DSP: Fix dirty bit clears, handle nonmonotonically incrementing IDs
* DSP: Add start offset support
2017-01-29 23:52:25 -08:00
Yuri Kunde Schlesner a61b184282 Merge pull request #2368 from wwylele/camera-2
CAM: build the service framework with a dummy implementation
2017-01-29 22:16:39 -08:00
Yuri Kunde Schlesner 0792d17ac9 Merge pull request #2429 from wwylele/auto-language-fix
CFG: move language override to the boot process
2017-01-29 22:14:35 -08:00
Yuri Kunde Schlesner 1993fda63c VideoCore: Make PrimitiveAssembler const-correct 2017-01-29 21:31:38 -08:00
Yuri Kunde Schlesner 1a3c583a0f VideoCore: Extract swrast-specific data from OutputVertex 2017-01-29 21:31:38 -08:00
Yuri Kunde Schlesner bf1614c693 VideoCore/Shader: Clean up OutputVertex::FromAttributeBuffer
This also fixes a long-standing but neverthless harmless memory
corruption bug, whech the padding of the OutputVertex struct would get
corrupted by unused attributes.
2017-01-29 21:31:38 -08:00
Yuri Kunde Schlesner 99e799d346 Common: Optimize BitSet iterator 2017-01-29 21:31:38 -08:00
Yuri Kunde Schlesner dcdaff5ecc VideoCore: Split shader output writing from semantic loading 2017-01-29 21:31:37 -08:00
Yuri Kunde Schlesner 067b9b54bd VideoCore: Consistently use shader configuration to load attributes 2017-01-29 21:31:37 -08:00
Yuri Kunde Schlesner e05770fec4 VideoCore: Use correct register for immediate mode attribute count 2017-01-29 21:31:36 -08:00
Yuri Kunde Schlesner a4a4b6408c VideoCore: Rename some types to more accurate names 2017-01-29 21:31:36 -08:00
Yuri Kunde Schlesner 07b51a7da0 VideoCore: Change misleading register names
A few registers had names such as "count" or "number" when they actually
contained the maximum (that is, count - 1). This can easily lead to hard
to notice off by one errors.
2017-01-29 21:31:36 -08:00
Kloen d80edf9ebf video_core: gl_rasterizer_cache.cpp removed unused type alias 2017-01-30 05:18:28 +01:00
Kloen be15be9020 video_core: gl_rasterizer.cpp removed unused type alias 2017-01-30 05:16:48 +01:00
Yuri Kunde Schlesner 1ddd931c76 Merge pull request #2494 from Kloen/killing-warnings-2-final-mix
core: inline CPU, 132 warnings fixed on GCC
2017-01-29 15:40:50 -08:00
Yuri Kunde Schlesner 5513d53e57 Merge pull request #2492 from Kloen/killing-warnings-HD1.5ReMIX
Fix OSX build warnings about unhandled enumeration values.
2017-01-29 15:38:49 -08:00
Yuri Kunde Schlesner 4f22d4a77c Merge pull request #2493 from Kloen/killing-warnings-final-mix
video_core: silence unused-local-typedef boost related warnings on GCC
2017-01-29 15:35:59 -08:00
Kloen 0378143301 core: inline CPU, 132 warnings fixed on GCC 2017-01-30 00:12:07 +01:00
Kloen 49342917c9 citra: add missing control paths for ResultStatus on rom load. Fix warning about unhandled enumeration values on OSX 2017-01-29 22:02:01 +01:00
Kloen 0aedc28a31 core: fix err_f.cpp warning about unhandled enumeration value on OSX 2017-01-29 22:01:19 +01:00
Kloen e1ee6f6224 core: fix savedata_archive.cpp warnings about unhandled enumeration values on OSX 2017-01-29 21:50:25 +01:00
Kloen 806db8e491 core: fix archive_sdmc.cpp warnings about unhandled enumeration value on OSX 2017-01-29 21:49:36 +01:00
Kloen c6201827f5 core: fix archive_extsavedata.cpp warning on OSX 2017-01-29 21:48:40 +01:00
Kloen 3115300f11 video_core: silence unused-local-typedef boost related warning on GCC 2017-01-29 21:24:24 +01:00
Kloen 16ea7b3e8d core: emu_window.cpp, fix conversion warnings from float to s16 on MSVC 2017-01-29 16:39:31 +01:00
Kloen 37fa9a4886 common: add <cstddef> to hash.h 2017-01-28 15:30:18 +01:00
Kloen b4c73698b9 common: switch ComputeHash64 len param to size_t instead of int, fix warning on MSVC on dsp_dsp.cpp 2017-01-28 14:47:14 +01:00
noah the goodra 0adb56a6b2 fixed the override warning
```
In file included from citra/src/audio_core/sink_details.cpp:11:
citra/src/./audio_core/sdl2_sink.h:25:10: warning: 'SetDevice' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
    void SetDevice(int device_id);
         ^
citra/src/./audio_core/sink.h:39:18: note: overridden virtual function is here
    virtual void SetDevice(int device_id) = 0;
                 ^
```
2017-01-27 14:24:14 -06:00
Yuri Kunde Schlesner 19e4fd28ef Merge pull request #2346 from yuriks/shader-refactor2
More shader refactoring
2017-01-27 14:29:10 -03:00
Kloen Lansfiel 637f58dd1e SDL: Select audio device (#2403)
* Initial Commit

Added Device logic to Sinks
Started on UI for selecting devices

Removed redundant import

* Audio Core: Complete Device Switching

Complete the device switching implementation by allowing the output
device to be loaded, changed and saved through the configurations menu.

Worked with the Sink abstraction and tuned the "Device Selection"
configuration so that the Device List is automatically populated when
the Sink is changed.
This hopefully addresses the concerns and recommendations mentioned in
the comments of the PR.

* Clean original implementation.

* Refactor GetSinkDetails
2017-01-25 22:33:26 -05:00
Yuri Kunde Schlesner ab0b74b0f3 VideoCore/Shader: Move entry_point to SetupBatch 2017-01-25 18:53:25 -08:00
Yuri Kunde Schlesner 1994f1a6f2 VideoCore/Shader: Move per-batch ShaderEngine state into ShaderSetup 2017-01-25 18:53:25 -08:00
Yuri Kunde Schlesner c863fc36ce Shader: Remove OutputRegisters struct 2017-01-25 18:53:25 -08:00
Yuri Kunde Schlesner b0ec4da3b0 Shader: Initialize conditional_code in interpreter
This doesn't belong in LoadInputVertex because it also happens for
non-VS invocations. Since it's not used by the JIT it seems adequate to
initialize it in the interpreter which is the only thing that cares
about them.
2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner e500250c97 Shader: Don't read ShaderSetup from global state 2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner 5b046f49c9 shader_jit_x64: Don't read program from global state 2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner 46fc50931f VideoCore/Shader: Move ProduceDebugInfo to InterpreterEngine 2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner 2c14dbdb64 Debugger: Always use interpreter for shader debugging 2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner 931a2b0ca4 VideoCore/Shader: Split interpreter and JIT into separate ShaderEngines 2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner 88b533871e VideoCore/Shader: Rename shader_jit_x64{ => _compiler}.{cpp,h} 2017-01-25 18:53:23 -08:00
Yuri Kunde Schlesner 73e7bc2592 VideoCore/Shader: Split shader uniform state and shader engine
Currently there's only a single dummy implementation, which will be
split in a following commit.
2017-01-25 18:53:23 -08:00
Yuri Kunde Schlesner f887eccd74 VideoCore/Shader: Add constness to methods 2017-01-25 18:53:23 -08:00
Yuri Kunde Schlesner 03d2b6aa89 VideoCore/Shader: Use only entry_point as ShaderSetup param
This removes all implicit dependency of ShaderState on global PICA
state.
2017-01-25 18:53:23 -08:00
Yuri Kunde Schlesner d6533112fe VideoCore/Shader: Use self instead of g_state.vs in ShaderSetup 2017-01-25 18:53:23 -08:00
Yuri Kunde Schlesner 2771bde17a VideoCore/Shader: Extract input vertex loading code into function 2017-01-25 18:53:20 -08:00
Yuri Kunde Schlesner c25a9cf64d Merge pull request #2434 from mailwl/nfc-amiibo
Service/NFC: stub some functions
2017-01-25 23:47:56 -03:00
Kloen 55c137a3ab video_core: fix shader.cpp signed / unsigned warning 2017-01-23 16:53:31 +01:00
Kloen efb168a1ce video_core: gl_rasterizer float to int warning 2017-01-23 16:53:30 +01:00
Kloen b969f82292 video_core: fix gl_rasterizer warning on MSVC 2017-01-23 16:53:30 +01:00
Kloen b377b96ca0 core: fix mic_u warnings on MSVC 2017-01-23 16:53:05 +01:00
Kloen 9578e123ec Removed unused and outdated external qhexedit 2017-01-22 18:46:48 +01:00
Kloen e0e1b347a4 citra-qt: Removed unused and unimplemented ramview files. 2017-01-22 18:42:15 +01:00
wwylele d678c306b8 HID: reset acceleroeter and gyroscope index in Init 2017-01-20 23:33:50 +02:00
wwylele fc7fb21731 CFG: override language setting on boot 2017-01-19 10:28:35 +02:00
Thomas Farr c1d05a2df5 loader: Add support for 3DSX special relocation types, fixes citra-emu/citra#2449
As per devkitPro/3dstools@47bea18
2017-01-19 01:34:58 +13:00
wwylele 34440c54a9 CoreTiming: use named constant for ARM11 clock rate 2017-01-16 09:59:16 +02:00
wwylele 8f807fc8ef HID: manages updating itself using correct ticks 2017-01-16 09:51:44 +02:00
mailwl b777c9ae81 Service/NFC: stub some functions
Tested on: Mini-Mario & Friends - amiibo Challenge
2017-01-14 16:15:16 +03:00
mailwl ecf76c326c GSP::WriteHWRegsWithMask: fix register mask 2017-01-14 13:37:04 +03:00
bunnei fab819c064 Merge pull request #2423 from Kloen/floats-should-be-float
SDL2: Config, fix double to float warning
2017-01-13 12:04:27 -05:00
bunnei dcd17e7d50 Merge pull request #2424 from Kloen/qt-ui-warnings-really
Qt: Fix UI related warnings and bonus ui file format
2017-01-12 10:15:12 -05:00
bunnei b1133afc28 Merge pull request #2425 from Subv/cleanup_todos
Implement some TODOs in the code.
2017-01-12 10:14:30 -05:00
bunnei d71a04381c Merge pull request #2308 from mailwl/ac-i
Service/AC: add ac:i service
2017-01-12 10:12:46 -05:00
Subv a81290ffb4 Threads: Check the process' resource limit for the max allowed priority when creating a thread and remove the priority clamping code. 2017-01-11 16:38:05 -05:00
Subv fbe090645c Thread: Added priority range checking to svcSetThreadPriority and removed priority clamping code from Thread::SetPriority. 2017-01-11 16:38:04 -05:00
Subv c77cafb0a7 Y2R: Use the proper error code when GetStandardCoefficient receives an invalid value. 2017-01-11 16:38:03 -05:00
Kloen 93c2abb5d8 QT: Fix ui file format 2017-01-11 13:52:26 +01:00
Kloen 225cfcf539 QT: Fix some UI related warnings 2017-01-11 13:52:01 +01:00
Kloen b9a0167e86 SDL2: Config.cpp fix double to float warning 2017-01-11 13:32:02 +01:00
wwylele caee572f78 CAM: implement basic camera functions with a blank camera 2017-01-11 11:46:44 +02:00
bunnei cb38ee3497 Merge pull request #2397 from Subv/pulse
Kernel: Implemented Pulse event and timers.
2017-01-10 10:45:00 -05:00
bunnei 564207ac20 Merge pull request #2384 from bunnei/internal-res-option
config: Add option for specifying screen resolution scale factor.
2017-01-08 12:25:12 -05:00
bunnei 64cafd74d1 Merge pull request #1951 from wwylele/motion-sensor
Emulate motion sensor in frontend
2017-01-07 12:39:20 -05:00
bunnei d2a2789dda config: Add option for specifying screen resolution scale factor. 2017-01-07 03:23:22 -05:00
bunnei 961bb24cf9 Merge pull request #2410 from Subv/sleepthread
Don't yield execution in SleepThread(0) if there are no available threads to run
2017-01-06 22:01:33 -05:00
bunnei ba71c889f0 Merge pull request #2396 from Subv/sema_acquire
Kernel/Semaphore: Fixed a regression in semaphore waits.
2017-01-06 22:00:12 -05:00
Hyper 82ed89eec2 Kernel: Fix SharedMemory objects always returning error when addr = 0 (#2404)
Closes #2400
2017-01-06 08:21:22 -05:00
bunnei cff8e614bd Merge pull request #2408 from Subv/priority_boosting
Kernel: Removed the priority boost code for starved threads.
2017-01-06 00:40:39 -05:00
Subv 6c6117868a Kernel: Don't attempt to yield execution in SleepThread(0) if there are no available threads to run.
With this we avoid an useless temporary deschedule of the current thread.
2017-01-05 19:11:34 -05:00
Subv 975f3e0853 Kernel: Remove some unused functions. 2017-01-05 13:17:06 -05:00
Subv d27ef4a5d3 Kernel: Removed the priority boost code for starved threads.
After hwtesting and reverse engineering the kernel, it was found that the CTROS scheduler performs no priority boosting for threads like this, although some other forms of scheduling priority-starved threads might take place.

For example, it was found that hardware interrupts might cause low-priority threads to run if the CPU is preempted in the middle of an SVC handler that deschedules the current (high priority) thread before scheduling it again.
2017-01-05 13:12:39 -05:00
Subv c6ccb7c6f2 Kernel: Implemented Pulse event and timers.
Closes #1904
2017-01-05 13:06:17 -05:00
Subv f8d98e241d Kernel/Semaphore: Fixed a regression in semaphore waits.
The regression was caused by a missing check in #2260.

The new behavior is consistent with the real kernel.
2017-01-05 13:00:05 -05:00
Sebastian Valle 35aea29a77 Merge pull request #2393 from Subv/synch
Kernel: Mutex priority inheritance and synchronization improvements.
2017-01-05 12:55:01 -05:00
Subv a0ae8f7c26 Kernel: Add some asserts to enforce the invariants in the scheduler. 2017-01-05 09:40:18 -05:00
Subv 1ba3dd032e Kernel: Remove a thread from all of its waiting objects' waiting_threads list when it is awoken.
This fixes a potential bug where threads would not get removed from said list if they awoke after waiting with WaitSynchronizationN with wait_all = false
2017-01-05 09:40:15 -05:00
Subv 3ce2c24665 Kernel: Remove Thread::wait_objects_index and use wait_objects to hold all the objects that a thread is waiting on. 2017-01-05 09:40:14 -05:00
Subv bcad1d6f12 Kernel: Use different thread statuses when a thread calls WaitSynchronization1 and WaitSynchronizationN with wait_all = true.
This commit removes the overly general THREADSTATUS_WAIT_SYNCH and replaces it with two more granular statuses:

THREADSTATUS_WAIT_SYNCH_ANY when a thread waits on objects via WaitSynchronization1 or WaitSynchronizationN with wait_all = false.

THREADSTATUS_WAIT_SYNCH_ALL when a thread waits on objects via WaitSynchronizationN with wait_all = true.
2017-01-04 15:58:50 -05:00
Subv 8503e56689 Kernel/Mutex: Propagate thread priority changes to other threads inheriting the priority via mutexes 2017-01-04 15:58:48 -05:00
Subv d33885b60b Kernel/Mutex: Update a mutex priority when a thread stops waiting on it. 2017-01-04 15:58:47 -05:00
Subv 4e6369d41d Kernel/Mutex: Implemented priority inheritance.
The implementation is based on reverse engineering of the 3DS's kernel.

A mutex holder's priority will be temporarily boosted to the best priority among any threads that want to acquire any of its held mutexes.
When the holder releases the mutex, it's priority will be boosted to the best priority among the threads that want to acquire any of its remaining held mutexes.
2017-01-04 15:58:46 -05:00
Subv 90570c153b Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.
This will be useful when implementing mutex priority inheritance.
2017-01-04 15:58:45 -05:00
Subv a1718862e3 Kernel/Synch: Do not attempt a reschedule on every syscall.
Not all syscalls should cause reschedules, this commit attempts to remedy that, however, it still does not cover all cases.
2017-01-04 15:58:44 -05:00
Jonathan Hao 1df720ed08 Fix some warnings (#2399) 2017-01-04 13:48:29 -03:00
Yuri Kunde Schlesner c87d3eaf28 Merge pull request #2382 from mailwl/nfc
Service/NFC: stub GetTagInRangeEvent
2017-01-03 12:56:02 -03:00
Lectem aff0ef44d2 fix comments alignment 2016-12-30 15:55:42 +01:00
Sebastian Valle c5bf85ecce Merge pull request #2386 from bunnei/fix-bg-color
config: SDL: Move background color setting to correct section.
2016-12-30 09:51:56 -05:00
mailwl 45b03ee367 Service/NFC: stub GetTagInRangeEvent
Fix Fatal Error in Mini-Mario & Friends - amiibo Challenge
2016-12-30 09:40:54 +03:00
mailwl d5ca5dd75e Service/AC: add ac:i service 2016-12-30 09:20:11 +03:00
bunnei c20fcd4a21 config: SDL: Move background color setting to correct section. 2016-12-30 00:35:38 -05:00
bunnei 7b3737d9bd Merge pull request #2240 from wwylele/auto-region
Config: auto-select region and language
2016-12-29 22:09:01 -05:00
wwylele 128190f242 Frontend: make motion sensor interfaced thread-safe 2016-12-29 21:18:36 +02:00
bunnei 73f1ddef92 Merge pull request #2367 from JayFoxRox/lighting-lut-quickfix
Lighting LUT Quickfix
2016-12-29 13:41:51 -05:00
wwylele bf96d8c561 Core: remove unused hle.cpp 2016-12-27 10:27:48 +02:00
Lectem a7eeff24f0 move Pop methods out of class body 2016-12-26 14:42:06 +01:00
Lectem c5bfad527e IPC helpers example 2016-12-26 14:07:29 +01:00
Lectem 09e966a107 IPC helpers 2016-12-26 14:07:29 +01:00
wwylele e844f294a1 Frontend: emulate motion sensor 2016-12-26 10:52:16 +02:00
wwylele fc8f22bd7e Common: add Quaternion 2016-12-26 10:41:26 +02:00
wwylele 5ddc3b5a56 vector math: add implementation of Length and Normalize 2016-12-26 10:41:26 +02:00
wwylele 078d188544 MathUtil: add PI constant 2016-12-26 10:41:26 +02:00
wwylele 9d5a7fd3f7 Common::Event: add WaitUntil 2016-12-26 10:41:26 +02:00
Jannik Vogel 1404a3c19a Minor cleanup in GLSL code 2016-12-25 21:38:10 +01:00
Jannik Vogel 98bb00a643 Offset lighting LUT samples correctly 2016-12-25 21:37:26 +01:00
wwylele 0372b0ea28 Core: reset cpu_core in Shutdown to make IsPoweredOn work properly 2016-12-24 20:55:38 +02:00
bunnei 77b58b740d Merge pull request #2369 from MerryMage/core-frontend
core: Move emu_window and key_map into core
2016-12-23 17:35:35 -05:00
Yuri Kunde Schlesner dc07e6c89a Merge pull request #2370 from wwylele/where-is-my-shared-font
file_util: fix missing sysdata path
2016-12-23 12:42:40 -08:00
wwylele 2c0bde2fb7 file_util: fix missing sysdata path 2016-12-23 22:19:14 +02:00
MerryMage 4aaaea9758 core: Move emu_window and key_map into core
* Removes circular dependences (common should not depend on core)
2016-12-23 13:42:39 +00:00
mailwl 3a05b161bc Service/NWM: add nwm services 2016-12-22 22:51:27 +03:00
bunnei d4ad36796f Merge pull request #2366 from MerryMage/MemoryReadCode
arm_dynarmic: Provide MemoryReadCode callback
2016-12-22 14:25:15 -05:00
bunnei 37e91013ec Merge pull request #2343 from bunnei/core-cleanup
Core: Top-level consolidate & misc cleanup
2016-12-22 11:47:44 -05:00
MerryMage 608278503c arm_dynarmic: Provide MemoryReadCode callback
Change of interface in dynarmic 36082087ded632079b16d24137fdd0c450ce82ea
2016-12-22 16:07:14 +00:00
bunnei 09b7c9788d Merge pull request #2285 from mailwl/csnd-format
csnd:SND: Reformat source code
2016-12-22 00:47:50 -05:00
bunnei d445aad022 ThreadContext: Move from "core" to "arm_interface". 2016-12-22 00:27:49 -05:00
bunnei 8cfd0762fd core: Replace "AppCore" nomenclature with just "CPU". 2016-12-22 00:27:46 -05:00
bunnei 796a0ae11b Merge pull request #2361 from lioncash/disasm
disassembler: Remove mutable specifier from breakpoints member variable
2016-12-22 00:15:06 -05:00
bunnei 1fd7cfb69e Address clang-format issues. 2016-12-21 23:48:14 -05:00
bunnei 5d22844f3e core: Remove HLE module, consolidate code & various cleanups. 2016-12-21 23:48:13 -05:00
bunnei d504f6cf08 core: Consolidate core and system state, remove system module & cleanups. 2016-12-21 23:29:13 -05:00
bunnei b2fcbaedf4 file_util: Remove unused paths. 2016-12-21 23:29:12 -05:00
bunnei 98bf7cc82f core: Consolidate top-level system state into a singleton. 2016-12-21 23:29:04 -05:00
bunnei fdcff791c3 loader: Remove duplicate docstrings. 2016-12-21 23:27:50 -05:00
Lioncash 0ecbd152b1 citra-qt: Move graphics debugging code into its own folder
Keeps all graphics debugging stuff from cluttering up the root debugger
folder
2016-12-21 17:19:21 -05:00
Lioncash 20112a1c26 disassembler: Remove mutable specifier from breakpoints member variable
Breakpoints has been const correct with regards to what the
DisassmblerModel needs for quite a while now.
2016-12-21 14:12:41 -05:00
bunnei 79b3a1a1e7 Merge pull request #2319 from yuriks/profile-scopes
VideoCore: Make profiling scope more representative
2016-12-21 13:33:49 -05:00
bunnei 9cef48a53f Merge pull request #2357 from lioncash/ui
citra-qt: Move bits of constructor behavior to named functions
2016-12-21 13:33:16 -05:00
Lioncash bf5974f077 citra-qt: Move bits of constructor behavior to named functions
Makes the initialization process a tad easier to grok,
since the constructor isn't just a glob of random unrelated behaviors.
2016-12-19 15:12:28 -05:00
Albin Bernhardsson 0a2259ad11 Use GL_TRUE when setting color_mask 2016-12-19 19:06:35 +01:00
bunnei a50f5b4746 Merge pull request #2318 from yuriks/trace-opt
VideoCore: Inline IsPicaTracing
2016-12-18 21:15:24 -05:00
bunnei 9a26d8ac0a Merge pull request #2351 from CaptV0rt3x/master
Fixed game_list focus issue.
2016-12-18 16:12:21 -05:00
bunnei 9538499cbd Merge pull request #2347 from citra-emu/revert-2321-flush-pages
Revert "Memory: Always flush whole pages from surface cache"
2016-12-18 16:11:26 -05:00
CaptV0rt3x 258f683672 line fixup for travis ci 2016-12-19 00:52:54 +05:30
Vamsi Krishna 5d3470c841 screen swap - Hotkey mapping 2016-12-19 00:49:57 +05:30
Vamsi Krishna c8117b76a0 Fixed GPLv2 license text in the start. 2016-12-19 00:06:27 +05:30
Vamsi Krishna 255b58025b Fixed game_list focusing issue.
added line render_window->setFocus();
2016-12-18 16:13:51 +05:30
bunnei 1224db246e Revert "Memory: Always flush whole pages from surface cache" 2016-12-17 19:13:33 -05:00
wwylele c62bc4e616 Thread: remove the thread from the thread list when exiting 2016-12-17 19:23:52 +02:00
Yuri Kunde Schlesner 5095e23921 Merge pull request #2335 from yuriks/shader-refactor
Misc. Shader refactors
2016-12-16 20:45:57 -08:00
bunnei b1806d9a8f Merge pull request #2303 from freiro/citra-qt_missing_sdl2_dll
Copy SDL2.dll when compiling citra-qt with msvc
2016-12-16 11:35:55 -05:00
bunnei bad8f6c78d Merge pull request #2337 from lioncash/gdb
gdbstub: const correctness changes
2016-12-16 11:32:33 -05:00
Merry 6da3657eff Merge pull request #2322 from MerryMage/ctx-mnu
game_list: Add a context menu with "Open Save Location"  option
2016-12-16 15:08:04 +00:00
wwylele ea4217939a Kernel: remove object's waiting thread if it is dead 2016-12-16 12:33:18 +02:00
Lioncash cae211f90c gdbstub: const correctness changes
Also uses size_t as the length indicator type, as is common with buffers.
2016-12-16 04:06:26 -05:00
Yuri Kunde Schlesner 7d4827f520 VideoCore/Shader: Extract DebugData out from UnitState 2016-12-16 00:16:25 -08:00
Yuri Kunde Schlesner e847c70fb6 Remove unnecessary cast 2016-12-16 00:15:55 -08:00
Yuri Kunde Schlesner d94a04ced7 VideoCore/Shader: Extract evaluate_condition lambda to function scope 2016-12-16 00:15:51 -08:00
Yuri Kunde Schlesner fc3d8c77c8 VideoCore/Shader: Extract call lambda up a scope and remove unused param 2016-12-15 23:08:05 -08:00
Yuri Kunde Schlesner 4a688688b1 VideoCore/Shader: Remove dynamic control flow in (Get)UniformOffset 2016-12-15 23:08:05 -08:00
Yuri Kunde Schlesner ec7b3940b0 VideoCore/Shader: Move DebugData to a separate file 2016-12-15 23:08:05 -08:00
bunnei 034651fa7f Merge pull request #2260 from Subv/scheduling
Threading: Reworked the way our scheduler works.
2016-12-16 00:41:22 -05:00
bunnei 56fee7ed29 Merge pull request #2316 from endrift/macos-gcc
Common: Fix gcc build on macOS
2016-12-16 00:40:40 -05:00
Yuri Kunde Schlesner 89a8f963ce Merge pull request #2328 from wwylele/fix-trace
Fix debug build from #2249
2016-12-15 21:06:12 -08:00
Yuri Kunde Schlesner 37dc16c1bb Merge pull request #2332 from lioncash/gdb
gdbstub: Remove global variable from public interface
2016-12-15 21:05:20 -08:00
Yuri Kunde Schlesner ceed2efb4e Merge pull request #2320 from mailwl/cecd-update
Service/CECD: Add cecd:ndm service
2016-12-15 21:01:51 -08:00
bunnei 7aa9f479d2 Merge pull request #2331 from lioncash/trunc
hid: Get rid of a double -> float truncation warning
2016-12-15 17:45:24 -05:00
wwylele 267f26d7df FS: fix debug build from #2249 2016-12-16 00:22:36 +02:00
Lioncash bec7bc3ec9 gdbstub: Remove global variable from public interface
Currently, this is only ever queried, so adding a function to check if the
server is enabled is more sensible.

If directly modifying this externally is ever desirable, it should be done
by adding a function to the interface, rather than exposing implementation
details directly.
2016-12-15 16:37:22 -05:00
Sebastian Valle 9df75ff6d6 Merge pull request #2330 from lioncash/pragma
core: Add missing #pragma once directives where applicable
2016-12-15 16:06:43 -05:00
Lioncash 7c1a069ab6 hid: Get rid of a double -> float truncation warning
float literals need to have the 'f' prefix.
2016-12-15 15:52:15 -05:00
Lioncash cb4293adf1 core: Add missing #pragma once directives where applicable 2016-12-15 15:40:51 -05:00
Lioncash 8e6bf2478f act: Fix docstring typo
These aren't the AM services.
2016-12-15 14:51:45 -05:00
Yuri Kunde Schlesner 52b26a026e Merge pull request #2325 from yuriks/fix-index
shader_jit_x64: Use LOOPCOUNT_REG as a 64-bit reg when indexing
2016-12-15 11:19:24 -08:00
bunnei 338e24ae80 Merge pull request #2314 from mailwl/account
Service/ACT: move ACT services to folder
2016-12-15 13:51:29 -05:00
MerryMage ee1822efa9 main: Open folder when open save folder location context menu is clicked 2016-12-15 18:43:11 +00:00
MerryMage 33831718fa game_list: Implement context menu for items in list
* Add a context menu with a "Open Save Data Location" action
2016-12-15 18:43:10 +00:00
MerryMage af97174940 loader: Implement ReadProgramId 2016-12-15 18:42:38 +00:00
Yuri Kunde Schlesner 50a3f434a0 shader_jit_x64: Use LOOPCOUNT_REG as a 64-bit reg when indexing 2016-12-15 10:02:42 -08:00
MerryMage 6e2d70a777 archive_source_sd_savedata: Add static method to get a specific save data path 2016-12-15 09:59:41 +00:00
Yuri Kunde Schlesner 415064165a Memory: Always flush whole pages from surface cache
This prevents individual writes touching a cached page, but which don't
overlap the surface, from constantly hitting the surface cache lookup.
2016-12-14 23:46:59 -08:00
mailwl c7a28acce4 Service/CECD: Add cecd:ndm service 2016-12-15 09:52:40 +03:00
Yuri Kunde Schlesner 66efdff1a7 VideoCore: Make profiling scope more representative 2016-12-14 22:52:09 -08:00
Yuri Kunde Schlesner eb75205231 VideoCore: Inline IsPicaTracing
Speeds up ALBW main menu slightly (~3%)
2016-12-14 22:06:40 -08:00
Yuri Kunde Schlesner d8fc6ee91b VideoCore: Eliminate an unnecessary copy in the drawcall loop 2016-12-14 21:00:29 -08:00
Yuri Kunde Schlesner 3bf8e16d21 Merge pull request #2309 from yuriks/shader-jit-xbyak
Convert shader JIT to Xbyak
2016-12-14 20:44:30 -08:00
Yuri Kunde Schlesner c99b5e3122 Merge pull request #2249 from Subv/sessions_v3
Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
2016-12-14 20:35:33 -08:00
Yuri Kunde Schlesner 8ec064951f shader_jit_x64: Use Reg32 for LOOP* registers, eliminating casts 2016-12-14 20:06:09 -08:00
Yuri Kunde Schlesner 2d892f845c VideoCore: Convert x64 shader JIT to use Xbyak for assembly 2016-12-14 20:06:08 -08:00
Subv 3e80a1a1c1 Fixed the codestyle to match our clang-format rules. 2016-12-14 12:45:36 -05:00
Subv 00decc1180 Fixed the codestyle to match our clang-format rules. 2016-12-14 12:35:01 -05:00
mailwl 11e9681df2 Service/ACT: move ACT services to folder 2016-12-14 09:05:46 +03:00
freiro 04e6500b5d Modularized Qt and SDL file copying
Now cmake relies on two submodules to copy the libraries in the proper folders
2016-12-13 21:05:00 +01:00
Jeffrey Pfau 12cca651ce Common: Fix gcc build on macOS 2016-12-13 10:20:33 -08:00
JamePeng 7af1081bb0 Minor amendment of GSP_GPU::ImportDisplayCaptureInfo code 2016-12-13 17:01:53 +08:00
Yuri Kunde Schlesner 08c37e1eda Merge pull request #2312 from lioncash/guard
time_stretch: Add missing #pragma once directive
2016-12-12 22:21:09 -08:00
Lioncash dc6a23e0f6 time_stretch: Add missing #pragma once directive 2016-12-12 19:16:46 -05:00
mailwl a88468d683 csnd:SND reformat source code 2016-12-12 21:19:36 +03:00
Sebastian Valle 9eaa37e9ab Merge pull request #2275 from jbeich/pthread
Unbreak QT-only build after 37d6cbc200
2016-12-11 14:45:35 -05:00
Sebastian Valle 7993d67ca9 Merge pull request #2267 from JayFoxRox/fix-mingw-cc
Support mingw cross-compilation
2016-12-11 14:44:21 -05:00
mailwl e3828ed7fa APT::GetStartupArgument: force clear startup argument 2016-12-11 22:36:12 +03:00
freiro b3b35563ce Modularization of copy_msvc_libraries cmake funct
Created a new folder in Citra's root called CMakeModules that should
contain cmake functions used by the various CMakeLists.txt.
2016-12-11 15:36:34 +01:00
Lioncash b24112862e citra-qt: Make constructors explicit where applicable 2016-12-11 14:18:06 +00:00
freiro 0fb7af11d3 Removed redundant Qt check and other fixes
This removes a redundant check and moves part of the code to a separate
function.
2016-12-11 15:10:21 +01:00
Lioncash 94f0a00f0e citra-qt: Add missing #pragma once directives 2016-12-11 12:12:03 +00:00
Lioncash 2a1cf1e2ce game_list: Make slots private functions
The new Qt event syntax allows for regular member functions to be used in
connect(), so explicitly indicating slots isn't necessary.
2016-12-11 11:45:50 +00:00
Lioncash c22f539978 game_list: Make the constructor explicit 2016-12-11 11:45:50 +00:00
Lioncash ada0edd082 game_list: Make the AddEntry argument a const reference
appendRow takes a QList by const reference, so it doesn't need to be
modifiable.
2016-12-11 11:45:50 +00:00
Lioncash da804ef0ff game_list: Replace 0 literals with nullptr 2016-12-11 11:45:50 +00:00
Lioncash f5636c45fb game_list: Use QT5's new event connection syntax
Makes for more compact code in most places.
2016-12-11 11:45:50 +00:00
Lioncash bd25e19ee8 game_list: Pass the parent constructor argument to the QWidget base class
If the control was ever passed an explicit parent, a potential memory leak
would happen, as the game list wouldn't be freed.

However, in our case, the game list was placed within a layout, which
automatically performs reparenting, avoiding this issue.
2016-12-11 11:45:50 +00:00
freiro 3600ce8ff2 [MSVC] Copy SDL2.dll to build folder
CMake now copies SDL2.dll when compiling citra with citra-qt as a target
on MSVC.
2016-12-11 12:22:37 +01:00
Yuri Kunde Schlesner 4f102ed17e Merge pull request #2300 from lioncash/qt
graphics_cmdlist: Minor changes
2016-12-11 01:42:43 -08:00
Lioncash e221b00122 graphics_cmdlists: Get rid of variable shadowing 2016-12-11 04:33:24 -05:00
Emmanuel Gil Peyrot 01e0d578d3 Core: Add a forgotten #include <cstring> for memcpy. 2016-12-11 01:20:45 +00:00
Lioncash a1f25eb04a graphics_cmdlists: Get rid of an unused variable 2016-12-10 20:01:27 -05:00
Lioncash 520b6a7ae4 graphics_cmdlists: Make LoadTexture and TextureInfoWidget src arguments const 2016-12-10 20:01:22 -05:00
Lioncash 95adb797c5 graphics_cmdlists: Make LoadImage internally linked
Puts the TextureInfoWidget definition in the anonymous namespace as well,
as it's only used in the translation unit as well.
2016-12-10 20:00:40 -05:00
Lioncash b0ebdfae34 Add all services to the Service namespace
Previously there was a split where some of the services were in the
Service namespace and others were not.
2016-12-11 00:07:27 +00:00
MerryMage 0713074841 configure_input: Modernize and cleanup input configuration tab
* Removed use of raw QTimer* pointer.
* Update to use type-safe QObject::connect.
* getKeyName can be a static local function.
* Prefer to use function arguments instead of member variables.
* Store Qt::Key instead of converting string back into keycode.
2016-12-10 23:30:28 +00:00
Subv 7066deff78 Properly remove a thread from its wait_objects' waitlist when it is awoken by a timeout. 2016-12-10 13:29:31 -05:00
Yuri Kunde Schlesner fde4d073f1 Merge pull request #2296 from MerryMage/auto_is_auto
audio_core: SelectSink should default to auto if sink_id is invalid
2016-12-09 20:34:10 -08:00
MerryMage b5cfe1d2f4 audio_core: SelectSink should default to auto if sink_id is invalid 2016-12-10 01:26:22 +00:00
bunnei 1a981fe1ea Merge pull request #2291 from lioncash/svc
service: Add the cfg:nor service
2016-12-09 14:15:20 -05:00
Subv 6df6ad46c4 Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass. 2016-12-09 12:52:12 -05:00
Subv 79f53e6daa Kernel/IPC: Small codestyle cleanup 2016-12-09 12:39:12 -05:00
Subv d4815e828d WaitSynch: Removed unused variables and reduced SharedPtr copies.
Define a variable with the value of the sync timeout error code.

Use a boost::flat_map instead of an unordered_map to hold the equivalence of objects and wait indices in a WaitSynchN call.
2016-12-09 12:23:09 -05:00
Lioncash fd2837ad16 service: Add cfg:nor service 2016-12-09 05:07:41 -05:00
Yuri Kunde Schlesner 0154ff2075 Merge pull request #2292 from lioncash/bool
ptm: Use boolean instead of integral value
2016-12-09 01:43:57 -08:00
Lioncash 508f17b87c ptm: Use boolean instead of integral value
The third parameter of Write is actually a bool type, not an int.
2016-12-09 04:04:28 -05:00
Lioncash 51f6cd48ba service: Drop '_Interface' from cfg service names 2016-12-09 01:08:35 -05:00
Yuri Kunde Schlesner 1441410999 Merge pull request #2287 from lioncash/svc
service: Minor PTM changes
2016-12-08 19:34:32 -08:00
Sebastian Valle 91fce7f5d2 Merge pull request #2280 from Subv/citrace_size
Fixed the gpu command list size when creating CiTraces.
2016-12-08 15:45:53 -05:00
Subv 4650bc60b4 Fixed the gpu command list size when creating CiTraces. 2016-12-08 15:21:02 -05:00
Subv 17d8d69c6e Added a framework for partially handling Session disconnections.
Further implementation will happen in a future commit.

Fixes a regression.
2016-12-08 15:01:10 -05:00
Subv 021e732815 Use std::move where appropriate. 2016-12-08 11:06:19 -05:00
Lioncash e7d396142a service: Add the ptm:s service
3dbrew documents this as being the exact same as ptm:sysm
2016-12-08 06:14:55 -05:00
Lioncash 9becdeada9 service: Add common ptm:u commands to other ptm services
3dbrew indicates that all services have access to these commands
except for ptm:sets.
2016-12-08 06:13:10 -05:00
Lioncash aa096138bd service: Drop '_Interface' in ptm service class names
Inheriting from Service::Interface makes this obvious.
2016-12-08 06:13:04 -05:00
Lioncash 0e025b7b4e service: Add ptm::gets and ptm::sets services 2016-12-08 05:43:08 -05:00
Yuri Kunde Schlesner b185a33a1d Merge pull request #2286 from lioncash/svc
service: Add mvd and qtm services
2016-12-08 01:49:45 -08:00
Yuri Kunde Schlesner cc0ab41783 Merge pull request #2274 from degasus/master
Drop framebuffer completeness check.
2016-12-08 01:36:42 -08:00
Lioncash c7a1fc1d0a service: Add mvd and qtm services
Adds the two New3DS-only modules.

3dbrew was used for command information.
2016-12-08 04:34:03 -05:00
Yuri Kunde Schlesner 9164ea53fb Merge pull request #2284 from lioncash/svc
service: Add nfc services
2016-12-08 00:34:09 -08:00
Yuri Kunde Schlesner e0dc074739 Merge pull request #2277 from lioncash/explicit
file_sys: Make a few single-argument constructors explicit
2016-12-08 00:29:38 -08:00
Lioncash c74ecaaa85 service: Add nfc services
3dbrew was used for the command information.
2016-12-08 03:24:41 -05:00
Yuri Kunde Schlesner 0666271a28 Merge pull request #2283 from lioncash/svc
service: Update function tables
2016-12-07 22:45:12 -08:00
Yuri Kunde Schlesner 5a757542eb Merge pull request #2281 from lioncash/applet
applet: minor interface changes
2016-12-07 22:36:40 -08:00
Lioncash 2ab9afdb37 ssl_c: Update function table
Updated based off information from 3dbrew
2016-12-08 00:57:53 -05:00
Lioncash 80db6356ae ptm: Update ptm_sysm function table
Updated based off information from 3dbrew.
2016-12-08 00:57:53 -05:00
Lioncash 1a85727f71 pm_app: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:57:45 -05:00
Lioncash 5caec2fcda nwm_uds: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash 0f53c14ca1 nim: Update function tables
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash 34401e8a9e http_c: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash de5b0f4e25 gsp_lcd: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash b3b4017185 fs_user: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:46 -05:00
Lioncash 7033aa361e dlp_srvr: Update function table 2016-12-08 00:56:46 -05:00
Lioncash f9c458cd04 cfg: Update function tables
Updated based off information from 3dbrew
2016-12-08 00:56:46 -05:00
Lioncash bd088ae36b cecd_u: Update function table
Updated based off information from 3dbrew.
2016-12-08 00:56:46 -05:00
Lioncash 4b7f949d77 boss_p: Update function table 2016-12-08 00:56:45 -05:00
Lioncash 7598d8532c act: Update function tables
Updated based off information from 3dbrew.
2016-12-08 00:56:39 -05:00
Lioncash 523979a6ed apt: Update apt function tables
Updated based off information from 3dbrew.
2016-12-07 22:53:10 -05:00
Lioncash a8f59eab50 Update AM service function tables
Updated based off information from 3dbrew.
2016-12-07 20:55:59 -05:00
Lioncash 6ba0395316 file_sys: Make a few single-argument constructors explicit
Prevents implicit conversions.
2016-12-07 17:26:56 -05:00
Lioncash 7055dbf489 applet: Move common IsRunning underlying variable to the Applet class
Gets rid of basic duplication.
2016-12-07 17:13:46 -05:00
Lioncash 748807f130 applet: Make virtual destructor defaulted 2016-12-07 17:04:14 -05:00
Lioncash e214e0fca4 applet: Make constructor protected
Considering the class is abstract, there's no need to make the constructor
public.
2016-12-07 16:50:32 -05:00
Markus Wick aa8236a9b6 OpenGL: Drop framebuffer completeness check.
This OpenGL call synchronize the worker thread of the nvidia blob.
It can be verified on linux with the __GL_THREADED_OPTIMIZATIONS=1 environment variable.
Those errors should not happen on tested drivers.
It was used as a workaround for https://bugs.freedesktop.org/show_bug.cgi?id=94148
2016-12-07 22:09:13 +01:00
wwylele a88ec032cd Config: auto-select region and language 2016-12-07 20:52:42 +02:00
Jan Beich 61f52b5d33 tests: add missing libcore dependency after 37d6cbc200
$ (cmake -DENABLE_SDL2:BOOL=false /path/to/citra; gmake)
[...]
[ 85%] Linking CXX executable tests
../common/libcommon.a(microprofile.cpp.o): In function `MicroProfileThreadStart(pthread**, void* (*)(void*))':
src/common/microprofile.cpp:(.text+0x41): undefined reference to `pthread_create'
c++: error: linker command failed with exit code 1 (use -v to see invocation)
2016-12-07 18:30:49 +00:00
bunnei 7da33afec8 Merge pull request #2232 from wwylele/other-save
FS: implement archives for other game save data
2016-12-07 10:17:02 -05:00
Subv fdf1d042e0 Use boost remove_erase_if instead of the erase-remove idiom 2016-12-06 19:31:53 -05:00
Subv bf232b89f3 Improved the algorithm for GetHighestPriorityReadyThread. 2016-12-06 19:15:32 -05:00
emmauss 4865993e6f Implement Frame rate limiter (#2223)
* implement frame limiter

* fixes
2016-12-06 14:33:19 -05:00
Jannik Vogel 869743d34c ASSERT that shader was linked successfully 2016-12-05 21:11:24 +01:00
Jannik Vogel d676c9a06f Report shader uniform block size in case of mismatch 2016-12-05 21:11:24 +01:00
Jannik Vogel d8142ae075 Print broken shader code to log 2016-12-05 21:11:24 +01:00
Subv 06b2b80d31 Return an error code when connecting to a saturated port.
The error code was taken from the 3DS kernel.
2016-12-05 13:59:57 -05:00
Subv 7eaf6faa7d HLE: Use a member variable instead of a virtual function to retrieve the max number of sessions that can be connected to an HLE service at the same time. 2016-12-05 13:44:41 -05:00
Jannik Vogel 305cc20144 gdbstub: Remove unused include 2016-12-05 19:09:16 +01:00
Jannik Vogel 19b1180952 Unify Windows ICON resource name 2016-12-05 19:09:16 +01:00
Jannik Vogel 89e57a3fb0 Support mingw cross-compile 2016-12-05 19:09:16 +01:00
Subv 708ece3fff Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, TranslateRequest and HandleSyncRequestImpl.
HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
2016-12-05 12:05:00 -05:00
Subv 728bb5f40b Kernel: Remove the Redirection handle type. 2016-12-05 11:13:22 -05:00
Subv 977039e722 KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it. 2016-12-05 11:02:08 -05:00
Subv 44c59feca6 Threading: Added some utility functions and const correctness. 2016-12-04 09:58:36 -05:00
Yuri Kunde Schlesner 6fb4f73dec GSP: Downgrade log severity of SetAxiConfigQoSMode
This function doesn't need to do anything for HLE and some games call it
quite often, spamming up the logs.
2016-12-04 06:14:27 -08:00
Yuri Kunde Schlesner 515096c197 OpenGL: Non-zero stride only makes sense for linear buffers 2016-12-04 06:14:27 -08:00
Yuri Kunde Schlesner 2271fa76fb OpenGL: Ensure framebuffer binding is restored if completion check fails 2016-12-04 06:14:27 -08:00
Yuri Kunde Schlesner f207da3a5a OpenGL: Fix DisplayTransfer accel when input width != output width
Fixes #2246, #2261
2016-12-04 05:21:57 -08:00
Yuri Kunde Schlesner 9b3739ebca Merge pull request #2259 from JayFoxRox/fix-fallback
shader_jit: Fix non-SSE4.1 path where FLR would not truncate
2016-12-03 22:11:39 -08:00
Subv 5bc10a74f6 Threading: Reworked the way our scheduler works.
Threads will now be awakened when the objects they're waiting on are signaled, instead of repeating the WaitSynchronization call every now and then.

The scheduler is now called once after every SVC call, and once after a thread is awakened from sleep by its timeout callback.

This new implementation is based off reverse-engineering of the real kernel.

See https://gist.github.com/Subv/02f29bd9f1e5deb7aceea1e8f019c8f4 for a more detailed description of how the real kernel handles rescheduling.
2016-12-03 22:38:14 -05:00
Jannik Vogel 3020767914 shader_jit: Fix non-SSE4.1 path where FLR would not truncate 2016-12-04 04:26:33 +01:00
Yuri Kunde Schlesner 90fd00648c clang-format: Fix coding style 2016-12-03 01:32:46 -08:00
Subv 4703561c9e Declare empty ServerSession and ClientSession constructors as default. 2016-12-02 22:58:02 -05:00
Jannik Vogel 62c76b4207 shader_jit: Load LOOPCOUNT_REG and LOOPINC 4 bit left-shifted 2016-12-02 04:33:15 +01:00
Subv 811d684274 Threads do not wait for the server endpoint to call AcceptSession before returning from a ConnectToPort or GetServiceHandle call. 2016-12-01 10:47:06 -05:00
Jannik Vogel 63e5851830 Remove unused version.h 2016-12-01 16:38:46 +01:00
Subv 4c4f50dfaf Fixed the rebase mistakes. 2016-11-30 23:28:31 -05:00
Subv 4f2326c8a9 A bit of a redesign.
Sessions and Ports are now detached from each other.
HLE services are handled by means of a SessionRequestHandler class, Interface now inherits from this class.
The File and Directory classes are no longer kernel objects, but SessionRequestHandlers instead, bound to a ServerSession when requested.
File::OpenLinkFile now creates a new session pair and binds the File instance to it.
2016-11-30 23:12:35 -05:00
Subv d2305d375f IPC/HLE: Associate the ClientSessions with their parent port's HLE interface if it exists.
Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
2016-11-30 23:04:00 -05:00
Subv edcacd7cdd Kernel/HLE: Service::Interface no longer inherits from any Kernel object, and is now its own standalone class.
Interface is now used by aggregation in ClientPort, to forward service commands to their HLE implementation if needed.
2016-11-30 23:03:59 -05:00
Subv 96df92e98f fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication. 2016-11-30 23:02:06 -05:00
Subv 302ef594a6 Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
All handles obtained via srv::GetServiceHandle or svcConnectToPort are references to ClientSessions.
Service modules will wait on the counterpart of those ClientSessions (Called ServerSessions) using svcReplyAndReceive or svcWaitSynchronization[1|N], and will be awoken when a SyncRequest is performed.

HLE Interfaces are now ClientPorts which override the HandleSyncRequest virtual member function to perform command handling immediately.
2016-11-30 23:02:05 -05:00
Yuri Kunde Schlesner 35c7f317cf Merge pull request #2228 from freiro/winver_fix
Move WINVER definition to cmake and a bit of cleanup
2016-11-30 15:47:08 -08:00
freiro 662d907aa7 WINVER definition moved to CMake and cleanup 2016-11-30 15:47:09 +01:00
Subv a485a04208 ClangFormat: Fixed the clang-format errors 2016-11-30 09:37:37 -05:00
mailwl 662aee1e1d Set client SDK version to Service APIs 2016-11-30 09:51:14 +03:00
Subv d16be9bdbd Build: Fixed a few warnings. 2016-11-29 16:51:53 -05:00
wwylele 1e4a1598fd FileSys: Implement OtherSaveData 2016-11-29 23:50:00 +02:00
wwylele e6de484ec3 FS: add missing MediaType 2016-11-29 23:50:00 +02:00
wwylele 37e9404489 FileSys: abstract SD save data archive source 2016-11-29 23:50:00 +02:00
Yuri Kunde Schlesner e8dec36ad5 Merge pull request #2196 from Subv/system_mode
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
2016-11-27 17:04:11 -08:00
Yuri Kunde Schlesner e3c19b1d04 Merge pull request #2222 from linkmauve/die-frameskip-die
Remove the broken frame_skip option
2016-11-27 16:01:45 -08:00
Sebastian Valle 6352bf702c Merge pull request #2132 from wwylele/fix-fs-err
Correct FS error codes & add path boundary checks
2016-11-27 18:56:56 -05:00
Subv 7adac27868 Kernel/Loader: Grab the system mode from the NCCH ExHeader.
3dsx and elf files default to system mode 2 (96MB allocated to the application).

This allows Home Menu to boot without modifications.
Closes #1849
2016-11-27 18:03:48 -05:00
Emmanuel Gil Peyrot 87d3afe635 GPU: Remove the broken frame_skip option.
Fixes #1960.
2016-11-27 21:19:56 +00:00
Subv 47603a64f1 RasterizerGL: Use GL_TRUE and 0xFF in the stencil and depth masks instead of simply true and -1 2016-11-27 13:09:11 -05:00
Subv d64661e40e Rasterizer/Memfill: Set the correct stencil write mask when clearing the stencil buffer. 2016-11-27 12:16:10 -05:00
Sebastian Valle 9d5e10abc6 Merge pull request #2168 from mailwl/mic
MIC_U: Stub service funcions
2016-11-27 00:19:33 -05:00
Yuri Kunde Schlesner 5984634d7b Merge pull request #2185 from freiro/local_folder
Change "user" folder default location to AppData/Roaming/ on Windows systems
2016-11-26 14:07:43 -08:00
freiro dba46c0b01 Move to AppData/Roaming/Citra/ 2016-11-26 22:57:36 +01:00
MerryMage eb5be59f9c dynarmic: Add ticks based on ticks executed, not ticks requested 2016-11-26 20:32:33 +00:00
freiro 0459aadcb5 Removed /user/ from path 2016-11-26 01:00:52 +01:00
mailwl 9ee8f9297c Output parameters to log 2016-11-25 09:37:20 +03:00
mailwl cdce7ca48b MIC_U: Stub service funcions 2016-11-25 09:37:19 +03:00
James Rowe 13888eac06 Expose page table to dynarmic for optimized reads and writes to the JIT 2016-11-24 20:41:18 -07:00
freiro f25ecd351d Switch to AppData/Roaming 2016-11-24 16:42:31 +01:00
jphalimi 5a580171b6 Cache Vertices instead of Output registers (#2165)
This patch brings +3% performance improvement on average. It removes
ToVertex() as an important hotspot of the emulator.
2016-11-23 23:10:34 -05:00
pippo2931 a92472e7c9 Bravely Default/Second stuck #1822 (#2188)
* Bravely Default/Second stuck #1822
CancelLibraryApplet stub

* Log parameter.

* Taking care of comments

* Sync with 3DBrew

* White space ?

* lower case
2016-11-23 22:57:56 -05:00
Yuri Kunde Schlesner b0119cde40 Merge pull request #2186 from wwylele/config9
cfg: add config block 0x00090000
2016-11-23 18:51:01 -08:00
Yuri Kunde Schlesner 2215a3dce4 Merge pull request #1654 from JamePeng/errdisp
Rework the code of err:f service!
2016-11-23 17:43:02 -08:00
wwylele 1db648c247 Fix format error from #2195 2016-11-22 20:17:28 +02:00
freiro f5b928c330 Improve verbosity of audio errors with SDL_GetError() 2016-11-22 17:28:11 +01:00
bunnei 8582c43510 Merge pull request #2195 from Subv/factor_check
GPU/CiTrace: Avoid calling GetTextures() when not necessary.
2016-11-19 22:21:11 -05:00
bunnei 98e23c3ba8 Merge pull request #2193 from Subv/pulse_events
Kernel/Events: Log an error when trying to create Pulse events and timers
2016-11-19 22:19:45 -05:00
Subv d00d0d61e0 Kernel/Loader: Grab the system mode from the NCCH ExHeader.
3dsx and elf files default to system mode 2 (96MB allocated to the application).

This allows Home Menu to boot without modifications.
Closes #1849
2016-11-19 20:40:04 -05:00
Sebastian Valle 0bd3b9e39a Merge pull request #2192 from Subv/applet_enums
APT/Applets: Renamed the members of the SignalType enum.
2016-11-19 20:30:26 -05:00
Subv 9ee95ffbec GPU/CiTrace: Avoid calling GetTextures() when not necessary. 2016-11-19 19:27:00 -05:00
James Rowe ece00e4600 Merge pull request #2194 from jroweboy/extremely-minor-clangformat-change
Minor formatting change
2016-11-19 13:51:14 -07:00
James Rowe 2d1eb1ae01 Minor formatting change 2016-11-19 13:35:07 -07:00
Subv bb93931096 Kernel/Events: Log an error when trying to create Pulse events and timers.
Related to #1904
2016-11-19 14:00:08 -05:00
Subv f33e1950b6 APT/Applets: Renamed the members of the SignalType enum.
Names now make sense and match 3dbrew.
2016-11-19 13:42:07 -05:00
wwylele 68dc34c32b tests: add a work-around for macOS linking error 2016-11-19 18:55:35 +02:00
wwylele 01964d37fb FileSys: rename SaveDataCheck archive to NCCH archive
According to the observation from game and 3dbrew "Used for accessing general NCCH data"
2016-11-19 18:55:35 +02:00
wwylele bfc699293f FileSys: remove unused DiskArchive
All "subclasses" of DiskArchive are splitted out. This class is useless
2016-11-19 18:55:34 +02:00
wwylele e41a1ff6da PTM & CFG: use the correct path and error code according to the new FileSys policy 2016-11-19 18:55:34 +02:00
wwylele 5506268bf6 FileSys: w->rw permission lift only happens in SDMC archive 2016-11-19 18:55:34 +02:00
wwylele a14bab3b8b FileSys: add SDMCWriteOnlyArchive 2016-11-19 18:55:34 +02:00
wwylele 76c8e607a4 FileSys: add SDMCArchive
Now DiskArchive only serves for SDMC, then it should be just a "SDMCArchive"
2016-11-19 18:24:37 +02:00
wwylele 4a80f45637 FileSys: add ExtSaveDataArchive
ExtSaveData is more similar to SaveData, so let it be a subclass of SaveData
2016-11-19 18:24:37 +02:00
wwylele 420091d0e5 FileSys: add SaveDataArchive
The error checking of SaveDataArchive is completely different from DiskArchive, so it has to be a new class instead of a subclass of DiskArchive.
2016-11-19 17:17:19 +02:00
wwylele 1e33d07b86 FileSys: remove Open from FileBackend
Same as directory, file shouldn't expose Open either.
2016-11-19 17:17:19 +02:00
wwylele 4675116401 FileSys: remove Open from DirectoryBackend
Open should not be an interface exposed by Directory because it is the Archive thats implement the methed to open the directory. The service API of 3DS also implies this - Open is not a function of directory service, but is of FS main service
2016-11-19 17:17:19 +02:00
wwylele 37d6cbc200 FileSys: add PathParser 2016-11-19 17:17:19 +02:00
freiro a3d3f96af9 Return by value and other fixes 2016-11-19 15:50:16 +01:00
freiro 92977a28a8 Win32 move default user folder location to AppData 2016-11-19 15:49:52 +01:00
wwylele 4fc15d830f cfg: add config block 0x00090000 2016-11-17 19:34:02 +02:00
bunnei c728fccd9e Merge pull request #2172 from jroweboy/fix-mingw
Fix mingw compilation support
2016-11-15 20:07:23 -05:00
bunnei 2210744ec7 Merge pull request #1753 from jroweboy/frame_layouts
Support additional screen layouts.
2016-11-15 19:57:08 -05:00
James Rowe f0dcbd3f73 Add mingw compile support 2016-11-13 23:50:46 -07:00
James Rowe 48d64ccad5 Round the rectangle size to prevent float to int casting issues
And other minor style changes
2016-11-12 10:49:47 -07:00
Pringo 3c7ada98c4 Minor Menu Fixes 2016-11-11 09:58:55 -08:00
James Rowe 72786d410e Add default hotkey to swap primary screens.
Also minor style changes
2016-11-05 03:46:43 -06:00
James Rowe 8e64c6c170 Rework frame layouts to use a max rectangle instead of hardcoded calculations 2016-11-05 02:55:58 -06:00
SonofUgly 345ca30c3a LargeFrameLayout + Swapped
Make small screen stay at 1x, and large screen maintain its aspect ratio.
2016-11-05 02:55:53 -06:00
James Rowe 08f830fed4 Support additional screen layouts.
Allows users to choose a single screen layout or a large screen layout.
Adds a configuration option to change the prominent screen.
2016-11-05 02:55:41 -06:00
mailwl 076afa2614 Style fix 2016-11-02 09:38:44 +03:00
mailwl 6b4d6e03f0 Rename AcConfig, change types u8 to u32 2016-11-02 09:38:44 +03:00
mailwl 3b92e6c3d9 AC_U: Stub functions, used if EULA agreed 2016-11-02 09:38:44 +03:00
wwylele 657bb716f7 FileSys: make Archive interfaces return error code
and make the mode parameter a reference since it is a BitField union
2016-11-01 18:30:32 +02:00
bunnei f01c907f3c Merge pull request #2126 from wwylele/stub-nwm
NWM: stub Initialize with an error
2016-10-31 16:16:12 -04:00
bunnei d76784ed0f Merge pull request #2123 from jbeich/freebsd
Fix build on DragonFly and FreeBSD
2016-10-31 15:33:39 -04:00
mailwl 14b159aa64 Small fix to let IDA see target.xml 2016-10-28 20:50:45 +03:00
Jan Beich 01f9251b53 build: add default install for DragonFly, Solaris, etc. 2016-10-27 23:28:30 +00:00
Jan Beich 914ca5ae70 core: some errno values are uncommon on Unix
src/core/hle/service/soc_u.cpp:107:6: error: 'ENODATA' was not declared in this scope
     {ENODATA, 43},
      ^
src/core/hle/service/soc_u.cpp:117:6: error: 'ENOSR' was not declared in this scope
     {ENOSR, 53},
      ^
src/core/hle/service/soc_u.cpp:118:6: error: 'ENOSTR' was not declared in this scope
     {ENOSTR, 54},
      ^
src/core/hle/service/soc_u.cpp:139:6: error: 'ETIME' was not declared in this scope
     {ETIME, 75},
      ^
2016-10-27 23:28:30 +00:00
Jan Beich e7c016ea8f common: use system bswap* functions on more BSDs 2016-10-27 23:28:30 +00:00
Jan Beich 6ddc8b49ff common: use system CPUID routine on DragonFly as well 2016-10-27 23:28:30 +00:00
Jan Beich 8e5d3f77fb common: some FreeBSD headers are incomplete to avoid namespace pollution
In file included from src/common/x64/cpu_detect.cpp:16:
/usr/include/machine/cpufunc.h:66:17: error: unknown type name 'u_int'
static __inline u_int
                ^
/usr/include/machine/cpufunc.h:67:6: error: unknown type name 'u_int'
bsfl(u_int mask)
     ^
/usr/include/machine/cpufunc.h:69:2: error: unknown type name 'u_int'
        u_int   result;
        ^
/usr/include/machine/cpufunc.h:75:17: error: unknown type name 'u_long'; did you mean 'long'?
static __inline u_long
                ^
/usr/include/machine/cpufunc.h:76:6: error: unknown type name 'u_long'; did you mean 'long'?
bsfq(u_long mask)
     ^
/usr/include/machine/cpufunc.h:78:2: error: use of undeclared identifier 'u_long'; did you mean
      'long'?
        u_long  result;
        ^
[...]
2016-10-27 23:28:30 +00:00
Anthony J. Bentley f78b6cd433 common: convert to standard stat()/fstat() interfaces
Most modern Unix environments use 64-bit off_t by default: OpenBSD,
FreeBSD, OS X, and Linux libc implementations such as Musl.

glibc is the lone exception; it can default to 32 bits but this is
configurable by setting _FILE_OFFSET_BITS.

Avoiding the stat64()/fstat64() interfaces is desirable because they
are nonstandard and not implemented on many systems (including
OpenBSD and FreeBSD), and using 64 bits for stat()/fstat() is either
the default or trivial to set up.
2016-10-27 23:28:30 +00:00
Jan Beich dbc84319b8 common: stat64 is non-standard, hide on a random Unix
src/common/file_util.cpp:79:19: error: variable has incomplete type 'struct stat64'
    struct stat64 file_info;
                  ^
src/common/file_util.cpp:79:12: note: forward declaration of 'stat64'
    struct stat64 file_info;
           ^
src/common/file_util.cpp:99:19: error: variable has incomplete type 'struct stat64'
    struct stat64 file_info;
                  ^
src/common/file_util.cpp:99:12: note: forward declaration of 'stat64'
    struct stat64 file_info;
           ^
src/common/file_util.cpp:342:19: error: variable has incomplete type 'struct stat64'
    struct stat64 buf;
                  ^
src/common/file_util.cpp:342:12: note: forward declaration of 'stat64'
    struct stat64 buf;
           ^
src/common/file_util.cpp:359:19: error: variable has incomplete type 'struct stat64'
    struct stat64 buf;
                  ^
src/common/file_util.cpp:359:12: note: forward declaration of 'stat64'
    struct stat64 buf;
           ^
4 errors generated.
2016-10-27 23:28:29 +00:00
Jan Beich 90ac6468bb common: only FreeBSD has thread affinity compatible with Linux
src/common/thread.cpp:90:5: error: unknown type name 'cpu_set_t'; did you mean 'cpuset_t'?
    cpu_set_t cpu_set;
    ^~~~~~~~~
    cpuset_t
/usr/include/sys/_cpuset.h:48:24: note: 'cpuset_t' declared here
typedef struct _cpuset cpuset_t;
                       ^
1 error generated.
2016-10-27 23:28:29 +00:00
Jan Beich a1497619eb common: define routines to set thread name on more BSDs
src/common/thread.cpp:123:5: error: use of undeclared identifier 'pthread_setname_np'
    pthread_setname_np(pthread_self(), szThreadName);
    ^
1 error generated.
2016-10-27 23:28:29 +00:00
mailwl 715d981403 FRD: fix GetMyFriendKey 2016-10-25 09:54:29 +03:00
Ricardo de Almeida Gonzaga 07fdcf150d Fix typos 2016-10-20 12:26:59 -02:00
wwylele 9ef5b9604b NWM: stub Initialize with an error 2016-10-12 22:33:44 +08:00
bunnei 0486aa3e8b Merge pull request #2024 from JamePeng/update-boss-code
Update the stub code of BOSS
2016-10-07 23:02:39 -04:00
bunnei d3aba2efa8 Merge pull request #2082 from yuriks/shader-interp-crash
Fix/mask crash in shader debugger in Mii Maker
2016-10-06 19:35:37 -04:00
JamePeng 876bd2daa8 Rework the code of err:f service 2016-10-06 21:03:12 +08:00
bunnei 79c5d3c2fb Merge pull request #1652 from wwylele/kernal-tool
Debugger: implement wait tree widget
2016-10-04 23:01:56 -04:00
bunnei f28267c100 Merge pull request #2106 from wwylele/delete-recursive
FS: implement DeleteDirectoryRecursively
2016-10-03 20:34:56 -04:00
bunnei 2c18a725be Merge pull request #2103 from wwylele/gpu-reg-cleanup
GPU: DisplayTransfer & MemoryFill cleanup and param check
2016-10-03 20:21:55 -04:00
JamePeng 97d9804d97 Update the stub code of BOSS 2016-10-02 17:36:57 +08:00
wwylele a1a4d92f19 fs: clean up log format 2016-10-02 12:39:28 +08:00
wwylele b2fa64ec75 fs: implement DeleteDirectoryRecursively 2016-10-02 11:29:16 +08:00
Yuri Kunde Schlesner d4bcba2ca1 VideoCore: Shader interpreter cleanups 2016-09-29 21:15:49 -07:00
Yuri Kunde Schlesner 1de9e185af Common: Remove dangerous Vec[234] array constructors
They're not currently used, and it's easy to accidentally pass a single
pointer argument to them, causing an out-of-bounds read.
2016-09-29 21:11:36 -07:00
Yuri Kunde Schlesner 7872ec7cc3 VideoCore: Fix out-of-bounds read in ShaderSetup::ProduceDebugInfo
As far as I can tell, memset was replaced by a fill without correcting
the parameter type, causing an out-of-bounds array read in the Vec4
constructor.
2016-09-29 21:11:36 -07:00
Yuri Kunde Schlesner e72584084e OpenGL: Take cached viewport sub-rect into account for scissor
Fixes #1938
2016-09-29 20:55:24 -07:00
wwylele ef9319842c gpu: DisplayTransfer: a less amazing algorithm for flip
the old implementation modifies the loop variable in the loop. Though it actually works, it is really confusing. Makes it morereadable now.
2016-09-29 10:01:34 +08:00
wwylele 2c0cc232fa gpu: keep the old signal strategy for null pointer
previous commits changes the behaviour of interrupt when meeting invalid params. Regresses to the same behaviour as before
needs more hwtest
2016-09-29 10:01:34 +08:00
wwylele ff4fe1df8f gpu: add validity check for TextureCopy, DisplayTransfer and FillMemory
prevent further operation with invalid values which may cause assertion failure or divided by zero.
needs more hwtest
2016-09-29 10:01:34 +08:00
wwylele 7dcbdc4c43 memory: fix IsValidVirtualAddress for RasterizerCachedMemory
RasterizerCachedMemory doesn't has pointer but should be considered as valid
2016-09-29 10:01:34 +08:00
wwylele 287ec158ed gpu: move MemoryFill, TextureCopy and DisplayTransfer into functions
The old code indented too much to read. Split into functions and do general cleanup.
2016-09-29 10:01:34 +08:00
wwylele 4d867489a4 rasterizer: separate TextureCopy from DisplayTransfer 2016-09-29 10:01:34 +08:00
wwylele e46c564f76 qt: shutdown system if error 2016-09-22 16:40:33 +08:00
wwylele 1dedb87851 move ResetType to kernel.h 2016-09-22 13:52:52 +08:00
wwylele d1d4b24f76 name objects 2016-09-22 13:52:52 +08:00
wwylele 8b25c12ce8 implement wait tree widget 2016-09-22 13:52:52 +08:00
Yuri Kunde Schlesner 32bddfa1f5 Remove special rules for Windows.h and library includes 2016-09-21 00:16:33 -07:00
Yuri Kunde Schlesner fa5d9d8266 Use negative priorities to avoid special-casing the self-include 2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot 1138ec0d49 Remove empty newlines in #include blocks.
This makes clang-format useful on those.

Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
Yuri Kunde Schlesner 1e4a5da9f4 Manually tweak source formatting and then re-run clang-format 2016-09-18 21:14:25 -07:00
Yuri Kunde Schlesner 5288648a23 Tweak formatting settings 2016-09-18 21:13:38 -07:00
Emmanuel Gil Peyrot 628ed4376a Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
Emmanuel Gil Peyrot b26517b08c Dyncom: Disable clang-format on the decoding table. 2016-09-18 09:36:57 +09:00
Emmanuel Gil Peyrot c2b031b928 Sources: Add a .clang-format configuration file. 2016-09-18 09:36:55 +09:00
Yuri Kunde Schlesner 300e68c5df VideoCore: Fix dangling lambda context in shader interpreter
The static meant that after the first execution, these lambda context
would be pointing to a random location on the stack. Fixes a random
crash when using the interpreter.
2016-09-15 22:15:11 -07:00
bunnei 45bc24774f arm_dynarmic: Implement GetVFPSystemReg/SetVFPSystemReg. 2016-09-15 17:58:06 -04:00
bunnei 139dceacb2 microprofile: Double buffer size to 16MB. 2016-09-15 17:49:31 -04:00
bunnei acdc361fc0 arm: ResetContext shouldn't be part of ARM_Interface. 2016-09-15 17:49:30 -04:00
bunnei 5a7c1e9b5d arm_dynarmic/arm_dyncom: Remove unnecessary "virtual" keyword. 2016-09-15 17:49:30 -04:00
bunnei 5cf4dd301d dyncom: Use VFP_FPSCR/VFP_FPEXC. 2016-09-15 17:49:29 -04:00
bunnei 230c55daa9 qt: Add UI configuration option to enable CPU JIT. 2016-09-15 17:49:28 -04:00
bunnei 678aa9b0f0 core: Add configuration option for CPU JIT. 2016-09-15 17:49:27 -04:00
bunnei f1072aa569 dynarmic: Implement ARM CPU interface. 2016-09-15 17:49:26 -04:00
Yuri Kunde Schlesner cef3c7fccc Merge pull request #2064 from linkmauve/remove-readdir_r
Switch to readdir() from readdir_r()
2016-09-13 10:54:42 -07:00
Emmanuel Gil Peyrot 721bb69d6e Common: readdir_r() is deprecated, switch to readdir(). 2016-09-13 22:11:23 +09:00
wwylele 53f72f198f Qt: fix birthday combo box updating 2016-09-13 16:15:42 +08:00
MerryMage de4fa45fb5 audio_core: Tweak audio latency 2016-09-07 15:27:32 +01:00
Yuri Kunde Schlesner 61b84257ae Merge pull request #2050 from MerryMage/adpcm
codec: Fix ADPCM distortion caused by incorrect nibble order
2016-09-03 12:37:44 -07:00
fincs 61bde9974b codec: Fix ADPCM distortion caused by incorrect nibble order
Closes #2049.

Signed-off-by: MerryMage <MerryMage@users.noreply.github.com>
2016-09-03 14:06:25 +01:00
wwylele e64309bac9 Qt: unify running detection 2016-09-02 20:18:45 +08:00
bunnei fe9d040a82 Merge pull request #2032 from bunnei/qt-graphics
Qt graphics configure & V-Sync option
2016-08-31 22:20:54 -04:00
bunnei da4e6eb4b5 qt: Rename all "toogle" to "toggle". 2016-08-31 22:12:20 -04:00
MerryMage 0984c45a3f configure_audio: User-configuratble option to enable/disable audio stretching 2016-08-31 16:59:37 +01:00
MerryMage 96febf8f85 audio_core: Add EnableStretching to interface so that one can toggle stretching on and off 2016-08-31 16:56:30 +01:00
MerryMage 559ca8ae8a sink: Change EnqueueSamples to take a pointer to a buffer instead of a std::vector 2016-08-31 16:55:10 +01:00
Jannik Vogel e22a00f35f OpenGL: Avoid error on unsupported lighting LUT 2016-08-30 19:30:26 +02:00
bunnei c12841c714 Merge pull request #2023 from yuriks/autobase-bcfnt
Auto-detect original shared_font.bin memory base
2016-08-30 09:26:38 -04:00
bunnei 232ecb7666 qt: Add an option to settings for enabling V-Sync. 2016-08-29 21:42:33 -04:00
bunnei fb0d00db47 qt: Recreate GL context on startup to support changing V-Sync. 2016-08-29 21:42:32 -04:00
bunnei e3672db866 system: Add a function to see if the emulator is running. 2016-08-29 21:42:31 -04:00
bunnei cfefb55db2 config: Add a setting for graphics V-Sync. 2016-08-29 21:42:30 -04:00
bunnei 2d64553023 qt: Add a configuration tab for Graphics and move relevant fields. 2016-08-29 21:42:29 -04:00
Yuri Kunde Schlesner 88ba584975 Merge pull request #1948 from wwylele/cro++
Implemented CRO
2016-08-28 22:21:24 -07:00
Yuri Kunde Schlesner 743c85eb94 Merge pull request #1987 from Lectem/ipcdescriptors
fix #1942 and add a few IPC functions for descriptors
2016-08-27 09:58:35 -07:00
wwylele 901e7157e3 LDR: Implement CRO 2016-08-27 21:38:06 +08:00
wwylele 913472e010 ARM: add ClearInstructionCache function 2016-08-27 21:38:06 +08:00
wwylele 3008911345 Memory: add ReadCString function 2016-08-27 21:38:06 +08:00
Yuri Kunde Schlesner a0d0aa24be Auto-detect original shared_font.bin memory base
This allows a file dumped from either an o3DS or a n3DS (and potentially
even an original unrebased file) to be used.
2016-08-27 01:04:26 -07:00
MerryMage abe5d64fd6 dyncom: Read-after-write in SMLA
In the case when RD === RN, RD was updated before AddOverflow was called
to check for an overflow, resulting in an incorrect state of the Q flag.
2016-08-22 15:13:33 +01:00
bunnei c122148bd4 citra: Default to HW renderer. 2016-08-15 23:30:02 -04:00
MerryMage 0da5e44c89 Dyncom: Correct implementation of STM for R15 2016-08-14 00:49:34 +01:00
Lectem 7df4925923 fix #1942 and adds a few IPC functions for descriptors 2016-08-02 16:45:15 +02:00
Anon 9e4923c36c Input GUI: Add tab to remap controls (#1900) 2016-07-29 08:45:49 -04:00
bunnei 1d27e68bd6 Merge pull request #1950 from JamePeng/fix-apt-0x0055004-and-0x00560000
Correct APT::0x00550040 and APT::0x00560000 function
2016-07-28 20:50:49 -04:00
Henrik Rydgard 58e61fa817 Instead of segfaulting, log an error to remind the user to dump the shared font file 2016-07-28 21:47:57 +02:00
bunnei e249b4a5ef Merge pull request #1959 from MerryMage/revsh-upstream
dyncom: Fix translation of thumb REVSH
2016-07-28 08:43:51 -04:00
MerryMage a7711eaf4f dyncom: Fix translation of thumb REVSH 2016-07-28 11:51:29 +01:00
bunnei e43f8c1fdc Merge pull request #1966 from dwhinham/info_plist_fix
CMake: Fix Info.plist template for citra_qt/OSX
2016-07-26 15:14:48 -04:00
Alexandre LittleWhite Laurent bfc9c4e48f Protection against a resize of size 0 2016-07-23 21:02:05 +02:00
wwylele 9abf787fed CoreTiming: avoid overflow 2016-07-23 14:30:23 +03:00
wwylele eaf9f27128 HLE: implement system time 2016-07-23 14:30:23 +03:00
Dale Whinham f5cd8a3eac CMake: Fix Info.plist template for citra_qt/OSX
The Info.plist template incorrectly uses parentheses instead of curly braces,
which means that building the .app bundle using regular 'make' results in the
variable not being replaced, and hence the app bundle won't start because the
executable name is incorrect.

This commit fixes this issue.
2016-07-21 21:33:54 +01:00
JamePeng 24ff9f557a Correct APT::0x00550040 and APT::0x00560000 function 2016-07-15 19:47:01 +08:00
bunnei 0102b0ac82 Merge pull request #1890 from LFsWang/fix-encode-problem
Fix boot_filename encode on Windows
2016-07-14 22:25:52 -04:00
Yuri Kunde Schlesner 7b50bcee79 Merge pull request #1894 from wwylele/set-config-block
Implement config savegame editing & clean up
2016-07-09 20:39:19 -07:00
wwylele 031589a960 Qt: add system settings config tab 2016-07-10 06:22:38 +03:00
bunnei 5c3394ba22 Merge pull request #1940 from JamePeng/fix-archive-error-code
Fix the errorcode of archive handle
2016-07-06 18:37:43 -04:00
Sebastian Valle 02f3161c48 Merge pull request #1921 from Subv/fs_funcs
HLE/FS: Document some command parameters and implemented command 0x08560240
2016-07-05 14:45:40 -07:00
JamePeng c7d5fee7fb Fix the errorcode of archive handle 2016-07-05 00:39:09 +08:00
mailwl 367f5dc215 HLE/Applets: Implement ErrEula applet 2016-07-04 09:54:51 +03:00
Subv e5bc6593a3 HLE/FS: Document some command parameters and implemented command 0x08560240 (CreateLegacySystemSaveData) 2016-07-03 13:42:52 -05:00
Sebastian Valle c961b73823 Merge pull request #1935 from wwylele/fix-result-module
Result: Update the ErrorModule enum
2016-07-03 07:24:29 -07:00
wwylele 5489701b38 Service::CFG/FS: add and refactor out utilities for front-end 2016-07-03 08:23:59 +03:00
wwylele 9f0ad67398 Service::CFG: move known block ID to an enum 2016-07-03 08:23:59 +03:00
wwylele e8231e3594 Service::CFG: add SetConfigInfoBlk4 2016-07-03 08:23:58 +03:00
Yuri Kunde Schlesner 287807b43c Merge pull request #1933 from yuriks/scissor
PICA: Implement scissor test
2016-07-02 02:18:46 -07:00
wwylele 340c64dbbe Service::CFG: add missing language 2016-07-02 11:44:25 +03:00
wwylele f4156c0f09 Service::CFG: name sound output modes 2016-07-02 11:44:25 +03:00
wwylele ce3e33ef50 Result: fix and update ErrorModule 2016-06-30 11:26:53 +03:00
Yuri Kunde Schlesner 6bc2f3e2a8 Merge pull request #1869 from wwylele/dont-be-lazy
Switch context to the same thread if necessary
2016-06-28 21:03:52 -07:00
bunnei 2270d7b0f0 Merge pull request #1867 from mailwl/srv-update
srv: Update according 3dbrew
2016-06-28 18:53:10 -04:00
Yuri Kunde Schlesner 8e13889337 OpenGL: Add scaled resolution support to scissor 2016-06-27 22:16:04 -07:00
Yuri Kunde Schlesner e1b005a568 PICA: Scissor fixes and cleanups 2016-06-27 21:14:39 -07:00
Subv 4a9e0e5430 PICA: Implement scissor test 2016-06-27 21:14:13 -07:00
scurest de4705914d Remove superfluous std::move in return std::move(local_var) 2016-06-25 13:26:21 -05:00
bunnei 835b9a4cff Merge pull request #1923 from yuriks/fix-recursive
Fix recursive scanning of directories
2016-06-22 16:27:12 -04:00
Yuri Kunde Schlesner 8e468474ab Fix recursive scanning of directories
ForeachDirectoryEntry didn't actually do anything with the `recursive`
parameter, and the corresponding callback parameter was shadowing the
actual recursion counters in the user functions.
2016-06-19 00:12:15 -07:00
Yuri Kunde Schlesner 6a35762dec Qt: Fix MicroProfile dpi scaling 2016-06-18 23:37:09 -07:00
bunnei 198562daa9 Merge pull request #1877 from wwylele/wait-fix-timeout
Thread: update timeout when reruning WaitSynch
2016-06-18 01:08:22 -04:00
bunnei d699c457af Merge pull request #1898 from archshift/interpreter-split-take2
Refactor arm_dyncom_interpreter into several files (take 2)
2016-06-16 14:47:55 -04:00
bunnei 4842f01487 Merge pull request #1875 from JayFoxRox/fog
Implement standard fog (fog mode 5)
2016-06-15 17:55:36 -04:00
archshift b1f3ae6056 Make arm_dyncom_trans* into a fully fledged compilation unit 2016-06-12 01:54:45 -07:00
archshift 3b371f5816 arm_dyncom_interpreter: slightly change AllocBuffer to be intuitive 2016-06-12 00:31:52 -07:00
bunnei 29f66ef6b9 Merge pull request #1842 from Subv/ports
Kernel: Added ClientPort and ServerPort classes, along with svcCreatePort.
2016-06-11 22:46:35 -04:00
Subv a350b5274f Kernel/SVC: Implemented svcCreatePort. 2016-06-11 08:37:37 -05:00
wwylele 6cc4c40241 hid: add missing header 2016-06-11 08:45:29 +03:00
Mat M fbfab3de59 Merge pull request #1897 from linkmauve/sdl2-config-fix
SDL2: Add forgotten default config changes from 493a777880
2016-06-10 22:38:51 -04:00
bunnei 80ca5c518d Merge pull request #1789 from wwylele/input-refactor
Refactor input mapping & implement circle pad modifier
2016-06-10 22:28:58 -04:00
archshift 090a9166fc arm_dyncom_interpreter: Add specialized GetAddressingOpLoadStoreT func
This allows us to get the addressing operation for STRT, LDRT, STRBT,
and LDRBT. We do this so that translation functions don't need to
see the addressing ops directly.
2016-06-10 18:45:48 -07:00
archshift 39e3e9c2d9 arm_dyncom_interpreter: rename operation functions to fit style guide 2016-06-10 18:42:08 -07:00
archshift 31b8dc0ca4 arm_dyncom_interpreter: Rename anonymous enum to TransExtData 2016-06-10 18:35:57 -07:00
archshift 5bf480bf56 arm_dyncom_interpreter.cpp: #include translation info from inc files 2016-06-10 18:25:30 -07:00
Emmanuel Gil Peyrot 6367a7b90f SDL2: Add forgotten default config changes from 493a777880. 2016-06-11 02:19:51 +01:00
archshift d05fcfa487 Revert "Split huge interpreter source file into translation info and interpreter (+ some tiny misc style fixes)" 2016-06-10 17:41:15 -07:00
archshift 65d5333ef6 arm_dyncom_interpreter: rename operation functions to fit style guide 2016-06-08 21:03:49 -07:00
archshift db6bb1477e arm_dyncom_interpreter.cpp: Split by translation and interpreter logic
To facilitate the split, some small changes were made to names of
various structures and functions.
2016-06-08 20:59:24 -07:00
shinyquagsire23 c09f249f90 gdbstub: E0 should be E00 2016-06-08 14:14:59 -07:00
LFsWang 8f2cb5559a Fix boot_filename encode on Windows 2016-06-08 13:53:41 +08:00
bunnei 51ce700c23 Merge pull request #1765 from JayFoxRox/debug-surface-viewer
Debugger: Pica surface viewer
2016-06-07 18:26:24 -04:00
Jannik Vogel 41b823a637 OpenGL: Implement fog 2016-06-07 00:06:28 +02:00
Jannik Vogel 528b4ba2a7 Rasterizer: Implement fog 2016-06-07 00:06:28 +02:00
Jannik Vogel 0d7d513c54 Pica: Add fog state 2016-06-07 00:06:28 +02:00
Jannik Vogel 9a3c245750 OpenGL: Avoid undefined behaviour for UNIFORM_BLOCK_DATA_SIZE 2016-06-07 00:06:28 +02:00
bunnei d905e431e9 Merge pull request #1873 from archshift/remove-config
Remove unused and bitrotted "controller config" files
2016-06-06 17:44:01 -04:00
Subv d5f8d90e34 Kernel: Added ClientPort and ServerPort classes.
This is part of an ongoing effort to implement support for multiple processes.
2016-06-05 09:35:31 -05:00
Lioncash 27d37be329 service: Add other DLP services
Specifically, dlp::CLNT and dlp::FKCL

Moves them to their own folder like with other services.
2016-06-04 19:43:33 -04:00
wwylele 1cef298ca9 Thread: update timeout when rerunning WaitSynch 2016-06-04 09:27:16 +03:00
bunnei f3ca52854e Merge pull request #1863 from mailwl/gpu-threadid-reset
gsp::gpu: Reset g_thread_id in UnregisterInterruptRelayQueue
2016-06-02 21:33:06 -04:00
archshift a06b347518 Remove unused and bitrotted "controller config" files 2016-06-01 20:53:38 -07:00
mailwl ee188dbdc6 gsp::gpu: Reset g_thread_id in UnregisterInterruptRelayQueue 2016-06-01 09:40:15 +03:00
LFsWang afcac8ad30 AddFstEntriesToGameList - prevent loading a directory 2016-06-01 14:04:58 +08:00
bunnei e88a0206f1 Merge pull request #1812 from JayFoxRox/refactor-shader
Retrieve shader result from new OutputRegisters-type
2016-05-31 18:12:56 -04:00
mailwl 1aceb1b912 Fix parameter name in EnableNotification 2016-05-31 10:06:00 +03:00
mailwl 1a6c967927 Fix mistakes, add output header codes 2016-05-31 10:06:00 +03:00
mailwl 3457cc52e4 remove ugly function 2016-05-31 10:06:00 +03:00
mailwl ed74a60f41 srv: Update according 3dbrew 2016-05-31 10:06:00 +03:00
bunnei f4edff9d5d Merge pull request #1751 from linkmauve/no-recursive-readdir
Make recursive FileUtil functions take a maximum recursion
2016-05-30 20:59:10 -04:00
wwylele 5e5f9b099a Switch context on the same thread if necessary 2016-05-30 07:34:53 +03:00
bunnei ea512df6da Merge pull request #1692 from Subv/rm_getpointer2
Memory: Remove most usages of GetPointer
2016-05-29 21:57:07 -04:00
bunnei 87b6cde100 Merge pull request #1756 from wwylele/config-cleanup
Config block: clean up
2016-05-28 20:42:17 -04:00
Subv b502c2e4d0 Memory: Handle RasterizerCachedMemory and RasterizerCachedSpecial page types in the memory block manipulation functions. 2016-05-28 13:52:50 -05:00
Subv 9d36016350 Memory: Make ReadBlock and WriteBlock accept void pointers. 2016-05-28 13:52:49 -05:00
Subv 86dc841611 SOC_U: Remove usage of GetPointer 2016-05-28 13:52:49 -05:00
MerryMage f9568d9ee2 SSL_C: Remove use of Memory::GetPointer 2016-05-28 13:52:48 -05:00
MerryMage 3f8fdddd22 GSP_GPU: Remove use of Memory::GetPointer 2016-05-28 13:52:47 -05:00
MerryMage c3ad268edc Memory: CopyBlock 2016-05-28 13:44:49 -05:00
MerryMage e0ee10c3e9 DSP_DSP: Remove use of Memory::GetPointer 2016-05-28 13:44:49 -05:00
MerryMage dfe7263cd4 FS/Archive: Remove use of Memory::GetPointer 2016-05-28 13:44:44 -05:00
bunnei acbc48f718 Merge pull request #1857 from MerryMage/rotr-rotl
common_funcs: Provide rotr and rotl for MSVC
2016-05-27 20:50:22 -04:00
MerryMage b7b02d0177 common_funcs: Provide rotr and rotl for MSVC 2016-05-27 10:42:06 +01:00
Mat M c59b338a39 Merge pull request #1568 from JayFoxRox/fix-printf
Fix ftoi and disable VFPv3
2016-05-26 19:03:00 -04:00
bunnei 0109d2fa36 Merge pull request #1810 from JayFoxRox/fix-float-exceptions
Fix float exceptions
2016-05-26 18:28:00 -04:00
bunnei a11ee72171 Merge pull request #1846 from JayFoxRox/missing-dirty-lighting
OpenGL: Set shader_dirty on lighting changes
2016-05-26 17:35:12 -04:00
Mat M 3a55dfa4b2 Merge pull request #1855 from MerryMage/memory-headers-20160526
Memory: Added necessary headers and removed unnecessary header
2016-05-26 14:19:31 -04:00
MerryMage 1d3892255d Memory: Added necessary headers and removed unnecessary header 2016-05-26 18:55:37 +01:00
bunnei 60b4545493 Merge pull request #1817 from linkmauve/smdh-stuff
Improve SMDH support in loaders and frontends
2016-05-25 16:40:36 -04:00
bunnei 588e3c253f New3DS: Minor style cleanup to #1520. 2016-05-24 17:24:11 -04:00
bunnei a465aaaa54 Merge pull request #1520 from JamePeng/checknew3ds
Implement CheckNew3DS and CheckNew3DSApp
2016-05-24 17:19:26 -04:00
bunnei cf069f5234 Merge pull request #1733 from lioncash/vert_loader
VertexLoader: Minor changes
2016-05-23 21:13:34 -04:00
Jannik Vogel e00b2fbcc2 OpenGL: Set shader_dirty on lighting changes 2016-05-23 23:28:13 +02:00
Jannik Vogel d18118b305 Pica: Name LightSrc.config register 2016-05-23 23:28:13 +02:00
Jannik Vogel 16a0830caa Pica: Name lighting.config0 and .config1 registers 2016-05-23 23:28:13 +02:00
Jannik Vogel be4a423c19 OpenGL: Use uniforms for dist_atten_bias and dist_atten_scale 2016-05-23 23:28:13 +02:00
bunnei 9dd735a241 Merge pull request #1837 from wwylele/sync-trap
SVC::WaitSynchronizationN: Reschedule at the end
2016-05-22 20:07:20 -04:00
Emmanuel Gil Peyrot 3272e30eec Loader: Split SMDH into its own header and import helpers from QGameList
Also rewrite Qt wrappers to use those.
2016-05-21 20:15:42 +01:00
MerryMage 30700dfdaf CFG: Remove use of Memory::GetPointer 2016-05-21 11:14:13 -05:00
MerryMage 44dc46d5e1 APT: Remove use of Memory::GetPointer 2016-05-21 11:14:12 -05:00
MerryMage 0352176f4c Kernel/Thread: Remove use of Memory::GetPointer 2016-05-21 11:14:11 -05:00
MerryMage d4cff12856 Applets/swkdb: Remove use of Memory::GetPointer 2016-05-21 11:14:10 -05:00
MerryMage 73cc880444 Memory: ZeroBlock 2016-05-21 11:14:09 -05:00
MerryMage 4ed7963687 FileSys/Path: Replace Memory::GetPointer with Memory::ReadBlock 2016-05-21 11:14:03 -05:00
MerryMage cbb1b25fe0 Debugger/Callstack: Replace Memory::GetPointer with Memory::IsValidVirtualAddress 2016-05-21 11:12:38 -05:00
MerryMage c1c78c27c2 Memory: ReadBlock/WriteBlock 2016-05-21 11:12:36 -05:00
MerryMage b6feee037b Memory: IsValidVirtualAddress/IsValidPhysicalAddress 2016-05-21 11:12:35 -05:00
Emmanuel Gil Peyrot e52461f648 CitraQt: Simplify the game list loader code 2016-05-21 17:09:59 +01:00
Emmanuel Gil Peyrot 85a4eea460 Loader: Add a GetFileType method to get the type of a loaded file 2016-05-21 17:09:59 +01:00
Emmanuel Gil Peyrot b0095b9584 Loader, Frontends: Refactor loader creation and game loading
This allows frontends to keep a single loader and use it multiple times
e.g. for code loading and SMDH parsing.
2016-05-21 17:09:56 +01:00
Emmanuel Gil Peyrot 97e8c6c845 Common: Make recursive FileUtil functions take a maximum recursion
Fixes #1115.

Also improves the performances of DiskArchive’s directory
implementation a lot, simply by not going through the entire tree
instead of just listing the first level files.

Thanks to JayRoxFox for rebasing this on current master!
2016-05-21 16:41:02 +01:00
wwylele a9073da0fd SVC::WaitSynchronizationN: Reschedule at the end 2016-05-21 18:29:38 +03:00
bunnei edb77c55ed Merge pull request #1564 from MerryMage/this-is-only-a-test
tests: Infrastructure for unit tests
2016-05-21 10:15:13 -04:00
Jannik Vogel 4511a8505d Refactor Tev stage dumper 2016-05-21 03:11:27 +02:00
Jannik Vogel 79369e240a Extend Tev stage dumper 2016-05-21 03:08:59 +02:00
James Rowe 44d7dc9cb1 Config: Restore previously selected audio sink option (#1824) 2016-05-20 20:37:34 +02:00
bunnei 0133bc5d6d Merge pull request #1797 from MerryMage/audio-mixer
DSP/HLE: Implement mixer processing
2016-05-19 18:11:14 -04:00
MerryMage df2d284556 Tests: Run tests on CI 2016-05-19 19:28:08 +01:00
MerryMage 9d9970fba9 tests: Infrastructure for unit tests 2016-05-19 08:38:03 +01:00
MerryMage ba0f27c797 DSP/HLE: Audio output 2016-05-19 07:25:26 +01:00
MerryMage 8a1bd3ee7a DSP/HLE: Implement mixer processing 2016-05-19 07:24:39 +01:00
bunnei d83ae8ff62 Merge pull request #1785 from MerryMage/mp-dpi
Microprofile: DPI-aware drawing
2016-05-18 18:03:59 -04:00
Maribel 3172c8cdad Config: Audio sink configuration (#1798) 2016-05-18 18:01:03 -04:00
Jannik Vogel 7d2670f08e Remove `exceptions` parameter from `normaliseround` VFP functions 2016-05-18 16:28:13 +02:00
Jannik Vogel 053fb90466 Fix exception propagation for VFP single precision 2016-05-18 15:24:42 +02:00
Jannik Vogel afa5e151e8 Fix exception propagation for VFP double precision 2016-05-18 15:24:42 +02:00
Jannik Vogel 128981cf3c Fix read-after-write in SMUAD, SMLAD, SMUSD, SMLSD 2016-05-18 14:03:02 +02:00
András Domonkos af04290f90 Update ACT:U and create ACT:A (#1809)
* Update ACT_U
* Create act_a.h
* Create act_a.cpp
* Add service ACT:A
* Add ACT:A source and header
* Fix wrong header
2016-05-17 21:28:25 -04:00
bunnei 79da3c3d83 Merge pull request #1800 from JayFoxRox/set-fpscr
Set fpscr for new threads
2016-05-17 21:24:57 -04:00
Jannik Vogel f39adfffe7 Set fpscr for new threads 2016-05-17 08:59:52 +02:00
bunnei 71102889c0 Merge pull request #1786 from JayFoxRox/blend-equation
OpenGL: Support blend equation
2016-05-16 20:00:21 -04:00
Jannik Vogel df3eeea302 Retrieve shader result from new OutputRegisters-type 2016-05-16 18:55:51 +02:00
linkmauve fd368f6138 Merge pull request #1787 from JayFoxRox/refactor-jit
Refactor JIT
2016-05-16 17:54:45 +01:00
Jannik Vogel cc6731695e Fix ftoi behaviour 2016-05-16 15:00:45 +02:00
Jannik Vogel e686f222a9 Respect fpscr in ftoiz 2016-05-16 15:00:45 +02:00
Jannik Vogel c571e1237c Disable VFP3 instructions 2016-05-16 15:00:45 +02:00
bunnei 806e955740 Merge pull request #1792 from JayFoxRox/avoid-uninitialised
Avoid uninitialised in hw renderer + Only sync depth if necessary
2016-05-15 20:44:32 -04:00
Maribel eece919250 DSP_DSP: Remove GetHeadphoneStatus logspam (#1799) 2016-05-15 20:43:01 -04:00
wwylele 3d0953097f fixup! fixup! Refactor input system 2016-05-15 19:35:06 +03:00
wwylele c4d6e9b70d fixup! Refactor input system 2016-05-15 13:35:45 +03:00
wwylele c7bd2af530 implement circle pad modifier 2016-05-15 13:24:22 +03:00
wwylele c1cd474866 Refactor input subsystem 2016-05-15 13:24:22 +03:00
Maribel be941f1ecf AudioCore: Implement time stretcher (#1737)
* AudioCore: Implement time stretcher

* fixup! AudioCore: Implement time stretcher

* fixup! fixup! AudioCore: Implement time stretcher

* fixup! fixup! fixup! AudioCore: Implement time stretcher

* fixup! fixup! fixup! fixup! AudioCore: Implement time stretcher

* fixup! fixup! fixup! fixup! fixup! AudioCore: Implement time stretcher
2016-05-14 22:04:03 -04:00
Subv 057cc2f94f Memory: Fixed a regression caused by #1695 and #1689.
Reserve enough space in the vector that holds the linear heap memory to prevent relocations of the backing memory when growing too much.

Closes #1790
2016-05-14 11:24:19 -05:00
Jannik Vogel 8655efef3e OpenGL: Only update depth uniforms if the depth changed 2016-05-14 10:31:18 +02:00
Jannik Vogel dc25f50017 OpenGL: value-initialize variables which cause uninitialised access otherwise 2016-05-14 10:16:11 +02:00
bunnei 8ac23ace82 Merge pull request #1689 from Subv/shmem
Kernel: Implemented shared memory.
2016-05-13 15:33:44 -04:00
Jannik Vogel 208a74a882 Use new shader-jit signature for interpreter 2016-05-13 09:41:55 +02:00
Jannik Vogel b3e96d8e29 Refactor access to state in shader-jit 2016-05-13 09:20:14 +02:00
bunnei 1302ffa822 Merge pull request #1695 from Subv/tls_alloc
Kernel/Threads: Dynamically allocate the TLS region for threads.
2016-05-12 21:51:35 -04:00
Subv 3421ea5445 HLE/Applets: Give each applet its own block of heap memory, and use that when creating the framebuffer shared memory block. 2016-05-12 20:01:59 -05:00
Subv d6c25acc6e Kernel: Account for automatically-allocated shared memories in the amount of used linear heap memory. 2016-05-12 20:01:59 -05:00
Subv c50dc194ca APT: Move the shared font loading and relocation functions to their own subdirectory services/apt/bcfnt. 2016-05-12 20:01:54 -05:00
Subv d6223cfecd Kernel/SharedMemory: Log an error when Map fails. 2016-05-12 20:01:27 -05:00
Subv 54871800a9 Kernel: Implemented shared memory permissions. 2016-05-12 20:01:26 -05:00
Subv 9c6e9195ca APT: Implement relocating the shared font to its true address. 2016-05-12 20:01:20 -05:00
Subv 6e4ff1a857 Kernel/Memory: Remove the Shared Memory region from the legacy memory map. 2016-05-12 20:00:33 -05:00
Subv b53900a6ab Kernel/SharedMemory: Properly implemented shared memory support.
Applications can request the kernel to allocate a piece of the linear heap for them when creating a shared memory object.
Shared memory areas are now properly mapped into the target processes when calling svcMapMemoryBlock.

Removed the APT Shared Font hack as it is no longer needed.
2016-05-12 20:00:32 -05:00
Subv b2c771eed7 Kernel/SVC: Fixed the register order for svcCreateMemoryBlock.
R0 is used as the last parameter instead of R4.
2016-05-12 20:00:29 -05:00
Jannik Vogel 55e804b610 OpenGL: Support blend equation 2016-05-12 22:57:40 +02:00
MerryMage 49dea00b11 Microprofile: DPI-aware drawing 2016-05-12 21:49:02 +01:00
Jannik Vogel ad0acfea14 Move program_counter and call_stack from UnitState to interpreter 2016-05-12 19:05:42 +02:00
Jannik Vogel 101eb11369 Move default_attributes into Pica state 2016-05-12 19:05:41 +02:00
bunnei c08071fe90 Merge pull request #1690 from JayFoxRox/tex-type-3
Pica: Implement texture type 3 (Projection2D)
2016-05-11 21:47:08 -04:00
Jannik Vogel acfb5257dd Turn ShaderSetup into struct 2016-05-11 23:48:24 +02:00
Jannik Vogel 833799a328 OpenGL: Implement texture type 3 2016-05-11 08:07:37 +02:00
Jannik Vogel e149c3cad4 Rasterizer: Implement texture type 3 2016-05-11 08:07:36 +02:00
Jannik Vogel 76be1439f6 Pica: Add tc0.w to OutputVertex 2016-05-11 08:07:36 +02:00
Jannik Vogel 02a17627f5 Pica: Add texture type to state 2016-05-11 08:07:36 +02:00
bunnei 8b57682958 Merge pull request #1621 from JayFoxRox/w-buffer
Implement W-buffer and fix depth-mapping
2016-05-10 23:00:40 -04:00
bunnei 89397e4be2 Merge pull request #1774 from lioncash/warn
gdbstub: Silence missing prototype warnings
2016-05-10 12:14:41 -04:00
Lioncash 4b5da9b606 gl_rasterizer: Fix compilation for debug builds 2016-05-10 09:22:02 -04:00
Lioncash 601a094367 gdbstub: Silence missing prototype warnings 2016-05-10 09:17:07 -04:00
Jannik Vogel 1f3ecfa49a OpenGL: Implement W-Buffers and fix depth-mapping 2016-05-10 08:58:52 +02:00
Jannik Vogel da761012b9 Pica: Implement W-Buffer in SW rasterizer 2016-05-10 08:58:52 +02:00
linkmauve 77d8cfb894 Merge pull request #1704 from JayFoxRox/pod-config
Pica: PicaShaderConfig is TC and cleared before use
2016-05-10 01:16:53 +01:00
bunnei 9423cc8fd1 Merge pull request #1771 from lioncash/user
dyncom: Reset the context into user mode correctly
2016-05-09 18:54:09 -04:00
Lioncash e4ccba3ffa dyncom: Reset the context into user mode correctly
The other mode was system mode.
2016-05-09 16:30:55 -04:00
Lioncash bb6bae806e source: Fix missing logging arguments
Silences two warnings on OSX.
2016-05-09 09:41:03 -04:00
Lioncash fabe55dda3 swap: Get rid of pointer casting for swapping structs
These shouldn't haphazardly convert types
2016-05-08 23:33:52 -04:00
Lioncash a7ce0e430b swap: Get rid of undefined behavior in swapf and swapd
This isn't well-defined in C++.
2016-05-08 23:21:47 -04:00
Lioncash d89a038465 swap: Remove unused methods
Also gets rid of pointer data variants as this prevents the use of
the regular swapping routines as unary predicates in std lib functions.

They also cast to stricter alignment types, which is undefined behavior.
2016-05-08 23:12:04 -04:00
Lioncash b6dd73e5c3 vertex_loader: Correct forward declaration of InputVertex
It's actually a struct, not a class.
2016-05-08 23:08:18 -04:00
Lioncash 38eca6b728 vertex_loader: Provide an assertion for ensuring the loader has been setup
Also adds an assert to ensure that Setup is not called more than once
during a VertexLoader's lifetime.
2016-05-08 23:08:12 -04:00
Lioncash 561157d259 vertex_loader: Add constructors to facilitate immediate and two-step initialization 2016-05-08 23:03:32 -04:00
Lioncash 9f536396ad vertex_loader: initialize_num_total_attributes.
Keeps the public API sane.
2016-05-08 23:03:32 -04:00
Lioncash a20ffc0df1 vertex_loader: Use std::array instead of raw C arrays 2016-05-08 23:03:32 -04:00
Lioncash 4633449bfc vertex_loader: Correct header ordering 2016-05-08 23:01:26 -04:00
bunnei fe04d0f1cc Merge pull request #1766 from Subv/log_cpu
Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1)
2016-05-08 15:03:08 -04:00
bunnei 18ac292259 Merge pull request #1718 from alex-laties/fixup-type-conversions
fixup simple type conversions where possible
2016-05-07 17:24:16 -04:00
bunnei c5171ef9f3 Merge pull request #1761 from Subv/applets_fb
HLE/Applets: Use the correct size for the framebuffer SharedMemory
2016-05-07 17:21:48 -04:00
Alexander Laties 17e9bc5392 fixup simple type conversions where possible 2016-05-07 11:41:55 -04:00
Subv bfee7941e3 Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1).
We do not currently implement any cores other than the AppCore (Core 0).
2016-05-07 10:23:03 -05:00
Subv d9baef11f2 Kernel/Threads: Dynamically allocate the TLS region for threads in the BASE region of the linear heap.
Each thread gets a 0x200-byte area from the 0x1000-sized page, when all 8 thread slots in a single page are used up, the kernel allocates a new page to hold another 8 entries.

This is consistent with what the real kernel does.
2016-05-07 10:18:47 -05:00
bunnei 8417518330 Merge pull request #1736 from MerryMage/sdl2-sink
AudioCore: SDL2 Sink
2016-05-07 11:08:13 -04:00
Subv 6b0496175d HLE/Applets: Use the correct size for the framebuffer SharedMemory in the swkbd and MiiSelector applets. 2016-05-07 10:01:40 -05:00
MerryMage 638de286c2 AudioCore: SDL2 Sink 2016-05-07 11:32:48 +01:00
Jannik Vogel 3261520e19 citra_qt: Replace 'Pica Framebuffer Debugger' with 'Pica Surface Viewer' 2016-05-07 11:30:47 +02:00
bunnei bc76985937 HLE: Fix recent DSP change for Visual Studio. 2016-05-07 00:54:31 -04:00
bunnei 63cd22143c Merge pull request #1544 from linkmauve/move-glad-init
Move glad initialisation to the frontend
2016-05-07 00:33:06 -04:00
wwylele d999f3d0de fix:return proper error 2016-05-06 21:42:13 +03:00
Emmanuel Gil Peyrot f20454b97c Frontends, VideoCore: Move glad initialisation to the frontend
On SDL2 this allows it to use SDL_GL_GetProcAddress() instead of the
default function loader, and fixes a crash when using apitrace with an
EGL context.

On Qt we will need to migrate from QGLWidget to QOpenGLWidget and
QOpenGLContext before we can use gladLoadGLLoader() instead of
gladLoadGL(), since the former doesn’t expose a function loader.
2016-05-06 03:10:14 +01:00
bunnei 200e9d03b2 Merge pull request #1762 from bunnei/global
hle: Get rid of direct global access to g_reschedule
2016-05-05 21:45:57 -04:00
bunnei b28918fc2d HLE: Rename RescheduleIsPending to IsReschedulePending. 2016-05-05 21:34:10 -04:00
bunnei 143ebcaed0 Merge pull request #1700 from wwylele/gamelist-icon
Qt: display game icon and title in the game list
2016-05-05 18:35:24 -04:00
mailwl 5c5954fd5f Layout Mii parameters input/output, and return success as result of applet work 2016-05-05 22:31:33 +03:00
bunnei ea17feed44 Merge pull request #1757 from JayFoxRox/rename-vertexloaded-bp
Pica: Rename VertexLoaded breakpoint to VertexShaderInvocation
2016-05-05 05:54:14 -04:00
bunnei 018da26741 Merge pull request #1734 from MerryMage/dsp-hle-source
DSP/HLE: Implement Source processing
2016-05-04 10:13:59 -04:00
wwylele aad34f5d62 add missing header 2016-05-04 13:02:49 +03:00
wwylele fe31f05925 make the name column larger as default 2016-05-04 13:02:49 +03:00
wwylele a23e3f1cd5 add icon & title to game list 2016-05-04 13:02:49 +03:00
Jannik Vogel db061e0568 Pica: Rename VertexLoaded breakpoint to VertexShaderInvocation 2016-05-04 10:21:51 +02:00
MerryMage f0cc8dc9ed DSP/HLE: Implement Source processing 2016-05-03 20:58:28 +01:00
wwylele 053c44fee5 clean up config block 2016-05-03 19:27:47 +03:00
Jannik Vogel b360295880 Pica: Use a union for PicaShaderConfig 2016-05-03 15:06:49 +02:00
Jannik Vogel 9936dc107f Pica: Add TevStageConfigRaw to PicaShaderConfig (MSVC workaround) 2016-05-03 15:06:46 +02:00
Jannik Vogel 386604cd07 Pica: Make PicaShaderConfig trivially_copyable and clear it before use 2016-05-03 14:10:11 +02:00
Jannik Vogel 8f354eb8a7 OpenGL: Don't copy const_color (Reverts #1745) 2016-05-03 12:34:52 +02:00