weston/shared
Emmanuel Gil Peyrot e13c99690b libweston: Optimise matrix multiplication
The previous version used div() to separate the column and row of the
current element, but that function is implemented as a libc call, which
prevented the compiler from vectorising the loop and made matrix
multiplication appear quite high in profiles.

With div() removed, we are down from 64 calls to vfmadd132ss acting on
one float at a time, to just 8 calls to vfmadd132ps when compiled with
AVX2 support (or 16 mulps, 16 addps with SSE2 support only), and the
function isn’t a hot spot any more.

Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
2023-01-11 20:03:36 +00:00
..
cairo-util.c shared/cairo-util: Release any fontmap laying around 2022-11-10 11:07:12 +02:00
cairo-util.h shared/cairo-util: Re-use the PangoContext for layout creation 2022-11-10 11:07:12 +02:00
config-parser.c doc/sphinx: Include weston-config and shell-utils in docs 2023-01-09 22:13:07 +00:00
fd-util.h
file-util.c
file-util.h
frame.c shared/frame: Provide a function to get decoration sizes and use it 2022-06-22 12:04:06 -05:00
helpers.h build: Add unreachable() 2023-01-10 10:59:04 +02:00
image-loader.c
image-loader.h
matrix.c libweston: Optimise matrix multiplication 2023-01-11 20:03:36 +00:00
meson.build libweston, shared: Move out weston_shell_get_binding_modifier 2023-01-09 22:13:07 +00:00
option-parser.c
os-compatibility.c shared: introduce os_fd_clear_cloexec() 2022-07-12 08:30:22 +00:00
os-compatibility.h shared: introduce os_fd_clear_cloexec() 2022-07-12 08:30:22 +00:00
platform.h
process-util.c custom-env: Add helper to parse combined env/arg strings 2022-07-19 14:12:37 +00:00
process-util.h custom-env: Add helper to parse combined env/arg strings 2022-07-19 14:12:37 +00:00
signal.c libweston: Introduce a safer wayland signal emission 2021-12-14 17:55:06 +00:00
signal.h libweston: Introduce a safer wayland signal emission 2021-12-14 17:55:06 +00:00
string-helpers.h gl_renderer: print more GL ES feature flags 2022-05-18 14:18:53 +03:00
timespec-util.h helpers: Add a u64 from 2 u32 helper 2022-10-27 08:13:30 +00:00
weston-drm-fourcc.h gl-renderer: add support for (a|x)bgr16161616 shm formats 2022-02-02 11:58:58 +00:00
weston-egl-ext.h
xalloc.h compositor/shared: Suppress write(2) warnings 2022-09-23 11:32:19 +00:00
xcb-xwayland.c xwm: Perform a roundtrip to send a deferred WM_TAKE_FOCUS 2022-08-08 12:43:34 +00:00
xcb-xwayland.h xwm: Perform a roundtrip to send a deferred WM_TAKE_FOCUS 2022-08-08 12:43:34 +00:00