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
