diff options
| author | 2016-05-02 20:44:53 -0400 | |
|---|---|---|
| committer | 2016-05-02 20:44:53 -0400 | |
| commit | 6d02fe39f50436e0d1751b81e097b412645e4418 (patch) | |
| tree | bcd93e5f02da2be392feb20987066d4cf35ce221 /src | |
| parent | Merge pull request #1732 from wwylele/config00170000 (diff) | |
| parent | Pica: Replace logic in shader.cpp with loop (diff) | |
| download | yuzu-6d02fe39f50436e0d1751b81e097b412645e4418.tar.gz yuzu-6d02fe39f50436e0d1751b81e097b412645e4418.tar.xz yuzu-6d02fe39f50436e0d1751b81e097b412645e4418.zip | |
Merge pull request #1750 from JayFoxRox/cleanup-shader-input
Pica: Replace logic in shader.cpp with loop
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/shader/shader.cpp | 38 |
1 files changed, 4 insertions, 34 deletions
diff --git a/src/video_core/shader/shader.cpp b/src/video_core/shader/shader.cpp index 356d87f13..65dcc9156 100644 --- a/src/video_core/shader/shader.cpp +++ b/src/video_core/shader/shader.cpp | |||
| @@ -74,24 +74,8 @@ OutputVertex Run(UnitState<false>& state, const InputVertex& input, int num_attr | |||
| 74 | // Setup input register table | 74 | // Setup input register table |
| 75 | const auto& attribute_register_map = config.input_register_map; | 75 | const auto& attribute_register_map = config.input_register_map; |
| 76 | 76 | ||
| 77 | // TODO: Instead of this cumbersome logic, just load the input data directly like | 77 | for (unsigned i = 0; i < num_attributes; i++) |
| 78 | // for (int attr = 0; attr < num_attributes; ++attr) { input_attr[0] = state.registers.input[attribute_register_map.attribute0_register]; } | 78 | state.registers.input[attribute_register_map.GetRegisterForAttribute(i)] = input.attr[i]; |
| 79 | if (num_attributes > 0) state.registers.input[attribute_register_map.attribute0_register] = input.attr[0]; | ||
| 80 | if (num_attributes > 1) state.registers.input[attribute_register_map.attribute1_register] = input.attr[1]; | ||
| 81 | if (num_attributes > 2) state.registers.input[attribute_register_map.attribute2_register] = input.attr[2]; | ||
| 82 | if (num_attributes > 3) state.registers.input[attribute_register_map.attribute3_register] = input.attr[3]; | ||
| 83 | if (num_attributes > 4) state.registers.input[attribute_register_map.attribute4_register] = input.attr[4]; | ||
| 84 | if (num_attributes > 5) state.registers.input[attribute_register_map.attribute5_register] = input.attr[5]; | ||
| 85 | if (num_attributes > 6) state.registers.input[attribute_register_map.attribute6_register] = input.attr[6]; | ||
| 86 | if (num_attributes > 7) state.registers.input[attribute_register_map.attribute7_register] = input.attr[7]; | ||
| 87 | if (num_attributes > 8) state.registers.input[attribute_register_map.attribute8_register] = input.attr[8]; | ||
| 88 | if (num_attributes > 9) state.registers.input[attribute_register_map.attribute9_register] = input.attr[9]; | ||
| 89 | if (num_attributes > 10) state.registers.input[attribute_register_map.attribute10_register] = input.attr[10]; | ||
| 90 | if (num_attributes > 11) state.registers.input[attribute_register_map.attribute11_register] = input.attr[11]; | ||
| 91 | if (num_attributes > 12) state.registers.input[attribute_register_map.attribute12_register] = input.attr[12]; | ||
| 92 | if (num_attributes > 13) state.registers.input[attribute_register_map.attribute13_register] = input.attr[13]; | ||
| 93 | if (num_attributes > 14) state.registers.input[attribute_register_map.attribute14_register] = input.attr[14]; | ||
| 94 | if (num_attributes > 15) state.registers.input[attribute_register_map.attribute15_register] = input.attr[15]; | ||
| 95 | 79 | ||
| 96 | state.conditional_code[0] = false; | 80 | state.conditional_code[0] = false; |
| 97 | state.conditional_code[1] = false; | 81 | state.conditional_code[1] = false; |
| @@ -168,22 +152,8 @@ DebugData<true> ProduceDebugInfo(const InputVertex& input, int num_attributes, c | |||
| 168 | float24 dummy_register; | 152 | float24 dummy_register; |
| 169 | boost::fill(state.registers.input, &dummy_register); | 153 | boost::fill(state.registers.input, &dummy_register); |
| 170 | 154 | ||
| 171 | if (num_attributes > 0) state.registers.input[attribute_register_map.attribute0_register] = &input.attr[0].x; | 155 | for (unsigned i = 0; i < num_attributes; i++) |
| 172 | if (num_attributes > 1) state.registers.input[attribute_register_map.attribute1_register] = &input.attr[1].x; | 156 | state.registers.input[attribute_register_map.GetRegisterForAttribute(i)] = input.attr[i]; |
| 173 | if (num_attributes > 2) state.registers.input[attribute_register_map.attribute2_register] = &input.attr[2].x; | ||
| 174 | if (num_attributes > 3) state.registers.input[attribute_register_map.attribute3_register] = &input.attr[3].x; | ||
| 175 | if (num_attributes > 4) state.registers.input[attribute_register_map.attribute4_register] = &input.attr[4].x; | ||
| 176 | if (num_attributes > 5) state.registers.input[attribute_register_map.attribute5_register] = &input.attr[5].x; | ||
| 177 | if (num_attributes > 6) state.registers.input[attribute_register_map.attribute6_register] = &input.attr[6].x; | ||
| 178 | if (num_attributes > 7) state.registers.input[attribute_register_map.attribute7_register] = &input.attr[7].x; | ||
| 179 | if (num_attributes > 8) state.registers.input[attribute_register_map.attribute8_register] = &input.attr[8].x; | ||
| 180 | if (num_attributes > 9) state.registers.input[attribute_register_map.attribute9_register] = &input.attr[9].x; | ||
| 181 | if (num_attributes > 10) state.registers.input[attribute_register_map.attribute10_register] = &input.attr[10].x; | ||
| 182 | if (num_attributes > 11) state.registers.input[attribute_register_map.attribute11_register] = &input.attr[11].x; | ||
| 183 | if (num_attributes > 12) state.registers.input[attribute_register_map.attribute12_register] = &input.attr[12].x; | ||
| 184 | if (num_attributes > 13) state.registers.input[attribute_register_map.attribute13_register] = &input.attr[13].x; | ||
| 185 | if (num_attributes > 14) state.registers.input[attribute_register_map.attribute14_register] = &input.attr[14].x; | ||
| 186 | if (num_attributes > 15) state.registers.input[attribute_register_map.attribute15_register] = &input.attr[15].x; | ||
| 187 | 157 | ||
| 188 | state.conditional_code[0] = false; | 158 | state.conditional_code[0] = false; |
| 189 | state.conditional_code[1] = false; | 159 | state.conditional_code[1] = false; |