Module: Mesa
Branch: master
Commit: 78b81be627734ea7fa50ea246c07b0d4a3a1638a
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=78b81be627734ea7fa50ea246c07b0d4a3a1638a

Author: Jason Ekstrand <[email protected]>
Date:   Wed Nov 25 14:14:05 2015 -0800

nir: Get rid of *_indirect variants of input/output load/store intrinsics

There is some special-casing needed in a competent back-end.  However, they
can do their special-casing easily enough based on whether or not the
offset is a constant.  In the mean time, having the *_indirect variants
adds special cases a number of places where they don't need to be and, in
general, only complicates things.  To complicate matters, NIR had no way to
convdert an indirect load/store to a direct one in the case that the
indirect was a constant so we would still not really get what the back-ends
wanted.  The best solution seems to be to get rid of the *_indirect
variants entirely.

This commit is a bunch of different changes squashed together:

 - nir: Get rid of *_indirect variants of input/output load/store intrinsics
 - nir/glsl: Stop handling UBO/SSBO load/stores differently depending on 
indirect
 - nir/lower_io: Get rid of load/store_foo_indirect
 - i965/fs: Get rid of load/store_foo_indirect
 - i965/vec4: Get rid of load/store_foo_indirect
 - tgsi_to_nir: Get rid of load/store_foo_indirect
 - ir3/nir: Use the new unified io intrinsics
 - vc4: Do all uniform loads with byte offsets
 - vc4/nir: Use the new unified io intrinsics
 - vc4: Fix load_user_clip_plane crash
 - vc4: add missing src for store outputs
 - vc4: Fix state uniforms
 - nir/lower_clip: Update to the new load/store intrinsics
 - nir/lower_two_sided_color: Update to the new load intrinsic

NIR and i965 changes are

Reviewed-by: Kenneth Graunke <[email protected]>

NIR indirect declarations and vc4 changes are

Reviewed-by: Eric Anholt <[email protected]>

ir3 changes are

Reviewed-by: Rob Clark <[email protected]>

NIR changes are

Acked-by: Rob Clark <[email protected]>

---

 src/gallium/auxiliary/nir/tgsi_to_nir.c            |   52 ++++----
 .../drivers/freedreno/ir3/ir3_compiler_nir.c       |   79 +++++++-----
 src/gallium/drivers/vc4/vc4_nir_lower_blend.c      |    2 +
 src/gallium/drivers/vc4/vc4_nir_lower_io.c         |   54 ++++++---
 src/gallium/drivers/vc4/vc4_program.c              |   47 ++++---
 src/gallium/drivers/vc4/vc4_qir.h                  |    2 +-
 src/glsl/nir/glsl_to_nir.cpp                       |   74 ++---------
 src/glsl/nir/nir.h                                 |    2 +-
 src/glsl/nir/nir_intrinsics.h                      |   88 +++++++-------
 src/glsl/nir/nir_lower_clip.c                      |    3 +
 src/glsl/nir/nir_lower_io.c                        |  113 +++++++----------
 src/glsl/nir/nir_lower_phis_to_scalar.c            |    4 -
 src/glsl/nir/nir_lower_two_sided_color.c           |    2 +
 src/glsl/nir/nir_print.c                           |    6 -
 src/mesa/drivers/dri/i965/brw_fs.h                 |    2 +-
 src/mesa/drivers/dri/i965/brw_fs_nir.cpp           |  128 +++++++++-----------
 src/mesa/drivers/dri/i965/brw_nir.c                |   45 +++++--
 src/mesa/drivers/dri/i965/brw_vec4_gs_nir.cpp      |    7 +-
 src/mesa/drivers/dri/i965/brw_vec4_nir.cpp         |   95 ++++++---------
 19 files changed, 391 insertions(+), 414 deletions(-)

Diff:   
http://cgit.freedesktop.org/mesa/mesa/diff/?id=78b81be627734ea7fa50ea246c07b0d4a3a1638a
_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to