summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/shader_interpreter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/shader/shader_interpreter.h')
-rw-r--r--src/video_core/shader/shader_interpreter.h19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/video_core/shader/shader_interpreter.h b/src/video_core/shader/shader_interpreter.h
index 3237b50b3..43c1ed5ea 100644
--- a/src/video_core/shader/shader_interpreter.h
+++ b/src/video_core/shader/shader_interpreter.h
@@ -4,19 +4,22 @@
#pragma once
+#include "video_core/shader/shader.h"
+
namespace Pica {
namespace Shader {
-struct ShaderSetup;
-struct UnitState;
-
-template <bool Debug>
-struct DebugData;
+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>
-void RunInterpreter(const ShaderSetup& setup, UnitState& state, DebugData<Debug>& debug_data,
- unsigned offset);
+private:
+ const ShaderSetup* setup = nullptr;
+};
} // namespace