[Mesa-dev] [PATCH] radeonsi: avoid crash when a sampler state is bound for a buffer texture

Nicolai Hähnle nhaehnle at gmail.com
Sun Mar 13 14:34:06 UTC 2016


On 12.03.2016 19:09, Ilia Mirkin wrote:
> On Fri, Mar 11, 2016 at 11:17 AM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
>> From: Nicolai Hähnle <nicolai.haehnle at amd.com>
>>
>> Sampler states don't really make sense with buffer textures, but the PBO
>> upload code sets one because apparently nouveau needs it. It would be
>> nice to work that out at some point, but in any case being defensive
>> here is a good idea.
>
> Sampler states are set in regular GL as well if you have a regular
> buffer texture too, no?

I suppose you're right - we just haven't had many users of buffer 
textures before PBO upload, so nobody noticed this. I'll change the 
comment before pushing.

Cheers,
Nicolai

>
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94284
>> Cc: mesa-stable at lists.freedesktop.org
>> ---
>>   src/gallium/drivers/radeonsi/si_descriptors.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c
>> index 9aa4877..f5ad113 100644
>> --- a/src/gallium/drivers/radeonsi/si_descriptors.c
>> +++ b/src/gallium/drivers/radeonsi/si_descriptors.c
>> @@ -324,6 +324,7 @@ static void si_bind_sampler_states(struct pipe_context *ctx, unsigned shader,
>>                   */
>>                  if (samplers->views.views[i] &&
>>                      samplers->views.views[i]->texture &&
>> +                   samplers->views.views[i]->texture->target != PIPE_BUFFER &&
>>                      ((struct r600_texture*)samplers->views.views[i]->texture)->fmask.size)
>>                          continue;
>>
>> --
>> 2.5.0
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list