summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2016-12-17 10:30:55 +0100
committerYuri Kunde Schlesner <yuriks@yuriks.net>2017-01-26 03:53:24 +0100
commitade7ed7c5fd383e77c4d6949e652e1fd83844233 (patch)
treed356114242bafede2832a8ae8521da64321ac827
parentDebugger: Always use interpreter for shader debugging (diff)
downloadyuzu-ade7ed7c5fd383e77c4d6949e652e1fd83844233.tar
yuzu-ade7ed7c5fd383e77c4d6949e652e1fd83844233.tar.gz
yuzu-ade7ed7c5fd383e77c4d6949e652e1fd83844233.tar.bz2
yuzu-ade7ed7c5fd383e77c4d6949e652e1fd83844233.tar.lz
yuzu-ade7ed7c5fd383e77c4d6949e652e1fd83844233.tar.xz
yuzu-ade7ed7c5fd383e77c4d6949e652e1fd83844233.tar.zst
yuzu-ade7ed7c5fd383e77c4d6949e652e1fd83844233.zip
-rw-r--r--src/citra_qt/debugger/graphics/graphics_vertex_shader.h1
-rw-r--r--src/video_core/shader/shader.h11
-rw-r--r--src/video_core/shader/shader_interpreter.h11
-rw-r--r--src/video_core/shader/shader_jit_x64.cpp5
-rw-r--r--src/video_core/shader/shader_jit_x64.h2
5 files changed, 11 insertions, 19 deletions
diff --git a/src/citra_qt/debugger/graphics/graphics_vertex_shader.h b/src/citra_qt/debugger/graphics/graphics_vertex_shader.h
index bedea0bed..3292573f3 100644
--- a/src/citra_qt/debugger/graphics/graphics_vertex_shader.h
+++ b/src/citra_qt/debugger/graphics/graphics_vertex_shader.h
@@ -8,6 +8,7 @@
#include <QTreeView>
#include "citra_qt/debugger/graphics/graphics_breakpoint_observer.h"
#include "nihstro/parser_shbin.h"
+#include "video_core/shader/debug_data.h"
#include "video_core/shader/shader.h"
class QLabel;
diff --git a/src/video_core/shader/shader.h b/src/video_core/shader/shader.h
index 2afd1024f..9d2410487 100644
--- a/src/video_core/shader/shader.h
+++ b/src/video_core/shader/shader.h
@@ -14,7 +14,6 @@
#include "common/vector_math.h"
#include "video_core/pica.h"
#include "video_core/pica_types.h"
-#include "video_core/shader/debug_data.h"
using nihstro::RegisterType;
using nihstro::SourceRegister;
@@ -192,16 +191,6 @@ public:
* @param state Shader unit state, must be setup per shader and per shader unit
*/
virtual void Run(UnitState& state, unsigned int entry_point) const = 0;
-
- /**
- * 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
- */
- virtual DebugData<true> ProduceDebugInfo(const InputVertex& input, int num_attributes,
- unsigned int entry_point) const = 0;
};
// TODO(yuriks): Remove and make it non-global state somewhere
diff --git a/src/video_core/shader/shader_interpreter.h b/src/video_core/shader/shader_interpreter.h
index 43c1ed5ea..c3691da70 100644
--- a/src/video_core/shader/shader_interpreter.h
+++ b/src/video_core/shader/shader_interpreter.h
@@ -4,6 +4,7 @@
#pragma once
+#include "video_core/shader/debug_data.h"
#include "video_core/shader/shader.h"
namespace Pica {
@@ -14,8 +15,16 @@ class InterpreterEngine final : public ShaderEngine {
public:
void SetupBatch(const ShaderSetup* setup) override;
void Run(UnitState& state, unsigned int entry_point) 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 InputVertex& input, int num_attributes,
- unsigned int entry_point) const override;
+ unsigned int entry_point) const;
private:
const ShaderSetup* setup = nullptr;
diff --git a/src/video_core/shader/shader_jit_x64.cpp b/src/video_core/shader/shader_jit_x64.cpp
index fea79538a..6d83948e1 100644
--- a/src/video_core/shader/shader_jit_x64.cpp
+++ b/src/video_core/shader/shader_jit_x64.cpp
@@ -47,10 +47,5 @@ void JitX64Engine::Run(UnitState& state, unsigned int entry_point) const {
cached_shader->Run(*setup, state, entry_point);
}
-DebugData<true> JitX64Engine::ProduceDebugInfo(const InputVertex& input, int num_attributes,
- unsigned int entry_point) const {
- UNIMPLEMENTED_MSG("Shader tracing/debugging is not supported by the JIT.");
-}
-
} // namespace Shader
} // namespace Pica
diff --git a/src/video_core/shader/shader_jit_x64.h b/src/video_core/shader/shader_jit_x64.h
index df18de2c2..b26044477 100644
--- a/src/video_core/shader/shader_jit_x64.h
+++ b/src/video_core/shader/shader_jit_x64.h
@@ -21,8 +21,6 @@ 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;
private:
const ShaderSetup* setup = nullptr;