diff options
| author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2017-01-27 14:29:10 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-01-27 14:29:10 -0300 |
| commit | bf14f4be2263b4769e97800b35951717192c2d1c (patch) | |
| tree | 9c1c47f5a05e9907257f620d8426a0cebaf0cf78 /src/video_core/shader/shader_interpreter.h | |
| parent | f8523699864b6000572affaa0e36d9a4d89ffce6 (diff) | |
| parent | 0e9081b97348c65029c96697443acb0dbbc58756 (diff) | |
Merge pull request #2346 from yuriks/shader-refactor2
More shader refactoring
Diffstat (limited to 'src/video_core/shader/shader_interpreter.h')
| -rw-r--r-- | src/video_core/shader/shader_interpreter.h | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/video_core/shader/shader_interpreter.h b/src/video_core/shader/shader_interpreter.h index d31dcd7a6..d6c0e2d8c 100644 --- a/src/video_core/shader/shader_interpreter.h +++ b/src/video_core/shader/shader_interpreter.h @@ -4,18 +4,28 @@ #pragma once +#include "video_core/shader/debug_data.h" +#include "video_core/shader/shader.h" + namespace Pica { namespace Shader { -struct UnitState; - -template <bool Debug> -struct DebugData; - -template <bool Debug> -void RunInterpreter(const ShaderSetup& setup, UnitState& state, DebugData<Debug>& debug_data, - unsigned offset); +class InterpreterEngine final : public ShaderEngine { +public: + void SetupBatch(ShaderSetup& setup, unsigned int entry_point) override; + void Run(const ShaderSetup& setup, UnitState& state) const override; + + /** + * Produce debug information based on the given shader and input vertex + * @param input Input vertex into the shader + * @param num_attributes The number of vertex shader attributes + * @param config Configuration object for the shader pipeline + * @return Debug information for this shader with regards to the given vertex + */ + DebugData<true> ProduceDebugInfo(const ShaderSetup& setup, const InputVertex& input, + int num_attributes) const; +}; } // namespace |
