mesa/src
Lionel Landwerlin a13e79843e nir: prevent peephole from generating invalid NIR
We can't append instructions following a return/halt instruction
because the control flow helpers will modify the successor of the
block containing the return/halt. And the NIR validator enforces that
the return/halt must have the end of the function as successor.

This tends to happen following lower_shader_calls lowering which
inserts halts. This probably doesn't prevent the optimization, it'll
just happen in one of the return shaders after the halt has been
removed.

v2: Move prev block ending check earlier in the function (Daniel)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12506>
2021-08-25 11:38:21 +00:00
..
amd ci: update the list of expected failures/skips for RADV 2021-08-25 13:00:07 +02:00
android_stub egl/android: refactor to use the legit vndk/window.h header 2021-06-09 21:07:54 +00:00
asahi nir: add indirect loop unrolling to compiler options 2021-08-03 10:54:50 +00:00
broadcom broadcom/compiler: Fix qpu.flags.muf typo. 2021-08-24 08:30:59 +00:00
compiler nir: prevent peephole from generating invalid NIR 2021-08-25 11:38:21 +00:00
drm-shim drm-shim: Support kernels with >4k pages 2021-08-13 23:33:52 +00:00
egl python: explicitly require python3 2021-08-14 21:44:31 +00:00
etnaviv android: Drop the Android.mk build system 2021-07-08 14:44:02 -05:00
freedreno tu: Enable VK_KHR_uniform_buffer_standard_layout 2021-08-23 18:30:22 +00:00
gallium iris/ci: Add manual jobs for tracking performance 2021-08-25 09:32:17 +02:00
gbm gbm: add GBM_FORMAT_R16 2021-08-06 13:38:00 +00:00
getopt
glx glx: Simplify context API profile computation 2021-08-18 21:11:02 +00:00
gtest
hgl
imgui
intel intel/compiler: Basic support for DP4A instruction 2021-08-24 19:58:57 +00:00
loader driconfig: Add support for device specific config 2021-08-02 16:37:24 -07:00
mapi glthread: implement glGetUniformLocation without syncing 2021-08-24 15:24:07 +00:00
mesa glthread: implement glGetUniformLocation without syncing 2021-08-24 15:24:07 +00:00
microsoft spirv_to_dxil: Run nir_lower_tex during compilation 2021-08-24 22:18:30 +00:00
nouveau
panfrost panfrost: Move bo->label assignment into the lock 2021-08-24 14:31:54 -04:00
tool pps: Panfrost pps driver 2021-07-13 11:03:55 +00:00
util gallium: use a packed enum to make pipe_prim_mode 1-byte large with __GNUC__ 2021-08-24 10:43:44 -04:00
virtio venus: use uint32_t in vn_ring_submit 2021-08-24 08:56:16 -07:00
vulkan vulkan/wsi/sw: wait for image fence before submitting to queue 2021-08-24 03:30:17 +10:00
meson.build meson: Build panfrost with tools=panfrost 2021-07-22 17:55:49 +00:00