Прецизионное преобразование на мобильных устройствах может привести к снижению производительности. Я хочу минимизировать конверсию в наших шейдерах (glsles, hlsl и spir-v). Меня смущает встроенная функция точности.
Рассмотрим следующий код:
mediump float a, b;
mediump float c = max(a, b);
mediump float a, b;
float c = max(a, b);
mediump float a, b;
mediump float c = sin(max(a, b));
mediump float2 uv;
uniform mediump sampler2D tex;
mediump float c = texture2D(tex, uv);
Какие преобразования произойдут? Если тип возвращаемого значения встроенной функции зависит от параметров, код № 1, № 3, № 4 не должен иметь преобразования. Это правильно?