Commit Graph

8522 Commits

Author SHA1 Message Date
8fa6be5b15 Merge pull request #4898 from zhaowenlan1779/warning-room-member
network/room_member: Silence -Wswitch warning
2019-08-21 09:14:28 +08:00
ebc43239f0 core_timing: Silence sign comparison warnings
This is causing a lot of warnings all over the place.
2019-08-20 22:25:18 +08:00
698b471074 network/room_member: Silence -Wswitch warning
This causes lots of warnings. Adding the Uninitialized case solves this
2019-08-20 22:23:32 +08:00
531bf857f5 Remove old region free logic 2019-08-20 21:03:41 +08:00
4144f4480d citra_qt: Add single line mode for game list
This single line mode is aimed at restoring the intended behavior with Small or None icons. Line breaks will be replaced with commas (Region row) or spaces (Name row). One can toggle this option in UI configuration.
2019-08-20 20:03:15 +08:00
b078122167 citra_qt/game_list: Disable uniform row heights
This option was intended for enabling optimizations when all rows are granted to have the same height. In our case this is not true, and therefore the behavior is actually undefined. Different versions of Qt handle this differently. Newer versions of Qt tend to hide contents that are too big in height, which goes against our wishes. Thus, it's probably the best to disable this option so that things don't go wrong if we ever decide to update Qt.
2019-08-20 20:01:14 +08:00
82fea86717 citra_qt/game_list: Add an All Regions check
Some titles (mostly homebrews) do not use the region free value 0x7FFF but instead set all of the region flags, resulting in all regions displayed in game list, which is not beautiful and not what we want. This fixes it by adding an all_regions check.
2019-08-20 19:57:33 +08:00
a3fca5b170 Merge pull request #4895 from zhaowenlan1779/separate-ffmpeg-options
CMake: separate options for FFmpeg decoder/dumper
2019-08-20 07:49:13 -04:00
609bd71da3 Fix dependent options 2019-08-20 15:26:59 +08:00
ce3459192e fixup! CMake: separate options for FFmpeg decoder/dumper 2019-08-20 14:58:43 +08:00
f8b3950829 CMake: separate options for FFmpeg decoder/dumper
Separate options are now provided for FFmpeg AAC audio decoder and FFmpeg video dumper. This allows users to configure Citra with greater freedom.

Also, previously for Linux builds, AAC decoder is accidentally enabled along with the dumper, which could potentially cause patent issues (?). This commit fixes it by only enabling video dumper.
2019-08-20 14:45:39 +08:00
42cefdbff0 citra_qt/debugger: Add recorder widget
This widget provides a simple list of recorded requests as well as a simple filter and the 'Clear' button. Requests with status 'HLE Unimplemented' or 'Error' will be marked out with the red color.

This widget handles retrival of service name. For reasons refer to a previous commit message.

Added the widget to the Debugging menu, pretty much the same as other debugging widgets.
2019-08-20 03:08:55 +08:00
45930e0621 citra_qt: Add record dialog
This 'View Record' dialog shows all relevant information on a record as well as the command buffers.
2019-08-20 03:08:20 +08:00
f40232adc9 service/sm: Add service name retrival based on client port ID
This is for displaying the service names. This function is only used in the frontend, because Recorder which is in the Kernel cannot and should not have access to SM in the System.
2019-08-20 03:07:30 +08:00
efd69e1315 kernel, service: Add HLE request/reply recording
Pretty much the same as LLE requests, the 'translate' part is chosen. A function is added to the context class to record requests that involves unimplemented HLE functions.
2019-08-20 03:07:29 +08:00
a27dfc269a kernel: Add LLE request/reply recording
The 'translate' function is a great place to put this in IMO as it is possible to get both untranslated and translated cmdbufs. However a kernel reference has to be passed here, but it is not too hard fortunately.
2019-08-20 03:07:29 +08:00
cb0bd6530c kernel/svc: Add request registering
All necessary objects are available here, making this a great place for the registering part.
2019-08-20 03:07:27 +08:00
b093d39a27 kernel: Add IPC Recorder to KernelSystem
Refer to the previous commit message for reasons why this is in kernel.
2019-08-20 03:07:26 +08:00
a3057c968b kernel: Add IPC Recorder class
This class resides in Kernel mainly because that, it's hard for kernel objects to get references to the System (and therefore to the Recorder), while much easier for KernelSystem. If this is to be moved to System the code will likely get much more complex with System (or Recorder) references passed everywhere.
2019-08-20 03:07:25 +08:00
71e0c40310 service: Add service function name lookup based on header code
This is for displaying the function name for HLE requests. Probably it is possible to do the same for LLE ones but it would require having the HLE handlers available even when not using them, which doesn't seem to make sense and is more of a hack than a proper solution in my opinion.
2019-08-20 03:07:25 +08:00
dd3ba7bd21 opengl: remove hw geometry shader related stuff 2019-08-18 20:07:50 -04:00
1cf75e55c2 Updated README with new help page. 2019-08-18 22:12:05 +00:00
b4d45b57c7 Merge pull request #4879 from tywald/accurate-gs-on
Remove 'Accurate Geometry Shader' setting
2019-08-18 15:52:45 -04:00
24f1c8d009 Merge pull request #4885 from vvanelslande/cmake-dwarf-mingw
Add MinGW CMake option to disable DWARF debugging information
2019-08-18 15:40:32 -04:00
8b8111b425 NFC: extract frontend-facing tag state
Added a new state amiibo_in_range. This state is akin to the real world
physical relationship between a 3DS machine and an amiibo, which is
independent from the service state (or even the machine is powered on or
not). The service state nfc_tag_state is then synchronized with this
physical state on every potential point when the state changes. This
solves the issue where user might load an amiibo before NFC service
initializes, or remove an amiibo after NFC service shutdown, which
previously causes inconsistent state change.

