diff options
author | José Fonseca <[email protected]> | 2014-03-14 16:57:34 +0000 |
---|---|---|
committer | José Fonseca <[email protected]> | 2014-03-25 12:54:39 +0000 |
commit | ee89432a4714b9da4508ed643db9fda39563de79 (patch) | |
tree | bd02ae841d75225430439bfd1b282a3d1380ae2f /src/gallium/auxiliary/draw | |
parent | 7683fce8781ef0169333c5ee1276392d058cfaa8 (diff) |
draw: Duplicate TGSI tokens in draw_pipe_pstipple module.
As done in draw_pipe_aaline and draw_pipe_aapoint modules.
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Roland Scheidegger <[email protected]>
Reviewed-by: Zack Rusin <[email protected]>
Cc: "10.0 10.1" <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/draw')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_pipe_pstipple.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pipe_pstipple.c b/src/gallium/auxiliary/draw/draw_pipe_pstipple.c index d7dcfdb596f..d2167879318 100644 --- a/src/gallium/auxiliary/draw/draw_pipe_pstipple.c +++ b/src/gallium/auxiliary/draw/draw_pipe_pstipple.c @@ -673,7 +673,7 @@ pstip_create_fs_state(struct pipe_context *pipe, struct pstip_fragment_shader *pstipfs = CALLOC_STRUCT(pstip_fragment_shader); if (pstipfs) { - pstipfs->state = *fs; + pstipfs->state.tokens = tgsi_dup_tokens(fs->tokens); /* pass-through */ pstipfs->driver_fs = pstip->driver_create_fs_state(pstip->pipe, fs); @@ -707,6 +707,7 @@ pstip_delete_fs_state(struct pipe_context *pipe, void *fs) if (pstipfs->pstip_fs) pstip->driver_delete_fs_state(pstip->pipe, pstipfs->pstip_fs); + FREE((void*)pstipfs->state.tokens); FREE(pstipfs); } |