diff options
| author | 2016-03-26 21:02:15 -0400 | |
|---|---|---|
| committer | 2016-04-13 23:04:47 -0400 | |
| commit | a5a74eb121e0586706c3196d450c088280f996a5 (patch) | |
| tree | 1ed5030e828e221d2c34596effaa1e680a678391 /src/video_core/shader/shader.cpp | |
| parent | shader_jit_x64: Allocate each program independently and persist for emu session. (diff) | |
| download | yuzu-a5a74eb121e0586706c3196d450c088280f996a5.tar.gz yuzu-a5a74eb121e0586706c3196d450c088280f996a5.tar.xz yuzu-a5a74eb121e0586706c3196d450c088280f996a5.zip | |
shader_jit_x64: Specify shader main offset at runtime.
Diffstat (limited to 'src/video_core/shader/shader.cpp')
| -rw-r--r-- | src/video_core/shader/shader.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/video_core/shader/shader.cpp b/src/video_core/shader/shader.cpp index e17368a4a..b35413488 100644 --- a/src/video_core/shader/shader.cpp +++ b/src/video_core/shader/shader.cpp | |||
| @@ -36,8 +36,7 @@ void Setup(UnitState<false>& state) { | |||
| 36 | #ifdef ARCHITECTURE_x86_64 | 36 | #ifdef ARCHITECTURE_x86_64 |
| 37 | if (VideoCore::g_shader_jit_enabled) { | 37 | if (VideoCore::g_shader_jit_enabled) { |
| 38 | u64 cache_key = (Common::ComputeHash64(&g_state.vs.program_code, sizeof(g_state.vs.program_code)) ^ | 38 | u64 cache_key = (Common::ComputeHash64(&g_state.vs.program_code, sizeof(g_state.vs.program_code)) ^ |
| 39 | Common::ComputeHash64(&g_state.vs.swizzle_data, sizeof(g_state.vs.swizzle_data)) ^ | 39 | Common::ComputeHash64(&g_state.vs.swizzle_data, sizeof(g_state.vs.swizzle_data))); |
| 40 | g_state.regs.vs.main_offset); | ||
| 41 | 40 | ||
| 42 | auto iter = shader_map.find(cache_key); | 41 | auto iter = shader_map.find(cache_key); |
| 43 | if (iter != shader_map.end()) { | 42 | if (iter != shader_map.end()) { |
| @@ -98,7 +97,7 @@ OutputVertex Run(UnitState<false>& state, const InputVertex& input, int num_attr | |||
| 98 | 97 | ||
| 99 | #ifdef ARCHITECTURE_x86_64 | 98 | #ifdef ARCHITECTURE_x86_64 |
| 100 | if (VideoCore::g_shader_jit_enabled) | 99 | if (VideoCore::g_shader_jit_enabled) |
| 101 | jit_shader->Run(&state.registers); | 100 | jit_shader->Run(&state.registers, g_state.regs.vs.main_offset); |
| 102 | else | 101 | else |
| 103 | RunInterpreter(state); | 102 | RunInterpreter(state); |
| 104 | #else | 103 | #else |