Also removed std::atomic on nfc_tag_state, because
1. It is already protected by g_hle_lock
2. It wasn't properly used in the code anyway. For example, there are
many double loading on this variable, which effectively make it
non-atomic.
2019-08-17 21:56:12 -04:00
32b88d4719 Merge pull request #4891 from jroweboy/fixfram
Fixup! Prevent issue deleting PerfStats
2019-08-16 22:06:01 -06:00
0cffab04b5 Fixup! Prevent issue deleting PerfStats 2019-08-16 21:54:33 -06:00
6f0b009497 Merge pull request #4889 from jroweboy/autouic
Remove qt5_wrap_ui macro usage
2019-08-16 19:36:23 -06:00
7fe9a094a5 Remove qt5_wrap_ui macro usage 2019-08-16 19:35:37 -06:00
00eeaf0e9c Merge pull request #4882 from jroweboy/frametime-logging
Frametime logging for tracking performance over time
2019-08-16 19:33:53 -06:00
9bb3de8d23 Merge pull request #4472 from jroweboy/nsapt
HLE: Move NS:S into APT and remove NS
2019-08-16 19:21:34 -06:00
135b054f74 Update telemetry_session.cpp
Change Session -> Performance
2019-08-15 19:36:02 -06:00
331a9fc12b Change over to std::shared_ptr 2019-08-14 21:30:49 -06:00
61ebeca765 NS: Lowercase NS:S to ns:s like it should be 2019-08-14 21:23:06 -06:00
6c8faaf2c2 HLE: Remove BaseInterface and add ns.cpp back 2019-08-14 21:23:06 -06:00
f2167d76a8 Service: Add BaseInterface and NSInterface 2019-08-14 21:23:03 -06:00
b62ca12e88 HLE: Move NS:S into APT and remove NS 2019-08-14 21:21:33 -06:00
a77cd00cbe Add current date/time to file path 2019-08-14 21:17:32 -06:00
23e969dfdc Address review comments 2019-08-14 21:17:32 -06:00
45be693f8c Add telemetry field for mean frametime
Previously, telemetry results couldn't give a good estimate for
performance over time, because it didn't include any fields related to
performance. With this, devs should be able to query metabase for mean
frametime to check for performance regressions after a change is made.
2019-08-14 21:17:31 -06:00
62e6c147ae Add perf stat logging through ini setting
For better tracking of performance regressions on incoming changes, this
change adds a way to dump frametime to file by changing an ini config
option. This is intentionally hidden as its only useful to a small
number of individuals, and not really applicable to the general
userbase.
2019-08-14 21:17:27 -06:00
84b40f2da6 Merge pull request #4862 from leoetlino/exheader-override-fix
ncch_container: Assume override exheaders are decrypted
2019-08-14 09:31:54 -06:00
fa6b5709a7 Merge pull request #4886 from zhaowenlan1779/appveyor-broken-again
Fix appveyor mingw (partially)
2019-08-14 09:29:53 -06:00
1437c4a01a Add MinGW CMake option to disable DWARF debugging information
Also, I disabled it for the Linux MinGW build.
2019-08-14 10:29:04 -05:00
e18c7ee78f Merge pull request #4602 from zhaowenlan1779/video-dump-reborn
Implement dumping audio+video to video files
2019-08-14 09:12:14 -06:00
e008585195 Added a HACK to ignore errors
Cyclical dependencies will result in errors. Redirecting err to null
doesn't help. I removed the redirection so that errors and warnings
would show up (they might be useful for us).

As FFmpeg is added, even more cyclical dependencies are present now. I
do not want to figure out what to install first to fix such things, so I
just decided to ignore all of them with a `0` at the end.
2019-08-14 16:29:42 +08:00
9463e13f5a Unfreeze CMake version
The original purpose of freezing CMake is to use a **higher** version than supplied in order to fix a certain issue. Now that a very long time has passed and mingw's CMake has been updated, there's really no reason to still freeze it any more. What's more, trying to use a certain version is unreliable by pacman's design and will probably cause issues for using older versions of dependencies. The current (and previous) mingw errors may come from this...
2019-08-14 16:28:28 +08:00
6e2d57e4ff travis: Update the frozen build to be a flagless Debug build
This is useful to test whether Citra will compile without any CMake flags, and in Debug type.
2019-08-14 09:27:06 +08:00
8202c55cd5 citra_qt: Add video dumping UI
QtConcurrent is used to stop the video dumping in another thread.
2019-08-14 09:27:05 +08:00
526d53af99 citra: Add --dump-video argument 2019-08-14 09:27:05 +08:00