HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > OpenGL > D3D11 и D3D_FEATURE_LEVEL_9_1
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Government-Man
Revolution

Дата регистрации: Apr 2006
Проживает: джунгли
Сообщений: 3370
Возраст: 28

Рейтинг



Награды
 
[1 награда]


D3D11 и D3D_FEATURE_LEVEL_9_1

В новых версиях директа (начиная с 10-го) появилась такая концепция как feature levels, облегчающая поддержку устаревшего и не очень устаревшего железа. То есть теперь поддержка видеокартой определенного FL гарантирует некий минимальный набор фич и можно не страдать параноей, проверяя каждый отдельный параметр на предмет того, что программа в него влезет.

Кто пользовался данной фичей? С какими подводными камнями сталкивались? Правильно ли я понимаю, что поддержка определенного FL допускает, что отдельные параметры могут превышать значения определенные в данном FL? То есть конкретная видеокарта может например поддерживать текстуры больше чем 2к несмотря на заявленный D3D_FEATURE_LEVEL_9_1?

Еще меня смущает отсутствие третьих шейдеров: в 9-х FL поддерживаются только вторые, а в 10-х уже четвертые. Можно ли скормить 11-му директу третий шейдер? Какой таргет при этом использовать?

__________________
Vladimir Putin's paternal grandfather, Spiridon Ivanovich Putin (1879–1965), was employed at Vladimir Lenin's dacha at Gorki as a cook, and after Lenin's death in 1924, he continued to work for Lenin's wife, Nadezhda Krupskaya. He would later cook for Joseph Stalin when the Soviet leader visited one of his dachas in the Moscow region. Spiridon later was employed at a dacha belonging to the Moscow City Committee of the Communist Party of the Soviet Union, at which the young Putin would visit him.

Сообщить модератору | | IP: Записан
Сообщение: 184438

Старое сообщение 09-10-2019 19:56
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Новосибирск
Сообщений: 31565
Нанёс повреждений: 498 ед.
Возраст: 33

Рейтинг



Награды
 
[1 награда]


Я что-то слышал про feature levels, но никогда не использовал.
Использую D3D9, третьи шейдеры и кое-какие недоки, в принципе для нужд Волатилы хватает. Шейдеры пишу на Cg, в разные таргеты компилирует он сам. Есть и собранные таргеты под DX11, которые можно будет в будущем подключить к DX11-рендеру, если мне будет совсем нечего делать и я начну очередную амелиорацию движка.
Попробуй собрать таргеты vs_3_0 и ps_3_0 и скормить их директу, это точно рабочие профили девятых иксов.

Цитата:
Government-Man писал:
можно не страдать параноей, проверяя каждый отдельный параметр на предмет того, что программа в него влезет.

Это зависит от философии разработки.
Есть философия минимального набора фич, который составляет целостную картину мира, в которой функционирует движок. А есть философия "используем то, что есть, и в любом порядке", когда движок умеет постоянно переключаться между разными подходами (или рендерпатчами, если угодно) в зависимости от подлежащего железа. Во втором случае проверка капсов - это не параноя, а совершенно рабочий механизм.

__________________
"It's a friend of mine - a Cheshire Cat," said Alice: "allow me to introduce it."
"I don't like the look of it at all," said the King: "however, it may kiss my hand if it likes."
"I'd rather not," the Cat remarked.

Сообщить модератору | | IP: Записан
Сообщение: 184439

Старое сообщение 10-10-2019 03:50
-
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 26052
Нанёс повреждений: 383 ед.

Рейтинг



Цитата:
Government-Man писал:
облегчающая поддержку устаревшего и не очень устаревшего железа

Особого смысла всё это не имеет, ведь D3D11 не заведётся на XP, где есть старое железо, а поставить дышатку на такое устаревшее железо едва ли получится.

__________________
My Projects: download page

Ты сегодня мне принёс гидравлический насос и сказал, что это ландышы
Но меня не проведёшь, насос на ландыш не похож, он большой, а ландыш маленький

Сообщить модератору | | IP: Записан
Сообщение: 184440

Старое сообщение 10-10-2019 07:58
-
Government-Man
Revolution

Дата регистрации: Apr 2006
Проживает: джунгли
Сообщений: 3370
Возраст: 28

Рейтинг



Награды
 
[1 награда]


