diff --git a/.pick_status.json b/.pick_status.json index 48fb8932bee..2c3d91ee41d 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -868,7 +868,7 @@ "description": "mesa: fix bindless uniform samplers update", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "736f1f70ab8a7995041a707d28d0e1a5f2940f4c" }, diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp index b5b5f1a6ec4..206f6a86450 100644 --- a/src/mesa/main/uniform_query.cpp +++ b/src/mesa/main/uniform_query.cpp @@ -1340,7 +1340,10 @@ _mesa_uniform(GLint location, GLsizei count, const GLvoid *values, ctx_flushed = true; } } - if (!ctx_flushed) + /* Return early if possible. Bindless samplers need to be processed + * because of the !sampler->bound codepath below. + */ + if (!ctx_flushed && !(uni->type->is_sampler() && uni->is_bindless)) return; /* no change in uniform values */ /* If the uniform is a sampler, do the extra magic necessary to propagate