• X xray-16
  • Информация о проекте
    • Информация о проекте
    • Активность
    • Метки
    • Участники
  • Репозиторий
    • Репозиторий
    • Файлы
    • Коммиты
    • Ветки
    • Теги
    • Участники
    • Диаграмма
    • Сравнение
  • Задачи 216
    • Задачи 216
    • Список
    • Доски
    • Спринты
  • Запросы на слияние 31
    • Запросы на слияние 31
  • CI/CD
    • CI/CD
    • Конвейеры
    • Задания
    • Расписания
  • Развертывания
    • Развертывания
    • Окружения
    • Релизы
  • Пакеты и реестры
    • Пакеты и реестры
    • Реестр пакетов
    • Реестр контейнеров
  • Мониторинг
    • Мониторинг
    • Инциденты
  • Аналитика
    • Аналитика
    • Поток ценности
    • CI/CD
    • Репозиторий
  • Wiki
    • Wiki
  • Сниппеты
    • Сниппеты
  • Активность
  • Диаграмма
  • Создать новую задачу
  • Задания
  • Коммиты
  • Доски с задачами
Свернуть панель
  • OpenXRay
  • xray-16
  • Запросы на слияние
  • !534

xrRender: fixed constant table merging

  • Ревью изменений

  • Скачать
  • Почтовые патчи
  • Простое отличие
Слиты xottab-duty запросил слияние github/fork/vTurbine/fix/renderer/ctable_merge в xd_dev Янв 09, 2020
  • Обзор 3
  • Коммиты 2
  • Конвейеры 0
  • Изменения 1

Created by: vTurbine

The merge code is wrong since the get method relies on the assumption of a sorted table. While adding a new constant the table gets modified which breaks std::lower_bound logic. The bug is silent and all you'll have is unexpected graphics artifacts.

It's tricky and had never struck because of merging order in pass compilation:

// r_Pass()
    ctable.merge(&ps->constants);
    ctable.merge(&vs->constants);

The PS usually has no crossings with VS constants and, even it does, this won't lead to adding a new one. The fun begins if the merge order has changed.

Ответственный
Назначить
Проверяющие
Запросить ревью
Оценка трудозатрат
Исходная ветка: github/fork/vTurbine/fix/renderer/ctable_merge