Дядя Миша
А семерку?

__________________
Vladimir Putin's paternal grandfather, Spiridon Ivanovich Putin (1879–1965), was employed at Vladimir Lenin's dacha at Gorki as a cook, and after Lenin's death in 1924, he continued to work for Lenin's wife, Nadezhda Krupskaya. He would later cook for Joseph Stalin when the Soviet leader visited one of his dachas in the Moscow region. Spiridon later was employed at a dacha belonging to the Moscow City Committee of the Communist Party of the Soviet Union, at which the young Putin would visit him.

Сообщить модератору | | IP: Записан
Сообщение: 184444

Старое сообщение 10-10-2019 15:10
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 26052
Нанёс повреждений: 383 ед.

Рейтинг



Government-Man мне отчего-то кажется, что надо абстрагироваться версией API на нормальном уровне, а не искать в новых API пути совместимости. Совместимость она или есть, или её нет. А это полумеры.

__________________
My Projects: download page

Ты сегодня мне принёс гидравлический насос и сказал, что это ландышы
Но меня не проведёшь, насос на ландыш не похож, он большой, а ландыш маленький

Сообщить модератору | | IP: Записан
Сообщение: 184445

Старое сообщение 10-10-2019 15:13
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Новосибирск
Сообщений: 31565
Нанёс повреждений: 498 ед.
Возраст: 33

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
мне отчего-то кажется

Отчего тебе так кажется?

__________________
"It's a friend of mine - a Cheshire Cat," said Alice: "allow me to introduce it."
"I don't like the look of it at all," said the King: "however, it may kiss my hand if it likes."
"I'd rather not," the Cat remarked.

Сообщить модератору | | IP: Записан
Сообщение: 184457

Старое сообщение 10-10-2019 17:49
-
Government-Man
Revolution

Дата регистрации: Apr 2006
Проживает: джунгли
Сообщений: 3370
Возраст: 28

Рейтинг



Награды
 
[1 награда]


Цитата:
XaeroX писал:
Шейдеры пишу на Cg


Прикольно, он еще жив?

Цитата:
XaeroX писал:
Использую D3D9


Как впечатления по сравнению с гл кстати? Если я правильно помню, они положительные?

Цитата:
XaeroX писал:
Попробуй собрать таргеты vs_3_0 и ps_3_0 и скормить их директу


Да, я так и думал сделать. Но пока что я влезаю в vs_4_0_level_9_1 и ps_4_0_level_9_1 (это типа вторые шейдеры но с семантиками из четвертых). Если повезет, то их хватит.

__________________
Vladimir Putin's paternal grandfather, Spiridon Ivanovich Putin (1879–1965), was employed at Vladimir Lenin's dacha at Gorki as a cook, and after Lenin's death in 1924, he continued to work for Lenin's wife, Nadezhda Krupskaya. He would later cook for Joseph Stalin when the Soviet leader visited one of his dachas in the Moscow region. Spiridon later was employed at a dacha belonging to the Moscow City Committee of the Communist Party of the Soviet Union, at which the young Putin would visit him.

Сообщить модератору | | IP: Записан
Сообщение: 184466

Старое сообщение 10-10-2019 18:06
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Новосибирск
Сообщений: 31565
Нанёс повреждений: 498 ед.
Возраст: 33

Рейтинг



Награды
 
[1 награда]


Цитата:
Government-Man писал:
Прикольно, он еще жив?

Ну он депрекейтед и дисконтинуед, но то что есть, вполне работает. Но таргеты DX11 - это максимум. DX12 уже не поддерживается, как и вулкан.
А што, Cg уже убрали из Юнити?
Цитата:
Government-Man писал:
Как впечатления по сравнению с гл кстати? Если я правильно помню, они положительные?

В целом - те же яйца, только в профиль.
Но легче дебажить и лучше документация, как мне показалось.

__________________
"It's a friend of mine - a Cheshire Cat," said Alice: "allow me to introduce it."
"I don't like the look of it at all," said the King: "however, it may kiss my hand if it likes."
"I'd rather not," the Cat remarked.

Сообщить модератору | | IP: Записан
Сообщение: 184468

Старое сообщение 10-10-2019 18:18
-
Government-Man
Revolution

Дата регистрации: Apr 2006
Проживает: джунгли
Сообщений: 3370
Возраст: 28

