virgl: Work around old virglrenderer's BARRIER counting bug.

One less regression from doing nir-to-tgsi on CI's virglrenderer.

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15014>
This commit is contained in:
Emma Anholt 2021-10-08 10:10:43 -07:00 committed by Marge Bot
parent af19774dd4
commit 2fd9e072ce
1 changed files with 7 additions and 0 deletions

View File

@ -552,6 +552,13 @@ int virgl_encode_shader_state(struct virgl_context *ctx,
if (virgl_debug & VIRGL_DEBUG_TGSI)
debug_printf("TGSI:\n---8<---\n%s\n---8<---\n", str);
/* virglrenderer before addbd9c5058dcc9d561b20ab747aed58c53499da mis-counts
* the tokens needed for a BARRIER, so ask it to allocate some more space.
*/
const char *barrier = str;
while ((barrier = strstr(barrier + 1, "BARRIER")))
num_tokens++;
shader_len = strlen(str) + 1;
left_bytes = shader_len;