1 #include "nv50_ir_lowering_nvc0.h" 2 3 namespace nv50_ir { 4 5 class GM107LoweringPass : public NVC0LoweringPass 6 { 7 public: GM107LoweringPass(Program * p)8 GM107LoweringPass(Program *p) : NVC0LoweringPass(p) {} 9 private: 10 virtual bool visit(Instruction *); 11 12 virtual bool handleManualTXD(TexInstruction *); 13 bool handleDFDX(Instruction *); 14 bool handlePFETCH(Instruction *); 15 bool handlePOPCNT(Instruction *); 16 bool handleSUQ(TexInstruction *); 17 }; 18 19 class GM107LegalizeSSA : public NVC0LegalizeSSA 20 { 21 private: 22 virtual bool visit(Instruction *); 23 24 protected: 25 void handlePFETCH(Instruction *); 26 void handleLOAD(Instruction *); 27 void handleQUADON(Instruction *); 28 void handleQUADPOP(Instruction *); 29 }; 30 31 } // namespace nv50_ir 32