Рейтинг



Награды
 
[1 награда]


Цитата:
XaeroX писал:
Ну он депрекейтед и дисконтинуед


Так это ж хорошо - если обновлений не выходит, значит у тебя всегда последняя версия, а все ее баги гордо именуются особенностями.

Цитата:
XaeroX писал:
А што, Cg уже убрали из Юнити?


Вроде бы нет.

Цитата:
XaeroX писал:
DX12 уже не поддерживается, как и вулкан.


А ты вулкан с дх12 еще не ковырял?

__________________
Vladimir Putin's paternal grandfather, Spiridon Ivanovich Putin (1879–1965), was employed at Vladimir Lenin's dacha at Gorki as a cook, and after Lenin's death in 1924, he continued to work for Lenin's wife, Nadezhda Krupskaya. He would later cook for Joseph Stalin when the Soviet leader visited one of his dachas in the Moscow region. Spiridon later was employed at a dacha belonging to the Moscow City Committee of the Communist Party of the Soviet Union, at which the young Putin would visit him.

Сообщить модератору | | IP: Записан
Сообщение: 184469

Старое сообщение 10-10-2019 18:41
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 26052
Нанёс повреждений: 383 ед.

Рейтинг



Цитата:
XaeroX писал:
Отчего тебе так кажется?

ну чёб не плодить сущности.

__________________
My Projects: download page

Ты сегодня мне принёс гидравлический насос и сказал, что это ландышы
Но меня не проведёшь, насос на ландыш не похож, он большой, а ландыш маленький

Сообщить модератору | | IP: Записан
Сообщение: 184471

Старое сообщение 10-10-2019 20:15
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Новосибирск
Сообщений: 31565
Нанёс повреждений: 498 ед.
Возраст: 33

Рейтинг



Награды
 
[1 награда]


Цитата:
Government-Man писал:
Так это ж хорошо - если обновлений не выходит, значит у тебя всегда последняя версия, а все ее баги гордо именуются особенностями.

Да, это важный плюс. Но с другой стороны, есть страх однажды напороться на фатальный баг, который уже некому фиксить.
Цитата:
Government-Man писал:
А ты вулкан с дх12 еще не ковырял?

Ещё нет. У меня руки до DX11 и GLES2+-рендеров пока не дошли. Я в последние три года вообще очень мало графикой занимаюсь, много других задач.
Цитата:
Дядя Миша писал:
ну чёб не плодить сущности.

Если ты делаешь проект для программистов - то да, чем меньше сущностей в движке, тем проще и понятнее код. А вот игрокам плевать, какая там гремучая смесь условий и веток, лишь бы на их компах игра работала. Нужно искать золотую середину, кмк.

__________________
"It's a friend of mine - a Cheshire Cat," said Alice: "allow me to introduce it."
"I don't like the look of it at all," said the King: "however, it may kiss my hand if it likes."
"I'd rather not," the Cat remarked.

Сообщить модератору | | IP: Записан
Сообщение: 184476

Старое сообщение 11-10-2019 06:31
-
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 26052
Нанёс повреждений: 383 ед.

Рейтинг



Цитата:
XaeroX писал:
Если ты делаешь проект для программистов

Любая программа делается для программистов, как минимум одного - самого себя. Тебе жы потом и разбираться с этим дерьмом.

__________________
My Projects: download page

Ты сегодня мне принёс гидравлический насос и сказал, что это ландышы
Но меня не проведёшь, насос на ландыш не похож, он большой, а ландыш маленький

Сообщить модератору | | IP: Записан
Сообщение: 184480

Старое сообщение 11-10-2019 07:16
-
Government-Man
Revolution

Дата регистрации: Apr 2006
Проживает: джунгли
Сообщений: 3370
Возраст: 28

Рейтинг



Награды
 
[1 награда]


Заметил еще одну странность...

В шейдерах как известно есть ограничение на количество сэмплеров - обычно их 16. В версиях шейдров до 4-й текстуры биндились непосредственно к сэмплерам, а вот начиная с 4-й версии сэмплер и текстура это разные сущности - сэмплеров (правильнее теперь - сэмплер-стейтов) так и осталось 16, а вот текстур стало можно пихать дофигища.

