Войти
ПрограммированиеФорумГрафика

Vulkan API (вышел!) (387 стр)

Страницы: 1386 387 388 389393 Следующая »
#5790
12:19, 8 ноя. 2019

BingoBongo

от вендора зависит?


#5791
12:29, 8 ноя. 2019

innuendo
Говорят, что нет
https://youtu.be/zSG6dPq57P8?t=834 (13:54)
Я думал, это как-то связано с DX12.

#5792
12:39, 8 ноя. 2019

BingoBongo
> Говорят, что нет

даже на Intel ?

> Я думал, это как-то связано с DX12.

а он то тут причём ?

#5793
12:54, 8 ноя. 2019

BingoBongo
> Насколько верно утверждение, что на Windows любая HOST_VISIBLE память также HOST_COHERENT ?
HOST_COHERENT не очень-то и нужен, потому что

When batches of command buffers are submitted to a queue via vkQueueSubmit, it defines a memory dependency with prior host operations, and execution of command buffers submitted to the queue.

https://www.khronos.org/registry/vulkan/specs/1.1/html/chap6.html… n-host-writes
#5794
13:16, 8 ноя. 2019

innuendo
> а он то тут причём ?
При том, что его нет на других платформах. Я думал, может Windows более дружелюбна к DX и там одновременная поддержка флагов сделана на уровне системы, а в вулкане вендоры эту фичу просто подхватывают.

/A\
> HOST_COHERENT не очень-то и нужен, потому что
Для не HOST_COHERENT памяти нужны дополнительные барьеры, а еще надо делать vkFlushMemory. C vkFlushMemory были какие-то проблемы: насколько помню, там нельзя зафлашить произвольный кусок т.к. есть alignment, и если у тебя vram heap, то сделать флаш памяти конкретного буфера может быть проблематично.

#5795
13:18, 8 ноя. 2019

BingoBongo
> там одновременная поддержка флагов сделана на уровне системы, а в вулкане
> вендоры эту фичу просто подхватывают.

не хочется троллить - фичу вулкана придумала же не ms?

#5796
13:23, 8 ноя. 2019

innuendo
> не хочется троллить
И не надо )

#5797
13:35, 8 ноя. 2019

BingoBongo
> нужны дополнительные барьеры

it defines a memory dependency

и что же такое барьер?
#5798
13:38, 8 ноя. 2019

BingoBongo
Вот еще:

The vkQueueSubmit command automatically performs a domain operation from host to device for all writes performed before the command executes, so in most cases an explicit memory barrier is not needed for this case. In the few circumstances where a submit does not occur between the host write and the device read access, writes can be made available by using an explicit memory barrier.
#5799
13:58, 8 ноя. 2019

/A\

The vkQueueSubmit command automatically performs a domain operation from host to device

А что на счет from device to host?

Я так понимаю, что если host write и device access происходят в разных сабмитах или если нужна передача данных device to host, то нужно расставить барьеры вручную.

#5800
14:57, 8 ноя. 2019

Для vkQueueSubmit

The first access scope includes all host writes to mappable device memory that are available to the host memory domain.

If a memory object does not have the VK_MEMORY_PROPERTY_HOST_COHERENT_BIT property, then vkFlushMappedMemoryRanges must be called in order to guarantee that writes to the memory object from the host are made available to the host domain, where they can be further made available to the device domain via a domain operation.

Все же vkFlushMappedMemoryRanges надо вызывать. Это флуш кэша, а не передача данных с хоста на девайс. Сама передача данных идет как раз при вызове vkQueueSubmit и подобных.
То же самое с vkWaitForFences и vkInvalidateMappedMemoryRanges, они должны идти вместе.

#5801
(Правка: 19:20) 19:20, 8 ноя. 2019

innuendo
> даже на Intel ?

Че нагуглил (https://www.reddit.com/r/vulkan/comments/b0qjww/better_option_vkf… ranges_or_vk/):

The better question is probably what is even available

A look through the gpuinfo lists is somewhat illuminating there: NVIDIA Windows Linux

AMD Windows [Linux] (https://vulkan.gpuinfo.org/displayreport.php?id=5394#memory)

Intel Windows Linux

What appear to possibly be some results from the Metal translation layers Mac iOS

All of these so far (i.e, basically everything not Android) have one property in common: There are no memory types that are both HOST_VISIBLE and not HOST_COHERENT

It does however, seem common in a check of randomly-selected Android reports to force a choice between either HOST_CACHED or HOST_COHERENT, so the question of 'which is better' only really applies to that system.

Однако,

As i learned recently, some Intel Atom chips have a HOST_VISIBLE+HOST_CACHED memory type which is not coherent (which is actually a fairly big problem in my case).

#5802
9:12, 13 ноя. 2019

Qualcomm выкатила расширение VK_QCOM_render_pass_transform для Adreno, если я не ошибаюсь это вторые мобильные  вендоры кто выпустил расширения для Vulkan. Хотя кроме Imagination Technologies на Nvidia Tegra могут быть расширения, но я инфы не нашел.

#5803
(Правка: 9:25) 9:14, 13 ноя. 2019

Andrey
> Qualcomm выкатила расширение VK_QCOM_render_pass_transform для Adreno

не пучит от расширений ? жаль что нету dx12 на всех платформах ?

> Хотя кроме Imagination Technologies на Nvidia Tegra

спасибо что не навидия

#5804
13:52, 13 ноя. 2019

Andrey
> Qualcomm выкатила расширение VK_QCOM_render_pass_transform для Adreno

ok, расскажи что ты будешь иметь с этого ? технически

Страницы: 1386 387 388 389393 Следующая »
ПрограммированиеФорумГрафика