Commit Graph

9566 Commits

Author SHA1 Message Date
10a7b60b12 ci: Fix android builds 2023-01-11 20:48:20 +02:00
98ab3c9610 common: Log more vulkan settings 2023-01-11 20:48:20 +02:00
0ca25b64e1 renderer_vulkan: Improve storage reinterpretation barriers 2023-01-11 20:48:20 +02:00
694e49b857 renderer_vulkan: Remove master semaphore fence
* Wasn't used anywhere
2023-01-11 20:48:20 +02:00
381db8452b renderer_vulkan: Gate reduced shadow binding count to Android only. (#17) 2023-01-11 15:03:11 +02:00
e2076f2385 shader: Handle out-of-bounds uniform access via address register. (#16) 2023-01-10 13:23:39 +02:00
9c206db630 video_core: Move some common state management out of specific render backends. (#15) 2023-01-09 19:28:18 +02:00
447f29285f renderer_vulkan: Add fence implementation of MasterSemaphore 2023-01-08 15:04:28 +02:00
26a9002d97 vk_swapchain: Lower image count to 3 2023-01-08 13:57:00 +02:00
a12748d79e vk_shader_gen_spv: Emulate logic ops 2023-01-08 13:02:23 +02:00
5abfdff66a android: Query window size from surface 2023-01-08 00:55:41 +02:00
8a315d0c8f vk_rasterizer: Initialize uniform buffers
* Pokemon Y crashes without this
2023-01-07 23:51:33 +02:00
4ee36e05b6 renderer_vulkan: Proper barriers on renderpass clear 2023-01-07 23:12:56 +02:00
11061f36e6 renderer_vulkan: Surface recreation works 2023-01-06 21:15:52 +02:00
6d286d5f8c vk_instance: Avoid enabling debug messenger when unsupported 2023-01-06 20:29:54 +02:00
4619ed086c android: Add new graphics API options to GUI 2023-01-06 14:39:50 +02:00
3843122cf8 video_core: Update usage of tex_lod_bias 2023-01-06 09:37:11 +02:00
d320eef663 Fix opengl and auto resolution crashes (#14)
* video_core: fix UniformData size on opengl

* video_core: check for renderer on auto resolution

The rasterizer cache constructor will call GetResolutionScaleFactor
before the renderer is initialized on the vulkan backend, so
check for that case and return 1 as a placeholder scale factor.
2023-01-06 09:05:21 +02:00
a7a9b94a30 common: Update thread library from yuzu 2023-01-05 17:34:47 +02:00
a9f2a69487 renderer_vulkan: Remove dead code 2023-01-05 17:06:40 +02:00
78965ba18d ci: Install macOS Vulkan dependencies from official SDK release. (#13) 2023-01-05 10:03:43 +02:00
52c41d185b renderer_vulkan: Set up and configure VK_KHR_portability_subset extension according to spec. (#12)
* renderer_vulkan: Set up and configure VK_KHR_portability_subset extension according to spec.

* renderer_vulkan: Move mipmap LOD bias to shaders for compatibility.
2023-01-04 10:43:08 +02:00
c5c041de89 Merge branch 'citra-emu:master' into vulkan-2 2023-01-04 00:44:52 +02:00
f5ed7c775d qt: Fix global settings being inaccessible on macOS. (#6235) 2023-01-03 23:58:04 +02:00
e46a88f24a vulkan: Align vertex strides according to portability subset requirements. (#11) 2023-01-03 00:36:06 +02:00
8779cb7785 renderer_opengl: Fix shader compilation
* Also use glCopyImageSubData to do texture copies'
2023-01-02 16:22:51 +02:00
a6ca7dca61 vk_instance: Don't specify uint8 extension twice
* I have no idea why this happened
2023-01-02 15:40:06 +02:00
cce6a79a91 vk_shader_gen_spv: Fix OpCompositeConstruct bug
* Fixes graphics on the 2d_shapes homebrew and maybe other games
2023-01-02 15:40:00 +02:00
230a463a39 msvc ci: Setup Vulkan SDK for glslangValidator 2023-01-02 00:25:28 +02:00
f18437e59f android: Close soft keyboard on panel close in cheats activity (#6234)
This prevents the keyboard from being stuck in an open state if the user
slides the panel while focused on a text box. Now it closes gracefully.

Co-authored-by: Charles Lombardo <clombardo169@gmail.com>
2023-01-01 16:55:05 +05:30
83e734bd6a vk_shader_gen: new is a reserved keyword on Metal 2022-12-31 20:24:31 +02:00
72ee29669a renderer_vulkan: Add support for VK_KHR_image_format_list
* May help drivers when using mutable images
2022-12-31 18:20:08 +02:00
b1a02e1710 renderer_vulkan: Remove upload_cmdbuf
* No longer needed with the new stream buffer
2022-12-31 17:44:15 +02:00
2c34f41747 vk_rasterizer: Don't bind redundant bindings 2022-12-31 10:07:35 +02:00
60d59730a9 Revert "ci: Fix macOS upload script calling wrong macpack."
This reverts commit 3b9ed5234d.
2022-12-30 18:08:20 +02:00
850ec1f8b8 vk_common: Enable beta extensions
* Required to access the portability subset'
2022-12-30 16:22:53 +02:00
3da6c25fd8 renderer_vulkan: Fallback to software shaders on unsupported topology
* MoltenVK does not support triangle fans
2022-12-30 15:25:27 +02:00
0e987959a6 renderer_vulkan: Rewrite data streaming
* Most GPUs nowadays provide a device local/host visible memory heap which is useful for avoiding copies between staging and local memory and especially beneficial for mobile and APUs that are mostly the target of this backend.

* This commit ports the old yuzu stream buffer with some changes to suit our needs and gets rid of the buffer flush methods
2022-12-30 11:10:49 +02:00
410b8b8809 vk_texture_runtime: Tune barriers
* Using eAllCommandBit is really bad for Mali GPUs. Also most access flags were redundant mostly for edge cases.

* To address this track surface usage and decide the best barrier flags at runtime. This gives a significant performance boost to mobile GPUs
2022-12-29 21:56:57 +02:00
d3392ae0b1 renderer_vulkan: Properly format structs 2022-12-29 20:11:57 +02:00
98e0ecf6a7 renderer_vulkan: Add fallback path for VK_EXT_index_type_uint8
* Also remove some flush barriers
2022-12-29 19:07:09 +02:00
ad45b9880d android: Add vulkan support to frontend 2022-12-28 14:01:50 +02:00
0d1646e4df Revert "vk_scheduler: Enable usage of jthread on macos"
This reverts commit 09dcd48257.
2022-12-26 17:15:21 +02:00
96f0746ab9 HACK: Skip normquat lerp to drop geometry shader requirement 2022-12-26 15:50:11 +02:00
09dcd48257 vk_scheduler: Enable usage of jthread on macos
- Import the yuzu polyfill libraries
2022-12-26 11:17:23 +02:00
62fc1f835e ci: Provide glslang 2022-12-26 09:01:05 +02:00
3b351c33d1 android: Fix build 2022-12-26 08:53:30 +02:00
793485d201 renderer_vulkan: Revert some stream buffer changes
* The previous design was much less prone to errors so switch back to that. Also make 16 byte alignment standard
2022-12-25 23:48:11 +02:00
3ef5ab7323 video_core: Move pixel format functions to cpp file 2022-12-25 23:37:28 +02:00
618c80c803 vk_instance: Address small issues 2022-12-25 23:21:44 +02:00