summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_atom_shader.c
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2007-10-01 13:45:53 -0600
committerBrian <brian.paul@tungstengraphics.com>2007-10-01 13:45:53 -0600
commitb13618c3167002a823e9bb1e744a0a316fd0e2bf (patch)
tree9aac1a463a433d9b4273aad9a1aa86feac79b8f7 /src/mesa/state_tracker/st_atom_shader.c
parent2727cfddbf64add52181bed999938a90811f01a3 (diff)
fix a few vert/frag program items to get i915 driver going again
Diffstat (limited to 'src/mesa/state_tracker/st_atom_shader.c')
-rw-r--r--src/mesa/state_tracker/st_atom_shader.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_atom_shader.c b/src/mesa/state_tracker/st_atom_shader.c
index 0a905fb563..8aa977179a 100644
--- a/src/mesa/state_tracker/st_atom_shader.c
+++ b/src/mesa/state_tracker/st_atom_shader.c
@@ -57,6 +57,8 @@
*/
struct translated_vertex_program
{
+ struct st_vertex_program *master;
+
/** The fragment shader "signature" this vertex shader is meant for: */
GLbitfield frag_inputs;
@@ -183,7 +185,7 @@ find_translated_vp(struct st_context *st,
* XXX This could be a hash lookup, using InputsRead as the key.
*/
for (xvp = stfp->vertex_programs; xvp; xvp = xvp->next) {
- if (xvp->frag_inputs == fragInputsRead) {
+ if (xvp->master == stvp && xvp->frag_inputs == fragInputsRead) {
break;
}
}
@@ -192,6 +194,7 @@ find_translated_vp(struct st_context *st,
if (!xvp) {
xvp = CALLOC_STRUCT(translated_vertex_program);
xvp->frag_inputs = fragInputsRead;
+ xvp->master = stvp;
xvp->next = stfp->vertex_programs;
stfp->vertex_programs = xvp;