zhupengfei
7e8041df28
kernel/timer: Add missing base object
2020-02-14 17:13:53 +08:00
Hamish Milne
246ae84a52
Pretty sure ARM/Thread serialization works now
2020-02-13 17:42:12 +08:00
Hamish Milne
c983528862
Reworked DSP serialization
2020-02-13 17:42:12 +08:00
James Rowe
55c75b5e3e
Add ClearAll to rasterizer cache for fully wiping the cache on save/load
2020-02-13 17:42:11 +08:00
James Rowe
3e34ad6890
Hack: Workaround crash when loading state and gyro is used
2020-02-13 17:42:11 +08:00
Hamish Milne
0effb229cd
Fix geometry pipeline; attempt to fix motion controls
2020-02-13 17:42:10 +08:00
Hamish Milne
35c3ca995c
Fixed a bug (??) in arm_dynarmic where PageTableChanged could reset the CPU context
2020-02-13 17:42:10 +08:00
Hamish Milne
b2370ea353
Fixed setting the right DSP service on deserialization
2020-02-13 17:42:10 +08:00
Hamish Milne
2217b3558d
Fixed file services serialization
2020-02-13 17:42:10 +08:00
Hamish Milne
c24ea0f0ee
Serialize core timing
2020-02-13 17:42:09 +08:00
Hamish Milne
8abc5525be
Added Signals; more runtime fixes
2020-02-13 17:42:09 +08:00
Hamish Milne
e4f05884c3
Fixed serialization runtime exceptions
2020-02-13 17:42:08 +08:00
Hamish Milne
ca971ff31f
Serialize file/directory services
2020-02-13 17:42:08 +08:00
Hamish Milne
9525d81344
More base-derived fixes
2020-02-13 17:42:07 +08:00
Hamish Milne
996aba39fe
Correct exports; add some file serialization; fix service base object serialization
2020-02-13 17:42:07 +08:00
Hamish Milne
f2de70c3fb
Fix crash bugs
2020-02-13 17:42:06 +08:00
Hamish Milne
116d22d562
Refactor out the wakeup_callback function pointer
2020-02-13 17:42:05 +08:00
Hamish Milne
7019561fd5
Bind NWM_UDS service in the constructor
2020-02-13 17:42:05 +08:00
Hamish Milne
96432589bd
Use shared_ptr for PageTable
2020-02-13 17:42:04 +08:00
Hamish Milne
e4afa8e512
Make the tests pass
2020-02-13 17:42:04 +08:00
Hamish Milne
65d96bf6c1
Changed u8* to MemoryRef
2020-02-13 17:42:00 +08:00
Hamish Milne
cf985631e0
Minor tidying up
2020-02-13 17:41:27 +08:00
Hamish Milne
26e90a99cd
Added basic UI; misc memory fixes
2020-02-13 17:41:27 +08:00
Hamish Milne
558e710e17
Finished archives; remove pod.h
2020-02-13 17:41:26 +08:00
Hamish Milne
2bf5b46460
Basic archive backend serialization
2020-02-13 17:41:26 +08:00
Hamish Milne
2d2c7218ef
Serialize CECD, CFG services
2020-02-13 17:41:25 +08:00
Hamish Milne
ef2e503281
Serialize QTM, Y2R services
2020-02-13 17:41:24 +08:00
Hamish Milne
92857efca4
Serialize PTM service
2020-02-13 17:41:24 +08:00
Hamish Milne
f5e2f873b0
Serialize NWM service
2020-02-13 17:41:24 +08:00
Hamish Milne
571b1062f0
Serialize NIM, PS, PXI, SOC, SSL services
2020-02-13 17:41:23 +08:00
Hamish Milne
2409ee39cb
Serialize IR, MVD, NDM, NEWS, NFC
2020-02-13 17:41:23 +08:00
Hamish Milne
3d6e372f96
More clang format fixes. Really need to standardise the version of this
2020-02-13 17:41:23 +08:00
Hamish Milne
01ec2e8a67
Serialize MIC service
2020-02-13 17:41:22 +08:00
Hamish Milne
e3c0211b74
Fix clang format
2020-02-13 17:41:22 +08:00
Hamish Milne
eb67167b7c
Serialize IR service
2020-02-13 17:41:22 +08:00
Hamish Milne
8bd3e8cd27
Serialize HTTP service
2020-02-13 17:41:22 +08:00
Hamish Milne
74361fa3fb
Serialize HID service
2020-02-13 17:41:21 +08:00
Hamish Milne
30494c06a4
Serialize GSP service
2020-02-13 17:41:21 +08:00
Hamish Milne
9877bf7d48
Change how the boost target works; disable external warnings in MSVC
2020-02-13 17:41:20 +08:00
Hamish Milne
d041901a30
Some more CI fixes
2020-02-13 17:41:20 +08:00
Hamish Milne
c7106e232f
Fix a bug on mingw
2020-02-13 17:41:16 +08:00
Hamish Milne
d6862c2fca
Some CI fixes
2020-02-13 17:40:52 +08:00
Hamish Milne
7b846ffa98
clang-format fixes
2020-02-13 17:39:15 +08:00
Hamish Milne
d482fb359c
Attempting to fix mingw on windows
2020-02-13 17:38:25 +08:00
Hamish Milne
6917eaf53b
Use load_construct_data for kernel objects
2020-02-13 17:38:25 +08:00
Hamish Milne
3ed8d95866
Serialize FS service; some compiler fixes
2020-02-13 17:38:24 +08:00
Hamish Milne
d1096de245
Added FRD service serialization
2020-02-13 17:38:24 +08:00
Hamish Milne
4354179156
Added ERR service serialization
2020-02-13 17:38:23 +08:00
Hamish Milne
452ae2e371
Added DSP service serialization
2020-02-13 17:38:23 +08:00
Hamish Milne
30fe2bfe38
Added DLP service serialization
2020-02-13 17:38:23 +08:00
Hamish Milne
a0c3b91785
Added CSND serialization
2020-02-13 17:38:23 +08:00
Hamish Milne
17b9cbefef
CAM service serialization
2020-02-13 17:38:22 +08:00
Hamish Milne
1185d62792
BOSS service serialization
2020-02-13 17:38:22 +08:00
Hamish Milne
5265c79056
APT service serialization
2020-02-13 17:38:21 +08:00
Hamish Milne
3e752002c4
Replace g_kernel with Core::Global etc.
2020-02-13 17:38:21 +08:00
Hamish Milne
e707685c2a
Serialize AM services
2020-02-13 17:38:20 +08:00
Hamish Milne
89e4e49a63
Finished AC and ACT service serialization
2020-02-13 17:38:20 +08:00
Hamish Milne
3fd5c431f1
Service serialization framework; done AC
2020-02-13 17:38:20 +08:00
Hamish Milne
ac0337d8df
Started IPC services serialization
2020-02-13 17:38:19 +08:00
Hamish Milne
7a5bde0b44
Serialize service manager, server prt
2020-02-13 17:38:19 +08:00
Hamish Milne
4f95575d41
Serialize some more kernel objects
2020-02-13 17:38:18 +08:00
Hamish Milne
8c81500dee
Serialize kernel/hle/memory
2020-02-13 17:38:18 +08:00
Hamish Milne
050c3bdee5
Serialize primitive_assembly
2020-02-13 17:38:18 +08:00
Hamish Milne
c284192a87
Serialize geometry_pipeline
2020-02-13 17:38:17 +08:00
Hamish Milne
acc89b2251
Fixed an include
2020-02-13 17:38:17 +08:00
Hamish Milne
dc0d1ebc95
Added a TODO
2020-02-13 17:38:17 +08:00
Hamish Milne
f557d26b40
Added CPU, mutex, process, thread, timer
2020-02-13 17:38:16 +08:00
Hamish Milne
06891d9454
Added client/server objects
2020-02-13 17:38:16 +08:00
Hamish Milne
5035e68dad
Added derived kernel objects
2020-02-13 17:38:15 +08:00
Hamish Milne
f79c9668a3
Added shader state; WIP kernel objects
2020-02-13 17:38:10 +08:00
Hamish Milne
45788b9c82
Added shader state serialization
2020-02-13 17:34:16 +08:00
Hamish Milne
6f00976ab5
video_core serialization
2020-02-13 17:34:16 +08:00
Hamish Milne
ee2cae2093
Added core serialization
2020-02-13 17:34:13 +08:00
Hamish Milne
dc04774ece
Added POD serialization
2020-02-13 17:27:51 +08:00
Hamish Milne
6940c99ed6
Added boost serialization
2020-02-13 17:27:50 +08:00
Tobias
f106e76132
Port yuzu commit: "yuzu/CMakeLists: Disable implicit QString co… ( #5074 )
...
* yuzu/CMakeLists: Disable implicit QString conversions
Now that all of our code is compilable with implicit QString
conversions, we can enforce it at compile-time by disabling them.
Co-Authored-By: Mat M. <lioncash@users.noreply.github.com>
* citra_qt: Remove lots of implicit QString conversions
Co-authored-by: Mat M. <mathew1800@gmail.com>
2020-02-11 13:12:09 +01:00
zhupengfei
4273b967b5
core/file_sys: Do not apply the same mods to DLCs
...
Now you can apply separate mods to DLCs and mods for the original title won't be applied.
2020-02-11 14:03:07 +08:00
FearlessTobi
4c2c27046d
Fix compilation
2020-02-10 12:10:42 +01:00
Pengfei Zhu
b53b4bfb17
Merge pull request #5062 from FearlessTobi/port-3173
...
Port yuzu-emu/yuzu#3173 : "common: SPSCQueue: Notify after incrementing queue size."
2020-02-10 12:10:45 +08:00
zhupengfei
b81c9bd738
fix clang format
2020-02-10 07:41:31 +08:00
Lioncash
7362fe48ac
input_common/udp: Add missing override specifiers
...
Prevents trivial warnings and ensures interfaces are properly
maintained between the base class.
2020-02-09 23:00:02 +01:00
Lioncash
575ab92a76
input_common/udp: std::move SocketCallback instances where applicable
...
std::function is allowed to heap allocate if the size of the captures
associated with each lambda exceed a certain threshold. This prevents
potentially unnecessary reallocations from occurring.
2020-02-09 23:00:02 +01:00
Lioncash
fcdc191107
input_common/udp: std::move shared_ptr within Client constructor
...
Gets rid of a trivially avoidable atomic reference count increment and
decrement.
2020-02-09 23:00:02 +01:00
Lioncash
8a0f8c3a4f
udp/client: Replace deprecated from_string() call with make_address_v4()
...
Future-proofs code if boost is ever updated.
2020-02-09 23:00:02 +01:00
Lioncash
7d45fdc1df
input_common/udp: Silence -Wreorder warning for Socket
...
Amends the constructor initializer list to specify the order of its
elements in the same order that initialization would occur.
2020-02-09 23:00:01 +01:00
Lioncash
d7a58fe24d
input_common/udp: Remove unnecessary inclusions
2020-02-09 23:00:01 +01:00
Lioncash
b39a611a3d
input_common/udp: Add missing header guard
2020-02-09 23:00:01 +01:00
zhupengfei
d9ae4c332d
layered_fs: Do not open all replacement files on load
...
Instead open them when we want to read them. This is because the standard library has a limit on the number of opened files.
2020-02-09 21:48:42 +08:00
zhupengfei
b87bc5d351
citra_qt: Add 'Dump RomFS' menu action
...
A progress dialog will be displayed. However no progress is reported and the user also cannot cancel it.
2020-02-09 21:01:56 +08:00
zhupengfei
13e2d534e9
core: Add dump RomFS support
...
This is added to LayeredFS, then the NCCH container and then the loader interface.
2020-02-09 20:59:31 +08:00
James Rowe
03cde53cb6
Merge pull request #5077 from FearlessTobi/port-3339
...
Port yuzu-emu/yuzu#3339 : "GUI: fix minor issues with dark themes + rename and reorder themes"
2020-02-08 12:49:15 -07:00
James Rowe
17e9522921
Merge pull request #5069 from vitor-k/min-window2
...
Update minimum window size based on current layout
2020-02-08 12:46:20 -07:00
zhupengfei
db18f6c79a
Address review
...
simplify code
2020-02-07 23:53:00 +08:00
zhupengfei
2ec99b83aa
core: Reset archive_manager on shutdown.
...
This holds the archives which include the SelfNCCH archive which holds the RomFS files. If we don't reset it the LayeredFS class can't get destructed and mods files won't be released.
2020-02-07 23:45:02 +08:00
zhupengfei
6e0afbaa19
Fix build
...
Explicitly use `std::min<std::size_t>`
Added virtual destructor
2020-02-07 16:26:33 +08:00
zhupengfei
eed9de2336
core/file_sys: Allow exheader replacement to be read from mods path
...
The previous method (filename.exheader) can still be used.
2020-02-07 15:55:35 +08:00
zhupengfei
53d0c618a0
core/file_sys: Read mods for the original title for updates
...
Updates can override RomFS and ExeFS, therefore we should apply the mods to them as well.
2020-02-07 15:20:20 +08:00
zhupengfei
7c652a0479
citra_qt: Add 'Open Mods Location'
2020-02-07 15:20:20 +08:00
zhupengfei
91e5a39a08
core/file_sys: Allow exefs mods to be read from mods path
...
The original path (file_name.exefsdir) is still supported, but alternatively users can choose to put exefs patches in the same place as LayeredFS files (`load/mods/<Title ID>/exefs`).
2020-02-07 15:20:19 +08:00
zhupengfei
8a570bf00c
core: Use LayeredFS while reading RomFS
...
Only enabled for NCCHs that do not have an override romfs.
LayeredFS files should be put in the `load` directory in User Directory. The directory structure is similar to yuzu's but currently does not allow named mods yet. Replacement files should be put in `load/mods/<Title ID>/romfs` while patches/stubs should be put in `load/mods/<Title ID>/romfs_ext`.
2020-02-07 15:20:18 +08:00
zhupengfei
890405bb7c
core/file_sys: LayeredFS implementation
...
This implementation is different from Luma3DS's which directly hooks the SDK functions. Instead, we read the RomFS's metadata and figure out the directory and file structure. Then, relocations (i.e. replacements/deletions/patches) are applied. Afterwards, we rebuild the metadata, and assign 'fake' data offsets to the files. When we want to read file data from this rebuilt RomFS, we use binary search to find the last data offset smaller or equal to the given offset and read from that file (either from the original RomFS, or from replacement files, or from buffered data with patches applied) and any later files when length is not enough.
The code that rebuilds the metadata is pretty complex and uses quite a few variables to keep track of necessary information like metadata offsets. According to my tests, it is able to build RomFS-es identical to the original (but without trailing garbage data) when no relocations are applied.
2020-02-07 15:19:57 +08:00
zhupengfei
83e0cc45f4
core/file_sys: Make RomFSReader an abstract interface
...
The original RomFSReader is renamed to DirectRomFSReader that directly reads the RomFS.
2020-02-07 15:19:53 +08:00
zhupengfei
05a82b15e6
swkbd: Fix digit filter
...
The DIGIT filter was incorrectly implemented as preventing all digits. It actually limits the maximum digit count to max_digits, according to ctrulib and hardware testing.
2020-02-04 16:56:30 +08:00
Tobias
eb0364dd5f
citra_qt: config: Move audio to its own tab. ( #5079 )
...
- We have some important audio settings, makes them more discoverable.
Co-Authored-By: bunnei <bunneidev@gmail.com>
Co-authored-by: bunnei <bunneidev@gmail.com>
2020-02-01 16:04:48 +01:00
BreadFish64
e7a073e15f
logging/backend: Change type of filename from string to const char*
...
This was suggested by degasus in https://github.com/yuzu-emu/yuzu/pull/3326 in order to avoid an unnecessary copy.
2020-01-28 14:29:26 +01:00
Bartosz Kaszubowski
ff66f723bb
GUI: fix minor issues with dark themes
...
GUI: rename and reorder themes
2020-01-28 14:24:52 +01:00
FearlessTobi
4b7a45ccc7
yuzu/main: Specify string conversions explicitly
2020-01-23 22:45:13 +01:00
James Rowe
5f20bf0e10
Merge pull request #5073 from vitor-k/log-shader-cache-option
...
Log disk shader cache setting
2020-01-22 21:25:17 -07:00
James Rowe
f3e6c4f841
Merge pull request #5071 from jroweboy/loading-bar
...
QT Frontend: Add disk shader loading progress bar
2020-01-22 21:24:43 -07:00
Vitor Kiguchi
2035207dde
log disk shader cache setting
2020-01-23 00:49:17 -03:00
James Rowe
426e214c25
Loading Screen: Vertically Center everything
2020-01-22 17:26:27 -07:00
James Rowe
961a7b59c9
QT Frontend: Add disk shader loading progress bar
...
Until we get a on screen display or async shader loading, we should at
least have some measure of progress in the meantime. This is 90% a port
from the loading screen I made for yuzu, but with a slightly different
changed detection for when to display the ETA. Now we keep track of a
rolling estimate for shader load ETA and only display a ETA if its going
to take longer than 10 seconds.
2020-01-22 17:18:00 -07:00
James Rowe
5fb456f17f
Frontend: Prevent DiskShader option from being selected if HW Shaders are disabled
2020-01-22 09:50:31 -07:00
James Rowe
bd29261e0a
Frontend: Only load disk resources if hw shader is enabled
2020-01-22 09:47:53 -07:00
Vitor Kiguchi
b713fe3329
Address review comments
2020-01-22 12:51:04 -03:00
Vitor Kiguchi
157f82141d
Make a separate function for getting minimum size based on layout
2020-01-21 19:31:39 -03:00
James Rowe
5fd1ff08d7
Merge pull request #5024 from jroweboy/temp-hle-audio-fix
...
Prevent out of memory errors when the game passes in an improper length value
2020-01-21 15:30:20 -07:00
Vitor Kiguchi
0dcb886ef2
clang format
2020-01-21 14:24:16 -03:00
Vitor Kiguchi
718f04af6d
Correctly treat cases when current size is smaller than the minimum defined by the layout
2020-01-21 13:32:51 -03:00
Vitor Kiguchi
5d0353c391
correct ProcessConfigurationChanges
2020-01-20 23:00:33 -03:00
Vitor Kiguchi
6e1a873e57
use the defined constants instead of magic numbers for screen dimensions
2020-01-20 23:00:33 -03:00
Vitor Kiguchi
64737afdbc
Change min_client_area_size based on layout
2020-01-20 23:00:21 -03:00
James Rowe
a0f9c795c8
Merge pull request #5043 from vitor-k/screen-rotate
...
Implement Upright/Book-style layout
2020-01-20 18:38:06 -07:00
Vitor Kiguchi
c2179a1dd0
log the upright screen setting
2020-01-20 22:32:16 -03:00
Vitor Kiguchi
5eb9a5b3bc
Set hotkey for screen rotation
2020-01-20 22:32:15 -03:00
Vitor Kiguchi
be88d2a59a
implement upright orientation for side and large frame layouts
2020-01-20 22:32:15 -03:00
vitor-k
89cab445d4
Implementation of screen rotation without use of additional layouts.
...
This is based on what was done using additional layouts, but modified
to have a variable to control rotation and making it so Single Screen
Layout behaves like Upright Single would, and Default Layout behaves
like Upright Double would, when the new variable is used.
Large Layout and Side Layout currently ignore the new variable.
New variable still currently doesn't have a hotkey.
2020-01-20 22:31:51 -03:00
bunnei
591c6a64d7
common: SPSCQueue: Notify after incrementing queue size.
2020-01-19 13:35:49 +01:00
TotalCaesar659
df6cf6bbb6
Add headbar icon on Linux
2020-01-19 13:29:53 +01:00
James Rowe
e4285097f4
Merge pull request #5021 from ccawley2011/cpu_detect
...
common/cpu_detect: Remove unused functionality
2020-01-17 20:30:29 -07:00
James Rowe
e74a402c69
Merge pull request #4923 from jroweboy/diskcachelul
...
Disk Shader Caching
2020-01-17 18:15:50 -07:00
iwubcode
43f8aadd52
renderer_opengl: Allow usage of interlaced 3D
2020-01-16 22:12:50 -06:00
iwubcode
6f269c375f
citra, citra_qt, settings.h, default_ini.h: Add option for interlaced 3D
2020-01-16 22:12:50 -06:00
James Rowe
e95bc52b3d
Only check for sanitize_mul if theres a shader in the cache
2020-01-16 08:35:52 -07:00
James Rowe
43c9695bf9
Fix title bar
2020-01-15 23:52:41 -07:00
James Rowe
cf4125a6a5
Only load precompiled shaders if their sanitize_mul setting matches
2020-01-15 21:10:37 -07:00
James Rowe
6945b6539f
Address review and update zstd
2020-01-15 19:58:34 -07:00
James Rowe
936094dd27
Log the number of entries in each cache
2020-01-15 19:58:34 -07:00
James Rowe
45bc5b465e
Add a error log for unsupported configurations for disk cache
2020-01-15 19:58:34 -07:00
James Rowe
2d86bc6db5
Rename InvalidateTransferable to InvalidateAll to match what it does
2020-01-15 19:58:34 -07:00
James Rowe
7092ba8480
Only add shaders to precompiled cache if they are new
2020-01-15 19:58:34 -07:00
James Rowe
061a33477f
Properly bind the shader sampler and uniform bindings
2020-01-15 19:58:34 -07:00
James Rowe
a20c81d593
Change VFS vector to regular vector
2020-01-15 19:58:34 -07:00
James Rowe
6f2756089d
citra-sdl: Add Load Disk Resources
2020-01-15 19:58:34 -07:00
James Rowe
d418f0438d
citra-qt: Load Disk Resources
2020-01-15 19:58:34 -07:00
James Rowe
d03d201482
Add GetRenderer to core
2020-01-15 19:58:34 -07:00
James Rowe
be52d3a7d0
Add missing changes from yuzu file_util
2020-01-15 19:58:34 -07:00
James Rowe
4e9ec4efd0
Add shader disk caching
2020-01-15 19:58:33 -07:00
James Rowe
ce3f8bf94e
Add frontend settings
2020-01-15 19:58:33 -07:00
James Rowe
b5b6ce5fdc
Add shader cache version generation
2020-01-15 19:58:33 -07:00
James Rowe
b5bc05738c
Add settings for disk shader cache
2020-01-15 19:58:33 -07:00
James Rowe
8f67d6a444
Add ZSTD compression for precompiled cache
2020-01-15 19:58:33 -07:00
James Rowe
cd86c9b043
Merge pull request #5036 from leoetlino/bps
...
file_sys: Add support for BPS patching
2020-01-15 12:04:54 -07:00
James Rowe
45bff6ab58
Merge pull request #5033 from BreadFish64/fix_game_list
...
qt: do not use an invalid update smdh
2020-01-15 11:51:35 -07:00
James Rowe
01686f78fe
Merge pull request #5037 from leoetlino/thin-archives
...
CMake: Create thin archives on Linux
2020-01-01 14:29:43 -05:00
BreadFish64
b3beff0f4c
common/logging: don't use regex for path trimming
2019-12-24 14:19:18 -06:00
Léo Lam
756d231ff9
file_sys: Add support for BPS patches
...
The BPS format allows distributing patches that are smaller and that do
not contain copyrighted content if data is relocated
(unlike non-trivial IPS patches).
This is essential for games such as MM3D that have three barely
different code revisions. Supporting all three versions would
demand an unreasonable amount of work; with BPS patches only one
version has to be supported.
2019-12-22 10:46:47 +01:00
Léo Lam
3140086c60
file_sys: Handle patch applying failures
...
This changes ApplyCodePatch to return a ResultStatus, which makes it
possible to determine whether patch applying has failed. Previously,
only a boolean was returned, and false was returned when no patch
was found OR when a patch was found but applying it failed.
This also changes AppLoader_NCCH to return an error if patching fails
because the executable is likely to be left in an inconsistent state
and we should not proceed booting in that case.
2019-12-22 10:46:47 +01:00
Léo Lam
1377be9902
file_sys: Move IPS patching code into separate source file
...
In anticipation of a new BPS patcher.
2019-12-22 10:46:47 +01:00
Léo Lam
72a081c617
CMake: Create thin archives on Linux
...
This significantly reduces unnecessary disk writes and space usage
when building Citra.
libcore.a is now only ~1MB rather than several hundred megabytes.
2019-12-22 10:12:00 +01:00
BreadFish64
cadfd6834d
qt: do not use an invalid update smdh
2019-12-18 21:51:06 -06:00
James Rowe
020cd56ad8
Merge pull request #5030 from jroweboy/reorder-queue-acquire
...
Remove wait for free buffer
2019-12-18 16:07:52 -07:00
James Rowe
dd258acfaf
Merge pull request #5027 from jroweboy/ffmpeg-fix
...
Reenable AAC FFMPEG decoding
2019-12-17 08:49:35 -07:00
James Rowe
f9421eedcc
Merge pull request #5028 from jroweboy/missing-vsync-telemetry
...
Add missing vsync telemetry field
2019-12-17 08:49:08 -07:00
James Rowe
1d14b98f81
Remove accidentally pushed debugging logs ( #5029 )
2019-12-17 11:13:47 +01:00
James Rowe
f369196c9f
Remove wait for free buffer
...
Previously we would first attempt to use any buffer that was free,
meaning whichever buffer has already been displayed. This has poor
interactions when the operating system throttles the update rate of the
window, so if there isn't any free buffers available, just reuse the
oldest frame instead.
2019-12-16 20:02:01 -07:00
James Rowe
b559d1a495
Add missing vsync telemetry field
...
Was removed as part of #4940 but readded again.
2019-12-16 19:30:28 -07:00
James Rowe
e53a2ac411
Reenable AAC FFMPEG decoding
...
Simple cut/paste issue where initialized is only set to true when the
emulation attempts to init the Binary Pipe, but we used it to test if
the FFMPEG decoder was valid and disabled it if it wasn't. Just return
the value of have_ffmpeg_dl instead so when dynamic loading is added
it'll still work.
2019-12-16 19:23:43 -07:00
James Rowe
439d550850
Merge pull request #4940 from jroweboy/presentation-thread
...
Split Presentation thread from Render thread
2019-12-15 20:25:34 -07:00
James Rowe
408e225048
Destroy GLWindow on exit to prevent issues closing the app while in fullscreen
2019-12-15 16:20:59 -07:00
James Rowe
36c5058d66
Reintroduce a vsync option for people with really bad drivers
2019-12-15 15:42:05 -07:00
James Rowe
87facaa2e2
Prevent out of memory errors when the game passes in an improper length value
...
HACK
In Luigi's Mansion Dark Moon in HLE audio, the game mysteriously passes
in an extremely large value for length, which without any checks, causes
HLE audio to allocate an extremely large buffer.
This value seemingly is caused by some other HLE audio feature is missing,
and Luigi's Mansion subtracts two values to get a length, without
checking for overflow first. This appears to be caused by an incorrect
HLE audio emulation, as its fixed entirely by only changing to LLE. As
such, further investigation is required, but in the meantime, completely
eating up our users RAM is unacceptable.
2019-12-14 18:18:59 -07:00
James Rowe
ddb7ead3e4
Merge pull request #5020 from jroweboy/dynamic-mf
...
Runtime Load MediaFoundation dlls on Windows
2019-12-14 10:13:54 -07:00
James Rowe
30dfe1fcb8
Use the correct register length for index_array
...
The index_array can't possible be 31 bits long as that would index
out of bounds memory. According to 3dbrew, this should be 28
2019-12-13 18:08:07 -07:00
Cameron Cawley
9a45d32a5f
common/cpu_detect: Remove Common::CPUVendor
...
It's only used by telemetry, where the information it provides can be gained from the brand string.
2019-12-09 22:39:56 +00:00
Cameron Cawley
bc5ad137c0
common/cpu_detect: Remove unused functionality
2019-12-09 22:36:32 +00:00
James Rowe
337ac73915
Improve aac decoder selection
2019-12-08 16:18:39 -07:00
James Rowe
b395efe804
Dynamically load Media Foundation
2019-12-08 13:54:27 -07:00
James Rowe
65613cce81
Add microprofile scopes for presentation
2019-12-02 18:59:12 -07:00
James Rowe
9ae3eb4a30
Remove high dpi scaling flag as it needs more work first
2019-12-02 18:34:11 -07:00
zhupengfei
17ba846a3f
applets/swkbd: Remove text memory clearing
...
The text shared memory wasn't supposed to be cleared according to my comparison with the LLE swkbd. This can cause issues in certain games such as Harvest Moon.
A null terminator is added to the text copied to mark the end of the string.
2019-12-01 23:01:07 +08:00
James Rowe
866df2644b
Merge pull request #4982 from vvanelslande/mic-device
...
service/mic: actually use the specified device
2019-11-28 21:23:36 -07:00
James Rowe
de17fe31fb
clang-format
2019-11-28 20:47:33 -07:00
James Rowe
ea40eb0994
Use the proper parent window
...
Fixes an issue where the touch point is incorrect in OpenGLWindow when the render
target is initialized for the first time with single window mode disabled.
2019-11-28 20:35:50 -07:00
James Rowe
123c0212ef
Fix window resizing bug
2019-11-28 11:20:42 -07:00
James Rowe
782eae7f65
Fix drag and drop
2019-11-28 10:56:58 -07:00
James Rowe
15ed600c91
Merge pull request #4956 from vitor-k/game-sorting
...
Fixes to game list sorting
2019-11-20 09:48:08 -07:00
James Rowe
e6c7f84dc6
Merge pull request #4964 from citra-emu/wwylele-patch-1
...
unfold UNREACHABLE implementation for dumb compilers
2019-11-20 09:43:48 -07:00
Weiyi Wang
6d0189b4b1
Merge pull request #4992 from FearlessTobi/port-2513
...
yuzu/game_list&multiplayer: Specify string conversions explicitly
2019-11-20 10:45:21 -05:00
Weiyi Wang
85f2e577b5
Merge pull request #5006 from FearlessTobi/port-3123
...
Port yuzu-emu/yuzu#3123 : "common/logging: Silence no return value warnings"
2019-11-20 10:34:47 -05:00
James Rowe
0acacc4e1a
Merge pull request #5002 from vvanelslande/username-fix
...
Fix moderation by room host in dedicated rooms
2019-11-19 23:51:21 -07:00
ReinUsesLisp
30be149f87
common/logging: Silence no return value warnings
2019-11-19 16:47:35 +01:00
BreadFish64
e38b4f6707
video_core: get rid of MSVC hack comment
2019-11-17 17:42:19 -06:00
vvanelslande
d16d34203a
Fix moderation by room host in dedicated rooms
2019-11-17 09:59:54 -05:00
vvanelslande
e1e136d72f
service/mic: actually use the specified device
2019-11-11 17:15:10 -05:00
Weiyi Wang
5fa71d425b
Merge pull request #4998 from vvanelslande/count
...
dedicated_room: fix crash (count != 0) when closing the room
2019-11-11 15:54:44 -05:00
Pengfei Zhu
060119d333
Merge pull request #4987 from vvanelslande/room-logging
...
network/room (server): add message/join/leave/kick/ban/unban/game name logging
2019-11-11 20:29:33 +08:00
Pengfei Zhu
1c6a8e995a
Merge pull request #4953 from vvanelslande/qt-ui-unused
...
citra_qt/main.ui: remove unused actions "Load Symbol Map..." and "Select Game Directory..."
2019-11-11 20:27:48 +08:00
Weiyi Wang
98c396f179
Merge pull request #4995 from vvanelslande/rename-profile
...
settings, configure_input: fix rename input profile
2019-11-10 21:25:01 -05:00
vvanelslande
bb48d2491d
citra_qt/configuration: add missing Read/SaveUtilityValues
2019-11-10 19:26:03 -05:00
vvanelslande
62014e8f34
dedicated_room: fix crash (count != 0) when closing the room
2019-11-10 17:07:00 -05:00
vvanelslande
1f708e8bad
settings, configure_input: fix rename input profile
2019-11-09 16:55:03 -05:00
James Rowe
86f203e6e8
Add missing key events and also try to glFinish after swapping
2019-11-09 13:12:30 -07:00
James Rowe
68052de8a0
Workaround Qt bug that causes events to forward to the parent incorrectly
2019-11-09 13:12:30 -07:00
James Rowe
586b8e8b46
Change from QOpenGLWidget to QWindow
...
While QOpenGLWidget sounds like a good idea, it has issues which are
harder to debug due to how Qt manages the context behind the scenes. We
could probably work around any of these issues over time, but its
probably easier to do it ourselves with a QWindow directly.
Plus using QWindow + createWindowContainer is the easiest to use
configuration for Qt + Vulkan so this is probably much better in the
long run.
2019-11-09 13:12:30 -07:00
James Rowe
66f5278f52
Delete core_context before shutting down SDL
2019-11-09 13:12:30 -07:00
James Rowe
29c12058c7
Add minimum window size back to citra-qt
2019-11-09 13:12:29 -07:00
James Rowe
26d828fb4c
Prevent softlock on shutdown and various cleanup
2019-11-09 13:12:29 -07:00
James Rowe
9c32c0b98b
Change from render to texture to render to renderbuffer
2019-11-09 13:12:29 -07:00
James Rowe
52d7676831
recreate mailbox to use a queue instead
2019-11-09 13:12:29 -07:00
James Rowe
ac90cd0378
Change Present to finish only after swap
2019-11-09 13:12:29 -07:00
James Rowe
6fff8e3921
Remove screen change detection since it breaks make changing screen. (Still need to test windows)
2019-11-09 13:12:29 -07:00
James Rowe
5d97e44279
Fix macOS pixel ratio detection
2019-11-09 13:12:29 -07:00
James Rowe
045eec282a
rename GGLContext to just GLContext
2019-11-09 13:12:29 -07:00
James Rowe
db94c017bf
Change to a constructor that exists in qt 5.9
2019-11-09 13:12:29 -07:00
James Rowe
3b14bb44b9
QOffscreensurface
2019-11-09 13:12:29 -07:00
James Rowe
8d17aa40fd
Remove vsync setting
2019-11-09 13:12:26 -07:00
James Rowe
fcbe5e1acd
Add a separate thread for rendering and add texture mailbox and shared context to SDL
2019-11-09 13:10:18 -07:00
James Rowe
91255b8802
Change Qt to use QOpenGLWidget and support shared context and texture mailbox
2019-11-09 13:10:18 -07:00
James Rowe
27d0fc64d0
Add texture mailbox support to opengl renderer.
2019-11-09 13:10:17 -07:00
James Rowe
c2e7903825
Split graphics out of EmuWindow in preparation of shared contexts
2019-11-09 13:10:17 -07:00
James Rowe
db7a627a2e
Add scope acquire context to simplify MakeCurrent and DoneCurrent calls
2019-11-09 13:10:17 -07:00
Khangaroo
df99d98240
specify size of buffer and use openglstate in getteximageoes
2019-11-09 12:58:17 -07:00
khang06
a458155f99
texture dump hotkey (ctrl+d)
...
address more comments
2019-11-09 12:56:30 -07:00
Khangaroo
5450d4980d
crash hotfix (no clang-format because on phone)
...
hotfix 2: check if the texture is custom before dumping
hotfix 4: fix custom texture conflict detection
2019-11-09 12:56:28 -07:00
Khangaroo
ae4aaf2fc1
nested folder support + refuse to load incompatibly sized textures + general cleanups
2019-11-09 12:56:27 -07:00
Khangaroo
8a98310a16
address more comments, fix dumping textures that already got dumped
2019-11-09 12:56:27 -07:00
Khangaroo
c2a32e942b
address more comments
2019-11-09 12:56:27 -07:00
Khangaroo
3534ad0835
reorder graphics tab, move speed to general
2019-11-09 12:56:27 -07:00
Khangaroo
da83430a68
add enhancements tab files
2019-11-09 12:56:27 -07:00
Khangaroo
650fe6447d
generate mipmaps (for now)
2019-11-09 12:56:27 -07:00
Khangaroo
f09489475a
fix texture dumping on opengl es, create load folder if none exists if custom textures is enabled
2019-11-09 12:56:27 -07:00
Khangaroo
254f8a4643
fix inverted texture dump error message path
2019-11-09 12:56:27 -07:00
Khangaroo
8b881ac1fc
fix preload textures being enabled when it shouldn't
...
address more comments
2019-11-09 12:56:25 -07:00
Khangaroo
391e552927
qimageinterface fixes, remove old lodepng, address more comments
2019-11-09 12:56:24 -07:00
Khangaroo
b81c15941e
add image interface, remove lodepng from video_core/core, address more comments, fix comments
...
remove unnecessary conversion
2019-11-09 12:56:21 -07:00
Khangaroo
5940361b81
new-line that clang-format didn't fix
...
address some comments
2019-11-09 12:56:17 -07:00
Khangaroo
59b475a4b9
implement custom texture preload
2019-11-09 12:56:17 -07:00
Khangaroo
657a129b60
handle upscaling and offsets (fixes oot3d)
2019-11-09 12:54:43 -07:00
Khangaroo
6d90c42a79
fix crashes, add custom texture cache, load textures from load directory
2019-11-09 12:54:40 -07:00
Khangaroo
f866b2a917
texture replacement (also messy)
2019-11-09 12:53:16 -07:00
khang06
deff865ac9
initial sloppy texture dumping implementation (opengl only)
2019-11-09 12:53:16 -07:00
khang06
94b3c63bf9
add dump dir to user paths
2019-11-09 12:53:16 -07:00
khang06
e0d63bd21b
add texture dumping as a config entry
2019-11-09 12:53:12 -07:00
khang06
2b92065d2a
add lodepng as an external, have video_core depend on it
2019-11-09 12:48:23 -07:00
James Rowe
926902cc5e
Merge pull request #4993 from bunnei/web-token-b64
...
citra_qt: configure_web: Use Base64 encoded token
2019-11-09 12:45:11 -07:00
bunnei
a1544d8669
dedicated_room: Support single Base64 token.
2019-11-09 13:48:26 -05:00
bunnei
3a18039c53
citra_qt: configure_web: Use Base64 encoded token for simplifying user experience.
2019-11-09 13:48:26 -05:00
Weiyi Wang
34c6b7ca48
Merge pull request #4985 from FearlessTobi/port-2942
...
Port yuzu-emu/yuzu#2942 : "Silence miscellaneous warnings"
2019-11-08 23:42:32 -05:00
FearlessTobi
9c1535621a
citra_qt/game_list: Specify string conversions explicitly
2019-11-09 02:46:23 +01:00
FearlessTobi
6cf0043830
citra_qt/updater: Specify string conversions explicitly
2019-11-09 02:46:07 +01:00
FearlessTobi
8f29ab3ceb
citra_qt/multiplayer: Specify string conversions explicitly
2019-11-09 02:45:47 +01:00
Tobias
ff931590b0
configuration/config: Move config loading and saving to functions based off groups ( #4855 )
...
Over time our config values have grown quite numerous in size.
Unfortunately it also makes the single functions we have for loading and
saving values more error prone.
For example, we were loading the core settings twice when they only
should have been loaded once. In another section, a variable was
shadowing another variable used to load settings from a completely
different section.
Finally, in one other case, there was an extraneous endGroup() call used
that didn't need to be done. This was essentially dead code and also a
bug waiting to happen.
This separates the section loading code into its own separate functions.
This keeps variables only visible to the code that actually needs it,
and makes it much easier to visually see the end of each individual
configuration group. It also makes it much easier to visually catch bugs
during code review.
While we're at it, this also uses QStringLiteral instead of raw string
literals, which both avoids constructing a lot of QString instances, but
also makes it much easier to disable implicit ASCII to QString and
vice-versa in the future via setting QT_NO_CAST_FROM_ASCII and
QT_NO_CAST_TO_ASCII as compilation flags.
2019-11-07 17:33:41 +01:00
vvanelslande
db1b0a1964
network/room: add message/join/leave/kick/ban/unban/game name logging
2019-11-03 09:55:38 -05:00
FearlessTobi
5e98835b5f
yuzu/game_list: Silence -Wswitch
...
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
2019-11-02 18:56:23 +01:00
FearlessTobi
5d1d0b3693
yuzu/game_list_worker: Silence warnings
...
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
2019-11-02 18:55:08 +01:00
vvanelslande
44611c9985
citra_qt/main.ui: remove unused actions "Load Symbol Map..." and "Select Game Directory..."
...
Self-explanatory.
2019-10-25 20:13:35 -05:00
vitor-k
cc9bcf3e48
fix uppercase sorting
2019-10-25 18:49:13 -03:00
Weiyi Wang
e1fbf90e16
fix clang-format and lambda capture
2019-10-05 10:54:07 -04:00
Weiyi Wang
35690e3ac7
Merge pull request #4948 from vvanelslande/amiibo-dad
...
citra_qt: add amiibo drag and drop support
2019-10-05 10:47:46 -04:00
Weiyi Wang
00b9cdaf95
unfold UNREACHABLE implementation for dumb compilers
...
We relies on UNREACHABLE's noreturn attribute to eliminate parent's "no return value" warning. However, this was wrapped in a `if(!false)` block, which compilers may not unfold to recognize the noreturn nature.
2019-10-05 10:45:01 -04:00
vitor-k
eb7527254f
Sort game items after the list is populated
2019-09-28 15:57:26 -03:00
vitor-k
476dcb1915
Use the displayed text for sorting GameListItemPath.
...
By default, DisplayRole is used as the SortRole.
This behaviour is what's expected by the user.
Made it so that an access to SortRole is equivalent to one to DisplayRole.
Also fixes a bug with directory sorting.
2019-09-28 00:48:11 -03:00
FearlessTobi
1e93f568b5
Address review comments
2019-09-22 20:48:32 +02:00
FearlessTobi
a5d880979c
Backport changes from yuzu-emu/yuzu#2057
2019-09-22 17:47:18 +02:00
FearlessTobi
0a3f75c25f
Backport changes from yuzu-emu/yuzu#2806
2019-09-22 17:40:04 +02:00
FearlessTobi
029cc77c4b
Backport changes from yuzu-emu/yuzu#2444
2019-09-22 17:27:01 +02:00
James Rowe
05240770e0
Merge pull request #4946 from vvanelslande/ipc-recorder-fix-ok
...
citra_qt/RecordDialog: close when OK is clicked
2019-09-22 01:44:33 -06:00
vvanelslande
a650402eb5
citra_qt/RecordDialog: close when OK is clicked
...
The OK button didn't do anything before.
2019-09-21 23:56:07 -05:00
James Rowe
7152f4c748
Add FPS to SDL title bar
...
Also fix a small issue with incorrect shutdown ordering in SDL.
Previously the system would still be running so the telemetry task
didn't launch and detached_tasks would assert(count == 0)
2019-09-21 22:10:24 -06:00
vvanelslande
07eb89c6ee
citra_qt: add amiibo drag and drop support
2019-09-21 17:08:19 -05:00
James Rowe
223bfc9a2a
Merge pull request #4847 from zhaowenlan1779/ipc-debugger
...
core, citra_qt: IPC Recorder
2019-09-21 00:04:07 -06:00
Pat
63c31af8ee
Added Host CPU and OS to log
2019-09-20 20:34:01 -06:00
Weiyi Wang
377abfa3e6
Merge pull request #4930 from vitor-k/pause-on-unfocus
...
Pause when in background
2019-09-20 14:51:01 -04:00
Weiyi Wang
176b8b4a0b
Merge pull request #4917 from vitor-k/long-title
...
Allow displaying the long_title of the game
2019-09-20 12:59:04 -04:00
vitor-k
8d8bc8fee7
small changes to ApplicationState handling, just in case
2019-09-19 00:12:36 -03:00
James Rowe
c1d3b5e61c
Merge pull request #4934 from vitor-k/boost_remnant
...
Remove boost headers not currently used
2019-09-18 10:57:37 -06:00
James Rowe
4b05078def
Merge pull request #4922 from Steveice10/master
...
Filter non-executable files out of the game list.
2019-09-16 23:51:44 -06:00
BreadFish64
d0decf2166
remove ugly msvc hack
...
the bug appears to be fixed so there's no reason to keep this around
2019-09-15 22:35:21 -05:00
vitor-k
147a7f0dec
Remove boost headers not currently used
2019-09-15 15:18:38 -03:00
vitor-k
bb12af1da7
Remove unused boost header
2019-09-15 14:00:55 -03:00
vitor-k
05b1cfc63b
Pause in background guard clause and unused flag
2019-09-15 01:08:12 -03:00
vitor-k
66b1e419c3
Naming changes and clang format
2019-09-14 18:14:23 -03:00
Pengfei Zhu
360e6cb513
Merge pull request #4900 from leoetlino/exheader-fix
...
ncch_container: Fix NCCH decryption heuristic when replacing exheader
2019-09-14 10:33:06 -05:00
vitor-k
356fd60520
Add option to enable pause when on background
2019-09-13 23:01:12 -03:00
Pengfei Zhu
22d3099ea2
Merge pull request #4925 from vitor-k/icon-style
...
Change the coding style of GameListIconSize bounds check to use the enum
2019-09-13 23:20:45 +08:00
James Rowe
7bfd829c77
Merge pull request #4893 from wwylele/nfc-state
...
NFC: extract frontend-facing tag state
2019-09-13 08:59:51 -06:00
vitor-k
7224ec57f6
Only auto unpause when auto paused
2019-09-11 21:53:26 -03:00
vitor-k
23405b4ce1
Pause on unfocused first draft
...
This is a MVP, still needs one or more configuration option(s) and
review of the code style.
2019-09-10 21:52:17 -03:00
Vitor K
4d2fee31b3
Prevent repetition on config.cpp
...
Type is already indicated on right hand side.
Co-Authored-By: Mat M. <mathew1800@gmail.com>
2019-09-10 00:01:55 -03:00
vitor-k
966d128025
Remove newlines from the long title in row2
2019-09-09 23:40:32 -03:00
vitor-k
719912786a
UISettings::GameListText
...
Append a value to the enum to function as length counter.
Also remove magic numbers where possible, by using the enum instead.
2019-09-09 23:36:21 -03:00
vitor-k
1f1ac98f10
Fix clang format for long-title
2019-09-09 23:36:21 -03:00
vitor-k
c866a8e428
Change GameListText order to improve configuration compatibility
2019-09-09 23:36:21 -03:00
vitor-k
f9cded05fd
Allow displaying of the full title in the interface, as well as use the full title in the search filter
2019-09-09 23:36:21 -03:00
James Rowe
d6f2bc8c04
Merge pull request #4896 from zhaowenlan1779/game-list-fix-3
...
citra_qt: Misc game list updates/fixes
2019-09-09 20:04:04 -06:00
vitor-k
ccf6d380af
Change the coding style of GameListIconSize bounds check to use the enum instead of magic numbers
2019-09-08 19:37:55 -03:00
Steveice10
5cf684c951
Filter non-executable files out of the game list.
2019-09-08 14:19:11 -07:00
Weiyi Wang
24ec11f928
Merge pull request #4915 from FearlessTobi/port-2818
...
Port citra-emu/citra#2818 : "externals: update fmt to 6.0.0"
2019-09-08 08:42:02 -04:00
Pengfei Zhu
4bc22aa350
Merge pull request #4918 from vitor-k/warnings
...
Silence warnings from unused code and mismatched declaration
2019-09-06 22:08:06 +08:00
vitor-k
61f9710d95
remove unused call to nodiscard function
2019-09-05 17:11:38 -03:00
Ethan
56091241ff
externals: update fmt to 6.0.0
2019-09-05 02:39:13 +02:00
James Rowe
8c2a33553a
Merge pull request #4914 from vitor-k/windows-coffee
...
Fix to Windows sleep issues
2019-09-03 14:25:58 -06:00
Weiyi Wang
42d3d563b9
Merge pull request #4897 from zhaowenlan1779/warning-core-timing
...
core_timing: Silence sign comparison warnings
2019-09-03 16:06:27 -04:00
vitor-k
50cee98bca
Move the SetThreadExecutionState calls to their own separate functions
2019-09-03 16:13:14 -03:00
vitor-k
bcf33b0ac6
Fix to windows sleep issues, now with clang format!
2019-09-03 11:06:57 -03:00
vitor-k
6e3652d15b
Struct vs class declaration and unused variable
2019-09-02 22:45:38 -03:00
James Rowe
8acd2b966d
Merge pull request #4894 from wwylele/remove-gs
...
opengl: remove hw geometry shader related stuff
2019-09-02 09:38:05 -06:00
Pengfei Zhu
285b2b3207
Merge pull request #4906 from vvanelslande/hotkey-and-fullscreen-fixes
...
citra_qt: fix the stuck in fullscreen mode and hotkey bugs
2019-09-01 23:00:46 +08:00
Pengfei Zhu
05a07f944b
Merge pull request #4911 from vitor-k/master
...
Add a cancel option to analog stick configuration
2019-09-01 21:50:10 +08:00
vitor-k
ac3a854f45
Add cancel option to analog stick configuration
2019-08-31 21:58:07 -03:00
Valentin Vanelslande
2959b002cd
applet_manager: remove the "we are going to disable loading LLE applets before further fixes are done" comments
...
LLE Applets are enabled again in #4500 , but @wwylele didn't remove these comments.
2019-08-29 20:41:16 -05:00
vvanelslande
1ff418de4a
citra_qt: fix the stuck in fullscreen mode and hotkey bugs
...
The stuck in fullscreen mode bug happens if the emulated program exits, is fixed by adding [this](https://github.com/citra-emu/citra/compare/master...vvanelslande:hotkey-and-fullscreen-fixes?expand=1#diff-5e8bf22f5c3b3579c402308dd96b7563R888-R894 ), steps to reproduce:
- Start [FBI](https://github.com/Steveice10/FBI )
- Press START
The fixed hotkeys (I changed them to use [connect](https://doc.qt.io/qt-5/qobject.html#connect ) instead of [setShortcut](https://doc.qt.io/qt-5/qaction.html#shortcut-prop ) + [setShortcutContext](https://doc.qt.io/qt-5/qaction.html#shortcutContext-prop )) are:
- Load File (was not working in windowed mode), fixed by removing the [setShortcut](https://doc.qt.io/qt-5/qaction.html#shortcut-prop ) + [setShortcutContext](https://doc.qt.io/qt-5/qaction.html#shortcutContext-prop ) calls (there was already a [connect](https://doc.qt.io/qt-5/qobject.html#connect ) call)
- Stop Emulation (was not working in fullscreen mode), fixed with the [connect](https://doc.qt.io/qt-5/qobject.html#connect ) change and [this](https://github.com/citra-emu/citra/compare/master...vvanelslande:hotkey-and-fullscreen-fixes?expand=1#diff-5e8bf22f5c3b3579c402308dd96b7563R888-R894 ) change
- Exit Citra (was not working in fullscreen mode), fixed with the [connect](https://doc.qt.io/qt-5/qobject.html#connect ) change
Fixes #4876
2019-08-29 19:50:05 -05:00
zhupengfei
3d14abeb41
citra_qt/record_dialog: Switch to QFormLayout
2019-08-29 00:03:56 +08:00
Léo Lam
7318913f5a
ncch_container: Fix NCCH decryption heuristic when replacing exheader
...
Fixes a regression from #4862 , which caused the NCCH title ID checking
heuristic to be skipped whenever the exheader is replaced.
I was thinking the heuristic wouldn't be needed in that case, but it
turns out that many users still have pathological NCCHs that indicate
they are encrypted but are actually decrypted...
Now the original exheader is always read and used for the heuristic
to determine whether the NCCH is actually encrypted; only then do we
load a replacement exheader (if it exists) to avoid affecting the
heuristic.
2019-08-22 17:52:30 +08:00
Pengfei Zhu
8fa6be5b15
Merge pull request #4898 from zhaowenlan1779/warning-room-member
...
network/room_member: Silence -Wswitch warning
2019-08-21 09:14:28 +08:00
zhupengfei
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
zhupengfei
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
zhupengfei
531bf857f5
Remove old region free logic
2019-08-20 21:03:41 +08:00
zhupengfei
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
zhupengfei
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
zhupengfei
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
zhupengfei
ce3459192e
fixup! CMake: separate options for FFmpeg decoder/dumper
2019-08-20 14:58:43 +08:00
zhupengfei
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
zhupengfei
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
zhupengfei
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
zhupengfei
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
zhupengfei
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
zhupengfei
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
zhupengfei
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
zhupengfei
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
zhupengfei
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
zhupengfei
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
Weiyi Wang
dd3ba7bd21
opengl: remove hw geometry shader related stuff
2019-08-18 20:07:50 -04:00
Weiyi Wang
b4d45b57c7
Merge pull request #4879 from tywald/accurate-gs-on
...
Remove 'Accurate Geometry Shader' setting
2019-08-18 15:52:45 -04:00
Weiyi Wang
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
Weiyi Wang
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
James Rowe
0cffab04b5
Fixup! Prevent issue deleting PerfStats
2019-08-16 21:54:33 -06:00
James Rowe
6f0b009497
Merge pull request #4889 from jroweboy/autouic
...
Remove qt5_wrap_ui macro usage
2019-08-16 19:36:23 -06:00
James Rowe
7fe9a094a5
Remove qt5_wrap_ui macro usage
2019-08-16 19:35:37 -06:00
James Rowe
00eeaf0e9c
Merge pull request #4882 from jroweboy/frametime-logging
...
Frametime logging for tracking performance over time
2019-08-16 19:33:53 -06:00
James Rowe
135b054f74
Update telemetry_session.cpp
...
Change Session -> Performance
2019-08-15 19:36:02 -06:00
James Rowe
331a9fc12b
Change over to std::shared_ptr
2019-08-14 21:30:49 -06:00
James Rowe
61ebeca765
NS: Lowercase NS:S to ns:s like it should be
2019-08-14 21:23:06 -06:00
James Rowe
6c8faaf2c2
HLE: Remove BaseInterface and add ns.cpp back
2019-08-14 21:23:06 -06:00
James Rowe
f2167d76a8
Service: Add BaseInterface and NSInterface
2019-08-14 21:23:03 -06:00
James Rowe
b62ca12e88
HLE: Move NS:S into APT and remove NS
2019-08-14 21:21:33 -06:00
James Rowe
a77cd00cbe
Add current date/time to file path
2019-08-14 21:17:32 -06:00
James Rowe
23e969dfdc
Address review comments
2019-08-14 21:17:32 -06:00
James Rowe
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
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
vvanelslande
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
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
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
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
tywald
aad8261534
Remove 'Accurate Geometry Shader' setting, default behavior is as it was turned on.
2019-08-12 02:55:14 +02: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
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
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
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
Jhynjhiruu
e201d44aa9
It's supposed to be OR, not AND!
2019-07-21 11:31:07 +01:00
Jhynjhiruu
834a487388
Fix build issue
...
Co-Authored-By: Ben <bene_thomas@web.de>
2019-07-21 10:51:59 +01:00
Jhynjhiruu
3f49d9920c
Fix whitespace
2019-07-21 10:39:20 +01:00
Jhynjhiruu
17ba67c8c9
Remove magic number
2019-07-21 10:37:29 +01:00
Jhynjhiruu
fb16700fe5
Update smdh.cpp
2019-07-21 00:36:04 +01:00
Weiyi Wang
909d04ddea
Remove unused stuff
...
Some unused variables are still kept in services, as they are parameters passed from the command buffer and might be used in the future
2019-07-16 20:27:03 -04:00