lizzie
f55e560ac5
[compat] Debian stable gcc12/clang14 compilation fixes ( #2763 )
...
Mainly because - while we can just give out an AppImage and call it a day - building natively should be an option for all major distros.
And "base" stable debian doesn't provide a new enough g++/clang++ so... we need to make some "fixups".
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2763
Reviewed-by: crueter <crueter@eden-emu.dev >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-10-18 01:54:43 +02:00
Gamer64
4b558e5303
[hw_composer]: Add some enhancements to improve its performance and logic ( #225 )
...
These changes should mostly improve the performance for most of games and reduce reallocations from framebuffer releases.
Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/225
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Co-authored-by: Gamer64 <gamer64@eden-emu.dev >
Co-committed-by: Gamer64 <gamer64@eden-emu.dev >
2025-09-20 17:54:14 +02:00
SDK-Chan
3ca0bde0e9
[core/nvnflinger] Rewrite GetBufferHistory ( #528 )
...
This rewrite should improve performance with the buffer history by changing the complexity level to O(1).
Replace std::vector with std::array to ensure that elements are allocated on the stack rather than on the free store.
Avoid expensive resizing at runtime.
Adjust buffer states at the right locations.
Tightly pack the BufferHistoryInfo struct to ensure that it only occupies 28 bytes.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/528
Co-authored-by: SDK-Chan <sdkchan@eden-emu.dev >
Co-committed-by: SDK-Chan <sdkchan@eden-emu.dev >
2025-09-16 19:41:52 +02:00
Caio Oliveira
2502352180
[core, desktop] "fixes" from building on mxe/x86_64-w64-mingw32 ( #396 )
...
* well, i couldn't build the executable, but in anyway those build
errors can come back later to bite our backs
* include missing include
* safeguard _MSC_VER only headers
* saw some of those changes on another PR but I cant find it at moment
Signed-off-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/396
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Co-committed-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
2025-09-10 02:22:07 +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
ff44444bda
[nvnflinger] add include log header to fix freebsd compile ( #159 )
...
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/159
Co-authored-by: Maufeat <maufeat@eden-emu.dev >
Co-committed-by: Maufeat <maufeat@eden-emu.dev >
2025-07-30 12:47:23 +02:00
Maufeat
e4953d5866
[vk, nvnflinger] Fix RDNA3 gloom + purple lines & reapply adjustrefcount unstubb ( #152 )
...
title. **NEVER** touch application_info in vk again, except if you want to break RDNA3 rendering
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/152
Co-authored-by: Maufeat <maufeat@eden-emu.dev >
Co-committed-by: Maufeat <maufeat@eden-emu.dev >
2025-07-30 07:24:25 +02:00
crueter
12d8cf79ea
Revert "[nvnflinger] unstub AdjustRefcount ( #120 )"
...
This reverts commit 410e782291 .
2025-07-26 20:20:03 -04:00
Maufeat
410e782291
[nvnflinger] unstub AdjustRefcount ( #120 )
...
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/120
Co-authored-by: Maufeat <maufeat@eden-emu.dev >
Co-committed-by: Maufeat <maufeat@eden-emu.dev >
2025-07-25 19:58:35 +02:00
Maufeat
be97bf3c1b
[nvnflinger] add GetBufferHistory from sudachi ( #82 )
...
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Co-authored-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/82
This commit adds a working implementation of the `GetBufferHistory` transaction in `BufferQueueProducer`, removing the previous stub.
Adapted by Jarrod Norwell for Sudachi, this implementation references the behavior in Ryujinx; commit rescued by Maufeat and another Eden teammate from Sudachi's reference, fixed and adapted for Eden usage.
It helps improve compatibility with Unreal Engine 4 titles and others that depend on proper surface history tracking for rendering pipelines, especially with regard to lighting, bloom, and alpha transitions.
Functionality has been tested for stability and does not introduce regressions, though further validation is recommended.
Co-authored-by: Maufeat <maufeat@eden-emu.dev >
Co-committed-by: Maufeat <maufeat@eden-emu.dev >
2025-07-21 07:16:26 +02:00
Liam
6fabb06764
nvnflinger/vi: don't recreate buffer queue on open/close
2024-02-19 23:59:35 -05:00
Liam
d082a80d79
nvnflinger: check for layers before compose
2024-02-18 11:25:52 -05:00
Liam
f5d736af4b
vi: manage resources independently of nvnflinger and refactor
2024-02-17 18:08:38 -05:00
Liam
e34074861c
vi: move shared buffer management from nvnflinger
2024-02-17 18:01:41 -05:00
Liam
b1f1beae41
nvnflinger: convert to process
2024-02-17 18:01:41 -05:00
Liam
33daf4463b
vi: rewrite IHOSBinderDriver
2024-02-14 12:03:32 -05:00
Liam
ce72818075
nvnflinger/gpu: implement applet capture
2024-02-09 09:20:53 -05:00
Liam
1c32e4157c
nvnflinger/gpu: implement blending
2024-02-09 09:20:53 -05:00
Liam
d52e9b0f82
nvnflinger: release buffers before presentation sleep
2024-02-03 17:14:43 -05:00
Liam
7aed3eb94b
hardware_composer: implement speed limit extensions
2024-01-31 11:27:21 -05:00
Liam
5ec76db392
nvnflinger/gpu: implement layer stack composition
2024-01-31 11:27:21 -05:00
Liam
7df27bbef6
core: support offline web applet
2024-01-29 20:17:33 -05:00
Liam
9bfb67051e
am: add new datatypes for per-applet state
2024-01-29 18:43:45 -05:00
liamwhite
5a6b3a0125
Merge pull request #12579 from FernandoS27/smmu
...
Core: Implement Device Mapping & GPU SMMU
2024-01-22 10:55:39 -05:00
Liam
bf2dab5b2b
nvdrv: use static typing for SessionId, smmu Asid types
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
aaf5f8c831
SMMU: Fix software rendering and cleanup
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
Liam
c6dc206cd6
vi: check layer state before opening or closing
2024-01-17 22:03:40 -05:00
Liam
5f9a3c23db
nvnflinger: ensure display abandonment considers all layers and future layers
2024-01-17 18:45:39 -05:00
Liam
1d7fb4cffb
vi: connect vsync event handle lifetime to application display service interface
2024-01-07 21:47:41 -05:00
Liam
b9545c5a0e
core_timing: remove user data value
2023-12-23 15:36:44 -05:00
Fernando S
23ce66de64
Merge pull request #12304 from liamwhite/flinger-wtf
...
nvnflinger: mark buffer as acquired when acquired
2023-12-19 16:12:56 +01:00
Liam
e6973a159d
nvnflinger: mark buffer as acquired when acquired
2023-12-16 13:40:04 -05:00
Liam
ccef7d7326
vi: fix confusion between closing and destroying layers
2023-12-12 12:14:23 -05:00
Liam
ca5bda4ce9
fbshare: set external format correctly
2023-12-09 14:51:15 -05:00
liamwhite
8a84cfff20
Merge pull request #11912 from liamwhite/nv-graphic-buffer
...
nvnflinger: use graphic buffer lifetime for map handle
2023-11-17 20:41:34 -05:00
liamwhite
1096b8a8c0
Merge pull request #11917 from liamwhite/abandonment
...
nvnflinger: implement consumer abandonment
2023-11-17 20:41:23 -05:00
liamwhite
694cbdefec
Merge pull request #11896 from liamwhite/crop
...
renderer_vulkan: fix cropping for presentation
2023-11-06 12:08:03 -05:00
liamwhite
c2b363e9b5
Merge pull request #11873 from liamwhite/buffer-control
...
nvdrv: add ioctl command serialization wrapper
2023-11-06 12:07:50 -05:00
Liam
bf43b80a2b
nvnflinger: implement consumer abandonment
2023-10-29 23:38:24 -04:00
Liam
2e8b7e4a40
nvnflinger: use graphic buffer lifetime for map handle
2023-10-29 22:12:16 -04:00
liamwhite
72202eb15f
Merge pull request #11843 from liamwhite/sync-process
...
kernel: update KProcess
2023-10-29 11:24:52 -04:00
liamwhite
56341c3b8d
Merge pull request #11827 from liamwhite/preallocated
...
nvnflinger: fix reporting and freeing of preallocated buffers
2023-10-29 11:24:44 -04:00
Liam
00d53a6ca9
renderer_vulkan: fix cropping for presentation
2023-10-28 00:05:06 -04:00
Liam
a059aedaf1
nvdrv: convert nvmap
2023-10-25 13:05:56 -04:00
Liam
62e106dbe8
kernel: update KProcess
2023-10-21 20:03:41 -04:00
Liam
e95745685a
nvnflinger: fix reporting and freeing of preallocated buffers
...
Co-authored-by: Kelebek1 <eeeedddccc@hotmail.co.uk >
2023-10-20 10:17:32 -04:00
Liam
144ae38fb3
kernel: split Io memory state, add PermissionLocked attribute
2023-10-20 02:34:15 -04:00