Displaying 6 results from an estimated 6 matches for "nv50_screen_tsc_unlock".
2014 Aug 30
3
[Mesa-stable] [PATCH 2/2] nv50: zero out unbound samplers
...rc/gallium/drivers/nouveau/nv50/nv50_state.c
> index 48bc079..cf84f88 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]) {
>...
2014 Aug 31
2
[Mesa-stable] [PATCH 2/2] nv50: zero out unbound samplers
...that a subsequent call with a larger number of samplers doesn't try to
> unlock potentially-deleted samplers.
> 
   for (i = 0; i < nr; ++i) {
      struct nv50_tsc_entry *old = nv50->samplers[s][i];
      nv50->samplers[s][i] = nv50_tsc_entry(hwcso[i]);
      if (old)
         nv50_screen_tsc_unlock(nv50->screen, old);
   }
In the above hunk we get the old/current tsc, drop in on the floor and assign
the new one in it's place. Does where does the ST keep track of the old one in
order to nuke it via sampler_state_delete, or is it already deleted by the
time we get here ?
-Emil
>...
2014 Aug 30
2
[PATCH 1/2] nvc0/ir: avoid infinite recursion when finding first uses of tex
In certain circumstances, findFirstUses could end up doubling back on
instructions it had already processed, resulting in an infinite
recursion. Avoid this by keeping track of already-visited instructions.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83079
Tested-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de>
Signed-off-by: Ilia Mirkin <imirkin at
2014 Aug 30
0
[PATCH 2/2] nv50: zero out unbound samplers
...eau/nv50/nv50_state.c b/src/gallium/drivers/nouveau/nv50/nv50_state.c
index 48bc079..cf84f88 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(n...
2014 Aug 30
0
[Mesa-stable] [PATCH 2/2] nv50: zero out unbound samplers
...ouveau/nv50/nv50_state.c
>> index 48bc079..cf84f88 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-&g...
2014 Aug 31
0
[Mesa-stable] [PATCH 2/2] nv50: zero out unbound samplers
...ber of samplers doesn't try to
>> unlock potentially-deleted samplers.
>>
>
>    for (i = 0; i < nr; ++i) {
>       struct nv50_tsc_entry *old = nv50->samplers[s][i];
>
>       nv50->samplers[s][i] = nv50_tsc_entry(hwcso[i]);
>       if (old)
>          nv50_screen_tsc_unlock(nv50->screen, old);
>    }
>
> In the above hunk we get the old/current tsc, drop in on the floor and assign
> the new one in it's place. Does where does the ST keep track of the old one in
> order to nuke it via sampler_state_delete, or is it already deleted by the
> time...