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

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

Страницы: 1503 504 505 506586 Следующая »
#7545
14:54, 10 ноя. 2020

gkv311
> Просто разработка кросс-вендорного расширения VK_KHR_ray_tracing для вулкана
> ещё не завершена

да как так - есть же спека


#7546
14:59, 10 ноя. 2020

gkv311
> Просто разработка кросс-вендорного расширения VK_KHR_ray_tracing для вулкана ещё не завершена
но нвидии это не помешало добавить расширение в бета драйвера, а остальные видимо не осилили

#7547
15:02, 10 ноя. 2020

innuendo
> да как так - есть же спека
Спека не финальная - она может быть ещё изменена в любом направлении:
> This is a provisional extension and must be used with caution.
Поэтому текущие её реализации в драйверах могут быть только экспериментальными.

#7548
15:04, 10 ноя. 2020

gkv311
> Спека не финальная

да ну как так

#7549
22:26, 10 ноя. 2020

/A\
> Надо запустить vkconfig и включить проверку в шейдерах. Хотя на прошлых сдк у
> меня были баги из-за этой проверки.
Сделал
Vulkan Config: Shader Based Validation | Vulkan API (вышел!)
Слои Vulkan молчат по поводу выхода за предела в UAV буфере.

Хотя Direct12 Debug Runtime прекрасно все пишет:

D3D12 ERROR: GPU-BASED VALIDATION: Dispatch, Resource access out of bounds: Resource: 0x0000018D63082B50:'InstanceBuffer51', Descriptor Type: UAV, Highest byte offset from view start accessed: [0xffffffff](max 32-bit offset or overflow), Bytes available in view: 0. Results undefined because descriptor is declared static in root signature, which allows hardware/driver the option of converting the access to a root descriptor. Unlike descriptor heap descriptors, root descriptors do not have defined behavior for an out of bounds access. Index of Descriptor Range: 0, Shader Stage: COMPUTE, Root Parameter Index: [0], Dispatch Index: [4], Shader Code: ...Shader@0x00007FF7378BBF40(134,2-90), Asm Instruction Range: [0xec8-0xeef], Asm Operand Index: [0], Command List: 0x0000018D3DFEC6B0:'ComputeCommandList-1', SRV/UAV/CBV Descriptor Heap: 0x0000018D3C430070:'CBV_SRV_UAV DescriptorsHeap-1', Sampler Descriptor Heap: <not set>, Pipeline State: 0x0000018D62DCBC90:'Unnamed ID3D12PipelineState Object',  [ EXECUTION ERROR #1005: GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS]

#7550
23:55, 10 ноя. 2020

/A\
ага, это как и в опенгл. Поддержка биндлесов есть и там и там, но на амд все падает, если таких текстур чуть более определённого количества.

#7551
1:19, 11 ноя. 2020

Andrey
> Слои Vulkan молчат по поводу выхода за предела в UAV буфере.
Может у тебя robustBufferAccess включен и это считается разрешенным поведением.
А вообще надо их доки читать что именно они там проверяют.
А еще лучше перехватить шейдер после их патча и посмотреть что реально проверяется.

#7552
1:48, 11 ноя. 2020

Andrey
> > Там слои валидации мало что отлавливают и приходится по старинке сидеть и
> > проверять весь код.
> Кто тебе такое сказал?
> Это наверное шутка
Ну вот D3D12SerializeRootSignature возвращает ошибку, а слои молчат, в вулкане сразу бы написали какой пункт в доках прочитать. И случаев много было.

#7553
2:03, 11 ноя. 2020

/A\
Ты этот путь дебага юзаешь? https://devblogs.microsoft.com/directx/dred/

#7554
2:14, 11 ноя. 2020

IBets
> Ты этот путь дебага юзаешь?
Нет, это же для крэшей.

#7555
(Правка: 2:40) 2:39, 11 ноя. 2020

/A\
Ну вообще как бы возвращается поинтер на описание ошибки если она есть. Можно с помощью fxc или dxc сразу возвращать root signature, надо просто пару строк в шейдере прописать.

#7556
3:24, 11 ноя. 2020

/A\
> Ну вот D3D12SerializeRootSignature возвращает ошибку, а слои молчат, в вулкане
> сразу бы написали какой пункт в доках прочитать. И случаев много было.
Что за HRESULT? Там может неверные аргументы, а это описано в доках.

#7557
4:40, 11 ноя. 2020

/A\
> Ну вот D3D12SerializeRootSignature возвращает ошибку, а слои молчат
Там в функции есть такой параметр - ppErrorBlob.

#7558
10:53, 11 ноя. 2020

barnes
> ага, это как и в опенгл. Поддержка биндлесов есть и там и там, но на амд все
> падает, если таких текстур чуть более определённого количества.

а в сабже не так?

#7559
17:38, 11 ноя. 2020

Andrey
> а это описано в доках.
Просто пример того в чем вулкан лучше. Про доки на дх12 вообще отдельный разговор. У них половина на гитхабе, половина на мсдн и везде что-то недописано. Вон даже по рут сигнатурам описание в отдельном файле, а не на странице с функцией D3D12SerializeRootSignature.

prowkan
> Там в функции есть такой параметр - ppErrorBlob.
Ну да, там написано в чем ошибка.

Страницы: 1503 504 505 506586 Следующая »
ПрограммированиеФорумГрафика