Форум программистов, компьютерный форум, киберфорум
Программирование мультимедиа
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.90/58: Рейтинг темы: голосов - 58, средняя оценка - 4.90
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21

Khronos Group API Vulkan

17.02.2016, 16:38. Показов 11547. Ответов 66
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Состоялся релиз спецификации API Vulkan версии 1.0.

Компании AMD и NVIDIA заявили о выпуске драйверов для Vulkan. По утверждению NVIDIA, поддержка Vulkan для конечного пользователя преподнесёт множество приятных сюрпризов в плане производительности, позволит разработчикам добавить в игры больше деталей и интересных спецэффектов.
На официальном сайте Khronos Group уже доступны примеры работы с данным API, а также Vulkan SDK

технология является полностью открытой и имеет в свободном доступе все необходимые хейдеры и библиотеки.
5
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.02.2016, 16:38
Ответы с готовыми решениями:

Vulkan API — уроки (перевод и дополнение)
Доброго времени суток! Недавно решил сделать уроки по новому Vulkan API. Сначала он может показаться сложным, громоздким, будто бы сделали...

Запуск приложений с Vulkan API на Android
Доброго времени суток, форумчане! С выходом нового графического API Vulkan компания Samsung продемонстрировала работу демки Protostar на...

Нет ли инфы о планах интеграции Vulkan API в Qt?
Может кто наталкивался на статейку, есть ли хотя бы в планах у Qt-шников интеграция Vulkan API в Qt ?

66
 Аватар для snake32
3582 / 1712 / 236
Регистрация: 26.02.2009
Сообщений: 8,649
Записей в блоге: 6
07.03.2016, 21:47
Студворк — интернет-сервис помощи студентам
castaway, знаю что как минимум все чипы на архитектуре GCN. Это все видеокарты HD 7XXX и свежее
1
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
07.03.2016, 22:01
Цитата Сообщение от snake32 Посмотреть сообщение
Это все видеокарты HD 7XXX и свежее
Жаль. У меня серия 6300M...
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
08.03.2016, 00:25  [ТС]
Цитата Сообщение от castaway Посмотреть сообщение
У AMD где-нибудь есть список поддерживаемый видеокарт/чипов?
на сайте khronos есть список поддерживаемых видеокарт, но не могу понять почему нет продукции AMD (возможно после доработки драйвера список обновят).
1
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
08.03.2016, 00:50
_lunar_, я что то никак не въеду, он как екстеншен GL подгружается или отдельной DLL идет? Если DLL то где ее скачать?
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
08.03.2016, 11:52  [ТС]
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
он как екстеншен GL
нет. Vulkan это отдельный самодостаточный API со своими либами и хейдерами. Скачать можно по ссылке в первом посте Vulkan SDK (простая регистрация через e-mail, потом получите доступ к скачиванию дистрибутива SDK для нужной ОС).
0
Программист велосипедист
 Аватар для hays
