LINUX.ORG.RU

Релиз внешней библиотеки S3TC версии 1.0.0 для Mesa

 , , ,


1

0

Доступна версия 1.0.0 библиотеки libtxc_dxtn, реализующей поддержку сжатия текстур S3TC и поддерживаемая множеством классических Mesa и Gallium3D драйверов, включая r600g.

Marek Olšák исправил некоторые ошибки и посчитал, что библиотека доросла до версии 1.0.0. К сожалению, из-за патентных ограничений библиотека по-прежнему не может быть включена в официальную сборку Mesa и в основные дистрибутивы. Распространяются исключительно исходные коды. При сборке пользователь всю ответственность и риск берёт на себя.

Настоятельно рекомендуется обновиться и использовать последнюю версию библиотеки для предотвращения появления артефактов в изображении.

Список рассылки
Git-репозиторий
Ebuild
Исходные коды

>>> Подробности

★★★★★

Проверено: Dimez ()
Последнее исправление: Deleted (всего исправлений: 3)

Поставил на i945, включил в openastromenace сжатие тексур, стало ощутимо лучше. Ебилд использовал не из новости (он основан на устарешвей версии), а из багзиллы Gentoo: https://bugs.gentoo.org/show_bug.cgi?id=65607

Добавил в свой overlay без fetch restrict.

Bircoph
()
Ответ на: комментарий от Novell-ch

Проверил openarena с «r_ext_comp[tab] 1». Проходит заставка и больше экран не обновляется. В консоли

WARNING: unknown blend mode 'gl_one_minus_dst_color' in shader 'menuback_blueish', substituting GL_ONE

daemonpnz ★★★★★
() автор топика
Ответ на: комментарий от daemonpnz

> А причем здесь ява? О_о

А ты новости вокруг этой новости прочитай. Там все написано на яве, и при этом авторы статей уверен что это default language, и об этом даже не упоминают...

shaplov ★★★
()

здорово... и ебилдов ждать не надо - уже есть. :)

BattleCoder ★★★★★
()

протестирвол с новой s3tc, раньше были очень размытые текстуры в ОА, теперь все нормально, без сжатых текстур у меня 26 фпс, с сжатыми 28 фпс, хотя раньше когда было отведено 64 мб под видеокарту, разница была больше, да и без сжатия при включеном lightmap фпс иногда падал до критически низкого, сейчас с 256 мб такого уже не наблюдается.

Novell-ch ★★★★★
()

Я так понимаю, эта либа нужна для каких-то
крайне редких, экзотических случаев. В подавляющем
же большинстве случаев должно работать вот это:
http://dri.freedesktop.org/wiki/S3TC
---
There is also an option in the S3TC-supporting DRI drivers called force_s3tc_enable. If the library is unavailable, setting this option to true will expose the extension even though it cannot be fully implemented.
---
При этом, реализация будет, на самом деле, полной, для 99.9% игр.
Кто-нибудь это проверял?

anonymous
()
Ответ на: комментарий от anonymous

И будешь получать сплошные графические артефакты в играх (особено во всяких графически красивых), где используется сжатие текстур.

daemonpnz ★★★★★
() автор топика

Скопировал so-файл в /usr/lib — подскажите пожалуйста, как теперь проверить юзается ли оно или нет и если нет то сделать чтоб использовалось. http://dri.freedesktop.org/wiki/S3TC
export MESA_DEBUG=1 делал, какую теперь прогу запустить? glxgears ничего не пишет про s3tc

Xenius ★★★★★
()
Ответ на: комментарий от daemonpnz

И будешь получать сплошные графические артефакты в играх (особено во

всяких графически красивых), где используется сжатие текстур.

Почему? Ты проверял?
Написано же:
There is also an option in the S3TC-supporting DRI drivers
то есть дрова эту штуку должны поддерживать, и железяка тоже,
и тогда всё ОК будет, а либа эта - программная реализация декодера,
на случай отсутствия аппаратной, плюс программная реализация енкодера,
которая не особо нужна.

anonymous
()
Ответ на: комментарий от registrant

> а на чем можно проверить, что s3tc работает?

На первой готике, например. Без S3TC она у меня вообще не пашет.

//Intel 945GME

drull ★☆☆☆
()
Ответ на: комментарий от daemonpnz

Дрова поддерживают эту штуку (S3TC) через эту библиотеку.

Ещё раз повторяю: через неё реализуется декомпрессирование только
если драйвер/железка его не поддерживают нативно. И через неё
реализуется компрессия, но она не слишком нужна.
И ещё раз: либа нужна только для 100% соответствования спекам.
При наличии аппаратной поддержки, толку от неё не много.
И в ней - программная реализация, а когда есть аппаратная, то
она не через либу идёт, а напрямую. Аппаратная поддержка, однако,
есть только для декомпрессии, а компрессия всегда софтварная, но
не нужна ни для чего, кроме как для соответствия всем пунктам спеков.
Так что хватит говорить, что эта либа - дар священный. Просто
включите force_s3tc_enable для начала.

