Adquirir um índice não torna a imagem pronta para escrita. Entenda ordem, timeout, sincronização com GPU e erros que quebram o frame XR.
Resposta direta
No OpenXR, xrAcquireSwapchainImage retorna o índice da próxima imagem, mas não garante que ela já possa receber comandos gráficos. A aplicação deve chamar xrWaitSwapchainImage antes de escrever e xrReleaseSwapchainImage depois de concluir os comandos que a referenciam. A ordem incorreta pode produzir XR_ERROR_CALL_ORDER_INVALID; além disso, Vulkan e D3D12 impõem estados e propriedade de fila que precisam estar compatíveis quando a imagem volta ao runtime.
Acquire reserva; wait autoriza o uso
Gravar comandos antes do wait pode disputar a imagem com o compositor. O pipeline deve representar esses estados de forma explícita.
Timeout não é imagem pronta
Quando o prazo expira, a aplicação precisa continuar aguardando ou adaptar o frame, sem liberar ou escrever como se houvesse sucesso.
Release transfere responsabilidade
Depois de finalizar comandos que usam a imagem, a aplicação a devolve; o compositor usa a imagem mais recentemente liberada no frame submetido.
API gráfica adiciona contrato próprio
Layout Vulkan, estado D3D12 e propriedade de fila precisam voltar ao formato exigido pelo runtime antes da liberação.
Leitura Nexus
Centralize o ciclo de swapchain, valide ordem em desenvolvimento, registre timeouts e teste sob carga de GPU para evitar defeitos intermitentes.
Perguntas frequentes
Acquire já permite renderizar?
Não. É obrigatório aguardar com xrWaitSwapchainImage antes de escrever na imagem.
O que acontece com ordem incorreta?
O runtime pode retornar XR_ERROR_CALL_ORDER_INVALID e o frame não deve prosseguir como se tivesse sucesso.
Release espera a GPU terminar?
A aplicação é responsável por concluir e sincronizar os comandos conforme a API gráfica antes de devolver a imagem.
Guias essenciais para aprofundar a decisão
Esta análise editorial foi produzida pela Nexus a partir das fontes oficiais abaixo, consultadas em 27 de outubro de 2026. O texto é original e interpreta implicações práticas para empresas.
- Khronos — xrAcquireSwapchainImage: índice adquirido, ordem de chamadas, imagem estática e necessidade de wait.
- Khronos — OpenXR 1.1 specification: ciclo de swapchain, wait, release, submissão e contratos das APIs gráficas.
Data informada pela fonte principal: OpenXR 1.1.65 consultado em 27 de outubro de 2026; análise técnica.

