Commit graph

7980 commits

Author SHA1 Message Date
James Rowe 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
James Rowe 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
James Rowe fa6b5709a7
Merge pull request #4886 from zhaowenlan1779/appveyor-broken-again
Fix appveyor mingw (partially)
2019-08-14 09:29:53 -06:00
James Rowe 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
Pengfei Zhu 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
Pengfei Zhu 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
zhupengfei 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
zhupengfei 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
zhupengfei 526d53af99
citra: Add --dump-video argument 2019-08-14 09:27:05 +08:00
zhupengfei 399a660faa
core/dumping: Add FFmpeg implementation
Sorry for the large diff, the implementation is quite long, and I can't really find a good way to split it into commits.
2019-08-14 09:27:04 +08:00
zhupengfei cf2c354fb9
CMake, CI: Add FFmpeg library dependency 2019-08-14 09:27:03 +08:00
Pengfei Zhu edf3171a07
Merge pull request #4884 from citra-emu/wwylele-patch-1
Guard unistd.h with MacOS only macro
2019-08-14 07:40:54 +08:00
Weiyi Wang 50ab002072
Guard unistd.h with MacOS only macro
Fix compile error on Windows caused by #4877 
Weird, I thought I saw this guard during the code review...
2019-08-13 15:42:22 -04:00
zhupengfei 0224ae13c4
video_core: Implement frame dumping
Two PBOs are used to speed up pixel copying process. To avoid getting the wrong speed/FPS, a new parameter is added to DrawScreens about whether to increase the frame count.
2019-08-13 19:28:04 +08:00
zhupengfei 778cc68114
renderer_base: Add prepare/cleanup function interface
This should be called by the video dumper backend to tell the video core to create necessary buffers/storage, etc.
2019-08-13 19:28:04 +08:00
zhupengfei fff570012f
audio_core: Dump audio frames and samples
This is tested to work with all three current methods - HLE, LLE and multithread LLE.
2019-08-13 19:28:03 +08:00
zhupengfei f2880b08d1
core: Add VideoDumper to System 2019-08-13 19:28:02 +08:00
zhupengfei 3f64aaabbd
core: Add video dumper interface
The VideoFrame is rotated while copying, to put the pixels in their correct positions (OpenGL seems to return the image in reverted order by default)
2019-08-13 19:28:02 +08:00
James Rowe 2f0ea48da4
Merge pull request #4878 from B3n30/citra_qt_all_regions_game_list
Citra_qt: Display all valid regions in game_list
2019-08-12 23:07:27 -06:00
James Rowe bc945fefec
Merge pull request #4877 from B3n30/fix_user_dir_on_osx
citra_qt: on osx chdir to bundle dir to allow detection of user folder
2019-08-12 22:59:05 -06:00
B3n30 e454f4c05b proper translation part2 2019-08-11 16:51:46 +02:00
B3n30 ec4fb81c4b proper translation 2019-08-11 16:22:43 +02:00
B3n30 69b32f174c clang-format 2019-08-11 14:44:31 +02:00
B3n30 848bfaf8cb Dispaly all valid game regions 2019-08-11 13:52:08 +02:00
B3n30 aabc2144bf Merge branch 'patch-1' of https://github.com/Jhynjhiruu/citra into Jhynjhiruu-patch-1 2019-08-11 13:21:16 +02:00
B3n30 3fb622e84f citrq_qt:main.cpp include unistd.h 2019-08-11 13:04:51 +02:00
B3n30 42d0654eec citra_qt: on osx chdir to bundle dir to allow detection of user folder 2019-08-11 12:28:07 +02:00
Weiyi Wang d18d2a0a18 citra_qt/configure: move speed limiter to general (#4864)
The speed limiter being a frame limiter is an implmentation detail and can be changed in the future. What user care about is that it limit the emulation speed in genenral (not just graphics but also audio+input)
2019-08-10 11:13:17 +02:00
Hamish Milne e3cefe5a5d Use a clear texture instead of texture 0 (solid black) in the GL rasterizer (#4844)
* Add OpenGLState.default_texture and set it to Clear in OpenGLRasterizer

* Localize the fix to the GL rasterizer

* Revert unwanted change
2019-08-10 11:05:00 +02:00
Tobias d80edd99d7 Port yuzu-emu/yuzu#2457: "yuzu/{about_dialog, main}: Specify string conversions explicitly for SCM-related info" (#4774)
* yuzu/about_dialog: Specify string conversions explicitly

Specifies the conversions explicitly to avoid implicit conversions from
const char* to QString. This makes it easier to disable implicit QString
conversions in the future.

In this case, the implicit conversion was technically wrong as well. The
implicit conversion treats the input strings as ASCII characters. This
would result in an incorrect conversion being performed in the rare case
a branch name was created with a non-ASCII Unicode character, likely
resulting in junk being displayed.

* yuzu/main: Move window title updating logic to its own function

For similar reasons to the previous change, we move this to a single
function, so we don't need to duplicate the conversion logic in several
places within main.cpp.
2019-08-10 11:01:18 +02:00
Weiyi Wang 0269cb6e67 gl_rasterizer: decrease vertex buffer size (#4703)
Nvidia seems to have flickering issue with pokemon for some specific vertex buffer size. The root cause is still unknown. This is just a workaround
2019-08-10 10:51:24 +02:00
Weiyi Wang 88db89bf57 configure_dialog: reverse tab map to avoid logic based on user-facing/translatable text (#4866) 2019-08-10 09:00:56 +02:00
xperia64 8131bd32e3 renderer_opengl: Add support for custom shaders (#4578)
* Add Anaglyph 3D

Change 3D slider in-game

Change shaders while game is running

Move shader loading into function

Disable 3D slider setting when stereoscopy is off

The rest of the shaders

Address review issues

Documentation and minor fixups

Forgot clang-format

Fix shader release on SDL2-software rendering

Remove unnecessary state changes

Respect 3D factor setting regardless of stereoscopic rendering

Improve shader resolution passing

Minor setting-related improvements

Add option to toggle texture filtering

Rebase fixes

* One final clang-format

* Fix OpenGL problems
2019-08-09 20:00:47 +02:00
Weiyi Wang 3e9c2e77d9
Merge pull request #4859 from weihuoya/opengles
minor fix for opengles
2019-08-08 09:30:42 -04:00
Léo Lam a2cde6e075 ncch_container: Assume override exheaders are decrypted
Require and assume that override exheaders are decrypted for
consistency with Luma's loader behaviour and to ensure consistent
behaviour regardless of whether the NCCH is marked as encrypted or not.
Currently, exheader overriding with an encrypted NCCH would cause
the title ID checking heuristic to mistakenly disable encryption,
which would then make exefs loading fail.
2019-08-07 18:41:37 +08:00
Tobias 76aec4d675 [Hotfix] Revert change in configure_dialog (#4865) 2019-07-29 12:33:10 +02:00
Weiyi Wang 216fc0b546
Merge pull request #4856 from FearlessTobi/port-2492
Port yuzu-emu/yuzu#2492: "yuzu/debugger: Specify string conversions explicitly"
2019-07-29 00:21:51 -04:00
Weiyi Wang c9d4a13c5c
Merge pull request #4860 from FearlessTobi/port-2499
Port yuzu-emu/yuzu#2499: "yuzu/configuration: Specify string conversions explicitly"
2019-07-29 00:21:21 -04:00
weihuoya 899e3eb003 minor fix for opengles 2019-07-28 21:18:38 +08:00
Lioncash 4832b29d3d yuzu/debugger: Specify string conversions explicitly 2019-07-28 15:13:03 +02:00
Lioncash 64a154e890 yuzu/configuration: Specify string conversions explicitly 2019-07-28 15:08:54 +02:00
Weiyi Wang aca55d0378
Merge pull request #4858 from FearlessTobi/port-2504
Port yuzu-emu/yuzu#2504: "yuzu/configuration/config: Specify string conversions explicitly"
2019-07-27 16:34:18 -04:00
Lioncash e58a805a22 yuzu/configuration/config: Specify string conversions explicitly
Allows the configuration code to build successfully with implicit string
conversions disabled.

Also makes default_hotkeys internally linked:
Given the array is a private static array, we can just make it
internally linked to hide it from external code. This also allows us to
remove an inclusion within the header.
2019-07-25 23:34:29 +02:00
Pengfei Zhu 45ff10c9a0
Merge pull request #4852 from rerpha/compiler_warnings_room_member
Added default case for GetErrorStr, removed useless const declaration in header
2019-07-25 08:41:03 +08:00
James Rowe aef06df388
Merge pull request #4817 from leoetlino/ips-patch-later
ncch_container: Apply IPS patch after allocating .bss
2019-07-23 20:58:35 -06:00
Weiyi Wang fcc7600b2b
Merge pull request #4851 from rerpha/compiler_warnings_in_core_arm
Fixing some compiler warnings in core/arm/
2019-07-23 19:34:46 -04:00
Jack Harper cb455fd410 Added default case for GetErrorStr, removed useless const declaration in header 2019-07-23 23:24:38 +01:00
Jack Harper b065ac6995 Fixing some compiler warnings 2019-07-23 23:10:17 +01:00
Pengfei Zhu 077eacd419
Merge pull request #4849 from CookiePLMonster/qt-buttons-fix
Fixed behaviour of some buttons by connecting functors to correct signals
2019-07-23 07:41:46 +08:00
Silent 4fd22c6a14
Qt: Fixed behaviour of buttons by connecting functors to correct signals
Following screens got fixes:
- Cheats
- Configure/Debug
- Configure/Input
- Chat Room
- Direct Connect
- Host
- Lobby List
2019-07-22 23:28:10 +02:00