Método ID3D11Debug::SetFeatureMask (d3d11sdklayers.h)

Establezca un campo de bits de marcas que activará y desactivará las características de depuración.

Sintaxis

HRESULT SetFeatureMask(
  UINT Mask
);

Parámetros

Mask

Tipo: UINT

Combinación de marcas de máscara de características combinadas mediante una operación OR bit a bit. Si hay una marca presente, esa característica se establecerá en activada; de lo contrario, la característica se establecerá en desactivada. Para obtener descripciones de las marcas de máscara de características, vea Comentarios.

Valor devuelto

Tipo: HRESULT

Este método devuelve uno de los códigos de retorno de Direct3D 11.

Comentarios

Nota Si llama a esta API en un proceso de sesión 0, devuelve DXGI_ERROR_NOT_CURRENTLY_AVAILABLE.
 
Establecer una de las siguientes marcas de máscara de características hará que un método de operación de representación (que se muestra a continuación) realice alguna tarea adicional cuando se llame a .
D3D11_DEBUG_FEATURE_FINISH_PER_RENDER_OP (0x2) La aplicación esperará a que la GPU termine de procesar la operación de representación antes de continuar.
D3D11_DEBUG_FEATURE_FLUSH_PER_RENDER_OP (0x1) El entorno de ejecución llamará además a ID3D11DeviceContext::Flush.
D3D11_DEBUG_FEATURE_PRESENT_PER_RENDER_OP (0x4) Runtime llamará a IDXGISwapChain::P resent. La presentación de los búferes de representación se producirá según la configuración establecida por las llamadas anteriores a ID3D11Debug::SetSwapChain e ID3D11Debug::SetPresentPerRenderOpDelay.
 

Estas marcas de máscara de características se aplican a los siguientes métodos de operación de representación:

Al establecer una de las siguientes marcas de máscara de características, puede controlar el comportamiento de los métodos IDXGIDevice2::OfferResources e IDXGIDevice2::ReclaimResources para ayudar a probar y depurar.
Nota Estas marcas son compatibles con el entorno de ejecución de Direct3D 11.1, que está disponible a partir de Windows 8.
 
D3D11_DEBUG_FEATURE_ALWAYS_DISCARD_OFFERED_RESOURCE (0x8) Al llamar a IDXGIDevice2::OfferResources para ofrecer recursos mientras esta marca está habilitada, su contenido siempre se descarta. Use esta marca para probar las rutas de acceso de código que regeneran el contenido del recurso al reclamar. No puede usar esta marca en combinación con D3D11_DEBUG_FEATURE_NEVER_DISCARD_OFFERED_RESOURCE.
D3D11_DEBUG_FEATURE_NEVER_DISCARD_OFFERED_RESOURCE (0x10) Cuando se llama a IDXGIDevice2::OfferResources para ofrecer recursos mientras esta marca está habilitada, su contenido nunca se descarta. Use esta marca para probar las rutas de acceso de código que no necesitan regenerar el contenido del recurso al reclamar. No puede usar esta marca en combinación con D3D11_DEBUG_FEATURE_ALWAYS_DISCARD_OFFERED_RESOURCE.
 

El comportamiento de los métodos IDXGIDevice2::OfferResources e IDXGIDevice2::ReclaimResources depende de la presión de memoria en todo el sistema. Por lo tanto, el escenario en el que se pierde el contenido y se debe volver a generar es poco frecuente para la mayoría de las aplicaciones. Las nuevas opciones anteriores en la capa de depuración de Direct3D permiten simular ese escenario de forma coherente y probar las rutas de acceso de código.

El entorno de ejecución de Direct3D 11.1 admite la marca siguiente.

D3D11_DEBUG_FEATURE_AVOID_BEHAVIOR_CHANGING_DEBUG_AIDS (0x40) Deshabilita el siguiente comportamiento de depuración predeterminado.
 

Cuando la capa de depuración está habilitada, realiza ciertas acciones para revelar problemas de la aplicación. Al establecer la marca D3D11_DEBUG_FEATURE_AVOID_BEHAVIOR_CHANGING_DEBUG_AIDS feature-mask, puede habilitar la capa de depuración sin obtener el siguiente comportamiento de depuración predeterminado:

  • Si una aplicación llama a ID3D11DeviceContext1::D iscardView, el tiempo de ejecución rellena el recurso con un color aleatorio.
  • Si una aplicación llama a IDXGISwapChain1::P resent1 con parámetros de presentación parciales, el tiempo de ejecución omite la información de presentación parcial.
La marca siguiente es compatible con el entorno de ejecución de Direct3D 11.2.
D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION (0x80) Deshabilita el siguiente comportamiento de depuración predeterminado.
 

De forma predeterminada (es decir, sin D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION establecido), la capa de depuración valida el uso adecuado de todas las asignaciones de iconos para los recursos en mosaico para los recursos enlazados para cada operación realizada en el contexto del dispositivo (por ejemplo, dibujar, copiar, etc.). Dependiendo del tamaño de los recursos en mosaico usados (si existe), esta validación puede ser intensiva y lenta del procesador. Es posible que las aplicaciones quieran ejecutarse inicialmente con la validación de la asignación de iconos de recursos en mosaico; después, cuando determinan que el patrón de llamada es seguro, pueden deshabilitar la validación estableciendo D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION.

Si D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION se establece cuando se crea un recurso en mosaico, la capa de depuración nunca realiza el seguimiento de la asignación de iconos para ese recurso durante toda su duración. Como alternativa, si D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION se establece para cualquier llamada de método de contexto de dispositivo determinado (como llamadas de dibujo o copia) que impliquen recursos en mosaico, la capa de depuración omite toda la validación de asignación de iconos para la llamada.

Requisitos

   
Plataforma de destino Windows
Encabezado d3d11sdklayers.h
Library D3D11.lib

Consulte también

Interfaz ID3D11Debug