D3D12EnableExperimentalFeatures 함수(d3d12.h)

실험적 기능 목록을 사용하도록 설정합니다.

구문

HRESULT D3D12EnableExperimentalFeatures(
       UINT      NumFeatures,
  [in] const IID *pIIDs,
  [in] void      *pConfigurationStructs,
  [in] UINT      *pConfigurationStructSizes
);

매개 변수

NumFeatures

형식: UINT

사용하도록 설정할 실험적 기능의 수입니다.

[in] pIIDs

형식: const IID*

SAL: __in_ecount(NumFeatures)

사용할 수 있는 실험적 기능을 지정하는 ID 배열에 대한 포인터입니다.

[in] pConfigurationStructs

형식: void*

SAL: __in_ecount(NumFeatures)

일부 실험적 기능을 사용하도록 설정해야 할 수도 있는 추가 구성 세부 정보가 포함된 구조체입니다.

[in] pConfigurationStructSizes

형식: UINT*

SAL: __in_ecount(NumFeatures)

pConfigurationStructs 매개 변수에 전달된 구성 구조체의 크기입니다.

반환 값

형식: HRESULT

이 메서드는 인식할 수 없는 기능을 지정하거나 개발자 모드를 사용하도록 설정하지 않은 경우 E_NOINTERFACE 포함할 수 있는 HRESULT 성공 또는 오류 코드를 반환하거나, 기능 구성이 올바르거나, 지정된 실험적 기능이 호환되지 않거나, 기타 오류를 E_INVALIDARG.

설명

디바이스를 만들기 전에 이 함수를 호출합니다.

실험적 기능 집합은 시간이 지남에 따라 변경되고 이러한 기능이 안정적이지 않을 수 있으므로 개발 및 실험 전용입니다. 이는 실험적 기능을 사용하도록 설정하기 전에 개발자 모드를 활성화하도록 요구하여 적용됩니다.

현재 지원되는 실험적 기능 집합은 D3D12EnableExperimentalFeatures 함수 정의에 가까운 D3D12.h 헤더에서 찾을 수 있습니다. 실험적 기능은 자주 사용할 수 없으므로 현재 지원되는 실험적 기능이 없는 것이 일반적입니다.

일부 실험적 기능은 IID를 GUID로 사용하여 식별할 수 있습니다. 이러한 기능의 경우 D3D12GetDebugInterface를 사용하여 IID를 매개 변수로 전달하여 해당 기능을 조작하기 위한 인터페이스를 검색할 수 있습니다.

사용하도록 설정할 다른 기능 목록으로 이 함수를 다시 호출하면 모든 현재 D3D12 디바이스가 DEVICE_REMOVED 상태로 설정됩니다.

예제

이 예제에서는 실험적 기능 정의의 모양을 보여줍니다.

// --------------------------------------------------------------------------------------------------------------------------------
// Experimental Feature: D3D12ExperimentalShaderModels
//
// Use with D3D12EnableExperimentalFeatures to enable experimental shader model support,
// meaning shader models that haven't been finalized for use in retail.
//
// Enabling D3D12ExperimentalShaderModels needs no configuration struct, pass NULL in the pConfigurationStructs array.
//
// --------------------------------------------------------------------------------------------------------------------------------
static const UUID D3D12ExperimentalShaderModels = { /* 76f5573e-f13a-40f5-b297-81ce9e18933f */
    0x76f5573e,
    0xf13a,
    0x40f5,
    { 0xb2, 0x97, 0x81, 0xce, 0x9e, 0x18, 0x93, 0x3f }
};
	

요구 사항

   
대상 플랫폼 Windows
헤더 d3d12.h
라이브러리 D3D12.lib
DLL D3D12.dll

추가 정보

핵심 함수