1
0
Fork 0
mutter-performance-source/cogl
Pekka Paalanen 6502735f01 cogl: Remove mesa_46631_slow_read_pixels_workaround
This function gets hit even today on relatively modern Intel systems (I
have a Haswell Desktop with Mesa 18.2.4) if the pixel format is right.
Presumably it makes things slower for no longer a reason.

According to cb146dc515, this
functionality was refactored into a workaround path in 2012. The commit
message mentions the problem existing before Mesa 8.0.2. The number
refers to https://bugs.freedesktop.org/show_bug.cgi?id=46631 .

The use case where I hit this is when improving support for DisplayLink
video outputs. These are used through a "secondary GPU", and since
DisplayLink does not have a GPU, Mutter uses the CPU copy path with Cogl
read-pixels[1]. If the DisplayLink framebuffer was allocated as
DRM_FORMAT_XRGB8888 (the only format it currently handles correctly),
mesa_46631_slow_read_pixels_workaround would get hit. The render buffer is
the same format as the framebuffer, yet doing the copy XRGB -> XRGB ends
up being slower than XRGB -> XBGR which makes no sense.

This patch is not sufficient to fix the XRGB -> XRGB copy performance,
but it is required.

This patch reverts CoglGpuInfoDriverBug into what it was before
cb146dc515.

[1] This is not actually true until
    https://gitlab.gnome.org/GNOME/mutter/merge_requests/278 is
    merged.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/313
2018-12-19 19:21:51 +00:00
..
build/autotools move everything into a cogl/ directory 2016-04-22 16:44:31 +02:00
cogl cogl: Remove mesa_46631_slow_read_pixels_workaround 2018-12-19 19:21:51 +00:00
cogl-gles2 build: Fix include and lib paths in autotools .pc files 2018-11-07 14:29:30 +01:00
cogl-pango cogl: use G_BEGIN_DECLS instead of COGL_BEGIN_DECLS 2018-11-23 08:55:43 +01:00
cogl-path cogl: use G_BEGIN_DECLS instead of COGL_BEGIN_DECLS 2018-11-23 08:55:43 +01:00
test-fixtures Add meson build support 2018-11-06 18:51:44 +01:00
tests tests: Don't show 'core dumped' messages 2018-12-11 12:53:31 -02:00
.gitignore cogl-framebuffer: Remove swap_throttled config 2018-12-06 14:29:34 +00:00
cogl-config.h.meson Add meson build support 2018-11-06 18:51:44 +01:00
cogl-mutter-config.h.in cogl: Make cogl-config.h include check explicit 2018-11-06 17:17:36 +01:00
config-custom.h move everything into a cogl/ directory 2016-04-22 16:44:31 +02:00
configure.ac cogl-framebuffer: Remove swap_throttled config 2018-12-06 14:29:34 +00:00
Makefile.am cogl: Always build CoglPango support 2018-11-06 17:17:36 +01:00
meson.build Add meson build support 2018-11-06 18:51:44 +01:00