nir: Add floating point atomic add instrinsics

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
This commit is contained in:
Ian Romanick
2018-04-09 18:36:22 -07:00
parent a390158d10
commit 69ce7baa9e
5 changed files with 22 additions and 5 deletions

View File

@@ -307,6 +307,7 @@ intrinsic("image_deref_atomic_or", src_comp=[1, 4, 1, 1], dest_comp=1)
intrinsic("image_deref_atomic_xor", src_comp=[1, 4, 1, 1], dest_comp=1)
intrinsic("image_deref_atomic_exchange", src_comp=[1, 4, 1, 1], dest_comp=1)
intrinsic("image_deref_atomic_comp_swap", src_comp=[1, 4, 1, 1, 1], dest_comp=1)
intrinsic("image_deref_atomic_fadd", src_comp=[1, 4, 1, 1], dest_comp=1)
intrinsic("image_deref_size", src_comp=[1], dest_comp=0, flags=[CAN_ELIMINATE, CAN_REORDER])
intrinsic("image_deref_samples", src_comp=[1], dest_comp=1, flags=[CAN_ELIMINATE, CAN_REORDER])
@@ -357,6 +358,7 @@ intrinsic("deref_atomic_or", src_comp=[1, 1], dest_comp=1)
intrinsic("deref_atomic_xor", src_comp=[1, 1], dest_comp=1)
intrinsic("deref_atomic_exchange", src_comp=[1, 1], dest_comp=1)
intrinsic("deref_atomic_comp_swap", src_comp=[1, 1, 1], dest_comp=1)
intrinsic("deref_atomic_fadd", src_comp=[1, 1], dest_comp=1)
# SSBO atomic intrinsics
#
@@ -383,6 +385,7 @@ intrinsic("ssbo_atomic_or", src_comp=[1, 1, 1], dest_comp=1)
intrinsic("ssbo_atomic_xor", src_comp=[1, 1, 1], dest_comp=1)
intrinsic("ssbo_atomic_exchange", src_comp=[1, 1, 1], dest_comp=1)
intrinsic("ssbo_atomic_comp_swap", src_comp=[1, 1, 1, 1], dest_comp=1)
intrinsic("ssbo_atomic_fadd", src_comp=[1, 1, 1], dest_comp=1)
# CS shared variable atomic intrinsics
#
@@ -408,6 +411,7 @@ intrinsic("shared_atomic_or", src_comp=[1, 1], dest_comp=1, indices=[BASE])
intrinsic("shared_atomic_xor", src_comp=[1, 1], dest_comp=1, indices=[BASE])
intrinsic("shared_atomic_exchange", src_comp=[1, 1], dest_comp=1, indices=[BASE])
intrinsic("shared_atomic_comp_swap", src_comp=[1, 1, 1], dest_comp=1, indices=[BASE])
intrinsic("shared_atomic_fadd", src_comp=[1, 1], dest_comp=1, indices=[BASE])
def system_value(name, dest_comp, indices=[]):
intrinsic("load_" + name, [], dest_comp, indices,