В ps_4_0_level_9_1, насколько я понял, новое поведение эмулируется: в коде шейдера текстура и сэмплер - разные сущности, однако в реале для каждой пары сэмплер-текстура используется отдельный регистр.

И вот тут есть странность. Раз в SM2.0 есть 16 сэмплеров, то логично предположить, что на них можно забиндить 16 текстур. Однако таблица с описанием совместимости апи дает следующие ограничения:

Для ID3D11DeviceContext::PSSetSamplers: No more than 16 samplers can be bound
Для ID3D11DeviceContext::PSSetShaderResources: No more than 8 simultaneously bound shader resources

То есть сэмплер-стейтов можно забиндить 16, а текстур - всего 8!

А теперь внимание вопрос: уважаемые знатоки старого железа, с чем может быть связано такое ограничение? Связано ли оно с тем, что существовало большое количество железа, на котором количество уникальных текстур было ограничено 8-ю, несмотря на наличие 16-ти сэмплеров?.. Минута на обсуждение...

__________________
Vladimir Putin's paternal grandfather, Spiridon Ivanovich Putin (1879–1965), was employed at Vladimir Lenin's dacha at Gorki as a cook, and after Lenin's death in 1924, he continued to work for Lenin's wife, Nadezhda Krupskaya. He would later cook for Joseph Stalin when the Soviet leader visited one of his dachas in the Moscow region. Spiridon later was employed at a dacha belonging to the Moscow City Committee of the Communist Party of the Soviet Union, at which the young Putin would visit him.

Отредактировано Government-Man 13-10-2019 в 00:51

Сообщить модератору | | IP: Записан
Сообщение: 184582

Старое сообщение 13-10-2019 00:49
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Новосибирск
Сообщений: 31565
Нанёс повреждений: 498 ед.
Возраст: 33

Рейтинг



Награды
 
[1 награда]


Цитата:
Government-Man писал:
То есть сэмплер-стейтов можно забиндить 16, а текстур - всего 8!

Можно забиндить 16 текстур, но текстурных координат передать не более 8.
Вернее, если я правильно понимаю, в ps_3_0 можно передать не более 10 input registers, которые включают вообще всё. Ну обычно это по семантике POSITION, COLOR и 8 TEXCOORD-регистров. Т.к. шейдер может делать dependent texture reads, то вполне можно засэмплить в нём 16 текстур.

__________________
"It's a friend of mine - a Cheshire Cat," said Alice: "allow me to introduce it."
"I don't like the look of it at all," said the King: "however, it may kiss my hand if it likes."
"I'd rather not," the Cat remarked.

Сообщить модератору | | IP: Записан
Сообщение: 184584

Старое сообщение 13-10-2019 04:34
-
Government-Man
Revolution

Дата регистрации: Apr 2006
Проживает: джунгли
Сообщений: 3370
Возраст: 28

Рейтинг



Награды
 
[1 награда]


XaeroX
Ну тогда получается, что это какое-то дурацкое искусственное ограничение для вторых шейдеров на 11-м директе. Ведь никто вроде не запрещает использовать одни и те же текстурные координаты для разных текстур?

Еще из ограничений - написано что общее число констант для VS и PS не должно превышать 256 и 32 соответственно. Если это правда, то получается, что на SM2.0 в дх-11 можно использовать только флоат-константы, а булы и инты - нельзя...

Разумеется для моих текущих целей этого всего пока хватает за глаза и я вряд ли упрусь в эти ограничения. Но в целом у меня пока создается впечатление, что максимум из DX9-железа при помощи DX11 не выжать, так что тем кто к этому стремится, логичнее использовать девятый директ.

__________________
Vladimir Putin's paternal grandfather, Spiridon Ivanovich Putin (1879–1965), was employed at Vladimir Lenin's dacha at Gorki as a cook, and after Lenin's death in 1924, he continued to work for Lenin's wife, Nadezhda Krupskaya. He would later cook for Joseph Stalin when the Soviet leader visited one of his dachas in the Moscow region. Spiridon later was employed at a dacha belonging to the Moscow City Committee of the Communist Party of the Soviet Union, at which the young Putin would visit him.

Сообщить модератору | | IP: Записан
Сообщение: 184585

Старое сообщение 13-10-2019 05:14
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 02:48. Новая тема    Ответить
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > OpenGL > D3D11 и D3D_FEATURE_LEVEL_9_1
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2020