summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/nine
diff options
context:
space:
mode:
authorAxel Davy <[email protected]>2015-11-15 17:10:40 +0100
committerAxel Davy <[email protected]>2016-02-04 22:12:17 +0100
commitb6bb8d561adece9e10603f560c23c1b1fdd5e0dd (patch)
tree6cc24850a29a6041ec810a8393fc2a9d375652c9 /src/gallium/state_trackers/nine
parentb63c144d1e12c0052fe5e697d9fa031eb1439bbe (diff)
st/nine: Unset vtxbuf on reset
We forgot to reset vtxbuf. This fixes some crashes. Signed-off-by: Axel Davy <[email protected]> Reviewed-by: Patrick Rudolph <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers/nine')
-rw-r--r--src/gallium/state_trackers/nine/nine_state.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/nine/nine_state.c b/src/gallium/state_trackers/nine/nine_state.c
index 2e77d62b64f..f994ba98410 100644
--- a/src/gallium/state_trackers/nine/nine_state.c
+++ b/src/gallium/state_trackers/nine/nine_state.c
@@ -1314,8 +1314,10 @@ nine_state_clear(struct nine_state *state, const boolean device)
nine_bind(&state->vs, NULL);
nine_bind(&state->ps, NULL);
nine_bind(&state->vdecl, NULL);
- for (i = 0; i < PIPE_MAX_ATTRIBS; ++i)
+ for (i = 0; i < PIPE_MAX_ATTRIBS; ++i) {
nine_bind(&state->stream[i], NULL);
+ pipe_resource_reference(&state->vtxbuf[i].buffer, NULL);
+ }
nine_bind(&state->idxbuf, NULL);
for (i = 0; i < NINE_MAX_SAMPLERS; ++i) {
if (device &&