Commit graph

14701 commits

Author SHA1 Message Date
bunnei
6d46de49c3 Merge pull request #3975 from ReinUsesLisp/fast-bufcache
buffer_cache: Replace boost::icl::interval_map with boost::intrusive::set
2020-05-24 00:32:44 -04:00
Tobias
4234de3fd7 yuzu/discord_impl: Update the applicationID (#3977) 2020-05-22 18:26:26 +02:00
bunnei
b469288d2f Merge pull request #3970 from VolcaEM/patch-1
nifm: correct assert string in CreateTemporaryNetworkProfile
2020-05-21 23:46:42 -04:00
ReinUsesLisp
9223dc7a10 buffer_cache: Remove unused boost headers 2020-05-21 16:44:00 -03:00
ReinUsesLisp
f8678b635a map_interval: Add interval allocator and drop hack
Drop the std::list hack to allocate memory indefinitely.

Instead use a custom allocator that keeps references valid until
destruction. This allocates fixed chunks of memory and puts pointers in
a free list. When an allocation is no longer used put it back to the
free list, this doesn't heap allocate because std::vector doesn't change
the capacity. If the free list is empty, allocate a new chunk.
2020-05-21 16:44:00 -03:00
ReinUsesLisp
4d06e9f5cc buffer_cache: Use boost::container::small_vector for maps in range
Most overlaps in the buffer cache only contain one mapped address.
We can avoid close to all heap allocations once the buffer cache is
warmed up by using a small_vector with a stack size of one.
2020-05-21 16:44:00 -03:00
ReinUsesLisp
7a45f97357 buffer_cache: Use boost::intrusive::set for caching
Instead of using boost::icl::interval_map for caching, use
boost::intrusive::set. interval_map is intended as a container where the
keys can overlap with one another; we don't need this for caching
buffers and a std::set-like data structure that allows us to search with
lower_bound is enough.
2020-05-21 16:44:00 -03:00
ReinUsesLisp
c7f9bceb80 buffer_cache: Remove shared pointers
Removing shared pointers is a first step to be able to use intrusive
objects and keep allocations close to one another in memory.
2020-05-21 16:02:54 -03:00
ReinUsesLisp
3460d01352 buffer_cache: Minor style changes
Minor style changes. Mostly done so I avoid editing it while doing other
changes.
2020-05-21 16:02:20 -03:00
VolcaEM
4f1136dfca clang-format 2020-05-21 10:43:55 +02:00
VolcaEM
f7d23b21d0 nifm: correct assert in CreateTemporaryNetworkProfile
This has been wrong since bd66646f8b
I haven't found a game that called this function (and I haven't tried this on a real Switch), and because of this I haven't been able to check if the number in assert OR the string in the assert is wrong, but one of the two is wrong:
NetworkProfileData is 0x18E, while SfNetworkProfileData is 0x17C, according to Switchbrew
Switchbrew doesn't officially say that NetworkProfileData's size is 0x18E but it's possible to calculate its size since Switchbrew provides the size and the offset of all the components of NetworkProfileData (which isn't currently implemented in yuzu, alongside SfNetworkProfileData)
NetworkProfileData documentation: https://switchbrew.org/wiki/Network_Interface_services#NetworkProfileData
SfNetworkProfileData documentation: https://switchbrew.org/wiki/Network_Interface_services#SfNetworkProfileData
Since I trust ogniK's work on reversing NIFM, I'd assume this was just a typo in the string
2020-05-21 10:23:53 +02:00
bunnei
9d095bbb06 Merge pull request #3946 from ogniK5377/sysverdat-10-0-2
file_sys: Update SystemVersion archive to version 10.0.2
2020-05-20 19:21:27 -04:00
bunnei
3b781db425 Merge pull request #3926 from ogniK5377/keyboard-states
hid: Clear keyboard states & fix logic issue
2020-05-19 15:55:14 -04:00
bunnei
c5fbedf14c Merge pull request #3665 from bunnei/device-save
FS: Improve emulation of device saves
2020-05-16 12:39:58 -04:00
bunnei
c04e78c136 Merge pull request #3945 from ogniK5377/nvflinger-pixformat
nv_flinger: Use enum for pixel format instead of u32
2020-05-16 02:00:50 -04:00
bunnei
be4c8be8a4 Merge pull request #3944 from ogniK5377/dma_mget
DmaPusher: Remove dead code in step
2020-05-16 02:00:14 -04:00
David Marcec
d50dd8f7a0 file_sys: Update SystemVersion archive to version 10.0.2 2020-05-16 13:56:06 +10:00
David Marcec
97c023e3f0 nv_flinger: Use enum for pixel format instead of u32 2020-05-16 13:47:55 +10:00
David Marcec
67d7c0f45e DmaPusher: Remove dead code in step 2020-05-16 12:42:27 +10:00
bunnei
738e2cca7c Merge pull request #3942 from ReinUsesLisp/flush-and-invalidate
vk_rasterizer: Match OpenGL's FlushAndInvalidate behavior
2020-05-15 21:34:07 -04:00
ReinUsesLisp
635a3add8b vk_rasterizer: Match OpenGL's FlushAndInvalidate behavior
Match OpenGL's behavior. This can fix or simplify bisecting issues on
Vulkan.
2020-05-15 20:40:08 -03:00
Morph
eedbf90664 frontend: Set minimum window size to 640x360 instead of 1280x720 (#3413) 2020-05-15 22:22:27 +02:00
bunnei
9e03fc2e29 Merge pull request #3927 from jroweboy/fix-bug
Frontend: Remove tracking for context wrapper
2020-05-14 00:07:38 -04:00
bunnei
84bd1a0189 Merge pull request #3757 from ogniK5377/better-voice-mixing
audio_renderer: Better voice mixing and 6 channel downmixing
2020-05-13 22:46:41 -04:00
bunnei
bcfcfaca32 Merge pull request #3909 from bunnei/timezone
Improve time zone support
2020-05-13 21:41:45 -04:00
bunnei
b0d4fdb600 Merge pull request #3899 from ReinUsesLisp/float-comparisons
shader_ir: Add separate instructions for ordered and unordered comparisons and fix NE on GLSL
2020-05-13 09:51:14 -04:00
bunnei
053399a553 time_zone: Use std::chrono::seconds for strong typing. 2020-05-12 18:44:07 -04:00
James Rowe
99f5c3ca7f Frontend: Remove tracking for context wrapper 2020-05-11 23:50:03 -06:00
David Marcec
e6886a756c hid: Clear keyboard states & fix logic issue
Previously we never cleared the states of the entries and the key would stay held down, also looping over the key bytes for each key lead to setting every bit for the key state instead of the key we wanted
2020-05-12 12:40:50 +10:00
bunnei
250593c05d Merge pull request #3816 from ReinUsesLisp/vk-rasterizer-enable
vk_graphics_pipeline: Implement rasterizer_enable on Vulkan
2020-05-11 18:22:51 -04:00
bunnei
f42b9c0a85 hle: service: time_zone_manager: Use current time zone setting. 2020-05-11 17:55:25 -04:00
bunnei
7aadcb796c common: Add module to get the current time zone. 2020-05-11 17:51:26 -04:00
bunnei
8588ac0645 core: settings: Add a setting for time zone. 2020-05-11 17:50:07 -04:00
bunnei
7188362d5b Merge pull request #3925 from ogniK5377/hid-SendKeyboardLockKeyEvent
Stub hid:SendKeyboardLockKeyEvent
2020-05-11 13:33:06 -04:00
David Marcec
9f8eb0c39a fix logic error & scale sample volume based on voice volume 2020-05-11 12:56:15 -04:00
David Marcec
7965018e64 pass by const ref instead 2020-05-11 12:56:15 -04:00
David Marcec
de00a5eb8c audio_renderer: Better voice mixing and 6 channel downmixing
Supersedes #3738 and #3321
2020-05-11 12:56:15 -04:00
bunnei
ee3b9071b5 service: fsp_srv: Stub implementation of OpenMultiCommitManager. 2020-05-11 12:54:30 -04:00
bunnei
3439618956 yuzu: game_list: Fix 'Open Save Data Location' for device saves. 2020-05-11 12:54:30 -04:00
bunnei
97e2eb439c file_sys: savefata_factory: Update to support DeviceSaveData. 2020-05-11 12:54:30 -04:00
bunnei
f870a935d4 file_sys: control_metadata: Expose device_save_data_size. 2020-05-11 12:54:30 -04:00
David Marcec
26bd4978a3 Stub SendKeyboardLockKeyEvent
Needed for Puchikon 4 SmileBASIC 1.0.0
2020-05-12 01:01:50 +10:00
bunnei
9891fcf41e Merge pull request #3896 from jroweboy/remove-clang-format-check-from-patreon
CI: Don't check clang format on early access builds
2020-05-10 02:54:22 -04:00
ReinUsesLisp
f39591b20a gl_shader_decompiler: Properly emulate NaN behaviour on NE
"Not equal" operators on GLSL seem to behave as unordered when we expect
an ordered comparison.

Manually emulate this checking for LGE values (numbers, not-NaNs).
2020-05-10 02:59:33 -03:00
James Rowe
3412d83f46 Merge pull request #3902 from degasus/cmake_version_checks
externals: Cmake version checks
2020-05-09 12:31:45 -06:00
Markus Wick
0c788c1415 Mark the opus version check as broken. 2020-05-09 12:47:59 +02:00
Markus Wick
3dc9eec98d Add version check to Findnlohmann_json.cmake 2020-05-09 12:47:59 +02:00
Markus Wick
585ee1cf4e Add version check for catch2 2020-05-09 12:47:59 +02:00
Markus Wick
c5dfc3ee1d Add version check to Findfmt 2020-05-09 12:47:59 +02:00
Markus Wick
a2256f0ebf Fix libzip version check 2020-05-09 12:47:59 +02:00