cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

trebla
Adept I

Vulkan vkCmdDrawIndexedIndirect crash

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

1 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!

View solution in original post

11 Replies
trebla
Adept I

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.

I prepared a vs2015 project for you. It uses the VULKAN_SDK environment parameter to find the SDK.

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.

trebla
Adept I

Hi,

I retested this issue with Vulkan SDK 1.0.65.1, and now this works without the mentioned workaround too (probably this was fixed months ago).

I attached a warning/validation error free version of the test project.