innuendo
> nullptr
> Гениально .... В каком потоке ?
У тебя лимит в одну строку не только на запись, но и на чтение чтоли?)) Ну прочитай ты пост полностью.
nullptr
А саму заливку в основном потоке ?
Кстати , в sparse можно ловить момент когда нету нужного мипа в памяти
Можно)
#extension GL_ARB_sparse_texture2 : require #extension GL_ARB_sparse_texture_clamp : require sparseTextureARB sparseTexelsResidentARB sparseTextureClampARB
А саму заливку в основном потоке ?
Я делаю в другом потоке. В Вулкане при этом приходится заморачиваться с раздельным использованием очередей, в которые сгружаются command buffers - их надо делить по потокам.
Для работы с файлами выгодней использовать mmap вместо fopen, так быстрей, и отображенные файлы можно и не закрывать в течение всей работы - эффективная буферизация это гимор ОС.
innuendo
> nullptr
> А саму заливку в основном потоке ?
Да как угодно. Это же индивидуально.. Я в staging буфер считывал в другом потоке, а копировал из staging буфера в текстуру в основном потоке. Если мип большой, то можно порциями =)
freesoft
А через сэмплер не достаточно заклампить?
nullptr
Вот именно что если большой ... Может лучше в другом потоке ?
innuendo
> nullptr
> Вот именно что если большой ... Может лучше в другом потоке ?
Может и лучше. Я не настаиваю =)
nullptr
Так тема то про практику ... Попробуй сравнить
А через сэмплер не достаточно заклампить?
В Вулкане видимо так не выйдет (все крайне негибко), в других АПИ - не знаю.
Шейдерные функции с выставлением границ выборки - оптимальный вариант.
freesoft
В dx12 как-то можно если нужный tier
freesoft
> . В Вулкане при этом приходится заморачиваться с раздельным использованием очередей, в которые сгружаются command buffers - их надо делить по потокам.
А там же нужно ещё VkImageLayout переключать а это умеет graphics очередь. очередь transfer отдельная? Проверить лучше с максимальным выводом всех ошибок в VVL что всеипрпвильно работает.
Andrey
А там же нужно ещё VkImageLayout переключать а это умеет graphics очередь.
Да. Но речь не об этом.
Нужно запрашивать две разных graphics очереди для работы с одним ресурсом из разных потоков.
очередь transfer отдельная?
Да.
freesoft
> Нужно запрашивать две разных graphics очереди для работы с одним ресурсом из разных потоков.
Не нужно. И на мобилках 2х очередей может не быть.
freesoft
Зачем тебе вулкан ?
Фоновая загрузка в одном потоке или отдельный поток на каждую текстуру ?
nullptr
freesoft
Если вы про кейс когда нету мира ? Так там же функция есть , а не через семплер