xserver/glamor
Olivier Fourdan 4218a1e066 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>
2015-03-24 12:43:34 -07:00
..
Makefile.am glamor: Add support for SHM sync fences 2014-07-18 12:22:50 -07:00
glamor.c glamor: check max native ALU instructions 2015-03-24 12:43:34 -07:00
glamor.h glamor: Eliminate GLAMOR_TEXTURE_LARGE pixmap type 2015-03-24 12:43:34 -07:00
glamor_addtraps.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_compositerects.c glamor: Create inline tests for small/large pixmaps 2015-03-24 12:35:02 -07: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 glamor: Create inline tests for small/large pixmaps 2015-03-24 12:35:02 -07:00
glamor_core.c glamor: Eliminate separate 'large' pixmap private structure 2015-03-24 12:34:50 -07:00
glamor_dash.c glamor: Eliminate separate 'large' pixmap private structure 2015-03-24 12:34:50 -07:00
glamor_debug.h glamor: Apply x-indent.sh. 2014-01-27 09:30:47 -08:00
glamor_egl.c glamor: Eliminate separate 'large' pixmap private structure 2015-03-24 12:34:50 -07: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: Eliminate GLAMOR_TEXTURE_LARGE pixmap type 2015-03-24 12:43:34 -07:00
glamor_font.c glamor: GL_TEXTURE_MAX_LEVEL is not available on GLES2 2015-03-24 12:01:38 -07: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: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_glyphs.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_gradient.c glamor: Remove screen private and pixmap ptrs from pixmap private and fbo 2015-03-24 12:32:46 -07:00
glamor_image.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_largepixmap.c glamor: Create inline tests for small/large pixmaps 2015-03-24 12:35:02 -07:00
glamor_lines.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_picture.c glamor: Eliminate separate 'large' pixmap private structure 2015-03-24 12:34:50 -07:00
glamor_pixmap.c glamor: Create inline tests for small/large pixmaps 2015-03-24 12:35:02 -07:00
glamor_points.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_prepare.c glamor: Eliminate separate 'large' pixmap private structure 2015-03-24 12:34:50 -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-03-24 12:43:34 -07:00
glamor_program.c glamor: do not check for gl errors in glamor_build_program 2015-03-24 12:01:38 -07: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: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_render.c glamor: Create inline tests for small/large pixmaps 2015-03-24 12:35:02 -07:00
glamor_segs.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_spans.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07: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: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_transfer.c glamor: Use GL_FRAMEBUFFER instead of GL_READ_FRAMEBUFFER 2015-03-24 12:01:38 -07: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: Create inline tests for small/large pixmaps 2015-03-24 12:35:02 -07: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 _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_triangles.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_utils.c glamor: Drop constant arguments to glamor_solid(). 2014-07-17 17:34:29 -07:00
glamor_utils.h glamor: Create inline tests for small/large pixmaps 2015-03-24 12:35:02 -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: Eliminate separate 'large' pixmap private structure 2015-03-24 12:34:50 -07:00
glamor_xv.c glamor: Eliminate separate 'large' pixmap private structure 2015-03-24 12:34:50 -07:00