diff options
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.cpp | 23 |
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 |