Subv
afb6dd7747
HLE/SRV: Don't return the port handle if it isn't available when calling GetServiceHandle.
...
This was incorrect behavior that somehow found its way to 3dbrew. The correct behavior is to sleep until the port becomes available again and then return a session to it.
This is currently unimplemented due to the inability to put a guest thread to sleep during HLE requests.
The correct behavior was reverse engineered by TuxSH a while ago but we never corrected the code in citra.
2017-11-15 11:26:49 -05:00
Sebastian Valle
f0027e9996
Merge pull request #3096 from Subv/arbitrateaddress
...
Kernel/Arbiters: When doing ArbitrateAddress(Signal), always pick the highest priority thread, using the first one that was put to sleep if more than one thread with the same highest priority exists.
2017-11-15 09:16:16 -05:00
Sebastian Valle
93742ec510
Merge pull request #3088 from Subv/clientsession_closing
...
Kernel/Sessions: Wake up any threads waiting on a ServerSession when its client is closed
2017-11-15 09:15:34 -05:00
Max Thomas
689fe57430
Services/AM: Fix content writing on Windows ( #3114 )
2017-11-15 10:26:16 +01:00
Valentin Vanelslande
2cf7cda1c4
fix framelimit in default ini
2017-11-13 22:03:24 -06:00
Subv
35a61ab053
HLE/Tests: Added tests for the StaticBuffer IPC HLE translation.
2017-11-12 11:00:00 -05:00
Subv
c9c1ba0952
Kernel/IPC: Implement StaticBuffer translation for HLE services that use the HLERequestContext architecture.
...
The real kernel requires services to set up their static buffer targets ahead of time. This implementation does not require that and will simply create the storage for the buffers as they are processed in the incoming IPC request.
Static buffers are kept in an unordered_map keyed by their buffer id, and are written into the already-setup area of the request thread when responding an IPC request.
This fixes a regression (crash) introduced in #2992 .
This PR introduces more warnings due to the [[deprecated]] attribute being added to void PushStaticBuffer(VAddr buffer_vaddr, size_t size, u8 buffer_id); and VAddr PopStaticBuffer(size_t* data_size);
2017-11-12 11:00:00 -05:00
Subv
c68adb787b
Kernel/Arbiters: When doing ArbitrateAddress(Signal), always pick the highest priority thread, using the first one that was put to sleep if more than one thread with the same highest priority exists.
...
This is consistent with hardware behavior as shown by this test https://gist.github.com/ds84182/40e46129bd38b46a5100f15f96ba5eaf
2017-11-08 18:47:08 -05:00
Sebastian Valle
908dbf4230
Merge pull request #3084 from Subv/thread_default_cpu
...
Kernel/Thread: Use the process' ideal CPU when specifying the Default CPU on CreateThread.
2017-11-08 14:38:50 -05:00
Sebastian Valle
67df3c2c38
Merge pull request #3092 from BreadFish64/patch-1
...
Get Rid of Redundant ! in CIA loading code.
2017-11-08 14:38:20 -05:00
James Rowe
ddee442ff8
Merge pull request #3093 from Subv/missing_includes
...
Added missing headers to CMakeLists.txt and fixed includes.
2017-11-07 20:09:19 -07:00
Subv
5e9d76337d
Build: Added missing <array> includes to title_metadata.h and cia_container.h
2017-11-07 22:06:34 -05:00
Subv
d683d34aa4
Filesys: Added some missing headers to the CMakeLists.txt after the recent stream of PRs.
2017-11-07 22:04:51 -05:00
BreadFish64
e2cac1d7db
Get Rid of Redundant !
2017-11-07 19:31:55 -06:00
Sebastian Valle
7d12aaaa20
Merge pull request #3087 from shinyquagsire23/am-more-errors
...
Services/AM: Add errors and adjust naming for accuracy
2017-11-07 09:09:48 -05:00
shinyquagsire23
c07f1b275c
Services/AM: Rename and readjust GetNumContentInfos for accuracy
2017-11-06 21:36:49 -07:00
shinyquagsire23
d854d4119a
Services/AM: Rename and adjust ListContentInfos for accuracy
2017-11-06 21:35:00 -07:00
shinyquagsire23
c6e43ae79d
Services/AM: Rename and adjust FindContentInfos for accuracy
2017-11-06 21:35:00 -07:00
shinyquagsire23
ac2ee3035a
file_sys/cia_container: Fix warnings
2017-11-06 21:35:00 -07:00
shinyquagsire23
69cc04a06d
Services/AM: Fix warnings
2017-11-06 21:34:54 -07:00
Subv
06a2e0b591
Kernel/Sessions: Wake up any threads waiting on a ServerSession when its client is closed
...
The error code 0xC920181A will be returned by svcReplyAndReceive when the wakeup callback runs.
This lets LLE services be properly notified of clients closing the connection so they can end their handler threads instead of letting them linger indefinitely, taking up connection slots in their parent port.
2017-11-06 23:07:08 -05:00
Subv
d1de6b8864
HLE/APT: Try to launch a native applet in PrepareToStartLibraryApplet and PreloadLibraryApplet before falling back to HLE applets.
...
With this commit, you can run native applets if they are in the correct folder of your virtual NAND.
Trying to exit the applet will currently cause an invalid read loop due to svcExitProcess not being implemented.
2017-11-06 16:42:26 -05:00
Subv
ecb1c6d2a1
HLE/APT: Added a function to retrieve the titleid of an applet based on the current system region.
...
The table was taken from the real APT service, but is incomplete due to the sheer amount of data it contains. There's 29 applets with 7 possible titleids. This table should be filled as needed.
2017-11-06 16:42:26 -05:00
Subv
191565a1b8
HLE/NS: Added a function to launch titles installed to the virtual NAND/SD card.
...
It uses AM::GetTitleContentPath to retrieve the path of the program to launch.
2017-11-06 15:12:15 -05:00
Subv
ccd0710e5b
Logging: Add a Service_NS log class for the NS service.
2017-11-06 14:51:57 -05:00
Sebastian Valle
c6b2cc2e27
Merge pull request #3082 from Subv/main_thread_processor
...
Kernel/Thread: Run the main thread in the CPU specified by the process' exheader.
2017-11-06 14:00:24 -05:00
Subv
a288c2e737
Kernel/Thread: Use the process' ideal CPU when specifying the Default CPU on CreateThread.
...
This behavior was reverse engineered from the real kernel.
2017-11-06 13:47:48 -05:00
Subv
2d9e295e07
Kernel/IPC: Handle the StaticBuffer descriptor in LLE command requests.
...
This descriptor requires the target process to set up a "receive buffer" beforehand, where the input data will be written to when the descriptor is processed.
2017-11-06 13:30:31 -05:00
bunnei
6e12b11353
Merge pull request #3078 from Subv/ac_sessions
...
Services/AC: Corrected the number of concurrent connections for AC_I and AC_U
2017-11-06 13:21:29 -05:00
Subv
980df62397
Kernel/Thread: Run the main thread in the CPU specified by the process' exheader.
...
System services usually have Core1 in this field, but citra was running them in Core0 regardless.
2017-11-06 13:14:31 -05:00
Sebastian Valle
d55a13c35d
Merge pull request #2981 from Subv/replyreceive
...
Kernel/SVC: Implement LLE command buffer translation in ReplyAndReceive
2017-11-06 13:02:30 -05:00
wwylele
3b960fe651
citra-qt: fix broken About box
2017-11-06 18:08:53 +02:00
Subv
23deae4785
Debugging: Implement GetName for Kernel::ServerSession.
...
Fixes the "[UNKNOWN KERNEL OBJECT]" message in the wait tree when inspecting a server session.
2017-11-06 10:47:06 -05:00
Subv
5f92dc963c
Kernel/SVC: Implement LLE command buffer translation in ReplyAndReceive.
...
The real kernel's ReplyAndReceive will retry the call until one of the objects can be acquired without causing a translation error, this is not currently implemented and the code will instead assert that the translation was a success.
2017-11-06 10:47:04 -05:00
Subv
8f108367c9
Kernel/IPC: Put a thread to sleep when performing an LLE IPC request.
...
It will be awoken when the server replies to the request via svcReplyAndReceive.
2017-11-06 10:46:19 -05:00
Subv
33c5982f6d
Kernel/Threads: Added a new thread status to identify threads waiting for an IPC reply from svcSendSyncRequest.
2017-11-06 10:46:19 -05:00
Subv
8e2d9f48f5
Kernel/IPC: Remove dead buffer translation code.
...
This is all implemented elsewhere, HLERequestContext for HLE requests, and svcReplyAndReceive for LLE requests.
2017-11-06 10:46:18 -05:00
Subv
7cf7999e02
Kernel/IPC: Added a function to translate the IPC command buffer from one process to another.
...
Currently only CopyHandle, MoveHandle and CallingPid descriptors are implemented.
2017-11-06 10:46:12 -05:00
wwylele
4fdc877626
remove trailing spaces
2017-11-06 13:57:06 +02:00
Sebastian Valle
ff17773c28
Kernel/Mutex: Add a missing return in Mutex::Release
...
Fixes a regression in #3042 .
Closes #3079
2017-11-05 21:31:22 -05:00
Sebastian Valle
8ba2de1580
Merge pull request #3029 from shinyquagsire23/am-title-install
...
Services/AM: Add CIA title installation support.
2017-11-05 21:23:55 -05:00
shinyquagsire23
e00a45c500
Services/AM: Add CIA title installation support.
2017-11-05 13:26:29 -07:00
shinyquagsire23
7ea04bb55c
Services/AM: Fix log commands
2017-11-05 13:26:29 -07:00
shinyquagsire23
714206e4ce
Service/FS: Mark FileBackend's Write as non-const
2017-11-05 13:26:29 -07:00
shinyquagsire23
ca2b6c6c8e
file_sys/errors: Add ERROR_INSUFFICIENT_SPACE
2017-11-05 13:26:29 -07:00
shinyquagsire23
ce806dcdf6
file_sys/title_metadata: Allow loading from both files, FileBackends, and data
2017-11-05 13:26:29 -07:00
shinyquagsire23
b3e87d01fb
file_sys: Add CIA Container
2017-11-05 13:26:25 -07:00
Subv
d4077b0196
Services/AC: Corrected the number of concurrent connections for AC_I and AC_U
...
The number was reverse engineered from the AC module.
2017-11-05 14:28:06 -05:00
Weiyi Wang
4fc0448093
Merge pull request #3064 from wwylele/printf-warnings
...
Clean all format warnings
2017-11-05 10:32:46 +02:00
James
b579bf0cc2
Fixed up method docs for updater
2017-11-04 15:10:59 -06:00
James
53a88a0e13
Fix edge case for checking for updates when already deferred
2017-11-04 15:00:24 -06:00
James
7361ee9750
Defer update prompt if emulating, and show no update found on explicit click
2017-11-04 15:00:24 -06:00
James Rowe
2e6c80d1aa
Qt updater integration, based on QtAutoUpdater
2017-11-04 15:00:20 -06:00
BreadFish64
ee5aecee3f
Implement About Button Functionality ( #3005 )
2017-11-04 13:59:27 -04:00
Sebastian Valle
9a52d72362
Merge pull request #3042 from Subv/releasemutex
...
Kernel/SVC: Don't let svcReleaseMutex release a mutex owned by another thread
2017-11-04 12:57:44 -05:00
bunnei
5885ca4503
Merge pull request #3067 from Hexagon12/wsacleanup-soc-fix
...
Removed duplicate calls of WSACleanup in soc_u.
2017-11-04 13:39:09 -04:00
James Rowe
c14f802381
Merge pull request #2992 from Subv/ac_srvframework
...
Services/AC: Converted the ac:i and ac:u services to the new service framework.
2017-11-04 10:42:09 -06:00
Sebastian Valle
3fe9b332bc
Merge pull request #2989 from B3n30/sendTo_PullPacket_Bind
...
Service/UDS: Implement Bind, Unbind, SendTo, PullPacket, and GetNodeInformation
2017-11-04 10:58:49 -05:00
Hexagon12
695ff7cff3
Clang pls (again)
2017-11-04 17:41:20 +02:00
Hexagon12
81e36150d3
Clang pls
2017-11-04 17:32:12 +02:00
Subv
68dba11805
Kernel/SVC: Don't let svcReleaseMutex release a mutex owned by another thread.
...
This behavior was reverse engineered from the 3DS kernel.
2017-11-04 10:05:18 -05:00
B3n30
ed9db735a2
Service/UDS: Updated BeginHostingNetwork
2017-11-04 15:41:54 +01:00
B3n30
f6d16c3f87
Service/UDS: Implement Unbind and GetNodeInformation
2017-11-04 15:41:54 +01:00
B3n30
230ea063a5
Service/UDS: Implement SendTo, PullPacket, HandleSecureData, and Bind
2017-11-04 15:41:27 +01:00
Hexagon12
4ded138139
Update soc_u.cpp
2017-11-04 16:30:48 +02:00
Hexagon12
5d123144ff
Removed all instances of WSACleanup();.
2017-11-04 15:03:04 +02:00
wwylele
499508389c
core: clear format warnings
2017-11-01 12:35:32 +02:00
wwylele
47c0c87c47
video_core: clean format warnings
2017-11-01 12:35:32 +02:00
Mohit Sahu
1f6da9fbc5
Capitalize the first word in a comment ( #3059 )
...
* Correct spelling of searchfield in comment
2017-10-28 12:38:56 -05:00
Alexandre Paré
d65983515f
Correcting word order of a comment in memory.cpp
2017-10-28 13:23:58 -04:00
Sebastian Valle
79852d3707
Merge pull request #3048 from shinyquagsire23/am-patch
...
Services/AM: Implement GetPatchTitleInfos, Misc Cleanup
2017-10-27 20:10:56 -05:00
Subv
95df4e674a
Services/AC: Converted the ac:i and ac:u services to the new service framework.
2017-10-27 19:39:19 -05:00
James Rowe
edfc8d133a
Merge pull request #3044 from Dragios/wnarrowing
...
Get rid of narrowing conversion warning (-Wnarrowing)
2017-10-27 15:55:14 -06:00
James Rowe
465e619cbb
Merge pull request #3053 from wwylele/debug-build-please
...
file_sys: Add missing header for PRIU64
2017-10-27 14:47:11 -06:00
wwylele
2bcbd565b8
Add missing header for PRIU64
2017-10-27 18:52:50 +03:00
Mohit Sahu
f75dd34747
Correct spelling of searchfield in comment ( #3052 )
...
Correct spelling of searchfield in comment
2017-10-27 15:43:22 +00:00
shinyquagsire23
2e38ea7a33
Services/AM: Implement GetPatchTitleInfos, correct error codes/returns, misc fixes
2017-10-26 21:06:29 -06:00
Dragios
3e26b0dee5
swrasterizer folder minor edit
2017-10-27 09:44:45 +08:00
Dragios
9b3eb69973
Utilize vector function instead
2017-10-26 23:50:20 +08:00
James Rowe
b36f748acd
Merge pull request #3046 from MerryMage/sdl-disallow-device-changes
...
sdl2_sink: Disallow audio device from changing any parameter other than the frequency
2017-10-24 09:22:28 -06:00
James Rowe
b4c1c26511
Merge pull request #3028 from MerryMage/fix-3023
...
citra_qt: Remove use of QKeySequence::Cancel
2017-10-24 09:21:27 -06:00
MerryMage
211cc5e28f
sdl2_sink: Disallow audio device from changing any parameter other than the frequency
...
We currently do not handle the cases when channel number or channel format differ from what we expect.
2017-10-24 14:03:34 +01:00
Dragios
84054b7cd8
Get rid of narrowing conversion warning
2017-10-24 00:02:46 +08:00
Sebastian Valle
aee8bf680c
Merge pull request #3032 from Dragios/errno
...
Remove some errno constants as it was already defined
2017-10-23 10:30:18 -05:00
Merry
68943acd67
Merge pull request #3030 from Dragios/rename-class
...
citra-qt: Rename derivative class name
2017-10-22 18:10:41 +01:00
Merry
6f5f09b6c2
Merge pull request #3031 from Dragios/cryptopp-weak
...
externals: Remove Crypto++ weak algorithm warning
2017-10-22 18:10:22 +01:00
Dragios
520929dd6d
Fix typo for -Wunused-local-typedefs
2017-10-22 15:56:50 +08:00
Dragios
eb671d8513
Remove some errno constants as it was already defined
2017-10-22 14:22:27 +08:00
Dragios
e46f66a5fa
Remove Crypto++ weak algorithm warning
2017-10-22 13:56:59 +08:00
Dragios
a88185b5d6
citra-qt: Rename derivative class name
2017-10-22 09:33:23 +08:00
MerryMage
1e4bd67a12
citra_qt: Remove use of QKeySequence::Cancel
...
Closes #3023 . QKeySequence::Cancel requires Qt 5.6, which our buildbots do not support.
2017-10-21 23:58:18 +01:00
MerryMage
f5be3258f2
hle/lock: Remove #pragma once in cpp file
2017-10-21 13:59:14 +01:00
James Rowe
dcb48840c3
Merge pull request #2993 from shinyquagsire23/am-and-archive-ncch-rework
...
AM Service and NCCH Archive Rework
2017-10-20 22:59:38 -06:00
James Rowe
f47bf6c8c9
Merge pull request #3001 from Styleoshin/qt_fullscreen
...
citra-qt : Adding fullscreen mode
2017-10-19 15:30:55 -06:00
shinyquagsire23
1ac5137655
file_sys/archive_ncch: Use AM to get title content path, add ExeFS support and support for additional content indexes
2017-10-18 21:19:40 -06:00
shinyquagsire23
a4af750759
loader/ncch: Use AM to get update title path
2017-10-18 21:19:40 -06:00
shinyquagsire23
b9fc359e7e
Services/AM: Add title scanning, move to ipc_helper.h, implement most stubbed service calls
2017-10-18 21:19:34 -06:00
Yacine
e3d9e6c802
citra-qt : Adding fullscreen mode
2017-10-11 20:21:09 +02:00
Dragios
83e5f639e6
Change command header in nwm::UDS Initialize function
2017-10-09 09:10:48 +08:00
Sebastian Valle
20e19a340c
Merge pull request #2991 from Subv/getpointer
...
Remove more usages of GetPointer.
2017-10-08 10:11:12 -05:00
shinyquagsire23
8b448dc277
file_sys/title_metadata: extend accessible content chunk data
2017-10-06 11:28:29 -06:00
Sebastian Valle
74d4050924
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
Sebastian Valle
84c344b9b1
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
97f262c1f5
SVC: Removed GetPointer usage in the GetResourceLimit functions.
2017-10-04 14:04:27 -05:00
Subv
46fc7595b4
SVC: Remove GetPointer usage in CreatePort.
2017-10-04 14:04:03 -05:00
Subv
7b09b30ef1
SVC: Replace GetPointer usage with ReadCString in ConnectToPort.
2017-10-04 14:03:59 -05:00
Subv
3c0113632d
SVC: Replace GetPointer usage with ReadBlock in OutputDebugString.
2017-10-04 12:30:33 -05:00
Subv
0cfb231e00
SVC: Replace GetPointer usage with Read32 in ReplyAndReceive.
2017-10-04 12:30:33 -05:00
Subv
b863d6c860
SVC: Replace GetPointer usage with Read32 in WaitSynchronizationN.
2017-10-04 12:30:32 -05:00
Subv
7772fc0731
Memory: Remove all GetPointer usages from the GDB stub.
2017-10-04 11:33:32 -05:00
Huw Pascoe
b3b34a1e76
Extracted the attribute setup and draw commands into their own functions
2017-10-04 01:08:29 +01:00
bunnei
15c7641bef
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
b18589ecf7
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
30fabc41c6
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
1f2de7501b
Memory: Make WriteBlock take a Process parameter on which to operate
2017-10-01 14:18:36 -05:00
Subv
811c01e5fe
Memory: Make ReadBlock take a Process parameter on which to operate
2017-10-01 14:18:36 -05:00
Subv
8217ed7acb
Kernel/Thread: Added a helper function to get a thread's command buffer VAddr.
2017-10-01 14:18:35 -05:00
Sebastian Valle
9c123c29a6
Merge pull request #2974 from Subv/nim_event
...
Services/NIM: Implement CheckForSysUpdateEvent.
2017-10-01 14:16:14 -05:00
shinyquagsire23
4887d18591
file_sys, loader: add support for reading TMDs to determine app paths
2017-10-01 10:54:02 -06:00
shinyquagsire23
8e10c9bb2e
file_sys: add class for Title Metadata (TMD)
2017-10-01 10:53:45 -06:00
shinyquagsire23
e21f2348e7
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
c93e5ecfe6
file_sys/archive_ncch: use NCCHContainer instead of loading .romfs files
2017-10-01 10:53:04 -06:00
Subv
5bae5a48b9
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
529f4a0131
Moved down_count to CoreTiming
2017-09-30 17:38:14 +01:00
B3n30
afb1012bcd
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
Subv
f9d55ecf3f
HLE: Implemented SleepClientThread and ContinueClientThread functions to make performing async tasks on the host while in an HLE service function easier.
...
An HLE service function that wants to perform an async operation should put the caller guest thread to sleep using SleepClientThread, passing in a callback to execute when the thread is resumed.
SleepClientThread returns a ThreadContinuationToken that should be stored and used with ContinueClientThread to resume the guest thread when the host async operation completes.
2017-09-30 11:16:55 -05:00
Subv
0a308e224c
Kernel/Threads: Add a new thread status that will allow using a Kernel::Event to put a guest thread to sleep inside an HLE handler until said event is signaled.
2017-09-30 11:16:49 -05:00
Sebastian Valle
7056b9c46a
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
db752b52e8
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
a13ab958cb
Fixed type conversion ambiguity
2017-09-30 09:34:35 +01:00
bunnei
b07af7dda8
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
mailwl
8883dca514
Service/PTM: Stub GetStepHistory function
2017-09-29 15:34:41 +03:00
Subv
8432749db7
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
0d42706a7b
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
a321bce378
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
7f48aa8d25
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
5620327e03
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
3165466b66
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
a8d2f5787f
Tests: Added Memory::IsValidVirtualAddress tests.
2017-09-26 17:31:50 -05:00
Subv
c102e3ae28
Tests: Fixed ARM VFP tests
2017-09-26 17:29:06 -05:00
Subv
35da7f57ef
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
0c20da7fde
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
e27ae04696
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
41f6c9f87f
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
d7459354f5
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
774e7deae8
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
d881dee818
Merge pull request #2952 from MerryMage/page-tables
...
Switchable Page Tables
2017-09-25 08:29:32 +02:00
B3n30
dc6a365337
Merge pull request #2951 from huwpascoe/perf-4
...
Optimized Morton
2017-09-25 08:28:55 +02:00
B3n30
78022b5a79
Merge pull request #2949 from wwylele/fix-tr
...
citra-qt: fix some untranslated strings
2017-09-25 08:23:04 +02:00
B3n30
a21b9deb98
Merge pull request #2948 from Subv/register_service
...
HLE/SRV: Implemented RegisterService.
2017-09-25 08:22:05 +02:00
Max Thomas
c91ccbd0ba
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
d673d508dd
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
903906da3b
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
67a70bd9e1
ARM_Interface: Implement PageTableChanged
2017-09-24 23:08:25 +01:00
MerryMage
4e5eb2044a
memory: Remove GetCurrentPageTablePointers
2017-09-24 22:43:28 +01:00
MerryMage
c02bbb7030
memory: Add GetCurrentPageTable/SetCurrentPageTable
...
Don't expose Memory::current_page_table as a global.
2017-09-24 22:42:42 +01:00
Huw Pascoe
876aa82c29
Optimized Morton
2017-09-24 22:27:14 +01:00
wwylele
7117fcc024
citra-qt: fix some untranslated strings
2017-09-24 17:53:35 +03:00
Subv
7096f01c14
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
b57d58c0dc
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
93930a966f
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
0b33e36292
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
19d41dcc6e
Remove pipeline.gpu_mode and fix minor issues
2017-09-23 09:28:20 -06:00
Yuri Kunde Schlesner
a7758b0b36
Merge pull request #2928 from huwpascoe/master
...
Fixed framebuffer warning
2017-09-22 04:06:38 +02:00
bunnei
6fc123d67c
Merge pull request #2933 from huwpascoe/perf-1
...
Improved performance of FromAttributeBuffer
2017-09-19 13:18:35 -04:00
B3n30
28c726f205
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
a234e4c200
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
6a110ac5f5
Fixed framebuffer warning
2017-09-17 11:57:06 +01:00
Yuri Kunde Schlesner
255fd8768d
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
3d86e3afc4
Services/NS: Port ns:s to the new service framework.
2017-09-16 10:52:45 -05:00
Yuri Kunde Schlesner
699c920991
Merge pull request #2900 from wwylele/clip-2
...
PICA: implement custom clip plane
2017-09-16 10:23:00 +02:00
B3n30
813837c5cf
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
7a3ab7c63d
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
3bde97ea05
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
f18a176b60
Kernel/Memory: Make IsValidPhysicalAddress not go through the current process' virtual memory mapping.
2017-09-15 14:26:18 -05:00
Subv
b178089251
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
214150f00c
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
588077184b
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
ad0b57f407
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
c34ec5e77c
Kernel/Memory: Switch the current page table when a new process is scheduled.
2017-09-10 15:14:31 -05:00
Subv
6d2734a074
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
11baa40d75
Merge pull request #2865 from wwylele/gs++
...
PICA: implemented geometry shader
2017-09-07 23:02:59 -04:00
bunnei
ff4941fb3a
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
617b6974b9
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
11f2eff17d
Remove _flag in var names
2017-09-04 12:15:15 +03:00
mailwl
589babbf74
Mii Selector Applet: update Mii structures
2017-09-04 12:04:12 +03:00
James Rowe
79f177c6d2
Fix icon for citra qt
2017-09-03 11:26:10 -06:00
wwylele
59a9aaf388
APT: load different shared font depending on the region
2017-09-03 12:34:11 +03:00
wwylele
12fbc8c8df
pica/lighting: only apply Fresnel factor for the last light
2017-09-03 08:22:03 +03:00
DaMan
40505bc4fc
Add manifest
2017-09-02 20:08:11 -04:00
bunnei
f251b8873a
Merge pull request #2909 from wwylele/telemetry-gas
...
video_core: report telemetry for gas mode
2017-08-31 11:12:55 -04:00
wwylele
e2c41a5891
video_core: report telemetry for gas mode
2017-08-31 12:54:17 +03:00
bunnei
e450a2d2b8
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
f0e461bf6f
Merge pull request #2891 from wwylele/sw-bump
...
SwRasterizer/Lighting: implement bump mapping
2017-08-30 21:07:30 -04:00
bunnei
75cd28a7cc
Merge pull request #2899 from wwylele/touch-refactor
...
Refactor touch input into a TouchDevice
2017-08-29 11:29:10 -04:00
Sebastian Valle
acbd46366c
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
8266064796
Use recursive_mutex instead of mutex to fix #2902
2017-08-29 20:39:55 +12:00
MerryMage
933508e2a2
interpolate: Interpolate on a frame-by-frame basis
2017-08-28 10:54:41 +01:00
Weiyi Wang
647f017c6d
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
f64cd87604
Services/UDS: Remove an old duplicated declaration of WifiPacket.
2017-08-27 10:48:15 -05:00
Subv
d088dbfbe1
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
2e9f544ecc
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
54411bef4e
Services/UDS: Add functions to generate 802.11 auth and assoc response frames.
2017-08-27 10:48:09 -05:00
bunnei
7698567fc9
web_backend: Fix CPR bug where Winsock is not properly initializing.
2017-08-26 19:45:41 -04:00
Subv
da88f3b8f0
Warnings: Fixed a few missing-return warnings in video_core.
2017-08-26 11:58:22 -05:00
bunnei
c8562b21d9
web_backend: Fix asynchronous JSON post by spawning new thread.
2017-08-25 23:37:47 -04:00
bunnei
04bd0c957e
web_services: Refactor to remove dependency on Core.
2017-08-25 23:10:02 -04:00
bunnei
9f0da33c33
qt: Add an option to view/regenerate telemetry ID.
2017-08-25 23:10:02 -04:00
bunnei
5d7b364a21
default_ini: Use correct telemetry endpoint URL.
2017-08-25 23:10:01 -04:00
bunnei
2e37201c63
# 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
fb17e866aa
qt: Add web configuration tab.
2017-08-25 23:10:01 -04:00
bunnei
41328afb58
web_backend: User config for username and token, support anonymous post.
2017-08-25 23:10:01 -04:00
bunnei
40f417125b
telemetry: Log frontend type.
2017-08-25 23:10:01 -04:00
bunnei
c781aea947
settings: Add enable_telemetry, citra_username, and citra_token.
2017-08-25 23:10:00 -04:00
bunnei
d6a819c7cb
telemetry_session: Log telemetry ID.
2017-08-25 23:10:00 -04:00
bunnei
59ad933022
citra_qt: Show one-time callout messages to user.
2017-08-25 23:10:00 -04:00
ThaMighty90
3cdf854e44
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
417cb45e3f
SwRasterizer/Clipper: flip the sign convention to match PICA and OpenGL
2017-08-25 07:26:45 +03:00
wwylele
addbcd5784
gl_rasterizer: implement custom clip plane
2017-08-25 07:26:45 +03:00
wwylele
ea51a3af26
SwRasterizer: implement custom clip plane
2017-08-24 15:34:27 +03:00
wwylele
2617de1fe6
EmuWindow: refactor touch input into a TouchDevice
2017-08-24 15:00:56 +03:00
wwylele
c84e60b470
HID: use TouchDevice for touch pad
2017-08-24 13:56:43 +03:00
James Rowe
61442d6afb
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
2bbff9fa96
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
f484927ed0
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
bca8916cea
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
a8675f4287
Merge pull request #2888 from Subv/warnings
...
Fixed some warnings in the core project.
2017-08-22 08:09:09 -06:00
wwylele
4d058cfb76
motion_emu: fix initialization order
2017-08-22 11:43:44 +03:00
wwylele
17c6104d2a
gl_rasterizer/lighting: more accurate CP formula
2017-08-22 09:34:44 +03:00
wwylele
b5aa570354
SwRasterizer/Lighting: implement LUT input CP
2017-08-22 09:34:44 +03:00
wwylele
3e478ca131
SwRasterizer/Lighting: implement bump mapping
2017-08-22 09:34:44 +03:00
Subv
fa228ca637
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
8a9a4e2c42
GPU/Warnings: Explicitly cast the screen refresh ticks to u64.
2017-08-21 08:34:30 -05:00
Subv
65f19b51c4
Warnings: Add UNREACHABLE macros to switches that contemplate all possible values.
2017-08-21 08:34:28 -05:00
Subv
145a7293a3
HLE/Applets: Fixed some conversion warnings when creating the framebuffer shared memory objects.
2017-08-21 08:34:27 -05:00
Subv
d237a89048
CPU/Dynarmic: Fixed a warning when incrementing the number of ticks in ExecuteInstructions.
2017-08-21 08:34:25 -05:00
Subv
9d0841b48b
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
d3fb1d6c38
Dyncom: Fixed a conversion warning when decoding thumb instructions.
2017-08-21 08:20:36 -05:00
wwylele
63b6e802cd
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
72b26ac32f
swrasterizer/clipper: remove tested TODO
...
hwtested. Current implementation is the correct behavior
2017-08-21 08:03:07 +03:00
wwylele
5a4af616c6
gl_shader_gen: simplify and clarify the depth transformation between vertex shader and fragment shader
2017-08-21 08:03:07 +03:00
wwylele
1eca380886
gl_rasterizer: add clipping plane z<=0 defined in PICA
2017-08-21 08:03:07 +03:00
Yuri Kunde Schlesner
46d1ca768d
Merge pull request #2872 from wwylele/sw-geo-factor
...
SwRasterizer/Lighting: implement geometric factor
2017-08-20 17:49:42 -07:00
James Rowe
bbfa9d0635
Merge pull request #2861 from wwylele/motion-refactor
...
Refactor MotionEmu into a InputDevice
2017-08-19 23:43:01 -06:00
wwylele
54c0c8adee
HID: fix a comment and a warning
2017-08-20 08:37:48 +03:00
James Rowe
8afa81ac1b
Merge pull request #2871 from wwylele/sw-spotlight
...
SwRasterizer/Lighting: implement spot light
2017-08-19 20:10:24 -06:00
B3n30
5d0a1e7efd
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
0f35755572
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
8285ca4ad8
pica/shader/jit: implement SETEMIT and EMIT
2017-08-19 10:13:20 +03:00
wwylele
36981a5aa6
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
bb63ae3052
correct constness
2017-08-19 10:13:20 +03:00
wwylele
28128348f2
pica/shader/interpreter: implement SETEMIT and EMIT
2017-08-19 10:13:20 +03:00
wwylele
46c6973d2b
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
223bd35450
motion_emu: no need to include thread in header
2017-08-19 07:21:02 +03:00
Yuri Kunde Schlesner
21204ba488
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
b67c2dc82c
dsp_dsp: Remove size assertion in LoadComponent
2017-08-15 10:16:50 +01:00
Dave Leaver
bf71fc0342
Fix Spelling/English mistakes
2017-08-14 09:15:39 +12:00
Sebastian Valle
d59f503729
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
686fb3e78c
gl_shader_gen: don't call SampleTexture when bump map is not used
2017-08-11 18:35:00 +03:00
wwylele
188194908c
move MotionEmu from core/frontend to input_common as a InputDevice
2017-08-11 11:05:08 +03:00
wwylele
867eabd6b7
HID: use MotionDevice for Accelerometer and Gyroscope
2017-08-11 11:03:18 +03:00
Weiyi Wang
53ef90d1bd
Merge pull request #2874 from danzel/spelling-1
...
Fix some spelling mistakes
2017-08-11 11:02:14 +03:00
danzel
8d3f48d0a3
Fix some spelling mistakes
2017-08-11 19:51:16 +12:00
wwylele
945f9a1b04
SwRasterizer/Lighting: implement spot light
2017-08-11 01:19:10 +03:00
wwylele
14ee32c46a
SwRasterizer/Lighting: implement geometric factor
2017-08-11 01:18:43 +03:00
Weiyi Wang
aaf5161344
Merge pull request #2863 from wwylele/pad-state-zero
...
HID: zero unused PadState bits
2017-08-10 17:50:18 +03:00
wwylele
599de29ea3
HID: zero unused PadState bits
2017-08-10 17:01:03 +03:00
wwylele
5d9d42f0d0
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
db309b2423
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
c2466a2f19
Merge pull request #2862 from j-selby/update-cryptopp
...
Update CryptoPP (byte ambiguity)
2017-08-09 16:18:43 -04:00
Weiyi Wang
792dee47a7
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
93ab46e500
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
a6273dd56a
Service/dlp: Update function tables according 3dbrew
2017-08-09 16:14:07 +03:00
James
1a44949ef7
Update cryptopp
2017-08-08 17:50:09 +10:00
Subv
177e8ce655
Services/APT: Use the AppletAttributes union directly when dealing with applet attrs.
2017-08-07 16:09:55 -05:00
Subv
73fba0de46
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
baa24f4ea9
pica: upload shared shader code to both unit
2017-08-07 10:30:05 +03:00
Andrea Pascal
f55b7aefd9
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
fb8de89859
telemetry: Add field for OsPlatform.
2017-08-03 20:10:38 -04:00
bunnei
9390d54bb3
telemetry: Add field for BuildName.
2017-08-03 20:10:37 -04:00
bunnei
5c631ec9c5
telemetry: Add field for RequiresSharedFont.
2017-08-03 20:10:37 -04:00
bunnei
a621ab6853
telemetry_session: Log BuildDate and ProgramName fields.
2017-08-03 20:10:37 -04:00
bunnei
f44a1e0291
common: Add build timestamp to scm_rev.
2017-08-03 20:10:37 -04:00
bunnei
9b8e5bea66
core: Expose AppLoader as a public interface.
2017-08-03 20:10:37 -04:00
bunnei
f5cf9960d9
loader: Expose program title.
2017-08-03 20:10:37 -04:00
wwylele
2252a63f80
SwRasterizer/Lighting: shorten file name
2017-08-03 13:51:22 +03:00
wwylele
eda28266fb
SwRasterizer/Lighting: move to its own file
2017-08-02 22:20:40 +03:00
wwylele
48b4105871
SwRasterizer/Lighting: reduce confusion
2017-08-02 22:07:15 +03:00
wwylele
c59ed47608
SwRasterizer/Lighting: move quaternion normalization to the caller
2017-08-02 22:05:53 +03:00
James
941a722ff1
Handle invalid filenames when renaming files/directories
2017-07-31 17:11:53 +10:00
Weiyi Wang
60024ad7c2
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
05a38e307c
Merge pull request #2679 from MerryMage/interp-tests
...
DynCom VFP tests
2017-07-27 11:21:36 -04:00
bunnei
f15e5522dc
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
c89f804a01
pica/shader_interpreter: fix off-by-one in LOOP
2017-07-27 13:48:27 +03:00
bunnei
a724fb3657
Merge pull request #2837 from wwylele/shader-debugger-fix
...
Misc shader debugger fixes
2017-07-26 16:00:10 -04:00
B3n30
718423e506
Network: Moved NintendoOUI initalization to RoomMember constructor
2017-07-26 21:06:40 +02:00
MerryMage
a08edd67eb
tests: Add tests for vadd
2017-07-23 12:29:51 +01:00
MerryMage
567c3a2ee7
tests: Arm testing framework
2017-07-23 12:08:43 +01:00
Sebastian Valle
c6a2e519ef
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
e646bd902d
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
045d0b5bbd
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
e59ab7c1d6
Service/APT: Log Send/Cancel/Receive/GlanceParameter calls even if they return an error.
2017-07-21 15:03:06 -05:00
Subv
68596a7068
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
a9bc417f59
Services/APT: Reset the APT parameter inside CancelParameter if the conditions are met.
2017-07-21 14:59:25 -05:00
Subv
e403638d9b
Services/APT: Properly clear the apt parameter after a successful ReceiveParameter call.
2017-07-21 14:59:22 -05:00
Subv
2dc720c355
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
5682608df7
Services/APT: Use boost::optional for the APT parameter structure.
2017-07-21 14:59:20 -05:00
wwylele
49602139c8
debugger/shader: display LOOP
2017-07-20 23:30:34 +03:00
wwylele
b5609e1578
debugger/shader: print the invert flag for JMPU
2017-07-20 23:18:07 +03:00
wwylele
8375fd2aba
debugger/shader: fix address register for reverted arithmetic op
2017-07-20 23:12:08 +03:00
wwylele
98cd5164c5
debugger/shader: fix inverted uniform flow control
2017-07-20 22:47:53 +03:00
bunnei
df8b9863f9
telemetry: Log performance, configuration, and system data.
2017-07-17 21:32:28 -04:00
bunnei
822e8d21ea
Merge pull request #2804 from Kloen/theming
...
citra-qt: UI Themes
2017-07-17 21:30:01 -04:00
Weiyi Wang
924215a41f
Merge pull request #2818 from B3n30/network
...
Enable data transfer over ENet
2017-07-17 17:08:02 +03:00
B3n30
7dbbd8a02e
stubbed frd::UnscrambleLocalFriendCode ( #2827 )
2017-07-16 21:32:08 -05:00
B3n30
77df82f5d6
Network: Changed timeout for receiving packets to 100ms
2017-07-16 21:30:17 +02:00
B3n30
253d3dd3d8
Network: Propagate Room closing to connected members
2017-07-16 21:30:10 +02:00
B3n30
a0626221a5
Network: Made send async in RoomMember
2017-07-16 21:30:04 +02:00
B3n30
859be35d54
Network: Send the game title
2017-07-16 21:29:57 +02:00
B3n30
42e57c1218
Network: Enable sending and receiving chat messages
2017-07-16 21:29:49 +02:00
B3n30
35a0b32553
Network: Handle the disconnect of a client
2017-07-16 21:29:41 +02:00
B3n30
641346c15c
Network: Enable to send WifiPackets
2017-07-16 21:29:34 +02:00
B3n30
ebff5ba514
Network: Init Network in SDL and QT
2017-07-16 21:29:19 +02:00
B3n30
77677e205e
Network: Send JoinRequest and handle the answer in RoomMember
2017-07-16 21:29:11 +02:00
B3n30
2af9a7146d
Network: Handle join request in Room
2017-07-16 21:29:02 +02:00
B3n30
7d9b7394dd
Network: Added Packet class for serialization
2017-07-16 21:28:55 +02:00
B3n30
589dc083a5
Network: Threads for Room and RoomMember
2017-07-16 21:28:47 +02:00
Weiyi Wang
e634b75754
Merge pull request #2784 from wwylele/font-archive
...
load shared font from system archive
2017-07-16 20:12:55 +03:00
bunnei
28c3575679
web_backend: Specify api-version on JSON post.
2017-07-11 18:34:30 -04:00
bunnei
33b012e86b
web_service: Add CMake flag to enable.
2017-07-11 18:33:41 -04:00
bunnei
8af3ebb149
telemetry_session: Use TelemetryJson to submit real telemetry.
2017-07-11 18:33:40 -04:00
bunnei
fd3b4451ec
web_service: Implement JSON serialization of telemetry data.
2017-07-11 18:33:38 -04:00
bunnei
a634efa40e
web_backend: Add initial interface to POST data to Citra Web Services.
2017-07-11 18:33:25 -04:00
wwylele
4feff63ffa
SwRasterizer/Lighting: dist atten lut input need to be clamp
2017-07-11 22:19:00 +03:00
wwylele
56e5425e59
SwRasterizer/Lighting: unify float suffix
2017-07-11 22:15:35 +03:00
wwylele
e415558a4f
SwRasterizer/Lighting: get rid of nested return
2017-07-11 22:15:35 +03:00
wwylele
c6d1472513
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
f13cf506e0
SwRasterizer: only interpolate quat and view when lighting is enabled
2017-07-11 21:35:57 +03:00
wwylele
fe44e843fe
vector_math: remove dead template parameter
2017-07-11 20:08:56 +03:00
wwylele
efc655aec0
SwRasterizer/Lighting: pass lighting state as parameter
2017-07-11 20:06:26 +03:00
wwylele
f3660ba9dd
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
9906feefbd
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
7526af5e52
SwRasterizer/Lighting: Move the lighting enable check outside the ComputeFragmentsColors function.
2017-07-11 19:39:15 +03:00
Subv
b8229a7684
SwRasterizer/Lighting: Do not use global registers state in ComputeFragmentsColors.
2017-07-11 19:39:15 +03:00
Subv
7bc467e872
SwRasterizer/Lighting: Do not use global state in LookupLightingLut.
2017-07-11 19:39:15 +03:00
Subv
37ac2b6657
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
6250f52e93
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
2d69a9b8bf
SwRasterizer: Run clang-format
2017-07-11 19:39:15 +03:00
Subv
73566ff7a9
SwRasterizer: Flip the vertex quaternions before clipping (if necessary).
2017-07-11 19:39:15 +03:00
Subv
2a75837bc3
SwRasterizer: Corrected the light LUT lookups.
2017-07-11 19:39:15 +03:00
Subv
f2d4d5c219
SwRasterizer: Corrected the light LUT lookups.
2017-07-11 19:39:15 +03:00
Subv
80b6fc592e
SwRasterizer: Fixed the lighting lut lookup function.
2017-07-11 19:39:15 +03:00
Subv
10b0bea060
SwRasterizer: Calculate fresnel for fragment lighting.
2017-07-11 19:39:15 +03:00
Subv
46b8c8e1da
SwRasterizer: Calculate specular_1 for fragment lighting.
2017-07-11 19:39:15 +03:00
Subv
be25e78b07
SwRasterizer: Calculate specular_0 for fragment lighting.
2017-07-11 19:39:15 +03:00
Subv
b2f472a2b1
SwRasterizer: Implement primary fragment color.
2017-07-11 19:39:15 +03:00
bunnei
52fbe1e10c
web_service: Add skeleton project.
2017-07-10 00:15:40 -04:00
bunnei
8abf808854
settings: Add telemetry endpoint URL.
2017-07-10 00:15:39 -04:00
bunnei
f7a9d42592
logging: Add WebService as a log cateogry.
2017-07-10 00:15:30 -04:00
Sebastian Valle
669757a97b
Merge pull request #2815 from mailwl/bossp
...
Service/boss:P: Add some functions to FunctionTable
2017-07-08 13:58:40 -05:00
bunnei
6d4bac8522
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
2e37ce01c9
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
8582194a4c
Service/boss:P: Add some functions to FunctionTable
2017-07-01 12:21:38 +03:00
wwylele
8482933db8
gl_rasterizer: use texture buffer for proctex LUT
2017-07-01 11:02:48 +03:00
Kloen
0e428823f0
Remove unnecessary WIN32_LEAN_AND_MEAN macro definition
2017-06-30 01:59:55 +02:00
Sebastian Valle
56d718b2a1
Merge pull request #2793 from Subv/replyandreceive
...
Kernel/SVC: Partially implemented svcReplyAndReceive
2017-06-29 17:05:22 -05:00
Subv
b53fa9514f
Kernel/SVC: Pass the current thread as a parameter to ClientSession::SendSyncRequest.
2017-06-29 12:30:34 -05:00
Yuri Kunde Schlesner
686fde7e52
Merge pull request #2809 from wwylele/texture-copy-fix
...
gpu: fix edge cases for TextureCopy
2017-06-29 09:29:40 -07:00
wwylele
85a448d405
gpu: add comments for TextureCopy
2017-06-29 13:09:23 +03:00
Yuri Kunde Schlesner
a613d45de9
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
f1790e6d91
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
bf16c73260
gpu: fix edge cases for TextureCopy
2017-06-27 23:20:23 +03:00
Sebastian Valle
fa53ccc74b
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
2eb174713b
UDS: Use the ToDS and FromDS fields to properly calculate the AAD used during encryption.
2017-06-26 12:24:14 -05:00
Subv
1f1739d366
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
87168bfe8b
UDS: Run clang-format.
2017-06-26 12:24:11 -05:00
Subv
9befb8c887
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
c3c9175a1c
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
88c93a7436
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
9549eed0be
apt: load shared font from system archive
2017-06-26 01:38:12 +03:00
wwylele
22994607cc
apt/shared_font: don't relocate zero offset
2017-06-26 00:43:23 +03:00
Subv
8feeb81af2
Kernel/ServerSession: Keep track of which threads have issued sync requests.
2017-06-25 14:47:25 -05:00
B3n30
6ba089fafb
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
74cf73f9d3
citra-qt: Add option to configure the UI theme
2017-06-24 05:48:43 +02:00
Kloen
9c2335b984
citra-qt: load ui theme at startup and config change.
2017-06-24 05:48:42 +02:00
Kloen
1355f0f39e
citra-qt: Add Dark theme from https://github.com/ColinDuquesnoy/QDarkStyleSheet
2017-06-24 05:48:42 +02:00
Kloen
bbeb9f1dbb
citra-qt: add new uisetting->theme
2017-06-24 05:48:35 +02:00
Yuri Kunde Schlesner
e192d417ec
Kernel: Implement AcceptSession SVC
2017-06-23 11:26:37 -07:00
Yuri Kunde Schlesner
8c6a8edaca
Kernel: Fix SVC wrapper for CreatePort
...
The return parameters were flipped.
2017-06-23 11:22:04 -07:00
Yuri Kunde Schlesner
aa0f3047d3
Kernel: Implement CreateSessionToPort SVC
2017-06-23 11:22:02 -07:00
Yuri Kunde Schlesner
6d436d7a52
Merge pull request #2798 from yuriks/svc-create-session
...
Kernel: Implement CreateSession SVC
2017-06-23 11:18:49 -07:00
bunnei
cac1133bc4
Merge pull request #2795 from chris062689/master
...
Change default UI background from white to black.
2017-06-22 22:00:03 -04:00
bunnei
8223d18088
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
8978ecb09c
gl_rasterizer: use texture buffer for fog LUT
2017-06-22 20:41:00 +03:00
wwylele
f1e377f57e
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
cdefefc539
Kernel: Fix typo in test name
2017-06-22 02:21:18 -07:00
Yuri Kunde Schlesner
f94093d0fd
Kernel: Implement CreateSession SVC
2017-06-22 00:39:27 -07:00
Yuri Kunde Schlesner
d553135748
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
f2a5a77e27
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
6ae0086b39
Memory: Add TryVirtualToPhysicalAddress, returning a boost::optional
2017-06-21 22:55:18 -07:00
Yuri Kunde Schlesner
326e7c7020
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
72b69cea4b
Merge pull request #2792 from wwylele/lutlutlut
...
gl_rasterizer: fix lighting LUT interpolation
2017-06-21 14:55:23 -07:00
Yuri Kunde Schlesner
f64d0b3f26
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
457659fe01
gl_state: reset 1d textures
2017-06-21 23:13:06 +03:00
wwylele
42f7ca7412
gl_rasterizer: fix glGetUniformLocation type
2017-06-21 23:13:06 +03:00
wwylele
be9e952bdc
gl_rasterizer: manage texture ids in one place
2017-06-21 23:13:06 +03:00
wwylele
ab60414122
gl_rasterizer/lighting: fix LUT interpolation
2017-06-21 23:13:06 +03:00
chris062689
f44b360724
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
c4f0927a62
Merge pull request #2789 from yuriks/misc-kernel
...
Trivial no-op additions
2017-06-21 20:34:12 +03:00
Yuri Kunde Schlesner
b21dfbb295
Merge pull request #2790 from yuriks/remove-movefrom
...
Remove ResultVal::MoveFrom
2017-06-20 22:04:09 -07:00
Yuri Kunde Schlesner
42b198eb0a
Memory: Add enum definitions for the n3DS FCRAM size
2017-06-20 22:03:25 -07:00
Sebastian Valle
96dcccc80c
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
723dc644fa
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
4cb47b0278
ResultVal: Add an rvalue overload of Unwrap()
2017-06-18 18:49:46 -07:00
Yuri Kunde Schlesner
90b8d4dd36
Kernel: Add comment about the extended linear heap area
2017-06-18 18:38:40 -07:00
Yuri Kunde Schlesner
60a882cd50
Kernel/IPC: Add tests for HLERequestContext buffer translation
2017-06-18 16:05:58 -07:00
Yuri Kunde Schlesner
0dfafdbe59
Kernel/IPC: Make HLERequestContext usable from outside kernel
2017-06-18 16:05:12 -07:00
Yuri Kunde Schlesner
d0888f8548
Merge pull request #2776 from wwylele/geo-factor
...
Fragment lighting: implement geometric factor
2017-06-18 14:18:48 -07:00
wwylele
5a454173a8
gl_rasterizer/lighting: use the formula from the paper for germetic factor
2017-06-18 10:29:02 +03:00
Yuri Kunde Schlesner
f6715f98f5
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
812b404492
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
61ce89a55a
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
7efb64132d
UDS: Stub SendTo to generate the unencrypted data frame with the right headers.
2017-06-15 12:08:53 -05:00
Subv
38ceab13f6
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
7052d43a67
gl_rasterizer/lighting: implement geometric factor
2017-06-15 14:59:01 +03:00
Yuri Kunde Schlesner
da1bec121a
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
5fe5ccac42
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
ac168eeb5d
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
791cd14c8d
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
4325a7c82d
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
d8f6000f54
Kernel/IPC: Use boost::small_vector for HLE context objects
2017-06-11 16:34:13 -07:00
Yuri Kunde Schlesner
92ca422088
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
8cb65fe65a
Kernel: Basic support for IPC translation for HLE services
2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner
7656d83df5
Service/sm: Convert srv: to use IPC helpers
2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner
21436f5ef7
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
1c4b0ebb1f
IPC: Add basic HLERequestContext support to RequestParser/Builder
2017-06-11 13:10:16 -07:00
Yuri Kunde Schlesner
05fee70211
Kernel: Add methods in HLERequestContext abstracting handle creation
2017-06-11 13:07:33 -07:00
Yuri Kunde Schlesner
20e5abb308
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
972548e3ee
gl_rasterizer/lighting: Implement tangent mapping
2017-06-11 21:30:53 +03:00
wwylele
40b7d0bf3f
gl_rasterizer/lighting: implement lut input 5 (CP)
2017-06-11 21:30:53 +03:00
Sebastian Valle
39c7c1f580
Merge pull request #2727 from wwylele/spot-light
...
Fragment lighting: implement spot light
2017-06-11 18:23:47 +00:00
wwylele
b3b9468573
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
ba01a8302a
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
9a8a90b52b
Remove unused import in break_points.cpp ( #2763 )
2017-06-08 21:16:46 -07:00
Yuri Kunde Schlesner
78398d0978
Merge pull request #2756 from yuriks/service-framework
...
New service framework
2017-06-08 21:03:03 -07:00
Yuri Kunde Schlesner
6f368abe13
Service/sm: Convert 'srv:' to ServiceFramework
2017-06-08 20:59:19 -07:00
Yuri Kunde Schlesner
838faf147e
Session: Remove/add some forward declarations
2017-06-08 00:33:57 -07:00
Yuri Kunde Schlesner
d666e01cdf
Kernel: Ensure objects are kept alive during ClientSession disconnection
...
Fixes #2760
2017-06-08 00:33:24 -07:00
Yuri Kunde Schlesner
c92a8a6154
Service: Remove a few redundant namespace qualifiers
2017-06-08 00:11:37 -07:00
Yuri Kunde Schlesner
84c497292a
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
8c22334f96
Merge pull request #2737 from Subv/decryptbeacondata
...
Services/UDS: Implement DecryptBeaconData.
2017-06-07 10:08:43 -06:00
Yuri Kunde Schlesner
6dc133c24a
Kernel: Remove some unnecessary namespace qualifications
2017-06-06 14:51:42 -07:00
Subv
d7d0b46fc1
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
d96a9e0c11
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
23ec6b3d8f
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
e5a59ef27c
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
1eee09f364
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
6354d08359
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
7e5dd46cf4
ResultVal: Add more convenience utils for creating and cascading results
2017-06-06 00:51:57 -07:00
Yuri Kunde Schlesner
e626a520ca
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
28d1e73d2f
pica/rasterizer: implement/stub texture wrap mode 4-7
2017-06-04 09:47:25 +03:00
Alex Touchet
e46ec64690
Edit Citra URLs ( #2728 )
2017-06-03 23:51:45 +03:00
Kloen
b763220dec
Remove unused imports in game_list_p.h
2017-06-03 17:43:37 +02:00
TheKoopaKingdom
f008b22e3b
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
ff04320c97
Fixed wiki URLs.
2017-06-02 18:40:39 -04:00
TheKoopaKingdom
59de38b965
Switched to the ERROR_NOT_FOUND constant from errors.h.
2017-06-02 18:40:39 -04:00
TheKoopaKingdom
cea19fd659
Moved whitelist checks from FS_User to the Archive_NCCH handler.
2017-06-02 18:40:27 -04:00
TheKoopaKingdom
a8aef599e0
Created a whitelist of system archives to prevent false positives creating dialogs.
2017-06-02 18:28:14 -04:00
TheKoopaKingdom
0409bdfea5
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
b6bab59000
Added message to status bar to show core errors ignored by the user.
2017-06-02 18:28:14 -04:00
TheKoopaKingdom
37bec598ea
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
1ecb322daa
Added system for handling core errors in citra-qt.
2017-06-02 18:27:56 -04:00
TheKoopaKingdom
e523c76cc8
Fixed encrypted ROM error messages.
2017-06-02 18:25:32 -04:00
bunnei
4857eb441b
Merge pull request #2722 from wwylele/cam-ipc-helper
...
CAM: use IPCHelper
2017-05-31 19:47:37 -04:00
bunnei
af1ff4d3ce
Merge pull request #2739 from yuriks/kernel-reorg
...
Split-up kernel.h
2017-05-31 19:46:15 -04:00
bunnei
54ea95cca7
Merge pull request #2721 from wwylele/texture-cube
...
swrasterizer: implemented TextureCube
2017-05-30 10:21:05 -04:00
wwylele
10906dceec
gl_rasterizer: implement spot light
2017-05-30 10:54:58 +03:00
wwylele
686cbf3ac6
gl_rasterizer: sync spot light status
2017-05-30 10:54:58 +03:00
wwylele
b5addf8fb8
pica: prepare registers for spotlight
2017-05-30 10:54:58 +03:00
Yuri Kunde Schlesner
be031989ee
Kernel: Move HandleTable to a separate file
2017-05-29 17:34:39 -07:00
Yuri Kunde Schlesner
64ecf81a3c
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
a4f88c7d7c
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
9453223075
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
b17754f998
Kernel: Extract dynamic Object pointer cast into its own function
2017-05-29 14:42:27 -07:00
wwylele
0b9bb082c3
swrasterizer: implement TextureCube
2017-05-29 22:28:48 +03:00
wwylele
077cc683e5
pica: add registers for texture cube
2017-05-29 22:03:08 +03:00
Yuri Kunde Schlesner
3df85a103a
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
cebdae6c92
CMake: Create an INTERFACE target for Catch
2017-05-27 22:46:59 -07:00
Yuri Kunde Schlesner
d736cca848
CMake: Create INTERFACE targets for microprofile and nihstro
2017-05-27 22:34:52 -07:00
Yuri Kunde Schlesner
3b68600f81
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
4f84372bc2
CMake: Add cryptopp include path to target property
2017-05-27 22:16:57 -07:00
Yuri Kunde Schlesner
74afcd5328
CMake: Add SoundTouch include path to target property
2017-05-27 22:09:28 -07:00
Yuri Kunde Schlesner
776cb91785
CMake: Define an interface target for SDL2 definitions
2017-05-27 21:38:49 -07:00
Yuri Kunde Schlesner
34b6c8bd88
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
089baa04e8
CMake: Stop using FindOpenGL, which seems to not be required anymore
2017-05-27 20:48:00 -07:00
Yuri Kunde Schlesner
0f563111a2
CMake: Use IMPORTED target for Boost
2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner
4660bc1c78
CMake: Use IMPORTED target for libpng
2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner
7b81903756
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
62f34c8e5c
Citra: Convert include into forward declaration
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner
e91f2b7663
Remove some unnecessary inclusions of video_core.h
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner
eb10f25025
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
6665557ff7
OpenGL: Remove unused RendererOpenGL fields
2017-05-27 18:02:46 -07:00
Yuri Kunde Schlesner
ae095cfb71
Core: Fix some out-of-style includes
2017-05-27 16:31:42 -07:00
Yuri Kunde Schlesner
2579ae543b
Common: Fix some out-of-style includes
2017-05-27 16:14:10 -07:00
Yuri Kunde Schlesner
d1bf7919da
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
857510a7c0
fixup!cam: use IPCHelper
2017-05-27 21:30:07 +03:00
Yuri Kunde Schlesner
96528b3aab
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
669ef82aee
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
90c8d09098
gl_shader: refactor texture sampler into its own function
2017-05-27 01:56:22 +03:00
bunnei
61decd84cc
Merge pull request #2716 from yuriks/decentralized-result
...
Decentralize ResultCode
2017-05-26 11:59:57 -04:00
Yuri Kunde Schlesner
bae3799bd5
Merge pull request #2697 from wwylele/proctex
...
Implemented Procedural Texture (Texture Unit 3)
2017-05-24 21:37:42 -07:00
Yuri Kunde Schlesner
a5810d61da
FS: Remove unused result definition
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
c1a9e94068
Common: Clean up meta-template logic in BitField
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
2cdb40d709
Kernel: Centralize error definitions in errors.h
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
743d18f0e4
GSP_GPU: Move error codes from result.h to local file
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
92be29adba
FileSys: Move all result description to errors.h
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
3b1f0fea31
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
a75145a2c6
Make BitField and ResultCode constexpr-initializable
2017-05-24 21:05:59 -07:00
bunnei
120b00fb1a
telemetry: Log a few simple data fields throughout core.
2017-05-24 19:16:23 -04:00
bunnei
f3e14cae1e
core: Keep track of telemetry for the current emulation session.
2017-05-24 19:16:22 -04:00
bunnei
a4760e939f
common: Add a generic interface for logging telemetry fields.
2017-05-24 19:16:21 -04:00
wwylele
8cd9522526
cam: move u32->u8 trancation to IPCHelper
2017-05-24 12:50:19 +03:00
wwylele
924292f2cc
cam: use IPCHelper
2017-05-24 12:45:36 +03:00
Sebastian Valle
c291db72e7
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
cc566dadd8
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
5b46a89230
fixup! Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.
2017-05-21 18:56:09 -05:00
Subv
37347bfa38
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
188d63fdb6
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
36526c63ef
swrasterizer: add missing tc0_w and fragment lighting attribute processing
2017-05-21 09:09:15 +03:00
wwylele
4d62e75fb2
gl_rasterizer: implement procedural texture
2017-05-20 13:50:50 +03:00
wwylele
ade45b5b99
pica/swrasterizer: implement procedural texture
2017-05-20 13:50:50 +03:00
bunnei
152a012373
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
b70cd0c33f
Merge pull request #2710 from emmauss/ptm_ipc
...
use IPCHelper for PTM services
2017-05-19 11:03:55 -04:00
emmaus
b2e82d16c8
use IPCHelper for PTM services
2017-05-19 08:44:58 +00:00
wwylele
393fee10a2
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
8d558777a6
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
86ee1f6101
pica: correct bit field length for some registers
2017-05-16 19:24:06 +03:00
Subv
f2d5d8cfac
Services/UDS: Use the new IPC helper functions.
2017-05-15 13:05:17 -05:00
Subv
846cc6cee3
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
528dea988c
Services/UDS: Generate the UDS beacons when the beacon callback fires.
2017-05-15 13:05:15 -05:00
Subv
ce5bc477ca
Kernel: Remove a now unused enum and variable regarding a session's status.
2017-05-15 11:22:16 -05:00
Subv
ddfabf3133
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
180587bb8b
Merge pull request #2687 from yuriks/address-mappings
...
Kernel: Map special regions according to ExHeader
2017-05-14 13:52:40 -07:00
Subv
a0874a7a68
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
9bd3986540
Merge pull request #2695 from JayFoxRox/gs-regs
...
Prepare Pica registers for Geometry Shaders
2017-05-12 18:02:45 +03:00
Jannik Vogel
ba722be2ac
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
3fd3775d35
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
925724c990
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
db22b88fea
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
fc2f7b0df6
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
15b26249cc
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
f18d454eb6
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
b4a93cfdde
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
d3db770cad
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
13dd0b88de
Merge pull request #2696 from Subv/vfp_revert
...
Dyncom/VFP: Revert edf30d8
and fix the FPSCR getting invalid values.
2017-05-08 21:38:45 -07:00
Subv
11fe85f129
Dyncom/VFP: Strip the VFP_NAN_FLAG sentinel value when setting vfp exceptions.
2017-05-09 00:36:23 -05:00
Subv
bf45ccfb40
Revert "Remove exceptions
parameter from normaliseround
VFP functions"
...
This reverts commit edf30d84cc
.
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
b1a29371c9
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
d97b977540
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
f0a582b218
Dyncom: Tweak types and log formatting
2017-05-07 15:33:42 -07:00
Yuri Kunde Schlesner
cb4da3975e
Remove unused symbols code
2017-05-07 15:33:39 -07:00
Yuri Kunde Schlesner
6577bbc3c5
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
4af2a1a3d7
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
47e806b084
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
e33558c6ce
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
f9fdaafa04
fixup!ir: implement new 3ds HID via ir:rst
2017-05-07 21:53:27 +03:00
Nico Bosshard
db256ea395
Don’t focus the search field if the game is empty
2017-05-06 12:08:28 +02:00
Yuri Kunde Schlesner
2a01a03375
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
8bee016145
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
039b293092
pica: shader_dirty if texture2 coord changed
2017-05-05 15:35:17 +03:00
wwylele
85116643b2
ir: implement new 3ds HID via ir:rst
2017-05-04 12:59:28 +03:00
bunnei
de1b6cc695
Merge pull request #2606 from wwylele/ir
...
ir: implement circle pad pro
2017-05-03 22:34:12 -04:00
wwylele
0f664ef89d
pica: use correct coordinates for texture 2
2017-05-03 22:12:46 +03:00
wwylele
12bcf64ab5
ir: implement circle pad pro
2017-05-03 09:44:00 +03:00
Nico Bosshard
89c28f9f80
Fixed some more typos
2017-05-03 00:23:20 +02:00
Nico Bosshard
f447dfc36b
citra-qt: game list search function fixed minor mistakes
2017-05-02 23:55:27 +02:00
Nico Bosshard
06d4654966
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
ea53d6085a
Merge pull request #2671 from wwylele/dot3-rgba
...
rasterizer: implement combiner operation 7 (Dot3_RGBA)
2017-04-21 17:03:22 -04:00
wwylele
2c2e872b31
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
5d852467a2
Merge pull request #2666 from yuriks/gl-cleanups
...
PicaShaderConfig cleanups
2017-04-19 22:09:51 -07:00
wwylele
b624a95205
rasterizer: implement combiner operation 7 (Dot3_RGBA)
2017-04-19 23:48:10 +03:00
Yuri Kunde Schlesner
941a3dda8a
Merge pull request #2532 from wwylele/ldrro-ipc
...
ldr_ro: use IPC helper
2017-04-18 00:32:01 -07:00
Yuri Kunde Schlesner
52a4489d65
OpenGL: Pass Pica regs via parameter
2017-04-17 10:34:45 -07:00
wwylele
4ad82f2e5a
input_common/sdl: add support for binding button to axis
2017-04-17 14:14:35 +03:00
wwylele
11ea159aa4
ldr_ro: use IPC helper
2017-04-17 10:11:18 +03:00
Yuri Kunde Schlesner
a6fd4533f6
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
40e28f6217
OpenGL: Move Attributes enum to a more appropriate file
2017-04-16 20:47:04 -07:00
bunnei
6a72bd62b5
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
bf18e584e5
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
172a362884
dsp_dsp: Messages are modified by service before being sent to DSP
2017-04-12 21:33:07 +01:00
Sebastian Valle
26745f28ea
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
6843538f7c
qt: enable config for circle pad pro
2017-04-09 12:05:57 +03:00
Jannik Vogel
1b397c77fa
Pica/Regs: Correct bit width for blend-equations
2017-04-08 18:33:17 +02:00
bunnei
26979cd6ef
Merge pull request #2533 from Lectem/apt_ipchelper
...
IpcHelper enhancement and APT refactor
2017-04-06 14:44:52 -04:00
bunnei
37b7df9c59
Merge pull request #2634 from wwylele/battery
...
shared_page: stub battery state
2017-04-06 14:43:29 -04:00
Lioncash
1631e99eed
citra-qt: Move config dialog code to its own directory
2017-04-03 20:43:13 -06:00
noah the goodra
7ca9dedfd6
error conversion fixes for soc_u
2017-04-03 10:19:42 -05:00
Michael Theall
31f9c1ab5d
Fix OutputDebugString syscall
2017-04-01 04:09:39 -05:00
Sebastian Valle
5c4bd3ef33
Services/UDS: Fixed a style mistake in GetChannel.
2017-03-27 13:08:26 -05:00
Subv
f8f3b27eb3
Services/UDS: Use consistent spelling for WiFi and simplify the GetChannel function.
2017-03-26 08:17:57 -05:00
Subv
0ae6d8be5b
Services/UDS: Signal the connection event when closing down the network.
2017-03-26 08:17:56 -05:00
Subv
d7d5bf411a
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
97f1e62b66
Service/UDS: Schedule an event to broadcast the beacon frames every 102.4ms.
2017-03-26 08:17:53 -05:00
Subv
4243c1198f
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
9771615f16
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
a37c9fb9d3
ptm: create SharedExtSave file before openning it
2017-03-25 14:22:07 +03:00
bunnei
ccc3985cc0
Merge pull request #2512 from SonofUgly/custom-layout
...
Add custom layout settings.
2017-03-21 22:57:31 -04:00
wwylele
f7a0328a6e
shared_page: stub battery state
2017-03-21 13:25:56 +02:00
Lectem
e60b433efa
hopefully fix clang-format issues with old version
2017-03-20 22:47:06 +01:00
bunnei
a48e5c64b6
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
e9c80ea5b7
address more comments
2017-03-19 01:33:56 +01:00
Lectem
979d2000d2
Cast size_t to u32 for PushStaticBuffer usages
2017-03-18 11:56:21 +01:00
Lectem
12ed746477
IPCHelper Skip method + address comments for apt
2017-03-18 11:47:40 +01:00
wwylele
0123411468
apt: fix RequestBuilder parameters for Unwrap
2017-03-18 11:45:19 +02:00
Lectem
77f4fc473f
fix #2560 and other comments
2017-03-18 10:44:01 +01:00
Lectem
fb70c9683c
move push out of class body and add u8 u16 bool specializations
2017-03-18 10:44:01 +01:00
Lectem
501e23ce59
refactor APT service to use the new IPC helpers
2017-03-18 10:44:01 +01:00
wwylele
560884336f
citra-qt: remove dead code
2017-03-17 21:45:29 +02:00
wwylele
5245c86f26
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
423ab5e2bc
Merge pull request #2497 from wwylele/input-2
...
Refactor input emulation & add SDL gamepad support
2017-03-17 14:59:39 -04:00
bunnei
3e7459bbf9
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
709e4fa5d2
Merge pull request #2620 from FernandoS27/syscore_error
...
Refined thread launch on syscore error messages
2017-03-15 21:17:43 -04:00
bunnei
b8332610e6
Merge pull request #2625 from wwylele/hash-console-unique
...
cfg: correctly implement GenHashConsoleUnique
2017-03-15 21:07:54 -04:00
Yuri Kunde Schlesner
6ca816e011
common/cpu_detect: Add missing include and fix namespace scope
2017-03-12 21:55:15 -07:00
wwylele
363f36b904
cfg: implement GenHashConsoleUnique
2017-03-12 12:24:57 +02:00
wwylele
d040a73bed
file_util: Log when using local user directory
2017-03-11 18:31:17 +02:00
Fernando Sahmkow
b5dbc6cb98
Refined thread launch on syscore error messages
2017-03-09 08:18:18 -05:00
wwylele
047a1586fe
file_sys: lower log level for setting host path
2017-03-08 17:47:24 +02:00
wwylele
7cd6cc0fd9
file_util: lower logging level for harmless cases
2017-03-08 17:42:10 +02:00
wwylele
6551a72ec8
loader/ncch: less verbose log for loading game list. only log program ID when booting
2017-03-08 17:37:24 +02:00
wwylele
4b931bb913
loader: lower file name logging level
2017-03-08 17:25:09 +02:00
wwylele
b5faa68120
qt/config_input: don't connect for null button
2017-03-02 13:29:28 +02:00
wwylele
5a692ddaec
citra: update default ini with new input system
2017-03-01 23:30:57 +02:00
wwylele
e02c4b7195
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
e7a602fe16
Qt: rework input configuration for new input system
2017-03-01 23:30:57 +02:00
wwylele
51b1c1f211
InputCommon: add SDL joystick support
2017-03-01 23:30:57 +02:00
wwylele
a6bd7917cb
InputCommon: add AnalogFromButton
2017-03-01 23:30:57 +02:00
wwylele
38e800f70d
InputCommon: add Keyboard
2017-03-01 23:30:57 +02:00
wwylele
70420272ca
HID: use AnalogDevice
2017-03-01 23:30:57 +02:00
wwylele
1d1329af23
HID: use ButtonDevice
2017-03-01 23:30:57 +02:00
wwylele
3974895e08
Input: add device and factory template
2017-03-01 23:30:57 +02:00
wwylele
8a8c0f348b
Common: add ParamPackage
2017-03-01 23:30:57 +02:00
wwylele
85ba60d5ec
Timer: restore missing signaled=true from #2421
2017-02-27 22:49:46 +02:00
bunnei
5e334af369
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
dcf115778a
Fix log entry in timer::signal ( #2600 )
2017-02-27 11:04:03 -05:00
Mat M
0cb52ee74a
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
b250ce21b9
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
174464a87f
PerfStats: Re-order and document members better
2017-02-26 17:22:04 -08:00
Yuri Kunde Schlesner
1469b3212b
Qt: Tweak status bar styling
2017-02-26 17:22:04 -08:00
Yuri Kunde Schlesner
915d69ac4c
Qt: Increase status bar update interval to 2 seconds
2017-02-26 17:22:04 -08:00
Yuri Kunde Schlesner
fb1979d7e2
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
b285c2a4ed
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
f273959205
Qt: Add tooltips to status bar displays
2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner
008c709dbf
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
3b4e400333
Remove built-in (non-Microprofile) profiler
2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner
92c8bd4b1f
PerfStats: Add method to get the instantaneous time ratio
2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner
c75ae6c585
Add performance statistics to status bar
2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner
21f4f49c7a
SynchronizedWrapper: Add Lock convenience method
2017-02-26 17:22:02 -08:00
Yuri Kunde Schlesner
1b28b26682
Qt: Add (empty) status bar
2017-02-26 17:22:02 -08:00
Yuri Kunde Schlesner
441f8b5a4b
Core: Remove unnecessary include in thread.h
2017-02-26 17:22:01 -08:00
wwylele
2d6113de09
IR: separate functions of each port to their own files
2017-02-26 11:11:35 +02:00
bunnei
892888ed9e
Merge pull request #2569 from wwylele/wrap-unwrap
...
APT: implemented Wrap and Unwrap
2017-02-25 00:12:33 -05:00
Yuri Kunde Schlesner
fb5301cf6e
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
26823cd38b
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
4dee08b343
Merge pull request #2441 from jroweboy/titlebar
...
Gui: Change title bar to include build name
2017-02-23 16:24:48 -05:00
SonofUgly
e0a4450bbd
Add custom layout settings.
2017-02-23 10:49:56 -08:00
James Rowe
b090422991
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
a7360f2642
[UI] Modify recursive scanning label ( #2589 )
2017-02-22 21:45:03 -08:00
Subv
0be77c3ae4
Timers: Return an error when calling SetTimer with negative timeouts.
2017-02-21 20:51:56 -05:00
Subv
029a11030e
Timers: Immediately signal the timer if it was started with an initial value of 0.
2017-02-21 20:51:54 -05:00
wwylele
d5b0e275e3
APT: implement Wrap and Unwrap
2017-02-21 23:57:31 +02:00
wwylele
ea1ea0224c
HW: add AES engine & implement AES-CCM
2017-02-21 23:57:31 +02:00
bunnei
bb448ae66f
Merge pull request #2585 from MerryMage/sxtb16-sxtab16
...
dyncom: Correct SXTAB16 and SXTB16
2017-02-19 22:45:46 -05:00
Yuri Kunde Schlesner
7628f3a6fc
Merge pull request #2580 from yuriks/qt-cleanup2
...
Qt cleanups 2
2017-02-19 12:13:52 -08:00
MerryMage
b125388152
dyncom: Correct SXTAB16 and SXTB16
2017-02-18 20:04:54 +00:00
Jannik Vogel
e594e63bb5
OpenGL: Check if uniform block exists before updating it ( #2581 )
2017-02-18 11:46:26 -08:00
Yuri Kunde Schlesner
80762583c2
Qt: Move some connections from .ui file to code
2017-02-18 02:30:29 -08:00
Yuri Kunde Schlesner
5b96915c69
Qt: Reorganize connection of menu events
2017-02-18 02:26:57 -08:00
Yuri Kunde Schlesner
4cb1f36896
Qt: Re-organize setup of debugging widgets
2017-02-18 02:16:24 -08:00
Yuri Kunde Schlesner
e823c908ea
Qt: Fix action name to match conventions
2017-02-18 01:11:57 -08:00
Yuri Kunde Schlesner
cef18c94e2
Qt: Make IsSingleFileDropEvent static
2017-02-17 21:44:00 -08:00
Yuri Kunde Schlesner
c81a2aabbf
Qt: Allow any file extension in Open dialog
2017-02-17 21:44:00 -08:00
Yuri Kunde Schlesner
c7c0219f8a
Qt: Remove orpahned function declaration
2017-02-17 21:44:00 -08:00
Yuri Kunde Schlesner
5f00fe905c
Qt: Remove unnecessary std::string usage
2017-02-17 21:44:00 -08:00
Weiyi Wang
c7c1f56ce6
HID: move enable_accelerometer/gyroscope_count initialization into Init() ( #2574 )
...
Fixes #2556
2017-02-16 22:04:27 -08:00
noah the goodra
6bcd5ce047
added drag n drop feature
2017-02-16 14:43:18 -06:00
Mat M
5472528202
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
e4da1a54cf
core: add missing errors.h in CMakeLists.txt
2017-02-15 15:49:07 +02:00
Weiyi Wang
e085e6a768
video_core: remove #pragma once in cpp file ( #2570 )
2017-02-15 00:16:50 -08:00
Weiyi Wang
fae1efaad4
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
070daf4126
HLE/IPC: Fix uninitialized variables in helpers ( #2568 )
...
Fixes #2567
2017-02-13 21:41:59 -08:00
Yuri Kunde Schlesner
f75e964d49
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
091dd226d6
applied the change suggested by @wwylele
2017-02-13 18:34:02 -06:00
noah the goodra
ded09dc727
NWM changed to NIM
2017-02-13 18:34:01 -06:00
noah the goodra
ad49cec194
turned clang format back on
2017-02-13 18:34:01 -06:00
noah the goodra
1a84bce0f4
added http service enum to the log.h file
2017-02-13 18:34:01 -06:00
Yuri Kunde Schlesner
1bf449d752
Merge pull request #2562 from yuriks/pica-refactor3
...
Re-organize software rasterizer code
2017-02-13 12:04:17 -08:00
Weiyi Wang
dbc94efdb5
Core: add cryptopp library ( #2412 )
2017-02-13 12:03:55 -08:00
Yuri Kunde Schlesner
d60767d393
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
20544977da
loader: use self NCCH archive
2017-02-13 13:57:38 +02:00
wwylele
a0df747325
file_sys: add Self NCCH archive
2017-02-13 13:57:38 +02:00
Yuri Kunde Schlesner
426fda1d52
SWRasterizer: Move more framebuffer functions to file
2017-02-12 18:13:04 -08:00
Yuri Kunde Schlesner
1683cb0ec9
SWRasterizer: Move texturing functions to their own file
2017-02-12 18:12:37 -08:00
Yuri Kunde Schlesner
f9026e8a7a
SWRasterizer: Convert large no-capture lambdas to standalone functions
2017-02-12 18:11:05 -08:00
Yuri Kunde Schlesner
e1ad7d69b9
SWRasterizer: Move framebuffer operation functions to their own file
2017-02-12 18:11:03 -08:00
Yuri Kunde Schlesner
e24717bca0
VideoCore: Move software rasterizer files to sub-directory
2017-02-12 18:08:11 -08:00
Yuri Kunde Schlesner
e10b11a5d0
video_core/shader: Document sanitized MUL operation
2017-02-12 13:29:14 -08:00
Yuri Kunde Schlesner
443bb3d522
Merge pull request #2550 from yuriks/pica-refactor2
...
Small VideoCore cleanups
2017-02-12 12:33:26 -08:00
Kloen Lansfiel
30ff675f02
citra-qt: Don't attempt to scan files with unsupported extensions ( #2402 )
2017-02-12 12:28:56 -08:00
Yuri Kunde Schlesner
da6a40e3d1
core: Free AppLoader on shutdown to release file ( #2558 )
...
Fixes #2455
2017-02-11 03:29:46 -08:00
Weiyi Wang
0dd007e9ba
hid: remove the touch field from PadState ( #2557 )
2017-02-11 01:11:42 -08:00
Yuri Kunde Schlesner
e2fa1ca5e1
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
553e672777
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
bfb1531352
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
af65e1c0a0
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
60fc0b086f
VideoCore: Split regs.h inclusions
2017-02-09 00:04:24 -08:00
Yuri Kunde Schlesner
f241bb72f5
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
602f57da38
VideoCore: Use union to index into Regs struct
...
Also remove some unused members.
2017-02-08 22:13:25 -08:00
Yuri Kunde Schlesner
2889372e47
Merge pull request #2482 from yuriks/pica-refactor
...
Split up monolithic Regs struct
2017-02-08 22:07:34 -08:00
Lectem
f146a6d45a
Use std::array<u8,2> instead of u8[2] to fix MSVC build
2017-02-05 14:55:51 +01:00
Weiyi Wang
a1393dc70c
Merge pull request #2027 from Lectem/ipcrefactor
...
IPC helper
2017-02-05 10:22:13 +02:00
Lectem
2ee472b9c7
fix wwylele's comment and use typename in templates
2017-02-05 00:29:07 +01:00
Yuri Kunde Schlesner
5759d94b5c
VideoCore: Move Regs to its own file
2017-02-04 13:59:12 -08:00
Yuri Kunde Schlesner
f7c7f422c6
VideoCore: Split shader regs from Regs struct
2017-02-04 13:59:11 -08:00
Yuri Kunde Schlesner
8fca90b5d5
VideoCore: Split geometry pipeline regs from Regs struct
2017-02-04 13:59:11 -08:00
Yuri Kunde Schlesner
f443c7e5b0
VideoCore: Split lighting regs from Regs struct
2017-02-04 13:59:11 -08:00
Yuri Kunde Schlesner
23713d5dee
VideoCore: Split framebuffer regs from Regs struct
2017-02-04 13:59:11 -08:00
Yuri Kunde Schlesner
9017093f58
VideoCore: Split texturing regs from Regs struct
2017-02-04 13:59:09 -08:00
Yuri Kunde Schlesner
000e78144c
VideoCore: Split rasterizer regs from Regs struct
2017-02-04 13:08:47 -08:00
Yuri Kunde Schlesner
97e06b0a0d
Merge pull request #2476 from yuriks/shader-refactor3
...
Oh No! More shader changes!
2017-02-04 13:02:48 -08:00
Yuri Kunde Schlesner
c74787a11c
Pica/Texture: Move part of ETC1 decoding to new file and cleanups
2017-02-04 12:33:28 -08:00
Yuri Kunde Schlesner
09a750e866
Pica/Texture: Simplify/cleanup texture tile addressing
2017-02-04 12:33:25 -08:00
Yuri Kunde Schlesner
a1c9ac7845
VideoCore: Move LookupTexture out of debug_utils.h
2017-02-04 12:31:40 -08:00
Yuri Kunde Schlesner
9590c932ec
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
ba7cdce46d
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
a630fa287e
Merge pull request #2518 from MerryMage/coproc
...
arm_dynarmic: Coprocessor support
2017-02-03 18:22:28 -08:00
bunnei
632562f5cf
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
c330dcd3fd
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
e2815408fd
arm_dynarmic: Update memory interface
2017-02-03 17:32:51 +00:00
MerryMage
2b36d4c9d7
arm_dynarmic: CP15 support
2017-02-03 17:32:47 +00:00
wwylele
6dc1d6e568
ShaderJIT: add 16 dummy bytes at the bottom of the stack
2017-02-03 14:53:38 +02:00
mailwl
a53714acd3
GSP_GPU::StoreDataCache stubbed ( #2428 )
2017-02-02 23:07:44 -08:00
noah the goodra
a0874d9b64
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
6c41d87a9d
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
d0bf7df5ba
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
0b9c59ff22
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
f7e96dc068
shader_jit_x64_compiler: esi and edi should be persistent ( #2500 )
2017-01-31 00:38:31 -08:00
noah the goodra
a2d0e2d807
file_util: Fixed implicit type conversion warning ( #2503 )
2017-01-30 20:08:00 -08:00
mailwl
0b0c5672c8
Core: update Kernel Config Memory to latest version (11.2)
2017-01-30 11:29:00 +03:00
Jake Merdich
ff28080091
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
1410aa1824
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
a925473995
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
37a4ea046d
VideoCore: Make PrimitiveAssembler const-correct
2017-01-29 21:31:38 -08:00
Yuri Kunde Schlesner
dcdffabfe6
VideoCore: Extract swrast-specific data from OutputVertex
2017-01-29 21:31:38 -08:00
Yuri Kunde Schlesner
8ed9f9d49f
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
d36ec905b1
Common: Optimize BitSet iterator
2017-01-29 21:31:38 -08:00
Yuri Kunde Schlesner
92bf5c88e6
VideoCore: Split shader output writing from semantic loading
2017-01-29 21:31:37 -08:00
Yuri Kunde Schlesner
335df895b9
VideoCore: Consistently use shader configuration to load attributes
2017-01-29 21:31:37 -08:00
Yuri Kunde Schlesner
fccb28d2e9
VideoCore: Use correct register for immediate mode attribute count
2017-01-29 21:31:36 -08:00
Yuri Kunde Schlesner
ab6954e942
VideoCore: Rename some types to more accurate names
2017-01-29 21:31:36 -08:00
Yuri Kunde Schlesner
bbc7844021
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
eee37b857b
video_core: gl_rasterizer_cache.cpp removed unused type alias
2017-01-30 05:18:28 +01:00
Kloen
6a3a3964b0
video_core: gl_rasterizer.cpp removed unused type alias
2017-01-30 05:16:48 +01:00
Yuri Kunde Schlesner
5bb6753f2e
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
f111cd66ce
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
1016e31fc7
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
b3a0b1489b
core: inline CPU, 132 warnings fixed on GCC
2017-01-30 00:12:07 +01:00
Kloen
28da285031
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
2ca3beb9d3
core: fix err_f.cpp warning about unhandled enumeration value on OSX
2017-01-29 22:01:19 +01:00
Kloen
f352a741d3
core: fix savedata_archive.cpp warnings about unhandled enumeration values on OSX
2017-01-29 21:50:25 +01:00
Kloen
c4f9cd3559
core: fix archive_sdmc.cpp warnings about unhandled enumeration value on OSX
2017-01-29 21:49:36 +01:00
Kloen
f14a53abd0
core: fix archive_extsavedata.cpp warning on OSX
2017-01-29 21:48:40 +01:00
Kloen
4652d70572
video_core: silence unused-local-typedef boost related warning on GCC
2017-01-29 21:24:24 +01:00
Kloen
ff7d68d743
core: emu_window.cpp, fix conversion warnings from float to s16 on MSVC
2017-01-29 16:39:31 +01:00
Kloen
818b1730a9
common: add <cstddef> to hash.h
2017-01-28 15:30:18 +01:00
Kloen
2fa0971ceb
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
3545b144f1
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
bf14f4be22
Merge pull request #2346 from yuriks/shader-refactor2
...
More shader refactoring
2017-01-27 14:29:10 -03:00
Kloen Lansfiel
f852369986
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
0e9081b973
VideoCore/Shader: Move entry_point to SetupBatch
2017-01-25 18:53:25 -08:00
Yuri Kunde Schlesner
0f64274145
VideoCore/Shader: Move per-batch ShaderEngine state into ShaderSetup
2017-01-25 18:53:25 -08:00
Yuri Kunde Schlesner
6fa3687afc
Shader: Remove OutputRegisters struct
2017-01-25 18:53:25 -08:00
Yuri Kunde Schlesner
9ea5eacf91
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
1a2acc3baa
Shader: Don't read ShaderSetup from global state
2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner
fa4ac279a7
shader_jit_x64: Don't read program from global state
2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner
ade7ed7c5f
VideoCore/Shader: Move ProduceDebugInfo to InterpreterEngine
2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner
a9b7752b9d
Debugger: Always use interpreter for shader debugging
2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner
114d6b2f97
VideoCore/Shader: Split interpreter and JIT into separate ShaderEngines
2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner
8eefc62833
VideoCore/Shader: Rename shader_jit_x64{ => _compiler}.{cpp,h}
2017-01-25 18:53:23 -08:00
Yuri Kunde Schlesner
dd4a1672a7
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
bd82cffd0b
VideoCore/Shader: Add constness to methods
2017-01-25 18:53:23 -08:00
Yuri Kunde Schlesner
1e1f939817
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
e3caf669b0
VideoCore/Shader: Use self instead of g_state.vs in ShaderSetup
2017-01-25 18:53:23 -08:00
Yuri Kunde Schlesner
34d581f2dc
VideoCore/Shader: Extract input vertex loading code into function
2017-01-25 18:53:20 -08:00
Yuri Kunde Schlesner
3feb3ce283
Merge pull request #2434 from mailwl/nfc-amiibo
...
Service/NFC: stub some functions
2017-01-25 23:47:56 -03:00
Kloen
5cc94c17f6
video_core: fix shader.cpp signed / unsigned warning
2017-01-23 16:53:31 +01:00
Kloen
753fea5d65
video_core: gl_rasterizer float to int warning
2017-01-23 16:53:30 +01:00
Kloen
b6063d9a93
video_core: fix gl_rasterizer warning on MSVC
2017-01-23 16:53:30 +01:00
Kloen
095f7c83fc
core: fix mic_u warnings on MSVC
2017-01-23 16:53:05 +01:00
Kloen
abc5c134a3
Removed unused and outdated external qhexedit
2017-01-22 18:46:48 +01:00
Kloen
380c165339
citra-qt: Removed unused and unimplemented ramview files.
2017-01-22 18:42:15 +01:00
wwylele
2c7676d371
HID: reset acceleroeter and gyroscope index in Init
2017-01-20 23:33:50 +02:00
wwylele
0045ea662f
CFG: override language setting on boot
2017-01-19 10:28:35 +02:00
Thomas Farr
bb1f277db1
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
47960b0659
CoreTiming: use named constant for ARM11 clock rate
2017-01-16 09:59:16 +02:00
wwylele
3c333c53f1
HID: manages updating itself using correct ticks
2017-01-16 09:51:44 +02:00
mailwl
efe7e245b2
Service/NFC: stub some functions
...
Tested on: Mini-Mario & Friends - amiibo Challenge
2017-01-14 16:15:16 +03:00
mailwl
b458d7447c
GSP::WriteHWRegsWithMask: fix register mask
2017-01-14 13:37:04 +03:00
bunnei
ba271f6569
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
1d088c637c
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
7ddfd3054d
Merge pull request #2425 from Subv/cleanup_todos
...
Implement some TODOs in the code.
2017-01-12 10:14:30 -05:00
bunnei
597a7c615c
Merge pull request #2308 from mailwl/ac-i
...
Service/AC: add ac:i service
2017-01-12 10:12:46 -05:00
Subv
1ddff14511
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
f2f2572fed
Thread: Added priority range checking to svcSetThreadPriority and removed priority clamping code from Thread::SetPriority.
2017-01-11 16:38:04 -05:00
Subv
5ddc2e09b1
Y2R: Use the proper error code when GetStandardCoefficient receives an invalid value.
2017-01-11 16:38:03 -05:00
Kloen
8d48798f1c
QT: Fix ui file format
2017-01-11 13:52:26 +01:00
Kloen
551fe3dd69
QT: Fix some UI related warnings
2017-01-11 13:52:01 +01:00
Kloen
a851aa4cf1
SDL2: Config.cpp fix double to float warning
2017-01-11 13:32:02 +01:00
wwylele
cf3a272332
CAM: implement basic camera functions with a blank camera
2017-01-11 11:46:44 +02:00
bunnei
84d72fd92f
Merge pull request #2397 from Subv/pulse
...
Kernel: Implemented Pulse event and timers.
2017-01-10 10:45:00 -05:00
bunnei
9fc8ead842
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
7cfe3ef046
Merge pull request #1951 from wwylele/motion-sensor
...
Emulate motion sensor in frontend
2017-01-07 12:39:20 -05:00
bunnei
22ad9094e6
config: Add option for specifying screen resolution scale factor.
2017-01-07 03:23:22 -05:00
bunnei
b5eac78b43
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
59f4f1d7ff
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
f0199a17f6
Kernel: Fix SharedMemory objects always returning error when addr = 0 ( #2404 )
...
Closes #2400
2017-01-06 08:21:22 -05:00
bunnei
1c792389e6
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
fc2266130b
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
5e2a8ebabf
Kernel: Remove some unused functions.
2017-01-05 13:17:06 -05:00
Subv
933df2606a
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
e52ca85711
Kernel: Implemented Pulse event and timers.
...
Closes #1904
2017-01-05 13:06:17 -05:00
Subv
4251eb26ec
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
f20d872643
Merge pull request #2393 from Subv/synch
...
Kernel: Mutex priority inheritance and synchronization improvements.
2017-01-05 12:55:01 -05:00
Subv
dda4ec93be
Kernel: Add some asserts to enforce the invariants in the scheduler.
2017-01-05 09:40:18 -05:00
Subv
7f1dca8cd2
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
fd95b6ee26
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
cef5f45de2
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
d3ff5b91e1
Kernel/Mutex: Propagate thread priority changes to other threads inheriting the priority via mutexes
2017-01-04 15:58:48 -05:00
Subv
b6a0355568
Kernel/Mutex: Update a mutex priority when a thread stops waiting on it.
2017-01-04 15:58:47 -05:00
Subv
7abf185390
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
e6a7723f2f
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
38a90882a4
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
c18cb1b192
Fix some warnings ( #2399 )
2017-01-04 13:48:29 -03:00
Yuri Kunde Schlesner
e2de82543b
Merge pull request #2382 from mailwl/nfc
...
Service/NFC: stub GetTagInRangeEvent
2017-01-03 12:56:02 -03:00
Lectem
ee6e88fdb5
fix comments alignment
2016-12-30 15:55:42 +01:00
Sebastian Valle
f7dd8d5e81
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
f2985f7080
Service/NFC: stub GetTagInRangeEvent
...
Fix Fatal Error in Mini-Mario & Friends - amiibo Challenge
2016-12-30 09:40:54 +03:00
mailwl
c6f4b93f2e
Service/AC: add ac:i service
2016-12-30 09:20:11 +03:00
bunnei
02b4b2ed6e
config: SDL: Move background color setting to correct section.
2016-12-30 00:35:38 -05:00
bunnei
f556d6ee90
Merge pull request #2240 from wwylele/auto-region
...
Config: auto-select region and language
2016-12-29 22:09:01 -05:00
wwylele
d7d40b3c56
Frontend: make motion sensor interfaced thread-safe
2016-12-29 21:18:36 +02:00
bunnei
2f746e9946
Merge pull request #2367 from JayFoxRox/lighting-lut-quickfix
...
Lighting LUT Quickfix
2016-12-29 13:41:51 -05:00
wwylele
f927beb5e2
Core: remove unused hle.cpp
2016-12-27 10:27:48 +02:00
Lectem
f91c51467a
move Pop methods out of class body
2016-12-26 14:42:06 +01:00
Lectem
8baae9d982
IPC helpers example
2016-12-26 14:07:29 +01:00
Lectem
8f2b642415
IPC helpers
2016-12-26 14:07:29 +01:00
wwylele
bcf9d20d57
Frontend: emulate motion sensor
2016-12-26 10:52:16 +02:00
wwylele
6479f63091
Common: add Quaternion
2016-12-26 10:41:26 +02:00
wwylele
2e6d8e1321
vector math: add implementation of Length and Normalize
2016-12-26 10:41:26 +02:00
wwylele
55f5d0f777
MathUtil: add PI constant
2016-12-26 10:41:26 +02:00
wwylele
2a069e76a5
Common::Event: add WaitUntil
2016-12-26 10:41:26 +02:00
Jannik Vogel
6ed4206f87
Minor cleanup in GLSL code
2016-12-25 21:38:10 +01:00
Jannik Vogel
88f409aec9
Offset lighting LUT samples correctly
2016-12-25 21:37:26 +01:00
wwylele
fe2ed4bf72
Core: reset cpu_core in Shutdown to make IsPoweredOn work properly
2016-12-24 20:55:38 +02:00
bunnei
51dd13b8a0
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
56e4066f4f
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
488b7a4041
file_util: fix missing sysdata path
2016-12-23 22:19:14 +02:00
MerryMage
64f98f4d0f
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
069a88dad7
Service/NWM: add nwm services
2016-12-22 22:51:27 +03:00
bunnei
76890672a0
Merge pull request #2366 from MerryMage/MemoryReadCode
...
arm_dynarmic: Provide MemoryReadCode callback
2016-12-22 14:25:15 -05:00
bunnei
aa47af7fb6
Merge pull request #2343 from bunnei/core-cleanup
...
Core: Top-level consolidate & misc cleanup
2016-12-22 11:47:44 -05:00
MerryMage
f8cf87ce34
arm_dynarmic: Provide MemoryReadCode callback
...
Change of interface in dynarmic 36082087ded632079b16d24137fdd0c450ce82ea
2016-12-22 16:07:14 +00:00
bunnei
17d740299a
Merge pull request #2285 from mailwl/csnd-format
...
csnd:SND: Reformat source code
2016-12-22 00:47:50 -05:00
bunnei
8b1e269e58
ThreadContext: Move from "core" to "arm_interface".
2016-12-22 00:27:49 -05:00
bunnei
e26fbfd1d7
core: Replace "AppCore" nomenclature with just "CPU".
2016-12-22 00:27:46 -05:00
bunnei
7623957f80
Merge pull request #2361 from lioncash/disasm
...
disassembler: Remove mutable specifier from breakpoints member variable
2016-12-22 00:15:06 -05:00
bunnei
5ac5cbeab7
Address clang-format issues.
2016-12-21 23:48:14 -05:00
bunnei
4fc8b8229e
core: Remove HLE module, consolidate code & various cleanups.
2016-12-21 23:48:13 -05:00
bunnei
232ef55c1a
core: Consolidate core and system state, remove system module & cleanups.
2016-12-21 23:29:13 -05:00
bunnei
707cc66362
file_util: Remove unused paths.
2016-12-21 23:29:12 -05:00
bunnei
198b6c9bdd
core: Consolidate top-level system state into a singleton.
2016-12-21 23:29:04 -05:00
bunnei
81e22ae8c7
loader: Remove duplicate docstrings.
2016-12-21 23:27:50 -05:00
Lioncash
8309d0dade
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
f2c307557a
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
29564d73bd
Merge pull request #2319 from yuriks/profile-scopes
...
VideoCore: Make profiling scope more representative
2016-12-21 13:33:49 -05:00
bunnei
c4491352b3
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
cc1f2c131b
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
ddec9cb369
Use GL_TRUE when setting color_mask
2016-12-19 19:06:35 +01:00
bunnei
3a1eaf2efc
Merge pull request #2318 from yuriks/trace-opt
...
VideoCore: Inline IsPicaTracing
2016-12-18 21:15:24 -05:00
bunnei
dac86b61ee
Merge pull request #2351 from CaptV0rt3x/master
...
Fixed game_list focus issue.
2016-12-18 16:12:21 -05:00
bunnei
4c45611a2b
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
393a0f99da
line fixup for travis ci
2016-12-19 00:52:54 +05:30
Vamsi Krishna
77f4743199
screen swap - Hotkey mapping
2016-12-19 00:49:57 +05:30
Vamsi Krishna
0db22eadd5
Fixed GPLv2 license text in the start.
2016-12-19 00:06:27 +05:30
Vamsi Krishna
27217c621b
Fixed game_list focusing issue.
...
added line render_window->setFocus();
2016-12-18 16:13:51 +05:30
bunnei
4798b1d04d
Revert "Memory: Always flush whole pages from surface cache"
2016-12-17 19:13:33 -05:00
wwylele
5728e42634
Thread: remove the thread from the thread list when exiting
2016-12-17 19:23:52 +02:00
Yuri Kunde Schlesner
2ca548bbe5
Merge pull request #2335 from yuriks/shader-refactor
...
Misc. Shader refactors
2016-12-16 20:45:57 -08:00
bunnei
d30d6f81aa
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
ca5a8966ac
Merge pull request #2337 from lioncash/gdb
...
gdbstub: const correctness changes
2016-12-16 11:32:33 -05:00
Merry
acc83a1c32
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
4c9b80cee3
Kernel: remove object's waiting thread if it is dead
2016-12-16 12:33:18 +02:00
Lioncash
38a964735f
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
c135317de1
VideoCore/Shader: Extract DebugData out from UnitState
2016-12-16 00:16:25 -08:00
Yuri Kunde Schlesner
6e7e767645
Remove unnecessary cast
2016-12-16 00:15:55 -08:00
Yuri Kunde Schlesner
b5e3599704
VideoCore/Shader: Extract evaluate_condition lambda to function scope
2016-12-16 00:15:51 -08:00
Yuri Kunde Schlesner
960578f4e1
VideoCore/Shader: Extract call lambda up a scope and remove unused param
2016-12-15 23:08:05 -08:00
Yuri Kunde Schlesner
e4e962bc7c
VideoCore/Shader: Remove dynamic control flow in (Get)UniformOffset
2016-12-15 23:08:05 -08:00
Yuri Kunde Schlesner
d27cb1dedc
VideoCore/Shader: Move DebugData to a separate file
2016-12-15 23:08:05 -08:00
bunnei
cda7210fad
Merge pull request #2260 from Subv/scheduling
...
Threading: Reworked the way our scheduler works.
2016-12-16 00:41:22 -05:00
bunnei
a89471621b
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
2427a5e976
Merge pull request #2328 from wwylele/fix-trace
...
Fix debug build from #2249
2016-12-15 21:06:12 -08:00
Yuri Kunde Schlesner
7524a55133
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
63e8174caa
Merge pull request #2320 from mailwl/cecd-update
...
Service/CECD: Add cecd:ndm service
2016-12-15 21:01:51 -08:00
bunnei
9dc43d3720
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
a7cd452ea1
FS: fix debug build from #2249
2016-12-16 00:22:36 +02:00
Lioncash
ba20dd9b61
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
3e4cc6b3d2
Merge pull request #2330 from lioncash/pragma
...
core: Add missing #pragma once directives where applicable
2016-12-15 16:06:43 -05:00
Lioncash
3faa675d6b
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
2f3c1bdfb4
core: Add missing #pragma once directives where applicable
2016-12-15 15:40:51 -05:00
Lioncash
d467b5ce4f
act: Fix docstring typo
...
These aren't the AM services.
2016-12-15 14:51:45 -05:00
Yuri Kunde Schlesner
1abb98202c
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
bdb6956879
Merge pull request #2314 from mailwl/account
...
Service/ACT: move ACT services to folder
2016-12-15 13:51:29 -05:00
MerryMage
5a4e1b469d
main: Open folder when open save folder location context menu is clicked
2016-12-15 18:43:11 +00:00
MerryMage
f50dcc88bf
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
351b5d23f4
loader: Implement ReadProgramId
2016-12-15 18:42:38 +00:00
Yuri Kunde Schlesner
fb9e856b91
shader_jit_x64: Use LOOPCOUNT_REG as a 64-bit reg when indexing
2016-12-15 10:02:42 -08:00
MerryMage
40b0ea1086
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
f2b9be9bd3
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
7f27be1521
Service/CECD: Add cecd:ndm service
2016-12-15 09:52:40 +03:00
Yuri Kunde Schlesner
ac9f937477
VideoCore: Make profiling scope more representative
2016-12-14 22:52:09 -08:00
Yuri Kunde Schlesner
945f554b84
VideoCore: Inline IsPicaTracing
...
Speeds up ALBW main menu slightly (~3%)
2016-12-14 22:06:40 -08:00
Yuri Kunde Schlesner
f00ada3363
VideoCore: Eliminate an unnecessary copy in the drawcall loop
2016-12-14 21:00:29 -08:00
Yuri Kunde Schlesner
bde54333df
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
905fc92ce1
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
5ff3206207
shader_jit_x64: Use Reg32 for LOOP* registers, eliminating casts
2016-12-14 20:06:09 -08:00
Yuri Kunde Schlesner
f4e98ecf3f
VideoCore: Convert x64 shader JIT to use Xbyak for assembly
2016-12-14 20:06:08 -08:00
Subv
016307ae65
Fixed the codestyle to match our clang-format rules.
2016-12-14 12:45:36 -05:00
Subv
5b1edc6ae7
Fixed the codestyle to match our clang-format rules.
2016-12-14 12:35:01 -05:00
mailwl
5dea1faedd
Service/ACT: move ACT services to folder
2016-12-14 09:05:46 +03:00
freiro
b7b2627b37
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
fb952c399e
Common: Fix gcc build on macOS
2016-12-13 10:20:33 -08:00
JamePeng
ac2ed18a3b
Minor amendment of GSP_GPU::ImportDisplayCaptureInfo code
2016-12-13 17:01:53 +08:00
Yuri Kunde Schlesner
7eeb6d9608
Merge pull request #2312 from lioncash/guard
...
time_stretch: Add missing #pragma once directive
2016-12-12 22:21:09 -08:00
Lioncash
efcab1e918
time_stretch: Add missing #pragma once directive
2016-12-12 19:16:46 -05:00
mailwl
1238e48c58
csnd:SND reformat source code
2016-12-12 21:19:36 +03:00
Sebastian Valle
0f28ed9ce8
Merge pull request #2275 from jbeich/pthread
...
Unbreak QT-only build after 75ee2f8c67
2016-12-11 14:45:35 -05:00
Sebastian Valle
2589c30cbe
Merge pull request #2267 from JayFoxRox/fix-mingw-cc
...
Support mingw cross-compilation
2016-12-11 14:44:21 -05:00
mailwl
e53cd12c42
APT::GetStartupArgument: force clear startup argument
2016-12-11 22:36:12 +03:00
freiro
031fc3a460
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
d0e4d1182b
citra-qt: Make constructors explicit where applicable
2016-12-11 14:18:06 +00:00
freiro
942f70951d
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
327b23e4ce
citra-qt: Add missing #pragma once directives
2016-12-11 12:12:03 +00:00
Lioncash
3bbd35dde9
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
7402001787
game_list: Make the constructor explicit
2016-12-11 11:45:50 +00:00
Lioncash
db33d7668e
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
aa05d36823
game_list: Replace 0 literals with nullptr
2016-12-11 11:45:50 +00:00
Lioncash
dd4582f85d
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
fd3d56740e
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
143bc8713d
[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
926e18d25c
Merge pull request #2300 from lioncash/qt
...
graphics_cmdlist: Minor changes
2016-12-11 01:42:43 -08:00
Lioncash
4e7092881f
graphics_cmdlists: Get rid of variable shadowing
2016-12-11 04:33:24 -05:00
Emmanuel Gil Peyrot
643e590b5c
Core: Add a forgotten #include <cstring> for memcpy.
2016-12-11 01:20:45 +00:00
Lioncash
1e5644935d
graphics_cmdlists: Get rid of an unused variable
2016-12-10 20:01:27 -05:00
Lioncash
f1ee7e4e0e
graphics_cmdlists: Make LoadTexture and TextureInfoWidget src arguments const
2016-12-10 20:01:22 -05:00
Lioncash
dcb8113347
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
963aedd8cc
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
a2d474386c
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
406907d570
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
42edd7911e
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
cef0f5b5a7
audio_core: SelectSink should default to auto if sink_id is invalid
2016-12-10 01:26:22 +00:00
bunnei
6edb024d38
Merge pull request #2291 from lioncash/svc
...
service: Add the cfg:nor service
2016-12-09 14:15:20 -05:00
Subv
ebbb55ec8f
Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass.
2016-12-09 12:52:12 -05:00
Subv
deb83c9fc5
Kernel/IPC: Small codestyle cleanup
2016-12-09 12:39:12 -05:00
Subv
17b29d8865
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
a2d69adad1
service: Add cfg:nor service
2016-12-09 05:07:41 -05:00
Yuri Kunde Schlesner
a5cd925a95
Merge pull request #2292 from lioncash/bool
...
ptm: Use boolean instead of integral value
2016-12-09 01:43:57 -08:00
Lioncash
934b8ffcf8
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
823d58ac9b
service: Drop '_Interface' from cfg service names
2016-12-09 01:08:35 -05:00
Yuri Kunde Schlesner
18bf4acb9b
Merge pull request #2287 from lioncash/svc
...
service: Minor PTM changes
2016-12-08 19:34:32 -08:00
Sebastian Valle
998390ac1a
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
5719467add
Fixed the gpu command list size when creating CiTraces.
2016-12-08 15:21:02 -05:00
Subv
386112da32
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
f9bcf89510
Use std::move where appropriate.
2016-12-08 11:06:19 -05:00
Lioncash
007815647c
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
56656b75ab
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
cd778cf991
service: Drop '_Interface' in ptm service class names
...
Inheriting from Service::Interface makes this obvious.
2016-12-08 06:13:04 -05:00
Lioncash
41c03f481a
service: Add ptm::gets and ptm::sets services
2016-12-08 05:43:08 -05:00
Yuri Kunde Schlesner
1840685ee8
Merge pull request #2286 from lioncash/svc
...
service: Add mvd and qtm services
2016-12-08 01:49:45 -08:00
Yuri Kunde Schlesner
6ad2a7aeb2
Merge pull request #2274 from degasus/master
...
Drop framebuffer completeness check.
2016-12-08 01:36:42 -08:00
Lioncash
2061d2014d
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
d098d941d7
Merge pull request #2284 from lioncash/svc
...
service: Add nfc services
2016-12-08 00:34:09 -08:00
Yuri Kunde Schlesner
63d3dd5262
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
e8a960f6a1
service: Add nfc services
...
3dbrew was used for the command information.
2016-12-08 03:24:41 -05:00
Yuri Kunde Schlesner
43558dc40a
Merge pull request #2283 from lioncash/svc
...
service: Update function tables
2016-12-07 22:45:12 -08:00
Yuri Kunde Schlesner
bc48e2bda6
Merge pull request #2281 from lioncash/applet
...
applet: minor interface changes
2016-12-07 22:36:40 -08:00
Lioncash
a09602d6f6
ssl_c: Update function table
...
Updated based off information from 3dbrew
2016-12-08 00:57:53 -05:00
Lioncash
ab900f8a25
ptm: Update ptm_sysm function table
...
Updated based off information from 3dbrew.
2016-12-08 00:57:53 -05:00
Lioncash
c67dae54b9
pm_app: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:57:45 -05:00
Lioncash
9f2ad62084
nwm_uds: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
4a150a8f3c
nim: Update function tables
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
c4bcd5c4ac
http_c: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
65d94857c3
gsp_lcd: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
006e6a7f4a
fs_user: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:46 -05:00
Lioncash
093aa35c87
dlp_srvr: Update function table
2016-12-08 00:56:46 -05:00
Lioncash
733c8890aa
cfg: Update function tables
...
Updated based off information from 3dbrew
2016-12-08 00:56:46 -05:00
Lioncash
0229983ff2
cecd_u: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:46 -05:00
Lioncash
4ebdb7e3e1
boss_p: Update function table
2016-12-08 00:56:45 -05:00
Lioncash
74b3f0faa7
act: Update function tables
...
Updated based off information from 3dbrew.
2016-12-08 00:56:39 -05:00
Lioncash
258694996f
apt: Update apt function tables
...
Updated based off information from 3dbrew.
2016-12-07 22:53:10 -05:00
Lioncash
26ea6b9546
Update AM service function tables
...
Updated based off information from 3dbrew.
2016-12-07 20:55:59 -05:00
Lioncash
5e9f1ec096
file_sys: Make a few single-argument constructors explicit
...
Prevents implicit conversions.
2016-12-07 17:26:56 -05:00
Lioncash
f1709b8b59
applet: Move common IsRunning underlying variable to the Applet class
...
Gets rid of basic duplication.
2016-12-07 17:13:46 -05:00
Lioncash
6f71fb2954
applet: Make virtual destructor defaulted
2016-12-07 17:04:14 -05:00
Lioncash
d3f4fd1777
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
d0d49bb951
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
84e78790ab
Config: auto-select region and language
2016-12-07 20:52:42 +02:00
Jan Beich
774d3112af
tests: add missing libcore dependency after 75ee2f8c67
...
$ (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
8d529a5cda
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
7cde5b83bc
Use boost remove_erase_if instead of the erase-remove idiom
2016-12-06 19:31:53 -05:00
Subv
1f286b72a1
Improved the algorithm for GetHighestPriorityReadyThread.
2016-12-06 19:15:32 -05:00
emmauss
c4e4fa53d9
Implement Frame rate limiter ( #2223 )
...
* implement frame limiter
* fixes
2016-12-06 14:33:19 -05:00
Jannik Vogel
fc4591fa49
ASSERT that shader was linked successfully
2016-12-05 21:11:24 +01:00
Jannik Vogel
4088afe23c
Report shader uniform block size in case of mismatch
2016-12-05 21:11:24 +01:00
Jannik Vogel
0edc986861
Print broken shader code to log
2016-12-05 21:11:24 +01:00
Subv
c93c5a72bb
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
61a2fe8c3b
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
0aee903ada
gdbstub: Remove unused include
2016-12-05 19:09:16 +01:00
Jannik Vogel
d2c39bdb29
Unify Windows ICON resource name
2016-12-05 19:09:16 +01:00
Jannik Vogel
45d941d62e
Support mingw cross-compile
2016-12-05 19:09:16 +01:00
Subv
00f0c77570
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
29d809b6e1
Kernel: Remove the Redirection handle type.
2016-12-05 11:13:22 -05:00
Subv
dd8887c8cf
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
bdad00c73f
Threading: Added some utility functions and const correctness.
2016-12-04 09:58:36 -05:00
Yuri Kunde Schlesner
efc8179747
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
8a1f96011d
OpenGL: Non-zero stride only makes sense for linear buffers
2016-12-04 06:14:27 -08:00
Yuri Kunde Schlesner
2600633b89
OpenGL: Ensure framebuffer binding is restored if completion check fails
2016-12-04 06:14:27 -08:00
Yuri Kunde Schlesner
ba7f213655
OpenGL: Fix DisplayTransfer accel when input width != output width
...
Fixes #2246 , #2261
2016-12-04 05:21:57 -08:00
Yuri Kunde Schlesner
4f0f88bc6a
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
8634b8cb83
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
2d8097eecc
shader_jit: Fix non-SSE4.1 path where FLR would not truncate
2016-12-04 04:26:33 +01:00
Yuri Kunde Schlesner
4d5e42240c
clang-format: Fix coding style
2016-12-03 01:32:46 -08:00
Subv
2ce61344d6
Declare empty ServerSession and ClientSession constructors as default.
2016-12-02 22:58:02 -05:00
Jannik Vogel
e2cb7d7833
shader_jit: Load LOOPCOUNT_REG and LOOPINC 4 bit left-shifted
2016-12-02 04:33:15 +01:00
Subv
ed210c32b3
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
8efeb6ee2b
Remove unused version.h
2016-12-01 16:38:46 +01:00
Subv
2eceee3a4c
Fixed the rebase mistakes.
2016-11-30 23:28:31 -05:00
Subv
009b15b3aa
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
c5e7e0fa26
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
c19afd2118
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
0a33d915f8
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
073653e858
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
68c00ee771
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
0c22e52f52
WINVER definition moved to CMake and cleanup
2016-11-30 15:47:09 +01:00
Subv
e3e4f27447
ClangFormat: Fixed the clang-format errors
2016-11-30 09:37:37 -05:00
mailwl
5b136aa211
Set client SDK version to Service APIs
2016-11-30 09:51:14 +03:00
Subv
aea9a91100
Build: Fixed a few warnings.
2016-11-29 16:51:53 -05:00
wwylele
589b642790
FileSys: Implement OtherSaveData
2016-11-29 23:50:00 +02:00
wwylele
b25f19ac26
FS: add missing MediaType
2016-11-29 23:50:00 +02:00
wwylele
5af117e00c
FileSys: abstract SD save data archive source
2016-11-29 23:50:00 +02:00
Yuri Kunde Schlesner
3174bfd50c
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
e279a6955e
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
4ba5acdaff
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
d171409f29
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
0820c99462
GPU: Remove the broken frame_skip option.
...
Fixes #1960 .
2016-11-27 21:19:56 +00:00
Subv
4623415026
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
743b0e71d9
Rasterizer/Memfill: Set the correct stencil write mask when clearing the stencil buffer.
2016-11-27 12:16:10 -05:00
Sebastian Valle
d3b7f57b2b
Merge pull request #2168 from mailwl/mic
...
MIC_U: Stub service funcions
2016-11-27 00:19:33 -05:00
Yuri Kunde Schlesner
a0b30189e5
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
593ec7fa74
Move to AppData/Roaming/Citra/
2016-11-26 22:57:36 +01:00
MerryMage
27be446049
dynarmic: Add ticks based on ticks executed, not ticks requested
2016-11-26 20:32:33 +00:00
freiro
972b289c78
Removed /user/ from path
2016-11-26 01:00:52 +01:00
mailwl
ec15e485c9
Output parameters to log
2016-11-25 09:37:20 +03:00
mailwl
d4cadf11fc
MIC_U: Stub service funcions
2016-11-25 09:37:19 +03:00
James Rowe
bbe57a66ca
Expose page table to dynarmic for optimized reads and writes to the JIT
2016-11-24 20:41:18 -07:00
freiro
79317b63d9
Switch to AppData/Roaming
2016-11-24 16:42:31 +01:00
jphalimi
82210ab480
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
0c9c97e5ea
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
ef421696e3
Merge pull request #2186 from wwylele/config9
...
cfg: add config block 0x00090000
2016-11-23 18:51:01 -08:00
Yuri Kunde Schlesner
fefa645ec7
Merge pull request #1654 from JamePeng/errdisp
...
Rework the code of err:f service!
2016-11-23 17:43:02 -08:00
wwylele
75affa13f7
Fix format error from #2195
2016-11-22 20:17:28 +02:00
freiro
5dd31f204a
Improve verbosity of audio errors with SDL_GetError()
2016-11-22 17:28:11 +01:00
bunnei
2de470c9b2
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
f1798c1db6
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
1323ab2f5f
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
6c8857d2bb
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
050e9be15b
GPU/CiTrace: Avoid calling GetTextures() when not necessary.
2016-11-19 19:27:00 -05:00
James Rowe
f68f37b520
Merge pull request #2194 from jroweboy/extremely-minor-clangformat-change
...
Minor formatting change
2016-11-19 13:51:14 -07:00
James Rowe
19acec351c
Minor formatting change
2016-11-19 13:35:07 -07:00
Subv
4ab8692475
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
d7ab4fd53d
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
282195b450
tests: add a work-around for macOS linking error
2016-11-19 18:55:35 +02:00
wwylele
d7d6975af0
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
f775a3781b
FileSys: remove unused DiskArchive
...
All "subclasses" of DiskArchive are splitted out. This class is useless
2016-11-19 18:55:34 +02:00
wwylele
5c6e13a171
PTM & CFG: use the correct path and error code according to the new FileSys policy
2016-11-19 18:55:34 +02:00
wwylele
0647f86649
FileSys: w->rw permission lift only happens in SDMC archive
2016-11-19 18:55:34 +02:00
wwylele
0987783699
FileSys: add SDMCWriteOnlyArchive
2016-11-19 18:55:34 +02:00
wwylele
93aa14e345
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
a879984c06
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
7166fdc490
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
9a0405858a
FileSys: remove Open from FileBackend
...
Same as directory, file shouldn't expose Open either.
2016-11-19 17:17:19 +02:00
wwylele
0e754875d1
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
75ee2f8c67
FileSys: add PathParser
2016-11-19 17:17:19 +02:00
freiro
3d75e3cd07
Return by value and other fixes
2016-11-19 15:50:16 +01:00
freiro
29bb82cb8e
Win32 move default user folder location to AppData
2016-11-19 15:49:52 +01:00
wwylele
dd5c15abd0
cfg: add config block 0x00090000
2016-11-17 19:34:02 +02:00
bunnei
fb13bfe693
Merge pull request #2172 from jroweboy/fix-mingw
...
Fix mingw compilation support
2016-11-15 20:07:23 -05:00
bunnei
5a31552764
Merge pull request #1753 from jroweboy/frame_layouts
...
Support additional screen layouts.
2016-11-15 19:57:08 -05:00
James Rowe
c3ea6f4ddb
Add mingw compile support
2016-11-13 23:50:46 -07:00
James Rowe
793339b73a
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
51750dc8f5
Minor Menu Fixes
2016-11-11 09:58:55 -08:00
James Rowe
d9305b0a07
Add default hotkey to swap primary screens.
...
Also minor style changes
2016-11-05 03:46:43 -06:00
James Rowe
5f72aade77
Rework frame layouts to use a max rectangle instead of hardcoded calculations
2016-11-05 02:55:58 -06:00
SonofUgly
e40c23463f
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
2b1654ad9b
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
af7f5bef8d
Style fix
2016-11-02 09:38:44 +03:00
mailwl
5872abeab9
Rename AcConfig, change types u8 to u32
2016-11-02 09:38:44 +03:00
mailwl
a62df98686
AC_U: Stub functions, used if EULA agreed
2016-11-02 09:38:44 +03:00
wwylele
4dd8a831bd
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
ae2fab4a0e
Merge pull request #2126 from wwylele/stub-nwm
...
NWM: stub Initialize with an error
2016-10-31 16:16:12 -04:00
bunnei
946b62c03d
Merge pull request #2123 from jbeich/freebsd
...
Fix build on DragonFly and FreeBSD
2016-10-31 15:33:39 -04:00
mailwl
3c37ee434a
Small fix to let IDA see target.xml
2016-10-28 20:50:45 +03:00
Jan Beich
2240cb2eb0
build: add default install for DragonFly, Solaris, etc.
2016-10-27 23:28:30 +00:00
Jan Beich
702439b519
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
94d23b480e
common: use system bswap* functions on more BSDs
2016-10-27 23:28:30 +00:00
Jan Beich
ddd8709e14
common: use system CPUID routine on DragonFly as well
2016-10-27 23:28:30 +00:00
Jan Beich
3d801be97d
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
26af2b644c
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
51f92f0e4e
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
8ce1ec7ffa
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
1410bd3bd0
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
f672c7bd24
FRD: fix GetMyFriendKey
2016-10-25 09:54:29 +03:00
Ricardo de Almeida Gonzaga
13d46f6820
Fix typos
2016-10-20 12:26:59 -02:00
wwylele
32789a70fb
NWM: stub Initialize with an error
2016-10-12 22:33:44 +08:00
bunnei
cc7f1155a8
Merge pull request #2024 from JamePeng/update-boss-code
...
Update the stub code of BOSS
2016-10-07 23:02:39 -04:00
bunnei
d989102c9c
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
691f069743
Rework the code of err:f service
2016-10-06 21:03:12 +08:00
bunnei
09c3e444d4
Merge pull request #1652 from wwylele/kernal-tool
...
Debugger: implement wait tree widget
2016-10-04 23:01:56 -04:00
bunnei
7ed97fb89a
Merge pull request #2106 from wwylele/delete-recursive
...
FS: implement DeleteDirectoryRecursively
2016-10-03 20:34:56 -04:00
bunnei
49b10339bf
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
bd8c80a7b4
Update the stub code of BOSS
2016-10-02 17:36:57 +08:00
wwylele
257e7afb79
fs: clean up log format
2016-10-02 12:39:28 +08:00
wwylele
96b0e9476b
fs: implement DeleteDirectoryRecursively
2016-10-02 11:29:16 +08:00
Yuri Kunde Schlesner
d9a904f9cb
VideoCore: Shader interpreter cleanups
2016-09-29 21:15:49 -07:00
Yuri Kunde Schlesner
6219654ded
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
26b68313b9
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
01667d9a35
OpenGL: Take cached viewport sub-rect into account for scissor
...
Fixes #1938
2016-09-29 20:55:24 -07:00
wwylele
58ae94af4c
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
30ab0fa45d
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
48470e57fc
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
3f87d70f0e
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
c88cdc9a2b
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
d2419570b9
rasterizer: separate TextureCopy from DisplayTransfer
2016-09-29 10:01:34 +08:00
wwylele
3aa047cd1d
qt: shutdown system if error
2016-09-22 16:40:33 +08:00
wwylele
85a83158fb
move ResetType to kernel.h
2016-09-22 13:52:52 +08:00
wwylele
1c0179ad1b
name objects
2016-09-22 13:52:52 +08:00
wwylele
f69a543110
implement wait tree widget
2016-09-22 13:52:52 +08:00
Yuri Kunde Schlesner
f120e78b56
Remove special rules for Windows.h and library includes
2016-09-21 00:16:33 -07:00
Yuri Kunde Schlesner
84fbbe2629
Use negative priorities to avoid special-casing the self-include
2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot
ebdae19fd2
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
396a8d91a4
Manually tweak source formatting and then re-run clang-format
2016-09-18 21:14:25 -07:00
Yuri Kunde Schlesner
784b96d87f
Tweak formatting settings
2016-09-18 21:13:38 -07:00
Emmanuel Gil Peyrot
dc8479928c
Sources: Run clang-format on everything.
2016-09-18 09:38:01 +09:00
Emmanuel Gil Peyrot
bfc454e951
Dyncom: Disable clang-format on the decoding table.
2016-09-18 09:36:57 +09:00
Emmanuel Gil Peyrot
dc17944ce4
Sources: Add a .clang-format configuration file.
2016-09-18 09:36:55 +09:00
Yuri Kunde Schlesner
a3afeb4687
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
1b95f61d82
arm_dynarmic: Implement GetVFPSystemReg/SetVFPSystemReg.
2016-09-15 17:58:06 -04:00
bunnei
57ce84d471
microprofile: Double buffer size to 16MB.
2016-09-15 17:49:31 -04:00
bunnei
05e120a4cc
arm: ResetContext shouldn't be part of ARM_Interface.
2016-09-15 17:49:30 -04:00
bunnei
85861d44b7
arm_dynarmic/arm_dyncom: Remove unnecessary "virtual" keyword.
2016-09-15 17:49:30 -04:00
bunnei
b7aef81cb4
dyncom: Use VFP_FPSCR/VFP_FPEXC.
2016-09-15 17:49:29 -04:00
bunnei
d532f6b496
qt: Add UI configuration option to enable CPU JIT.
2016-09-15 17:49:28 -04:00
bunnei
14085ec670
core: Add configuration option for CPU JIT.
2016-09-15 17:49:27 -04:00
bunnei
1976a2d773
dynarmic: Implement ARM CPU interface.
2016-09-15 17:49:26 -04:00
Yuri Kunde Schlesner
81bb315839
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
519e7013be
Common: readdir_r() is deprecated, switch to readdir().
2016-09-13 22:11:23 +09:00
wwylele
c0262001d8
Qt: fix birthday combo box updating
2016-09-13 16:15:42 +08:00
MerryMage
991cdda3fc
audio_core: Tweak audio latency
2016-09-07 15:27:32 +01:00
Yuri Kunde Schlesner
c3307b41db
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
0bbda3bab4
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
bdc59c4c21
Qt: unify running detection
2016-09-02 20:18:45 +08:00
bunnei
09063dc5bb
Merge pull request #2032 from bunnei/qt-graphics
...
Qt graphics configure & V-Sync option
2016-08-31 22:20:54 -04:00
bunnei
a71013cf16
qt: Rename all "toogle" to "toggle".
2016-08-31 22:12:20 -04:00
MerryMage
dc3f6a34f8
configure_audio: User-configuratble option to enable/disable audio stretching
2016-08-31 16:59:37 +01:00
MerryMage
904a319694
audio_core: Add EnableStretching to interface so that one can toggle stretching on and off
2016-08-31 16:56:30 +01:00
MerryMage
0ef4185644
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
7a79fa7a90
OpenGL: Avoid error on unsupported lighting LUT
2016-08-30 19:30:26 +02:00
bunnei
7c934c5164
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
74842116b2
qt: Add an option to settings for enabling V-Sync.
2016-08-29 21:42:33 -04:00
bunnei
02702c6605
qt: Recreate GL context on startup to support changing V-Sync.
2016-08-29 21:42:32 -04:00
bunnei
7299895b48
system: Add a function to see if the emulator is running.
2016-08-29 21:42:31 -04:00
bunnei
08ad9b36d4
config: Add a setting for graphics V-Sync.
2016-08-29 21:42:30 -04:00
bunnei
2267f98941
qt: Add a configuration tab for Graphics and move relevant fields.
2016-08-29 21:42:29 -04:00
Yuri Kunde Schlesner
474586bc53
Merge pull request #1948 from wwylele/cro++
...
Implemented CRO
2016-08-28 22:21:24 -07:00
Yuri Kunde Schlesner
950f6c0c20
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
1c9612b791
LDR: Implement CRO
2016-08-27 21:38:06 +08:00
wwylele
2161f52661
ARM: add ClearInstructionCache function
2016-08-27 21:38:06 +08:00
wwylele
b2df959733
Memory: add ReadCString function
2016-08-27 21:38:06 +08:00
Yuri Kunde Schlesner
1f7ec4be9b
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
15b2eec4bd
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