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.
This commit is contained in:
Chia-I Wu
2010-03-31 11:54:20 +08:00
parent e33ad4999e
commit 14a92b26ff
6 changed files with 60 additions and 10 deletions

View File

@@ -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 */

View File

@@ -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 */

View File

@@ -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 */

View File

@@ -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 */

View File

@@ -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);

View File

@@ -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 */