Andrii Simiklit
d1b7462849
i965/vec4: Ignore swizzle of VGRF for use by var_range_end()
...
Issue description from Matt's commit e7c376ad :
"var_range_end(v, n) loops over the n components of variable number v and
finds the maximum value, giving the last use of any component of v.
Therefore it expects v to correspond to the variable associated with the
.x channel of the VGRF.
var_from_reg() however returns the variable for the first channel of the
VGRF, post-swizzle.
So, if the last register had a swizzle with y, z, or w in the swizzle
component, we would read out of bounds. For any other register, we would
read liveness information from the next register.
The fix is to convert the src_reg to a dst_reg in order to call the
dst_reg version of var_from_reg() that doesn't consider the swizzle."
Closes : #3003
Fixes: 48dfb30f ('intel/compiler: Move all live interval analysis results into vec4_live_variables')
Reviewed-by: Matt Turner <mattst88@gmail.com >
Signed-off-by: Andrii Simiklit <asimiklit.work@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4941 >
2020-05-20 20:19:18 +00:00
..
2020-04-28 23:01:27 -07:00
2020-04-28 23:01:27 -07:00
2018-02-28 15:03:51 -08:00
2019-04-10 13:15:33 -07:00
2019-04-10 13:15:33 -07:00
2020-05-07 10:55:50 -07:00
2020-05-01 12:50:28 -07:00
2020-03-06 10:20:39 -08:00
2019-07-10 19:35:55 +00:00
2020-04-28 23:01:27 -07:00
2020-04-28 23:01:27 -07:00
2020-02-18 09:17:51 -08:00
2020-01-22 00:19:21 +00:00
2020-04-30 14:45:50 +00:00
2020-04-29 07:17:27 +00:00
2020-04-21 11:09:04 -07:00
2020-01-31 17:23:39 +00:00
2020-04-30 14:45:50 +00:00
2020-04-28 23:00:29 -07:00
2020-04-28 23:00:29 -07:00
2020-03-11 21:21:25 +00:00
2020-03-06 10:21:03 -08:00
2020-04-17 08:21:43 -07:00
2020-03-06 10:20:57 -08:00
2020-03-06 10:20:57 -08:00
2020-04-29 07:17:27 +00:00
2020-04-17 08:21:40 -07:00
2020-04-17 08:21:40 -07:00
2020-03-06 10:20:39 -08:00
2020-03-06 10:20:39 -08:00
2020-05-18 21:09:17 +00:00
2020-04-21 11:09:03 -07:00
2020-04-29 16:45:51 +00:00
2020-03-06 10:20:57 -08:00
2020-04-17 08:21:42 -07:00
2020-04-23 00:53:14 +00:00
2018-10-15 18:10:27 -07:00
2020-04-28 23:01:03 -07:00
2020-05-18 21:09:17 +00:00
2020-04-28 23:01:27 -07:00
2020-01-22 00:19:20 +00:00
2020-01-22 08:35:18 +01:00
2019-03-06 08:35:36 -08:00
2018-12-11 21:26:23 -06:00
2020-03-06 10:20:37 -08:00
2020-04-28 23:00:29 -07:00
2020-04-29 23:40:36 +00:00
2020-04-28 23:01:03 -07:00
2020-04-28 23:00:29 -07:00
2020-04-28 23:00:29 -07:00
2019-06-11 12:12:07 -07:00
2020-02-19 12:07:24 +02:00
2019-05-24 08:38:11 -05:00
2020-01-26 22:27:03 +02:00
2019-10-21 11:27:29 -07:00
2019-04-18 11:05:18 +02:00
2020-05-01 12:50:37 -07:00
2020-03-16 10:34:21 +00:00
2020-04-03 20:26:54 +00:00
2019-10-28 11:24:38 +00:00
2018-10-25 12:43:18 +01:00
2019-09-17 23:39:18 +03:00
2020-05-11 07:25:15 +00:00
2020-05-01 12:50:37 -07:00
2019-10-24 16:19:23 +02:00
2020-03-06 10:20:39 -08:00
2020-01-22 00:19:21 +00:00
2020-01-22 00:19:20 +00:00
2020-04-21 11:09:03 -07:00
2020-04-28 23:01:27 -07:00
2020-04-28 23:01:27 -07:00
2020-03-09 04:44:11 +00:00
2018-02-28 11:15:47 -08:00
2020-03-06 10:20:39 -08:00
2020-04-22 17:03:18 -07:00
2020-05-20 20:19:18 +00:00
2020-03-06 10:20:59 -08:00
2020-04-29 07:17:27 +00:00
2019-07-31 18:14:09 -05:00
2020-04-28 23:01:27 -07:00
2020-03-06 10:21:01 -08:00
2020-03-06 10:20:59 -08:00
2020-04-29 07:17:27 +00:00
2020-03-06 10:20:59 -08:00
2019-02-28 16:58:20 -06:00
2019-02-28 16:58:20 -06:00
2020-05-01 16:49:11 +00:00
2020-04-17 08:21:37 -07:00
2019-07-31 18:14:09 -05:00
2020-04-28 23:01:03 -07:00
2019-07-24 18:00:13 +00:00
2019-07-24 18:00:13 +00:00
2020-04-28 23:01:27 -07:00
2020-04-28 23:01:27 -07:00
2020-04-07 17:16:09 +00:00
2019-07-29 23:30:26 +00:00
2019-01-09 16:42:41 -08:00
2020-04-28 23:01:03 -07:00
2020-01-22 00:19:21 +00:00
2020-04-28 23:01:27 -07:00
2020-03-11 21:21:25 +00:00
2020-03-09 04:44:12 +00:00
2020-03-09 04:44:12 +00:00
2020-03-09 04:44:12 +00:00
2018-12-17 13:47:06 -08:00
2018-12-17 13:47:06 -08:00
2018-12-17 13:47:06 -08:00
2018-12-17 13:47:06 -08:00