Antes do período de férias, saiu uma nova atualização de especificação da API Vulkan do The Khronos Group. Assim, o Vulkan 1.3.237 acaba de ser lançado com duas novas extensões.
Com a atualização de especificação do Vulkan 1.3.237, há um punhado de problemas resolvidos tanto no GitHub público quanto no rastreador interno do grupo de trabalho Vulkan. Mas, além das correções e esclarecimentos mais mundanos para a especificação, há duas novas extensões sendo introduzidas hoje.
VK_EXT_surface_maintenance1 é uma das novas extensões hoje e foi trabalhada pela NVIDIA, Intel, Google, Valve e Collabora. Com VK_EXT_surface_maintenance1 estão adicionando alguns novos recursos para o Vulkan Windowing System Integration (WSI) não coberto anteriormente.
VK_EXT_surface_maintenance1 permite consultar o número de imagens mínimas/máximas de uma superfície para um modo de apresentação específico, consultando os recursos de apresentação em escala de uma superfície e consultando uma superfície para o conjunto de modos de apresentação que podem ser facilmente alternados sem exigir a recriação da cadeia de troca.
Vulkan 1.3.237 lançado com duas novas extensões
A outra nova extensão é VK_EXT_swapchain_maintenance1 e trabalhada pela NVIDIA, Google, Samsung, Valve, Arm, Collabora e Huawei. Com VK_EXT_swapchain_maintenance1 também há mais recursos WSI não cobertos anteriormente, embora no lado da cadeia de troca, conforme implícito no nome da extensão.
Os novos recursos do swapchain incluem a capacidade de especificar um limite a ser sinalizado quando os recursos associados a uma operação atual podem ser destruídos com segurança, alterando o modo atual que um swapchain está usando na granularidade por presente, permitindo que os aplicativos definam um comportamento ao apresentar um swapchain imagem para uma superfície com dimensões diferentes da imagem, adiando a alocação de memória da cadeia de troca para melhorar o tempo de inicialização e o consumo de memória e permitir que os aplicativos liberem imagens adquiridas anteriormente sem apresentá-las.
Vários recursos novos
No geral, uma boa coleção de recursos adicionais está agora disponível com essas novas extensões Vulkan em torno de swapchains e superfícies. Por sua vez, o novo trabalho de extensão também deve ajudar a resolver os problemas que a Valve encontrou com os drivers VK_KHR_present_wait para Mesa.
As alterações do Vulkan 1.3.237 são descritas por meio deste commit.
Enquanto isso, saiu o Vulkan 1.3.236. Essa atualização introduziu VK_QCOM_multiview_per_view_viewports e VK_LUNARG_direct_driver_loading. A extensão VK_LUNARG_direct_driver_loading é um pouco interessante e fornece um meio para os aplicativos adicionarem drivers à implementação do Vulkan. Isso permite que os drivers sejam incluídos em um aplicativo sem a necessidade de instalação e pode ser usado em qualquer ambiente de execução.