Función D3D12EnableExperimentalFeatures (d3d12.h)

Habilita una lista de características experimentales.

Sintaxis

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

Parámetros

NumFeatures

Tipo: UINT

Número de características experimentales que se van a habilitar.

[in] pIIDs

Tipo: const IID*

SAL: __in_ecount(NumFeatures)

Puntero a una matriz de identificadores que especifican cuáles de las características experimentales disponibles se habilitarán.

[in] pConfigurationStructs

Tipo: void*

SAL: __in_ecount(NumFeatures)

Estructuras que contienen detalles de configuración adicionales que es posible que deba habilitar algunas características experimentales.

[in] pConfigurationStructSizes

Tipo: UINT*

SAL: __in_ecount(NumFeatures)

Tamaños de las estructuras de configuración pasadas en el parámetro pConfigurationStructs.

Valor devuelto

Tipo: HRESULT

Este método devuelve un código de error o correcto HRESULT que puede incluir E_NOINTERFACE si se especifica una característica no reconocida o el modo de desarrollador no está habilitado, o E_INVALIDARG si la configuración de una característica está correcta, las características experimentales especificadas no son compatibles u otros errores.

Comentarios

Llame a esta función antes de la creación del dispositivo.

Dado que el conjunto de características experimentales cambiará con el tiempo y, dado que estas características pueden no ser estables, están pensadas solo para desarrollo y experimentación. Esto se aplica al exigir que el modo de desarrollador esté activo antes de que se puedan habilitar las características experimentales.

El conjunto de características experimentales que se admiten actualmente se puede encontrar en el encabezado D3D12.h, cerca de la definición de la función D3D12EnableExperimentalFeatures; dado que las características experimentales solo están disponibles con poca frecuencia, es habitual encontrar que actualmente no se admiten características experimentales.

Algunas características experimentales se pueden identificar mediante un IID como GUID. Para estas características, puede usar D3D12GetDebugInterface, pasando un IID como parámetro, para recuperar la interfaz para manipular esa característica.

Si se llama a esta función de nuevo con una lista diferente de características que se habilitarán, todos los dispositivos D3D12 actuales se establecen en el estado DEVICE_REMOVED.

Ejemplos

En este ejemplo se muestra el aspecto de una definición de característica experimental.

// --------------------------------------------------------------------------------------------------------------------------------
// 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 }
};
	

Requisitos

   
Plataforma de destino Windows
Encabezado d3d12.h
Library D3D12.lib
Archivo DLL D3D12.dll

Consulte también

Funciones principales