enumeración D3D11_RESOURCE_MISC_FLAG (d3d11.h)
Identifica las opciones de los recursos.
Syntax
typedef enum D3D11_RESOURCE_MISC_FLAG {
D3D11_RESOURCE_MISC_GENERATE_MIPS = 0x1L,
D3D11_RESOURCE_MISC_SHARED = 0x2L,
D3D11_RESOURCE_MISC_TEXTURECUBE = 0x4L,
D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x10L,
D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x20L,
D3D11_RESOURCE_MISC_BUFFER_STRUCTURED = 0x40L,
D3D11_RESOURCE_MISC_RESOURCE_CLAMP = 0x80L,
D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x100L,
D3D11_RESOURCE_MISC_GDI_COMPATIBLE = 0x200L,
D3D11_RESOURCE_MISC_SHARED_NTHANDLE = 0x800L,
D3D11_RESOURCE_MISC_RESTRICTED_CONTENT = 0x1000L,
D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE = 0x2000L,
D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER = 0x4000L,
D3D11_RESOURCE_MISC_GUARDED = 0x8000L,
D3D11_RESOURCE_MISC_TILE_POOL = 0x20000L,
D3D11_RESOURCE_MISC_TILED = 0x40000L,
D3D11_RESOURCE_MISC_HW_PROTECTED = 0x80000L,
D3D11_RESOURCE_MISC_SHARED_DISPLAYABLE,
D3D11_RESOURCE_MISC_SHARED_EXCLUSIVE_WRITER
} ;
Constantes
D3D11_RESOURCE_MISC_GENERATE_MIPS Valor: 0x1L Habilita la generación de mapas MIP mediante ID3D11DeviceContext::GenerateMips en un recurso de textura. El recurso debe crearse con las marcas de enlace que especifican que el recurso es un destino de representación y un recurso de sombreador. |
D3D11_RESOURCE_MISC_SHARED Valor: 0x2L Habilita el uso compartido de datos de recursos entre dos o más dispositivos Direct3D. Los únicos recursos que se pueden compartir son texturas no mipmapped 2D. D3D11_RESOURCE_MISC_SHARED y D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX son mutuamente excluyentes. Los dispositivos WARP y REF no admiten recursos compartidos. Si intenta crear un recurso con esta marca en un dispositivo WARP o REF , el método create devolverá un código de error E_OUTOFMEMORY .
Nota A partir de Windows 8, los dispositivos WARP admiten totalmente los recursos compartidos.
Nota A partir de Windows 8, se recomienda habilitar el uso compartido de datos de recursos entre dos o más dispositivos Direct3D mediante una combinación de las marcas de D3D11_RESOURCE_MISC_SHARED_NTHANDLE y D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX en su lugar. |
D3D11_RESOURCE_MISC_TEXTURECUBE Valor: 0x4L Establece un recurso como una textura de cubo creada a partir de texture2DArray que contiene 6 texturas. |
D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS Valor: 0x10L Habilita la creación de instancias de contenido generado por GPU. |
D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS Valor: 0x20L Habilita un recurso como un búfer de direcciones de bytes. |
D3D11_RESOURCE_MISC_BUFFER_STRUCTURED Valor: 0x40L Habilita un recurso como un búfer estructurado. |
D3D11_RESOURCE_MISC_RESOURCE_CLAMP Valor: 0x80L Habilita un recurso con fijación de mapa MIP para su uso con ID3D11DeviceContext::SetResourceMinLOD. |
D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX Valor: 0x100L Permite sincronizar el recurso mediante IDXGIKeyedMutex::AcquireSync y IDXGIKeyedMutex::ReleaseSync Apis. Las siguientes API de creación de recursos de Direct3D 11, que toman D3D11_RESOURCE_MISC_FLAG parámetros, se han ampliado para admitir la nueva marca.
Si llama a cualquiera de estos métodos con la marca D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX establecida, la interfaz devuelta admitirá la interfaz IDXGIKeyedMutex . Puede recuperar un puntero a la interfaz IDXGIKeyedMutex del recurso mediante IUnknown::QueryInterface. La interfaz IDXGIKeyedMutex implementa las API IDXGIKeyedMutex::AcquireSync e IDXGIKeyedMutex::ReleaseSync para sincronizar el acceso a la superficie. El dispositivo que crea la superficie y cualquier otro dispositivo que abra la superficie mediante OpenSharedResource, debe llamar a IDXGIKeyedMutex::AcquireSync antes de emitir comandos de representación en la superficie. Cuando esos dispositivos terminen de representarse, deben llamar a IDXGIKeyedMutex::ReleaseSync. D3D11_RESOURCE_MISC_SHARED y D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX son mutuamente excluyentes. Los dispositivos WARP y REF no admiten recursos compartidos. Si intenta crear un recurso con esta marca en un dispositivo WARP o REF , el método create devolverá un código de error E_OUTOFMEMORY .
Nota A partir de Windows 8, los dispositivos WARP admiten totalmente los recursos compartidos. |
D3D11_RESOURCE_MISC_GDI_COMPATIBLE Valor: 0x200L Habilita un recurso compatible con GDI. Debe establecer la marca de D3D11_RESOURCE_MISC_GDI_COMPATIBLE en superficies que use con GDI. Al establecer la marca D3D11_RESOURCE_MISC_GDI_COMPATIBLE se permite la representación de GDI en la superficie a través de IDXGISurface1::GetDC. Tenga en cuenta las siguientes sugerencias de programación para usar D3D11_RESOURCE_MISC_GDI_COMPATIBLE cuando cree una textura o use esa textura en una cadena de intercambio:
|
D3D11_RESOURCE_MISC_SHARED_NTHANDLE Valor: 0x800L Establezca esta marca para habilitar el uso de valores NT HANDLE al crear un recurso compartido. Al habilitar esta marca, se deja de usar los valores HANDLE existentes. El valor especifica un nuevo tipo de recurso compartido que dirige el tiempo de ejecución para usar valores NT HANDLE para el recurso compartido. A continuación, el entorno de ejecución debe confirmar que el recurso compartido funciona en todo el hardware en el nivel de característica especificado. Sin este conjunto de marcas, el tiempo de ejecución no valida estrictamente los parámetros de recursos compartidos (es decir, formatos, marcas, uso, etc.). Cuando el tiempo de ejecución no valida los parámetros de recursos compartidos, el comportamiento de gran parte de la API de Direct3D podría no estar definido y puede variar de controlador a controlador. Direct3D 11 y versiones anteriores: Este valor no se admite hasta Direct3D 11.1. |
D3D11_RESOURCE_MISC_RESTRICTED_CONTENT Valor: 0x1000L Establezca esta marca para indicar que el recurso podría contener contenido protegido; por lo tanto, el sistema operativo debe usar el recurso solo cuando el controlador y el hardware admiten la protección de contenido. Si el controlador y el hardware no admiten la protección de contenido e intenta crear un recurso con esta marca, se produce un error en la creación de recursos. Direct3D 11: Este valor no se admite hasta Direct3D 11.1. |
D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE Valor: 0x2000L Establezca esta marca para indicar que el sistema operativo restringe el acceso a la superficie compartida. Puede usar esta marca junto con la marca D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER y solo cuando se crea una superficie compartida. El proceso que crea el recurso compartido siempre puede abrir el recurso compartido. Direct3D 11: Este valor no se admite hasta Direct3D 11.1. |
D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER Valor: 0x4000L Establezca esta marca para indicar que el controlador restringe el acceso a la superficie compartida. Puede usar esta marca junto con la marca D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE y solo cuando se crea una superficie compartida. El proceso que crea el recurso compartido siempre puede abrir el recurso compartido. Direct3D 11: Este valor no se admite hasta Direct3D 11.1. |
D3D11_RESOURCE_MISC_GUARDED Valor: 0x8000L Establezca esta marca para indicar que el recurso está protegido. Las API IDCompositionSurface::BeginDraw (DirectComposition) y ISurfaceImageSourceNative::BeginDraw (Windows Runtime) devuelven este recurso. Para estas API, proporciona una región de interés (ROI) en una superficie que se va a actualizar. Esta superficie no es compatible con varios destinos de representación (MRT). Un recurso protegido restringe automáticamente todas las escrituras a la región que está relacionada con una de las API anteriores. Además, el recurso aplica el acceso a la ROI con estas restricciones:
Direct3D 11: Este valor no se admite hasta Direct3D 11.1. |
D3D11_RESOURCE_MISC_TILE_POOL Valor: 0x20000L Establezca esta marca para indicar que el recurso es un grupo de iconos. Direct3D 11: Este valor no se admite hasta Direct3D 11.2. |
D3D11_RESOURCE_MISC_TILED Valor: 0x40000L Establezca esta marca para indicar que el recurso es un recurso en mosaico. Direct3D 11: Este valor no se admite hasta Direct3D 11.2. |
D3D11_RESOURCE_MISC_HW_PROTECTED Valor: 0x80000L Establezca esta marca para indicar que se debe crear el recurso de forma que esté protegido por el hardware. Se producirá un error en la creación de recursos si no se admite la protección de contenido de hardware. Esta marca tiene las siguientes restricciones:
Nota La creación de una textura con esta marca no garantiza automáticamente que la protección de hardware esté habilitada para la asignación subyacente. Algunas implementaciones requieren que los componentes drm se inicialicen primero antes de cualquier garantía de protección. Nota Este valor de enumeración se admite a partir de Windows 10. |
D3D11_RESOURCE_MISC_SHARED_DISPLAYABLE Permite que el recurso funcione con la característica de superficies que se pueden mostrar . Debe usar D3D11_RESOURCE_MISC_SHARED_DISPLAYABLE en combinación con D3D11_RESOURCE_MISC_SHARED y D3D11_RESOURCE_MISC_SHARED_NTHANDLE. |
D3D11_RESOURCE_MISC_SHARED_EXCLUSIVE_WRITER TBD |
Comentarios
Esta enumeración se usa en D3D11_BUFFER_DESC, D3D11_TEXTURE1D_DESC, D3D11_TEXTURE2D_DESC, D3D11_TEXTURE3D_DESC.
Estas marcas se pueden combinar mediante OR bit a bit.
No se puede usar el D3D11_RESOURCE_MISC_FLAG al crear recursos con marcas de D3D11_CPU_ACCESS .
Requisitos
Requisito | Valor |
---|---|
Header | d3d11.h |