Commit Graph

18459 Commits

Author SHA1 Message Date
52caa52cc2 hle: kernel: Track and release server sessions, and protect methods with locks. 2021-07-20 18:54:56 -07:00
8d755147d8 hle: kernel: KProcess: Change process termination assert to a warning.
- Since we do not implement multiprocess right now, this should not be a crashing assert.
2021-07-20 18:54:56 -07:00
854c7a3c28 hle: kernel: Ensure current running process is closed. 2021-07-20 18:54:56 -07:00
ecf3653444 hle: kernel: Ensure global handle table is finalized before closing. 2021-07-20 18:54:56 -07:00
24540e0ad9 kernel: svc: ConnectToNamedPort: Close extra reference to port. 2021-07-20 18:54:56 -07:00
7bd020e030 hle: service: sm: Refactor to better manage ports. 2021-07-20 18:54:55 -07:00
b119363fc2 hle: kernel: k_process: Close the handle table on shutdown. 2021-07-20 18:54:55 -07:00
6020723e77 hle: kernel: k_process: Close main thread reference after it is inserted into handle table. 2021-07-20 18:54:55 -07:00
fe402d3506 hle: kernel: Ensure global handle table is initialized. 2021-07-20 18:54:55 -07:00
015058fadf hle: service: Add a helper module for managing kernel objects. 2021-07-20 18:54:55 -07:00
929994132a hle: kernel: Provide methods for tracking dangling kernel objects. 2021-07-20 18:54:55 -07:00
29fb110049 Merge pull request #6649 from german77/toggle_sdl
input_common: Support SDL toggle buttons
2021-07-20 20:35:20 -04:00
c53b688411 Merge pull request #6629 from FernandoS27/accel-dma-2
DMAEngine: Accelerate BufferClear [accelerateDMA Part 2]
2021-07-20 17:35:05 -04:00
263a201dae Merge pull request #6658 from Morph1984/render-window-fix
bootmanager: Create a dummy render widget
2021-07-20 15:55:48 -04:00
f460bf937e Merge pull request #6685 from ReinUsesLisp/radeonsi-client
gl_texture_cache: Workaround slow PBO downloads on radeonsi
2021-07-20 20:33:07 +02:00
8616c0f8f3 Merge pull request #6684 from ogniK5377/uuid-cpp20-new
uuid: Directly compare UUID instead of checking per element
2021-07-20 13:44:48 -04:00
2e2d6cf5e5 gl_texture_cache: Workaround slow PBO downloads on radeonsi
There's an optimization bug on non-git mesa versions where not
specifying GL_CLIENT_STORAGE_BIT causes very slow reads on the CPU
side.

