{"action":"opened","issue":{"url":"https://api.github.com/repos/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/130","repository_url":"https://api.github.com/repos/KhronosGroup/Vulkan-LoaderAndValidationLayers","labels_url":"https://api.github.com/repos/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/130/labels{/name}","comments_url":"https://api.github.com/repos/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/130/comments","events_url":"https://api.github.com/repos/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/130/events","html_url":"https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/130","id":140712427,"number":130,"title":"Draw State: Type mismatch reported if sparse descriptor set bindings are used","user":{"login":"DominikWitczakAMD","id":17761066,"avatar_url":"https://avatars.githubusercontent.com/u/17761066?v=3","gravatar_id":"","url":"https://api.github.com/users/DominikWitczakAMD","html_url":"https://github.com/DominikWitczakAMD","followers_url":"https://api.github.com/users/DominikWitczakAMD/followers","following_url":"https://api.github.com/users/DominikWitczakAMD/following{/other_user}","gists_url":"https://api.github.com/users/DominikWitczakAMD/gists{/gist_id}","starred_url":"https://api.github.com/users/DominikWitczakAMD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DominikWitczakAMD/subscriptions","organizations_url":"https://api.github.com/users/DominikWitczakAMD/orgs","repos_url":"https://api.github.com/users/DominikWitczakAMD/repos","events_url":"https://api.github.com/users/DominikWitczakAMD/events{/privacy}","received_events_url":"https://api.github.com/users/DominikWitczakAMD/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-03-14T15:45:34Z","updated_at":"2016-03-14T15:45:34Z","closed_at":null,"body":"Consider the following descriptor set layout configuration:\r\n\r\n![image](https://cloud.githubusercontent.com/assets/17761066/13749643/a4e7301a-ea02-11e5-99d1-ef308fd7f6c0.png)\r\n\r\n..and the following excerpt from the fragment shader, used to initialize a GFX pipeline:\r\n\r\n![image](https://cloud.githubusercontent.com/assets/17761066/13749755/0df95c18-ea03-11e5-9bcc-7ffa5d698d8b.png)\r\n\r\nIf I try to use the two together when creating a GFX pipeline, I'm getting the following error call-back:\r\n\r\n![image](https://cloud.githubusercontent.com/assets/17761066/13749802/460b74ec-ea03-11e5-9449-6994f4109682.png)\r\n\r\nThe call-stack is:\r\n\r\n![image](https://cloud.githubusercontent.com/assets/17761066/13749851/6537c46a-ea03-11e5-9099-c5af4d254e84.png)\r\n\r\n![image](https://cloud.githubusercontent.com/assets/17761066/13749866/7517adf0-ea03-11e5-8f50-28e7f68fd8af.png)\r\n\r\nI did a very quick investigation and it seems like layout_node->descriptorTypes keys do not take sparse bindings into consideration.. See the sshots below:\r\n\r\n![image](https://cloud.githubusercontent.com/assets/17761066/13749932/b54bd1bc-ea03-11e5-9419-a829f55e922e.png)\r\n\r\n![image](https://cloud.githubusercontent.com/assets/17761066/13749970/db831da4-ea03-11e5-9812-91b168494447.png)\r\n\r\n![image](https://cloud.githubusercontent.com/assets/17761066/13749946/c3f456ee-ea03-11e5-962f-aa66b8842885.png)\r\n\r\nIn this case, slot = (0, 2) for the second storage image, but has_descriptor_binding() seems to consider it a uniform buffer, which leads to the invalid call-back:\r\n\r\n![image](https://cloud.githubusercontent.com/assets/17761066/13750035/1b976292-ea04-11e5-8ac3-07083dc78776.png)\r\n"}}