Mesa (master): st/mesa: Make st_cb_{bitmap,drawpixels}. h FEATURE_drawpix aware.

Chia-I Wu olv at kemper.freedesktop.org
Wed May 12 04:31:47 UTC 2010


Module: Mesa
Branch: master
Commit: 14a92b26ff76550c5010ddf8bcbf5226dae5183f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=14a92b26ff76550c5010ddf8bcbf5226dae5183f

Author: Chia-I Wu <olv at lunarg.com>
Date:   Wed Mar 31 11:54:20 2010 +0800

st/mesa: Make st_cb_{bitmap,drawpixels}.h FEATURE_drawpix aware.

This change allows st_cb_{bitmap,drawpixels}.h to be used without
knowing if FEATURE_drawpix is enabled.

---

 src/mesa/state_tracker/st_cb_bitmap.c     |    3 ++
 src/mesa/state_tracker/st_cb_bitmap.h     |   32 +++++++++++++++++++++++++++++
 src/mesa/state_tracker/st_cb_drawpixels.c |    4 +++
 src/mesa/state_tracker/st_cb_drawpixels.h |   17 +++++++++++++++
 src/mesa/state_tracker/st_context.c       |   10 +-------
 src/mesa/state_tracker/st_draw_feedback.c |    4 +-
 6 files changed, 60 insertions(+), 10 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_bitmap.c b/src/mesa/state_tracker/st_cb_bitmap.c
index 6aefa7b..3e3076f 100644
--- a/src/mesa/state_tracker/st_cb_bitmap.c
+++ b/src/mesa/state_tracker/st_cb_bitmap.c
@@ -53,6 +53,7 @@
 #include "cso_cache/cso_context.h"
 
 
+#if FEATURE_drawpix
 
 /**
  * glBitmaps are drawn as textured quads.  The user's bitmap pattern
@@ -859,3 +860,5 @@ st_destroy_bitmap(struct st_context *st)
       st->bitmap.cache = NULL;
    }
 }
+
+#endif /* FEATURE_drawpix */
diff --git a/src/mesa/state_tracker/st_cb_bitmap.h b/src/mesa/state_tracker/st_cb_bitmap.h
index 81cf619..8af975b 100644
--- a/src/mesa/state_tracker/st_cb_bitmap.h
+++ b/src/mesa/state_tracker/st_cb_bitmap.h
@@ -30,6 +30,10 @@
 #define ST_CB_BITMAP_H
 
 
+#include "main/mtypes.h"
+
+#if FEATURE_drawpix
+
 extern void
 st_init_bitmap_functions(struct dd_function_table *functions);
 
@@ -48,5 +52,33 @@ st_flush_bitmap_cache(struct st_context *st);
 extern void
 st_flush_bitmap(struct st_context *st);
 
+#else
+
+static INLINE void
+st_init_bitmap_functions(struct dd_function_table *functions)
+{
+}
+
+static INLINE void
+st_init_bitmap(struct st_context *st)
+{
+}
+
+static INLINE void
+st_destroy_bitmap(struct st_context *st)
+{
+}
+
+static INLINE void
+st_flush_bitmap_cache(struct st_context *st)
+{
+}
+
+static INLINE void
+st_flush_bitmap(struct st_context *st)
+{
+}
+
+#endif /* FEATURE_drawpix */
 
 #endif /* ST_CB_BITMAP_H */
diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c
index d8c2fb7..932e8ed 100644
--- a/src/mesa/state_tracker/st_cb_drawpixels.c
+++ b/src/mesa/state_tracker/st_cb_drawpixels.c
@@ -62,6 +62,8 @@
 #include "cso_cache/cso_context.h"
 
 
