mesa/src
Jason Ekstrand 9314084237 nir: Teach loop unrolling about 64-bit instruction lowering
The lowering we do for 64-bit instructions can cause a single NIR ALU
instruction to blow up into hundreds or thousands of instructions
potentially with control flow.  If loop unrolling isn't aware of this,
it can unroll a loop 20 times which contains a nir_op_fsqrt which we
then lower to a full software implementation based on integer math.
Those 20 invocations suddenly get a lot more expensive than NIR loop
unrolling currently expects.  By giving it an approximate estimate
function, we can prevent loop unrolling from going to town when it
shouldn't.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2019-03-06 17:24:57 +00:00
..
amd radv: set num_components on vulkan_resource_index intrinsic 2019-03-06 11:56:21 +00:00
broadcom v3d: Drop the V3D 3.x vpm read dead code elimination. 2019-03-05 12:57:39 -08:00
compiler nir: Teach loop unrolling about 64-bit instruction lowering 2019-03-06 17:24:57 +00:00
egl egl: fix libdrm-less builds 2019-03-05 13:04:06 +00:00
freedreno freedreno/ir3: track register pressure in sched 2019-03-03 13:27:50 -05:00
gallium tgsi_to_nir: Set correct location for uniforms. 2019-03-05 19:13:27 +00:00
gbm gbm: drop duplicate #defines 2019-02-14 11:20:00 +00:00
getopt
glx glx: fix shared memory leak in X11 2019-02-28 14:23:02 +10:00
gtest meson: hide warnings from external project gtest 2018-10-31 18:20:25 +00:00
hgl meson: Add Haiku platform support v4 2018-02-16 16:56:34 -06:00
imgui imgui: update memory editor 2019-02-26 12:49:07 +00:00
intel intel/fs: Fix extract_u8 of an odd byte from a 64-bit integer 2019-03-06 08:35:45 -08:00
loader loader: use loader_open_device() to handle O_CLOEXEC 2019-02-26 11:07:23 +00:00
mapi mapi: work around GCC LTO dropping assembly-defined functions 2019-02-13 14:20:51 +00:00
mesa nir: rename glsl_type_is_struct() -> glsl_type_is_struct_or_ifc() 2019-03-06 13:10:02 +11:00
util util: #define PATH_MAX when undefined (eg. Hurd) 2019-03-05 12:27:35 +00:00
vulkan meson: remove unused include_directories(vulkan) 2019-03-06 12:46:11 +00:00
Makefile.am build: move imgui out of src/intel/tools to be reused 2019-02-21 18:06:05 +00:00
meson.build meson: avoid going back up the tree with include_directories() 2019-03-05 10:02:47 +00:00
SConscript scons: Remove gles option. 2018-10-19 16:50:26 +01:00