Size: a a a

pro.graphon (and gamedev)

2020 May 09

a

alexcher in pro.graphon (and gamedev)
а ридбек память чтобы из шейдера в нее что-то писать, а потом перегонять на проц?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
alexcher
а ридбек память чтобы из шейдера в нее что-то писать, а потом перегонять на проц?
Да (и можно и не из шейдера, а через копирование на GPU)
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
а, не, из шейдера нельзя, только D3D12_RESOURCE_STATE_COPY_DEST, всё-таки, UAV позволяет не только записывать, но ещё и читать, но тут нельзя
источник

a

alexcher in pro.graphon (and gamedev)
а копировать в нее, получается, только из upload-а имеет смысл?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Upload -> default, default -> readback. Можно и upload -> readback, наверно, но смысла нет, у тебя же и так эти данные на CPU есть
источник

a

alexcher in pro.graphon (and gamedev)
а зачем из дефолта в ридбек? из дефолта нельзя читать?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
alexcher
а зачем из дефолта в ридбек? из дефолта нельзя читать?
Дефолт — это память видеокарты, на NUMA нельзя, на UMA, вроде, можно
источник

a

alexcher in pro.graphon (and gamedev)
а, ок
источник

a

alexcher in pro.graphon (and gamedev)
в вулкане как раз такая память - device local, она недоступна для проца, и в в нее можно только копировать или писать из шейдера
источник

a

alexcher in pro.graphon (and gamedev)
как я знаю
источник

a

alexcher in pro.graphon (and gamedev)
а для доступа с проца надо host visible
источник

a

alexcher in pro.graphon (and gamedev)
alexcher
в вулкане как раз такая память - device local, она недоступна для проца, и в в нее можно только копировать или писать из шейдера
а, таки по спецификации эта память может быть host visible, просто более она быстрая :D
источник

a

alexcher in pro.graphon (and gamedev)
но тогда раз есть память сразу и host visible, и device local, будет ли она менее быстрой, или чем еще она может быть хуже системы staging-а?
источник

a

alexcher in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Это для временных данных, типа константных буферов и вершинных буферов для UI, как я понимаю
кстати, да, на стековерфлове пишут, что такая память будет довольно небольшой, но у меня она 8 гигов...
источник

a

alexcher in pro.graphon (and gamedev)
может, когда она переполняется будет какая-нибудь хрень с записью в оперативку, но все-таки зачем тогда ей сделали такой большой размер
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
alexcher
а если в вулкане physical device поддерживает тип памяти сразу host visible, host coherent, device local, то есть смысл писать в эту память разные буферы без staging буфера?
На десктопах такой памяти 256мб всего. У амд. У нвидии в новых драйверах должна появиться такая memory heap.
источник

a

alexcher in pro.graphon (and gamedev)
тогда, стоит ли юзать такой тип для юниформ буферов? по идее, память и быстрая, и cpu visible
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Стоит. Они ведь небольшие, наверное?
источник

a

alexcher in pro.graphon (and gamedev)
да, и могут часто обновляться
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
А что в них?
источник