2010-02-01 9 views
4

어디에서 DirectX HAL 사양을 찾을 수 있습니까? 촬영 this diagramDirectX HAL 사양

alt text http://files.myopera.com/NoteMe/albums/351845/ddi-hal-gdi-relationship.png

모든 GPU 벤더들이 HAL에게 말하도록 자신의 디바이스 드라이버를 작성해야 정확합니다.

HAL은 어디에 지정되어 있습니까? MSFT는 HAL을 어떻게 조정하거나 업데이트합니까? HAL은 언제 바뀌나요? HAL이 변경되면 세계가 깨지거나 하늘이 떨어지게됩니까?

답변

3

내가 아는 한 "DirectX HAL"은 없으며 HAL은 단지 HAL입니다. HAL은 WDDM이 사용하는 커널 모드 추상화 계층입니다. 차례로 DirectX API는 nVidia, ATi 등이 작성한 WDDM 드라이버와 통신하고 HAL 장치를 인스턴스화합니다.

소프트웨어가 HAL과 통신하려면 권한있는 모드 (즉, 드라이버)로 실행해야합니다. 호기심이 생기면 여기에서 HAL을 지정합니다. http://msdn.microsoft.com/en-us/library/aa490448.aspx

새 버전의 Windows를 릴리스하면 HAL (일반적으로)이 변경됩니다. 그리고 예, 하늘이 때때로 떨어집니다. Vista에서 XP 드라이버가 작동하지 않았던 때를 기억하십니까? 이것은 WDDM 변경 또는 HAL 변경으로 인해 발생했습니다. 또는, 둘 다 가능합니다.

0

비디오 Vista + 드라이버는 WDDM에 대해 작성되었습니다. See MSDN. 나는 당신을 정확하게 이해하는지 절대 확신하지는 않지만 WDDM 규격/가이드 라인/API가 당신이 찾고있는 것이라고 생각합니다.

0

GPU 공급 업체는 장치 드라이버 모델 (Vista 및 Windows 7에서는 WDDM)에 쓰려고합니다. DirectX에서 사용할 수 있도록이 모델을 준수해야합니다.

WDDM은 Windows 장치 드라이버 키트에서 사용할 수 있습니다.

-1

그는 이것을 찾고 있습니까?

DirectDraw DDI, Direct3D DDI

이 디바이스 드라이버를 작성하기위한 인터페이스이다. (예를 들어, 삼각형 그릴)
1. D3D 요청을 받아들이는 인터페이스를 통해.
2. 비디오 카드 하드웨어 레지스터에 직접 액세스하여 해당 요청을 적용하십시오.


(식 호출 순서 :

(주 렌더링, 삼각형 매개 변수와 삼각형을 그리기 시작하는 GPU에 명령을 보내와 PCI-E 메모리 매핑 된 메모리를 채 웁니다.).
1. 사용자 Direct3D.DrawPrimitive 함수 =>
2. Direct3D는 드라이버에서 Direct3DDDIDriver를 호출합니다. D3dDrawPrimitives2 funcion =>
3. Direct3D DDI 드라이버는 그래픽 카드 메모리에 요청 매개 변수를 쓰고 명령 레지스터에 그리기 명령을 씁니다.
4. GPU가 작동하고 동적으로 할당 및 목표 2D 표면으로 표시된이 지정된 대상 메모리 영역 (예를 들면. GDDR5의)에 삼각형을 그리는 것입니다.)


당신은이 드라이버를 구현하는 연습을 할 수 보다 단순하고 오래된 오픈 하드웨어 사양 GPU는 다음과 같습니다 : SIS 6326, 3dfx Voodoo 1, 2, 3, 4, 5.
이것은 대학에서 좋은 연습이 될 것입니다.

+0

질문에 대한 대답으로 ** 링크 ** 대신 대답에 의미있는 정보를 넣을 수 있습니까? – Raju

+0

이것은 이론적으로 질문에 대답 할 수 있지만 여기에 대답의 핵심 부분을 포함하고 참조 용 링크를 제공하는 것이 바람직합니다 (// meta.stackoverflow.com/q/8259). –