В Gallium-драйвере Radeon реализован механизм учета памяти и добавлен дизассемблер шейдеров

Разработчик Джером Глиссе (Gerome Glisse) представил набор патчей, реализующих базовый учет потребления памяти потоком команд (CS) при отрисовке, а также проверку наличия необходимой видеопамяти для выполнения запрошенного задания. В данный момент производится проверка того, что объем задания не превышает 70% объема памяти GTT + VRAM. Отмечается что 70% выбрано для того, чтобы была возможность работать в случаях, когда наблюдается фрагментация памяти.

Общая идея состоит в том, чтобы грубо оценить требования памяти до начала отрисовки и потом узнать точный объем использованной памяти после завершения операции отрисовки. Такой подход приводит к тому, что какая-либо неопределенность относительно доступной памяти существует только в рамках одной операции отрисовки. На практике такой подход показал очень хороший результат, ошибаясь не более чем на +/-10%.

Кроме того, разработчик Вадим Гирлин (Vadim Girlin) добавил в Gallium-драйвер Radeon R600g патч, реализующий дизассемблер шейдеров. Ожидается что это поможет при отладке и оптимизации. Сам по себе патч является небольшим, основной объем занимают таблицы команд. Вывод отладочной информации включается через переменную окружения R600_DUMP_SHADERS.

Источник:
http://www.opennet.ru/opennews/art.shtml?num=36005

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>