Use new shader-jit signature for interpreter
This commit is contained in:
parent
4e01e9ffc5
commit
1308afe2c2
|
@ -84,9 +84,9 @@ OutputVertex ShaderSetup::Run(UnitState<false>& state, const InputVertex& input,
|
|||
if (VideoCore::g_shader_jit_enabled)
|
||||
jit_shader->Run(setup, state, config.main_offset);
|
||||
else
|
||||
RunInterpreter(state);
|
||||
RunInterpreter(setup, state, config.main_offset);
|
||||
#else
|
||||
RunInterpreter(state);
|
||||
RunInterpreter(setup, state, config.main_offset);
|
||||
#endif // ARCHITECTURE_x86_64
|
||||
|
||||
// Setup output data
|
||||
|
@ -157,7 +157,7 @@ DebugData<true> ShaderSetup::ProduceDebugInfo(const InputVertex& input, int num_
|
|||
state.conditional_code[0] = false;
|
||||
state.conditional_code[1] = false;
|
||||
|
||||
RunInterpreter(state);
|
||||
RunInterpreter(setup, state, config.main_offset);
|
||||
return state.debug;
|
||||
}
|
||||
|
||||
|
|
|
@ -41,11 +41,11 @@ struct CallStackElement {
|
|||
};
|
||||
|
||||
template<bool Debug>
|
||||
void RunInterpreter(UnitState<Debug>& state) {
|
||||
void RunInterpreter(const ShaderSetup& setup, UnitState<Debug>& state, unsigned offset) {
|
||||
// TODO: Is there a maximal size for this?
|
||||
boost::container::static_vector<CallStackElement, 16> call_stack;
|
||||
|
||||
u32 program_counter = g_state.regs.vs.main_offset;
|
||||
u32 program_counter = offset;
|
||||
|
||||
const auto& uniforms = g_state.vs.uniforms;
|
||||
const auto& swizzle_data = g_state.vs.swizzle_data;
|
||||
|
@ -647,8 +647,8 @@ void RunInterpreter(UnitState<Debug>& state) {
|
|||
}
|
||||
|
||||
// Explicit instantiation
|
||||
template void RunInterpreter(UnitState<false>& state);
|
||||
template void RunInterpreter(UnitState<true>& state);
|
||||
template void RunInterpreter(const ShaderSetup& setup, UnitState<false>& state, unsigned offset);
|
||||
template void RunInterpreter(const ShaderSetup& setup, UnitState<true>& state, unsigned offset);
|
||||
|
||||
} // namespace
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace Shader {
|
|||
template <bool Debug> struct UnitState;
|
||||
|
||||
template<bool Debug>
|
||||
void RunInterpreter(UnitState<Debug>& state);
|
||||
void RunInterpreter(const ShaderSetup& setup, UnitState<Debug>& state, unsigned offset);
|
||||
|
||||
} // namespace
|
||||
|
||||
|
|
Reference in New Issue