Commit graph

18483 commits

Author SHA1 Message Date
ReinUsesLisp
85cce78583 shader: Primitive Vulkan integration 2021-07-22 21:51:22 -04:00
ReinUsesLisp
c67d64365a shader: Remove old shader management 2021-07-22 21:51:22 -04:00
ReinUsesLisp
58914796c0 shader: Add XMAD multiplication folding optimization 2021-07-22 21:51:22 -04:00
ReinUsesLisp
4b438f94cf shader: Simplify ISCADD 2021-07-22 21:51:22 -04:00
ReinUsesLisp
3633e43377 shader: Add utility to resolve identities on a value 2021-07-22 21:51:22 -04:00
ReinUsesLisp
3a59fffaa1 spirv: Implement EmitIdentity 2021-07-22 21:51:22 -04:00
ReinUsesLisp
b5d7279d87 spirv: Initial bindings support 2021-07-22 21:51:22 -04:00
ReinUsesLisp
d5d468cf2c shader: Improve object pool 2021-07-22 21:51:22 -04:00
ReinUsesLisp
1c0b8bca5e shader: Fix tracking 2021-07-22 21:51:22 -04:00
ReinUsesLisp
1b0cf2309c shader: Add support for forward declarations 2021-07-22 21:51:22 -04:00
ReinUsesLisp
cbfb7d182a shader: Support SSA loops on IR 2021-07-22 21:51:22 -04:00
ReinUsesLisp
8af9297f09 shader: Misc fixes 2021-07-22 21:51:22 -04:00
ReinUsesLisp
9170200a11 shader: Initial implementation of an AST 2021-07-22 21:51:22 -04:00
ReinUsesLisp
2930dccecc spirv: Initial SPIR-V support 2021-07-22 21:51:22 -04:00
ReinUsesLisp
6dafb08f52 shader: Better constant folding 2021-07-22 21:51:22 -04:00
ReinUsesLisp
da8096e6e3 shader: Properly store phi on Inst 2021-07-22 21:51:21 -04:00
ReinUsesLisp
16cb00c521 shader: Add pools and rename files 2021-07-22 21:51:21 -04:00
ReinUsesLisp
be94ee88d2 shader: Make typed IR 2021-07-22 21:51:21 -04:00
ReinUsesLisp
dc04a50ac2 shader: Remove illegal character in SSA pass 2021-07-22 21:51:21 -04:00
ReinUsesLisp
e81739493a shader: Constant propagation and global memory to storage buffer 2021-07-22 21:51:21 -04:00
ReinUsesLisp
d24a16045f shader: Initial instruction support 2021-07-22 21:51:21 -04:00
ReinUsesLisp
6c4cc0cd06 shader: SSA and dominance 2021-07-22 21:51:21 -04:00
ReinUsesLisp
2d48a7b4d0 shader: Initial recompiler work 2021-07-22 21:51:21 -04:00
ameerj
75059c46d6 thread_worker: Fix compile time error
state is unused in the branch where with_state is false
2021-07-22 21:51:21 -04:00
bunnei
db46f8a70c
Merge pull request #6686 from ReinUsesLisp/vk-optimal-copy
vk_texture_cache: Use VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL when possible
2021-07-22 12:51:13 -04:00
Morph
233bf018d6
Merge pull request #6693 from lat9nq/cmd-fullscreen-mode-2
yuzu_cmd: Make use of fullscreen_mode setting
2021-07-22 00:55:01 -04:00
bunnei
dff438e219
Merge pull request #6654 from german77/custom_threshold
input_common: Make button threshold customizable
2021-07-21 20:31:33 -04:00
lat9nq
9befe7047b yuzu_cmd: Make use of fullscreen_mode setting
Reverts 48259de0c1a6a1aca77eec31cb8aca5ca2b680dd to the previous
hierarchy and fixes the resolution issue with this fullscreen mode.
yuzu-cmd will now read the fullscreen_mode setting and use it
appropriately.
2021-07-21 19:48:03 -04:00
bunnei
c104e9c698
ci: Increase mainline build timeout.
- We're currently timing out with builds exceeding 60M. This doubles the timeout to 120M.
2021-07-21 13:03:20 -07:00
san
583a10fded
yuzu-cmd: Fullscreen Improvements (#6656)
* 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.

* 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.

* sdl_impl, emu_window: Remove clang ignore

Fixed upstream by
libsdl-org/SDL@25fc40b0bd

* Enable fullscreen support for Vulkan on yuzu-cmd

Hooked up the existing SDL2 logic for fullscreen support in the Vulkan window of yuzu-cmd.

* Change fullscreen logic to attempt desktop resolution first on yuzu-cmd

Changed the order in which we attempt to switch to fullscreen. First try desktop resolution first, if it fails fall back to streched fullscreen using windowed resolution.

Co-authored-by: lat9nq <22451773+lat9nq@users.noreply.github.com>
Co-authored-by: san <san+gitkraken@smederijmerlijn.nl>
2021-07-21 11:56:42 -07:00
bunnei
2e93df7e48
Merge pull request #6660 from Morph1984/controller_applet_rev8
applet_controller: Add preliminary support for version 8
2021-07-21 00:01:46 -04:00
bunnei
29fb110049
Merge pull request #6649 from german77/toggle_sdl
input_common: Support SDL toggle buttons
2021-07-20 20:35:20 -04:00
bunnei
c53b688411
Merge pull request #6629 from FernandoS27/accel-dma-2
DMAEngine: Accelerate BufferClear [accelerateDMA Part 2]
2021-07-20 17:35:05 -04:00
bunnei
263a201dae
Merge pull request #6658 from Morph1984/render-window-fix
bootmanager: Create a dummy render widget
2021-07-20 15:55:48 -04:00
Fernando S
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
Morph
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
ReinUsesLisp
ad189488b3 vk_texture_cache: Use VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL when possible
Silences performance warnings generated from validation layers on each frame.
2021-07-20 14:38:58 -03:00
ReinUsesLisp
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
Chloe Marcec
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
Fernando S
9a26d96c98
vk_buffer_cache: Fix quad index array with 0 vertices (#6627) 2021-07-20 05:05:28 -03:00
Nicolas Jallamion
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
Morph
9b7e57f3f4 applet_controller: Add preliminary support for version 8
Version 8 adds support for key remapping introduced in FW 11.0, we will not be implementing this for now.
2021-07-20 01:45:19 -04:00
Morph
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
Feng Chen
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
Rodrigo Locatti
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
bunnei
ffc78ce9c1
Merge pull request #6652 from lat9nq/cmd-vulkan-fixes
yuzu-cmd: Linux Vulkan fixes
2021-07-19 20:54:03 -04:00
bunnei
f85bbf3a8f
Merge pull request #6651 from lat9nq/update-settings
yuzu-cmd: Update settings
2021-07-19 12:46:40 -04:00
Fernando S
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
Fernando S
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
Fernando S
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