cancel
Showing results for 
Search instead for 
Did you mean: 

OpenGL & Vulkan

Highlighted
Adept I
Adept I

Validation failure due to incorrect surface caps in vkCreateSwapchainKHR

I'm using the amdgpu-pro_16.15.2-277429 on arch, and I'm getting validation errors like:

DebugReportErrorBit,DebugReportObjectTypeDevice,140663106422298,1378,11,"Swapchain","vkCreateSwapchainKHR() called with a non-supported pCreateInfo->imageArraySize (i.e. 1).  Minimum value is 1, maximum value is 0.")

It looks like the ICD is reporting maxImageArrayLayers = 0, but if I disable validation everything works with a value of 1.

Tags (2)
0 Kudos
Reply
8 Replies
Highlighted
Adept I
Adept I

Re: Validation failure due to incorrect surface caps in vkCreateSwapchainKHR

This is still happening with 16.20.3

0 Kudos
Reply
Highlighted
Staff
Staff

Re: Validation failure due to incorrect surface caps in vkCreateSwapchainKHR

A validation error indicates an application-side problem. Can you post the code snippet which contains the code that fills the VkSwapchainCreateInfoKHR structure and then calls vkCreateSwapchainKHR()?

0 Kudos
Reply
Highlighted
Adept I
Adept I

Re: Validation failure due to incorrect surface caps in vkCreateSwapchainKHR

This happens to me even with the vulkan SDK demos, such as tri.c, if I turn on validation and print debug reports.  Everything appears to work correctly if you ignore the error.

0 Kudos
Reply
Highlighted
Staff
Staff

Re: Validation failure due to incorrect surface caps in vkCreateSwapchainKHR

What is the version of the SDK you're using?

0 Kudos
Reply
Highlighted
Adept I
Adept I

Re: Validation failure due to incorrect surface caps in vkCreateSwapchainKHR

Sorry, I was on my phone earlier so I didn't have exact details.

I just did:

- clone GitHub - KhronosGroup/Vulkan-LoaderAndValidationLayers: Vulkan loader and validation layers

- `git checkout sdk-1.0.11.1`

- `./update_external_sources.sh && rm -r build && mkdir build && pushd build && cmake -r .. && make && popd`

- `pushd build/demos && ./tri --validate && popd`

So just building the latest release, running the triangle demo with validation.  Still on driver 16.20.3.  The output I get is:

> ERROR: [Swapchain] Code 11 : vkCreateSwapchainKHR() called with a non-supported pCreateInfo->imageArraySize (i.e. 1).  Minimum value is 1, maximum value is 0.

> ERROR: [Swapchain] Code 11 : vkCreateSwapchainKHR() called with a non-supported pCreateInfo->imageArraySize (i.e. 1).  Minimum value is 1, maximum value is 0.

I also tested this on the master branch of the sdk and it's the same.

It implies the ICD is returning maxImageArrayLayers = 0, which is illogical.  Definitely seems like a driver bug to me.

Cheers

0 Kudos
Reply
Highlighted
Staff
Staff

Re: Validation failure due to incorrect surface caps in vkCreateSwapchainKHR

I should have asked earlier: is your platform Windows- or Linux- based?

0 Kudos
Reply
Highlighted
Adept I
Adept I

Re: Validation failure due to incorrect surface caps in vkCreateSwapchainKHR

Sorry, it's Linux.  The only place I mentioned it was in the tags, which wasn't very helpful.

Specifically I'm on Arch, amd64.  Testing with an R9 290 using a custom kernel with CIK enabled.  Hopefully none of that makes a difference.

0 Kudos
Reply
Highlighted
Staff
Staff

Re: Validation failure due to incorrect surface caps in vkCreateSwapchainKHR

Got it. I can confirm this is a driver-side issue. We'll have someone fix it shortly. Thanks!

0 Kudos
Reply