mesa/src
Kenneth Graunke 0e4a75f917 intel/compiler: Record whether any pull constant loads occur
I would like for iris to be able to avoid setting up SURFACE_STATE
for UBOs in the common case where all constants are pushed.

Unfortunately, we don't know up front whether everything will be
pushed: the backend is allowed to demote pushed UBOs to pull loads
fairly late in the process.  This is probably desirable though, as
we'd like the backend to be able to re-pull pushed data to break up
long live ranges in response to register pressure.

Here we simply add a "are there any pull loads at all" boolean to
prog_data, which is a bit crude but at least allows us to skip work
in the common "everything pushed" case.  We could skip more work by
tracking exactly which UBO surfaces are pulled in a bitmask, but I
wanted to avoid bringing back the old mark_surface_used() mechanism.

Finer-grained tracking could allow us to skip a bit more work when
multiple UBOs are in use and /some/ are 100% pushed, but others are
accessed via pulls.  However, I'm not sure how common this is and
it would save at most 4 pull descriptors, so we defer that for now.

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: Track per-stage bind history, reduce work accordingly 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