cancel
Showing results for 
Search instead for 
Did you mean: 

OpenGL & Vulkan

pascal-gw
Adept I

[Vulkan] Non uniform sampling of sampler2DMSArray is crashing the driver

The driver reports via VkPhysicalDeviceDescriptorIndexingFeatures that shaderSampledImageArrayNonUniformIndexing is available. So it should be legal to call the following code in a shader:

layout (...) uniform sampler2DMSArray textures2DMSArray[some size];

...

color = texelFetch(textures2DMSArray[nonuniformEXT(textureIndex)], ivec3(uv * size, layer), int(sample));

But it's crashing the driver. It doesn't crash when removing nonuniformEXT. The callstack goes quite deep:


amdvlk64.dll!00007fffc4ccc444() Unknown
amdvlk64.dll!00007fffc4ccc568() Unknown
amdvlk64.dll!00007fffc4ccc65f() Unknown
amdvlk64.dll!00007fffc4cb6e07() Unknown
amdvlk64.dll!00007fffc4b591c8() Unknown
amdvlk64.dll!00007fffc4b5afe6() Unknown
amdvlk64.dll!00007fffc4b74e4d() Unknown
amdvlk64.dll!00007fffc4acb689() Unknown
amdvlk64.dll!00007fffc4aeb02c() Unknown
amdvlk64.dll!00007fffc4ad026b() Unknown
amdvlk64.dll!00007fffc4875717() Unknown
amdvlk64.dll!00007fffc4a23120() Unknown
amdvlk64.dll!00007fffc48eb759() Unknown
amdvlk64.dll!00007fffc48e3e42() Unknown
amdvlk64.dll!00007fffc48e53a1() Unknown
amdvlk64.dll!00007fffc4873803() Unknown
amdvlk64.dll!00007fffc467ca20() Unknown
amdvlk64.dll!00007fffc462a135() Unknown
amdvlk64.dll!00007fffc46768ca() Unknown
amdvlk64.dll!00007fffc463636c() Unknown

The dll being loaded at 00007FFFC45F0000-00007FFFC6C99000

 

0 Likes
3 Replies
Dolkar
Adept I

Did you also enable that feature when creating the device? It being available as a feature of a physical device is not enough, it needs to be explicitly enabled as well.

0 Likes

Sure. I'm enabling VkPhysicalDeviceDescriptorIndexingFeatures.

0 Likes
dorisyan
Staff

Hi @pascal-gw 

Could you please provide a minimal code which can reproduce this problem?

0 Likes