Files
mesa/src/compiler
Caio Marcelo de Oliveira Filho 134b5a7047 glsl: teach copy_propagation_elements to deal with whole variables
Keep information in acp_entry whether the entry is full or not, and
use the ACP in more nodes when visiting the instructions:

- add_copy: write whole variables to the ACP state (regardless the
  type).

- visit(ir_dereference_variable *): perform the propagation here if we have a
  full candidate. Element-wise here doesn't apply because the mask
  isn't available at this point.

- visit_leave(ir_assignment *): process beyond scalar and vector, as
  the full variables might have other types.

Also import an improvement from opt_copy_propagation.cpp: if ir_call
is an intrinsic, we know the variables affected, so keep going.

v2: (all from Eric Anholt)
    Describe how acp_entry attributes are used.
    Don't do book-keeping to avoid adding repeated element to
    the dsts in write_elements().

v3: Use _mesa_set_remove_key. (Thomas Helland)

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Thomas Helland <thomashelland90@gmail.com>
2018-07-27 10:51:25 -07:00
..
2018-07-24 20:40:05 +02:00
2017-07-21 08:47:56 +03:00
2018-07-09 23:02:33 -07:00
2018-07-09 23:02:33 -07:00
2018-04-20 20:26:56 -07:00
2018-07-24 20:40:05 +02:00
2018-04-24 14:08:15 -07:00
2018-03-30 14:33:03 -06:00
2016-09-12 10:48:35 +10:00
2018-03-27 08:36:37 -04:00