summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_program.h
diff options
context:
space:
mode:
authorZack Rusin <zack@tungstengraphics.com>2007-09-20 07:50:33 -0400
committerZack Rusin <zack@tungstengraphics.com>2007-09-20 07:50:33 -0400
commitdaf5b0f41baa50951e7c2f9ea5cd90b119085a7f (patch)
treed273c4ae95a8cb617412c9f7a1b943dc4364420f /src/mesa/state_tracker/st_program.h
parent37cf13ed9a429c755f121daa1776b1b30a985ab3 (diff)
downloadexternal_mesa3d-daf5b0f41baa50951e7c2f9ea5cd90b119085a7f.zip
external_mesa3d-daf5b0f41baa50951e7c2f9ea5cd90b119085a7f.tar.gz
external_mesa3d-daf5b0f41baa50951e7c2f9ea5cd90b119085a7f.tar.bz2
Switch fragment/vertex shaders to the new caching semantics.
Allow driver custom allocation within cached objects. The shaders are currently twiced (by cso layer and by the program itself).
Diffstat (limited to 'src/mesa/state_tracker/st_program.h')
-rw-r--r--src/mesa/state_tracker/st_program.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mesa/state_tracker/st_program.h b/src/mesa/state_tracker/st_program.h
index 4945141..4f9ace3 100644
--- a/src/mesa/state_tracker/st_program.h
+++ b/src/mesa/state_tracker/st_program.h
@@ -40,6 +40,8 @@
#define ST_FP_MAX_TOKENS 1024
+struct cso_fragment_shader;
+struct cso_vertex_shader;
struct st_fragment_program
{
@@ -52,7 +54,7 @@ struct st_fragment_program
GLboolean dirty;
/** Pointer to the corresponding cached shader */
- const struct pipe_shader_state *fs;
+ const struct cso_fragment_shader *fs;
GLuint param_state;
};
@@ -83,7 +85,7 @@ struct st_vertex_program
#endif
/** Pointer to the corresponding cached shader */
- const struct pipe_shader_state *vs;
+ const struct cso_vertex_shader *vs;
GLuint param_state;
};
@@ -105,12 +107,12 @@ st_vertex_program( struct gl_vertex_program *vp )
}
-extern struct pipe_shader_state *
+extern const struct cso_fragment_shader *
st_translate_fragment_shader(struct st_context *st,
struct st_fragment_program *fp);
-extern struct pipe_shader_state *
+extern const struct cso_vertex_shader *
st_translate_vertex_shader(struct st_context *st,
struct st_vertex_program *vp);