glamor: Remove shader-based trapezoid implementation. Fixes Bug 76213.
I can't find any performance benefit to using the GL path and the code renders this trapezoid incorrectly: top: FIXED 29.50 bottom: FIXED 30.00 left top: POINT 0.00, 29.50 left bottom: POINT 0.00, 30.50 right top: POINT -127.50, 29.50 right bottom: POINT 52.50, 30.00 This should render a solid line from 0,30 to 52,30 but draws nothing. The code also uses an area computation for trapezoid coverage which does not conform to the Render specification which requires a specific point sampling technique. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
		
							parent
							
								
									b2452311bd
								
							
						
					
					
						commit
						7e6bd54684
					
				|  | @ -515,9 +515,6 @@ glamor_init(ScreenPtr screen, unsigned int flags) | |||
| 
 | ||||
|     glamor_init_vbo(screen); | ||||
|     glamor_init_pixmap_fbo(screen); | ||||
| #ifdef GLAMOR_TRAPEZOID_SHADER | ||||
|     glamor_init_trapezoid_shader(screen); | ||||
| #endif | ||||
|     glamor_init_finish_access_shaders(screen); | ||||
| #ifdef GLAMOR_GRADIENT_SHADER | ||||
|     glamor_init_gradient_shader(screen); | ||||
|  | @ -546,9 +543,6 @@ glamor_release_screen_priv(ScreenPtr screen) | |||
| #endif | ||||
|     glamor_fini_vbo(screen); | ||||
|     glamor_fini_pixmap_fbo(screen); | ||||
| #ifdef GLAMOR_TRAPEZOID_SHADER | ||||
|     glamor_fini_trapezoid_shader(screen); | ||||
| #endif | ||||
|     glamor_fini_finish_access_shaders(screen); | ||||
| #ifdef GLAMOR_GRADIENT_SHADER | ||||
|     glamor_fini_gradient_shader(screen); | ||||
|  |  | |||
|  | @ -306,9 +306,6 @@ typedef struct glamor_screen_private { | |||
|     int linear_max_nstops; | ||||
|     int radial_max_nstops; | ||||
| 
 | ||||
|     /* glamor trapezoid shader. */ | ||||
|     GLint trapezoid_prog; | ||||
| 
 | ||||
|     PixmapPtr *back_pixmap; | ||||
|     int screen_fbo; | ||||
|     struct glamor_saved_procs saved_procs; | ||||
|  | @ -745,8 +742,6 @@ void glamor_composite_glyph_rects(CARD8 op, | |||
| void glamor_composite_rects(CARD8 op, | ||||
|                             PicturePtr pDst, | ||||
|                             xRenderColor *color, int nRect, xRectangle *rects); | ||||
| void glamor_init_trapezoid_shader(ScreenPtr screen); | ||||
| void glamor_fini_trapezoid_shader(ScreenPtr screen); | ||||
| PicturePtr glamor_convert_gradient_picture(ScreenPtr screen, | ||||
|                                            PicturePtr source, | ||||
|                                            int x_source, | ||||
|  | @ -1089,7 +1084,6 @@ void glamor_xv_render(glamor_port_private *port_priv); | |||
| 
 | ||||
| #define GLAMOR_PIXMAP_DYNAMIC_UPLOAD | ||||
| #define GLAMOR_GRADIENT_SHADER | ||||
| #define GLAMOR_TRAPEZOID_SHADER | ||||
| #define GLAMOR_TEXTURED_LARGE_PIXMAP 1 | ||||
| #define WALKAROUND_LARGE_TEXTURE_MAP | ||||
| #if 0 | ||||
|  |  | |||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue