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.
This is still happening with 16.20.3
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()?
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.
What is the version of the SDK you're using?
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
I should have asked earlier: is your platform Windows- or Linux- based?
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.
Got it. I can confirm this is a driver-side issue. We'll have someone fix it shortly. Thanks!