Commit graph

800 commits

Author SHA1 Message Date
Jean-Philip Desjardins
1bd468c7fb Vulkan: Make sure we don't access RAM out of its bounds when populating copy.
Some checks failed
Build Android / build_android (apk) (push) Has been cancelled
Build Android / build_android (libretro) (push) Has been cancelled
Build iOS / build_ios (push) Has been cancelled
Build JavaScript / build_js (push) Has been cancelled
Build Linux / build_linux (push) Has been cancelled
Build Linux ARM32 / build_linux_arm32 (push) Has been cancelled
Build Linux ARM64 / build_linux_arm64 (push) Has been cancelled
Build macOS / build_macos (push) Has been cancelled
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Has been cancelled
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Check Format / run_clangformat (push) Has been cancelled
2025-04-21 13:19:06 -04:00
Jean-Philip Desjardins
1e933dafc9 Vulkan: Use multiple semaphores in presentation to fix validation issue. 2025-04-21 13:19:06 -04:00
Jean-Philip Desjardins
30568a057d Use app_config module.
Some checks failed
Build macOS / build_macos (push) Has been cancelled
Build Android / build_android (apk) (push) Has been cancelled
Build Android / build_android (libretro) (push) Has been cancelled
Build Linux ARM32 / build_linux_arm32 (push) Has been cancelled
Build Linux ARM64 / build_linux_arm64 (push) Has been cancelled
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Has been cancelled
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Has been cancelled
Check Format / run_clangformat (push) Has been cancelled
Build iOS / build_ios (push) Has been cancelled
Build JavaScript / build_js (push) Has been cancelled
Build Linux / build_linux (push) Has been cancelled
2025-03-11 16:18:58 -04:00
Jean-Philip Desjardins
dd968d1472 Fix fog values for sprites.
(cherry picked from commit cbeee9a7d0d2f1782a7a1aac6ad1ec45f0869742)
2025-02-28 18:58:30 -05:00
Jean-Philip Desjardins
60b7ee0614 Add support for reading 16-bit images from Vulkan in frame debugger. 2025-02-28 18:58:30 -05:00
Jean-Philip Desjardins
e46557675b Use proper preprocessor macro.
Some checks failed
Build Android / build_android (apk) (push) Has been cancelled
Build Android / build_android (libretro) (push) Has been cancelled
Build iOS / build_ios (push) Has been cancelled
Build JavaScript / build_js (push) Has been cancelled
Build Linux / build_linux (push) Has been cancelled
Build Linux ARM32 / build_linux_arm32 (push) Has been cancelled
Build Linux ARM64 / build_linux_arm64 (push) Has been cancelled
Build macOS / build_macos (push) Has been cancelled
Build Windows / build_windows (x86_32, Visual Studio 16 2019, installer32.nsi, win32_msvc2019, Win32) (push) Has been cancelled
Build Windows / build_windows (x86_64, Visual Studio 16 2019, installer64.nsi, win64_msvc2019_64, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (off, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Build Windows Psf / build_windows_psf (on, x86_64, Visual Studio 16 2019, installer64.nsi, x64) (push) Has been cancelled
Check Format / run_clangformat (push) Has been cancelled
2025-02-12 14:12:37 -05:00
Jean-Philip Desjardins
80dd515077 Remove unnecessary barrier. 2025-01-24 11:55:03 -05:00
Jean-Philip Desjardins
73ab49cc4e Vulkan: Fix descriptor type.
Was causing issues with MoltenVK driver.
2025-01-22 08:13:45 -05:00
Jean-Philip Desjardins
2f6fd7b39b Fix handling of DECAL texture function when TCC is 0. 2024-08-26 17:08:39 -04:00
Jean-Philip Desjardins
07c1898303 Fix edge case in bilinear sampling when Q is 0.
Fixes map rendering in The OneeChambara 2.
2024-04-17 17:05:33 -04:00
Jean-Philip Desjardins
7d84e7fe99 Fix some minor Vulkan validation issues. 2024-02-27 15:46:32 -05:00
Jean-Philip Desjardins
e55fe646f4 Allocate more space for mipmap parameters.
Fixes issues with Hulk.
2024-02-27 15:46:32 -05:00
Jean-Philip Desjardins
db188584a7 Fix performance issues. 2024-02-27 15:46:32 -05:00
Jean-Philip Desjardins
7763cc463f Improved mip level calculation. 2024-02-27 15:46:31 -05:00
Jean-Philip Desjardins
6b99eeaed8 Fix a few issues. 2024-02-27 15:46:31 -05:00
Jean-Philip Desjardins
cbd5393eff Initial support for dynamic mip maps. 2024-02-27 15:46:31 -05:00
Jean-Philip Desjardins
002cb6af90 Avoid useless memset. 2024-02-27 15:46:05 -05:00
Jean-Philip Desjardins
bb74336245 More cleanups. 2024-02-27 15:46:05 -05:00
Jean-Philip Desjardins
139d0d1ee7 Cleanup. 2024-02-27 15:46:05 -05:00
Jean-Philip Desjardins
2462fe76eb Use SimdDefs. 2024-02-14 17:13:57 -05:00
Jean-Philip Desjardins
d95bd5c4bc Update mobile shaders with changed layout. 2023-11-28 08:40:22 -05:00
Jean-Philip Desjardins
85aaa26542 Feed mip level info to shader for proper texel fetching. 2023-11-28 08:40:20 -05:00
Jean-Philip Desjardins
30270ae180 Implement automatic mip address computation. 2023-11-28 08:39:12 -05:00
Jean-Philip Desjardins
97cf4123b9 Move all frame dumping logic in GS handler.
Fixes a bunch of incomplete dump issues, race conditions and potential crashes.
2023-11-28 08:39:12 -05:00
Jean-Philip Desjardins
ace2a09fb2 Vulkan: Use mip levels for drawing when they are static. 2023-11-28 08:39:11 -05:00
Jean-Philip Desjardins
930646f384 Enable mipmap level viewing in frame debugger with Vulkan. 2023-11-28 08:39:11 -05:00
Jean-Philip Desjardins
021fcb3253 Fix potential crash. 2023-11-28 08:39:11 -05:00
Jean-Philip Desjardins
b1c3646d76 Handle overlapping local to local transfers a bit better. 2023-11-27 18:43:32 -05:00
Jean-Philip Desjardins
52dea58a9b Some cleanup. 2023-11-27 18:28:36 -05:00
Jean-Philip Desjardins
5964c1346e Add some comments. 2023-11-27 18:28:36 -05:00
Jean-Philip Desjardins
a5f3d8da73 Add support for PSMT4 destination local to local transfers. 2023-11-27 18:28:36 -05:00
Jean-Philip Desjardins
3cf09f71eb Add special case for enabling debug utils on Android. 2023-11-27 15:45:57 -05:00
Jean-Philip Desjardins
d8fe957abf Vulkan: Use generic annotation utils. 2023-11-27 14:56:51 -05:00
Jean-Philip Desjardins
c5f9ee6a95 Vulkan: Turn off validation and debug utils if they're not present. 2023-11-27 14:56:14 -05:00
Jean-Philip Desjardins
1eec610c3e Periodically signal hsync instead of having it always on. 2023-10-13 17:53:06 -04:00
Jean-Philip Desjardins
074f776a9b Initialize framesInFlight.
Fixes some visual glitches that could happen on slower devices.
2023-09-28 13:33:21 -04:00
Jean-Philip Desjardins
1ce31fc4ae Remove possible race condition. 2023-08-24 14:16:44 -04:00
Jean-Philip Desjardins
1b98213f14 Fix style. 2023-08-24 14:16:44 -04:00
Jean-Philip Desjardins
6973249b43 Fix frame debugger. 2023-08-24 14:16:44 -04:00
Jean-Philip Desjardins
6241b41568 Decouple finishing and flipping. 2023-08-24 14:16:44 -04:00
Jean-Philip Desjardins
5e462281be Fix build. 2023-08-24 14:16:44 -04:00
Jean-Philip Desjardins
5fe52c2fb8 Allow one than more GS frame to be in-flight.
This greatly improve performance on Android in some cases since we don't have to wait for eglSwapBuffers before moving on to other frames.
2023-08-24 14:16:44 -04:00
Jean-Philip Desjardins
621a8d9f74 Cleanup. 2023-08-24 14:16:44 -04:00
Jean-Philip Desjardins
7f9b23600b Skip flipping if GS did nothing that frame.
Helps games running at 30FPS or lower on lower end devices.
2023-08-24 14:16:44 -04:00
Jean-Philip Desjardins
c93889ebce Vulkan: Fix small visual regression in Sega Rally 95. 2023-08-22 14:59:15 -04:00
Jean-Philip Desjardins
26597722f5 Add missing parenthesis. 2023-08-21 19:43:20 -04:00
Jean-Philip Desjardins
df755ded7d Minimize transfer range when possible. 2023-08-21 19:43:20 -04:00
Jean-Philip Desjardins
45d335e832 Vulkan/OpenGL: Only apply primitive changes when we're doing a vertex kick. 2023-08-21 19:43:20 -04:00
Jean-Philip Desjardins
1a89f3ed82 Vulkan: Only fill in texture caps if texturing is enabled. 2023-08-21 19:43:20 -04:00
Jean-Philip Desjardins
310efb0a97 Apply code formatting changes. 2023-08-18 11:39:36 -04:00