summaryrefslogtreecommitdiff
path: root/src/video_core/shader/shader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/shader/shader.cpp')
-rw-r--r--src/video_core/shader/shader.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/video_core/shader/shader.cpp b/src/video_core/shader/shader.cpp
index 65dcc9156..449fc703f 100644
--- a/src/video_core/shader/shader.cpp
+++ b/src/video_core/shader/shader.cpp
@@ -35,7 +35,13 @@ static std::unordered_map<u64, std::unique_ptr<JitShader>> shader_map;
35static const JitShader* jit_shader; 35static const JitShader* jit_shader;
36#endif // ARCHITECTURE_x86_64 36#endif // ARCHITECTURE_x86_64
37 37
38void Setup() { 38void ClearCache() {
39#ifdef ARCHITECTURE_x86_64
40 shader_map.clear();
41#endif // ARCHITECTURE_x86_64
42}
43
44void ShaderSetup::Setup() {
39#ifdef ARCHITECTURE_x86_64 45#ifdef ARCHITECTURE_x86_64
40 if (VideoCore::g_shader_jit_enabled) { 46 if (VideoCore::g_shader_jit_enabled) {
41 u64 cache_key = (Common::ComputeHash64(&g_state.vs.program_code, sizeof(g_state.vs.program_code)) ^ 47 u64 cache_key = (Common::ComputeHash64(&g_state.vs.program_code, sizeof(g_state.vs.program_code)) ^
@@ -54,18 +60,12 @@ void Setup() {
54#endif // ARCHITECTURE_x86_64 60#endif // ARCHITECTURE_x86_64
55} 61}
56 62
57void Shutdown() { 63MICROPROFILE_DEFINE(GPU_Shader, "GPU", "Shader", MP_RGB(50, 50, 240));
58#ifdef ARCHITECTURE_x86_64
59 shader_map.clear();
60#endif // ARCHITECTURE_x86_64
61}
62
63MICROPROFILE_DEFINE(GPU_VertexShader, "GPU", "Vertex Shader", MP_RGB(50, 50, 240));
64 64
65OutputVertex Run(UnitState<false>& state, const InputVertex& input, int num_attributes) { 65OutputVertex ShaderSetup::Run(UnitState<false>& state, const InputVertex& input, int num_attributes) {
66 auto& config = g_state.regs.vs; 66 auto& config = g_state.regs.vs;
67 67
68 MICROPROFILE_SCOPE(GPU_VertexShader); 68 MICROPROFILE_SCOPE(GPU_Shader);
69 69
70 state.program_counter = config.main_offset; 70 state.program_counter = config.main_offset;
71 state.debug.max_offset = 0; 71 state.debug.max_offset = 0;
@@ -140,7 +140,7 @@ OutputVertex Run(UnitState<false>& state, const InputVertex& input, int num_attr
140 return ret; 140 return ret;
141} 141}
142 142
143DebugData<true> ProduceDebugInfo(const InputVertex& input, int num_attributes, const Regs::ShaderConfig& config, const ShaderSetup& setup) { 143DebugData<true> ShaderSetup::ProduceDebugInfo(const InputVertex& input, int num_attributes, const Regs::ShaderConfig& config, const ShaderSetup& setup) {
144 UnitState<true> state; 144 UnitState<true> state;
145 145
146 state.program_counter = config.main_offset; 146 state.program_counter = config.main_offset;