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

# XGComputeTexture3DLayout (família XBOX One)

> Calcula o layout de hardware para uma textura 3D.

Calcula o layout de hardware para uma textura 3D.

<a id="syntaxSection" />

## Sintaxe

```cpp theme={null}
HRESULT XGComputeTexture3DLayout(
         const XG_TEXTURE3D_DESC *pDesc,
         XG_RESOURCE_LAYOUT *pLayout
)  
```

<a id="ID4EU" />

### Parâmetros

*pDesc*   \_In\_<br />Tipo: [XG\_TEXTURE3D\_DESC\*](/pt-BR/reference/graphics/xg__NR/structs/xg_texture3d_desc)

\[in] A descrição de uma textura 3D como um ponteiro para uma estrutura [XG\_TEXTURE3D\_DESC](/pt-BR/reference/graphics/xg__NR/structs/xg_texture3d_desc).

*pLayout*   \_Out\_<br />Tipo: [XG\_RESOURCE\_LAYOUT\*](/pt-BR/reference/graphics/xg__NR/structs/xg_resource_layout)

\[out] O layout de hardware como um ponteiro para uma estrutura [XG\_RESOURCE\_LAYOUT](/pt-BR/reference/graphics/xg__NR/structs/xg_resource_layout).

<a id="ID4E3" />

### Valor retornado

Tipo: [HRESULT](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-erref/0642cb2f-2075-4469-918c-4441e69c548a)

Retornará **S\_OK** se tiver êxito; caso contrário, retornará um código de erro. Para obter uma lista de códigos de erro, confira [Códigos de erro](/pt-BR/reference/errorcodes).

Retorna E\_INVALIDARG nos seguintes casos:

* *pDesc* ou *pLayout* é nulo.
* **XG\_TEXTURE3D\_DESC.Usage** é XG\_USAGE\_DYNAMIC. Recursos offline não podem ter uso dinâmico.
* **XG\_TEXTURE3D\_DESC.Pitch** não é 0.
* **XG\_TEXTURE3D\_DESC.Usage** é XG\_USAGE\_STAGING e **XG\_TEXTURE3D\_DESC.TileMode** não é XG\_TILE\_MODE\_LINEAR. Somente modos de disposição em blocos lineares têm suporte com recursos de preparo.
* Os sinalizadores de **XG\_TEXTURE3D\_DESC** são inválidos.

<a id="remarks" />

## Comentários

Se você só precisar calcular um layout e não precisar usar nenhum outro recurso de um computador de textura, não crie um computador de textura; use esta função de conveniência. A função cria internamente um computador de textura, chama o [método XGTextureAddressComputer::GetResourceLayout](/pt-BR/reference/graphics/xg__NR/interfaces/XGTextureAddressComputer/methods/xgtextureaddresscomputer_getresourcelayout) e, em seguida, libera o computador de textura.

<a id="requirements" />

## Requisitos

**Cabeçalho:** xg.h

**Biblioteca:** xg\_x.lib

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

## Confira também

[Referência do XG](/pt-BR/reference/graphics/xg__NR/xg_members)


## Related topics

- [LoadComputePipeline](/pt-BR/reference/graphics/d3d12/interfaces/id3d12pipelinelibrary/methods/id3d12pipelinelibrary_loadcomputepipeline_public.md)
- [CreateComputePipelineState](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcomputepipelinestate_public.md)
- [SetComputeRootSignature](/pt-BR/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setcomputerootsignature_public.md)
- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [SetComputeRoot32BitConstant](/pt-BR/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setcomputeroot32bitconstant_public.md)
