Различия в любом из номеров версий Vulkan указывают на изменение API каким-либо образом, причем каждая часть номера версии указывает на различный объем изменений.
Разница в номерах версий исправлений указывает на то, что некоторая обычно небольшая часть спецификации или заголовка была изменена, обычно для исправления ошибки, и может повлиять на поведение существующих функций. Различия в этом номере версии не должны влиять ни на полную совместимость, ни на обратную совместимость между двумя версиями, ни на добавление дополнительных интерфейсов к API.
Разница в дополнительных номерах версий указывает на добавление некоторого количества новых функций. Обычно это включает новые интерфейсы в заголовке, а также может включать изменения поведения и исправления ошибок. Функциональность может быть признана устаревшей в незначительной версии, но не будет удалена. Когда вводится новая вспомогательная версия, версия исправления сбрасывается до 0, и каждая вспомогательная ревизия поддерживает свой собственный набор версий исправлений. Различия в этой версии не должны влиять на обратную совместимость, но повлияют на полную совместимость.
Разница в номерах основных версий указывает на большой набор изменений в API, потенциально включая новые функции и интерфейсы заголовков, изменения поведения, удаление устаревших функций, модификацию или полную замену любой функции, и, таким образом, очень вероятно, что все и вся выйдет из строя. совместимость. Различия в этой версии обычно требуют значительных изменений в приложении, чтобы оно работало.
Что это значит для расширений? Например, Swapchain.
Зависимости
Это расширение написано для версии 1.0 API Vulkan. Для этого расширения требуется VK_KHR_surface.
Означает ли это, что это расширение не будет добавлять никаких функций в будущем? Например, если спецификация Vulkan повысит свою младшую версию до 1.1.0
, разрешено ли этой спецификации добавлять новые функции к существующим расширениям?
Могу ли я предположить, что новые функции для существующих расширений будут выпущены только как новые расширения?
Просмотр VkExtensionProperties
specVersion - это версия этого расширения. Это целое число, увеличиваемое с учетом обратно совместимых изменений.
Было бы странно, если бы расширения могли быть расширены в будущих версиях, потому что Vulkan использует формат версии Major, Minor, Patch
, а расширения используют только целое число. Я ожидал, что расширения будут использовать Minor, Patch
, если они добавят функциональность в будущих версиях.