> ## 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.

# XG_BUFFER_DESC (família XBOX One)

> Descreve um recurso de buffer.

Descreve um recurso de buffer.

<a id="syntaxSection" />

## Sintaxe

```cpp theme={null}
typedef struct XG_BUFFER_DESC {  
    UINT ByteWidth;
    XG_USAGE Usage;
    UINT BindFlags;
    UINT CPUAccessFlags;
    UINT MiscFlags;
    UINT StructureByteStride;
    UINT ESRAMOffsetBytes;
    UINT ESRAMUsageBytes;
} XG_BUFFER_DESC  
```

<a id="membersSection" />

### Membros

*ByteWidth*\
Tipo: UINT

O tamanho do buffer, em bytes.

*Usage*\
Tipo: [XG\_USAGE](/pt-BR/reference/graphics/xg__NR/enums/xg_usage)

Especifica o uso esperado do recurso durante a renderização.

*BindFlags*\
Tipo: UINT

Constantes de enumeração [XG\_BIND\_FLAG](/pt-BR/reference/graphics/xg__NR/enums/xg_bind_flag), combinadas com uma operação OR bit a bit, que especificam como o buffer deve ser associado ao pipeline.

*CPUAccessFlags*\
Tipo: UINT

Constantes de enumeração [XG\_CPU\_ACCESS\_FLAG](/pt-BR/reference/graphics/xg__NR/enums/xg_cpu_access_flag), combinadas com uma operação OR bit a bit, que especificam os tipos de acesso da CPU permitidos para o buffer. Se o acesso da CPU não for necessário, esse valor será definido como 0.

*MiscFlags*\
Tipo: UINT

Constantes de enumeração [XG\_RESOURCE\_MISC\_FLAG](/pt-BR/reference/graphics/xg__NR/enums/xg_resource_misc_flag), combinadas com uma operação OR bit a bit, que especificam opções adicionais para o buffer. Se opções adicionais não forem usadas, esse valor será definido como 0.

*StructureByteStride*\
Tipo: UINT

Para buffers estruturados, o tamanho de cada elemento na estrutura do buffer, em bytes. Se o recurso de buffer não for um buffer estruturado, esse valor será definido como 0.

Para buffers estruturados, o valor de tamanho em **StructureByteStride** deve corresponder ao tamanho do formato das exibições usadas com o buffer. Por exemplo, se você usar uma exibição de recurso de sombreador (SRV) para ler um buffer em um sombreador de pixel, o tamanho do formato da SRV deverá corresponder ao valor de tamanho em **StructureByteStride**. Para obter mais informações, confira [Buffer estruturado](https://msdn.microsoft.com/library/ff476335.aspx).

*ESRAMOffsetBytes*\
Tipo: UINT

O deslocamento inicial, em bytes, da ESRAM (Enhanced Static Random Access Memory) usada pelo buffer. A ESRAM é uma RAM dedicada de 32 MB que pode ser acessada diretamente apenas pela GPU. Você pode solicitar de 0 a 32 MB de ESRAM, em múltiplos de 4 KB, para o recurso de buffer.

*ESRAMUsageBytes*\
Tipo: UINT

A quantidade, em bytes, de ESRAM usada pelo buffer. Se esse valor for definido como 0, toda a ESRAM restante além do deslocamento inicial especificado em **ESRAMOffsetBytes** será usada, até 32 MB - **ESRAMOffsetBytes**. Se esse valor for definido como zero e a superfície não couber, o buffer usará 32 MB - **ESRAMOffsetBytes**, despejando o restante.

<a id="remarksSection" />

## Comentários

Essa estrutura é usada pela função [XGComputeBufferLayout](/pt-BR/reference/graphics/xg__NR/functions/xgcomputebufferlayout) para calcular o alinhamento de hardware de um recurso de buffer.

Os sinalizadores de associação na enumeração `XG_BIND_FLAG`, exceto `XG_BIND_CONSTANT_BUFFER`, podem ser combinados em `BindFlags` usando uma operação OR lógica. No entanto, você deve usar um único sinalizador de associação por vez, para permitir que o dispositivo otimize o uso do recurso.

<a id="requirementsSection" />

## Requisitos

**Cabeçalho:** xg.h

**Biblioteca:** xg\_x.lib

**Plataformas com suporte:** família XBOX One

<a id="seealsoSection" />

## Confira também

[Gerenciamento de recursos nativos para XBOX One](https://learn.microsoft.com/en-us/gaming/gdk/_content/gc/graphics/directx/native-resource-management)\
[Referência do XG](/pt-BR/reference/graphics/xg__NR/xg_members)


## Related topics

- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [Índice de tópicos sob NDA para desenvolvimento de console com o XBOX GDK](/pt-BR/nda/nda-overview.md)
- [D3D12_CONSTANT_BUFFER_VIEW_DESC](/pt-BR/reference/graphics/d3d12/structs/d3d12_constant_buffer_view_desc_public.md)
- [D3D12_DESCRIPTOR_HEAP_DESC](/pt-BR/reference/graphics/d3d12/structs/d3d12_descriptor_heap_desc_public.md)
- [GetRootSignatureDesc](/pt-BR/reference/graphics/d3d12/interfaces/id3d12rootsignaturedeserializer/methods/id3d12rootsignaturedeserializer_getrootsignaturedesc_public.md)
