mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 20:10:17 +01:00
etnaviv: handle NULL views in set_sampler_views
Passing NULL for the views parameter should be the same as passing an array of NULL, according to the documentation. So let's respect that detail. This fixes a crash when using GALLIUM_HUD. The wrong handling of views parameter was causing problems starting with2813688f8d("gallium/hud: don't use cso_context to restore VBs, constbuf 0 and sampler views"). Cc: <mesa-stable@lists.freedesktop.org> Fixes:c9e8b49b88("etnaviv: gallium driver for Vivante GPUs") Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Lucas Stach <l.stach@pengutronix.de> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8670>
This commit is contained in:
parent
f180bf3e03
commit
81ab9fe2d0
1 changed files with 4 additions and 2 deletions
|
|
@ -247,8 +247,10 @@ set_sampler_views(struct etna_context *ctx, unsigned start, unsigned end,
|
|||
uint32_t prev_active_sampler_views = ctx->active_sampler_views;
|
||||
|
||||
for (i = start, j = 0; j < nr; i++, j++, mask <<= 1) {
|
||||
pipe_sampler_view_reference(&ctx->sampler_view[i], views[j]);
|
||||
if (views[j]) {
|
||||
struct pipe_sampler_view *view = views ? views[i] : NULL;
|
||||
|
||||
pipe_sampler_view_reference(&ctx->sampler_view[i], view);
|
||||
if (view) {
|
||||
ctx->active_sampler_views |= mask;
|
||||
ctx->dirty_sampler_views |= mask;
|
||||
} else
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue