gallium/u_threaded_context: Use PIPE_MAX_SHADER_SAMPLER_VIEWS for sampler_buffers
authorJason Ekstrand <jason.ekstrand@collabora.com>
Mon, 18 Apr 2022 17:03:35 +0000 (12:03 -0500)
committerJason Ekstrand <jason.ekstrand@collabora.com>
Tue, 10 May 2022 16:23:16 +0000 (11:23 -0500)
Sampler views and samplers may not be the same limit; in fact one is 32
while the other is 128.  The sampler_buffers field is tracking sampler
views (yes, naming is confusing) so we should use the right limit.

Fixes: e9c41b321488 ("gallium/u_threaded: add buffer lists - tracking of buffers referenced by tc")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988>

src/gallium/auxiliary/util/u_threaded_context.h

index 3b7ea7a..67d2d69 100644 (file)
@@ -516,7 +516,7 @@ struct threaded_context {
    uint32_t shader_buffers_writeable_mask[PIPE_SHADER_TYPES];
    uint32_t image_buffers_writeable_mask[PIPE_SHADER_TYPES];
    /* Don't use PIPE_MAX_SHADER_SAMPLER_VIEWS because it's too large. */
-   uint32_t sampler_buffers[PIPE_SHADER_TYPES][PIPE_MAX_SAMPLERS];
+   uint32_t sampler_buffers[PIPE_SHADER_TYPES][PIPE_MAX_SHADER_SAMPLER_VIEWS];
 
    struct tc_batch batch_slots[TC_MAX_BATCHES];
    struct tc_buffer_list buffer_lists[TC_MAX_BUFFER_LISTS];