Просмотр исходного кода

command_processor: Add an assertion to ensure LUTs are not written past their boundaries.

bunnei 10 лет назад
Родитель
Сommit
d171822dce
1 измененных файлов с 3 добавлено и 0 удалено
  1. 3 0
      src/video_core/command_processor.cpp

+ 3 - 0
src/video_core/command_processor.cpp

@@ -474,6 +474,9 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) {
         case PICA_REG_INDEX_WORKAROUND(lighting.lut_data[7], 0x1cf):
         case PICA_REG_INDEX_WORKAROUND(lighting.lut_data[7], 0x1cf):
         {
         {
             auto& lut_config = regs.lighting.lut_config;
             auto& lut_config = regs.lighting.lut_config;
+
+            ASSERT_MSG(lut_config.index < 256, "lut_config.index exceeded maximum value of 255!");
+
             g_state.lighting.luts[lut_config.type][lut_config.index].raw = value;
             g_state.lighting.luts[lut_config.type][lut_config.index].raw = value;
             lut_config.index = lut_config.index + 1;
             lut_config.index = lut_config.index + 1;
             break;
             break;