[Mesa-dev] [PATCH 1/4] R600/SI: Add intrinsics for texture sampling with user derivatives

Tom Stellard tom at stellard.net
Fri Feb 22 08:45:27 PST 2013


On Fri, Feb 22, 2013 at 05:02:10PM +0100, Michel Dänzer wrote:
> From: Michel Dänzer <michel.daenzer at amd.com>
> 
> 
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
> ---
>  lib/Target/R600/SIInstructions.td | 7 ++++++-
>  lib/Target/R600/SIIntrinsics.td   | 1 +
>  2 files changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/Target/R600/SIInstructions.td b/lib/Target/R600/SIInstructions.td
> index 907cf49..99ec6eb 100644
> --- a/lib/Target/R600/SIInstructions.td
> +++ b/lib/Target/R600/SIInstructions.td
> @@ -476,7 +476,7 @@ def IMAGE_SAMPLE_B : MIMG_Load_Helper <0x00000025, "IMAGE_SAMPLE_B">;
>  //def IMAGE_SAMPLE_LZ : MIMG_NoPattern_ <"IMAGE_SAMPLE_LZ", 0x00000027>;
>  def IMAGE_SAMPLE_C : MIMG_Load_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_Load_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_Load_Helper <0x0000002c, "IMAGE_SAMPLE_C_L">;
>  def IMAGE_SAMPLE_C_B : MIMG_Load_Helper <0x0000002d, "IMAGE_SAMPLE_C_B">;
> @@ -1180,6 +1180,11 @@ multiclass SamplePatterns<RegisterClass addr_class, ValueType addr_type> {
>    def : SampleArrayPattern <int_SI_sampleb, IMAGE_SAMPLE_B, addr_class, addr_type>;
>    def : SampleShadowPattern <int_SI_sampleb, IMAGE_SAMPLE_C_B, addr_class, addr_type>;
>    def : SampleShadowArrayPattern <int_SI_sampleb, IMAGE_SAMPLE_C_B, addr_class, addr_type>;
> +
> +  def : SamplePattern <int_SI_sampled, IMAGE_SAMPLE_D, addr_class, addr_type>;
> +  def : SampleArrayPattern <int_SI_sampled, IMAGE_SAMPLE_D, addr_class, addr_type>;
> +  def : SampleShadowPattern <int_SI_sampled, IMAGE_SAMPLE_C_D, addr_class, addr_type>;
> +  def : SampleShadowArrayPattern <int_SI_sampled, IMAGE_SAMPLE_C_D, addr_class, addr_type>;
>  }
>  
>  defm : SamplePatterns<VReg_64, v2i32>;
> diff --git a/lib/Target/R600/SIIntrinsics.td b/lib/Target/R600/SIIntrinsics.td
> index 611b9c4..6581b11 100644
> --- a/lib/Target/R600/SIIntrinsics.td
> +++ b/lib/Target/R600/SIIntrinsics.td
> @@ -26,6 +26,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;
>  
>    /* Interpolation Intrinsics */
> -- 
> 1.8.1.3
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


More information about the mesa-dev mailing list