Commit Graph
16 Commits
Author SHA1 Message Date
15becaa5a3 [Audio] Tighten sink queue back pressure (#2840)
Co-authored-by: Ribbit <[email protected]>
Co-authored-by: MaranBr <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2840
Reviewed-by: MaranBr <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-28 04:26:58 +01:00
RibbitandRibbit 3d4bb08cfc Revert "[Shader Recompiler] Caching optimization for Texture_Pass (#481)" (#2859)
This commit has some bugs that causes FPS drops, and crashes after playing for more than 1hr+.

Needs to be reworked and further tested.

Co-authored-by: Ribbit <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2859
Reviewed-by: MaranBr <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-28 04:26:45 +01:00
RibbitandRibbit dc907616a9 [Android] Fix Amiibo bug (#2847)
Co-authored-by: Ribbit <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2847
Reviewed-by: crueter <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-27 04:52:08 +01:00
RibbitandRibbit 683c2834aa [Android] Finally add Amiibo load support to Android (#2845)
Co-authored-by: Ribbit <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2845
Reviewed-by: crueter <[email protected]>
Reviewed-by: Maufeat <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-26 22:33:18 +01:00
RibbitandRibbit 6ba25b6cc0 [vk] Correct polygon draw topology mapping for line and point modes (#2834)
Co-authored-by: Ribbit <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2834
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: crueter <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-26 01:38:08 +02:00
RibbitandRibbit e367bdf3cc [maxwell] SURED 4 handling (#2769)
Co-authored-by: Ribbit <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2769
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: MaranBr <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-20 17:08:25 +02:00
RibbitandRibbit bfc10723bc Revert "[vk] Tighten queue wait stages (#2734)" (#2751)
Proprietary Qualcomm drivers will not like this change after further research.

Co-authored-by: Ribbit <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2751
Reviewed-by: CamilleLaVey <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-16 06:48:17 +02:00
RibbitandRibbit 30482692c7 Revert "[vk] Fix Vulkan Upload & Present Barriers for Spec Compliance (#2681)" (#2748)
Vulkan layout and barrier edits made the GPU use a different shader path that compiled a TLDS instruction with an unaligned register (R157).

The old path never generated that case, so the translator’s missing unaligned-register handling only surfaced after this change.

Co-authored-by: Ribbit <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2748
Reviewed-by: MaranBr <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-16 03:33:24 +02:00
RibbitandRibbit f273ac446b [vk] Tighten queue wait stages (#2734)
Wait only at the transfer and color stages instead of every stage. That keeps things in sync without stalling the whole GPU.

This should work according to spec, just need to test and verify no regressions across all platforms (Windows, Linux, Android, Mac OS)

Can be 0.0.4 or 0.0.5 up to the team.

Co-authored-by: Ribbit <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2734
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: Shinmegumi <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-15 22:12:25 +02:00
RibbitandRibbit b389a72697 [vk] Initial Qualcomm proprietary driver fixes (#2732)
Co-authored-by: Ribbit <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2732
Reviewed-by: Shinmegumi <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-14 19:14:35 +02:00
RibbitandRibbit 8078990b9b [vk] Fast UBO: fix tracking, resize heuristics, add debug guard (#2695)
Co-authored-by: Ribbit <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2695
Reviewed-by: CamilleLaVey <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-08 05:39:08 +02:00
RibbitandRibbit db65f10768 [vk] Unify RAII in Vulkan (#2679)
This PR consolidates Vulkan RAII on video_core/vulkan_common/vulkan_wrapper.h’s vk::Handle and remove the unused duplicate src/video_core/vulkan_common/vulkan_raii.h, reducing confusion and maintenance. Swapchain now uses RAII‑managed per‑image semaphores and clears them in Destroy(), providing correct present synchronization and automatic cleanup. Expected result: simpler lifetimes, fewer leak risks, and more stable presentation with negligible overhead.

Co-authored-by: Ribbit <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2679
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: CamilleLaVey <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-08 04:01:24 +02:00
RibbitandRibbit 62369aa2d5 [vk] StreamBuffer Changes (#2684)
Tighter ring allocation + sync tracking with correct wrap/no-wrap, alignment, and per-range sync_ticks; update head/tail only when needed (wrap to 0 if tail won’t fit).

Adds safer sizing under debug tools by preferring device-local host-visible heaps with fallback.

Expected result: fewer stalls, steadier reuse, higher upload throughput.

Co-authored-by: Ribbit <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2684
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: CamilleLaVey <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-07 03:26:54 +02:00
RibbitandRibbit 5d4cfe195b [vk] Fix Vulkan Upload & Present Barriers for Spec Compliance (#2681)
The barrier before the CPU-upload copy was using VK_PIPELINE_STAGE_HOST_BIT. Validation rules only allow HOST as the source stage if you’re also specifying host-side access flags; inside a command buffer the GPU isn’t executing “host work,” so pairing that stage with the usual image layout transition is technically invalid.

Switching the source stage to VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT keeps the ordering guarantee we need and satisfies the spec, while the actual host visibility is still handled correctly by the preceding vmaFlushAllocation.

Co-authored-by: Ribbit <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2681
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: Shinmegumi <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-06 17:39:32 +02:00
RibbitandRibbit 268918aece [vk] Implement Shader Read Barrier (#2671)
Adding the shader read barrier keeps every render/compute/transfer write visible before the image is sampled, so it prevents the “read-before-writes-finish” hazards. Without it you can get random stale frames, flickering post process passes, partially updated HUD textures, and corrupted depth-to-color conversions especially in scenes that render into an offscreen image and immediately feed that image to a shader (reflections, bloom, dynamic resolution, depth visualizers, etc.). This fix makes those R2T chains deterministic again across all Vulkan drivers.

Co-authored-by: Ribbit <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2671
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: crueter <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-04 23:58:08 +02:00
RibbitandRibbit 990a43a48c [vk] Add missing flush per spec (#2624)
We copy pixels into a CPU-side staging buffer and then ask the GPU to read from it. On some systems those CPU writes aren’t automatically visible to the GPU unless explicitly flushed, so the GPU can sometimes read stale data. By calling buffer.Flush() immediately after writing, we force those CPU changes to become visible to the device, ensuring the GPU sees the latest frame. However, this is an emulator, so sometimes what spec says may not work cause reasons.

Co-authored-by: Ribbit <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2624
Reviewed-by: Shinmegumi <[email protected]>
Reviewed-by: MaranBr <[email protected]>
Co-authored-by: Ribbit <[email protected]>
Co-committed-by: Ribbit <[email protected]>
2025-10-02 20:00:34 +02:00