Суммарные изменения относительно Ревизии 9 GLSL Версии 4.40

Устаревшее:

  • нет

Изменение:

  • Добавлено расширение ARB_ES3_1_compatibility:
    • Поддержка OpenGL ES 310 shaders.
    • Добавлена встроенная функция imageAtomicExchange() для операций с плавающие запятой над изображениями.
    • Добавлена встроенная переменная gl_HelperInvocation, для указания, является ли вызов фрагментного шейдера в качестве вспомогательного, из-за этого шейдер может пропусти код, не нужный или даже вредный во время вызова вспомогательного элемента.
    • Добавлена встроенная константа gl_MaxSamples, а так же ряд других встроенный констант
    • Добавлены встроенные функции для выбора int, uint, и bool компонентов.
  • Добавлено расширение GL_ARB_shader_texture_image_samples, для запроса количества семплов в multi-sample текстуре или изображении.
  • Добавлено расширение GL_ARB_cull_distance, для добавления встроенной переменной, которая будет отбрасывать цельные примитивы.
  • Добавлено расширение GL_ARB_derivative_control:
    • Добавляет встроенные функции dFdxCoarse(), dFdyCoarse(), fwidthCoarse() для крупнозернистых (coarse-grained, крупная частица) производных. Игнорируют GL рекомендации.
    • Добавляет встроенные функции dFdxFine(), dFdyFine(), fwidthFine() для мелкозернистых производных. Игнорирует рекомендации GL.
    • Производные высшего порядка более не могут быть неопределенными, но могут быть 0.
  • Ошибка 10941. Это ошибка доступа одного пакета uniform или блока хранения шейдера в нескольких этапах в программе
  • Ошибка 11902. Деление на ноль дает в результате бесконечность, в соответствии с IEEE. Ошибка 1293 ограничивает использование подпрограммы только в необходимых местах.
  • Ошибка 1294. Определение и использование “aggregate”
  • Ошибка 1315. Для массивов массивов блоков экземпляров, каждый элемент принимает собственный указатель.
  • Ошибка 1447. Исправлена формула наследования pow ().
  • Ошибка 1405. Позволяет смешивать типы int/uint в побитовых операциях.
  • Ошибка 1461. Значение выравнивания должно быль больше чем 0 (align = 0 ведет к ошибке во время компиляции).
  • Ошибка 1247. Ограничения компонентов для упорядоченных интерфейсов (например gl_MaxTessControlInputComponents) пределов каждой вершины, а не ограничения интерфейса целиком.
  • Ошибка 14863. Разъяснено, что глобальные не константные объявления могут вызвать пользовательские функции.
  • Ошибка 14958. Уточнения в пояснительной грамматике для блоков, которые память определяет доступными для использования (как нормаль, пояснения, показанные вне секции 9 являются разъяснительными, а не обязательными).
  • Ошибка 1321 и баг 15276. Шаг к улучшению определений SPIR-V для равномерной и динамической потока управления.
  • Ошибка 15327. Макет(вызов = 0) вызывает ошибку времени компиляции.

Main Admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *