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

HLSL и вызов функций (5 стр)

Страницы: 14 5 6 79 Следующая »
#60
15:00, 6 фев. 2016

cNoNim
Попробуй переписать, может баг компилятора. Типа как-нибудь так:

const int j = WG_IDX * WG_SIZE + LOCAL_IDX;
const float k = key[i];
temp[j][i] = MASK - k;

#61
15:06, 6 фев. 2016

Executor
я примерно так и сделал... тока я нифига не понял WTF

#62
15:12, 6 фев. 2016

еще такой вопрос... у меня есть несколько операций вида

foo[k[i]]
при этом k это как бы вектор uvec4
нельзя эту операцию на какую нить векторную фигню заменить...
а то циклы хочу поубирать... можно конечно руками развернуть... ну тогда много кода получается как то

Прошло более 3 лет
#63
11:28, 13 дек. 2019

Блин.
Начали про Call в шейдере, а закончили if.
Стрелки перевили и тему зафейлили.

#64
13:27, 13 дек. 2019

ахаха, адептам "в шейдере всё инлайнится и разницы в производительности быть не может": https://github.com/KhronosGroup/GLSL/issues/84

#65
16:40, 13 дек. 2019

Suslik
И чем закончилась история? Все-таки лучше было выложить им простенькую демку, чтоб они могли сразу протестировать. Правда там еще вопрос с AMD остается, там вообще все страшно :)

#66
20:50, 13 дек. 2019

Suslik
> ахаха, адептам "в шейдере всё инлайнится и разницы в производительности быть не
> может":
Съешь еще этих мягких французских булок, да выпей чаю.

+ Показать
#67
20:59, 13 дек. 2019

MrShoor
> да выпей чаю.

конечно, нам не нужен d3d код

#68
21:02, 13 дек. 2019

innuendo
> конечно, нам не нужен d3d код
В GLSL то же самое. Но если в HLSL ты можешь увидеть это явно по ассемблеру, то в GLSL - как бог на душу положит. Чаще ложит не так, как хочется: https://aras-p.info/blog/2010/09/29/glsl-optimizer/

#69
(Правка: 21:08) 21:06, 13 дек. 2019

MrShoor
Suslik
То есть, все инлайнится, но параметры как копировались так и копируются?
MrShoor
> то в GLSL - как бог на душу положит.
В Unity можно глянуть оба.

#70
21:12, 13 дек. 2019

foxes
> В Unity можно глянуть оба.
В юнити можно глянуть d3d asm, либо d3d asm, ибо: https://github.com/Unity-Technologies/HLSLcc

#71
21:23, 13 дек. 2019

MrShoor
> это явно по ассемблеру

это не ассемблер

#72
21:25, 13 дек. 2019

innuendo
> это не ассемблер
Да что ты говоришь. А что же это?

#73
(Правка: 21:43) 21:34, 13 дек. 2019

MrShoor
> В юнити можно глянуть d3d asm, либо d3d asm
Ну там не то чтобы asm, а заинлайненый код. Когда портируется с HLSL.

+ unity shader source
unity_shader_cod0001 | HLSL и вызов функций
+ GLES compiled
#74
21:40, 13 дек. 2019

foxes
> Ну там не то чтобы asm, а заинлайненый код. Когда портируется с HLSL.
Ну камон. Я же тебе кинул ссылку. Ты по ней не ходил чтоль?

HLSLcc
DirectX shader bytecode cross compiler.
Originally based on HLSLCrossCompiler.
This library takes DirectX bytecode as input, and translates it into the following languages:
    GLSL (OpenGL 3.2 and later)
    GLSL ES (OpenGL ES 2.0 and later)
    GLSL for Vulkan consumption (as input for Glslang to generate SPIR-V)
    Metal Shading Language
Страницы: 14 5 6 79 Следующая »
ПрограммированиеФорумГрафика