summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorKeith Whitwell <keithw@vmware.com>2009-03-13 16:22:35 +0000
committerKeith Whitwell <keithw@vmware.com>2009-03-13 16:24:22 +0000
commitfa0f48504a32642d688d4b81f62eea54c693b23f (patch)
tree609b5def4528f347a2d531308eb95d3e08fcc14a /src/mesa
parentb3be1651f4a45660b447881f7c61c03a1b24302a (diff)
downloadexternal_mesa3d-fa0f48504a32642d688d4b81f62eea54c693b23f.zip
external_mesa3d-fa0f48504a32642d688d4b81f62eea54c693b23f.tar.gz
external_mesa3d-fa0f48504a32642d688d4b81f62eea54c693b23f.tar.bz2
gallium: no need to keep a copy of shader tokens in state tracker
Any driver who needs a copy of the shader tokens must organize to do so itself. This has been the case for a long time, but there was still defensive code in the state tracker, which is now removed. Any bugs resulting from this need to be fixed in the offending driver...
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/state_tracker/st_atom_shader.c7
-rw-r--r--src/mesa/state_tracker/st_cb_bitmap.c4
-rw-r--r--src/mesa/state_tracker/st_cb_clear.c15
-rw-r--r--src/mesa/state_tracker/st_context.h3
4 files changed, 4 insertions, 25 deletions
diff --git a/src/mesa/state_tracker/st_atom_shader.c b/src/mesa/state_tracker/st_atom_shader.c
index 486582f..fc1ff5b 100644
--- a/src/mesa/state_tracker/st_atom_shader.c
+++ b/src/mesa/state_tracker/st_atom_shader.c
@@ -307,14 +307,9 @@ st_free_translated_vertex_programs(struct st_context *st,
static void *
get_passthrough_fs(struct st_context *st)
{
- struct pipe_shader_state shader;
-
if (!st->passthrough_fs) {
st->passthrough_fs =
- util_make_fragment_passthrough_shader(st->pipe, &shader);
-#if 0 /* We actually need to keep the tokens around at this time */
- util_free_shader(&shader);
-#endif
+ util_make_fragment_passthrough_shader(st->pipe);
}
return st->passthrough_fs;
diff --git a/src/mesa/state_tracker/st_cb_bitmap.c b/src/mesa/state_tracker/st_cb_bitmap.c
index 3f503f1..f9f1780 100644
--- a/src/mesa/state_tracker/st_cb_bitmap.c
+++ b/src/mesa/state_tracker/st_cb_bitmap.c
@@ -740,8 +740,7 @@ st_Bitmap(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height,
const uint semantic_indexes[] = { 0, 0, 0 };
st->bitmap.vs = util_make_vertex_passthrough_shader(st->pipe, 3,
semantic_names,
- semantic_indexes,
- &st->bitmap.vert_shader);
+ semantic_indexes);
}
if (UseBitmapCache && accum_bitmap(st, x, y, width, height, unpack, bitmap))
@@ -830,7 +829,6 @@ st_destroy_bitmap(struct st_context *st)
cso_delete_vertex_shader(st->cso_context, st->bitmap.vs);
st->bitmap.vs = NULL;
}
- util_free_shader(&st->bitmap.vert_shader);
if (st->bitmap.vbuf) {
pipe_buffer_reference(&st->bitmap.vbuf, NULL);
diff --git a/src/mesa/state_tracker/st_cb_clear.c b/src/mesa/state_tracker/st_cb_clear.c
index 7d4948a..8206733 100644
--- a/src/mesa/state_tracker/st_cb_clear.c
+++ b/src/mesa/state_tracker/st_cb_clear.c
@@ -77,7 +77,7 @@ st_init_clear(struct st_context *st)
/* fragment shader state: color pass-through program */
st->clear.fs =
- util_make_fragment_passthrough_shader(pipe, &st->clear.frag_shader);
+ util_make_fragment_passthrough_shader(pipe);
/* vertex shader state: color/position pass-through */
{
@@ -86,8 +86,7 @@ st_init_clear(struct st_context *st)
const uint semantic_indexes[] = { 0, 0 };
st->clear.vs = util_make_vertex_passthrough_shader(pipe, 2,
semantic_names,
- semantic_indexes,
- &st->clear.vert_shader);
+ semantic_indexes);
}
}
@@ -95,16 +94,6 @@ st_init_clear(struct st_context *st)
void
st_destroy_clear(struct st_context *st)
{
- if (st->clear.vert_shader.tokens) {
- util_free_shader(&st->clear.vert_shader);
- st->clear.vert_shader.tokens = NULL;
- }
-
- if (st->clear.frag_shader.tokens) {
- util_free_shader(&st->clear.frag_shader);
- st->clear.frag_shader.tokens = NULL;
- }
-
if (st->clear.fs) {
cso_delete_fragment_shader(st->cso_context, st->clear.fs);
st->clear.fs = NULL;
diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h
index 3547925..d7518ab 100644
--- a/src/mesa/state_tracker/st_context.h
+++ b/src/mesa/state_tracker/st_context.h
@@ -149,7 +149,6 @@ struct st_context
struct {
struct pipe_rasterizer_state rasterizer;
struct pipe_sampler_state sampler;
- struct pipe_shader_state vert_shader;
enum pipe_format tex_format;
void *vs;
float vertices[4][3][4]; /**< vertex pos + color + texcoord */
@@ -166,8 +165,6 @@ struct st_context
/** for glClear */
struct {
- struct pipe_shader_state vert_shader;
- struct pipe_shader_state frag_shader;
struct pipe_rasterizer_state raster;
struct pipe_viewport_state viewport;
void *vs;