eden-miror/src/core/hle/service/nvnflinger
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
..
ui SMMU: Fix software rendering and cleanup 2024-01-18 21:12:30 -05:00
binder.h vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
buffer_item.h hardware_composer: implement speed limit extensions 2024-01-31 11:27:21 -05:00
buffer_item_consumer.cpp vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
buffer_item_consumer.h vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
buffer_queue_consumer.cpp [nvnflinger] add GetBufferHistory from sudachi (#82) 2025-07-21 07:16:26 +02:00
buffer_queue_consumer.h vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
buffer_queue_core.cpp [nvnflinger] add GetBufferHistory from sudachi (#82) 2025-07-21 07:16:26 +02:00
buffer_queue_core.h [nvnflinger] add GetBufferHistory from sudachi (#82) 2025-07-21 07:16:26 +02:00
buffer_queue_defs.h nvnflinger: fix name 2023-03-01 10:39:49 -05:00
buffer_queue_producer.cpp [nvnflinger] add GetBufferHistory from sudachi (#82) 2025-07-21 07:16:26 +02:00
buffer_queue_producer.h [nvnflinger] add GetBufferHistory from sudachi (#82) 2025-07-21 07:16:26 +02:00
buffer_slot.h [nvnflinger] add GetBufferHistory from sudachi (#82) 2025-07-21 07:16:26 +02:00
buffer_transform_flags.h renderer_vulkan: fix cropping for presentation 2023-10-28 00:05:06 -04:00
consumer_base.cpp vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
consumer_base.h vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
consumer_listener.h nvnflinger: fix name 2023-03-01 10:39:49 -05:00
display.h nvnflinger/vi: don't recreate buffer queue on open/close 2024-02-19 23:59:35 -05:00
graphic_buffer_producer.cpp nvnflinger: fix name 2023-03-01 10:39:49 -05:00
graphic_buffer_producer.h service: nvnflinger: Implement shared buffer 2023-10-01 11:38:30 -06:00
hardware_composer.cpp nvnflinger/vi: don't recreate buffer queue on open/close 2024-02-19 23:59:35 -05:00
hardware_composer.h vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
hos_binder_driver.cpp vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
hos_binder_driver.h vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
hos_binder_driver_server.cpp vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
hos_binder_driver_server.h vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
hwc_layer.h nvnflinger/gpu: implement blending 2024-02-09 09:20:53 -05:00
nvnflinger.cpp vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
nvnflinger.h vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
parcel.h parcel: Optimize small_vector sizes 2023-06-30 22:05:28 -04:00
pixel_format.h nvnflinger: fix name 2023-03-01 10:39:49 -05:00
producer_listener.h nvnflinger: fix name 2023-03-01 10:39:49 -05:00
status.h nvnflinger: use graphic buffer lifetime for map handle 2023-10-29 22:12:16 -04:00
surface_flinger.cpp nvnflinger/vi: don't recreate buffer queue on open/close 2024-02-19 23:59:35 -05:00
surface_flinger.h nvnflinger/vi: don't recreate buffer queue on open/close 2024-02-19 23:59:35 -05:00
window.h nvnflinger: add missing scale mode 2023-08-13 13:57:02 -04:00