The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Microsoft открыл код DirectX Shader Compiler

24.01.2017 12:44

Компания Microsoft объявила об открытии компилятора шейдеров DirectX Shader Compiler, предназначенного для трансляции шейдеров на языке HLSL (High-Level Shader Language, присутствует начиная с DirectX 9.0) в новый бинарный формат DXIL (DirectX Intermediate Language), поддерживаемый в DirectX 12. Код открыт под лицензией MIT и реализован в форме модифицированной версии LLVM/Clang.

Для сообщества проект представляет интерес как отправная точка для создания трансляторов с HLSL/DXIL на языки GLSL и SPIR-V, чему способствует наличие готовых компонентов для трансляции в промежуточное представление LLVM. Код также может быть использован проектом Wine в бэкенде Gallium3D (state tracker) с реализацией DirectX 12.

  1. Главная ссылка к новости (https://blogs.msdn.microsoft.c...)
  2. OpenNews: Стабильный релиз Wine 1.8
  3. OpenNews: Демонстрация реализации DirectX 11 в Crossover на платформе Linux
  4. OpenNews: В Crossover планируется реализовать поддержку DirectX 11 для Linux и OS X
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45907-directx
Ключевые слова: directx, wine, llvm
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (42) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, dimqua (ok), 12:52, 24/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    С паршивой овцы хоть шерсти клок.
     
     
  • 2.5, Gemorroj (ok), 12:55, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Современный
     
     
     
     
     
     
    Часть нити удалена модератором

  • 7.26, Аноним (-), 16:04, 24/01/2017 [ответить]  
  • –1 +/
    Почти половина текста там на твёрдость-мягкость, о которой многие носители языка... большой текст свёрнут, показать
     
     
  • 8.28, Аноним (-), 16:34, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Можно подумать, в других языках нет исключений и всякого legacy ... текст свёрнут, показать
     
     
  • 9.29, Аноним (-), 16:41, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Их ошибки не оправдывают наших Если половина ошибок носителей языка на Н и НН, ... текст свёрнут, показать
     
  • 2.35, Аноним (-), 18:01, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    это потому, что вайн как бы уже готов к проглатыванию этого кода, не раньше ни позже...но все равно МС+ за это.
     

  • 1.8, Штунц (?), 13:15, 24/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Интересно, что Microsoft, столько лет производящая языки компиляторы, воспользовалась LLVM/Clang. Видимо, они изначально планировали код открыть.
     
     
  • 2.14, Аноним (-), 14:35, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А не они ли одни из продвигающих LLVM?
     
     
  • 3.15, Аноним (-), 14:38, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > А не они ли одни из продвигающих LLVM?

    Не перепутал с Эпплом...

     
  • 3.32, J.L. (?), 17:49, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А не они ли одни из продвигающих LLVM?

    LLVM сумел стать "дефолтно-предполагаемым промежуточным представлением", а такое представление, к которому с одной стороны крепятся фронтенды "языков", а с другой бэкенды "машкодов", удобно многим

    зы: что б там про gcc и его промежуточное представление ни говорили - но не видно чтот желания у людей писать к нему фронтенды и бэкенды

     
     
  • 4.34, J.L. (?), 18:00, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    а можно промежуточное представление gcc компилить в llvm и/или обратно без потерь ? есть такие тулзы ?
     
     
  • 5.40, Andrey Mitrofanov (?), 18:48, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > а можно промежуточное представление gcc компилить в llvm и/или обратно без потерь

    Прежде чем про "без потери" спрашивать, оплати консультацию лояра по этому вопросу, потом с копией чека -- за разрешением к тов.Столману.

    Вот в теме про Майкрософт -- самое место таким вопросам, да. Поэтому сразу место ответу: works as designed. http://www.opennet.dev/openforum/vsluhforumID3/104551.html#54 . http://www.opennet.dev/openforum/vsluhforumID3/101723.html#131 .

    > ? есть такие тулзы ?

     

  • 1.9, Аноним (-), 13:22, 24/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    In YSFLIGHT for OpenGL 2 0, I have implemented the shadow-map method I believe ... большой текст свёрнут, показать
     
     
  • 2.36, Аноним (-), 18:03, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    > a cover library. Maybe I'll need to do the same for
    > Vulkan eventually.
    > But, what I desperately want to avoid is to spend considerable time
    > to lean how to use Vulkun only to see Vulkun just
    > fading away. I wasted too much time to learn Direct3D9. Microsoft
    > ditched it in Direct X10. If I knew my knowledge in
    > DirectX9 becomes useless in such a short time, I definitely wouldn't
    > have wasted time learning Direct3D9. I learned from it. I will
    > never spend time learning Direct X12.
    > http://ysflight.in.coocan.jp/ysflight/ysflight/e.html

    это как бы его личное наболевшее, не хочет как хочет ;)...

     
  • 2.41, Аноним (-), 19:00, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Кто это?
     

  • 1.10, Аноним (-), 13:40, 24/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Объясните, плз. Эта компиляция в реальном времени будет происходить или что это вообще такое???
     
     
  • 2.16, Аноним (-), 14:40, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +16 +/
    У каждой видеокарты свой API.

    У каждого драйвера свой API.

    Всякие DirectX, OpenGL и пр. являются платформенно-независимыми и позволяют писать универсальный код для всех карт. То, что видеокарта не поддерживает, часто (не всегда) пересчитывается на центральном процессоре.

    Сейчас в моде шейдеры - программы, исполняемые непосредственно на видеокарте. Обычно они представляют собой модификацию готовых текстур.

    Пример шейдера: берёшь квадрат и файл-таблицу высот, объединяешь и получаешь трёхмерную карту местности. Накладываешь на неё текстуру травы. А для реалистичности сверху накладываешь "загрязнение" чтобы трава не была одноцветной.

    Программы для шейдеров пишутся на универсальных платформенно-независимых языках программирования. Первые такие языки напоминали ассемблер, сейчас доросли до Си. HLSL - это Си-подобный язык шейдеров. Он компилируется в псевдокод DXIL (как раз этот компилер открыли), который DirectX и драйвер видеокарты преобразуют в исполняемый на видеокарте двоичный код.

     
     
  • 3.19, Аноним (-), 14:58, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    ОК, спасибо за разъяснения.
    А использовать это где предполагают?
     
     
  • 4.21, Аноним (-), 15:17, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Майкрософт никому ничего не предлагает, особенно СПО.

    Этот компилятор - это малополезная утилита, используемая где-то в глубинах DirectX. Его исходник интересен только тем, кто хочет скопировать DirectX (WINE, ReactOS).

     
  • 4.48, pda (?), 22:53, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Там же написано, в первую очередь для компиляции в бинарный формат DirectX 12. Скажем, пишите вы DX12-only игру, хотите, чтобы
    1) шейдеры загружались ещё быстрее и
    2) злобные конкуренты не увидели их исходный код в ресурсах игры

    Вот и компилируете их в такой типа java-байткод, который потом относительно легко и быстро преобразуется драйвером в исполняемый код, который будет работать на железе пользователя.

     
     
  • 5.51, Аноним (-), 00:23, 25/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > для компиляции в бинарный формат DirectX 12

    Это понятно. Непонятно зачем надо было исходники тулзы открывать. Т.е. то что код C++ компилятора MSVC закрыт - это ничо так, то что видеодрайвер закрыт - тоже норм, dll-ки DirectX бинарные - тоже подойдет. А шейдерный компилятор (точнее половина этого компилятора) - пуп земли что ли? Что-то тут не так...

     
     
  • 6.60, pda (?), 18:59, 25/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    При наличии исходников их можно адаптировать и к другому компилятору. Впрочем, если там есть win-специфические вызовы, то толку от этого будет мало.

    А открыли, вероятно, чтобы было легче интегрировать в движки. Пишешь шейдеры на HLSL, а в бандлы они уже в двоичном виде попадают.

     
  • 3.49, Аноним (-), 23:00, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >берёшь квадрат и файл-таблицу высот, объединяешь и получаешь трёхмерную карту местности.

    А, так вот в чём секрет Малевича :)

     
  • 2.39, Andrey Mitrofanov (?), 18:26, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Объясните, плз. Эта компиляция в реальном времени будет происходить или что это
    > вообще такое???

    Это опен-вошь. http://www.opennet.dev/openforum/vsluhforumID3/105598.html#69 + #70, и #64, и #52

    Это *не* интересно. http://www.opennet.dev/openforum/vsluhforumID3/108255.html#3 + #16 + #5 + http://www.opennet.dev/openforum/vsluhforumID3/109110.html#131 + http://www.opennet.dev/openforum/vsluhforumID3/106322.html#19 + #15 + #76

    Это отвратительно. http://www.opennet.dev/openforum/vsluhforumID3/109118.html#17 + http://www.opennet.dev/openforum/vsluhforumID3/108387.html#13 + http://www.opennet.dev/openforum/vsluhforumID3/108383.html#88 + http://www.opennet.dev/openforum/vsluhforumID3/108719.html#79 + http://www.opennet.dev/openforum/vsluhforumID3/108187.html#13

    ---Friends Don't Let Friends Microsoft Brainwash.

     

  • 1.11, iPony (?), 13:58, 24/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Во, прям струей открытые техногологии поперли.
    Вот что бывший SUNовец деоает.
     
     
  • 2.12, Аноним (-), 14:05, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Во, прям струей открытые техногологии поперли.

    Каждый раз, когда M$ что-то опять открывает, у меня мурашки по коже. Это потому, что каждый раз когда MS что-то открывает, гусь пробегает по чьей-то ещё не вырытой могилке ;)

     

  • 1.13, Аноним (-), 14:06, 24/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    HLSL и DXIL по-прежнему закрыты. Расходимся.
     
  • 1.18, б.б. (?), 14:51, 24/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    ждём ебилдов
     
  • 1.23, Аноним (-), 15:46, 24/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Хотят подсадить на свою платформу, вот же нелюди. Пока есть шанс продвинуть Вулкан это надо делать, жаль только почти весь игропром под мелксофтом.
     
     
  • 2.46, Ilya Indigo (ok), 20:36, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > жаль только почти весь игропром под мелксофтом.

    С разморозкой. M$ его большую часть уже слила Sony и продолжает активно наращивать темпы слития.

     
     
  • 3.53, Аноним (-), 10:16, 25/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Там ещё и PC есть. А вот последняя консолька тёти Сони в народе получила почётное название "ремастерстейшен".
     
     
  • 4.54, Аноним (-), 13:04, 25/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > А вот последняя консолька тёти Сони в народе получила почётное название "ремастерстейшен"

    Это плохо или хорошо?

     
     
  • 5.57, Аноним (-), 14:26, 25/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Смотря кому. Если, скажем, ты любишь покупать старое в новой обёртке, тогда какие к тебе вопросы? А халтурщикам от игростроя - так и вовсе замечательно, не надо напрягаться и новое что-то выдумывать. Тяп-ляп - и в продакшен.
     
     
  • 6.59, Аноним (-), 15:57, 25/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У меня есть и PS4 и PS4 Pro. Сейчас на некоторые игры для PS4 выходят патчи для PS4 Pro улучшающие контент - все они БЕСПЛАТНЫ! Все игры купленные для PS4 получают патчи для PS4 Pro БЕСПЛАТНО. Выходят ремастеры игр выходивших ранее на приставках предыдущего поколения, как-то на PS3 или более ранних, вот за них нужно платить. Вы же здесь такие слышали звон.. а в руках ничего из этого не держали.
     
  • 4.61, Ilya Indigo (ok), 23:19, 25/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Там ещё и PC есть.

    А ещё есть Steam(OS), Nintendo и Android.
    А M$ слила все свои эксклюзивы, кроме Хало, закрывает ожидаемые экслюзивы, а также подсаживает на ОффтопикСтор, отстраняясь от стима.

     

  • 1.33, J.L. (?), 17:59, 24/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    это же компилятор 1) из HLSL в LLVM и 2) из LLVM в DXIL ?
    и "для опенсорса" оно может быть полезно только где-то в виде "взять HLSL из винигры написаной для DirectX 9/10/11 (работающей в вайне например), компильнуть в LLVM, а потом в OpenGL/Vulkun для вывода на экран" ?

    (с учётом что компиляция в DXIL "в опенсорсе" нафиг никому не сдалась ?)

     
  • 1.38, KOT040188 (ok), 18:05, 24/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Не к добру это…
     
  • 1.43, Аноним (43), 19:23, 24/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Пусть сделают windows open source.
     
     
  • 2.44, Andrey Mitrofanov (?), 19:25, 24/01/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Пусть сделают windows open source.

    Пость отсидят, раскаются, исправят содеянное -- и присоединяются к GNU. Мы не звери!

     

  • 1.45, BlackRaven86 (ok), 19:54, 24/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Если это упростит работу разработчикам WINE, то неплохо.
     
  • 1.47, Аноним (-), 22:12, 24/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Зачем? MS хочет сделать кроссплатформенные игры?
     
  • 1.62, Мазохист (ok), 19:02, 26/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Прими боже чего мне негоже?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру