GPUCode
eb8b463ca8
Merge branch 'vulkan-2' of https://github.com/GPUCode/citra into vulkan-2
2023-03-11 20:46:54 +02:00
GPUCode
72c1785bf0
renderer_vulkan: Revert some recent present changes
...
* Fixes the deadlocking on mingw until I rewrite presentation again
2023-03-11 20:45:19 +02:00
GPUCode
a2aca3dde6
Merge branch 'master' into vulkan-2
2023-03-11 13:15:41 +02:00
DRayX
27be16ee31
Update AndroidManifest for Android TV ( #6330 )
2023-03-10 00:44:45 +01:00
Steveice10
c96f54f022
Implement app management support (suspend, resume, close, etc) ( #6322 )
2023-03-10 00:44:26 +01:00
Charles Lombardo
d2caf2d386
citra_android: Start material 3 migration ( #6335 )
2023-03-09 23:22:11 +01:00
Charles Lombardo
1cca713e3b
citra_android: New settings fragment animations ( #6332 )
2023-03-09 21:54:32 +05:30
GPUCode
c5f2267306
renderer_vulkan: Emulate 3 component formats when unsupported
...
* Using uscaled formats isn't enough for all targets, the steam deck for example still crashes. The previous approach involved breaking the attribute to vec2 + vec1 and combining them. This commit implements something much simpler; the attribute is replaced with the 4 component version and the shader then zeros the w component. Since the fixed binding is at least 16bytes and exists at the end of the vertex data, we always have adequate space to alias so tihs shouldn't break.
2023-03-09 16:02:21 +02:00
Steveice10
976995ba08
cfg: Set system setup complete flag when formatting save. ( #6331 )
2023-03-09 00:05:00 +01:00
GPUCode
911fe5610c
vk_renderpass_cache: Bring back flushes
...
* Idk why they were removed
2023-03-08 16:01:32 +02:00
GPUCode
b3e0078041
vk_resource_pool: Increase buffer descriptors
2023-03-08 15:20:10 +02:00
GPUCode
eeb1ff7965
rasterizer_cache: Avoid redundant texture copies when using texcubes
2023-03-08 10:11:47 +02:00
Tobias
07e02a1acf
Port multiplayer related PRs from yuzu (yuzu-emu/yuzu#9661 and yuzu-emu/yuzu#9713) ( #6319 )
...
Co-authored-by: SoRadGaming <sohorhab.azizdel@outlook.com >
Co-authored-by: Luke Sawczak <luke@unfamiliarplace.com >
2023-03-08 00:51:46 +01:00
GPUCode
8721456944
renderer_vulkan: Use dynamic uniform buffers
...
* Reduce descriptor update overhead
2023-03-07 23:38:48 +02:00
GPUCode
a23fbae391
vk_resource_pool: Add back eSampledImage
...
* It's used by format reinterpreter
2023-03-06 22:28:31 +02:00
GPUCode
0a8f11ca63
renderer_vulkan: Small cleanups
2023-03-05 17:34:35 +02:00
GPUCode
8f194b5fff
rasterizer_cache: Handle null surface id in GetTextureSurface
...
* Pokemon X tries to use a texture with zero width. The previous code handled this so will we
2023-03-05 16:36:19 +02:00
GPUCode
3b050668bb
vk_texture_mailbox: Fix shutdown
2023-03-05 14:12:29 +02:00
GPUCode
d054eea0c4
rasterizer_cache: Handle null surface cubes properly
2023-03-05 14:05:22 +02:00
GPUCode
b9021ea469
renderer_vulkan: Address various sync issues
...
* Drop Common::SPSCQueue as it sometimes gives garbage frames.
* Reduce master semaphore timeout to allow the wait to recover in cases wher it gets stuck
2023-03-05 01:27:39 +02:00
GPUCode
223627c381
vk_scheduler: Prevent DispatchWork stalls
...
* Now that Finish no longer depends on the queue being empty of not we can move the chunk execution out of the work_mutex scope
2023-03-04 22:33:25 +02:00
GPUCode
ad4339464a
renderer_vulkan: Submit present frames from the EmuThread
...
* This commit also reworks scheduler synchronization somewhat to be more reliable. Flush is given an atomic_bool is signal when the submit is done
2023-03-04 22:24:56 +02:00
GPUCode
32cb44d2b9
vk_descriptor_manager: Cache descriptor sets
2023-03-03 23:06:16 +02:00
GPUCode
39edca2cf7
vk_texture_runtime: Disable anisotropic filtering if unsupported
2023-03-03 22:47:27 +02:00
Steveice10
0a3acc25d2
ci: Bump macOS target to 11 (Big Sur) ( #6325 )
2023-03-03 22:47:27 +02:00
Steveice10
3f0bcf5913
Revert "ci: Disable uploading final macOS artifacts until ready to resume producing."
2023-03-03 22:47:27 +02:00
GPUCode
2384c8f811
vk_texture_runtime: Bring back FramebufferView
...
* Also move the usage hint flags to the allocation. If an allocation is used as framebuffer there's a high chance it will be used again as such. In addition is helps keeping pipeline barriers correct even when the surface is destoyed and recreated (happens often with framebuffers)
2023-03-03 16:28:01 +02:00
GPUCode
c26cb68a0c
vk_renderpass_cache: Commonize setup between renderpass and dynamic rendering implementations
...
* Also fix small issue that caused broken rendering on the latter
2023-03-03 16:24:10 +02:00
Steveice10
455a0198d9
ci: Bump macOS target to 11 (Big Sur) ( #6325 )
2023-03-03 15:04:31 +02:00
GPUCode
c34bc45bf1
custom_tex_manager: Fix a race with async decoding
2023-03-02 16:20:32 +02:00
GPUCode
19617f32c8
custom_tex_manager: Multithread custom texture loading and decode
...
* Each texture has an atomic flag to signal to the backend when decoding is finished
* Don't store the file data as well to conserve RAM.
2023-03-02 16:20:32 +02:00
GPUCode
8396ce0b47
rasterizer_cache: Improve debugging
...
* Give surfaces an object label viewable in renderdoc with useful information
* Break up the Cache Mgmt microprofile scope and commonize it
2023-03-02 16:20:32 +02:00
GPUCode
07f85cf639
vk_shader_gen_spv: Emulate fog
...
* Fixes the intro of MM3D
2023-03-02 16:20:32 +02:00
GPUCode
dfd8ded206
vk_pipeline_cache: Improve async pipeline android fallback
...
* When VK_EXT_pipeline_creation_feedback is unavailable don't synchronously compile the pipeline, this is slow
* Compile the pipeline asynchrounsly instead and have the record thread wait for it. This way we can have multiple pipelines compiling at once
2023-03-02 16:20:32 +02:00
GPUCode
06caa535d6
rasterizer_cache: Remove usage of shared_ptr
2023-03-02 16:20:32 +02:00
GPUCode
42bed30b98
custom_tex_manager: Fix dumping issues
...
* Use the proper hash for dumping
* Add the mipmap as a postfix to help pack creators
2023-03-02 16:20:32 +02:00
GPUCode
74e75f1996
rasterizer_cache: More texture pack nonsense
...
* Some packs turn out have mipmaps but not the base level of a texture. Handle this to avoid black textures at a distance
2023-03-02 16:20:32 +02:00
GPUCode
f04a6a4d83
vk_rasterizer: Reduce stream buffer size
...
* 64MB is more than enough, any higher and it fills up the 256MB device local-host visible heap
2023-03-02 16:20:32 +02:00
GPUCode
33be1b744b
rasterizer_cache: Limit mipmap skip to custom surfaces
...
* Fixes missing mipmaps when custom textures is enabled but the game does not have any pack
* Also fixes black textures in cases where a custom texture was not provided
2023-03-02 16:20:32 +02:00
GPUCode
2c9e0ec723
video_core: Add more ASTC formats
2023-03-02 16:20:32 +02:00
GPUCode
d1ac33b18b
Revert "Revert "vk_scheduler: wait for command processing to complete""
...
* No longer needed after async present and causes sync issues during swapchain recreation
This reverts commit 0381081c5d
.
2023-03-02 16:20:32 +02:00
GPUCode
c00bdc4214
gl_texture_runtime: Generate all mipmaps
2023-03-02 16:20:32 +02:00
GPUCode
74be64b60a
vk_stream_buffer: Fix synchronization during buffer overflow
...
* Especially with custom textures the bufer would fill up but didn't wait any watchers on overflow overriding some textures
2023-03-02 16:20:32 +02:00
GPUCode
11ca327951
renderer_vulkan: Optimize stream buffer usage
...
* Use vma for allocating the memory. In addition place upload/download buffers on the cpu, they don't need to be device local
2023-03-02 16:20:32 +02:00
GPUCode
631da59392
renderer_vulkan: Allow vsync change during gameplay
2023-03-02 16:20:32 +02:00
GPUCode
e861c456c9
custom_tex: Fix hash read on windows
2023-03-02 16:20:31 +02:00
GPUCode
c3ab060576
externals: Trim down zlib-ng build
2023-03-02 16:20:31 +02:00
GPUCode
94ee7c68fc
video_core: Clear runtime on rasterizer cache flush
...
* When changing res scale or custom textures a large number of textures will be replaced so better not keep the old ones
2023-03-02 16:20:31 +02:00
GPUCode
8e8097e7c0
renderer_vulkan: Use combined image samplers
...
* Less descriptors = good
2023-03-02 16:20:31 +02:00
GPUCode
52683adedd
video_core: Rewrite custom textures
2023-03-02 16:20:31 +02:00