diff options
author | Ilia Mirkin <[email protected]> | 2014-08-30 13:35:47 -0400 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2014-09-05 14:04:47 +0100 |
commit | 49cd42aab1a55ecfd5d4a186de6931aa4164213f (patch) | |
tree | 9c01f39f4fb09450ff43a0ecad60aa2c3d2647da | |
parent | eaa9e14ce5a3e69c6aa303f2e5f039c1cc0b8de1 (diff) |
nv50: zero out unbound samplers
Samplers are only defined up to num_samplers, so set all samplers above
nr to NULL so that we don't try to read them again later.
Tested-by: Christian Ruppert <[email protected]>
Signed-off-by: Ilia Mirkin <[email protected]>
Cc: "10.2 10.3" <[email protected]>
(cherry picked from commit 362cd26960aff2e997584064443dcc0418516ae6)
-rw-r--r-- | src/gallium/drivers/nouveau/nv50/nv50_state.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_state.c b/src/gallium/drivers/nouveau/nv50/nv50_state.c index 48bc07974a2..cf84f886662 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_state.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_state.c @@ -585,9 +585,12 @@ nv50_stage_sampler_states_bind(struct nv50_context *nv50, int s, nv50_screen_tsc_unlock(nv50->screen, old); } assert(nv50->num_samplers[s] <= PIPE_MAX_SAMPLERS); - for (; i < nv50->num_samplers[s]; ++i) - if (nv50->samplers[s][i]) + for (; i < nv50->num_samplers[s]; ++i) { + if (nv50->samplers[s][i]) { nv50_screen_tsc_unlock(nv50->screen, nv50->samplers[s][i]); + nv50->samplers[s][i] = NULL; + } + } nv50->num_samplers[s] = nr; |