SPIR-V should fill out read only and read write resources separately

This commit is contained in:
baldurk
2016-01-03 15:06:10 +01:00
parent 85858da14d
commit d98a9ef4ae
2 changed files with 48 additions and 10 deletions
@@ -340,8 +340,10 @@ namespace renderdocui.Windows.PipelineState
if (shaderDetails != null)
{
foreach (var ro in shaderDetails.ReadOnlyResources)
for(int i=0; i < shaderDetails.ReadOnlyResources.Length; i++)
{
var ro = shaderDetails.ReadOnlyResources[i];
if (stage.BindpointMapping.ReadOnlyResources[ro.bindPoint].bindset == bindset &&
stage.BindpointMapping.ReadOnlyResources[ro.bindPoint].bind == bind)
{
@@ -349,6 +351,18 @@ namespace renderdocui.Windows.PipelineState
bindMap = stage.BindpointMapping.ReadOnlyResources[ro.bindPoint];
}
}
for(int i=0; i < shaderDetails.ReadWriteResources.Length; i++)
{
var rw = shaderDetails.ReadWriteResources[i];
if (stage.BindpointMapping.ReadWriteResources[rw.bindPoint].bindset == bindset &&
stage.BindpointMapping.ReadWriteResources[rw.bindPoint].bind == bind)
{
shaderRes = rw;
bindMap = stage.BindpointMapping.ReadWriteResources[rw.bindPoint];
}
}
}
VulkanPipelineState.Pipeline.DescriptorSet.DescriptorBinding.BindingElement[] slotBinds =