1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:28:12 +00:00
serenity/Userland/Libraries/LibC
Tom fdae117600 WindowServer: Implement support for combined buffer flipping + flushing
Some devices may require DMA transfers to flush the updated buffer
areas prior to flipping. For those devices we track the areas that
require flushing prior to the next flip. For devices that do not
support flipping, but require flushing, we'll simply flush after
updating the front buffer.

This also adds a small optimization that skips these steps entirely for
a screen that doesn't have any updates that need to be rendered.
2021-07-04 23:59:17 +02:00
..
arch Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
arpa Userland: Treat inet_pton returning 0 as an error 2021-05-27 22:56:21 +02:00
bits LibC: Move the __pthread_mutex_trylock function to LibC 2021-04-25 10:14:50 +02:00
net LibC: Add definitions/stubs for IPv6 functionality 2021-05-09 21:16:11 +02:00
netinet LibC: Add definitions/stubs for IPv6 functionality 2021-05-09 21:16:11 +02:00
sys WindowServer: Implement support for combined buffer flipping + flushing 2021-07-04 23:59:17 +02:00
alloca.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
assert.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
assert.h LibC: Don't use C++ attribute syntax in C-visible headers 2021-07-03 01:56:31 +04:30
byteswap.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
CMakeLists.txt LibC: Add stubs for wctype and iswctype 2021-05-30 14:56:50 +01:00
crt0.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
crt0_shared.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
crti.S Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
crtn.S Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ctype.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ctype.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
cxxabi.cpp LibC: Don't use C++ attribute syntax in C-visible headers 2021-07-03 01:56:31 +04:30
dirent.cpp LibC: Fix struct layout for sys_dirent on x86_64 2021-06-29 20:03:36 +02:00
dirent.h LibC: Implement scandir(...) to enumerate directories. 2021-05-02 13:33:41 +02:00
dlfcn.cpp LibC+LibELF: Implement dladdr() 2021-06-06 22:16:11 +02:00
elf.h LibELF: Add stub for R_X86_64_TPOFF64 2021-06-29 20:03:36 +02:00
endian.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
errno.h LibC: Don't clear errno on success 2021-05-30 19:37:32 +02:00
errno_numbers.h LibC: Add definition for EDQUOT 2021-05-08 18:11:52 +02:00
fcntl.cpp Userland+LibCore: Update FileWatcher + its users for InodeWatcher 2.0 2021-05-12 22:38:20 +02:00
fcntl.h Kernel+LibC: Add fstatat 2021-05-14 23:32:10 +02:00
fd_set.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
fenv.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
fenv.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
float.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
getopt.cpp LibC: Make getopt modify argv again 2021-06-13 17:05:03 +01:00
getopt.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
grp.cpp LibC: Replace fprintf(stderr) with warnln() 2021-05-31 17:43:54 +01:00
grp.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
iconv.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
inttypes.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
inttypes.h LibC: Add definition for PRIuPTR 2021-06-18 16:35:15 +02:00
ioctl.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
libcinit.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
libgen.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
libgen.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
limits.h Userland: Move HOST_NAME_MAX to limits.h 2021-04-27 23:06:16 +02:00
link.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
link.h LibELF+LibC: Support building LibELF for 64-bit targets 2021-05-03 08:42:39 +02:00
locale.cpp LibC: Let setlocale() pretend that setting the locale succeeded 2021-06-05 10:56:37 +02:00
locale.h LibC: Add definition for LC_MESSAGES 2021-05-08 19:14:21 +02:00
malloc.cpp Everywhere: Fix some alignment issues 2021-07-03 01:56:31 +04:30
mallocdefs.h LibC: Expose PAGE_ROUND_UP in mallocdefs.h 2021-06-12 22:50:40 +04:30
memory.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
mntent.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
mntent.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
net.cpp LibC: Add definitions/stubs for IPv6 functionality 2021-05-09 21:16:11 +02:00
netdb.cpp LibC: Replace fprintf(stderr) with warnln() 2021-05-31 17:43:54 +01:00
netdb.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
paths.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
poll.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
poll.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
pthread_forward.cpp LibC+AK: Remove our custom macros from <assert.h> 2021-06-08 17:29:57 +02:00
pthread_integration.cpp LibC: Use memory_order_acquire instead of memory_order_acq_rel 2021-06-02 18:09:32 +02:00
pthread_tls.cpp Toolchain+Userland: Enable TLS for x86_64 2021-07-04 01:07:28 +02:00
pty.cpp LibC: openpty error handling update 2021-05-30 08:41:17 +02:00
pty.h LibC: Remove 'int* aslave' parameter from forkpty() 2021-05-06 13:52:46 +01:00
pwd.cpp LibC: Do not include errno.h inside unistd.h 2021-05-14 22:24:02 +02:00
pwd.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
qsort.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
regex.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
scanf.cpp LibC: Convert LengthModifier & ConversionSpecifier to enum classes 2021-07-04 20:08:28 +01:00
sched.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
sched.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
serenity.cpp Kernel+LibC: Add support for filtering profiling events 2021-05-19 22:51:42 +02:00
serenity.h Kernel: Generate page fault events from the kernel profiler 2021-05-19 22:51:42 +02:00
setjmp.h LibC: Fix jmp_buf layout on x86_64 2021-07-01 12:05:59 +02:00
shadow.cpp LibC: Allow empty spwd members when writing shadow entries via putspent 2021-05-30 17:42:03 +01:00
shadow.h LibCore: Fix building the library on macOS 2021-05-01 15:56:16 +02:00
signal.cpp LibC: Add stub implementation for sigsuspend 2021-06-09 19:41:23 +01:00
signal.h LibC: Fix typo in signal.h: ol_dset -> old_set 2021-04-26 11:27:13 +02:00
signal_numbers.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
spawn.cpp LibC: Do not include errno.h inside unistd.h 2021-05-14 22:24:02 +02:00
spawn.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ssp.cpp LibC: Don't use C++ attribute syntax in C-visible headers 2021-07-03 01:56:31 +04:30
stat.cpp Kernel+LibC: Add fstatat 2021-05-14 23:32:10 +02:00
stdarg.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
stddef.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
stdint.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
stdio.cpp Everywhere: Fix some alignment issues 2021-07-03 01:56:31 +04:30
stdio.h LibC: Add P_tmpdir macro 2021-06-21 12:21:03 +02:00
stdio_ext.h LibC: Implement __fpurge 2021-05-30 14:56:50 +01:00
stdlib.cpp LibC: Implement mblen() 2021-06-04 10:39:41 +02:00
stdlib.h LibC: Implement mblen() 2021-06-04 10:39:41 +02:00
string.cpp LibC: Implement memcpy and memset for x86_64 2021-06-28 22:29:28 +02:00
string.h LibC: Implement strerror_r() 2021-05-25 17:36:02 +02:00
strings.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
strings.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
stubs.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
sysexits.h LibC: Use EX_IOERR instead of EX_IOER 2021-06-10 20:21:08 +01:00
syslog.cpp LibC: Convert StringBuilder::appendf() => AK::Format 2021-05-07 21:12:09 +02:00
syslog.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
termcap.cpp LibC: Make tgetnum() return -1 if capability is not available 2021-06-09 19:41:23 +01:00
termcap.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
termios.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
termios.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
time.cpp Revert "Userland: static vs non-static constexpr variables" 2021-05-21 10:30:52 +01:00
time.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
times.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ulimit.cpp LibC: Add stubs for getrlimit()/setrlimit() 2021-05-08 19:14:21 +02:00
ulimit.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
unistd.cpp LibC: Implement execle() 2021-06-04 10:39:41 +02:00
unistd.h LibC: Implement execle() 2021-06-04 10:39:41 +02:00
utime.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
utime.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
utmp.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
utsname.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
wchar.cpp LibC: Stub out btowc 2021-05-30 14:56:50 +01:00
wchar.h LibC: Add stubs for wctype and iswctype 2021-05-30 14:56:50 +01:00
wctype.cpp LibC: Add stubs for wctype and iswctype 2021-05-30 14:56:50 +01:00
wctype.h LibC: Add stubs for wctype and iswctype 2021-05-30 14:56:50 +01:00