From 14a92b26ff76550c5010ddf8bcbf5226dae5183f Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Wed, 31 Mar 2010 11:54:20 +0800 Subject: [PATCH] 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 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 */ -- 2.30.2