diff options
| author | Chia-I Wu <olvaffe@gmail.com> | 2009-09-14 11:03:02 +0800 | 
|---|---|---|
| committer | Chia-I Wu <olvaffe@gmail.com> | 2009-09-14 11:51:47 +0800 | 
| commit | 542c26fa4f7212831234af5008cea1bf7593f30d (patch) | |
| tree | a11fb475b6733c5ef936f151cf64c38d5770c0e2 /src | |
| parent | a98c282c7da646c9def246b2619124c51f8b4464 (diff) | |
es/st: Move state tracker code to mesa/st.
State tracker is one of the mesa drivers.  It should not belong to the
es overlay.
Diffstat (limited to 'src')
| -rw-r--r-- | src/mesa/es/sources.mak | 6 | ||||
| -rw-r--r-- | src/mesa/state_tracker/st_cb_drawtex.c (renamed from src/mesa/es/state_tracker/st_cb_drawtex.c) | 47 | ||||
| -rw-r--r-- | src/mesa/state_tracker/st_cb_drawtex.h (renamed from src/mesa/es/state_tracker/st_cb_drawtex.h) | 14 | ||||
| -rw-r--r-- | src/mesa/state_tracker/st_context.c | 5 | ||||
| -rw-r--r-- | src/mesa/state_tracker/st_extensions.c | 4 | 
5 files changed, 41 insertions, 35 deletions
| diff --git a/src/mesa/es/sources.mak b/src/mesa/es/sources.mak index 6dedb726bd..b52978be96 100644 --- a/src/mesa/es/sources.mak +++ b/src/mesa/es/sources.mak @@ -11,8 +11,7 @@ ES1_LOCAL_SOURCES :=			\  	main/stubs.c  ES1_GALLIUM_LOCAL_SOURCES :=		\ -	$(ES1_LOCAL_SOURCES)		\ -	state_tracker/st_cb_drawtex.c +	$(ES1_LOCAL_SOURCES)  ES1_API_LOCAL_SOURCES :=		\ @@ -69,6 +68,9 @@ SHADER_OMITTED :=			\  	shader/nvvertparse.c  SHADER_SOURCES := $(filter-out $(SHADER_OMITTED), $(SHADER_SOURCES)) +STATETRACKER_SOURCES +=			\ +	state_tracker/st_cb_drawtex.c +  ES1_MESA_SOURCES :=			\  	$(MAIN_SOURCES)			\  	$(MATH_SOURCES)			\ diff --git a/src/mesa/es/state_tracker/st_cb_drawtex.c b/src/mesa/state_tracker/st_cb_drawtex.c index f675591595..3b98b9c40b 100644 --- a/src/mesa/es/state_tracker/st_cb_drawtex.c +++ b/src/mesa/state_tracker/st_cb_drawtex.c @@ -15,6 +15,7 @@  #include "main/imports.h"  #include "main/image.h"  #include "main/bufferobj.h" +#include "main/drawtex.h"  #include "main/macros.h"  #include "main/state.h"  #include "main/texformat.h" @@ -59,6 +60,9 @@ 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, @@ -104,26 +108,10 @@ lookup_shader(struct pipe_context *pipe,     return CachedShaders[i].handle;  } - -/** - * Free any cached shaders - */ -void -st_destroy_drawtex(struct st_context *st) +static void +st_DrawTex(GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z, +           GLfloat width, GLfloat height)  { -   GLuint i; -   for (i = 0; i < NumCachedShaders; i++) { -      cso_delete_vertex_shader(st->cso_context, CachedShaders[i].handle); -   } -   NumCachedShaders = 0; -} - - - -void -_mesa_DrawTexf(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) -{ -   GET_CURRENT_CONTEXT(ctx);     struct st_context *st = ctx->st;     struct pipe_context *pipe = st->pipe;     struct cso_context *cso = ctx->st->cso_context; @@ -285,8 +273,25 @@ _mesa_DrawTexf(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height)  } +#endif /* FEATURE_OES_draw_texture */ + +  void -_mesa_DrawTexfv(const GLfloat *coords) +st_init_drawtex_functions(struct dd_function_table *functions)  { -   _mesa_DrawTexf(coords[0], coords[1], coords[2], coords[3], coords[4]); +   _MESA_INIT_DRAWTEX_FUNCTIONS(functions, st_); +} + + +/** + * Free any cached shaders + */ +void +st_destroy_drawtex(struct st_context *st) +{ +   GLuint i; +   for (i = 0; i < NumCachedShaders; i++) { +      cso_delete_vertex_shader(st->cso_context, CachedShaders[i].handle); +   } +   NumCachedShaders = 0;  } diff --git a/src/mesa/es/state_tracker/st_cb_drawtex.h b/src/mesa/state_tracker/st_cb_drawtex.h index 278815a2f7..7b0da70279 100644 --- a/src/mesa/es/state_tracker/st_cb_drawtex.h +++ b/src/mesa/state_tracker/st_cb_drawtex.h @@ -9,20 +9,10 @@  #ifndef ST_CB_DRAWTEX_H  #define ST_CB_DRAWTEX_H - -struct st_context; - - -extern void -_mesa_DrawTexf(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); - -  extern void -_mesa_DrawTexfv(const GLfloat *coords); - +st_init_drawtex_functions(struct dd_function_table *functions);  extern void  st_destroy_drawtex(struct st_context *st); - -#endif +#endif /* ST_CB_DRAWTEX_H */ diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c index 96969c736c..508d522f9a 100644 --- a/src/mesa/state_tracker/st_context.c +++ b/src/mesa/state_tracker/st_context.c @@ -326,6 +326,11 @@ void st_init_driver_functions(struct dd_function_table *functions)     st_init_drawpixels_functions(functions);     st_init_rasterpos_functions(functions);  #endif + +#if FEATURE_OES_draw_texture +   st_init_drawtex_functions(functions); +#endif +     st_init_fbo_functions(functions);     st_init_get_functions(functions);  #if FEATURE_feedback diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 3f835d38dd..ce3c302e48 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -183,6 +183,10 @@ void st_init_extensions(struct st_context *st)     ctx->Extensions.NV_texgen_reflection = GL_TRUE;     ctx->Extensions.NV_texture_env_combine4 = GL_TRUE; +#if FEATURE_OES_draw_texture +   ctx->Extensions.OES_draw_texture = GL_TRUE; +#endif +     ctx->Extensions.SGI_color_matrix = GL_TRUE;     ctx->Extensions.SGIS_generate_mipmap = GL_TRUE; | 
