st/mesa: Make st_cb_drawtex.h FEATURE_OES_draw_texture aware.
authorChia-I Wu <olv@lunarg.com>
Tue, 11 May 2010 05:20:40 +0000 (13:20 +0800)
committerChia-I Wu <olv@lunarg.com>
Wed, 12 May 2010 04:12:58 +0000 (12:12 +0800)
This change allows st_cb_drawtex.h to be used without knowing if
FEATURE_OES_draw_texture is enabled.

src/mesa/state_tracker/st_cb_drawtex.c
src/mesa/state_tracker/st_cb_drawtex.h
src/mesa/state_tracker/st_context.c

index 11c431ccb6c44e86a69a9ffee6b7c9de49738ac8..18cebbc88e452c87cafed5f73566992d72d83956 100644 (file)
@@ -34,6 +34,9 @@
 #include "cso_cache/cso_context.h"
 
 
+#if FEATURE_OES_draw_texture
+
+
 struct cached_shader
 {
    void *handle;
@@ -53,9 +56,6 @@ static struct cached_shader CachedShaders[MAX_SHADERS];
 static GLuint NumCachedShaders = 0;
 
 
-#if FEATURE_OES_draw_texture
-
-
 static void *
 lookup_shader(struct pipe_context *pipe,
               uint num_attribs,
@@ -281,13 +281,10 @@ st_DrawTex(GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z,
 }
 
 
-#endif /* FEATURE_OES_draw_texture */
-
-
 void
 st_init_drawtex_functions(struct dd_function_table *functions)
 {
-   _MESA_INIT_DRAWTEX_FUNCTIONS(functions, st_);
+   functions->DrawTex = st_DrawTex;
 }
 
 
@@ -303,3 +300,6 @@ st_destroy_drawtex(struct st_context *st)
    }
    NumCachedShaders = 0;
 }
+
+
+#endif /* FEATURE_OES_draw_texture */
index 7b0da7027984ad1c79133e4866eaedc9f6730d19..a3f54a349ccb49092aa68a8da655376ebaa7e4e4 100644 (file)
@@ -9,10 +9,29 @@
 #ifndef ST_CB_DRAWTEX_H
 #define ST_CB_DRAWTEX_H
 
+
+#include "main/mtypes.h"
+
+#if FEATURE_OES_draw_texture
+
 extern void
 st_init_drawtex_functions(struct dd_function_table *functions);
 
 extern void
 st_destroy_drawtex(struct st_context *st);
 
+#else
+
+static INLINE void
+st_init_drawtex_functions(struct dd_function_table *functions)
+{
+}
+
+static INLINE void
+st_destroy_drawtex(struct st_context *st)
+{
+}
+
+#endif /* FEATURE_OES_draw_texture */
+
 #endif /* ST_CB_DRAWTEX_H */
index 08963b468c991845017a29a453d44a0eea32b5af..21d0fa96e1698c21083f388af9cc563d2d02d856 100644 (file)
@@ -40,9 +40,7 @@
 #include "st_cb_condrender.h"
 #include "st_cb_drawpixels.h"
 #include "st_cb_rasterpos.h"
-#if FEATURE_OES_draw_texture
 #include "st_cb_drawtex.h"
-#endif
 #include "st_cb_eglimage.h"
 #include "st_cb_fbo.h"
 #include "st_cb_feedback.h"
@@ -216,9 +214,7 @@ static void st_destroy_context_priv( struct st_context *st )
    st_destroy_clear(st);
    st_destroy_bitmap(st);
    st_destroy_drawpix(st);
-#if FEATURE_OES_draw_texture
    st_destroy_drawtex(st);
-#endif
 
    for (i = 0; i < Elements(st->state.sampler_views); i++) {
       pipe_sampler_view_reference(&st->state.sampler_views[i], NULL);
@@ -286,9 +282,7 @@ void st_init_driver_functions(struct dd_function_table *functions)
    st_init_drawpixels_functions(functions);
    st_init_rasterpos_functions(functions);
 
-#if FEATURE_OES_draw_texture
    st_init_drawtex_functions(functions);
-#endif
 
    st_init_eglimage_functions(functions);