расширение вулкана: кто кого поддерживает? - PullRequest
0 голосов
/ 16 декабря 2018

Существует EXT, KHR или AMD или NV расширения.Может быть, есть и другие.Я знаю, что NV означает Nvidia и что расширения nv вряд ли поддерживаются AMD.Но как насчет khr или ext?Они обязательно поддерживаются всеми?

Ответы [ 2 ]

0 голосов
/ 16 декабря 2018

Есть другие коды поставщиков.Все текущие коды поставщиков находятся в официальном списке реестра .

Код поставщика обозначает (основного) поставщика, поддерживающего спецификацию расширения.Как правило, другим разрешено реализовывать это (хотя часто нет, особенно если расширение слишком специфично).AFAIK отмеченные поставщиком расширения имеют самые низкие требования для включения в спецификацию (я думаю, что у продавца практически свободные руки, если он ничего не ломает).

Могут быть некоторые экспериментальные \ временные расширения, т.е. NVX и помеченные provisional="true" в реестре .Исторически, они впоследствии полностью удаляются из спецификации и заменяются окончательным преемником.

EXT является особенным.Это означает сотрудничество нескольких поставщиков.Здесь есть много важных расширений, даже, например, VK_EXT_debug_utils, который взаимодействует со слоями проверки, которые мы все используем.В приложении с расширением вы можете увидеть подписанных подписчиков Valve \ LunarG, Google, AMD, NV, RenderDoc, Epic и Oxide.

KHR также особенный.Это похоже на EXT.И это так же хорошо, как рекомендация Khronos (группа спецификаций);это «ратифицированное» расширение.Там могут быть некоторые более жесткие требования (я думаю, что должно быть три существующих реализации).Как говорит @Jherico, у них есть большие шансы стать основными функциями в будущих версиях Vulkan.

Расширения по выбору не являются обязательными.Обязательным является VK_KHR_sampler_mirror_clamp_to_edge по историческим причинам.

0 голосов
/ 16 декабря 2018

Существует веб-сайт , посвященный отслеживанию этой информации.

Может быть, есть и другие

Есть лоты

Но как насчет khr или ext?Они обязательно поддерживаются всеми?

Расширения KHR - это, как правило, вещи, которые будут включены в спецификацию (например, как VK_KHR_external_memory стала частью базовой спецификации Vulkan в 1.1) или вещи, которые могут бытьподдерживается широким спектром поставщиков и оборудования, но не обязательно всем оборудованием (например, VK_KHR_swapchain).

Расширения KHX являются в основном экспериментальными версиями расширений KHR.Они могут стать расширением KHR или быть включены в спецификацию, но они также могут кардинально измениться до того, как они это сделают.

Расширения EXT не зависят от поставщика, но обычно они нацелены на несколько менее распространенный вариант использования, иличто-то более экспериментальное.Как правило, они никогда не станут частью спецификации, и их нужно проверять, прежде чем полагаться на них, а также иметь план использовать другой механизм, если они не поддерживаются.Иногда расширения EXT могут эволюционировать в расширения KHR.

Расширения, специфичные для поставщика, в основном находятся в той же лодке, что и расширения EXT, но контролируются конкретным поставщиком.Они также могут развиваться, чтобы стать расширениями KHR или основной спецификацией.Например, KHR_external_memory начинался как NV_external_memory.

Обязательно ли они поддерживаются всеми?

Это единственное, что является обязательным, то, что в спецификации ядра является обязательным.

...