glamor: Initialize XV shaders from glamor_xv_init instead of glamor_init
The glamor_init calls to glamor_init_xv_shader were never getting run because GLAMOR_XV was never defined. Instead of trying to make that work, fix glamor_xv_init to make the call instead. Further, just get rid of the glamor_fini_xv_shader function entirely as the shader program will be destroyed when the context is destroyed at server reset time. Signed-off-by: Keith Packard <keithp@keithp.com> Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
		
							parent
							
								
									1707faf36d
								
							
						
					
					
						commit
						6aac97198f
					
				| 
						 | 
					@ -493,9 +493,6 @@ glamor_init(ScreenPtr screen, unsigned int flags)
 | 
				
			||||||
    glamor_init_finish_access_shaders(screen);
 | 
					    glamor_init_finish_access_shaders(screen);
 | 
				
			||||||
#ifdef GLAMOR_GRADIENT_SHADER
 | 
					#ifdef GLAMOR_GRADIENT_SHADER
 | 
				
			||||||
    glamor_init_gradient_shader(screen);
 | 
					    glamor_init_gradient_shader(screen);
 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
#ifdef GLAMOR_XV
 | 
					 | 
				
			||||||
    glamor_init_xv_shader(screen);
 | 
					 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    glamor_pixmap_init(screen);
 | 
					    glamor_pixmap_init(screen);
 | 
				
			||||||
    glamor_glyphs_init(screen);
 | 
					    glamor_glyphs_init(screen);
 | 
				
			||||||
| 
						 | 
					@ -516,9 +513,6 @@ glamor_release_screen_priv(ScreenPtr screen)
 | 
				
			||||||
    glamor_screen_private *glamor_priv;
 | 
					    glamor_screen_private *glamor_priv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    glamor_priv = glamor_get_screen_private(screen);
 | 
					    glamor_priv = glamor_get_screen_private(screen);
 | 
				
			||||||
#ifdef GLAMOR_XV
 | 
					 | 
				
			||||||
    glamor_fini_xv_shader(screen);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
#ifdef RENDER
 | 
					#ifdef RENDER
 | 
				
			||||||
    glamor_fini_composite_shaders(screen);
 | 
					    glamor_fini_composite_shaders(screen);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -114,18 +114,6 @@ glamor_init_xv_shader(ScreenPtr screen)
 | 
				
			||||||
    glamor_put_context(glamor_priv);
 | 
					    glamor_put_context(glamor_priv);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					 | 
				
			||||||
glamor_fini_xv_shader(ScreenPtr screen)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    glamor_screen_private *glamor_priv;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    glamor_priv = glamor_get_screen_private(screen);
 | 
					 | 
				
			||||||
    glamor_get_context(glamor_priv);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    glDeleteProgram(glamor_priv->xv_prog);
 | 
					 | 
				
			||||||
    glamor_put_context(glamor_priv);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define ClipValue(v,min,max) ((v) < (min) ? (min) : (v) > (max) ? (max) : (v))
 | 
					#define ClipValue(v,min,max) ((v) < (min) ? (min) : (v) > (max) ? (max) : (v))
 | 
				
			||||||
#define MAKE_ATOM(a) MakeAtom(a, sizeof(a) - 1, TRUE)
 | 
					#define MAKE_ATOM(a) MakeAtom(a, sizeof(a) - 1, TRUE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -559,6 +547,8 @@ glamor_xv_init(ScreenPtr screen, int num_texture_ports)
 | 
				
			||||||
    XF86VideoAdaptorPtr adapt;
 | 
					    XF86VideoAdaptorPtr adapt;
 | 
				
			||||||
    int i;
 | 
					    int i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    glamor_init_xv_shader(screen);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + num_texture_ports *
 | 
					    adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + num_texture_ports *
 | 
				
			||||||
                   (sizeof(glamor_port_private) + sizeof(DevUnion)));
 | 
					                   (sizeof(glamor_port_private) + sizeof(DevUnion)));
 | 
				
			||||||
    if (adapt == NULL)
 | 
					    if (adapt == NULL)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue