Hi,
I try to use vkCmdDrawIndexedIndirect but without a success.
The program crashes when vkCmdExecuteCommands is just issuing, at vk_icdGetInstanceProcAddr () in amdvlk64.dll.
The crash happens even if I set offset to 0 and drawCount to 0 or 1.
I also tested it on a GTX 750, there it works.
Also it works when I emulate vkCmdDrawIndexedIndirect with vkCmdDrawIndexed calls.
System: Windows 7 SP1 64 bit
Radeon 7870
Lunar SDK 1.0.11.1
Driver version: 16.15.2401.1001
Compiler: gcc 5.3
Solved! Go to Solution.
This appears to be a driver-side issue. To work around it for the time being, please OR cmdBufInfo.flags (pl_basic_thread.cpp::l.137) with VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT.
Many thanks for reporting the problem!
I retested this with newer lunar SDK (1.0.13.0), the error still persists.
However I forgot to mention that this occures when using secondary commandbuffers. In a primary one, it worked.
Thank you for the report.
I can't promise I'll be able to find time to look at this today, but I should be able to have a look on Monday.
I'm afraid I am unable to reproduce the issue you describe. A couple of questions I would like to ask at this point:
1) Have you tried running your application with validation enabled? I personally recommend to use the latest master version taken from Validation Layer's project repository, since layer coverage improves on a daily basis.
2) Can you share source code of the application, so that I could have a look at what exactly is happening?
Validation layer is enabled, there are no warnings/errors prior to the crash. But I will try the latest master version too instead of the Lunar SDK.
I attached the source:
The interesting part is in the Render, BuildCommandBuffers methods in shooter3/vkgx/pl_basic.cpp and the TestIndirectCmd2 method in shooter3/vkgx/pl_basic_thread.cpp.
The source of vkloader is just copied from the Lunar SDK.
Thanks a lot, your cooperation is very much appreciated. Will get back to you on Monday with further feed-back.
One question. Would you mind preparing a Visual Studio-based solution for the project? Alternatively, if that's not possible, a working executable would be very useful. Getting a Code::Blocks project to actually build on my end would be a time-consuming thing to do.
Excellent, many thanks. I managed to reproduce the crash here. Will let you know when identify the root cause.
This appears to be a driver-side issue. To work around it for the time being, please OR cmdBufInfo.flags (pl_basic_thread.cpp::l.137) with VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT.
Many thanks for reporting the problem!
The workaround works which is great.