> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SetViewInstanceMask

> Establece una máscara que controla qué instancias de vista están habilitadas para los dibujos posteriores.

Establece una máscara que controla qué instancias de vista están habilitadas para los dibujos posteriores.

## Sintaxis

```cpp theme={null}
void SetViewInstanceMask(
    UINT Mask
)
```

### Parámetros

*Mask \[in]*\
Tipo: UINT

Una máscara que especifica qué vistas están habilitadas o deshabilitadas. Si está establecido el bit <i>i</i>, empezando por el bit menos significativo, la instancia de vista <i>i</i> está habilitada.

### Valor devuelto

Tipo: void

Ninguno.

## Comentarios

La máscara de instancias de vista solo afecta a los PSO que declaran el enmascaramiento de instancias de vista especificando la marca D3D12\_VIEW\_INSTANCING\_FLAG\_ENABLE\_VIEW\_INSTANCE\_MASKING durante su creación. Intentar crear un PSO que declare el enmascaramiento de instancias de vista producirá un error en los adaptadores que no admitan la creación de instancias de vista.

La máscara de instancias de vista tiene el valor predeterminado 0, que deshabilita todas las vistas. Esto obliga a las aplicaciones que declaran el enmascaramiento de instancias de vista a elegir explícitamente las vistas que se van a habilitar; de lo contrario, no se representará nada. Si la máscara de instancias de vista habilitara todas las vistas de forma predeterminada, la aplicación podría olvidarse de deshabilitar las vistas no utilizadas, lo que provocaría una pérdida de rendimiento debido al trabajo desperdiciado.

Los lotes (bundles) no heredan la máscara de instancias de vista de su llamador; en su lugar, el valor predeterminado es 0. Esto se debe a que la configuración de la máscara debe conocerse cuando se graba el lote si afecta a la forma en que una implementación graba los dibujos. Sin embargo, la máscara de instancias de vista establecida por un lote sí persiste para el llamador una vez completado el lote. Esta semántica de herencia es similar a la de los PSO.

No se ejecuta ninguna ruta de código de sombreador que dependa de SV\_ViewID en ninguna fase de sombreador para las instancias de vista enmascaradas, y no se realiza ningún recorte, procesamiento de ventanilla ni rasterización. Las implementaciones que inspeccionan la máscara durante la representación pueden incurrir en una pequeña penalización de rendimiento con respecto a los PSO que no declaran en absoluto el enmascaramiento de instancias de vista, pero normalmente la penalización puede compensarse con el ahorro de rendimiento que resulta de omitir el trabajo asociado a las vistas enmascaradas. Dependiendo de la frecuencia y la cantidad de trabajo omitido, las ganancias de rendimiento pueden ser significativas.

## Requisitos

**Encabezado:** d3d12\_xs.h o d3d12\_x.h\
**Biblioteca:** d3d12\_xs.lib o d3d12\_x.lib\
**Plataformas compatibles**: consolas XBOX Series y familia XBOX One

## Consulte también

[ID3D12GraphicsCommandList1](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist1/id3d12graphicscommandlist1_public)


## Related topics

- [D3D12_VIEW_INSTANCE_LOCATION](/es/reference/graphics/d3d12/structs/d3d12_view_instance_location_public.md)
- [D3D12_VIEW_INSTANCING_DESC](/es/reference/graphics/d3d12/structs/d3d12_view_instancing_desc_public.md)
- [chat_manager::set_thread_affinity_mask](/es/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_set_thread_affinity_mask.md)
- [D3D12_VIEW_INSTANCING_FLAGS](/es/reference/graphics/d3d12/enums/d3d12_view_instancing_flags_public.md)
- [PFMultiplayerSetThreadAffinityMask](/es/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/functions/pfmultiplayersetthreadaffinitymask.md)
