diff options
author | Michel Danzer <michel.daenzer@amd.com> | 2013-07-10 16:36:36 +0000 |
---|---|---|
committer | Michel Danzer <michel.daenzer@amd.com> | 2013-07-10 16:36:36 +0000 |
commit | 0a9aaacd7298e4108eeecef7bad7933ae7cf36c4 (patch) | |
tree | 6d652f695274b1a76e074810652a8859c25f9d7e /lib | |
parent | 10b2997913457fe3b00f88a350fa4143dcdc6b1c (diff) | |
download | external_llvm-0a9aaacd7298e4108eeecef7bad7933ae7cf36c4.zip external_llvm-0a9aaacd7298e4108eeecef7bad7933ae7cf36c4.tar.gz external_llvm-0a9aaacd7298e4108eeecef7bad7933ae7cf36c4.tar.bz2 |
R600/SI: Add intrinsics for texture sampling with user derivatives
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186008 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/R600/SIInstructions.td | 7 | ||||
-rw-r--r-- | lib/Target/R600/SIIntrinsics.td | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/Target/R600/SIInstructions.td b/lib/Target/R600/SIInstructions.td index 9c96c08..c9eac7d 100644 --- a/lib/Target/R600/SIInstructions.td +++ b/lib/Target/R600/SIInstructions.td @@ -535,7 +535,7 @@ def IMAGE_SAMPLE_B : MIMG_Sampler_Helper <0x00000025, "IMAGE_SAMPLE_B">; //def IMAGE_SAMPLE_LZ : MIMG_NoPattern_ <"IMAGE_SAMPLE_LZ", 0x00000027>; def IMAGE_SAMPLE_C : MIMG_Sampler_Helper <0x00000028, "IMAGE_SAMPLE_C">; //def IMAGE_SAMPLE_C_CL : MIMG_NoPattern_ <"IMAGE_SAMPLE_C_CL", 0x00000029>; -//def IMAGE_SAMPLE_C_D : MIMG_NoPattern_ <"IMAGE_SAMPLE_C_D", 0x0000002a>; +def IMAGE_SAMPLE_C_D : MIMG_Sampler_Helper <0x0000002a, "IMAGE_SAMPLE_C_D">; //def IMAGE_SAMPLE_C_D_CL : MIMG_NoPattern_ <"IMAGE_SAMPLE_C_D_CL", 0x0000002b>; def IMAGE_SAMPLE_C_L : MIMG_Sampler_Helper <0x0000002c, "IMAGE_SAMPLE_C_L">; def IMAGE_SAMPLE_C_B : MIMG_Sampler_Helper <0x0000002d, "IMAGE_SAMPLE_C_B">; @@ -1296,6 +1296,11 @@ multiclass SamplePatterns<ValueType addr_type> { def : SampleArrayPattern <int_SI_sampleb, IMAGE_SAMPLE_B, addr_type>; def : SampleShadowPattern <int_SI_sampleb, IMAGE_SAMPLE_C_B, addr_type>; def : SampleShadowArrayPattern <int_SI_sampleb, IMAGE_SAMPLE_C_B, addr_type>; + + def : SamplePattern <int_SI_sampled, IMAGE_SAMPLE_D, addr_type>; + def : SampleArrayPattern <int_SI_sampled, IMAGE_SAMPLE_D, addr_type>; + def : SampleShadowPattern <int_SI_sampled, IMAGE_SAMPLE_C_D, addr_type>; + def : SampleShadowArrayPattern <int_SI_sampled, IMAGE_SAMPLE_C_D, addr_type>; } defm : SamplePatterns<v2i32>; diff --git a/lib/Target/R600/SIIntrinsics.td b/lib/Target/R600/SIIntrinsics.td index 224cd2f..d2643e0 100644 --- a/lib/Target/R600/SIIntrinsics.td +++ b/lib/Target/R600/SIIntrinsics.td @@ -23,6 +23,7 @@ let TargetPrefix = "SI", isTarget = 1 in { def int_SI_sample : Sample; def int_SI_sampleb : Sample; + def int_SI_sampled : Sample; def int_SI_samplel : Sample; def int_SI_imageload : Intrinsic <[llvm_v4i32_ty], [llvm_anyvector_ty, llvm_v32i8_ty, llvm_i32_ty], [IntrNoMem]>; |