VideoCore/Shader: Split interpreter and JIT into separate ShaderEngines

This commit is contained in:
Yuri Kunde Schlesner
2016-12-17 01:21:16 -08:00
parent 8eefc62833
commit 114d6b2f97
8 changed files with 160 additions and 104 deletions

View File

@ -4,19 +4,22 @@
#pragma once
#include "video_core/shader/shader.h"
namespace Pica {
namespace Shader {
struct ShaderSetup;
struct UnitState;
class InterpreterEngine final : public ShaderEngine {
public:
void SetupBatch(const ShaderSetup* setup) override;
void Run(UnitState& state, unsigned int entry_point) const override;
DebugData<true> ProduceDebugInfo(const InputVertex& input, int num_attributes,
unsigned int entry_point) const override;
template <bool Debug>
struct DebugData;
template <bool Debug>
void RunInterpreter(const ShaderSetup& setup, UnitState& state, DebugData<Debug>& debug_data,
unsigned offset);
private:
const ShaderSetup* setup = nullptr;
};
} // namespace