xserver/glamor
Keith Packard bd3b2c48f6 glamor: Add accelerated stipple support
This copies the stipple to a 8bpp pixmap and uses that to paint the
texture from.

v2: Create deep stipple pixmap without GLAMOR_CREATE_FBO_NO_FBO

v3: Fix stipple origin sign (matches tiles now). Track changes
    to original stipple with damage. This isn't required by the
    X spec, but java appears to depend on it, so we'll just do it.
    When Glamor switches to 8bpp bitmaps, we'll be able to render
    directly from them and not need this anymore.

v4: Review comments from Eric:

    * Remove stray whitespace change
    * Avoid "large" pixmap for stipple by using GLAMOR_CREATE_NO_LARGE
    * Wrap to 80 columns

v5: Don't crash when stipple damage tracker is destroyed

    The stipple damage tracker is automatically destroyed when the
    associated stipple pixmap is destroyed. When this happens, just
    clear the pointer from the GC rather than calling
    glamor_invalidate_stipple; that function would call
    DamageUnregister on the now invalid stipple damage pointer and
    crash.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
2014-06-15 23:17:56 +01:00
..
Makefile.am glamor: Add glamor_program based 0-width dashed lines 2014-06-15 22:02:41 +01:00
glamor.c glamor: Add glamor_program based 0-width dashed lines 2014-06-15 22:02:41 +01:00
glamor.h glamor: Add glamor_program based 0-width dashed lines 2014-06-15 22:02:41 +01: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 glamor: Add glamor_program based copy acceleration 2014-06-15 22:02:41 +01:00
glamor_core.c glamor: Add accelerated stipple support 2014-06-15 23:17:56 +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: Explain the weird EGL_NO_CONTEXT code. 2014-04-23 10:32:30 -07:00
glamor_egl_stubs.c glamor: Move glamor_egl_screen_init() prototype to glamor.h 2014-04-01 10:31:09 -07:00
glamor_eglmodule.c xorg: Connect up the glamor XV code, xorg DDX-only for now. 2014-03-05 13:10:20 -08:00
glamor_fbo.c glamor: Fallback to system memory when fail to allocate one big fbo. 2014-04-23 10:41:19 -07:00
glamor_fill.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_font.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -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: Use glamor_program for glamor_push_pixels 2014-06-15 22:02:41 +01:00
glamor_glyphs.c glamor: Add glamor_program based copy acceleration 2014-06-15 22:02:41 +01:00
glamor_gradient.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_image.c glamor: Add glamor_transfer based glamor_get_image and glamor_put_image 2014-04-23 10:36:18 -07:00
glamor_largepixmap.c glamor: Add glamor_program based copy acceleration 2014-06-15 22:02:41 +01:00
glamor_lines.c glamor: Add glamor_program based 0-width dashed lines 2014-06-15 22:02:41 +01:00
glamor_picture.c glamor: Replace fallback preparation code 2014-06-15 22:02:40 +01:00
glamor_pixmap.c glamor: Move a make_current before the first GL call entrypoint. 2014-04-23 10:32:34 -07:00
glamor_points.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_prepare.c glamor: Replace fallback preparation code 2014-06-15 22:02:40 +01:00
glamor_prepare.h glamor: Replace fallback preparation code 2014-06-15 22:02:40 +01:00
glamor_priv.h glamor: Add accelerated stipple support 2014-06-15 23:17:56 +01:00
glamor_program.c glamor: Add accelerated stipple support 2014-06-15 23:17:56 +01: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 glamor: Add glamor_program based copy acceleration 2014-06-15 22:02:41 +01: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: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_text.c glamor: Work around libXfont when it fails to use defaultChar 2014-05-05 13:18:22 -07:00
glamor_tile.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_transfer.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -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: 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: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -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.h glamor: Replace fallback preparation code 2014-06-15 22:02:40 +01:00
glamor_vbo.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_window.c glamor: Apply x-indent.sh. 2014-01-27 09:30:47 -08:00
glamor_xv.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00