D3D10_CREATE_DEVICE_FLAG 열거형(d3d10.h)

디바이스 만들기 플래그.

Syntax

typedef enum D3D10_CREATE_DEVICE_FLAG {
  D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1,
  D3D10_CREATE_DEVICE_DEBUG = 0x2,
  D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
  D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8,
  D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = 0x10,
  D3D10_CREATE_DEVICE_BGRA_SUPPORT = 0x20,
  D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x80,
  D3D10_CREATE_DEVICE_STRICT_VALIDATION = 0x200,
  D3D10_CREATE_DEVICE_DEBUGGABLE = 0x400
} ;

상수

 
D3D10_CREATE_DEVICE_SINGLETHREADED
값: 0x1
애플리케이션이 단일 스레드에서 D3D10만 호출하는 경우 이 플래그를 사용합니다. 이 플래그를 지정하지 않으면 D3D10의 기본 동작입니다.
는 여러 스레드가 내부 상태를 변경하지 않도록 각 API 호출 중에 잠금을 입력하는 것입니다. 이 플래그를 사용하면 잠금이 수행되지 않습니다.
성능이 약간 향상되지만 D3D10이 여러 스레드에서 호출되는 경우 정의되지 않은 동작이 발생할 수 있습니다.
D3D10_CREATE_DEVICE_DEBUG
값: 0x2
디버그 계층을 지원하는 디바이스를 만듭니다.
D3D10_CREATE_DEVICE_SWITCH_TO_REF
값: 0x4
애플리케이션이 로 전환할 수 있도록 REF(소프트웨어) 및 HAL(하드웨어) 버전의 디바이스를 동시에 만듭니다.
디버깅을 사용하도록 설정하는 참조 디바이스입니다. 자세한 내용은 ID3D10SwitchToRef 인터페이스 를 참조하세요.
D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS
값: 0x8
여러 스레드가 만들어지는 것을 방지합니다. WARP 디바이스에서 이 플래그를 사용하는 경우 WARP 및 모든 사용자가 추가 스레드를 만들지 않습니다.
래스터화는 호출 스레드에서 발생합니다. 이 플래그는 일반적으로 사용하지 않는 것이 좋습니다. 설명을 참조하세요.
D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP
값: 0x10
맵으로 호출하는 동안 메모리 소모 시 예외를 트리거하는 대신 NULL 포인터를 반환합니다.
이 플래그가 없으면 메모리 소모에 예외가 발생합니다. Windows 7에서만 유효합니다.
D3D10_CREATE_DEVICE_BGRA_SUPPORT
값: 0x20
BGRA 지원을 사용할 수 없는 경우 디바이스 만들기가 실패합니다.

BGRA 지원을 사용하면 다음 형식을 사용할 수 있습니다.


  • DXGI_FORMAT_B8G8R8A8_TYPELESS

  • DXGI_FORMAT_B8G8R8A8_UNORM

  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

  • DXGI_FORMAT_B8G8R8X8_TYPELESS

  • DXGI_FORMAT_B8G8R8X8_UNORM

  • DXGI_FORMAT_B8G8R8X8_UNORM_SRGB


D3D10_CREATE_DEVICE_BGRA_SUPPORT D3D10CreateDevice1을 사용하여 디바이스를 만든 경우에만 관련이 있습니다.
또는 D3D10CreateDeviceAndSwapChain1 을 사용하여 D3D10_FEATURE_LEVEL_10_0 또는 D3D10_FEATURE_LEVEL_10_1
기능 수준, 플래그는 다른 기능 수준으로 디바이스를 만들 때 무시됩니다.

애플리케이션에서 D3D10_CREATE_DEVICE_BGRA_SUPPORT 지정하지 않은 경우에도 BGRA 지원이 있을 수 있습니다.
플래그는 BGRA 지원을 사용할 수 없는 경우 디바이스 만들기에 실패합니다.

D3D10_CREATE_DEVICE_BGRA_SUPPORT Windows 7, Windows Server 2008 R2 및 업데이트된 Windows Vista(KB971644) 시스템에서만 유효합니다.
D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY
값: 0x80
Direct3D 런타임이 디버그 계층을 켜는 레지스트리 설정을 무시하도록 합니다. DirectX SDK의 일부로 포함된 DirectX 제어판 사용하여 디버그 계층을 켤 수 있습니다. 2010년 6월에 DirectX SDK의 마지막 버전을 배송했습니다. Microsoft 다운로드 센터에서 다운로드할 수 있습니다. 앱에서 일반적으로 릴리스 빌드에서만 이 플래그를 설정하여 최종 사용자가 DirectX 제어판 사용하여 앱이 Direct3D를 사용하는 방법을 모니터링하지 못하도록 할 수 있습니다.

참고 앱에서 이 플래그를 설정하여 Visual Studio Ultimate 2012와 같은 Direct3D 디버깅 도구가 앱을 연결하지 못하도록 할 수도 있습니다.

 

Windows 8.1: 이 플래그는 Visual Studio 2013 이상 Windows 8.1 이상에서 앱을 연결하는 것을 방지하지 않습니다. 그러나 이 플래그는 여전히 Visual Studio 2013 이상 Windows 8 및 이전 버전에서 앱을 후크하지 못하게 합니다.

Direct3D 11: 이 값은 Direct3D 11.1까지 지원되지 않습니다.
D3D10_CREATE_DEVICE_STRICT_VALIDATION
값: 0x200
예약되어 있습니다. 이 플래그는 현재 지원되지 않습니다. 사용하지 마십시오.
D3D10_CREATE_DEVICE_DEBUGGABLE
값: 0x400
디바이스와 드라이버가 셰이더 디버깅에 사용할 수 있는 정보를 유지하도록 합니다. 이 플래그의 정확한 영향은 드라이버마다 다릅니다. 이 플래그를 사용하려면 D3D11_1SDKLayers.dll 설치되어 있어야 합니다. 그렇지 않으면 디바이스 만들기가 실패합니다. 만든 디바이스는 디버그 계층을 지원합니다. D3D11_1SDKLayers.dll 얻으려면 Windows 8 SDK를 설치해야 합니다.

Direct3D 11: 이 값은 Direct3D 11.1까지 지원되지 않습니다.

설명

디바이스 만들기 플래그는 D3D10CreateDeviceD3D10CreateDeviceAndSwapChain에서 사용됩니다.

애플리케이션은 특히 여러 CPU 코어가 있는 컴퓨터에서 성능을 향상시키기 위해 스레드를 동적으로 만들고 삭제할 수 있습니다. 그러나 애플리케이션에서 추가 스레드가 생성되지 않도록 해야 하는 경우가 있을 수 있습니다. 이는 디버깅을 간소화하거나, 코드를 프로파일링하거나, instance 위한 도구를 개발하려는 경우에 발생할 수 있습니다. 이러한 경우 D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS 사용하여 런타임 및 비디오 드라이버가 애플리케이션을 방해할 수 있는 추가 스레드를 만들지 않도록 요청합니다.

요구 사항

요구 사항
헤더 d3d10.h

추가 정보

핵심 열거형