summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2010-03-31 11:54:20 +0800
committerChia-I Wu <[email protected]>2010-05-12 12:12:57 +0800
commit14a92b26ff76550c5010ddf8bcbf5226dae5183f (patch)
tree9035b54e3f7f5f6f4ff5713e44e2bc805b28dd46
parente33ad4999e5f8a690a72ad6ce4e6d36328173430 (diff)
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.
-rw-r--r--src/mesa/state_tracker/st_cb_bitmap.c3
-rw-r--r--src/mesa/state_tracker/st_cb_bitmap.h32
-rw-r--r--src/mesa/state_tracker/st_cb_drawpixels.c4
-rw-r--r--src/mesa/state_tracker/st_cb_drawpixels.h17
-rw-r--r--src/mesa/state_tracker/st_context.c10
-rw-r--r--src/mesa/state_tracker/st_draw_feedback.c4
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 6aefa7b7dfe..3e3076f7219 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 81cf61981dc..8af975b74fc 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 d8c2fb7ffba..932e8edb250 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 26fe864d185..7d5e901ccc5 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 24360fa8bc7..bab54811b4e 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 a1f70e86936..5cf26663341 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 */