MrShoor
> и коллбек для инклюдов.
о да, недавно наткнулся на баг nvidia с cl про инклюды :)
MrShoor
> Они не нужны, когда есть:
> https://docs.microsoft.com/en-us/windows/win32/api/d3dcompiler/nf…
> er-d3dcompile
это ты расскажи тем кто делал движки в 2003-2006
innuendo
> о да, недавно наткнулся на баг nvidia с cl про инклюды :)
Тебя почитать - ты только на баги и натыкаешься. Ты программировать вообще пробовал? Писать код, который идет в продакшн например?
innuendo
> это ты расскажи тем кто делал движки в 2003-2006
В 2003-2006 я у себя использовал это:
https://docs.microsoft.com/en-us/windows/win32/direct3d9/d3dxcompileshader
MrShoor
> Ты программировать вообще пробовал? Писать код, который идет в продакшн
> например?
думаю, что в продакшене у меня опыт в разы больше, раз у тебя багов было так мало
MrShoor
> В 2003-2006 я у себя использовал это:
> https://docs.microsoft.com/en-us/windows/win32/direct3d9/d3dxcompileshader
нуда, использовать фифекты ради одной функции это хорошо пробуманное решение от ms
innuendo
> нуда, использовать фифекты ради одной функции это хорошо пробуманное решение от ms
Походу даже не осознаешь, что пишешь, ибо функцию эту ты ниразу не использовал. Смысла обяснять в чем фейл этой фразы я тут не вижу.
MrShoor
если бы у тебя был опыт работы в команде или с другими движками ты бы такую хрень не нёс -
про фрагментацию я тебе в 100 раз повторяю - был код с кастомным аллокатором - сколько нужно раз ещё написать чтобы дошло я не знаю
> Походу даже не осознаешь, что пишешь, ибо функцию эту ты ниразу не использовал.
дружок, сразу видно huge опыт в продакшене - на одном проекте была засада -работало нормально только с одной версией dxsdk причём очень древней - ставишь последнюю так половина шейдеров не работает
если бы у тебя было хоть немного знаний то ты бы сказал что хроносы ложанулись не с байткодом а кеширование нативного
а про то как fxc в проекте я это хорошо своей пятой точкой прочувствовал да
ну ещё много чего можно сказать для чувака, который в одно лицо писал графоний в компании с мировым уровнем - надеюсь что centroid ты там не использовал :)
nes
> Эффекты никто не заставляет использовать
для всяких "убогих стратежек" не принципально миллион батчей в секунду
innuendo
> про фрагментацию я тебе в 100 раз повторяю - был код с кастомным аллокатором
Ладно, ладно, кошмары не только тебе снятся, не переживай ты так. :)
> если бы у тебя было хоть немного знаний то ты бы сказал что хроносы ложанулись
> не с байткодом а кеширование нативного
У меня был опыт, что переписанные 1 в 1 шейдера с HLSL на GLSL работали медленнее. И это был не CPU Driver's Overhead :). А еще был опыт, что переписанные с GLSL шейдера на HLSL работали быстрее. Не критично так, разница до 10-15% (на AMD).
Что скажешь на это?
MrShoor
ты когда покажешь свой опыт в продакшене тогда и поговорим
innuendo
> ты когда покажешь свой опыт в продакшене тогда и поговорим
Ты мой опыт в продакшене можешь купить и посмотреть. (ну либо на торрентах скачать).
MrShoor
> Ну или тут посмотреть: https://www.altium.com/viewer
это геймдев да ? я не знал
помню как ты выпедривался - типа вот-вот и мы сделаем по вулкан - есть такое ?
Dampire
> #define в смысле #ifdef или #define в смысле #define CONDITION true?
> #ifdef это препроцессор с компилированным путем исполнения, а всего остального
> кода условно не существует. Это вообще не бранчинг как таковой.
> А if с юниформой или константой вполне себе бранчинг с нормальной работой
> варпов без всяких branch misprediction уже больше десяти лет как. И то в
> случае константой с высокой вероятностью второй бранч просто будет выпилен
> компилятором.
если этот ваш if-based статик-бранчинг так хорош,
накой ляд тогда мейнстримовые движки компилят по 200 тысяч шейдеров?
Не по причине ли многообразия комбинаций #define в исходных файлах шейдеров?
Тема в архиве.