Use new shader-jit signature for interpreter
This commit is contained in:
		@@ -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
	
	Block a user