mesa/src/compiler
Rob Clark 563ec4754a nir/opt_loop: Don't peel initial break if loop ends in break
A loop that looks like:

   loop {
      do_work_1();
      if (cond) {
         break;
      } else {
      }
      do_work_2();
      break;
   }

We can't pull that break ahead of do_work_1() after hoisting the initial
do_work_1() out of the loop.  So bail in this case.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11711
Fixes: 6b4b044739 ("nir/opt_loop: add loop peeling optimization")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30702>
2024-08-17 14:27:02 +00:00
..
clc clc: force linking of spirvs with mismatching pointer types in signatures 2024-07-25 13:25:02 +00:00
glsl glsl: always copy bindless sampler packing constructors to a temp 2024-08-12 00:39:19 +00:00
isaspec build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
nir nir/opt_loop: Don't peel initial break if loop ends in break 2024-08-17 14:27:02 +00:00
rust compiler/rust: Force native build for the compiler_proc library 2024-08-08 14:41:52 +00:00
spirv vtn: use new derivative builders 2024-08-08 15:26:07 +00:00
builtin_types.py compiler/types: Use Python to generate code for builtin types 2023-09-16 15:17:01 +00:00
builtin_types_c.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
builtin_types_h.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
glsl_types.c nir/lower_vars_to_scratch: calculate threshold-limited variable size separately 2024-08-07 14:32:28 +00:00
glsl_types.h nir/lower_vars_to_scratch: calculate threshold-limited variable size separately 2024-08-07 14:32:28 +00:00
meson.build nak: Move bitset to compiler crate 2024-08-07 21:08:18 +00:00
shader_enums.c nir: add SYSTEM_VALUE_BASE_WORKGROUP_ID 2024-04-24 20:18:48 +00:00
shader_enums.h nir: add ACCESS_KEEP_SCALAR, preventing vectorization 2024-08-10 02:14:44 +00:00
shader_info.h nir: add image_block_size_per_thread_agx info 2024-08-12 19:11:23 -04:00