Разработчик dxil-spirv сдался и заменил 9000-строчный структуратор на алгоритм из Mesa

Killing what can't be handled – putting a spaghetti demon to eternal rest

Разработчик dxil-spirv сдался и заменил 9000-строчный структуратор на алгоритм из Mesa

Автор dxil-spirv годами мучился с 9000-строчным структуратором графа потока управления, который ломался от любого обновления игры. После очередного невалидного шейдера он переписал его на основе goto_if из Mesa, проверил через фаззинг случайных CFG и обнаружил несколько багов в Mesa. Производительность на RADV осталась на прежнем уровне, а читаемость кода пришлось принести в жертву корректности.

Пришло время отказаться от этой отлаживаемости и сосредоточиться исключительно на корректности, сохранив производительность настолько, насколько это возможно.
  1. cowlevel

    Я никогда не задумывался о том, как должен работать SIMD-компилятор изнутри. Ух!

  2. e1ghtSpace

    Небольшой отзыв о сайте, хотя я вообще не особо понимаю, о чём вы тут говорите, но я использую прокрутку страницы средней кнопкой мыши с перетаскиванием и обнаружил, что если делать это поверх изображения, то изображение открывается в новой вкладке без прокрутки. Не уверен, что это нужно исправлять, но я просто сообщаю об этом на случай, если это так. :)

  3. FrustratedMonky

    Отлично.

    Спасибо за это. Буду смотреть, как использовать.

Ещё за этот день

2026-11-03