mesa/src/intel
Jason Ekstrand 02a5442dd7 intel/nir: Use the new structure and array splitting passes
We call structure splitting once because it is guaranteed to split all
the structures in the entire shader in one go.  We call array splitting
in the loop in case future optimizations turn indirects into direct
dereferences and we can split more arrays.

Shader-db results on Kaby Lake:

    total instructions in shared programs: 15177605 -> 15177605 (0.00%)
    instructions in affected programs: 0 -> 0
    helped: 0
    HURT: 0

This is unsurprising because nir_lower_vars_to_ssa already effectively
does structure and array splitting internally.  It doesn't actually
split the variables but it's ability to reason about aliasing in the
presence of arrays and structures and pick out scalars or vectors to be
lowered to SSA values is fairly advanced.

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
2018-08-23 21:44:14 -05:00
..
blorp blorp: Properly handle Z24X8 blits. 2018-08-11 12:34:01 -07:00
common intel/decoder: Decode SFIXED values. 2018-08-23 13:04:53 -07:00
compiler intel/nir: Use the new structure and array splitting passes 2018-08-23 21:44:14 -05:00
dev intel: devinfo: add simulator id 2018-07-05 11:57:45 +01:00
genxml anv/icl: Allow headerless sampler messages for pre-emptable contexts 2018-08-21 12:50:05 -07:00
isl intel/isl: Avoid tiling some 16K-wide render targets 2018-08-22 13:53:19 -07:00
tools intel/tools/aubwrite: Always use physical addresses for traces. 2018-08-22 12:52:41 -07:00
vulkan anv: add VK_EXT_sampler_filter_minmax support 2018-08-22 11:56:19 +01:00
Android.blorp.mk intel: android: remove libdrm_intel requirement 2017-03-30 19:07:23 +01:00
Android.common.mk android: link libmesa_intel_common with zlib and expat 2017-08-02 10:30:50 +03:00
Android.compiler.mk android: fix build issues with brw_nir_trig_workarounds.c 2017-10-04 07:39:05 +03:00
Android.dev.mk android: Use local i915_drm.h rather than the system one. 2018-03-23 10:05:02 -07:00
Android.genxml.mk intel/genxml/icl: Generate packing headers 2018-02-15 16:14:55 -08:00
Android.isl.mk intel/isl/icl: Build and use gen11 surface state emit functions 2018-02-15 16:14:55 -08:00
Android.mk intel: Add missing includes for building on Android 2018-03-06 00:14:22 -08:00
Android.vulkan.mk vulkan: Drop vk_android_native_buffer.xml 2018-04-10 19:29:49 -07:00
Makefile.am configure: allow building with python3 2018-08-23 17:00:13 +01:00
Makefile.blorp.am blorp: automake: add TODO to the tarball 2017-02-24 17:37:00 +00:00
Makefile.common.am automake: intel: correctly append to the LIBADD variable 2017-11-08 14:23:57 +00:00
Makefile.compiler.am configure: allow building with python3 2018-08-23 17:00:13 +01:00
Makefile.dev.am intel: Split gen_device_info out into libintel_dev 2018-03-05 09:47:37 -08:00
Makefile.genxml.am intel: genxml: automake: include gen_bits_header.py in the tarball 2017-04-05 13:16:28 +01:00
Makefile.isl.am intel/isl: Add format conversion code 2018-05-09 11:16:33 -07:00
Makefile.sources anv: Add KHR_display extension to anv [v7] 2018-06-19 14:17:46 -07:00
Makefile.tools.am intel: tools: split memory management out of aubinator 2018-08-22 18:02:11 +01:00
Makefile.vulkan.am configure: allow building with python3 2018-08-23 17:00:13 +01:00
meson.build intel: tools: import ImGui 2018-08-22 18:02:11 +01:00