mesa/src/intel
Jason Ekstrand d9ea015ced anv/pipeline: Lower pipeline layouts etc. after linking
This allows us to use the link-optimized shader for determining binding
table layouts and, more importantly, URB layouts.  For apps running on
DXVK, this is extremely important as DXVK likes to declare max-size
inputs and outputs and this lets is massively shrink our URB space
requirements.

VkPipeline-db results (Batman pipelines only) on KBL:

    total instructions in shared programs: 820403 -> 790008 (-3.70%)
    instructions in affected programs: 273759 -> 243364 (-11.10%)
    helped: 622
    HURT: 42

    total spills in shared programs: 8449 -> 5212 (-38.31%)
    spills in affected programs: 3427 -> 190 (-94.46%)
    helped: 607
    HURT: 2

    total fills in shared programs: 11638 -> 6067 (-47.87%)
    fills in affected programs: 5879 -> 308 (-94.76%)
    helped: 606
    HURT: 3

Looking at shaders by hand, it makes the URB between TCS and TES go from
containing 32 per-vertex varyings per tessellation shader pair to a more
reasonable 8-12.  For a 3-vertex patch, that's at least half the URB
space no matter how big the patch section is.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-08-17 10:50:28 -05:00
..
blorp blorp: Properly handle Z24X8 blits. 2018-08-11 12:34:01 -07:00
common intel/batch-decoder: replace local ARRAY_LENGTH() macro with global ARRAY_SIZE() 2018-08-16 17:38:31 +01:00
compiler Revert "intel/nir: Call nir_lower_io_to_scalar_early" 2018-08-15 17:56:50 -05:00
dev intel: devinfo: add simulator id 2018-07-05 11:57:45 +01:00
genxml intel: various python cleanups 2018-08-16 17:38:25 +01:00
isl intel: various python cleanups 2018-08-16 17:38:25 +01:00
tools intel/tools: add missing variable initialisation 2018-08-09 11:20:18 +01:00
vulkan anv/pipeline: Lower pipeline layouts etc. after linking 2018-08-17 10:50:28 -05: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 intel: tools: import intel_aubdump 2018-07-05 11:57:45 +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 intel/isl: Add format conversion code 2018-05-09 11:16:33 -07: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: add error2aub creation into autotools 2018-08-02 21:15:57 +03:00
Makefile.vulkan.am anv/android: Fix Autotools build for VK_ANDROID_native_buffer 2018-07-11 11:09:16 -07:00
meson.build intel: don't build tools without -Dtools=intel 2018-08-07 11:58:47 +01:00