mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-26 14:15:53 +00:00
R600: Add a ldptr intrinsic to support MSAA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191838 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
656d2f8e07
commit
a2f1317f09
@ -609,7 +609,8 @@ SDValue R600TargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const
|
||||
case AMDGPUIntrinsic::R600_txf:
|
||||
case AMDGPUIntrinsic::R600_txq:
|
||||
case AMDGPUIntrinsic::R600_ddx:
|
||||
case AMDGPUIntrinsic::R600_ddy: {
|
||||
case AMDGPUIntrinsic::R600_ddy:
|
||||
case AMDGPUIntrinsic::R600_ldptr: {
|
||||
unsigned TextureOp;
|
||||
switch (IntrinsicID) {
|
||||
case AMDGPUIntrinsic::R600_tex:
|
||||
@ -642,6 +643,9 @@ SDValue R600TargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const
|
||||
case AMDGPUIntrinsic::R600_ddy:
|
||||
TextureOp = 9;
|
||||
break;
|
||||
case AMDGPUIntrinsic::R600_ldptr:
|
||||
TextureOp = 10;
|
||||
break;
|
||||
default:
|
||||
llvm_unreachable("Unknow Texture Operation");
|
||||
}
|
||||
|
@ -881,6 +881,9 @@ def TEX_SAMPLE_C_L : R600_TEX <0x19, "TEX_SAMPLE_C_L">;
|
||||
def TEX_SAMPLE_LB : R600_TEX <0x12, "TEX_SAMPLE_LB">;
|
||||
def TEX_SAMPLE_C_LB : R600_TEX <0x1A, "TEX_SAMPLE_C_LB">;
|
||||
def TEX_LD : R600_TEX <0x03, "TEX_LD">;
|
||||
def TEX_LDPTR : R600_TEX <0x03, "TEX_LDPTR"> {
|
||||
let INST_MOD = 1;
|
||||
}
|
||||
def TEX_GET_TEXTURE_RESINFO : R600_TEX <0x04, "TEX_GET_TEXTURE_RESINFO">;
|
||||
def TEX_GET_GRADIENTS_H : R600_TEX <0x07, "TEX_GET_GRADIENTS_H">;
|
||||
def TEX_GET_GRADIENTS_V : R600_TEX <0x08, "TEX_GET_GRADIENTS_V">;
|
||||
@ -899,6 +902,7 @@ defm : TexPattern<6, TEX_LD, v4i32>;
|
||||
defm : TexPattern<7, TEX_GET_TEXTURE_RESINFO, v4i32>;
|
||||
defm : TexPattern<8, TEX_GET_GRADIENTS_H>;
|
||||
defm : TexPattern<9, TEX_GET_GRADIENTS_V>;
|
||||
defm : TexPattern<10, TEX_LDPTR, v4i32>;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Helper classes for common instructions
|
||||
|
@ -52,6 +52,7 @@ let TargetPrefix = "R600", isTarget = 1 in {
|
||||
def int_R600_txb : TextureIntrinsicFloatInput;
|
||||
def int_R600_txbc : TextureIntrinsicFloatInput;
|
||||
def int_R600_txf : TextureIntrinsicInt32Input;
|
||||
def int_R600_ldptr : TextureIntrinsicInt32Input;
|
||||
def int_R600_txq : TextureIntrinsicInt32Input;
|
||||
def int_R600_ddx : TextureIntrinsicFloatInput;
|
||||
def int_R600_ddy : TextureIntrinsicFloatInput;
|
||||
|
Loading…
Reference in New Issue
Block a user