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
Crementif
d903b2cf12
Remove deprecated logging system and expose developer logging window ( #825 )
2023-05-20 02:46:12 +02:00
Alexander
b8dec03cb5
Add missing template arguments for std::forward ( #819 )
2023-05-15 18:31:53 +02:00
why-keith
caa57a3cfd
Logging migration (forceLogDebug_printf) ( #780 )
...
* script changes - no arguments
* script changes with 2 arguments
* script changes with > 2 arguments
* script conversions with 1 argument - pt. 1
* script conversions with 1 argument - pt. 2
* script conversions with 1 argument - pt. 3
* script conversions with 1 argument - pt. 4
* script conversions with 1 argument - pt. 5
Pointer format hunting
* Fixed pointer format
* script conversions with 1 argument - final
* fixed conversion in non utf-8 file
* fixed conversion with capital letter
* actually fixed conversion with capital letter
* fixed another capital lettering issue
* Added conversions with LR removed
* removed LR from logs
* Converted logs that previously contained LR
* converted log that originally specified string length
* fixed log with commas in main text
* fixed multi-line log
* Fixed more logs with commas in main text
* Fixed unformatted pointer
* added conversion with float value
* converted lines with double parameters
* converted missed line
* corrected argument formatting
Co-authored-by: Crementif <26669564+Crementif@users.noreply.github.com>
* Fixed misspellings of "unhandled"
unhandeled -> unhandled
Co-authored-by: Crementif <26669564+Crementif@users.noreply.github.com>
---------
Co-authored-by: Crementif <26669564+Crementif@users.noreply.github.com>
2023-04-25 08:43:31 +02:00
Exzap
ecb7b77326
Latte: Use better hashing algorithm for cache invalidation
...
Decreases chance of hash collisions while also being faster due to 4 channel vectorization
2023-04-15 10:08:58 +02:00
why-keith
4be57f4896
Migrate force_log_printf to new logging ( #714 )
2023-04-12 16:31:34 +02:00
Exzap
3ff3b732c8
Upgrade vcpkg + submodule dependencies ( #719 )
2023-03-28 17:43:02 +02:00
JP-Carr
a7f6043205
switched cafeLog_logLine() with cemuLog_log()
2023-03-26 15:10:48 +02:00
Exzap
9049ad91f9
Add missing constructor
2023-03-13 05:34:53 +01:00
Exzap
e803c6be47
Use attribute for AES-NI instead of -maes option
2023-03-13 05:34:53 +01:00
Exzap
504e0488a8
Remove shaderMulAccuracy "min" option
...
It's less accurate and it doesn't actually perform better on most hardware.
2023-03-13 05:34:53 +01:00
Exzap
8ce3f834c4
Latte: Optimize shader decompiler output
2023-03-13 05:34:53 +01:00
Exzap
a2c518354f
Remove unnecessary include
2023-03-02 16:44:22 +01:00
Exzap
466ad8d35e
Latte/Vulkan: Set RoundingModeRTE for all float types
...
Seems like GLSL's unpackHalf2x16() is affected by the 16bit rounding setting
2023-03-02 16:22:28 +01:00
Exzap
f8ea594447
Latte: Small refactor for shader decompiler
...
Latte: Small refactor for shader decompiler
2023-03-02 16:22:19 +01:00
Exzap
4a564e2447
Latte/Vulkan: Set shader rounding mode via VK_KHR_SHADER_FLOAT_CONTROLS
2023-03-02 16:22:05 +01:00
lisa-wolfgang
4c697d3755
Add cross-platform "disable screen saver" setting ( #497 )
2023-02-24 22:10:07 +01:00
Exzap
9d25b88368
Latte: Add support for MIN_DX10 shader instruction
2023-02-22 13:37:14 +01:00
Crementif
05e0f349e0
debugger: Disable Linux read/write breakpoints for now ( #669 )
...
It seems that there's some differences for some distros so until a proper solution is found, just disable it for now.
2023-02-20 00:29:32 +01:00
Crementif
6d75776b28
Add GDB stub for debugging ( #657 )
...
* Implement GDB stub debugger
Can be enabled by using the "--enable-gdbstub" option (and the debugger GUI, although that's untested) which'll pause any game you launch at start-up. Will start at port 1337 although it'll eventually be user-editable. The code is a bit weirdly sorted and also just needs a general cleanup, so expect that eventually too. And uses egyptian braces but formatting was easier to do at the end, so that's also something to do.
It has been tested to work with IDA Pro, Clion and the standalone interface for now, but I plan on writing some instructions in the PR to follow for people who want to use this. Memory breakpoints aren't possible yet, only execution breakpoints.
This code was aimed to be decoupled from the existing debugger to be able to be ported to the Wii U for an equal debugging experience. That's also why it uses the Cafe OS's thread sleep and resuming functions whenever possible instead of using recompiler/interpreter controls.
* Add memory writing and floating point registers support
* Reformat code a bit
* Format code to adhere to Cemu's coding style
* Rework GDB Stub settings in GUI
* Small styling fixes
* Rework execution breakpoints
Should work better in some edge cases now. But this should also allow for adding access breakpoints since it's now more separated.
* Implement access breakpoints
* Fix some issues with breakpoints
* Fix includes for Linux
* Fix unnecessary include
* Tweaks for Linux compatibility
* Use std::thread instead of std::jthread to fix MacOS support
* Enable GDB read/write breakpoints on x86 only
* Fix compilation for GCC compilers at least
The thread type varies on some platforms, so supporting this is hell... but let's get it to compile on MacOS first.
* Disable them for MacOS due to lack of ptrace
---------
Co-authored-by: Exzap <13877693+Exzap@users.noreply.github.com>
2023-02-19 15:41:49 +01:00
goeiecool9999
05d82b09e9
Add back missing flag to keep background image in background ( #667 )
2023-02-19 14:52:19 +01:00
goeiecool9999
cbb79fd34c
Separate imgui contexts for TV and Pad windows. ( #664 )
2023-02-18 11:56:43 +01:00
Exzap
f3ff919be2
Code clean up + replace some wstring instances with utf8 ( #640 )
2023-01-29 13:53:31 +01:00
Exzap
404af95a2c
Latte: Less aggressive texture readback
...
By mistake we would read affected textures back after every single drawcall. As an optimization if the same texture gets drawn to multiple times we'll try to only read it back once at the end of the sequence.
2023-01-27 09:57:10 +00:00
Exzap
387b712959
Logging: Add TextureReadback logtype and clean up code
2023-01-27 09:57:10 +00:00
Exzap
9bbfd33842
Latte: FragCoord w should not be reciprocal
...
Fixes rendering in various Virtual Console DS titles
2023-01-27 09:57:10 +00:00
Exzap
43b5ad2f1c
PPCInterpreter: Improve overflow handling
2023-01-27 09:57:10 +00:00
Exzap
4b5014c16a
coreinit: Fix memory mapping API
...
Fixes Unity based games freezing on boot
2023-01-27 09:57:10 +00:00
goeiecool9999
33bd10b4e0
Vulkan: Use the correct resolution for out-of-date check ( #595 )
2022-12-29 00:19:05 +01:00
SSimco
fcab8f8f1a
Linux: Add CMake find module for wayland + make wayland optional ( #572 )
2022-12-15 08:44:14 +01:00
SSimco
fca7f5dfe4
Linux: Add Vulkan support for wayland ( #553 )
2022-12-07 16:45:25 +01:00
Exzap
2c81d240a5
Make codebase more CPU-agnostic + MacOS disclaimer ( #559 )
2022-12-07 01:48:24 +01:00
Tom Lally
445b0afa95
Better screenshot error handling ( #552 )
2022-12-05 17:16:08 +01:00
Tom Lally
dd538d477c
Correctly create screenshot directory if it does not exist ( #551 )
2022-12-03 17:57:32 +01:00
Tom Lally
b361b154d8
Cross-platform screenshots ( #543 )
...
Co-authored-by: Tom Lally <tomlally@protonmail.com>
Co-authored-by: Exzap <13877693+Exzap@users.noreply.github.com>
2022-12-02 04:51:07 +01:00
goeiecool9999
2cfb7f3737
Automatically scale imgui text based on display pixel density ( #545 )
2022-12-01 15:58:08 +01:00
goeiecool9999
d3721c3f46
Fix render resolution at different UI scales ( #514 )
2022-11-30 13:39:32 +01:00
goeiecool9999
a3476c7b7c
macOS: Workaround for MoltenVK stride limitation ( #534 )
2022-11-30 01:26:42 +01:00
goeiecool9999
bc104859f3
Vulkan: return to more conventional swapchain sync method, encapsulate more code ( #525 )
2022-11-25 09:51:47 +01:00
goeiecool9999
cbdf381b31
Fix gamepad hotkey and game profile setting ( #510 )
2022-11-24 12:29:29 +01:00
goeiecool9999
f4c2d16a3a
Attempt to fix flicker on resize, don't recreate if image was already acquired. ( #522 )
2022-11-21 19:06:35 +01:00
goeiecool9999
3a94a276da
Vulkan: Further simplify swapchain code ( #502 )
2022-11-21 16:47:43 +01:00
goeiecool9999
9ce52ad83a
Linux/macOS: Implement overlay CPU/memory statistics ( #480 )
2022-11-20 19:53:45 +01:00
goeiecool9999
57c8dec335
fix two if statements checking range of number wrong ( #494 )
2022-11-17 15:42:08 +01:00
goeiecool9999
e9d10a9581
Linux+OpenGL: Implement GUI vsync setting ( #477 )
2022-11-13 08:29:25 +01:00
goeiecool9999
4d68446f14
Vulkan: Further swapchain code improvements. ( #473 )
2022-11-11 08:14:38 +01:00
bslhq
be287a1f4e
ImGui: match all begin()/end() ( #470 )
2022-11-09 02:45:40 +01:00
goeiecool9999
138510106c
Vulkan: Fix freeze when closing pad view ( #435 )
2022-11-06 00:40:00 +01:00
goeiecool9999
348d86648f
Vulkan: Refactor swapchain code ( #399 )
2022-11-04 15:22:29 +01:00
Tillsunset
521f2fb707
MacOS: Workaround for Metal stride limitation ( #445 )
2022-11-03 12:51:32 +01:00
goeiecool9999
a129d22a57
Vulkan: Experimental fix for self-dependency barriers during renderpass ( #431 )
2022-11-03 00:43:26 +01:00
goeiecool9999
c3182aedd9
GeneralSettings: Update vsync after settings close ( #401 )
2022-10-31 17:54:26 +01:00
Tillsunset
9ebbfb3ae2
Fix some compiler warnings ( #416 )
2022-10-26 14:47:44 +02:00
gurrgur
3869b47c35
OpenGL: Bind back buffer before clearing ( #222 ) ( #414 )
2022-10-26 14:07:34 +02:00