summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nouveau/codegen/nv50_ir_target_gm107.h
blob: dd4aa6a54d0b6fb2bfafe553ffa236520f3b8fc5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "codegen/nv50_ir_target_nvc0.h"

namespace nv50_ir {

class TargetGM107 : public TargetNVC0
{
public:
   TargetGM107(unsigned int chipset) : TargetNVC0(chipset) {}

   virtual CodeEmitter *getCodeEmitter(Program::Type);
   CodeEmitter *createCodeEmitterGM107(Program::Type);

   virtual bool runLegalizePass(Program *, CGStage) const;

   virtual void getBuiltinCode(const uint32_t **, uint32_t *) const;
   virtual uint32_t getBuiltinOffset(int) const;

   virtual bool isOpSupported(operation, DataType) const;
   virtual bool isReuseSupported(const Instruction *) const;

   virtual bool isBarrierRequired(const Instruction *) const;

   virtual bool canDualIssue(const Instruction *, const Instruction *) const;
   virtual int getLatency(const Instruction *) const;
   virtual int getReadLatency(const Instruction *) const;
};

} // namespace nv50_ir