xserver/glamor
Matt Turner 0669babf2b glamor: Perform texture2D() separately from swizzle.
The texture2D() happens in each branch, so we may as well do it as early
as possible and hide some of its latency in the branching instructions.
Moving it outside the (uniform) control flow reduces the number of
instructions in the fs_source shader from 64 to 46 and in the
set_alpha_source shader from 69 to 47 on Haswell.

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: Add a helper function for the common GL_QUADS fallback pattern. 2015-03-24 12:43:34 -07:00
glamor_core.c glamor: Perform texture2D() separately from swizzle. 2015-03-24 12:43:34 -07:00
glamor_dash.c glamor: Just set the logic op to what we want at the start of all rendering. 2015-03-24 12:43:34 -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: Just set the logic op to what we want at the start of all rendering. 2015-03-24 12:43:34 -07:00
glamor_glyphs.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_gradient.c glamor: Just set the logic op to what we want at the start of all rendering. 2015-03-24 12:43:34 -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: Just set the logic op to what we want at the start of all rendering. 2015-03-24 12:43:34 -07:00
glamor_picture.c glamor: Eliminate separate 'large' pixmap private structure 2015-03-24 12:34:50 -07:00
glamor_pixmap.c glamor: Just set the logic op to what we want at the start of all rendering. 2015-03-24 12:43:34 -07:00
glamor_points.c glamor: Just set the logic op to what we want at the start of all rendering. 2015-03-24 12:43:34 -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: Add a helper function for the common GL_QUADS fallback pattern. 2015-03-24 12:43:34 -07:00
glamor_render.c glamor: Just set the logic op to what we want at the start of all rendering. 2015-03-24 12:43:34 -07:00
glamor_segs.c glamor: Just set the logic op to what we want at the start of all rendering. 2015-03-24 12:43:34 -07:00
glamor_spans.c glamor: Add a helper function for the common GL_QUADS fallback pattern. 2015-03-24 12:43:34 -07:00
glamor_sync.c glamor: Fix build when configured --enable-glamor --disable-xshmfence 2015-03-24 12:43:34 -07:00
glamor_text.c glamor: Just set the logic op to what we want at the start of all rendering. 2015-03-24 12:43:34 -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: Add a helper function for the common GL_QUADS fallback pattern. 2015-03-24 12:43:34 -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: Just set the logic op to what we want at the start of all rendering. 2015-03-24 12:43:34 -07:00