Adityarup Laha
93cca23dd6
Variable tilt clamp ( #3366 )
...
* Add tilt clamp setting
* Updated `clamp` to use variable
* Fixed a minor typo
* Include possibly necessary header
* expose setting in sdl2
* expose setting in qt
* incorporate @wwylele 's suggestion in sdl2
* Incorporate @wwylele 's suggestion (?)
Please review the code, this is the first time I'm working with `ParamPackage`s so I may just screw up the code.
* Forgot to change in qt
* Fixed an fatal error
* fixed clang format error
* remove the old setting
* fixed typos cusing errors
* removed old setting
* Changed init style
* Forgot this one
* Removed unnecessary header inclusion
* Update config.cpp
* update qt-config
* Update motion_emu.cpp
* Update motion_emu.cpp
2018-01-17 17:30:50 -05:00
BreadFish64
11d2825070
only enable menu visibility
2018-01-17 13:57:42 -06:00
Yuri Kunde Schlesner
3a001c41bb
Common: Use common swap.h macros in CityHash
2018-01-15 13:43:38 -08:00
Yuri Kunde Schlesner
3e456cd3fe
Common: Fix 2 implicit conversion warnings in CityHash
2018-01-15 13:43:37 -08:00
Yuri Kunde Schlesner
712e6ee960
Common: Remove CityHash32 and CityHashCrc128 variants
...
In 64-bit systems, CityHash64 is always strictly better than CityHash32.
CityHashCrc128 requires SSE 4.2.
2018-01-15 13:43:37 -08:00
Yuri Kunde Schlesner
f081388afe
Common: Adapt CityHash code to match our codebase better
...
- Use #pragma once instead of guards
- Move header typedefs to implementation file
- Enclose in Common namespace
2018-01-15 13:43:37 -08:00
Yuri Kunde Schlesner
d93ee65164
Common: Add convenience function for hashing a struct
2018-01-15 13:43:37 -08:00
Yuri Kunde Schlesner
7f77820460
Common: Replace MurmurHash3 with CityHash64
...
CityHash64 is faster than Murmur3 at all sizes, but especially for short
keys.
2018-01-15 01:11:11 -08:00
Emmanuel Gil Peyrot
c361dad7d2
Citra: Print the actual error preventing SDL from working
2018-01-13 21:41:51 +01:00
wwylele
f42f7dfcab
Service/Y2R: convert to ServiceFramework
2018-01-12 13:38:20 +02:00
Weiyi Wang
9b647d459b
Merge pull request #3324 from Subv/gspgpu
...
Services: Keep track of per-session data in GSPGPU
2018-01-11 20:03:46 +02:00
BreadFish64
ca96077601
1 -> d
2018-01-11 10:57:44 -06:00
BreadFish64
b71d9e108d
address wwylele's feedback
2018-01-10 19:05:14 -06:00
bunnei
2e41810608
Merge pull request #3333 from Senjosei/pause-coreerror
...
citra_qt: Pause emulation on CoreError
2018-01-10 12:16:51 -05:00
wwylele
9be3ce83db
Service/PTM: convert to ServiceFramework
2018-01-10 14:23:35 +02:00
Emmanuel Gil Peyrot
7f9fae5f7c
Telemetry: Disable CPU detection on ¬x86_64
2018-01-08 19:21:21 +01:00
Emmanuel Gil Peyrot
e5a3dc2956
Core: Disable the JIT when dynarmic is not available
2018-01-08 19:13:58 +01:00
Emmanuel Gil Peyrot
2cd2a7491c
CMakeLists: Disable dynarmic on ¬x86_64
2018-01-08 17:58:00 +01:00
Subv
34685f48dc
GSP: Allow the signaling of the PDC0/1 interrupts even if the GPU right hasn't been acquired.
...
This was verified with a hwtest.
2018-01-06 13:51:33 -05:00
BreadFish64
68959823e9
move menu action
2018-01-06 11:56:12 -06:00
Weiyi Wang
a66e4585a0
Merge pull request #3304 from wwylele/hid-new-framework
...
HID: convert to ServiceFramework
2018-01-04 11:04:57 +02:00
Subv
aa90198ec5
Services: Make SessionDataBase's destructor virtual.
2018-01-03 10:52:46 -05:00
Dwayne Slater
41929371dc
Optimize AttributeBuffer to OutputVertex conversion ( #3283 )
...
Optimize AttributeBuffer to OutputVertex conversion
First I unrolled the inner loop, then I pushed semantics validation
outside of the hotloop.
I also added overflow slots to avoid conditional branches.
Super Mario 3D Land's intro runs at almost full speed when compiled with
Clang, and theres a noticible speed increase in MSVC. GCC hasn't been
tested but I'm confident in its ability to optimize this code.
2018-01-02 15:32:33 -08:00
Subv
75f68c4860
Services/GSP: Mark the thread ids as unused when a GSP session is destroyed.
...
This fixes the games that call RegisterInterruptRelayQueue and UnregisterInterruptRelayQueue frequently.
2018-01-02 12:10:58 -05:00
Subv
d17f148e48
Services/GSP: Assign a thread id to each connected session when the session is created.
...
Most applications call AcquireRight before calling RegisterInterruptRelayQueue so we can't assign the thread id there.
This fixes the bug with LLE applets not launching properly.
2018-01-02 12:07:26 -05:00
Weiyi Wang
3f7f2b42c0
Merge pull request #3257 from tgsm/y2r-ipc
...
y2r: convert some functions to use IPC helper
2018-01-02 12:55:56 +02:00
Yuri Kunde Schlesner
337e9e12eb
Merge pull request #3335 from mailwl/citra-sdl-small-fix
...
citra(SDL) small fixes: fix fall-through
2018-01-01 21:00:10 -08:00
tgsm
ee779a5a4d
y2r: convert some functions to use IPC helper
2018-01-01 22:46:34 -05:00
BreadFish64
e768a92587
add compatibility reporting to qt frontend
2018-01-01 19:25:38 -06:00
Merry
e203c10cc2
Merge pull request #3336 from PizzicatoWolf/qt-layout-fixes
...
citra_qt: Resized main config window
2017-12-31 21:17:25 +00:00
wwylele
7daa2a51d7
Kernel/SVC: fix typo in GetResourceLimitLimitValues
2017-12-30 23:42:32 +02:00
Phantom
7f1aec8fbb
Support for textures smaller than 8*8
2017-12-30 07:42:32 +01:00
PizzicatoWolf
8fa160395b
Revert index change
2017-12-30 14:51:45 +10:30
PizzicatoWolf
e0e4b70f6a
Resized main config window
2017-12-30 14:10:05 +10:30
mailwl
f93d656e53
citra(SDL) small fixes: fix fall-through, remove u16 'always true' compare
2017-12-29 21:04:10 +03:00
Phantom
be1d0cee1e
Fix viewport to surface rect clamping
2017-12-29 17:07:01 +01:00
Phantom
19672cfee8
CachedSurface: Add microprofile scopes for UploadGLTexture and DownloadGLTexture
2017-12-29 17:01:37 +01:00
Phantom
1591fa8d3d
Remove read_framebuffer_handle and draw_framebuffer_handle from CachedSurface
2017-12-29 17:00:09 +01:00
Senjosei
fb72a9d9fa
Fixed clang whitespace
2017-12-29 06:31:18 +11:00
Senjosei
f17600db1a
Moved when to pause because it wasnt fast enough
2017-12-29 06:17:21 +11:00
Senjosei
bbe6c8890c
Pause emulation OnCoreError
2017-12-29 06:15:59 +11:00
Subv
fbef978b98
GSP: Return the correct result code if AcquireRight is called multiple times from the same thread.
2017-12-24 12:15:01 -05:00
Subv
68fc3b36e6
HLE/GSP: Only trigger GSP interrupts for the current active GSP thread.
...
This is true for all interrupts except PDC0 and PDC1, which should be triggered for all registered threads.
TODO: The real GSP module seems to only trigger PDC0 after updating the screens (both top and bottom). PDC1 doesn't seem to be triggered at all.
2017-12-24 12:15:00 -05:00
Subv
05a44ed353
HLE/GSP: Keep track of the thread that currently has the GPU right.
...
This thread is the only one for which the GSP interrupts should be signaled, except for the PDC0/1 interrupts.
2017-12-24 12:14:59 -05:00
Subv
aabb07cca4
HLE/GSP: Make RegisterInterruptRelayQueue work in a per-session basis.
...
The registered interrupt event is unique to each session that calls RegisterInterruptRelayQueue, and only that event should be reset when UnregisterInterruptRelayQueue is called.
2017-12-24 12:14:58 -05:00
James Rowe
1c4d1d1ace
Move trasnfer_framebuffer to a member of RasterCache. Address review comments
2017-12-23 16:10:32 -07:00
James Rowe
10fb9242ae
Fix clang format
2017-12-23 16:10:32 -07:00
James Rowe
4e053220a8
When downloading from a surface into gl_buffer, ingore any x/y offsets in rect and use 0,0 as the origin
2017-12-23 16:10:31 -07:00
James Rowe
7e673af527
Remove the correct intervals from the surface when validating
2017-12-23 16:10:31 -07:00
James Rowe
ac4c589ab5
Workaround for ICE on gcc5
2017-12-23 16:10:31 -07:00
Phantom
9a6a452857
Fix broken surface validation logic since removal of the reinterpret hack
2017-12-23 16:10:30 -07:00
Phantom
f893daa4a2
Perform the same checks on TexCopy params that SW does
2017-12-23 16:10:30 -07:00
James Rowe
91fad7010b
Fix compilation on mac and linux
2017-12-23 16:10:30 -07:00
James Rowe
34ff77f5f7
Revert "OpenGL Cache: Ignore format reinterpretation hack"
...
Testing found a few games that did some crazy things which breaks the
assumptions made in that commit.
2017-12-23 16:10:29 -07:00
James Rowe
72034b772d
Minor style changes
2017-12-23 16:10:29 -07:00
James Rowe
0498d34d18
OpenGL Cache: Ignore format reinterpretation hack
...
Several games such as Smash will cause some regions that are cached on
the gpu to be revalidated, but (seemingly) we can just ignore these
cases. If the data is already found on the gpu in dirty_regions, then we
validate those, and skip flushing that region from cpu.
Its unknown if this breaks any games, but it does speed up many games.
Additionally, it removes outlines in the pokemon games.
2017-12-23 16:10:29 -07:00
James Rowe
5b872c41d8
OpenGL Cache: Reorder methods
...
The previous commits added the methods where they were located
originally to try to get an easy to read diff between changes. This
commit fixes compliation since the static methods are now declared
before they are used.
2017-12-23 16:10:28 -07:00
James Rowe
24e187891f
OpenGL Rasterizer: Update to use the new cache
2017-12-23 16:10:28 -07:00
James Rowe
e5adb6a26b
OpenGL Cache: Add the rest of the Cache methods
...
Fills in the rasterizer cache methods using the helper methods added in
the previous commits.
2017-12-23 16:10:27 -07:00
James Rowe
81ea32d1e0
OpenGL Cache: Refactor Surface Cache interface
...
Changes the public interface of the surface cache to make it easier to
use. Reintroduces the cached page count cached pages that was removed in
an earlier commit.
2017-12-23 16:10:27 -07:00
James Rowe
3e1cbb7d14
OpenGL Cache: Split CachedSurface
...
Breaks CachedSurface into two classes, the parameters used to create or
find a cached surface, and the actual cached surface. This also adds a
few helper methods for getting surfaces from cache
2017-12-23 16:10:27 -07:00
James Rowe
0b98b768f5
OpenGL Cache: Add surface utility functions
...
Separates creating and filling surfaces into static functions that
can be reused from the different RasterizerCache methods.
2017-12-23 16:10:26 -07:00
James Rowe
e9e2d444ef
OpenGL Cache: Optimize Morton Copy to copy in tiles
...
Compiles two lookup arrays of functions for the different
configurations of Morton Copy.
2017-12-23 16:10:26 -07:00
James Rowe
160ac25527
OpenGL State: Change setters so they don't directly write to curstate
2017-12-23 16:10:25 -07:00
James Rowe
13606a6d0b
Memory: Remove count of cached pages and add InvalidateRegion
...
In a future commit, the count of cached pages will be reintroduced in
the actual surface cache. Also adds an Invalidate only to the cache
which marks a region as invalid in order to try to avoid a costly flush
from 3ds memory
2017-12-23 16:10:25 -07:00
James Rowe
c821c14908
Settings: Change resolution scaling to an integer instead of a float
2017-12-23 16:10:25 -07:00
Sebastian Valle
c3c684cd2b
Merge pull request #3301 from Subv/exitprocess2
...
Kernel/SVC: Partially implemented svcExitProcess.
2017-12-23 10:49:36 -05:00
wwylele
80ed0f03ac
cmake: add missing ${...} for variables inside generator expressions
2017-12-23 03:00:15 +02:00
wwylele
bf23f8d542
HID: convert to ServiceFramework
2017-12-22 12:41:41 +02:00
wwylele
5345d2e957
fixup!citra_qt: load translation from resource
2017-12-22 12:34:49 +02:00
Sebastian Valle
ae42267cc7
Merge pull request #3307 from Subv/gsp_new_frame
...
HLE: Convert GSP_GPU to ServiceFramework.
2017-12-21 10:31:41 -05:00
Subv
3652809408
HLE: Convert GSP_GPU to ServiceFramework.
...
The only functional change is the error handling of GSP_GPU::ReadHWRegs function. We previously didn't return error codes (not even for success). The new returns were found by reverse engineering the GSP module.
2017-12-21 10:30:22 -05:00
MerryMage
19814d68c1
gdbstub: Correct typo
...
Constructing and destructing a Core::System instance for the
GetInstance() call isn't the smartest thing to do.
2017-12-20 18:47:06 +00:00
Merry
c6293d7357
Merge pull request #3312 from lioncash/qt5-connect
...
citra_qt: Migrate to Qt 5 signal/slot connection syntax where applicable
2017-12-19 14:24:39 +00:00
Merry
3f37976fd3
Merge pull request #3309 from wwylele/cro-session-slot
...
ldr_ro: use ServiceFramework's session slot for client slot
2017-12-18 18:22:39 +00:00
Merry
32b2d5bdfe
Merge pull request #3253 from lioncash/mic-ipc
...
mic_u: Migrate to the new service framework
2017-12-18 14:34:47 +00:00
Lioncash
a73f135868
citra_qt: Migrate to Qt 5 signal/slot connection syntax where applicable
...
This is more type-safe than the string-based signal/slot syntax that was
being used. It also makes the connections throughout the UI code consistent.
2017-12-17 18:44:48 -05:00
Weiyi Wang
4c3a4ab664
Merge pull request #3306 from lioncash/qt4
...
citra_qt: Drop Qt 5 version checks in code
2017-12-17 12:08:21 +02:00
danzel
0238e0c5e7
Convert Movie to a class with a static instance, and other fixes based on B3n30 feedback.
2017-12-17 17:55:56 +13:00
danzel
04541150b1
Movie (recorded inputs) playback and recording. SDL has command lines to control it.
2017-12-17 16:43:09 +13:00
wwylele
eeec04fcaa
ldr_ro: use ServiceFramework's session slot for client slot
2017-12-17 01:43:12 +02:00
Subv
f4b595331f
GSP/GPU: Make FrameBufferInfo::active_fb use the entire u32 instead of just one bit.
...
The GSP module reads the entire 32 bit word from this field to determine the framebuffer.
2017-12-16 13:33:42 -05:00
Lioncash
9ec0609ae5
citra_qt: Drop Qt 5 version checks in code
...
We don't support Qt 4.x anymore.
2017-12-16 13:26:14 -05:00
Lioncash
8e53599deb
game_list: Use forward declarations where applicable
...
Reduces the number of header dependencies propagated by the header file.
2017-12-16 13:14:23 -05:00
Sebastian Valle
125f5d1e68
Merge pull request #3284 from Subv/session_data
...
HLE/Services: Allow specifying a SessionData template parameter to ServiceFramework.
2017-12-16 09:14:34 -05:00
wwylele
500a7f07c2
cmake: generate translation file and add to resource for citra_qt
2017-12-16 13:11:05 +02:00
wwylele
62890b253e
citra_qt: load translation from resource
2017-12-16 13:11:05 +02:00
Mat M
d3112aedba
Merge pull request #3295 from lioncash/qt4
...
citra_qt: CMakeLists: Drop leftover handling code for Qt 4 UI files
2017-12-15 19:49:22 -05:00
Lioncash
d613c6f74f
mic_u: Migrate to the new service framework
2017-12-15 19:22:58 -05:00
Lioncash
c681090d06
citra_qt: CMakeLists: Drop leftover handling code for Qt 4 UI files
...
We don't support Qt 4 anymore.
2017-12-15 19:01:21 -05:00
Subv
1856aa7b32
Kernel/SVC: Partially implemented svcExitProcess.
...
Terminating processes with ready threads is not currently implemented and will assert. It is currently unknown how the 3DS kernel stops ready threads or threads running in another core.
2017-12-15 15:47:33 -05:00
Sebastian Valle
4fd28e715e
Merge pull request #3252 from Subv/fs_user
...
HLE/FS: Converted some functions to use IPCHelpers
2017-12-15 15:40:36 -05:00
Sebastian Valle
4b4e1861c7
Merge pull request #3265 from Subv/getappletinfo
...
HLE/APT: Implement GetAppletInfo for LLE applets.
2017-12-15 10:29:53 -05:00
bunnei
95d4d7c864
Merge pull request #3292 from Tilka/inf_nan
...
video_core: fix infinity and NaN conversions
2017-12-15 09:58:48 -05:00
Subv
9a22e8d9ed
HLE/APT: Implement GetAppletInfo for LLE applets.
...
Calling this function for AppletId::Application is not yet implemented because we don't support launching applications from APT.
2017-12-14 19:30:12 -05:00
Subv
674bd550a4
HLE/APT: Stubbed FinishPreloadingLibraryApplet.
...
An applet is considered "loaded" when the parent application calls this function.
2017-12-14 19:30:11 -05:00
Lioncash
761101f64c
input_common: Remove redundant target_sources in CMakeLists
2017-12-14 19:21:02 -05:00
Sebastian Valle
542f14d3c5
Merge pull request #3249 from Subv/logo
...
NCCH: Load the "logo" file from the specified offset if it's present instead of the ExeFS.
2017-12-14 18:30:19 -05:00
Subv
b5bfaaae29
HLE/FS: Use the SessionData parameter of ServiceFramework in the File class.
2017-12-14 18:24:03 -05:00
Subv
daecd812b0
HLE/Services: Allow specifying a SessionData template parameter to ServiceFramework.
...
Some services can have multiple clients at the same time, and they identify the different clients using the server session as a key.
This parameter (if present) should be a structure that contains the per-session data for each service.
The data can be retrieved using ServiceFramework::GetSessionData(session)
2017-12-14 18:24:02 -05:00
Tillmann Karras
fd3ec6be30
video_core: fix infinity and NaN conversions
2017-12-14 19:51:58 +00:00
B3n30
a5e63a8c35
Use Common::Event
2017-12-14 12:36:37 +01:00
B3n30
423df498d9
fixup! Announce-Service: Add conditional variable for the wait in the announce thread
2017-12-14 12:36:37 +01:00
B3n30
eba2351f9e
Announce-Service: Add conditional variable for the wait in the announce thread
2017-12-14 12:36:37 +01:00
B3n30
93742f17b3
fixup! fixup! Add a service to announce multiplayer rooms to web service; Add the abiltiy to receive a list of all announced rooms from web service
2017-12-14 12:36:37 +01:00
B3n30
1485093fd9
fixup! Add a service to announce multiplayer rooms to web service; Add the abiltiy to receive a list of all announced rooms from web service
2017-12-14 12:36:37 +01:00
B3n30
0432fc17eb
Add a service to announce multiplayer rooms to web service; Add the abiltiy to receive a list of all announced rooms from web service
2017-12-14 12:36:37 +01:00
bunnei
4b8a7eb1ca
Merge pull request #3192 from wwylele/cro-new-frame
...
ldr_ro: convert to ServiceFramework
2017-12-13 22:30:03 -05:00
bunnei
c23c39132a
Merge pull request #3239 from wwylele/cam-new-frame
...
cam: convert to ServiceFramework
2017-12-13 22:27:58 -05:00
bunnei
892b681f17
Merge pull request #3240 from muemart/input-config
...
Add button labels for sdl joystick mappings
2017-12-13 22:27:01 -05:00
bunnei
9b598d936d
Merge pull request #3248 from wwylele/ir-new-frame
...
ir: convert to ServiceFramework
2017-12-13 22:24:51 -05:00
Subv
2552efac01
HLE/FS: Use PopEnum in OpenFile.
2017-12-13 19:51:36 -05:00
Subv
d790ac465c
HLE/FS: Use IPCHelper in CreateFile.
2017-12-13 19:51:21 -05:00
muemart
23732a9ab3
Use static functions instead of lambdas
2017-12-13 19:06:14 +01:00
Yuri Kunde Schlesner
aecd2b85fe
Merge pull request #3261 from MerryMage/DPH
...
shader_jit_x64_compiler: Use haddps for horizontal summation
2017-12-13 09:09:42 -05:00
Subv
92e71aff57
HLE/FS: Use IPCHelper in DeleteDirectoryRecursively.
2017-12-12 17:48:15 -05:00
Subv
67382e46c0
HLE/FS: Use IPCHelper in DeleteDirectory.
2017-12-12 17:48:12 -05:00
Subv
b631f77d11
HLE/FS: Use IPCHelper in RenameFile.
2017-12-12 17:48:10 -05:00
Subv
a6c69bfca0
HLE/FS: Use IPCHelper in DeleteFile.
2017-12-12 17:48:07 -05:00
Subv
e9a70ce2fc
HLE/FS: Use IPCHelper in OpenFileDirectly.
2017-12-12 17:48:03 -05:00
Subv
90fdc8dcbf
FS: Make LowPathType a strongly typed enum.
2017-12-12 17:48:00 -05:00
Sebastian Valle
6afd091c37
Merge pull request #3235 from Subv/dlp3
...
HLE/FS: Implemented FSFile::OpenSubFile.
2017-12-12 17:01:18 -05:00
bunnei
4695f12a08
Merge pull request #3264 from lioncash/cmake-target
...
CMakeLists: Derive the source directory grouping from targets themselves
2017-12-12 14:34:51 -05:00
MerryMage
fb2d34997e
core/arm: Backend-specific context implementations
2017-12-12 19:12:03 +00:00
MerryMage
7d5c3b00a8
dynarmic: Update to d1d4705
2017-12-12 19:08:53 +00:00
Subv
c9ddd5b0ae
HLE/FS: Implemented FSFile::OpenSubFile.
...
The File class now holds a list of connected sessions along with data unique to each session.
A subfile is a window into an existing file. They have a few limitations compared to normal files:
* They can't be written to.
* They can't be flushed.
* Their size can not be changed.
* New subfiles can't be created from another subfile.
2017-12-12 13:34:02 -05:00
Sebastian Valle
b4bb74a101
Merge pull request #3268 from lioncash/ipc-enum
...
ipc_helpers: Add member functions for pushing and popping strongly typed enums
2017-12-12 12:52:02 -05:00
MerryMage
6c199e4699
fixup! shader_jit_x64_compiler: Use haddps for horizontal summation
2017-12-12 15:37:00 +00:00
Lioncash
ab021d163e
CMakeLists: Derive the source directory grouping from targets themselves
...
Removes the need to store to separate SRC and HEADER variables,
and then construct the target in most cases.
2017-12-11 21:11:52 -05:00
James Rowe
b88ed528a3
Merge pull request #3275 from MerryMage/shutdown-before-init
...
core: Don't Shutdown before we've even Init-ed
2017-12-11 18:50:16 -07:00
Yuri Kunde Schlesner
ae7240a2cb
Merge pull request #3097 from ds84182/round-primary-color-swrast
...
Round primary color in swrast
2017-12-11 20:06:21 -05:00
MerryMage
533feb42d1
core: Don't Shutdown before we've even Init-ed
2017-12-12 00:30:46 +00:00
Merry
5c802d35ef
Merge pull request #3262 from lioncash/warn
...
common/core: Silence initialization order warnings
2017-12-11 19:52:53 +00:00
Sebastian Valle
1e3113b1b2
Merge pull request #3251 from Subv/fs_numseeds
...
HLE/FS: Stubbed GetNumSeeds to always return 0 seeds.
2017-12-11 14:13:10 -05:00
Sebastian Valle
4a3d7863fa
Merge pull request #3250 from Subv/news_notifications
...
HLE/News: Stubbed GetTotalNotifications to always return 0 notifications.
2017-12-11 14:12:22 -05:00
Yuri Kunde Schlesner
87ac05a575
Merge pull request #3271 from lioncash/retval
...
ncch: Add missing return statement in ReadUpdateRomFs
2017-12-11 02:25:35 -05:00
Yuri Kunde Schlesner
422c7b29b0
Merge pull request #3266 from lioncash/qt-bootmgr
...
bootmanager: Minor tidiness/correctness changes
2017-12-11 01:53:35 -05:00
Lioncash
eb58dbda32
ncch: Add missing return statement in ReadUpdateRomFs
2017-12-11 01:33:08 -05:00
Lioncash
91a804707b
ipc_helpers: Add member functions for pushing and popping strongly typed enums
...
Alleviates the need to static_cast to an enum type at the call sites of the Push and Pop calls.
We only allow strongly typed enums, as they have a defined type of int
by default if an underlying type isn't explicitly specified, whereas
with regular enums, if an underlying type isn't specified, an
implementation-defined type is used that can fit all the enumeration
values.
2017-12-10 23:10:00 -05:00
Lioncash
e439725271
bootmanager: Make EmuThread's IsRunning() member function const
2017-12-10 20:12:47 -05:00
Lioncash
c06f7978ac
bootmanager: In-class initialize EmuThread's boolean member variables
...
Trims down the initializer list a little.
2017-12-10 20:11:35 -05:00
Lioncash
1f186be030
input_common/sdl: Silence a -Wpessimizing-move warning
...
Moving when returning by value can inhibit copy elision.
2017-12-10 19:53:57 -05:00
Lioncash
c31f932afe
common/core: Silence initialization order warnings
2017-12-10 19:50:45 -05:00
Yuri Kunde Schlesner
9699194b54
Merge pull request #3258 from yuriks/gs-cleanup
...
Small GS cleanups
2017-12-10 17:21:04 -05:00
MerryMage
efec8fe513
shader_jit_x64_compiler: Use haddps for horizontal summation
2017-12-10 22:04:30 +00:00
B3n30
2146311ad1
Merge pull request #3091 from Subv/hle_request_delat
...
Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.
2017-12-10 19:59:19 +01:00
Subv
0ac82af50f
HLE/FS: Stubbed GetNumSeeds to always return 0 seeds.
...
We don't yet implement the SEEDDB store.
This number is supposed to be modified by the AddSeed function (0x087A0180) but there's too little info about it on 3dbrew.
2017-12-10 13:08:04 -05:00
Subv
98e3872353
Kernel/IPC: Use 39 microseconds for the SendSyncRequest delay approximation.
...
As measured by the time it takes for to return when performing the SetLcdForceBlack IPC request to the GSP:GPU service in a n3DS with firmware 11.6
See https://gist.github.com/ds84182/ecdbbd25b56a29bd4e5b32a7544b8e92 for the source code of the test.
2017-12-10 13:00:05 -05:00
Sebastian Valle
c72262d7e3
Merge pull request #3246 from Steveice10/pxidev
...
HLE: Add pxi:dev stub.
2017-12-10 12:21:35 -05:00
Sebastian Valle
2859b98884
Merge pull request #3234 from Subv/dlp2
...
HLE/FS: Implemented FS::GetProgramLaunchInfo.
2017-12-10 08:58:08 -05:00
Sebastian Valle
951b023a3d
Merge pull request #3259 from lioncash/init-order
...
ac: Correct constructor initialization order
2017-12-10 08:46:11 -05:00
Yuri Kunde Schlesner
312281fd61
Merge pull request #3256 from yuriks/move-svc
...
HLE: Move svc.cpp to kernel/
2017-12-10 01:13:46 -05:00
Lioncash
bca58546b1
ac: Correct constructor initialization order
...
The parent class constructor will always run before the
class' initializers for member variables.
2017-12-09 23:48:40 -05:00
Yuri Kunde Schlesner
230a7557f1
Shader: Store AttributeBuffers in GS output buffer
...
This also does the output masking early at EMIT time, instead of when a
triangle is sent to the vertex handler.
2017-12-09 20:33:59 -08:00
Yuri Kunde Schlesner
21188f5683
HLE: Move SVC handlers to the Kernel namespace
2017-12-09 20:32:58 -08:00
Yuri Kunde Schlesner
0184419814
Shader: Refactor output_mask copy loop to function
2017-12-09 20:31:24 -08:00
Yuri Kunde Schlesner
a5aa5e2b2d
Common: Simplify and optimize BitSet iterator
...
Instead of doing complex machinations to keep track of the current bit
index, just unset the lowest bit on each iteration, greatly simplifying
the code.
2017-12-09 20:31:23 -08:00
Sebastian Valle
ae82b8d5cc
Merge pull request #3232 from Dragios/add-applet-id
...
Services/APT: Add remaining Applet IDs
2017-12-09 21:12:25 -05:00
Yuri Kunde Schlesner
ad71e23f23
HLE: Move svc.{cpp,h} to kernel/
2017-12-09 18:10:47 -08:00
Subv
7d038b9bd8
HLE/FS: Implemented FS::GetProgramLaunchInfo.
...
This function is used by the DLP system module during the DLPSRVR initialization.
2017-12-09 18:46:34 -05:00
Dragios
8b864a74e9
Add new AppID (eShop)
2017-12-10 07:38:56 +08:00
Dragios
ebb731b9a1
Fill up the rest of Applet IDs
2017-12-10 07:38:23 +08:00
Merry
25afbe5707
Merge pull request #3254 from lioncash/fs
...
file_sys: std::move data argumnets in the constructor where applicable
2017-12-09 23:35:08 +00:00
Steveice10
16b26e73c9
HLE: Add pxi:dev stub.
2017-12-09 14:45:56 -08:00
Lioncash
11705857cd
file_sys: std::move the vector in NCCHFile's constructor
...
Avoids making unnecessary copies of the source vector's data.
2017-12-09 14:33:09 -05:00
Lioncash
370d77f13a
file_sys: std::move std::shared_ptr instances in constructors where applicable
...
By default, a regular copy requires an atomic increment and decrement. A
move avoids this from occurring, which makes sense when the constructor
is taking the shared_ptr by value.
2017-12-09 14:33:04 -05:00
James Rowe
a709e6528e
Merge pull request #3242 from Subv/extdata
...
HLE/FS: Always use 0x48000 as the high dword when opening the SharedExtData archive
2017-12-09 10:18:30 -07:00
Subv
8e9b55e939
NCCH: Load the "logo" file from the specified offset if it's present instead of the ExeFS.
...
This is "new" behavior as of firmware 5.0.0-11, older titles have the logo offset and size set to 0, indicating that the logo is stored in the ExeFS.
2017-12-09 12:17:02 -05:00
James Rowe
a5b7a1fa7a
Merge pull request #3247 from muemart/crash
...
Fix crash when loading an unsupported file
2017-12-09 09:49:24 -07:00
Subv
dd0bd5520d
HLE/News: Stubbed GetTotalNotifications to always return 0 notifications.
...
This prevents an invalid read loop on games that call it.
2017-12-09 11:28:57 -05:00
wwylele
35b1306941
ir_user: convert to ServiceFramework
2017-12-09 18:14:51 +02:00
wwylele
4812e98e05
ir_rst: convert to ServiceFramework
...
also fix the wrong header in Shutdown
2017-12-09 18:14:51 +02:00
muemart
53741c6ebd
Add translation support for button labels
2017-12-09 16:11:17 +01:00
muemart
bac776439b
Fix crash when loading an unsupported file.
...
The telemetry stuff isn't properly initialized when loading fails, resulting in a crash.
2017-12-09 15:59:21 +01:00
wwylele
f3e41fe941
ir_u: convert to ServiceFramework
2017-12-09 12:34:23 +02:00
Subv
b54e278eeb
FS/ExtData: Use the ExtSaveDataArchivePath structure instead of reinterpret_cast.
2017-12-09 00:17:43 -05:00
Subv
37cb18358b
HLE/FS: Always use 0x48000 as the high dword when opening the SharedExtData archive
...
The FS module overrides whatever value was in the saveid high dword with 0x48000 when trying to open the archive.
This fixes the problem where the Home Menu would create a few SharedExtData archives with 0x48000 as the saveid high, but then try to open them with 0 as the high value and fail.
2017-12-09 00:16:51 -05:00
wwylele
5026480b36
svc: correct GetProcessInfo(20)
2017-12-08 21:28:48 +02:00
Sebastian Valle
69caf8c5dc
Merge pull request #3236 from Tilka/block_name
...
cfg: refer to ConsoleModelBlockID by name
2017-12-08 09:01:22 -05:00
muemart
441a9b5622
Add button labels for sdl joystick mappings
2017-12-08 13:08:42 +01:00
wwylele
07acc6ceab
cam: convert to ServiceFramework
2017-12-08 11:20:48 +02:00
Tillmann Karras
6752576de9
cfg: refer to ConsoleModelBlockID by name
2017-12-08 06:56:00 +00:00
Subv
e90daa6a4f
Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.
...
In a real 3DS, threads that call svcSyncRequest are put to sleep until the server responds via svcReplyAndReceive. Our HLE services don't implement this mechanism and are effectively immediate from the 3DS's point of view. This commit makes it so that we at least simulate the IPC delay.
Specific HLE handlers might need to put their callers to sleep for a longer period of time to simulate IO timings. This is their responsibility but doing so is currently not implemented.
See https://gist.github.com/ds84182/4a7690c5376e045cab9129ca4185bbeb for a test that was not passing before this commit.
2017-12-07 22:40:15 -05:00
Lioncash
ff96c5dba0
svc: Provide names for svc 0x59 and 0x5A
...
Updated according to 3dbrew.
2017-12-07 22:14:55 -05:00
bunnei
040006fa6b
Merge pull request #3159 from FearlessTobi/really-fix-fullscreen
...
citra-qt : Fix a bug in our fullscreen implementation
2017-12-07 11:32:28 -05:00
wwylele
2b907dadf4
cro_helper: add todo about process handle
2017-12-07 16:20:15 +02:00
wwylele
9749a43cc4
ldr_ro: create per-client storage; pass process where needed
2017-12-07 16:01:01 +02:00
wwylele
8e4e663113
memory: add overload with process parameter for ZeroBlock and CopyBlock
2017-12-07 15:59:54 +02:00
wwylele
de8dbbf0b6
ldr_ro: convert to ServiceFramework
2017-12-07 15:59:54 +02:00
Lioncash
088c8521bf
dyncom: Remove unnecessary includes
2017-12-07 00:02:55 -05:00
bunnei
1f36472fff
Merge pull request #3229 from lioncash/decode
...
arm_dyncom_dec: Hide the decoding table from external view
2017-12-06 22:46:01 -05:00
bunnei
77493860ca
Merge pull request #3228 from lioncash/explicit
...
arm: Make CPU backend constructors explicit
2017-12-06 22:44:39 -05:00
bunnei
d8ba07a430
Merge pull request #3227 from MerryMage/cro
...
Allow for partial invalidation of instruction cache
2017-12-06 22:43:58 -05:00
Lioncash
ab857f5e45
arm_dyncom_dec: Hide the decoding table from external view
...
This isn't used externally anywhere (and really shouldn't be).
2017-12-06 20:55:52 -05:00
Lioncash
982039be95
arm_dynarmic_cp15: Add missing header guard
2017-12-06 19:51:46 -05:00
Lioncash
e960628a14
arm: Make CPU backend constructors explicit
...
Avoids implicit conversions
2017-12-06 19:37:56 -05:00
MerryMage
a9af4be363
ldr_ro: Use ranged instruction cache invalidation
2017-12-06 20:59:09 +00:00
MerryMage
647e553f64
ARM_Interface: Allow for partial invalidation of instruction cache
2017-12-06 20:57:55 +00:00
Sebastian Valle
4b1253b51a
Merge pull request #3226 from Subv/arbiter_timeout
...
HLE/AddressArbiter: Remove threads that were awoken by timeout from an Arbiter's waitlist
2017-12-06 12:11:23 -05:00
Subv
8c16b90eae
HLE/AddressArbiter: Remove threads that were awoken by timeout from the arbiter's waitlist when using WaitIfLessThanWithTimeout and DecrementAndWaitIfLessThanWithTimeout.
...
Fixes a regression introduced in #3096
2017-12-06 09:06:45 -05:00
B3n30
b9db9af9e8
fixup! Applet: Print unknown AppletId on ASSERT
2017-12-06 13:52:21 +01:00
B3n30
ddc59e3881
Applet: Print unknown AppletId on ASSERT
2017-12-06 12:41:46 +01:00
muemart
e784434a25
Allow input configuration with SDL joysticks ( #3116 )
...
* Add infrastructure to poll joystick input and get ParamPackages
* Generalize the callbacks in configure_input.cpp and add buttons for analog sticks
* Use the polling classes in the input dialog
* Fix includes
* Formatting fix
* Include real header instead of forward declaring, to fix compiler error
* Split up pair and add deadzone for joystick configuration
* Pass ParamPackages by reference to callback
* fix formatting
* getPollers -> GetPollers
* Add forward declarations and simplify code a bit
* Update joysticks before opening them
* Fix mixup between joystick IDs and device indices
2017-12-05 23:26:29 -05:00
bunnei
e165b5bb94
Merge pull request #3184 from MerryMage/timing
...
core/arm: Improve timing accuracy before service calls in JIT
2017-12-05 23:12:24 -05:00
Lioncash
8599b1e7cc
dyncom: Convert the SPSR checking define to a function
...
Same thing, with less indirection hiding
2017-12-05 20:07:45 -05:00
Tillmann Karras
1c2750d5bd
video_core: optimize NaN check
2017-12-05 22:34:22 +00:00
CDAGaming
2052a201c0
Fix Clang Format Error
2017-12-05 14:21:59 -05:00
Subv
3d000c834b
Kernel/Threads: Implement an SleepClientThread function for HLERequestContext-based services 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 Kernel::Event that should be signaled to resume the guest thread when the host async operation completes.
2017-12-05 14:21:59 -05:00
wwylele
6050d000fa
fs: correct header code; remove dead code
2017-12-05 16:34:01 +02:00
Yuri Kunde Schlesner
9f806384f5
Merge pull request #3190 from Subv/errf_srv_framework
...
HLE/Services: Convert err:f to the new ServiceFramework.
2017-12-05 00:49:44 -05:00
bunnei
56db8e0858
Merge pull request #3173 from shinyquagsire23/nfc-o3ds-stub
...
Services/NFC: Stub StartTagScanning as it should be for o3DS
2017-12-04 16:11:54 -05:00
bunnei
990846f393
Merge pull request #3174 from MerryMage/vfp_reg_zero
...
dyncom: Remove VFP_REG_ZERO
2017-12-04 16:10:28 -05:00
bunnei
79e246d82f
Merge pull request #3185 from lioncash/vec-index
...
vector_math: Return by const reference for const operator[]
2017-12-04 16:05:03 -05:00
Subv
30bffb1964
HLE/Services: Convert err:f to the new ServiceFramework.
2017-12-04 14:03:11 -05:00
B3n30
3249187ad6
Merge pull request #3181 from wwylele/ipc-handle-split
...
ipc_helper: split PushMoveObjects and PushCopyObjects
2017-12-04 18:49:42 +01:00
wwylele
fda023c9fa
ipc_helper: split PushMoveObjects and PushCopyObjects
2017-12-04 19:46:44 +02:00
FearlessTobi
8942bfd759
Fix a bug in the fullscreen implementation
2017-12-04 17:42:23 +01:00
Lioncash
cc2ff226ae
vector_math: Return by const reference for const operator[]
...
Makes behavior between both overloads consistent.
2017-12-03 19:35:54 -05:00
Merry
e23c3cd7f7
Merge pull request #3145 from MerryMage/lg2-ex2
...
shader_jit_x64_compiler: Remove ABI overhead of LG2 and EX2
2017-12-03 17:38:38 +00:00
MerryMage
f6dfdc3588
core/arm: Improve timing accuracy before service calls in CPU interpreter
2017-12-03 16:40:21 +00:00
MerryMage
7cd8b437aa
core/arm: Improve timing accuracy before service calls in JIT
...
We also correct the CPU JIT's implementation of Step.
2017-12-03 16:06:46 +00:00
wwylele
ff00cb391a
service/ptm: add missing % in logging
2017-12-03 11:52:42 +02:00
Weiyi Wang
2664042325
Merge pull request #3086 from Subv/swkbd_launch
...
HLE/APT: Allow launching native applets instead of HLE ones.
2017-12-03 11:38:29 +02:00
Weiyi Wang
14819d0b84
Merge pull request #3138 from wwylele/ipc-mapped-buffer
...
Kernel/IPC: Implement MappedBuffer translation for HLE services that use the HLERequestContext architecture.
2017-12-03 11:33:48 +02:00
Weiyi Wang
466bec2d43
Merge pull request #3144 from BreadFish64/CIAInstallUI
...
QT CIA installation
2017-12-03 11:32:58 +02:00
B3n30
0acc3ed62f
SDL: add multiplayer options ( #3072 )
...
* SDL: Add multiplayer options
* SDL: Make the exit conditions LOG_ERROR
* fixup! SDL: Make the exit conditions LOG_ERROR
2017-12-03 11:29:48 +02:00
wwylele
94ae0b1305
HLE/Tests: add tests for MappedBuffer IPC HLE translation
2017-12-03 00:05:20 +02:00
wwylele
a79a8d17fa
FS: transform File to ServiceFramework
2017-12-03 00:05:20 +02:00
wwylele
cef6b15de4
IPC Helpers: Implement MappedBuffer translation helper for new interface
2017-12-03 00:05:20 +02:00
wwylele
3ecf650bf9
Kernel/IPC: Implement MappedBuffer translation for HLE services that use the HLERequestContext architecture.
2017-12-03 00:05:20 +02:00
BreadFish64
80852f918a
add CIA installation to QT frontend
2017-12-02 15:35:20 -06:00
MerryMage
b37a850654
dyncom: Remove VFP_REG_ZERO
...
Fixes two issues that will never happen:
1. There are cases when VFP_REG_ZERO will be non-zero, but these will
never be encoutered in well behaved guest code (i.e. writing to D16).
2. If CONFIG_VFPv3 is defined, accessing VFP_REG_ZERO would be out of
bounds.
2017-12-02 12:06:51 +00:00
shinyquagsire23
5ad4cf619e
Services/NFC: Stub StartTagScanning as it should be for o3DS
2017-12-01 12:42:23 -07:00
James Rowe
fcf0d104c9
Merge pull request #3161 from lioncash/catch
...
externals: Update catch to v2.0.1
2017-11-30 12:02:45 -07:00
MerryMage
c1aef260af
shader_jit_x64_compiler: Remove ABI overhead of LG2 and EX2
...
This involves reimplementing log2f and exp2f.
2017-11-30 18:17:35 +00:00
MerryMage
235a251d3c
tests: Add tests for x64 shader jit
...
Tests LG2 and EX2 instructions
2017-11-30 18:17:35 +00:00
Lioncash
f51fa38a1b
externals: Update catch to v2.0.1
2017-11-29 19:19:33 -05:00
Lioncash
89f67ad90f
services: Silence warnings related to logging
2017-11-29 18:59:54 -05:00
Dwayne Slater
fcc141a327
Maintain the PICA's 8 bits of color precision when using the interpolated primary color
...
This matches the software renderer by using round.
The actual hardware rounds the results up instead of flooring.
2017-11-29 16:49:04 -05:00
Dwayne Slater
350082ab75
Fix logic ops not being enabled in the OpenGL renderer
2017-11-29 16:30:19 -05:00
Dwayne Slater
dc48deaecc
Round primary color inputs in software rasterizer
...
OpenGL version coming soon.
2017-11-29 16:30:18 -05:00
bunnei
b2a99043e3
Merge pull request #2968 from Subv/hle_thread_pause
...
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-11-29 10:45:48 -05:00
bunnei
16dcec05d1
Merge pull request #3151 from MerryMage/looping-bug
...
Audio/HLE/Source: Fix looped state not updating
2017-11-29 10:43:06 -05:00
bunnei
d00b17eb43
Merge pull request #3162 from lioncash/packet
...
packet: Simplify operator bool overload
2017-11-29 10:41:13 -05:00
Lioncash
94999bde5b
room/room_member: Silence -Wswitch warnings
2017-11-28 21:09:53 -05:00
Lioncash
0a988e07cb
packet: Simplify operator bool overload
...
Previously this would cause a -Wnull-conversion warning
2017-11-28 21:00:24 -05:00
Sebastian Valle
dc5d7a802f
Merge pull request #3120 from shinyquagsire23/ncch-container-offsets
...
file_sys/ncch_container: Expose ncch_offset during instantiation and in OpenFile
2017-11-28 11:48:46 -05:00
Subv
1be31e271a
NS/Applets: Added the MiiSelector applet to the list of native applet ids.
2017-11-28 09:12:52 -05:00
Subv
9543e1a1bf
HLE/IPC: Don't assert in HLERequestContext::AddStaticBuffer when there's already a static buffer with the desired id.
...
This could happen if the guest application performs a request with static buffer id X, and the service module responds with another static buffer with the same id X.
2017-11-28 09:01:15 -05:00
B3n30
e9a95b2e7d
CoreTiming: Reworked CoreTiming ( #3119 )
...
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2017-11-25 14:56:57 +01:00
MerryMage
8a5cc14ba4
Audio/HLE/Source: Fix looped state not updating
...
Bugfix for ff280800
.
2017-11-25 11:10:10 +00:00
James Rowe
b7cf793814
Merge pull request #3113 from shinyquagsire23/sdl-cia-install
...
SDL CIA Installation
2017-11-24 10:23:20 -07:00
shinyquagsire23
70ff3c72f1
Services/AM: Detect encrypted CIAs
2017-11-20 20:45:21 -07:00
shinyquagsire23
c0eb233bf1
file_sys/title_metadata: Fix encrypted bitmask
2017-11-20 20:45:06 -07:00
shinyquagsire23
253954930f
Services/AM: Return InstallStatus for InstallCIA
2017-11-19 21:56:02 -07:00
James Rowe
de0af83719
Merge pull request #3135 from MerryMage/d-ClearInstructionCache
...
arm_dynarmic: ClearInstructionCache should clear all instruction caches
2017-11-19 16:39:04 -07:00
B3n30
c0a7afaa5c
Libnetwork: add password protected rooms, guid, and error fixes ( #3068 )
...
* Network: Add password protected roomsand GUID
* Limit chat message size
2017-11-19 19:52:37 +01:00
Merry
4071da5012
Merge pull request #3124 from jroweboy/revert-2985
...
Revert "Extracted the attribute setup and draw commands into their own functions"
2017-11-19 18:21:48 +00:00
Sebastian Valle
555c8ba7c1
Merge pull request #3077 from Subv/hle_static_buffer
...
Kernel/IPC: Implement StaticBuffer translation for HLE services that use the HLERequestContext architecture.
2017-11-19 11:34:02 -05:00
Sebastian Valle
ff275ac1e1
Merge pull request #3083 from Subv/lle_staticbuffer_translation
...
Kernel/IPC: Handle the StaticBuffer descriptor in LLE command requests.
2017-11-19 11:31:49 -05:00
MerryMage
2d917f8ca0
arm_dynarmic: ClearInstructionCache should clear all instruction caches
...
Bugfix of 67a70bd
.
2017-11-19 14:47:14 +00:00
James Rowe
9d9693c13d
Revert "Extracted the attribute setup and draw commands into their own functions"
...
This reverts commit b3b34a1e76
. This
commit causes a performance regression for not enough benefits
2017-11-16 11:46:17 -07:00
shinyquagsire23
549f11a40e
file_sys/ncch_container: Expose ncch_offset during instantiation and in OpenFile
2017-11-15 17:43:15 -07:00
shinyquagsire23
553ca2bfe0
SDL: Add command-line CIA installs
2017-11-15 16:05:37 -07:00
shinyquagsire23
56e906f1e3
Services/AM: Add InstallCIA function for frontends
2017-11-15 16:05:37 -07:00
shinyquagsire23
1f2aa29dee
Services/AM: Move CIA finalization into Close(), Close() on destruction of class
2017-11-15 16:05:33 -07:00
shinyquagsire23
750e7e06b1
Services/AM: Expose CIAFile class in AM header
2017-11-15 12:05:03 -07:00
Sebastian Valle
947067de81
Merge pull request #3085 from Subv/get_service_handle
...
HLE/SRV: Don't return the port handle if it isn't available when calling GetServiceHandle.
2017-11-15 13:46:12 -05:00
shinyquagsire23
1edbbf7f8c
Services/AM: Add GetTitleMediaType
2017-11-15 11:26:00 -07:00
James Rowe
5eabe60aa3
Merge pull request #2969 from mailwl/ptm_step
...
Service/PTM: Stub GetStepHistory function
2017-11-15 09:39:17 -07:00
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