svga: Remove stale references to delete shader results.
To ensure that a new result that happens to have the same address of the old one will be detected as a change.
This commit is contained in:
parent
8ebef37c7b
commit
38d8b18003
|
@ -111,6 +111,13 @@ void svga_delete_fs_state(struct pipe_context *pipe, void *shader)
|
||||||
util_bitmask_clear( svga->fs_bm, result->id );
|
util_bitmask_clear( svga->fs_bm, result->id );
|
||||||
|
|
||||||
svga_destroy_shader_result( result );
|
svga_destroy_shader_result( result );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Remove stale references to this result to ensure a new result on the
|
||||||
|
* same address will be detected as a change.
|
||||||
|
*/
|
||||||
|
if(result == svga->state.hw_draw.fs)
|
||||||
|
svga->state.hw_draw.fs = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
FREE((void *)fs->base.tokens);
|
FREE((void *)fs->base.tokens);
|
||||||
|
|
|
@ -176,6 +176,13 @@ static void svga_delete_vs_state(struct pipe_context *pipe, void *shader)
|
||||||
util_bitmask_clear( svga->vs_bm, result->id );
|
util_bitmask_clear( svga->vs_bm, result->id );
|
||||||
|
|
||||||
svga_destroy_shader_result( result );
|
svga_destroy_shader_result( result );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Remove stale references to this result to ensure a new result on the
|
||||||
|
* same address will be detected as a change.
|
||||||
|
*/
|
||||||
|
if(result == svga->state.hw_draw.vs)
|
||||||
|
svga->state.hw_draw.vs = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
FREE((void *)vs->base.tokens);
|
FREE((void *)vs->base.tokens);
|
||||||
|
|
Loading…
Reference in New Issue