st/mesa: Make st_cb_drawtex.h FEATURE_OES_draw_texture aware.

This change allows st_cb_drawtex.h to be used without knowing if
FEATURE_OES_draw_texture is enabled.
This commit is contained in:
Chia-I Wu 2010-05-11 13:20:40 +08:00
parent 278bca0db9
commit 1975208919
3 changed files with 26 additions and 13 deletions

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

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

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