summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp
diff options
context:
space:
mode:
authorChristoph Bumiller <e0425955@student.tuwien.ac.at>2012-09-01 17:26:24 +0200
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>2012-09-07 19:03:40 +0200
commit3433471e8b46dd9dd042a00f88ef9ad011a94aac (patch)
treec0ec40fa2224d8aeb0103516889c77216b4c8a51 /src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp
parent8a497e5955053293959614fcde76ab4908929215 (diff)
nvc0/ir: add initial code to support GK110 ISA encoding
Diffstat (limited to 'src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp')
-rw-r--r--src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp b/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp
index 57d5d723c6a..cd04f4cfb97 100644
--- a/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp
+++ b/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp
@@ -2300,2 +2300,9 @@ SchedDataCalculator::recordRd(const Value *v, const int ready)
+bool
+calculateSchedDataNVC0(const Target *targ, Function *func)
+{
+ SchedDataCalculator sched(targ);
+ return sched.run(func, true, true);
+}
+
void
@@ -2307,6 +2314,4 @@ CodeEmitterNVC0::prepareEmission(Function *func)
- if (targ->hasSWSched) {
- SchedDataCalculator sched(targ);
- sched.run(func, true, true);
- }
+ if (targ->hasSWSched)
+ calculateSchedDataNVC0(targ, func);
}
@@ -2323,3 +2328,3 @@ CodeEmitterNVC0::CodeEmitterNVC0(const TargetNVC0 *target)
CodeEmitter *
-TargetNVC0::getCodeEmitter(Program::Type type)
+TargetNVC0::createCodeEmitterNVC0(Program::Type type)
{
@@ -2330,2 +2335,10 @@ TargetNVC0::getCodeEmitter(Program::Type type)
+CodeEmitter *
+TargetNVC0::getCodeEmitter(Program::Type type)
+{
+ if (chipset >= NVISA_GK110_CHIPSET)
+ return createCodeEmitterGK110(type);
+ return createCodeEmitterNVC0(type);
+}
+
} // namespace nv50_ir