CapSopener
Есть уникальные для каждого вендора расширения.
> обучи нейронную сеть по списку определять венодора
А в чём смысл? ОП пишет детектор видеокарт?
Попробуй проверить на поддержку распространённых вендорозависимых расширений типа ATI / NV и т.д.
GL_VENDOR
Daniil Petrov
> Попробуй проверить на поддержку распространённых вендорозависимых расширений
> типа ATI / NV и т.д.
Не, не надо сразу давать такие сложные решения, вы лучше расскажите - зачем нормальному человеку определять вендора с такой точностью?
Delfigamer
> зачем нормальному человеку определять вендора с такой точностью?
А хрен его знает :)
о! написал проверку по GL_VENDOR-у
если у кого есть желание - поганяйте.
приложение консольное, выдает в stdout примерное такие вот сообщения:
Card: GeForce GT 330M/PCIe/SSE2 Vendor: NVIDIA Corporation Version: OpenGL 3.3.0 Card is vcNvidia
сам код парсинга выглядит так:
function DetectVideoCorp(const vendor: string): TVideoCorp; var n : string; i : integer; begin n:=lowercase( vendor); if pos( 'nvidia', n)>0 then Result:=vcNvidia else if pos( 'intel',n)>0 then Result:=vcIntel else begin i:=pos( 'ati',n); if ( i>0) and ( ( i+3=length( n)+1) or ( n[i+3] in [' ',#9,#13,#10])) then Result:=vcAti else Result:=vcOther; end; end;
Проверка по вендору нужна например для подсчёта кол-ва юниформов, для ATI надо делить на 4, причём не для каждой ATI. Для совсем старой серии - не надо. Убывбы. Ну и еще для Intel надо принудительно выключать GL_EXT_texture_load_bias если он используется.
skalogryz
для ATI еще проверку на AMD надо сделать, не?
g-cont
> Проверка по вендору нужна например для подсчёта кол-ва юниформов, для ATI надо
> делить на 4, причём не для каждой ATI.
Жесть какая-то, делаешь render paths и всё.
Ну... я то думал человек хочет PCI id карточки проверять, чтобы знать АСУС там или МСИ....
g-cont
> Проверка по вендору нужна например для подсчёта кол-ва юниформов
А разве на более или менее последних картах они сильно отличаются? Например у GTX 780 Ti и её аналога от AMD :)
Daniil Petrov
стандартно, чем меньше круг поддерживамого железа тем меньше заморочек. Особенно если отсечь все карточки, которые не могут в вулкан, например.
g-cont
> Особенно если отсечь все карточки, которые не могут в вулкан, например.
это всё разговоры в пользу бедных
можно же сделать базовый render path самый минимум и всегда откатываться на него если что