Add this bit for all vendors.
2021-07-20 14:02:11 -03:00
75e9d3b992 uuid: Directly compare UUID instead of checking per element
We can now update this for C++20
2021-07-21 02:36:57 +10:00
9a26d96c98 vk_buffer_cache: Fix quad index array with 0 vertices (#6627) 2021-07-20 05:05:28 -03:00
6573ff64b4 input/sdl_impl: fix rumble support on DualSense. (#6683)
- value return can be different 0, is not error is normal, error is only -1.
2021-07-20 04:00:07 -04:00
747a33a41e bootmanager: Create a dummy render widget
This ensures that Qt positions the render window at the correct position on initializing the respective render backends.
2021-07-20 01:40:18 -04:00
07073734ed file_sys: Support load game collection (#6582)
Adds support for loading games with multiple programs embedded within such as the Dragon Quest 1+2+3 Collection
2021-07-20 01:10:05 -04:00
16f983d33a Merge pull request #6580 from ReinUsesLisp/xfb-radv
vk_buffer_cache: Use emulated null buffers for transform feedback
2021-07-19 23:01:19 -03:00
ffc78ce9c1 Merge pull request #6652 from lat9nq/cmd-vulkan-fixes
yuzu-cmd: Linux Vulkan fixes
2021-07-19 20:54:03 -04:00
f85bbf3a8f Merge pull request #6651 from lat9nq/update-settings
yuzu-cmd: Update settings
2021-07-19 12:46:40 -04:00
b405a81a9c Merge pull request #6679 from yzct12345/fix-lets-go
Fix Pokemon Let's Go on Vulkan
2021-07-19 03:29:54 +02:00
053860d9cb Merge pull request #6670 from ReinUsesLisp/prepare-rt
texture_cache: Always prepare image views on render targets
2021-07-19 03:21:25 +02:00
41f4edd256 Merge pull request #6669 from ReinUsesLisp/fix-samples-sizes
texture_cache/util: Fix size calculations of multisampled images
2021-07-19 03:21:03 +02:00
efc449ca26 Merge pull request #6677 from ReinUsesLisp/new-validate-errors
vulkan: Fix misc validation and synchronization errors
2021-07-18 18:30:28 -04:00
03a7131563 Update src/video_core/renderer_vulkan/vk_texture_cache.cpp
Co-authored-by: Vitor K <vitor-kiguchi@hotmail.com>
2021-07-18 22:23:32 +00:00
b727b6784f Update src/video_core/renderer_vulkan/vk_texture_cache.cpp
Co-authored-by: Vitor K <vitor-kiguchi@hotmail.com>
2021-07-18 22:23:12 +00:00
9e7f41cec6 Ignore wrong blit format 2021-07-18 21:56:06 +00:00
29c39838fe vk_texture_cache: Finalize renderpass when downloading images 2021-07-18 18:00:30 -03:00
7850dd0a76 vk_compute_pass: Fix pipeline barriers on non-initialized ASTC images 2021-07-18 18:00:14 -03:00
a3ce26ae01 vk_compute_pass: Fix ASTC buffer setup synchronization 2021-07-18 17:59:31 -03:00
6d9f347e22 texture_cache/util: Fix size calculations of multisampled images
On the texture cache we handle multisampled images by keeping their real
size in samples (e.g. 1920x1080 with 4 samples is 3840x2160).

This works nicely with size matches and other comparisons, but the
calculation for guest sizes was not having this in mind, and the size
was being multiplied (again) by the number of samples per dimension.
For example a 3840x2160 texture cache image had its width and height
multiplied by 2, resulting in a much larger texture.

Fix this issue.

- Fixes performance regression on cooking related titles when an
  unrelated bug was fixed.
2021-07-18 01:15:48 -03:00
cb08e5bdd2 texture_cache: Always prepare image views on render targets
Images used as render targets were not being "prepared", causing
desynchronizations on the texture cache. Needs #6669 to avoid
performance regressions on certain cooking titles.

- Fixes black shadows on Age of Calamity.
2021-07-18 00:49:32 -03:00
8b53209362 Merge pull request #6647 from lat9nq/specify-system-path
cmake: Be more specific with Qt
2021-07-17 21:47:52 -04:00
c42c3561b8 Merge pull request #6659 from german77/mouse_panning
input_common: Fix mouse panning behaivour
2021-07-17 16:32:43 -04:00
14d5202da6 input_common: Fix mouse panning behaivour 2021-07-16 18:57:29 -05:00
f785933125 sdl_impl, emu_window: Remove clang ignore
Fixed upstream by
libsdl-org/SDL@25fc40b0bd
2021-07-16 15:43:12 -04:00
0e6ba0cd0d emu_window_sdl2_vk: Specify the window manager if it should be supported
The original language "not implemented" is wrong if the implementation
exists but is not compiled. This causes a bit of a debugging headache
when it goes wrong. Log it if the window manager is known before
exiting.
2021-07-16 15:43:12 -04:00
d3748cad73 emu_window_sdl2_vk: Use the generated SDL config
On Linux, due to the way we include SDL2 as a submodule, it makes it
difficult for us to specify which SDL_config.h we intended to include.
Before, CMake would default to the dummy one included with SDL and
ignore the generated one.

This tells CMake to use the generated one. In addition, we define
USING_GENERATED_CONFIG_H to throw an error in case the dummy config is
used by accident. Fixes Vulkan not working on Linux yuzu-cmd.
2021-07-16 15:43:02 -04:00
046de2cc4e Merge pull request #6657 from Morph1984/settings-fixes
configure_audio: Fix volume clamping to 0
2021-07-16 15:24:43 -04:00
b804f77fa5 configure_audio: Fix volume clamping to 0 2021-07-16 10:36:08 -04:00
15ed73a6eb yuzu_cmd: Add missing or update current settings
Many settings in common/settings.h are missing from yuzu-cmd, either
they were added to default_ini.h but not read in, or vice versa, or the
setting was altogether omitted from yuzu-cmd. Some defaults were
reported wrong, so those were fixed where noticed.
2021-07-16 02:46:14 -04:00
4c6cc67520 cmake: Only search for Qt when we need to
When YUZU_USE_BUNDLED_QT was specified on a system with a compliant Qt
version installed, CMake configuration would cause an error due to
mixing YUZU_USE_BUNDLED_QT with the system Qt.

Solution is to only search for Qt when YUZU_USE_BUNDLED_QT is disabled.
2021-07-16 02:26:34 -04:00
a36d2b942b cmake: Only use NO_CMAKE_SYSTEM_PATH when needed for Qt
As-is causes issues with building yuzu using MinGW GCC on Linux-based
machines. Only set the variable when needed. (I'm not quite sure how
this was working before.)
2021-07-16 02:26:28 -04:00
7dfd2715b7 default_ini: Remove deprecated settings
These settings are not being read in config.cpp AND they do not exist in
common/settings.h. Remove their references.
2021-07-15 23:27:42 -04:00
3cd3230295 Merge pull request #6579 from ameerj/float-settings
settings: Eliminate usage of float-point setting values
2021-07-15 18:03:11 -04:00