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
Narr the Reg
9567f9aaed
service: nvnflinger: Implement shared buffer
...
Co-authored-by: Liam <byteslice@airmail.cc>
2023-10-01 11:38:30 -06:00
Liam
dedb9a1132
nvnflinger: add missing scale mode
2023-08-13 13:57:02 -04:00
Liam
5f2c56cd15
core: remove ResultVal type
2023-08-08 11:09:37 -04:00
Morph
acfb053333
parcel: Optimize small_vector sizes
2023-06-30 22:05:28 -04:00
liamwhite
fa8419f54e
Merge pull request #10859 from liamwhite/no-more-atomic-wait
...
general: remove atomic signal and wait
2023-06-23 09:27:14 -04:00
Liam
db40a2f430
general: remove atomic signal and wait
2023-06-22 09:25:23 -04:00
Kelebek1
c7430e51e3
Remove memory allocations in some hot paths
2023-06-22 08:05:10 +01:00
bunnei
72a469b967
Merge pull request #10086 from Morph1984/coretiming-ng-1
...
core_timing: Use CNTPCT as the guest CPU tick
2023-06-21 21:12:46 -07:00
Liam
1b33ebdde2
nvnflinger: allow locking framerate during video playback
2023-06-08 01:15:51 -04:00
Morph
fb3bb63880
nvnflinger: Acquire lock prior to signaling the vsync variable
2023-06-07 21:44:42 -04:00