mesa/src
Caio Marcelo de Oliveira Filho cb126cf67a nir: Separate dead write removal into its own pass
Instead of doing this as part of the existing copy_prop_vars pass.

Separation makes easier to expand the scope of both passes to be more
than per-block.  For copy propagation, the information about valid
copies comes from previous instructions; while the dead write removal
depends on information from later instructions ("have any instruction
used this deref before overwrite it?").

Also change the tests to use this pass (instead of copy prop vars).
Note that the disabled tests continue to fail, since the standalone
pass is still per-block.

v2: Remove entries from dynarray instead of marking items as
    deleted.  Use foreach_reverse. (Caio)

    (all from Jason)
    Do not cache nir_deref_path.  Not worthy for this patch.
    Clear unused writes when hitting a call instruction.
    Clean up enumeration of modes for barriers.
    Move metadata calls to the inner function.

v3: For copies, use the vector length to calculate the mask.

    (all from Jason)
    Use nir_component_mask_t when applicable.
    Rename functions for clarity.
    Consider local vars used by a call to be conservative (SPIR-V has
    such cases).
    Comment and assert the assumption that stores and copies are
    always to a deref that ends with a vector or scalar.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-10-15 17:29:46 -07:00
..
amd radv: do not force the flat qualifier for clip/cull distances 2018-10-15 21:55:28 +02:00
broadcom v3d: Add support for hardware pack/unpack of half floats. 2018-10-15 17:16:44 -07:00
compiler nir: Separate dead write removal into its own pass 2018-10-15 17:29:46 -07:00
egl egl: Use correct shared libraries suffix on macOS. 2018-10-11 11:30:00 -07:00
gallium v3d: Add support for hardware pack/unpack of half floats. 2018-10-15 17:16:44 -07:00
gbm gbm: Add GBM_FORMAT_ARGB1555 support 2018-10-09 10:32:51 +02:00
getopt
glx apple/glx/log: added missing va_end() after va_copy() 2018-09-06 17:33:27 +01:00
gtest autotools: include meson build files in tarball 2018-01-19 16:30:51 -08:00
hgl meson: Add Haiku platform support v4 2018-02-16 16:56:34 -06:00
intel anv: Don't advertise ASTC support on BSW 2018-10-15 16:55:25 -05:00
loader loader/dri3: Don't wait for fence of old buffer when re-allocating it 2018-09-12 16:55:09 +02:00
mapi meson: only build clapi tests when OpenGL is being built 2018-10-09 08:55:48 -07:00
mesa i965: Drop assert about number of uniforms in ARB handling. 2018-10-15 10:56:12 -07:00
util util: Add foreach_reverse for dynarray 2018-10-15 17:29:46 -07:00
vulkan vulkan: Update the XML and headers to 1.1.88 2018-10-13 09:56:18 -05:00
Makefile.am Revert "configure: allow building with python3" 2018-08-24 11:14:15 +01:00
meson.build meson: Only build gallium state tracker tests with shared_glapi 2018-10-09 08:55:56 -07:00
SConscript buildsys: move file regeneration logic to the script itself 2017-10-27 13:38:37 +01:00