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

Vulkan API (вышел!) (565 стр)

Страницы: 1564 565 566 567571 Следующая »
#8460
7:42, 14 мая 2021

/A\
давно уже пришёл к выводу, что лучше вообще не использовать float3 и float2 типы в интерфейсах передачи данных в шейдеры. себе дороже, блин, потому что оно постоянно выстреливает в самый неудобный момент.


#8461
8:04, 14 мая 2021

Suslik
В вулкане у меня берется размер структуры из glslang / spirv-cross / spirv-reflect, поэтому неправильный размер сразу находится, а вот для дх12 такое не сделано.

#8462
8:47, 14 мая 2021

Suslik
> давно уже пришёл к выводу, что лучше вообще не использовать float3 и float2
> типы в интерфейсах

а если через рефлекшен?

#8463
(Правка: 14:02) 14:01, 14 мая 2021

innuendo
через рефлекшен есть размер типа, а есть padding. размер для float3 вернётся 3 (float'а), а padding — 1. не знаю, как в других проектах, но у нас float3 всплывает в юниформах раз каждые 5 лет, немедленно ломается на каком-нибудь айфоне через moltenvk и, так как никому фиксить это не хочется, float3 заменяется на float4 ещё на 5 лет.

#8464
14:07, 14 мая 2021

Suslik
> давно уже пришёл к выводу, что лучше вообще не использовать float3 и float2 типы в интерфейсах передачи данных в шейдеры.
Я чот прихожу к тому, чтобы и от float1 отказаться, и упростить до того, чтобы использовались только float4.

#8465
14:15, 14 мая 2021

просто нужен свой рефлешкн, с отдачей смещений. Сделать один раз и забыть, особенно если в проекте есть float1 и float2 uniform параметры.

#8466
14:20, 14 мая 2021

MAMOHT-92
> просто нужен свой рефлешкн, с отдачей смещений. Сделать один раз и забыть,
> особенно если в проекте есть float1 и float2 uniform параметры
это не поможет, если передавать структуры.

#8467
14:46, 14 мая 2021

Suslik

почти согласен с вами ваше величество суслик

#8468
15:59, 14 мая 2021

HolyDel
> чтобы использовались только float4.
Я это сделал сразу.
Все равно из-за всех этих выравниваний от всего что меньше float4 даже особой экономии памяти не добиться.

#8469
16:54, 14 мая 2021

Suslik
я это сделал.

#8470
17:39, 14 мая 2021

Вопрос про расширение которое фиксит проблему открыт. Про float4 решение правильное.

#8471
17:45, 14 мая 2021

У dxc есть такие опции, надо будет их проверить

  -fvk-use-dx-layout      Use DirectX memory layout for Vulkan resources
  -fvk-use-dx-position-w  Reciprocate SV_Position.w after reading from stage input in PS to accommodate the difference between Vulkan and DirectX
  -fvk-use-gl-layout      Use strict OpenGL std140/std430 memory layout for Vulkan resources
  -fvk-use-scalar-layout  Use scalar memory layout for Vulkan resources

#8472
0:30, 16 мая 2021

Suslik
> давно уже пришёл к выводу, что лучше вообще не использовать float3 и float2
> типы в интерфейсах передачи данных в шейдеры.
Ладно, теперь я согласен)
На метале нельзя упаковать float3 с float

#8473
8:31, 16 мая 2021

/A\
-fvk-use-dx-layout
-fvk-use-scalar-layout
Думаю эти. Отпишись, что получилось

#8474
15:10, 16 мая 2021

Andrey
> Отпишись, что получилось
Из-за метала мне нет смысла приводить все к виду дх12, выравнивание по 16 байт более кросплатформенное.

Страницы: 1564 565 566 567571 Следующая »
ПрограммированиеФорумГрафика