GPUCode
850ec1f8b8
vk_common: Enable beta extensions
...
* Required to access the portability subset'
2022-12-30 16:22:53 +02:00
GPUCode
3da6c25fd8
renderer_vulkan: Fallback to software shaders on unsupported topology
...
* MoltenVK does not support triangle fans
2022-12-30 15:25:27 +02:00
GPUCode
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
GPUCode
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
GPUCode
d3392ae0b1
renderer_vulkan: Properly format structs
2022-12-29 20:11:57 +02:00
GPUCode
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
GPUCode
ad45b9880d
android: Add vulkan support to frontend
2022-12-28 14:01:50 +02:00
GPUCode
0d1646e4df
Revert "vk_scheduler: Enable usage of jthread on macos"
...
This reverts commit 09dcd48257
.
2022-12-26 17:15:21 +02:00
GPUCode
96f0746ab9
HACK: Skip normquat lerp to drop geometry shader requirement
2022-12-26 15:50:11 +02:00
GPUCode
09dcd48257
vk_scheduler: Enable usage of jthread on macos
...
- Import the yuzu polyfill libraries
2022-12-26 11:17:23 +02:00
GPUCode
62fc1f835e
ci: Provide glslang
2022-12-26 09:01:05 +02:00
GPUCode
3b351c33d1
android: Fix build
2022-12-26 08:53:30 +02:00
GPUCode
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
GPUCode
3ef5ab7323
video_core: Move pixel format functions to cpp file
2022-12-25 23:37:28 +02:00
GPUCode
618c80c803
vk_instance: Address small issues
2022-12-25 23:21:44 +02:00
ReinUsesLisp
f7cb308243
video_core/host_shaders: Add CMake integration for string shaders
2022-12-25 23:17:39 +02:00
GPUCode
b8583f9af3
renderer_vulkan: Port per-game to vulkan renderer
2022-12-25 23:06:30 +02:00
GPUCode
33bf2b7c2d
renderer_vulkan: Forward validation errors to logfile
2022-12-25 22:31:27 +02:00
GPUCode
d48e6c04ce
video_core: Move most pica register handling to RasterizerAccelerated
2022-12-25 22:31:27 +02:00
GPUCode
88f34a7d69
vk_shader_gen_spv: Implement proctex sampler
...
* Fixes MHS menu and probably other games
2022-12-25 22:31:27 +02:00
GPUCode
c8e9b465e2
renderer_vulkan: Proper telemetry reporting
2022-12-25 22:31:27 +02:00
GPUCode
278198f5f5
vk_shader_gen_spv: Implement shadow plane sampling
2022-12-25 22:31:27 +02:00
GPUCode
58718e6bd6
renderer_vulkan: Fix LMDM crashes
...
* Cache vertex format lookups to avoid crashing the driver when the game does too many lookups
* Increase watcher count. For some reason the game uses way too many watchers
* Fix other misc SPIRV bugs and don't crash when shadow is requested
2022-12-25 22:31:27 +02:00
GPUCode
a814b21693
vk_shader_gen_spv: Implement alpha testing
...
* Should fix all current graphical bugs
2022-12-25 22:31:27 +02:00
GPUCode
5478a4d634
vk_instance: Make DynamicLoader static
...
* That way we don't construct/destroy it all the time
2022-12-25 22:31:27 +02:00
GPUCode
8f87586495
citra_qt: Add SPIR-V shader option
2022-12-25 22:31:27 +02:00
GPUCode
7e3a0f524c
externals: Update sirit
2022-12-25 22:29:05 +02:00
GPUCode
922019cc22
renderer_vulkan: Move fragment shader microprofile to a better place
2022-12-25 22:29:05 +02:00
GPUCode
41e9cdb645
shader_cache: Fix type deduction
2022-12-25 22:29:05 +02:00
GPUCode
e90add52d2
cmake: Fork sirit
...
* Upstream is missing some required instructions
2022-12-25 22:29:04 +02:00
GPUCode
3c6ca2cc82
renderer_vulkan: Begin new fragment shader SPIR-V emitter
2022-12-25 22:29:04 +02:00
GPUCode
d1039d9a81
code: Address build issues
2022-12-25 22:29:04 +02:00
GPUCode
8b8cee1a5a
vk_instance: Remove depth clip control feature
...
* To not crash drivers that don't support it since we don't require it anymore
2022-12-25 22:28:49 +02:00
Steveice10
5dc92cd72b
ci: Bundle MoltenVK with macOS builds.
2022-12-25 22:28:49 +02:00
Steveice10
d1503605a7
vulkan: Fix supported extension check
2022-12-25 22:28:49 +02:00
Steveice10
6426f7a319
vulkan: Use required portability instance extension on macOS.
2022-12-25 22:28:49 +02:00
Steveice10
3b9ed5234d
ci: Fix macOS upload script calling wrong macpack.
2022-12-25 22:28:49 +02:00
Steveice10
763127605e
qt: Extract CAMetalLayer from NSView to pass to MoltenVK.
2022-12-25 22:28:49 +02:00
GPUCode
b86b19d366
renderer_vulkan: Drop requirement for VK_EXT_depth_clip_control
2022-12-25 22:28:49 +02:00
GPUCode
3dd74c69c5
Revert "CI: dont upload macos artifacts ( #6121 )"
...
This reverts commit 30831e6367
.
2022-12-25 22:28:49 +02:00
GPUCode
01af8e3f2c
renderer_vulkan: Integrate MacOS wsi
2022-12-25 22:28:49 +02:00
GPUCode
474cccda33
video_core: Fix build issues on macos
2022-12-25 22:28:49 +02:00
GPUCode
6057b18172
renderer_vulkan: Emulate 3-component vertex formats when unsupported
...
* This fixes the crashes on AMD
2022-12-25 22:28:48 +02:00
GPUCode
6a4ff8fa24
renderer_vulkan: Emulate logic op when unsupported
...
* Similar to GLES this is done to prepare for the android port
2022-12-25 22:28:48 +02:00
GPUCode
3c79360fd3
gl_rasterizer: Cleanup and fix bugs
2022-12-25 22:28:48 +02:00
GPUCode
939aafed40
vk_texture_runtime: Implement RGBA4 converter
...
* Fixes graphics in NES Remix. Need to also do a reinterpreter some time, but this will suffice for now
2022-12-25 22:28:48 +02:00
GPUCode
23417787f8
texture_downloader_es: Remove invalid operations
2022-12-25 22:28:48 +02:00
GPUCode
8946c1a7de
gl_texture_runtime: Use OGLStreamBuffer for uploads/downloads
...
* Much better than the current implementation
2022-12-25 22:28:48 +02:00
GPUCode
5fe910b18f
vk_stream_buffer: Cleanup flush barrier
2022-12-25 22:28:48 +02:00
GPUCode
3944cbdc19
video_core: Reorder microprofile defines
2022-12-25 22:28:48 +02:00