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 libweston: Support zwp_surface_synchronization_v1.set_acquire_fence 2019-02-06 12:21:56 +00:00
file-util.c clients: Fix/resolved doxygen warnings 2019-06-25 14:05:54 +00:00
file-util.h file-util: allow specifying path separately in file_create_dated() 2018-02-09 15:16:07 +00:00
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: Fix undefined left shift in premultiply_data 2019-10-16 16:06:06 -04:00
image-loader.h shared: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-15 13:04:18 -07:00
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 option-parser: Make bools boolean 2019-11-28 19:24:13 +00:00
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 Fix indentation all through the project 2021-07-31 15:28:20 +00:00
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 gl-renderer: query DRM device given an EGLDisplay 2021-11-25 10:47:39 -03:00
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