Спецификация DirectX HAL - PullRequest
       13

Спецификация DirectX HAL

4 голосов
/ 02 февраля 2010

Где можно найти спецификацию DirectX HAL?

Принимая эту диаграмму , чтобы быть правильной

alt text

Тогда все производители графических процессоров должны написать свои драйверы устройств так, чтобы они обращались к HAL.

Где указан HAL? Как MSFT настраивает или обновляет HAL? Когда меняется HAL? Если HAL меняется, мир рушится или небо падает?

Ответы [ 4 ]

3 голосов
/ 02 февраля 2010

Насколько я знаю, "DirectX HAL" не существует, HAL - это просто HAL. HAL - это уровень абстракции в режиме ядра, который используется WDDM. В свою очередь, API DirectX связывается с драйвером WDDM (написанным nVidia, ATi и т. Д.) И создает экземпляр устройства HAL.

Чтобы программное обеспечение могло общаться с HAL, оно должно работать в привилегированном режиме (т. Е. Быть драйвером). Если вам интересно, вот где указан HAL: http://msdn.microsoft.com/en-us/library/aa490448.aspx

HAL (обычно) изменяется при выпуске новых версий Windows. И да, небо иногда падает. Помните, когда на Vista не работали драйверы XP? Это было вызвано либо изменением WDDM, либо изменением HAL. Или, скорее всего, оба.

0 голосов
/ 25 марта 2016

Он ищет это?

DirectDraw DDI, Direct3D DDI
Это интерфейс для записи драйвера устройства, который:
1. Принимает запросы D3D (например, чтобы нарисовать треугольник) через этот интерфейс.
2. Затем получите прямой доступ к аппаратным регистрам видеокарты, чтобы применить этот запрос.

(Заполните отображенную память PCI-E с: параметрами треугольника, состояниями рендеринга и отправьте команду в gpu, чтобы начать рисовать треугольник.)


(уравнение последовательности вызова:
1. Пользователь вызывает функцию Direct3D.DrawPrimitive =>
2. Direct3D вызывает Direct3DDDIDriver. Функция D3dDrawPrimitives2 в драйвере =>
3. Драйвер Direct3D DDI записывает память графической карты с параметрами запроса и записывает команду рисования в регистр команд.
4. Графический процессор работает и рисует треугольник в указанной области памяти назначения (например, в GDDR5), который динамически выделяется и помечается как целевая 2D-поверхность.)


Вы можете попрактиковаться в реализации этого драйвера для более простых, более старых графических процессоров с открытой спецификацией оборудования, таких как: SIS 6326, 3dfx Voodoo 1, 2, 3, 4, 5.
Это было бы очень хорошей практикой в ​​колледже.

0 голосов
/ 02 февраля 2010

Поставщики графических процессоров пишут в модель драйвера устройства ( WDDM в Vista и Windows 7). Они должны соответствовать этой модели для использования DirectX.

WDDM доступен в наборе драйверов устройств Windows.

0 голосов
/ 02 февраля 2010

Видео Драйверы на Vista + написаны против WDDM. См. MSDN . Я не совсем уверен, правильно ли я вас понимаю, но я думаю, что вы ищете спецификацию / руководящие принципы / API WDDM.

...