Windows 7용 플랫폼 업데이트
이 항목에서는 Windows 7 용 플랫폼 업데이트를 통해 사용할 수 있는 Windows 7 그래픽 스택의 구성 요소에 대한 향상된 기능에 대해 설명합니다.
Windows 7에 설치된 경우 Windows 7용 플랫폼 업데이트는 windows 7을 Windows 8 사용할 수 있는 기능으로 업데이트합니다. 예를 들어 이러한 Windows 8 구성 요소는 전체 기능으로 사용할 수 있습니다.
- Direct2D 1.1(Direct2D 효과 포함)
- DirectWrite
- WIC(Windows Imaging Component)
이러한 기능은 다음과 같은 부분적인 기능을 제공합니다.
- Direct3D 11.1
- DXGI 1.2
예를 들어 이 구성 요소는 사용할 수 없습니다.
- DirectComposition(DComp)
플랫폼 업데이트를 사용하는 Direct2D, DirectWrite 및 WIC에 대한 자세한 내용은 다음 topics 참조하세요.
- Windows 8(Windows)용 Direct2D의 새로운 기능
- Windows 8 DirectWrite 새로운 기능(Windows)
- Windows 8 WIC의 새로운 기능(Windows)
플랫폼 업데이트를 사용하여 Direct3D 및 DXGI에 대한 자세한 내용은 다음 topics 참조하세요.
플랫폼 업데이트가 설치되면 Direct3D11.1 및 DXGI 1.2에 도입된 인터페이스를 부분 기능으로 사용할 수 있습니다. 이러한 그래픽 구성 요소의 기능은 그래픽 커널 구성 요소, 그래픽 드라이버 및 그래픽 하드웨어에 직접 연결됩니다. Windows 7에서 Direct3D11.1을 사용하기 전에 다음 세부 사항에 대해 잘 알고 있어야 합니다.
Windows 8 WDDM 1.2 드라이버 모델을 도입하여 모든 기능 수준에 대해 연결된 API 표면에서 향상된 기능을 제공했습니다. Direct3D11.1 설명서를 읽을 때 새 드라이버 가 WDDM 1.2 드라이버를 의미한다는 것을 이해합니다. 이러한 업데이트된 드라이버 버전과 CheckFeatureSupport를 통해 노출된 대부분의 선택적 기능은 Windows 7에서 사용할 수 없습니다. 이러한 선택적 기능을 사용할 수 있다는 보장은 없으므로 원하는 기능을 사용할 수 없는 경우 애플리케이션에 적절한 대체 동작이 있는지 확인합니다.
한 가지 중요한 예외가 있습니다. 상수 버퍼 오프셋이 있는 PSSetConstantBuffers1 과 같은 여러 기능은 기능 수준 10 이상에 대한 새 드라이버가 필요하지만 실제로 기능 수준 9에 대해 에뮬레이트됩니다. 이 에뮬레이션은 플랫폼 업데이트가 포함된 Windows 7에서 사용할 수 있습니다. 에뮬레이트되는 기능에 대한 자세한 내용은 D3D11_FEATURE_DATA_D3D11_OPTIONS 참조하세요.
Windows 8 WDDM 1.2 드라이버 모델은 D3D 기능 수준 11.1을 통해 노출되는 차세대 하드웨어를 지원합니다. 플랫폼 업데이트가 포함된 Windows 7은 WDDM 1.1 드라이버 모델만 지원하므로 기능 수준 11.1 하드웨어 지원을 사용할 수 없습니다(플랫폼 업데이트를 통해). 플랫폼 업데이트가 있는 Windows 7에서 D3D11CreateDevice는 Windows 7에서 11.1 코드 경로를 테스트하는 데 사용할 수 있는 참조 디바이스를 제외하고 항상 11.0 이하의 기능 수준을 반환합니다. 기능 수준 참조에 설명된 대로 대상 기능 수준에서 사용할 수 있는 기능만 사용합니다.
DGXI 1.2에 도입된 몇 가지 새로운 메서드는 Windows 7용 플랫폼 업데이트에서 완전히 지원되지 않습니다. 이러한 함수를 직접 호출하고 오류 코드를 확인하여 이러한 함수의 가용성을 테스트할 수 있습니다. 원하는 기능을 사용할 수 없는 경우 플랫폼 업데이트를 사용하여 Windows 7을 대상으로 하는 애플리케이션이 대체되는지 확인합니다. 이러한 기능 클래스는 Windows 7용 플랫폼 업데이트에서 사용할 수 없습니다.
- 스테레오
- Hwnds를 대상으로 하지 않는 스왑 체인
- 폐색 상태 알림
- 데스크톱 중복
- NT 리소스 처리
특히 다음 API는 DXGI_ERROR_UNSUPPORTED, DXGI_ERROR_INVALID_CALL, E_NOTIMPL 또는 E_INVALIDARG 반환합니다.
- IDXGIFactory2::CreateSwapChainForCoreWindow
- IDXGIFactory2::CreateSwapChainForComposition
- IDXGIFactory2::RegisterStereoStatusWindow
- IDXGIFactory2::RegisterStereoStatusEvent
- IDXGIFactory2::UnregisterStereoStatus
- IDXGIFactory2::RegisterOcclusionStatusWindow
- IDXGIFactory2::RegisterOcclusionStatusEvent
- IDXGIFactory2::UnregisterOcclusionStatus
- IDXGISwapChain1::GetCoreWindow
- IDXGISwapChain1::SetRotation
- IDXGISwapChain1::GetRotation
- IDXGIOutput1::DuplicateOutput
- IDXGIDevice2::EnqueueSetEvent
- IDXGIResource1::CreateSharedHandle
- IDXGIFactory2::GetSharedResourceAdapterLuid
- ID3D11Device1::OpenSharedResource1
- ID3D11Device1::OpenSharedResourceByName
이러한 API에는 다음과 같이 동작 차이가 있습니다.
- IDXGIFactory2::CreateSwapChainForHwnd는 크기 조정 필드가 있는 DXGI_SWAP_CHAIN_DESC1 구조를 사용합니다. DXGI_SCALING_NONE 플랫폼 업데이트와 함께 Windows 7에서 지원되지 않으며 CreateSwapChainForHwnd 가 호출되면 DXGI_ERROR_INVALID_CALL 반환합니다.
- IDXGISwapChain1::SetBackgroundColor 는 DXGI_SCALING_NONE 사용하여 스왑 체인에서 설정할 때만 유용합니다. 해당 값은 여전히 저장되며 검색할 수 있지만 아무런 효과가 없습니다.
- IDXGIDisplayControl::IsStereoEnabled, IDXGIFactory2::IsWindowedStereoEnabled 및 IDXGISwapChain1::IsTemporaryMonoSupported 모두 FALSE를 반환 합니다.
- IDXGIOutput1::GetDisplayModeList1 및 IDXGIOutput1::FindClosestMatchingMode1 이 스테레오 표시 모드를 용이하게 하기 위해 추가되었습니다. 스테레오가 Windows 7용 플랫폼 업데이트에서 지원되지 않으므로 이 메서드는 IDXGIOutput::FindClosestMatchingMode 와 DXGI_MODE_DESC1 동일합니다. 스테레오가 항상 FALSE입니다.
- IDXGIDevice2::OfferResources 및 IDXGIDevice2::ReclaimResources 는 Windows 7용 플랫폼 업데이트에서 지원되지 않습니다. 그러나 런타임은 여전히 호출할 수 있으며 공유되지 않은 리소스에서 올바르게 사용되고 있는지 유효성 검사를 수행합니다.
- WARP 디바이스는 기능 수준 11.0만 지원합니다. 즉, D3D11CreateDevice의 DriverType 매개 변수에 D3D_DRIVER_TYPE_WARP 전달하여 만든 WARP 디바이스는 11.1을 지원하지 않으며 공유 표면도 지원하지 않습니다.
현재 microsoft Visual Studio 2010 이하에서 D3D11_CREATE_DEVICE_DEBUG 플래그를 사용하여 애플리케이션을 작업하는 개발자의 경우 D3D11CreateDevice 에 대한 호출이 실패한다는 점에 유의하세요. D3D11.1 런타임에는 이제 D3D11SDKLayers.dll 대신 D3D11_1SDKLayers.dll 필요하기 때문입니다. 이 새 DLL(D3D11_1SDKLayers.dll)을 얻으려면 Windows 8 SDK 또는 Visual Studio 2012 또는 Visual Studio 2012 원격 디버깅 도구를 설치합니다. 자세한 내용은 디버그 계층 설명서를 참조하세요.