Skip to main content

XBOX Graphics (XG) para preparação de recursos nativos

A biblioteca XBOX Graphics (XG) é uma biblioteca gráfica auxiliar usada para preparar recursos e executar outras tarefas relacionadas a gráficos realizadas fora dos limites das interfaces de runtime do Direct3D. A XG é semelhante à XGraphics no XDK do XBOX 360. A biblioteca XG fornece várias APIs que permitem interagir com os layouts de recursos nativos de hardware e a memória de recursos do XBOX One. A XG contém APIs para fazer o seguinte.
  • Determinar o tamanho e o layout da memória de recursos de textura nativos, incluindo sub-recursos (MIP maps e fatias de matriz/volume)
  • Indexar e copiar texels da ordenação linear para a ordenação swizzled e vice-versa
  • Criar descritores de textura nativos de hardware para layouts de recursos e criar layouts de recursos a partir de descritores de textura de hardware
  • Calcular os bits de swizzle de endereço usados para a rotação de bancos de superfícies de destino de renderização
  • Comprimir e descomprimir dados de superfície para o recurso de hardware de compressão de cor delta (DCC) na GPU do XBOX One X
A biblioteca XG é fornecida de duas formas: uma versão de runtime que pode ser vinculada ao seu título e um build para PC de 64 bits para uso offline, executado em qualquer sistema Windows, incluindo plataformas de área de trabalho e servidor. O build offline da XG pode ser incorporado a ferramentas de conteúdo ou sistemas de build. Use xg_x.dll e xg_x.lib. Para obter mais informações, consulte Referência da XG.

Posicionamento de recursos na memória para buffers e texturas

Para criar em runtime os recursos offline/posicionados que você pré-processa usando a biblioteca XG, chame estes métodos de ID3D12Device: D3D12XBOX_COMPONENT_PLACED_ADDRESSES é uma estrutura usada com o método ID3D12Device::CreateComponentPlacedResourceX. Esse método é semelhante a ID3D12Device::CreatePlacedResourceX, mas permite que o título especifique até quatro endereços virtuais separados que representam as partes individuais do recurso. Em algumas situações, as APIs ID3D12Device::CreatePlacedShaderResourceViewX e ID3D12Device::CreatePlacedUnorderedAccessViewX podem ser usadas para ignorar a etapa de criação de recursos e criar descritores de exibição de recursos diretamente a partir de um endereço virtual gráfico e do formato e das dimensões do recurso.

Uso de mecanismos de acesso direto à memória (DMA) para compressão/descompressão rápida

Há quatro mecanismos de hardware de acesso direto à memória (DMA) na GPU do XBOX One, três dos quais estão disponíveis para uso por títulos do Game OS. Você pode acessar os três mecanismos de DMA usando a lista de comandos e a fila de cópia padrão (D3D12_COMMAND_LIST_TYPE_COPY) ou a interface de extensão do XBOX One ID3D12XboxDmaCommandList. Esses mecanismos de DMA podem ser usados para mover dados rapidamente, além de comprimir e descomprimir dados. Os mecanismos de DMA podem copiar quaisquer dados localizados na memória gráfica, incluindo recursos gráficos e até mesmo dados destinados apenas ao uso da CPU.
Last modified on October 6, 2026