mesa/src/intel
Kenneth Graunke f6898f2b55 intel/compiler: Properly consider UBO loads that cross 32B boundaries.
The UBO push analysis pass incorrectly assumed that all values would fit
within a 32B chunk, and only recorded a bit for the 32B chunk containing
the starting offset.

For example, if a UBO contained the following, tightly packed:

   vec4 a;  // [0, 16)
   float b; // [16, 20)
   vec4 c;  // [20, 36)

then, c would start at offset 20 / 32 = 0 and end at 36 / 32 = 1,
which means that we ought to record two 32B chunks in the bitfield.

Similarly, dvec4s would suffer from the same problem.

v2: Rewrite the accounting, my calculations were wrong.
v3: Write a comment about partial values (requested by Jason).

Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com> [v1]
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> [v3]
2018-06-14 14:58:59 -07:00
..
blorp intel/blorp: Emit VF cache invalidates for 48-bit bugs with softpin. 2018-06-06 19:45:09 -07:00
common intel/common: Add an address de-canonicalization helper 2018-05-31 16:51:45 -07:00
compiler intel/compiler: Properly consider UBO loads that cross 32B boundaries. 2018-06-14 14:58:59 -07:00
dev i965/glk: Add l3 banks count for 2x6 configuration 2018-05-21 16:43:26 -07:00
genxml intel/genxml: Assert that genxml field start and ends are sane. 2018-05-07 23:06:52 -07:00
isl intel/isl: Add bounds-checking assertions for the format_info table 2018-06-07 11:23:34 -07:00
tools intel: aubinator: add an option to limit the number of decoded VBO lines 2018-05-02 19:46:47 +01:00
vulkan anv: reduce maxFragmentInputComponents 2018-06-14 09:54:28 +02: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: add intel_sanitize_gpu to EXTRA_DIST 2018-06-05 10:32:35 -07: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: move canonical_address calculation into a separate function 2018-05-27 19:24:33 -07:00
Makefile.tools.am intel: Move batch decoder/disassembler from tools/ to common/ 2018-05-02 09:27:56 -07:00
Makefile.vulkan.am src/intel/Makefile.vulkan.am: add missing MKDIR_GEN 2018-05-09 16:08:52 -07:00
meson.build intel/common: Use isl for decoder surface formats 2018-03-05 09:51:04 -08:00