nir: Add explicit signs to image min/max intrinsics
authorJason Ekstrand <jason@jlekstrand.net>
Wed, 21 Aug 2019 03:32:50 +0000 (22:32 -0500)
committerJason Ekstrand <jason@jlekstrand.net>
Wed, 21 Aug 2019 17:19:55 +0000 (17:19 +0000)
commit951cf94521a710fa2fa70329ff77934ada45bb70
tree74d0fcacd97622c07e01cde688451438344f2b78
parentfc69a5cf73cf3285bcc41a8a6b2a0950ea2e96d1
nir: Add explicit signs to image min/max intrinsics

This better matches all the other atomic intrinsics such as those for
SSBOs and shared variables where the sign is part of the intrinsic
opcode.  Both generators (GLSL and SPIR-V) know the sign from the type
of the image variable or handle.  In SPIR-V, signed min/max are separate
opcodes from unsigned.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
25 files changed:
src/amd/common/ac_nir_to_llvm.c
src/amd/vulkan/radv_shader_info.c
src/broadcom/compiler/nir_to_vir.c
src/broadcom/compiler/v3d40_tex.c
src/compiler/glsl/gl_nir_lower_bindless_images.c
src/compiler/glsl/gl_nir_lower_samplers_as_deref.c
src/compiler/glsl/gl_nir_opt_access.c
src/compiler/glsl/glsl_to_nir.cpp
src/compiler/nir/nir.c
src/compiler/nir/nir_divergence_analysis.c
src/compiler/nir/nir_intrinsics.py
src/compiler/nir/nir_lower_non_uniform_access.c
src/compiler/spirv/spirv_to_nir.c
src/freedreno/ir3/ir3_a4xx.c
src/freedreno/ir3/ir3_a6xx.c
src/freedreno/ir3/ir3_compiler_nir.c
src/freedreno/ir3/ir3_nir.c
src/gallium/drivers/iris/iris_program.c
src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
src/gallium/drivers/radeonsi/si_shader_nir.c
src/intel/compiler/brw_fs_nir.cpp
src/intel/compiler/brw_nir_analyze_ubo_ranges.c
src/intel/compiler/brw_nir_lower_image_load_store.c
src/intel/vulkan/anv_nir_apply_pipeline_layout.c
src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp