Войти
ПрограммированиеФорумГрафика

SPIR-V

Advanced: Тема повышенной сложности или важная.

Страницы: 1 2 37 8 Следующая »
#0
10:57, 5 янв. 2016
Спеки давно релизнули, на гит даже подвезли какие-то тулы.. Почему бы и нет?

В этой теме будем разбирать по частям написанное на SPIR-V. По крайней мере будет чем заняться, пока Vulkan не вышел.
+ FAQ

Что стоило бы знать:
- Спеки релизнуты, можно приступать к (не)осиливанию.
- Есть какие-то тулы на гитхабе. Уже скачал, но не смотрел.
- В спеках, вайтпейперах и прочих бумажках есть примеры кода. Лично я уже провожу разбор полетов.
- Vulkan приде, порядок наведе.

#1
10:57, 5 янв. 2016

Разбор полетов часть 1
Разбор полетов часть 2

Предположительно, код пустого мейна:

+ glsl
+ spirv

Не совсем пустого:

+ glsl
+ spirv

#2
10:57, 5 янв. 2016

<reserved>

#3
10:57, 5 янв. 2016

Полезные ссылки:
Кроносы
Собственно, страничка сабжа у них
Спеки
WhitePaper
Какие-то SPIR-V Tools на гитхабе
переводчик GLSL -> SPIR-V

#4
11:37, 5 янв. 2016

The Player
> соответствующий код на spir-v
Извини, но это лютый пздц.

#5
11:43, 5 янв. 2016

Blew_zc
Видимо по этому Кронос досих пор не может выпустить Vulkan API :)))

#6
11:47, 5 янв. 2016

Blew_zc
Собственно говоря, я тоже так думал поначалу.
Пробежался по коду, по диагонали поискал знакомые буквы в спеках. Открыл через неделю и не такой уж он и лютый.
В общем, так часто бывает с новыми вещами. Главное - дать голове время адаптироваться.

#7
11:56, 5 янв. 2016

The Player
> Что такое SPIR?
> Собственно, замена GLSL в Vulkan

Бред какой.

SPIR - это бинарное, но универсальное, промежуточное представление шейдеров (то же самое что прекомпиленные шейдеры в D3D).
В OpenGL аналог вообще отсутствует.

Изучать его прикладным программистам вообще не надо - это всё нужно для драйверописателей и железоизготовителей.

#8
12:06, 5 янв. 2016

Вроде всё понятно, но, на мой взгляд, spirv явно не упрощает разработку. Ранее я бы предположил что вообще будет чистый с++, а тут весьма тревожная тенденция складывается, так скоро будет чистый asm...
А есть информация чем GLSL не угодил?

#9
12:13, 5 янв. 2016

=A=L=X=
Ну я как бы хотел дать понять, что ядро Vulkan юзает именно SPIR, но в то же время можно написать свой переводчик(как сейчас и обстоят дела с GLSL).

slava73
GLSL угодил, кажется уже даже есть переводчики GLSL->SPIR.
На счет сложнее да, но тут думаю ситуация аналогична asm. SPIR стоит юзать, когда не хватает скорости и уже вообще все испробовали.

PaulSh
Вдруг кто-то захочет свой переводчик с блекджеком и путанами?
Ну или, как вариант, на чистом SPIR-V писать?

#10
12:26, 5 янв. 2016

The Player
> Ну или, как вариант, на чистом SPIR-V писать?

Нафиг не надо. Тут прикол весь с точки зрения конечного программиста в том, что можно быстрее загружать шейдеры, если сперва их прогнать через компиляцию в промежуточную форму, а в продакшоне уже грузить эту форму без вовлечения лексического и синтаксического анализа. От GLSL, или что там в вулкане будет, отказываться нет никаких причин - для удобства и унификации всё лучше писать изначально в нём.

#11
13:32, 5 янв. 2016

slava73
> А есть информация чем GLSL не угодил?
Смысл SPIR-V в том, чтобы в него можно было компилировать не только GLSL, но ещё HLSL и вообще любой, хоть кастомный язык шейдеров.

#12
15:12, 5 янв. 2016

ITT сравнивают язык программирования с форматом байт-кода.
Вы б ещё x86-64 предложили как замену C.

#13
17:33, 5 янв. 2016

Blew_zc
> Извини, но это лютый пздц.
Дык это ж не high level shader code, а platform independent low level shader byte-code

#14
19:25, 5 янв. 2016

StiX
> а platform independent low level shader code
Оке, я просто сначала подумал, что его предлагают как альтернативу любому другому human-friendly language.

Страницы: 1 2 37 8 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.