161 / 48 / 7
Регистрация: 23.11.2014
Сообщений: 313
08.03.2016, 15:04
Кто нибудь его ставил на Linux ?!
0
77 / 50 / 16
Регистрация: 17.05.2015
Сообщений: 262
08.03.2016, 15:15
Решил поковырять вулкан чисто из любопытства, сам с графикой, openGL даже на "моя-твоя" не тяну. Увлекся так, что уже пятый день ковыряю это детище.
И честно... Это какой то лютый писец. Я 80% информации не понимаю и правильный запрос в гугл дать не могу =(

Базовая инициализация, инициализация оборудования, очереди это очевидно и понятно, для чего, как и куда пихать. С семействами очередей сразу не допер, в чем разница. Но дальше меня накрыло.
Что такое слои (Layers), по спецификации не совсем понятно, что оно делает, что эти слои делают вообще?
А WSI? - Это инициализация платформы с API?
Какую роль выполняет VkSwapchain?
В каких случаях нам нужно больше одного комманд буффера?


Благо в SDK лежит штука util_init.hpp,cpp с тонной примеров, не надо полотна инициализации писать.
Но у меня такое ощущение, что я не знаю какого то базового сокровенного принципа, понимание которого бы позволило понять API в два счета. (звучит забавно )
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
08.03.2016, 20:09
Цитата Сообщение от Valeryn Посмотреть сообщение
В каких случаях нам нужно больше одного комманд буффера?
Простой пример - есть общий буфер сцены. В сцене естественно куча фреймов каждый из которых содержит определенный меш. Мешу чтобы отрисоваться нужно N вызовов. Он эти N вызовов пишет в CommandList. Отрисовка. проходимся по фреймам и собираем список из списков мешей. Это подготовка.
Теперь рендер. рендерим карты теней. устанавливаем камеру в источник номер 1 и запускаем общий список. и так N раз.
Переключаем шейдеры на рендер самой сцены и запускаем общий список.
следующий кадр. Меняем положение камеры и отрисовываем.
Как результат экономия нагрузки на CPU на беготню по фреймам дерева сцены. При этом разные потоки могут генерить каждый свой список (свою подветку дерева сцены) параллельно а запускать потом списки на выполнение или последовательно, или собрав в общий список. Во всяком случае так эти командные буфера пользуются под DX. Но так понимаю это минимум идей из того куда эти буфера прикрутить.

Добавлено через 3 минуты
Цитата Сообщение от _lunar_ Посмотреть сообщение
Vulkan это отдельный самодостаточный API со своими либами и хейдерами
Это понятно. Другое дело что это по сути GL5 ну или glNext.
Цитата Сообщение от _lunar_ Посмотреть сообщение
Скачать можно по ссылке в первом посте Vulkan SDK
Без SDK которое как понимаю DLL оборачивает там никак? имеется в виду оно существует в виде DLL + хидер импорта? Как понимаю SDK оборачивает функциональность DLL. Мне все равно обертку делать чтобы в общую систему рендеров встроить, так что хотелось бы сам DLL обернуть, а не делать обертку обертки.
0
77 / 50 / 16
Регистрация: 17.05.2015
Сообщений: 262
09.03.2016, 04:33
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Без SDK которое как понимаю DLL оборачивает там никак? имеется в виду оно существует в виде DLL + хидер импорта? Как понимаю SDK оборачивает функциональность DLL. Мне все равно обертку делать чтобы в общую систему рендеров встроить, так что хотелось бы сам DLL обернуть, а не делать обертку обертки.
в SDK сорцы с make файлами лежат.

Кстати я тут с make не особо дружу. Под виндой все легко собралось команой cmake -G "Visual Studio 14 Win64".
А вот на линуксе что-то оно мне ошибок понакидало.
Кликните здесь для просмотра всего текста
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Determining if the pthread_create exist failed with the following output:
Change Dir: /home/valeryn/Dev/VulkanSDK/1.0.3.1/samples/build/CMakeFiles/CMakeTmp
 
Run Build Command:/usr/bin/make "cmTryCompileExec3124533648/fast"
/usr/bin/make -f CMakeFiles/cmTryCompileExec3124533648.dir/build.make CMakeFiles/cmTryCompileExec3124533648.dir/build
make[1]: Вход в каталог `/home/valeryn/Dev/VulkanSDK/1.0.3.1/samples/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/valeryn/Dev/VulkanSDK/1.0.3.1/samples/build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec3124533648.dir/CheckSymbolExists.c.o
/usr/bin/cc   -std=c99 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -fno-builtin-memcmp -fvisibility=hidden    -o CMakeFiles/cmTryCompileExec3124533648.dir/CheckSymbolExists.c.o   -c /home/valeryn/Dev/VulkanSDK/1.0.3.1/samples/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTryCompileExec3124533648
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3124533648.dir/link.txt --verbose=1
/usr/bin/cc   -std=c99 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -fno-builtin-memcmp -fvisibility=hidden     CMakeFiles/cmTryCompileExec3124533648.dir/CheckSymbolExists.c.o  -o cmTryCompileExec3124533648 -rdynamic 
CMakeFiles/cmTryCompileExec3124533648.dir/CheckSymbolExists.c.o: In function `main':
CheckSymbolExists.c:(.text+0x16): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
make[1]: *** [cmTryCompileExec3124533648] Ошибка 1
make[1]: Выход из каталога `/home/valeryn/Dev/VulkanSDK/1.0.3.1/samples/build/CMakeFiles/CMakeTmp'
make: *** [cmTryCompileExec3124533648/fast] Ошибка 2
 
File /home/valeryn/Dev/VulkanSDK/1.0.3.1/samples/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>
 
int main(int argc, char** argv)
{
  (void)argv;
#ifndef pthread_create
  return ((int*)(&pthread_create))[argc];
#else
  (void)argc;
  return 0;
#endif
}
 
Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/valeryn/Dev/VulkanSDK/1.0.3.1/samples/build/CMakeFiles/CMakeTmp
 
Run Build Command:/usr/bin/make "cmTryCompileExec142711244/fast"
/usr/bin/make -f CMakeFiles/cmTryCompileExec142711244.dir/build.make CMakeFiles/cmTryCompileExec142711244.dir/build
make[1]: Вход в каталог `/home/valeryn/Dev/VulkanSDK/1.0.3.1/samples/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/valeryn/Dev/VulkanSDK/1.0.3.1/samples/build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec142711244.dir/CheckFunctionExists.c.o
/usr/bin/cc   -std=c99 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -fno-builtin-memcmp -fvisibility=hidden -DCHECK_FUNCTION_EXISTS=pthread_create   -o CMakeFiles/cmTryCompileExec142711244.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c
Linking C executable cmTryCompileExec142711244
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec142711244.dir/link.txt --verbose=1
/usr/bin/cc   -std=c99 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -fno-builtin-memcmp -fvisibility=hidden -DCHECK_FUNCTION_EXISTS=pthread_create    CMakeFiles/cmTryCompileExec142711244.dir/CheckFunctionExists.c.o  -o cmTryCompileExec142711244 -rdynamic -lpthreads 
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
make[1]: *** [cmTryCompileExec142711244] Ошибка 1
make[1]: Выход из каталога `/home/valeryn/Dev/VulkanSDK/1.0.3.1/samples/build/CMakeFiles/CMakeTmp'
make: *** [cmTryCompileExec142711244/fast] Ошибка 2


Добавлено через 2 часа 5 минут
Я нашел очень интересный пример на гитхабе. Qt+Vulkan.
Там же использует GFWL !!3.2!! версии.

Правда у меня на линупсе что-то Qt выпендривается, не включает C++14 =_=
1
9954 / 2956 / 497
Регистрация: 05.10.2013
Сообщений: 8,081
Записей в блоге: 242
09.03.2016, 10:52
Qt+Vulkan - это отличные новости! Я сейчас нагуглил эту статью, где сказано, что компания Qt тесно взаимодействует с Khronos Group. Значит скоро будет поддержка Vulkan через какие-нибудь QVulkan классы.
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
09.03.2016, 18:48
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Qt+Vulkan - это отличные новости!
Толку от них если дров под него нет. То что с луны этой скачал не идет. говорит дрова не поддерживают. Порыл на NVidea 361.54 бета нарыл. так он ставится не хочет. В общем DX12 пилить и не парится если целевая платформа PC. А еще лучше свою систему списков команд которая и с DX и c GL контекстом работать умеет. Не особо проблемно, зато возможна такая плюшка как редактирование уже созданных списков+ дисковое сохранение/загрузка. Список то не видюхой обрабатывается а через CPU в Immediate Context сливается, соответственно никакой разницы кто его сливает, API или твой код, важно чтобы при этом не было локов буферов которые пользуются вызовами из списка (в обоих случаях). Более лучшим решением может быть только ComputeShader полностью заменяющий конвейер, который сможет списки хранить на борту GPU. Тогда приходим по большому счету к DX7 Retained Mode который в DX8 порезали нафиг.
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
16.03.2016, 09:39  [ТС]
Вышла новая версия Vulkan SDK 1.0.5
Кликните здесь для просмотра всего текста
Vulkan SDK 1.0.5 Release Notes
Version 1.0.5 for Windows

This SDK supports Vulkan API revision 1.0.5.
Overview of new features

Loader support for VK_KHR_display WSI extension
Loader support for discovering and using multiple physicalDevices and drivers
EXT_debug_marker extension is proposed to Khronos, remove lunarg_debug_marker header file
Loader filter device extensions passed to ICD
Loader find and use device extensions in layers for GetInstanceProcAddr queries
Windows Runtime installer, sign the uninstaller
Param_checker layer checks for strings and string arrays, pointer is NULL, CreateInstance and CreateDevice, and sType/pNext struct members
QueueFamilyIndex validation
Object_tracker handle multiple instances
Smoke demo added for testing validation layers
Tri demo has a --validate command line option
Draw_state validation support for pipeline derivatives, push constants with shaders, image barriers, VkPipelineColorBlendStateCreateInfo -Draw_state validation support for queue bit, occlusion queries, active queries, render pass compatibility, pipeline stats query, fences, events not in use
Threading layer rewritten for improved multi-thread validation


Не по теме:

а спецификация уже для 1.0.6 :D

0
 Аватар для snake32
3582 / 1712 / 236
Регистрация: 26.02.2009
Сообщений: 8,649
Записей в блоге: 6
16.03.2016, 11:20
Vulkan на русском
1
Программист велосипедист
 Аватар для hays
161 / 48 / 7
Регистрация: 23.11.2014
Сообщений: 313
16.03.2016, 12:11
Цитата Сообщение от snake32 Посмотреть сообщение
Vulkan на русском
Да ну уже !
0
16.03.2016, 12:40

Не по теме:

На этом API уже можно игры делать? Кто сможет сделать Pong на нём и скинуть exe? Не уверен, что на моём ноуте запустится, хочется проверить. Или может у кого есть ссылка на какую-нибудь демку на Vulkan'е?

0
 Аватар для snake32
3582 / 1712 / 236
Регистрация: 26.02.2009
Сообщений: 8,649
Записей в блоге: 6
16.03.2016, 12:46
Цитата Сообщение от hays Посмотреть сообщение
Да ну уже !
Не весь, конечно. Но перевод делает ОДИН человек.

Добавлено через 6 минут
Я хотел переписать заголовки для делфи, но новые патчи выходят пока слишком часто(и 2 недели не проходит). Решил подождать, когда устаканиться...
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
16.03.2016, 17:55
Цитата Сообщение от 8Observer8 Посмотреть сообщение
На этом API уже можно игры делать?
Не помню где читал, но по-моему уже делали какую-то демку. Но безусловно стоит немного подождать и драйверов да и вообще стабильности.
1
17.03.2016, 14:26

Не по теме:

Как вы думаете, когда примерно этот API станет стандартом и его встроят в движки, такие как Unreal Engine и Unity? Меньше пяти лет или больше?

0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
17.03.2016, 17:48
8Observer8, лично я не берусь ставить каких-либо оценок на этот счёт...
1
77 / 50 / 16
Регистрация: 17.05.2015
Сообщений: 262
18.03.2016, 09:30
Цитата Сообщение от snake32 Посмотреть сообщение
Не весь, конечно. Но перевод делает ОДИН человек.
И у этого человека батхерт на автора специфики.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.03.2016, 09:30

Почему в Cyberforum нету раздела про Vulkan API
Не знаю, может вопрос может показаться вызывающим. Но почему в Cyberforum нету разделов по OpenCL и Vulkan API?

Vulkan API и nVidia GeForce GT240: всё безнадёжно?
Видеокарта GeForce GT240 образца 2012 года. По тем временам более чем нормальная: 4 Гб, 1,3 ГГц. На днях решил стать кулхацкером. ...

Классы-строители для построения VkDevice (Vulkan API)
Написал классы-строители для построения VkDevice (Vulkan API) #pragma once #ifndef DEVICEBUILDER_H #define DEVICEBUILDER_H ...

Возможен уход производителей игр, от зависимости к Windows ? (за счет Vulkan API)?
Был проект у AMD - mantle. Замена DirectX. Потом Khronos Group запилила общий проект - Vulkan API. Этот графический API для всех под...

Mixing of GROUP columns (MIN(),MAX(),COUNT(),.) with no GROUP columns is illegal if there is no GROUP BY clause
Такая ошибка: КОД: $result=mysql_query(&quot;SELECT description, min(schedule.date) as date FROM schedule where...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru