mesa/src
Emma Anholt a6a651b96a r300: Delete the loop unrolling.
There were two paths in this code: One was transform_loops, which would
try to detect loops with an iteration count it understood and unroll that
many times.  The other was emulate_loops, which would just figure out how
many instructions the program could have and still compile (hopefully),
and unroll this loop however many times would fit in that.

The transform_loops had no analysis as good as GLSL or NIR loop unrolling
have, so it shouldn't be missed -- any opportunity it found would only be
due to bugs in the unrolling code.

The emulate_loops path had an issue with computing the number of times it
should try to unroll -- if you had more instrs than ALUs available
already, you'd overflow and unroll approximately infinitely many times,
OOMing the system.  But, also, it's better to throw a compiler error about
unsupported loops than to run the loop an incorrect number of times and
call it a success.

Fixes: #5883, #6018
Reviewed-by: Filip Gawin <filip.gawin@zoho.com>
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15004>
2022-02-15 17:27:17 +00:00
..
amd compiler: Extract num_mesh_vertices_per_primitive function. 2022-02-14 11:13:42 +01:00
android_stub android_stub: update platform headers to include atrace 2021-10-09 00:42:32 +00:00
asahi agx: Don't kill helper threads in ld_var 2022-02-06 15:02:39 +00:00
broadcom vc4/ci: update failing piglit tests 2022-02-15 09:21:23 +01:00
compiler spirv: Create PRIMITIVE_INDICES for NV_mesh_shader on-demand. 2022-02-14 11:13:45 +01:00
drm-shim
egl egl/wayland: Don't replace existing backbuffer in get_buffers 2022-02-07 09:57:41 +00:00
etnaviv etnaviv: add support for INTEL_blackhole_render 2022-01-31 16:52:29 +00:00
freedreno turnip: advertise VK_EXT_queue_family_foreign 2022-02-14 21:27:35 +00:00
gallium r300: Delete the loop unrolling. 2022-02-15 17:27:17 +00:00
gbm replace 0 with NULL for NULL pointers 2022-01-10 22:53:32 +00:00
getopt
glx glx: Use the new no-error driver interface 2022-02-04 18:36:24 +00:00
gtest gtest: Fix output of array ASSERT/EXPECT macros 2021-11-11 09:53:09 -08:00
hgl
imgui
intel intel/compiler: remove what looks like a bad rebase 2022-02-15 01:04:47 +00:00
loader gallium/dri: add missing PIPE_BIND_DRI_PRIME handling 2022-02-08 00:13:07 +00:00
mapi glthread: call _mesa_glthread_BindBuffer unconditionally 2022-02-01 06:11:22 +00:00
mesa gallivm/st/lvp: add flags arg to get_query_result_resource api. 2022-02-15 10:12:01 +10:00
microsoft microsoft/compiler: Fill interpolation for sysval inputs to non-vertex shader 2022-02-11 00:19:17 +00:00
nouveau
panfrost panfrost: Flesh out the Shader Program Descriptor 2022-02-12 09:32:55 -05:00
tool ci: Use a dlclose-disabling preload library for leak checking in Vulkan. 2022-01-27 23:47:46 +00:00
util driconf: Add Heaven entries for Windows .exe 2022-02-10 20:19:00 +00:00
virtio venus: Exposes VK_EXT_4444_formats extension 2022-02-14 21:56:22 +00:00
vulkan vulkan/wsi/wayland: ensure added formats have flags 2022-02-15 09:13:21 +00:00
meson.build meson: start building intel earlier. 2022-01-20 06:41:17 +00:00