anonymous
()
Ответ на: комментарий от anonymous

Да, то, что я говорил, справедливо только если вот этот коммит
у вас уже есть:
http://cgit.freedesktop.org/~csimpson/mesa/commit/?h=s3tc-by-the-book&id=a3d6...
Без него либа действительно требуется, даже когда и нафиг не нужна...
Я не знаю точно, в какую версию мезы он вошёл.

anonymous
()
Ответ на: комментарий от anonymous

ты застрял где-то в каменом веке, на странице http://wiki.x.org/wiki/RadeonFeature
все доходчиво описано, по сути твое force_s3tc_enable толком и не работает нигде кроме древнейших карт а в галлиумных драйверах оно вообще не реализовано нигде.

Novell-ch ★★★★★
()
Ответ на: комментарий от Novell-ch

ты застрял где-то в каменом веке

Ну ты даёшь, если WIP и TODO - это «застрял в каменном веке»...
Через либу, кстати, для новых карт тоже пока WIP.
Но суть даже не в этом. Ещё раз повторяю, что через либу имеем
софтовую реализацию, а вот то, что сейчас пока TODO и WIP - это
уже хардварная.

толком и не работает нигде кроме древнейших карт

Если брать не-галлиумные, то уже вплоть до r500 работает.

а в галлиумных драйверах оно вообще не реализовано нигде.

Опять не верно - в R100/R200 уже есть. :))
Ну ладно, допустим, ты объяснил, почему сейчас эта либа всё ещё
нужна - галлиумная реализация кое-где пока TODO/WIP. Какое это
отношение к каменному веку имеет только - вот это не ясно. :)
Мне просто не нравится, что в новости её подали как манну небесную,
а не как временное решение, в ожидании поддержки от галлиума.

anonymous
()
Ответ на: комментарий от Novell-ch

Ещё раз повторяю, что через либу имеем

софтовую реализацию, а вот то, что сейчас пока TODO и WIP - это уже хардварная.
Таки я запутался. То, что здесь названо «S3TC decompression» - это хардварная, а то, что названо «full S3TC» - софтовая?

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от RussianNeuroMancer

Таки я запутался. То, что здесь названо «S3TC decompression» - это

хардварная, а то, что названо «full S3TC» - софтовая?

Как я понимаю, на данный момент всё именно так.
И обратите внимание на слово «decompression» - хардварно возможна
только декомпрессия, а компрессия - только этой либой.
В будущем, когда хардварная декомпрессия будет работать чуть более,
чем совсем ни где, либу, скорее всего, сделают «совсем уж
опциональной», и строчку, посвящённую ей, уберут. «full S3TC» без
либы не возможна всё равно, так как компрессор только в ней, но он и
не актуален, и роль либы в поддержке S3TC уменьшится до практического
нуля. Сейчас-то она и как декомпрессор тоже используется, а это же
тормоза какие. По тому, в светлом будущем она «не нужна» (с)

anonymous
()
Ответ на: комментарий от anonymous

А алгоритм декомпрессии никаких патентов не нарушает?
Насколько широко играми используется компрессия текстур по этому алгоритму налету?

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от RussianNeuroMancer

например, idTech4 активно использует s3tc и без него не запустится.

daemonpnz ★★★★★
() автор топика
Ответ на: комментарий от RussianNeuroMancer

А алгоритм декомпрессии никаких патентов не нарушает?

Который в железе-то? У производителей видюх спросите. :)

Насколько широко играми используется компрессия текстур по этому

алгоритму налету?

А не важно. Я уже приводил ссылку на коммит, который включает
фолл-бэк на загрузку текстур без запрошенного сжатия, если компрессор
не доступен. Сжатие на лету - это только оптимизация по расходу
памяти + увеличение скорости загрузки. Зато дольше предобработка.

anonymous
()
Ответ на: комментарий от anonymous

в догонку покурив исходники стало видно что
force_s3tc_enable вкл.чает только GL_EXT_texture_compression_s3tc
тогда как через либу
GL_EXT_texture_compression_s3tc
GL_S3_s3tc

Novell-ch ★★★★★
()
Ответ на: комментарий от Novell-ch

GL_S3_s3tc - это устаревшее расширение:
http://www.opengl.org/registry/specs/S3/s3tc.txt
---
Status

Shipping in several vendor drivers.
Deprecated in favor of EXT_texture_compression_s3tc.
---
Да я и не говорю, что будет 100% поддержка без либы, я говорю
про 99%. Никогда нельзя исключать вариант, что кто-то загрузит
предварительно сжатую текстуру, а потом начнёт заменять в ней
отдельные блоки на не сжатые, например. Тогда тоже вилы, и без
либы не обойтись. Но это всё за гранью фантастики, а в основном,
либа не нужна.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.