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 |