xserver/glamor
Olivier Fourdan e0bb4a1ec7 glamor: check max native ALU instructions
When using glamor (either in Xephyr or Xwayland) on hardware with too
low instructions limit, glamor fallbacks to sw due to large shaders.

This makes glamor unbearably slow on such hardware.

Check reported value for GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB
and fail in glamor_init() if the limit is lower than 128.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=88316
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 4218a1e066)
2015-06-03 09:05:36 -04:00
..
glamor.c glamor: check max native ALU instructions 2015-06-03 09:05:36 -04:00
glamor.h glamor: Add an accessor for the GBM device. 2014-12-11 11:26:19 -08:00
glamor_addtraps.c glamor: Rely on nested mappings to handle src==dst and !prepare bugs. 2014-03-17 14:30:56 -07:00
glamor_compositerects.c glamor: Remove an extra copy of RegionNil(). 2014-01-27 09:30:47 -08:00
glamor_context.h glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_copy.c mi: Drop plane argument from miHandleExposures 2014-10-09 11:14:53 +02:00
glamor_core.c glamor: Remove stubbed-out glamor_stipple function 2014-06-15 23:17:59 +01:00
glamor_dash.c glamor: Add glamor_program based 0-width dashed lines 2014-06-15 22:02:41 +01:00
glamor_debug.h glamor: Apply x-indent.sh. 2014-01-27 09:30:47 -08:00
glamor_egl.c glamor: Add an accessor for the GBM device. 2014-12-11 11:26:19 -08:00
glamor_egl_stubs.c glamor: Always destroy EGL image associated with destroyed pixmap 2014-12-09 08:46:45 -08:00
glamor_eglmodule.c Fix files including xorg-server.h by mistake 2014-07-30 12:17:27 -07:00
glamor_fbo.c glamor: GL_TEXTURE_MAX_LEVEL is not available on GLES2 2015-06-03 09:05:36 -04:00
glamor_font.c glamor: GL_TEXTURE_MAX_LEVEL is not available on GLES2 2015-06-03 09:05:36 -04:00
glamor_font.h glamor: Add glamor_program based poly_text and image_text 2014-04-03 13:07:52 -07:00
glamor_glx.c glamor: Do the same MakeCurrent(None) for GLX as we do for EGL. 2014-04-23 10:32:32 -07:00
glamor_glyphblt.c glamor: Use glamor_program for glamor_push_pixels 2014-06-15 22:02:41 +01:00
glamor_glyphs.c glamor: Make glyph mask cache per-screen 2014-09-11 18:31:11 -07:00
glamor_gradient.c glamor: Remove always-true yInverted flag. 2014-07-17 17:35:38 -07:00
glamor_image.c glamor: Don't leak a prepare_access_gc() in putimage fallbacks. 2014-06-12 21:53:59 -07:00
glamor_largepixmap.c glamor: Check large pixmap users in glamor_largepixmap.c 2014-09-18 15:53:36 -07:00
glamor_lines.c glamor: Add glamor_program based 0-width dashed lines 2014-06-15 22:02:41 +01:00
glamor_picture.c Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
glamor_pixmap.c glamor: GL_TEXTURE_MAX_LEVEL is not available on GLES2 2015-06-03 09:05:36 -04:00
glamor_points.c glamor: Drop the "are we doing a series of blits or draws" logic. 2014-07-17 17:35:48 -07:00
glamor_prepare.c glamor: Use GL_STREAM_READ also for read/write access to a PBO 2014-09-29 13:17:57 -07:00
glamor_prepare.h glamor: Replace fallback preparation code 2014-06-15 22:02:40 +01:00
glamor_priv.h glamor: check max native ALU instructions 2015-06-03 09:05:36 -04:00
glamor_program.c glamor: do not check for gl errors in glamor_build_program 2015-06-03 09:05:36 -04:00
glamor_program.h glamor: Add glamor_program based 0-width dashed lines 2014-06-15 22:02:41 +01:00
glamor_rects.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_render.c Merge remote-tracking branch 'origin/master' into glamor-next 2014-07-17 18:07:26 -07:00
glamor_segs.c glamor: Add glamor_program based 0-width dashed lines 2014-06-15 22:02:41 +01:00
glamor_spans.c glamor: Use GL_FRAMEBUFFER instead of GL_READ_FRAMEBUFFER 2015-06-03 09:05:36 -04:00
glamor_sync.c glamor: sync_fence_set_triggered should use glFlush, not glFinish 2014-07-19 12:25:24 -07:00
glamor_text.c glamor: Drop the "are we doing a series of blits or draws" logic. 2014-07-17 17:35:48 -07:00
glamor_transfer.c glamor: Use GL_FRAMEBUFFER instead of GL_READ_FRAMEBUFFER 2015-06-03 09:05:36 -04:00
glamor_transfer.h glamor: Add simple upload/download functions in glamor_transfer 2014-04-03 13:07:51 -07:00
glamor_transform.c glamor: Add accelerated stipple support 2014-06-15 23:17:56 +01:00
glamor_transform.h glamor: Add infrastructure for generating shaders on the fly 2014-03-26 12:58:40 -07:00
glamor_trapezoid.c glamor: Remove shader-based trapezoid implementation. Fixes Bug 76213. 2014-09-18 15:53:39 -07:00
glamor_triangles.c glamor: Rely on nested mappings to handle src==dst and !prepare bugs. 2014-03-17 14:30:56 -07:00
glamor_utils.c glamor: Drop constant arguments to glamor_solid(). 2014-07-17 17:34:29 -07:00
glamor_utils.h glamor: Remove always-true yInverted flag. 2014-07-17 17:35:38 -07:00
glamor_vbo.c glamor: Fix GLES2 non-VBO temporary memory allocation. 2014-06-23 14:51:56 -07:00
glamor_window.c glamor: Apply x-indent.sh. 2014-01-27 09:30:47 -08:00
glamor_xv.c glamor: Fix nlines in glamor_xv_put_image when src_y is odd 2014-12-28 15:12:33 -08:00
Makefile.am glamor: Add support for SHM sync fences 2014-07-18 12:22:50 -07:00