xserver/glamor
Dave Airlie e7308b6c77 glamor: Add support for CA rendering in a single pass.
It's been on the list to add dual source blending support to avoid the
two pass componentAlpha code.  Radeon has done this for a while in
EXA, so let's add support to bring glamor up to using it.

This adds dual blend to both render and composite glyphs paths.

Initial results show close to doubling of speed of x11perf -rgb10text.

v2: Fix breakage of all of CA acceleration for systems without
    GL_ARB_blend_func_extended.  Add CA support for all the ops we
    support in non-CA mode when blend_func_extended is present.  Clean
    up some comments and formatting.  (changes by anholt)

Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-01-26 12:02:42 -08:00
..
Makefile.am glamor: Replace CompositeGlyphs code [v2] 2015-05-14 16:32:07 -07:00
glamor.c glamor: Add support for CA rendering in a single pass. 2016-01-26 12:02:42 -08:00
glamor.h glamor: Delay making pixmaps shareable until we need to. 2015-11-18 10:04:44 -08:00
glamor_addtraps.c glamor: Remove _nf rendering functions 2015-03-24 12:01:39 -07:00
glamor_composite_glyphs.c glamor: Add support for CA rendering in a single pass. 2016-01-26 12:02:42 -08:00
glamor_compositerects.c Convert glamor & glx to new *allocarray functions 2015-04-21 16:58:08 -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: Adapt glamor_program API to handle render acceleration 2015-05-14 16:12:42 -07:00
glamor_core.c glamor: Drop a bunch of glamor_priv == NULL checks. 2015-07-10 09:42:57 -07:00
glamor_dash.c glamor: Adapt glamor_program API to handle render acceleration 2015-05-14 16:12:42 -07:00
glamor_debug.h glamor: Apply x-indent.sh. 2014-01-27 09:30:47 -08:00
glamor_egl.c glamor: Delay making pixmaps shareable until we need to. 2015-11-18 10:04:44 -08:00
glamor_egl_stubs.c glamor: Delay making pixmaps shareable until we need to. 2015-11-18 10:04:44 -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: Delay making pixmaps shareable until we need to. 2015-11-18 10:04:44 -08:00
glamor_font.c glamor: store old fonts in double width textures. 2016-01-13 11:21:02 +10:00
glamor_font.h glamor: store old fonts in double width textures. 2016-01-13 11:21:02 +10: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_gradient.c glamor: use vbos in gradient/picture code. 2016-01-21 06:47:35 +10:00
glamor_image.c glamor: Use glamor_prepare_access_box() for PutImage/GetImage fallback 2015-07-16 10:43:54 -07:00
glamor_largepixmap.c glamor: Make a bunch of single-file glamor functions static. 2015-07-02 10:05:59 -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: use vbos in gradient/picture code. 2016-01-21 06:47:35 +10:00
glamor_pixmap.c glamor: Move glamor_render.c pict handling to glamor_picture.c 2015-07-10 09:42:58 -07:00
glamor_points.c glamor: Adapt glamor_program API to handle render acceleration 2015-05-14 16:12:42 -07:00
glamor_prepare.c glamor: make current in prepare paths 2015-07-16 10:57:00 -07:00
glamor_prepare.h glamor: Replace fallback preparation code 2014-06-15 22:02:40 +01:00
glamor_priv.h glamor: Add support for CA rendering in a single pass. 2016-01-26 12:02:42 -08:00
glamor_program.c glamor: Add support for CA rendering in a single pass. 2016-01-26 12:02:42 -08:00
glamor_program.h glamor: Add support for CA rendering in a single pass. 2016-01-26 12:02:42 -08: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: Add support for CA rendering in a single pass. 2016-01-26 12:02:42 -08: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: Pass depth to glamor_pm_is_solid and glamor_set_planemask 2015-05-14 15:55:53 -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: store old fonts in double width textures. 2016-01-13 11:21:02 +10:00
glamor_transfer.c glamor: Add an assert to catch the previous bug. 2015-07-06 12:01:33 -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: Adapt glamor_program API to handle render acceleration 2015-05-14 16:12:42 -07:00
glamor_transform.h glamor: Adapt glamor_program API to handle render acceleration 2015-05-14 16:12:42 -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 Convert glamor & glx to new *allocarray functions 2015-04-21 16:58:08 -07:00
glamor_utils.h glamor: Drop unused box translation/bounds code. 2015-07-10 09:42:58 -07:00
glamor_vbo.c glamor: Use vertex array objects 2016-01-21 06:49:40 +10:00
glamor_window.c glamor: Drop tracking of the last picture attached to pixmaps. 2015-07-10 09:42:58 -07:00
glamor_xv.c glamor/xv: add vbo support (v2.1) 2016-01-21 06:47:41 +10:00