From: Nicolai Hähnle Date: Fri, 11 Mar 2016 16:07:38 +0000 (-0500) Subject: radeonsi: avoid crash when a sampler state is bound for a buffer texture X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=28d2a7e67c4e8a9835710e5775cd758aa7e27f47;p=mesa.git radeonsi: avoid crash when a sampler state is bound for a buffer texture Sampler states don't really make sense with buffer textures, but they can be set anyway, so we need to be defensive here. This bug was lurking for a while and was finally noticed due to PBO uploads setting sampler states. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94284 Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Marek Olšák Tested-by: Laurent Carlier Tested-by: Shawn Starr --- diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c index 11b902516e0..d12b3e6b28a 100644 --- a/src/gallium/drivers/radeonsi/si_descriptors.c +++ b/src/gallium/drivers/radeonsi/si_descriptors.c @@ -329,6 +329,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;