intel/compiler: Account for built-in uniforms in analyze_ubo_ranges
authorJason Ekstrand <jason.ekstrand@intel.com>
Mon, 23 Jul 2018 16:41:26 +0000 (09:41 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 23 Jul 2018 22:28:17 +0000 (15:28 -0700)
commit820d5e51b7060f02d6c12fbb1c349111022ff37a
tree6da91c27fc93007d2417c64a883de0dcb75835b4
parent62024fa775058013a5a75f576f1129239c95de11
intel/compiler: Account for built-in uniforms in analyze_ubo_ranges

The original pass only looked for load_uniform intrinsics but there are
a number of other places that could end up loading a push constant.  One
obvious omission was images which always implicitly use a push constant.
Legacy VS clip planes also get pushed into the shader.  This fixes some
new Vulkan CTS tests that test random combinations of bindings and, in
particular, test lots of UBOs and images together.

Cc: mesa-stable@lists.freedesktop.org
Cc: Kenneth Graunke <kenneth@whitecape.org>
src/intel/compiler/brw_nir.h
src/intel/compiler/brw_nir_analyze_ubo_ranges.c
src/intel/vulkan/anv_pipeline.c
src/mesa/drivers/dri/i965/brw_gs.c
src/mesa/drivers/dri/i965/brw_tcs.c
src/mesa/drivers/dri/i965/brw_tes.c
src/mesa/drivers/dri/i965/brw_vs.c
src/mesa/drivers/dri/i965/brw_wm.c