mesa/src/compiler
Samuel Pitoiset 6bde8c5608 spirv: fix visiting inner loops with same break/continue block
We should stop walking through the CFG when the inner loop's
break block ends up as the same block as the outer loop's
continue block because we are already going to visit it.

This fixes the following assertion which ends up by crashing
in RADV or ANV:

SPIR-V parsing FAILED:
In file ../src/compiler/spirv/vtn_cfg.c:381
block->node.link.next == NULL
0 bytes into the SPIR-V binary

This also fixes a crash with a camera shader from SteamVR.

v2: make use of vtn_get_branch_type() and add an assertion

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106090
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106504
CC: 18.0 18.1 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-05-15 21:38:19 +02:00
..
glsl meson: remove dependency antipattern 2018-05-14 14:55:36 +01:00
nir anv,nir: add generated files to .gitignore(s) 2018-05-12 20:14:49 -07:00
spirv spirv: fix visiting inner loops with same break/continue block 2018-05-15 21:38:19 +02:00
.gitignore
Android.glsl.gen.mk
Android.glsl.mk
Android.mk
Android.nir.gen.mk android: Use new nir intrinsics python scripts 2018-03-28 14:48:47 +03:00
Android.nir.mk
blob.c
blob.h
builtin_type_macros.h glsl_types: vec8/vec16 support 2018-03-25 10:42:54 -04:00
glsl_types.cpp glsl: prevent spurious Valgrind errors when serializing NIR 2018-04-20 09:21:23 +02:00
glsl_types.h mesa: include mtypes.h less 2018-04-12 19:31:30 -04:00
Makefile.am autotools: Include new meson files 2018-04-20 20:26:56 -07:00
Makefile.glsl.am compiler: All leaf Makefile.am should use += 2018-03-29 14:09:41 -07:00
Makefile.nir.am nir: Fix a typo in src/compiler/Makefile.nir.am 2018-04-09 08:32:45 -06:00
Makefile.sources nir: Add the start of a format conversion helper header 2018-05-09 11:16:33 -07:00
Makefile.spirv.am spirv: autotools: add vtn_gather_types_c.py in distribution tarball 2018-04-10 10:37:46 +02:00
meson.build meson: remove dummy_cpp 2018-04-24 14:08:15 -07:00
nir_types.cpp glsl_types: vec8/vec16 support 2018-03-25 10:42:54 -04:00
nir_types.h compiler: int8/uint8 support 2018-03-14 10:08:42 -04:00
SConscript spirv: Fix building with SCons 2018-03-30 14:33:03 -06:00
SConscript.glsl
SConscript.nir nir: mako all the intrinsics 2018-03-27 08:36:37 -04:00
SConscript.spirv spirv: Fix building with SCons 2018-03-30 14:33:03 -06:00
shader_enums.c compiler: Add SYSTEM_VALUE_IS_INDEXED_DRAW and instrinsics 2018-05-02 11:20:40 +02:00
shader_enums.h compiler: Add SYSTEM_VALUE_IS_INDEXED_DRAW and instrinsics 2018-05-02 11:20:40 +02:00
shader_info.h compiler/spirv: add implementation to check for SpvCapabilityInt16 support 2018-05-03 11:40:26 +02:00