From 6aac97198f60de9d4e415fb4fa2fc11cac6c6790 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 1 Apr 2014 20:54:19 -0700 Subject: [PATCH] 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 Signed-off-by: Eric Anholt Reviewed-by: Eric Anholt --- glamor/glamor.c | 6 ------ glamor/glamor_xv.c | 14 ++------------ 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/glamor/glamor.c b/glamor/glamor.c index 971dbf891..a7d981cd8 100644 --- a/glamor/glamor.c +++ b/glamor/glamor.c @@ -493,9 +493,6 @@ glamor_init(ScreenPtr screen, unsigned int flags) glamor_init_finish_access_shaders(screen); #ifdef GLAMOR_GRADIENT_SHADER glamor_init_gradient_shader(screen); -#endif -#ifdef GLAMOR_XV - glamor_init_xv_shader(screen); #endif glamor_pixmap_init(screen); glamor_glyphs_init(screen); @@ -516,9 +513,6 @@ glamor_release_screen_priv(ScreenPtr screen) glamor_screen_private *glamor_priv; glamor_priv = glamor_get_screen_private(screen); -#ifdef GLAMOR_XV - glamor_fini_xv_shader(screen); -#endif #ifdef RENDER glamor_fini_composite_shaders(screen); #endif diff --git a/glamor/glamor_xv.c b/glamor/glamor_xv.c index 17745a4e8..4e60fa3a4 100644 --- a/glamor/glamor_xv.c +++ b/glamor/glamor_xv.c @@ -114,18 +114,6 @@ glamor_init_xv_shader(ScreenPtr screen) 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 MAKE_ATOM(a) MakeAtom(a, sizeof(a) - 1, TRUE) @@ -559,6 +547,8 @@ glamor_xv_init(ScreenPtr screen, int num_texture_ports) XF86VideoAdaptorPtr adapt; int i; + glamor_init_xv_shader(screen); + adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + num_texture_ports * (sizeof(glamor_port_private) + sizeof(DevUnion))); if (adapt == NULL)