From 57d9222ef29e080e944f28fdeeef9ed226461e08 Mon Sep 17 00:00:00 2001 From: Charmaine Lee Date: Tue, 1 Aug 2017 18:02:57 -0700 Subject: [PATCH] svga: abort shader translation upon indirect indexing of temporaries This patch aborts shader translation upon indirect indexing of temporary register on non-vgpu10 device. This prevents non-supported feature sending to the device. Tested wth MTT-piglit, glretrace. Reviewed-by: Brian Paul --- src/gallium/drivers/svga/svga_tgsi.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/svga/svga_tgsi.c b/src/gallium/drivers/svga/svga_tgsi.c index 7cbd5166900..0b2d8af64d9 100644 --- a/src/gallium/drivers/svga/svga_tgsi.c +++ b/src/gallium/drivers/svga/svga_tgsi.c @@ -209,6 +209,12 @@ svga_tgsi_vgpu9_translate(struct svga_context *svga, goto fail; } + if (emit.info.indirect_files & (1 << TGSI_FILE_TEMPORARY)) { + debug_printf( + "svga: indirect indexing of temporary registers is not supported.\n"); + goto fail; + } + emit.in_main_func = TRUE; if (!svga_shader_emit_header(&emit)) { -- 2.30.2