Exzap
193767e6cc
Latte+Vulkan: Code cleanup
...
Besides a general cleanup:
- Remove deprecated resource destruction queues
- Move functionality from renderer into Latte base classes to deduplicate code
2024-03-14 01:10:52 +01:00
Exzap
bc04662525
Latte+GL+VK: Improve handling of gfx pack texture overwrite format
...
Graphic packs can overwrite the format of a texture (e.g. for higher bitdepth to lessen banding) but the code for this wasn't correctly working anymore.
- Fixes overwrite format being ignored for texture views on Vulkan backend
- Fixes overwrite format not being used for texture views on OpenGL
Format aliasing is complicated enough as it is, even without overwrites, so this adds a new rule to make behavior more well defined: If two textures share memory but only one uses an overwrite format, then they are no longer synchronized and are considered separate textures.
Bonus fixes for OpenGL:
- Use fbo 0 instead of -1 as the default. This silences some warnings in debug output
- On OpenGL, bind new framebuffers on handle generation so they are considered created
2024-03-13 02:41:42 +01:00
Exzap
8bc444bb97
Latte: Derive framebuffer size from correct mip of depth buffer
2024-03-12 16:16:52 +01:00
Exzap
6fa77feba3
Latte: Fix regression in dd7cb74
2024-03-12 05:53:31 +01:00
Exzap
a50e25300d
Vulkan: Remove unused code path for texture copies
...
In 2020 we switched to drawcalls for texture copies replacing the copy-via-buffer path. It's not been used since so lets remove it
2024-03-11 23:01:37 +01:00
Exzap
1f9b89116f
Vulkan: Fix crash during shutdown if shaders are still compiling
...
Make sure the async shader compiler threads are stopped before the shaders are deleted
2024-03-11 21:57:37 +01:00
Exzap
dd7cb74cd2
Latte: Small refactor and clean up for texture size code
2024-03-11 21:57:37 +01:00
goeiecool9999
e1435066ee
OpenGL: Fix crash related to wxWidgets handling of vsync ( #1112 )
2024-03-11 00:57:31 +01:00
Exzap
d9e8ca2c83
Revert "Vulkan: Update some code to use VK_KHR_synchronization2"
...
This reverts commit 8f1cd4f925 .
We received reports from users stuck with Vulkan drivers from 2019. (E.g. Kepler on Windows). So let's not unnecessarily increase the Vulkan requirement for now and postpone this to after the next stable release
2024-03-09 02:38:08 +01:00
Exzap
ea68f787eb
Vulkan: For MSAA surface copies make the target MSAA too
...
Fixes #1108
2024-03-08 14:45:02 +01:00
Exzap
9f9bc9865f
Vulkan: Avoid calling vkCmdClearColorImage() on compressed textures
...
This is not allowed according to the spec and can crash drivers. Fixes #1100
2024-03-08 14:43:40 +01:00
Exzap
b8d81283e8
Vulkan: Remove unnecessary index buffer for backbuffer drawcall
2024-03-08 14:39:46 +01:00
Exzap
8f1cd4f925
Vulkan: Update some code to use VK_KHR_synchronization2
2024-03-08 14:39:46 +01:00
Exzap
72ce4838ea
Latte: Optimize uniform register array size for known shaders
2024-02-20 10:57:05 +01:00
Exzap
96bbd3bd25
Latte: Avoid assert in texture view check
2024-02-20 10:57:05 +01:00
Mike Lothian
72aacbdcec
Vulkan: Don't use glslang internal headers
...
Signed-off-by: Mike Lothian <mike@fireburn.co.uk>
2024-01-19 04:58:08 +01:00
Exzap
9b0a1d53dc
Latte: Fix syntax error in generated GLSL
2024-01-14 23:40:29 +01:00
GaryOderNichts
4405116324
GDBStub: Support watchpoints on linux ( #1030 )
...
* GDBStub: Support watchpoints on linux
* GDBStub: Use `TCP_NODELAY`
2023-12-23 15:25:01 -08:00
Exzap
d2ba4e65c5
Latte: 1D views are compatible with 1D textures
2023-12-13 18:10:10 +01:00
Exzap
2167143c17
Latte: Support for SAMPLE_LB
2023-12-13 12:45:20 +01:00
Exzap
df282ab230
Latte: Clean up OpenGL relics in shared render code
2023-12-13 12:45:20 +01:00
Exzap
646835346c
Latte: Refactor legacy OpenGL code for shader binding
2023-12-13 12:45:20 +01:00
Exzap
dee764473d
Latte: Small refactor for GLSL texture coord handling
...
Also adds support for 2D textures coordinates with source as 0.0 or 1.0 literals instead of GPRs. Seen in shaders generated by CafeGLSL
2023-12-10 08:30:52 +01:00
Exzap
e7fa8ec0c6
Vulkan: Properly shut down compilation threads
2023-12-10 08:30:52 +01:00
Exzap
9398c0ca6b
Latte: Simplify and fix texture copy
2023-12-10 08:30:52 +01:00
GaryOderNichts
5047c4d083
GDBStub: Fix checkSum string to int conversion ( #1029 )
2023-11-27 12:21:52 +01:00
Exzap
0d71885c88
nn_fp: Full rework of friend service
2023-10-17 05:26:30 +02:00
goeiecool9999
d4a2a8e8de
Vulkan: Cleanup image barrier code ( #988 )
2023-10-16 07:33:12 +02:00
Exzap
29c823fa1f
Latte: Fix uniform size limit being too low
2023-10-02 19:05:44 +02:00
Exzap
757d458161
Compatibility with fmtlib 10.1.x
2023-10-02 18:53:00 +02:00
Exzap
ff9d180154
Code cleanup
2023-10-01 11:46:26 +02:00
Exzap
8bb7ce098c
Bump CI clang version to 15 + workaround for unsafe fiber optimizations ( #982 )
2023-09-29 17:17:28 +02:00
Exzap
abce406ee8
Refactor more wstring instances to utf8-encoded string
2023-09-29 06:48:10 +02:00
Exzap
f9f6206929
Vulkan: Add profiler for Vulkan API CPU cost
...
Disabled by default. Set VULKAN_API_CPU_BENCHMARK to 1 to enable
2023-09-29 06:48:10 +02:00
Exzap
3e925b7707
Latte: Bound uniform buffers based on access patterns within the shader
2023-09-29 06:48:10 +02:00
Exzap
4d6b72b353
Latte: Very minor refactor + optimization
2023-09-29 06:48:10 +02:00
goeiecool9999
b4aa10bee4
Vulkan: Only create imgui renderpass once ( #972 )
2023-09-20 19:01:56 +02:00
Exzap
90c56b7731
Latte: Optimizations and tweaks ( #706 )
2023-09-19 21:17:21 +02:00
Exzap
92ab87b049
Latte: Fix shader compilation error when subroutines are used
...
Fixes character colors in Tekken Tag Tournament 2
2023-09-14 20:52:40 +02:00
Exzap
f04c7575d7
coreinit: Handle non-existing modules in OSDynLoad_Acquire
...
Fixes Togabito crashing on boot
coreinit: Handle non-existing modules in OSDynLoad_Acquire
2023-09-14 20:52:40 +02:00
Exzap
c168cf536a
Vulkan: Dont immediately crash on bad pipeline cache
2023-09-14 20:52:40 +02:00
Exzap
524188bb7a
Refactor more GX2 code to use LatteReg.h
2023-09-14 20:52:40 +02:00
Francesco Saltori
c16e258c93
Localization improvements and fixes ( #956 )
2023-09-08 02:09:03 +02:00
GaryOderNichts
d8b9a74d86
Latte: rendertarget is a bitmask ( #942 )
2023-08-16 23:52:06 +02:00
Exzap
0f469eb2b9
Small cleanup + Fix memory base logged as 0
2023-08-03 20:31:12 +02:00
Crementif
651e5336b4
debugger: Add logging breakpoint + misc fixes ( #927 )
2023-08-03 15:45:11 +02:00
Colin Kinloch
1d1e1e781b
Vulkan: Retry instance creation if validation layer is not present ( #909 )
2023-08-03 15:16:22 +02:00
Exzap
2200cc0ddf
Initial support for title switching + better Wii U menu compatibility ( #907 )
2023-07-21 13:54:07 +02:00
Exzap
45072fccb2
Remove remnants of frame profiler code
2023-06-25 08:40:52 +02:00
Exzap
808d1bb424
Add debug asserts for invalid MEMPTR
...
Also fixed some corruptions this uncovered
2023-06-15 22:36:35 +02:00