mesa/src/intel
Kenneth Graunke 2faf227ec2 i965/vec4: Avoid reswizzling MACH instructions in opt_register_coalesce().
opt_register_coalesce() was optimizing sequences such as:

   mul(8) acc0:D, attr18.xyyy:D, attr19.xyyy:D
   mach(8) vgrf5.xy:D, attr18.xyyy:D, attr19.xyyy:D
   mov(8) m4.zw:F, vgrf5.xxxy:F

into:

   mul(8) acc0:D, attr18.xyyy:D, attr19.xyyy:D
   mach(8) m4.zw:D, attr18.xxxy:D, attr19.xxxy:D

This doesn't work - if we're going to reswizzle MACH, we'd need to
reswizzle the MUL as well.  Here, the MUL fills the accumulator's .zw
components with attr18.yy * attr19.yy.  But the MACH instruction expects
.z to contain attr18.x * attr19.x.  Bogus results ensue.

No change in shader-db on Haswell.  Prevents regressions in Timothy's
patches to use enhanced layouts for varying packing (which rearrange
code just enough to trigger this pre-existing bug, but were fine
themselves).

Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2017-04-22 00:01:16 -07:00
..
blorp intel/blorp: Add a blorp_emit_dynamic macro 2017-04-14 13:35:02 -07:00
common intel/decoder: Fix is_header_field starting condition. 2017-04-16 22:58:23 -07:00
compiler i965/vec4: Avoid reswizzling MACH instructions in opt_register_coalesce(). 2017-04-22 00:01:16 -07:00
genxml genxml: Add better support for MI_MATH 2017-04-20 15:24:06 -07:00
isl anv: Use ISL for emitting depth/stencil/hiz 2017-04-10 07:57:21 -07:00
tools intel/aubinator: Stop searching after a custom handler is found 2017-04-06 13:26:08 -07:00
vulkan anv/query: Use genxml for MI_MATH 2017-04-20 15:24:06 -07:00
Android.blorp.mk intel: android: remove libdrm_intel requirement 2017-03-30 19:07:23 +01:00
Android.common.mk android: intel: fix include paths in new "common" library 2016-09-03 20:03:16 -07:00
Android.compiler.mk intel: android: remove libdrm_intel requirement 2017-03-30 19:07:23 +01:00
Android.genxml.mk android: intel: genxml: fix genX_xml.h generation rules 2017-04-04 09:10:46 +03:00
Android.isl.mk android: add libmesa_genxml as dep to libmesa_isl 2017-03-31 08:42:54 +03:00
Android.mk intel/vulkan: Get rid of recursive make 2017-03-13 11:16:35 +00:00
Android.vulkan.mk intel: android: remove libdrm_intel requirement 2017-03-30 19:07:23 +01:00
Makefile.am intel: automake: move INTEL_CFLAGS as applicable 2017-03-30 19:07:28 +01:00
Makefile.blorp.am blorp: automake: add TODO to the tarball 2017-02-24 17:37:00 +00:00
Makefile.common.am intel: automake: move INTEL_CFLAGS as applicable 2017-03-30 19:07:28 +01:00
Makefile.compiler.am intel/compiler: link all tests again gtest, even test_eu_compact" 2017-03-13 11:16:35 +00: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: Stop linking libi965_compiler.la into tests 2017-03-13 11:16:33 +00:00
Makefile.sources i965/fs: rename lower_d2x to lower_conversions 2017-04-14 14:56:07 -07:00
Makefile.tools.am intel: tools: add aubinator_error_decode tool 2017-04-04 21:22:26 +01:00
Makefile.vulkan.am anv: automake: ensure that the destination directory is created 2017-03-24 12:02:04 +00:00