edendev
b01e20414f
Readd Revert Problematic Commits
2025-05-04 08:24:54 +00:00
edendev
4181b53e19
revert Remove problematic commits
...
revert Remove problematic commits
2025-05-04 08:17:03 +00:00
MrPurple666
b689d74bc9
Remove problematic commits
2025-05-03 16:01:11 -03:00
MrPurple666
b695ca5a2a
Revert some wip changes
2025-04-28 16:14:42 -03:00
Zephyron
9615e910f9
feat(video_core): Implement HybridMemory for advanced Vulkan memory management
...
Adds a new cross-platform memory management system with enhanced capabilities:
- Fault-managed memory allocation for Linux/Android platforms
- Memory snapshot and differential snapshot support
- Predictive memory reuse tracking for optimized access patterns
- Vulkan compute buffer integration
- User-configurable settings for enabling features
The system integrates with the existing Vulkan renderer to provide more
efficient memory handling, especially for compute-intensive workloads.
Co-authored-by: boss.sfc <boss.sfc@citron-emu.org>
Co-committed-by: boss.sfc <boss.sfc@citron-emu.org>
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-04-12 23:41:26 -03:00
Zephyron
b550c6e3cc
feat(vulkan): implement enhanced texture and shader management
...
This commit adds improved Vulkan functionality to the Citron emulator:
- Add thread-safe texture management with automatic error recovery
- Implement shader caching with validation support
- Add robust error handling for Vulkan operations
- Implement platform-specific initialization for Windows, Linux, and Android
These enhancements improve stability when handling texture loading errors
and provide better recovery mechanisms for Vulkan failures.
Co-authored-by: boss.sfc <boss.sfc@citron-emu.org>
Co-committed-by: boss.sfc <boss.sfc@citron-emu.org>
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-04-12 23:39:19 -03:00
darktux
616619c8f7
Port changes from Early Access
2025-04-04 03:40:46 +02:00
voidanix
d60cf76e2d
Fix GCC builds with Debug build type
2025-04-01 18:31:44 +02:00
Liam
ba17a8c2b8
gpu: dependency-inject scaling/antialiasing filter state for capture layers
2024-02-09 09:20:53 -05:00
Liam
ce72818075
nvnflinger/gpu: implement applet capture
2024-02-09 09:20:53 -05:00
Fernando Sahmkow
4d97c54676
VideoCore: Move Slot Vector to Common
2024-02-04 20:01:47 +01:00
Liam
d2f98ce312
renderer_opengl: implement layer stack composition
2024-01-31 11:27:21 -05:00
Liam
f727f13cb9
renderer_vulkan: implement layer stack composition
2024-01-31 11:27:21 -05:00
Liam
2a314f9e2e
renderer_opengl: split up blit screen resources into antialias and window adapt passes
2024-01-31 11:27:21 -05:00
Liam
bd9c228844
renderer_opengl: split out FXAA
2024-01-31 11:27:20 -05:00
Liam
5d9ae38249
renderer_opengl: split out SMAA
2024-01-31 11:27:20 -05:00
Liam
86bfa837fc
renderer_vulkan: split up blit screen resources into separate antialias and window adapt passes
2024-01-31 11:27:20 -05:00
Liam
f50296ab23
renderer_vulkan: isolate FXAA from blit screen
2024-01-31 11:27:20 -05:00
Liam
e8fa898313
renderer_opengl: isolate core presentation code
2024-01-31 11:27:20 -05:00
Liam
84678c7014
video_core: simplify accelerated surface fetch and crop handling between APIs
2024-01-31 11:27:20 -05:00
liamwhite
9b07313a94
Merge pull request #12814 from Kelebek1/time_new_ipc
...
Move time services to new IPC and add debug printing
2024-01-29 09:08:46 -05:00
liamwhite
bc857b4b5a
Merge pull request #12439 from FireBurn/vkresult
...
Simplify VkResult lookup
2024-01-29 09:08:32 -05:00
Kelebek1
05afa94a3b
Move time services to new IPC.
...
Add some fixes/improvements to usage with the new IPC
2024-01-27 03:30:09 +00:00
Mike Lothian
2348a5bdab
Add Vulkan-Utility-Libraries dependency
2024-01-22 01:30:44 +00:00
Fernando Sahmkow
9db159da71
SMMU: Initial adaptation to video_core.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
eb4f7f35ea
NVDRV: Implement sessions and initial implementation of SMMU
2024-01-18 21:12:30 -05:00
Fernando S
896ae72dbf
Merge pull request #11535 from GPUCode/upload_cmdbuf
...
renderer_vulkan: Introduce separate cmd buffer for uploads
2023-11-26 18:33:05 +01:00
Liam
767b024755
video_core: refactor video frame and packet parsing
2023-11-16 17:01:38 -05:00
GPUCode
4b853ff5cf
renderer_vulkan: Introduce separate cmd buffer for uploads
2023-11-12 20:27:39 +01:00
Fernando Sahmkow
7f78d844ab
Query Cache: Setup Base rework
2023-09-23 23:05:29 +02:00
Alexandre Bouvier
f663418ff5
vma: enable options everywhere
2023-07-31 13:01:21 +02:00
Alexandre Bouvier
dad3ef76a2
cmake: allow using system VMA library
2023-07-12 04:51:45 +02:00
GPUCode
5196f05cec
video_core: Add BCn decoding support
2023-06-27 18:00:09 -07:00
lat9nq
0a4650cd2b
externals: Add vma and initialize it
...
video_core: Move vma implementation to library
2023-06-18 12:45:12 +03:00
liamwhite
93372f503a
Merge pull request #10476 from ameerj/gl-memory-maps
...
OpenGL: Make use of persistent buffer maps in buffer cache
2023-06-07 14:03:57 -04:00
Liam
d54605d1a5
build: only enable adrenotools on arm64
2023-06-03 00:05:43 -07:00
Liam
46927d217c
externals: add adrenotools for bcenabler
2023-06-03 00:05:28 -07:00
bunnei
6549cf8bd0
cmake: Integrate bundled FFmpeg for Android.
2023-06-03 00:05:26 -07:00
ameerj
8d223e8092
OpenGL: Make use of persistent buffer maps in buffer cache downloads
...
Persistent buffer maps were already used by the texture cache, this extends their usage for the buffer cache.
In my testing, using the memory maps for uploads was slower than the existing "ImmediateUpload" path, so the memory map usage is limited to downloads for the time being.
2023-05-28 00:38:46 -04:00
Liam
011dfe1db7
textures: add BC1 and BC3 compressors and recompression setting
2023-05-23 12:54:40 -04:00
GPUCode
8eede48a39
renderer_vulkan: Async presentation
2023-05-01 23:13:24 +03:00
Fernando Sahmkow
64c9a90c20
Buffer Cache: Fully rework the buffer cache.
2023-04-29 00:46:31 +02:00
Matías Locatti
7cc539e8b8
Partially apply LTO to only core and video_core projects.
2023-02-27 18:44:14 -03:00
Wollnashorn
6b840142b3
video_core/opengl: Add FSR upscaling filter to the OpenGL renderer
2023-01-26 21:43:33 +01:00
liamwhite
1bd93d9f3b
Merge pull request #9556 from vonchenplus/draw_texture
...
video_core: Implement maxwell3d draw texture method
2023-01-19 14:58:53 -05:00
liamwhite
41958ff4ae
Merge pull request #9552 from liamwhite/turbo
...
vulkan: implement 'turbo mode' clock booster
2023-01-06 09:59:59 -05:00
Fernando Sahmkow
8eafb91af0
video_core: Cache GPU internal writes.
2023-01-05 05:23:39 -05:00
Feng Chen
3b5e1a24bc
video_core: Implement opengl/vulkan draw_texture
2023-01-05 12:41:33 +08:00
Liam
1a32e03a0f
vulkan: implement 'turbo mode' clock booster
2023-01-04 22:22:01 -05:00
Fernando Sahmkow
3ea10762d2
RasterizerMemory: Add filtering for flushing/invalidation operations.
2023-01-01 16:43:58 -05:00