1
1
Fork 0
forked from suyu/suyu

Shader: Initialize conditional_code in interpreter

This doesn't belong in LoadInputVertex because it also happens for
non-VS invocations. Since it's not used by the JIT it seems adequate to
initialize it in the interpreter which is the only thing that cares
about them.
This commit is contained in:
Yuri Kunde Schlesner 2016-12-17 14:09:02 -08:00
parent 1a2acc3baa
commit 9ea5eacf91
2 changed files with 3 additions and 3 deletions

View file

@ -76,9 +76,6 @@ void UnitState::LoadInputVertex(const InputVertex& input, int num_attributes) {
for (int i = 0; i < num_attributes; i++) for (int i = 0; i < num_attributes; i++)
registers.input[attribute_register_map.GetRegisterForAttribute(i)] = input.attr[i]; registers.input[attribute_register_map.GetRegisterForAttribute(i)] = input.attr[i];
conditional_code[0] = false;
conditional_code[1] = false;
} }
MICROPROFILE_DEFINE(GPU_Shader, "GPU", "Shader", MP_RGB(50, 50, 240)); MICROPROFILE_DEFINE(GPU_Shader, "GPU", "Shader", MP_RGB(50, 50, 240));

View file

@ -45,6 +45,9 @@ static void RunInterpreter(const ShaderSetup& setup, UnitState& state, DebugData
boost::container::static_vector<CallStackElement, 16> call_stack; boost::container::static_vector<CallStackElement, 16> call_stack;
u32 program_counter = offset; u32 program_counter = offset;
state.conditional_code[0] = false;
state.conditional_code[1] = false;
auto call = [&program_counter, &call_stack](u32 offset, u32 num_instructions, u32 return_offset, auto call = [&program_counter, &call_stack](u32 offset, u32 num_instructions, u32 return_offset,
u8 repeat_count, u8 loop_increment) { u8 repeat_count, u8 loop_increment) {
// -1 to make sure when incrementing the PC we end up at the correct offset // -1 to make sure when incrementing the PC we end up at the correct offset