diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2012-09-06 16:18:11 -0400 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2012-09-21 16:41:34 +0000 |
commit | 9f8242c3acf252cf0c0f123fd4b072e043e87e14 (patch) | |
tree | 09ebfdae4aaaa3dc9d71903a3bea86b16f70a228 /lib | |
parent | 98e88995aad2322d4a234dd629717551d7d7e5f3 (diff) |
radeonsi: Handle position input parameter for pixel shaders v2
v2:
- Don't increment ninterp or set any of the have_* flags for
TGSI_SEMANTIC_POSITION
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/AMDGPU/SIInstructions.td | 20 | ||||
-rw-r--r-- | lib/Target/AMDGPU/SIIntrinsics.td | 2 |
2 files changed, 22 insertions, 0 deletions
diff --git a/lib/Target/AMDGPU/SIInstructions.td b/lib/Target/AMDGPU/SIInstructions.td index 5604bba7d69..7250b88f292 100644 --- a/lib/Target/AMDGPU/SIInstructions.td +++ b/lib/Target/AMDGPU/SIInstructions.td @@ -1096,6 +1096,26 @@ def : Pat < imm:$attr, SReg_32:$params) >; +def : Pat < + (int_SI_fs_read_pos 0), + (f32 POS_X_FLOAT) +>; + +def : Pat < + (int_SI_fs_read_pos 1), + (f32 POS_Y_FLOAT) +>; + +def : Pat < + (int_SI_fs_read_pos 2), + (f32 POS_Z_FLOAT) +>; + +def : Pat < + (int_SI_fs_read_pos 3), + (f32 POS_W_FLOAT) +>; + /********** ================== **********/ /********** Intrinsic Patterns **********/ /********** ================== **********/ diff --git a/lib/Target/AMDGPU/SIIntrinsics.td b/lib/Target/AMDGPU/SIIntrinsics.td index 3fc51050839..fa7ac175190 100644 --- a/lib/Target/AMDGPU/SIIntrinsics.td +++ b/lib/Target/AMDGPU/SIIntrinsics.td @@ -34,4 +34,6 @@ let TargetPrefix = "SI", isTarget = 1 in { def int_SI_fs_interp_persp_center : Interp; def int_SI_fs_interp_persp_centroid : Interp; def int_SI_fs_interp_constant : Interp; + + def int_SI_fs_read_pos : Intrinsic <[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; } |