+#if FEATURE_drawpix
+
 /**
  * Check if the given program is:
  * 0: MOVE result.color, fragment.color;
@@ -1144,3 +1146,5 @@ st_destroy_drawpix(struct st_context *st)
    if (st->drawpix.vert_shaders[1])
       ureg_free_tokens(st->drawpix.vert_shaders[1]);
 }
+
+#endif /* FEATURE_drawpix */
diff --git a/src/mesa/state_tracker/st_cb_drawpixels.h b/src/mesa/state_tracker/st_cb_drawpixels.h
index 26fe864..7d5e901 100644
--- a/src/mesa/state_tracker/st_cb_drawpixels.h
+++ b/src/mesa/state_tracker/st_cb_drawpixels.h
@@ -30,10 +30,27 @@
 #define ST_CB_DRAWPIXELS_H
 
 
+#include "main/mtypes.h"
+
+#if FEATURE_drawpix
+
 extern void st_init_drawpixels_functions(struct dd_function_table *functions);
 
 extern void
 st_destroy_drawpix(struct st_context *st);
 
+#else
+
+static INLINE void
+st_init_drawpixels_functions(struct dd_function_table *functions)
+{
+}
+
+static INLINE void
+st_destroy_drawpix(struct st_context *st)
+{
+}
+
+#endif /* FEATURE_drawpix */
 
 #endif /* ST_CB_DRAWPIXELS_H */
diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
index 24360fa..bab5481 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -38,10 +38,8 @@
 #include "st_cb_bufferobjects.h"
 #include "st_cb_clear.h"
 #include "st_cb_condrender.h"
-#if FEATURE_drawpix
 #include "st_cb_drawpixels.h"
 #include "st_cb_rasterpos.h"
-#endif
 #if FEATURE_OES_draw_texture
 #include "st_cb_drawtex.h"
 #endif
@@ -130,7 +128,7 @@ st_create_context_priv( GLcontext *ctx, struct pipe_context *pipe )
    /* state tracker needs the VBO module */
    _vbo_CreateContext(ctx);
 
-#if FEATURE_feedback || FEATURE_drawpix
+#if FEATURE_feedback || FEATURE_rastpos
    st->draw = draw_create(pipe); /* for selection/feedback */
 
    /* Disable draw options that might convert points/lines to tris, etc.
@@ -226,7 +224,7 @@ static void st_destroy_context_priv( struct st_context *st )
 {
    uint i;
 
-#if FEATURE_feedback || FEATURE_drawpix
+#if FEATURE_feedback || FEATURE_rastpos
    draw_destroy(st->draw);
 #endif
    st_destroy_atoms( st );
@@ -236,10 +234,8 @@ static void st_destroy_context_priv( struct st_context *st )
    st_destroy_blit(st);
 #endif
    st_destroy_clear(st);
-#if FEATURE_drawpix
    st_destroy_bitmap(st);
    st_destroy_drawpix(st);
-#endif
 #if FEATURE_OES_draw_texture
    st_destroy_drawtex(st);
 #endif
@@ -308,11 +304,9 @@ void st_init_driver_functions(struct dd_function_table *functions)
 #endif
    st_init_bufferobject_functions(functions);
    st_init_clear_functions(functions);
-#if FEATURE_drawpix
    st_init_bitmap_functions(functions);
    st_init_drawpixels_functions(functions);
    st_init_rasterpos_functions(functions);
-#endif
 
 #if FEATURE_OES_draw_texture
    st_init_drawtex_functions(functions);
diff --git a/src/mesa/state_tracker/st_draw_feedback.c b/src/mesa/state_tracker/st_draw_feedback.c
index a1f70e8..5cf2666 100644
--- a/src/mesa/state_tracker/st_draw_feedback.c
+++ b/src/mesa/state_tracker/st_draw_feedback.c
@@ -45,7 +45,7 @@
 #include "draw/draw_context.h"
 
 
-#if FEATURE_feedback || FEATURE_drawpix
+#if FEATURE_feedback || FEATURE_rastpos
 
 /**
  * Set the (private) draw module's post-transformed vertex format when in
@@ -279,5 +279,5 @@ st_feedback_draw_vbo(GLcontext *ctx,
    }
 }
 
-#endif /* FEATURE_feedback || FEATURE_drawpix */
+#endif /* FEATURE_feedback || FEATURE_rastpos */
 




More information about the mesa-commit mailing list