[PATCH 00/16] New glamor core rendering code (v4)

Keith Packard keithp at keithp.com
Tue Apr 1 21:15:40 PDT 2014


I sent a set of glamor bug fixes separately; these are just the
patches needed to speed up core rendering operations with glamor.

Eric mentioned that GLSL 1.30 wasn't all that common yet, so I've
added fallbacks to 1.20 for operations where that was possible, which
includes everything other than the text functions and copy plane. The
glyph functions are still accelerated, so you get reasonably fast text
even still. I've done some touch-tests for performance with GLSL 1.20,
and there's almost no difference from the 1.30 code; obviously loading
primitive data into the GPU isn't a big deal.

Four additions which set the stage:

 [PATCH 01/16] fb: Publish fbGlyphs and fbUnrealizeGlyph
 [PATCH 02/16] glamor: Compute supported GLSL version and save in
 [PATCH 03/16] glamor: Add simple upload/download functions in
 [PATCH 04/16] glamor: Replace fallback preparation code

New rendering code, one subsystem at a time. Each of these also
deletes the related previous code

 [PATCH 05/16] glamor: Add glamor_program based fill/set/get spans
 [PATCH 06/16] glamor: Add glamor_program based poly_fill_rect
 [PATCH 07/16] glamor: Use glamor_program for glamor_glyphblt
 [PATCH 08/16] glamor: Add glamor_program based poly_text and
 [PATCH 09/16] glamor: Add glamor_program based copy acceleration
 [PATCH 10/16] glamor: Use glamor_program for glamor_push_pixels
 [PATCH 11/16] glamor: Use glamor_program and GL_LINES for 0-width
 [PATCH 12/16] glamor: Add glamor_transfer based glamor_get_image and

And a few clean ups after the rendering code was swapped:

 [PATCH 13/16] glamor: Replace glamor_solid_boxes and glamor_solid
 [PATCH 14/16] glamor: Remove 'tiling' shader code
 [PATCH 15/16] glamor: Remove stubbed-out glamor_stipple function

Here's a patch which lets you (at compile time, by editing the
source), turn off all Render acceleration for glamor and cause every
thing to fall back to software. I've found this helpful when isolating
problems in the Render acceleration code:

 [PATCH 16/16] glamor: Provide render fallbacks for debugging

-keith


More information about the xorg-devel mailing list