MaranBr
c725641f13
[video_core] Fix fast buffers without performance loss ( #2605 )
...
Fixes games that have some elements flickering on the screen, such as Kirby Star Allies and others, without impacting performance.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2605
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Co-authored-by: MaranBr <maranbr@outlook.com >
Co-committed-by: MaranBr <maranbr@outlook.com >
2025-09-28 07:29:19 +02:00
MaranBr
19eb8272b1
[video_core] Fix a bug in buffer cache that caused flickering in some games when using fast buffering ( #2584 )
...
This fixes a bug in the buffer cache that caused flickering in some games when using fast buffering. This fixes Kirby Star Allies, Yoshi's Crafted World, and possibly many others.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2584
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Co-authored-by: MaranBr <maranbr@outlook.com >
Co-committed-by: MaranBr <maranbr@outlook.com >
2025-09-26 05:13:08 +02:00
lizzie
191e4c75a1
[meta] fix license headers ( #2547 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2547
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-09-21 21:58:59 +02:00
lizzie
9d2681ecc9
[cmake] enable clang-cl and WoA builds ( #348 )
...
Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64.
Compiling on clang is *dramatically* faster so this should be useful for CI.
Co-authored-by: crueter <crueter@eden-emu.dev >
Co-authored-by: crueter <crueter@crueter.xyz >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-09-09 20:47:49 +02:00
crueter
f1e74f6855
[meta] remove MicroProfile ( #185 )
...
Signed-off-by: crueter <crueter@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/185
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
2025-08-06 07:48:11 +02:00
Maufeat
77a8f7b6a7
[vk, hle] fix storage buffer cache, unstubbed TryPopFriendInvitation ( #129 )
...
This fixes Jamboree + unstubes friend invitation channel which spammed a lot while testing jamboree.
Culprit was: #2
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Co-authored-by: crueter <crueter@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/129
Co-authored-by: Maufeat <maufeat@eden-emu.dev >
Co-committed-by: Maufeat <maufeat@eden-emu.dev >
2025-07-27 02:37:29 +02:00
Ghost
c47f6615d3
[vk, opengl] Prevent GPU draw call if CBUF binding fails (cbuf0 error handling) ( #2 )
...
Add defensive checks to cancel draw calls early if any graphics storage buffer (CBUF) fails to bind properly.
- Modified BindGraphicsStorageBuffer to return false on invalid buffer ID.,
- ConfigureImpl (both OpenGL and Vulkan) now propagates binding failure.,
- Pipeline::Configure returns false if CBUF binding fails.,
- PrepareDraw cancels rendering if pipeline configuration fails.,
This avoids undefined GPU behavior, draw corruption, or crashes caused by uninitialized or invalid constant buffer (CBUF0) access, particularly in games with faulty or missing shader bindings.
Eden Collaborator: <edencollaborator@eden-emu.org >
Authored-by: CamilleLaVey <camillelavey@eden-emu.org >
Signed-off-by: Bix <bix@bixed.xyz >
Co-authored-by: Bix <114880614+Bixbr@users.noreply.github.com >
Co-authored-by: crueter <crueter@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2
Co-authored-by: Ghost <>
Co-committed-by: Ghost <>
2025-07-13 19:27:39 +02:00
CamilleLaVey
cd394fc40f
revert [android] Snapdragon 865 patches ( #23 )
...
revert [android] Snapdragon 865 patches (#23 )
Co-authored-by: Aleksandr Popovich <alekpopo@pm.me >
Reviewed-on: https://git.bixed.xyz/Bix/eden/pulls/23
Reverted due to heavy performance hits on Android with higher specifications, will be adjusted to be included in a specific build for older A6XX devices, as 855, 860, 865, 870, meanwhile it does fix critical issues with certain games crashing due to memory and VRAM usage, hits performance on SoC that can do it without this special flags.
2025-07-12 20:10:40 +02:00
crueter
444109c251
[android] Snapdragon 865 patches ( #23 )
...
Co-authored-by: Aleksandr Popovich <alekpopo@pm.me >
Reviewed-on: https://git.bixed.xyz/Bix/eden/pulls/23
2025-07-06 18:20:21 +00:00
Gamer64
a002730d68
[VK] Rework SPIRV Shader Optimization ( #238 )
...
The actual SPIRV Shader Optimization option doesn't seem to do anything as long as it isn't vinculed, so let's rework it to make it work
Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com >
Co-authored-by: echosys <echosys@noreply.localhost >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/238
2025-07-03 01:13:33 +00:00
CamilleLaVey
fa600b88b1
revert 91a662431c ( #240 )
...
revert [Texture_cache] Better memory handling for devices with lower memory allocations (#233 )
Means games like Minecraft Dungeons, Sea of Stars, Luigi Mansion 2, Astroneer, Alan Wake, etc are now playable.
It also cleans up the recent abi.cpp and bindless texture commits a bit.
Everything is in #ifdef ANDROID - The biggest change is CACHING_PAGEBITS = 12.
Without that the way the buffercache grows and joins buffers can cause Android to run out of memory (as you end up with just one big buffer that needs to be copied every time it grows)
Also patches up ffmpeg issues.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/233
Co-authored-by: JPikachu <jpikachu.eden@gmail.com >
Co-committed-by: JPikachu <jpikachu.eden@gmail.com >
Had showed some regressions on devices with higher specifications, will be refined to return as a toggle in a later commit.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/240
2025-06-30 12:57:21 +00:00
JPikachu
91a662431c
[Texture_cache] Better memory handling for devices with lower memory allocations ( #233 )
...
Means games like Minecraft Dungeons, Sea of Stars, Luigi Mansion 2, Astroneer, Alan Wake, etc are now playable.
It also cleans up the recent abi.cpp and bindless texture commits a bit.
Everything is in #ifdef ANDROID - The biggest change is CACHING_PAGEBITS = 12.
Without that the way the buffercache grows and joins buffers can cause Android to run out of memory (as you end up with just one big buffer that needs to be copied every time it grows)
Also patches up ffmpeg issues.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/233
Co-authored-by: JPikachu <jpikachu.eden@gmail.com >
Co-committed-by: JPikachu <jpikachu.eden@gmail.com >
2025-06-29 17:14:23 +00:00
liamwhite
5f2369bba6
general: workarounds for SMMU syncing issues ( #12749 )
2024-02-27 15:42:15 +01:00
liamwhite
c98e01cee8
buffer_cache: avoid overflow in usage tracker ( #13166 )
2024-02-27 15:39:11 +01:00
Matías Locatti
40497ab00f
Merge pull request #10529 from liamwhite/critical-spacing
...
caches: make critical reclamation less eager and possible in more cases
2024-02-20 23:19:27 -03:00
Liam
02430ed002
buffer_cache: use mapped range with large vertex buffer size
2024-02-13 08:27:33 -05:00
Liam
e882f6c1c3
caches: make critical reclamation less eager and possible in more cases
2024-02-11 13:41:13 -05:00
Fernando Sahmkow
758d895408
Common: Rename SplitRangeSet to OverlapRangeSet
2024-02-05 23:01:17 +01:00
Fernando Sahmkow
80d505b5cf
Buffer Cache: Refactor to use Range sets instead
2024-02-05 11:06:52 +01:00
Fernando Sahmkow
4d97c54676
VideoCore: Move Slot Vector to Common
2024-02-04 20:01:47 +01:00
Fernando Sahmkow
241c64e43b
Core: Eliminate core/memory dependancies.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
b206089ea7
Core: Clang format and other small issues.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
9db159da71
SMMU: Initial adaptation to video_core.
2024-01-18 21:12:30 -05:00
Viktor Szépe
e895ebb546
Fix typos in video_core
2024-01-07 22:44:55 +00:00
liamwhite
4504ee7f28
Revert "video_core: use interval map for page count tracking"
2023-12-17 18:59:49 -05:00
Liam
7fa76caf80
video_core: use interval map for page count tracking
2023-12-14 21:54:36 -05:00
liamwhite
95ad671ce9
Merge pull request #12194 from liamwhite/fruit-company
...
video_core: fix mac compile
2023-11-29 12:33:41 -05:00
Ameer J
a9e011c9c2
Merge branch 'master' into ssbo-align
2023-11-26 21:08:53 -05:00
Liam
bd250e303f
video_core: fix mac compile
2023-11-26 20:04:06 -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
Fernando Sahmkow
6bf827f4e9
Buffer Cache: Eliminate clears on Indirect buffers
2023-11-18 19:26:14 +01:00
GPUCode
4b853ff5cf
renderer_vulkan: Introduce separate cmd buffer for uploads
2023-11-12 20:27:39 +01:00
Ameer J
b49639e786
shader_recompiler: Align SSBO offsets in GlobalMemory functions
2023-10-31 20:14:18 -04:00
Ameer J
f4848349b5
buffer_cache: Apply storage buffer alignment only to the offset
2023-10-31 20:10:54 -04:00
Ameer J
e538b932de
shader_recompiler: Align SSBO offsets to meet host requirements
...
Co-Authored-By: Billy Laws <blaws05@gmail.com >
2023-10-31 20:10:54 -04:00
Kelebek1
5d26c3791b
Add missing dowhile loops around FindBuffer calls
2023-10-23 15:08:56 +01:00
liamwhite
97c9b2eda6
Merge pull request #11349 from vonchenplus/buffer_cache_crash
...
video_core: Fix moltenvk crash on macos
2023-10-17 11:48:44 -04:00
Kelebek1
294ffa29cc
Mark a buffer GPU modified after the buffers are confirmed, do not double synch them
2023-10-05 00:19:11 +01:00
Fernando Sahmkow
93cd3d8efd
Query Cache: address issues
2023-09-23 23:05:30 +02:00
Fernando Sahmkow
5ea12207f3
Query Cachge: Fully rework Vulkan's query cache
2023-09-23 23:05:29 +02:00
Fernando Sahmkow
47d921e04d
Buffer Cache: fix discard writes.
2023-08-27 03:45:43 +02:00
Feng Chen
ce0c210173
video_core: set vertex buffer num to 16, because mvk have when using more than 16
2023-08-23 23:22:55 +08:00
GPUCode
7e9f75453f
buffer_cache: Increase number of texture buffers
2023-07-15 23:09:58 +03:00
Kelebek1
42638691b5
Use spans over guest memory where possible instead of copying data.
2023-07-02 23:09:48 +01:00
Fernando Sahmkow
4f68a8f45a
Memory Tracking: Optimize tracking to only use atomic writes when contested with the host GPU
2023-06-28 21:32:45 +02:00
Fernando Sahmkow
7ae0cdbb09
MemoryTracking: Initial setup of atomic writes.
2023-06-28 19:34:21 +02:00
Kelebek1
c7430e51e3
Remove memory allocations in some hot paths
2023-06-22 08:05:10 +01:00
Kelebek1
547e837f78
Synchronize vertex buffer even when it doesn't require binding
2023-06-17 17:47:00 -04:00
Morph
9da90de908
buffer_cache_base: Specify buffer type in HostBindings
...
Avoid reinterpret-casting from void pointer since the type is already known at compile time.
2023-06-13 00:59:42 -04:00
Kelebek1
ac23abacac
Combine vertex/transform feedback buffer binding into a single call
2023-06-08 12:13:27 +01:00