mesa/src
Kenneth Graunke 3da8a8a3d6 iris: Avoid uploading SURFACE_STATE descriptors for UBOs if possible
If we can entirely push uniform data, we don't need a SURFACE_STATE
descriptor for pulling data.  Since constant uploads are a very common
operation, and being able to push all data is also very common, we would
like to avoid the overhead in this case.

This patch defers uploading new descriptors.  Instead of handling that
at iris_set_constant_buffer, we do it at iris_update_compiled_shaders,
where we can see the currently bound shader variants.  If any need pull
descriptors, and descriptors are missing, we update them and flag that
the binding table also needs to be refreshed.

Improves performance in GFXBench5 gl_driver2 on an i7-6770HQ by
31.9774% +/- 1.12947% (n=15).

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
2019-09-18 15:44:22 -07:00
..
amd radv: Add DFSM support. 2019-09-18 21:28:51 +00:00
broadcom nir: allow specifying filter callback in lower_alu_to_scalar 2019-09-06 01:51:28 +00:00
compiler nir/opt_if: Fix undef handling in opt_split_alu_of_phi() 2019-09-18 17:18:34 -04:00
drm-shim meson: replace libmesa_util with idep_mesautil 2019-08-03 00:08:37 +00:00
egl egl/android: Fix build since the DRI fourcc removal. 2019-09-12 21:54:30 +00:00
etnaviv etnaviv: Add valgrind support 2019-08-14 10:36:20 +02:00
freedreno tu: Set up glsl types. 2019-09-18 16:51:18 +02:00
gallium iris: Avoid uploading SURFACE_STATE descriptors for UBOs if possible 2019-09-18 15:44:22 -07:00
gbm gbm: Add buffer handling and visuals for fp16 formats 2019-08-21 18:36:57 +00:00
getopt meson: build getopt when using msvc 2019-09-10 20:36:47 +00:00
glx glx: Remove unused indirection for glx_context->fillImage 2019-09-12 13:23:32 -04:00
gtest delete autotools .gitignore files 2019-04-29 21:17:19 +00:00
hgl haiku: Fix hgl dispatch build. Tested under meson/scons. 2019-04-02 16:06:00 -05:00
imgui imgui: bump imgui memory editor copy 2019-06-18 15:34:13 +00:00
intel intel/compiler: Record whether any pull constant loads occur 2019-09-18 15:44:22 -07:00
loader driconfig: add a new engine name/version parameter 2019-09-15 15:37:02 +03:00
mapi scons: Make scons and meson agree about path to glapi generated headers 2019-09-16 17:54:00 +00:00
mesa i965: support AYUV/XYUV for external import only 2019-09-18 12:07:23 +03:00
panfrost panfrost: Rework midgard_pair_load_store() to kill the nested foreach loop 2019-09-13 12:03:47 +02:00
util util: add fp64 -> fp32 conversion support for RTNE and RTZ rounding modes 2019-09-17 23:39:18 +03:00
vulkan vulkan: Update the XML and headers to 1.1.123 2019-09-17 04:11:05 +00:00
meson.build gl: drop incorrect pkg-config file for glvnd 2019-09-18 22:16:51 +01:00
SConscript