genode/repos/os/include
Norman Feske 8082aa980e framebuffer_session: atomic blitting and panning
By enhancing the Framebuffer::Session interface by the new RPC functions
'blit' and 'panning', GUI clients become able to attain tearing-free
output. Two modes of operations are supported.

1. Atomic back-to-front blitting

   GUI clients that partially update their user interface like regular
   application dialogs, can now implement double buffering by placing
   both the back buffer and front buffer within the GUI session's
   framebuffer and configuring a view that shows only the front buffer.
   The 'blit' operation allows the client to atomically flush pixels
   from the back buffer to the front buffer.

2. Atomic buffer flipping

   GUI clients that always update all pixels like a media player or
   a game can now use the 'panning' feature to atomically redirect the
   displayed pixels to a different portion of the GUI session's virtual
   frame buffer. The virtual framebuffer always contains two frames,
   the displayed one and the next one. Once the next frame is complete,
   the client changes the panning position to the portion containing
   the next frame.

Issue #5350
2024-10-08 09:09:23 +02:00
..
audio_in_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
audio_out_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
blit Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
block Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
block_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
capture_session capture_session: capture stop/wakeup protocol 2024-10-08 09:09:22 +02:00
decorator decorator: fix window-stacking glitch 2024-10-07 15:54:59 +02:00
event_session os/include: use C++20 function template syntax 2024-05-29 09:18:12 +02:00
file_system Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
file_system_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
framebuffer_session framebuffer_session: atomic blitting and panning 2024-10-08 09:09:23 +02:00
genode_c_api usb: session renewal & new client API 2024-04-12 12:57:30 +02:00
gpio Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
gpio_session Gpio::Connection accept a session label 2024-08-27 15:24:20 +02:00
gpu gpu/intel: GEN12+ 2022-11-17 08:00:36 +01:00
gpu_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
gui_session gui_session: mark RPC client methods as nodiscard 2024-10-07 15:54:59 +02:00
i2c_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
init Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
input Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
input_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
ldso Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
mixer Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
monitor os/include: use C++20 function template syntax 2024-05-29 09:18:12 +02:00
net nic_router: remove use of exception handling 2024-06-20 12:54:31 +02:00
nic Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
nic_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
nitpicker_gfx Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
os os: remove os/handle_registry.h 2024-08-27 15:29:38 +02:00
packet_stream_rx Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
packet_stream_tx Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
pci os/include: use C++20 function template syntax 2024-05-29 09:18:12 +02:00
pin_control_session os: define CAP_QUOTA as constexpr (C++20) 2023-05-30 12:03:29 +02:00
pin_state_session pin_session: add missing header 2024-07-02 11:59:16 +02:00
platform_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
play_session os: record-and-play session interfaces and mixer 2024-02-28 16:31:45 +01:00
pointer Make util/geometry.h C++20 friendly 2024-06-20 12:54:30 +02:00
ram_fs Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
record_session os: record-and-play session interfaces and mixer 2024-02-28 16:31:45 +01:00
report_rom Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
report_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
rtc_session os: define CAP_QUOTA as constexpr (C++20) 2023-05-30 12:03:29 +02:00
sandbox monitor: apply affinity to monitored children 2023-09-29 12:17:45 +02:00
smbios os/include: use C++20 function template syntax 2024-05-29 09:18:12 +02:00
spec os: limit backtrace to stack of current thread 2024-02-26 08:31:02 +01:00
terminal Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
terminal_session base/signal.h: remove pointers from API 2024-06-20 12:56:19 +02:00
trace Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
uart_session Remove format strings from connection types 2023-03-13 14:32:37 +01:00
uplink_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
usb_session usb: correct order of index, value in Alt_setting 2024-08-27 15:29:37 +02:00
util util/dirty_rect.h: accessor for empty state 2024-10-08 09:09:22 +02:00
vfs Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
virtio Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00