mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-12 13:00:32 +00:00
List resources for texture viewer to pick up
This commit is contained in:
@@ -737,6 +737,41 @@ namespace renderdocui.Code
|
||||
|
||||
return ret;
|
||||
}
|
||||
else if (IsLogVK)
|
||||
{
|
||||
VulkanPipelineState.Pipeline.DescriptorSet[] descsets = m_Vulkan.graphics.DescSets;
|
||||
|
||||
if (stage == ShaderStageType.Compute)
|
||||
descsets = m_Vulkan.compute.DescSets;
|
||||
|
||||
List<ResourceId> ret = new List<ResourceId>();
|
||||
|
||||
ShaderStageBits mask = (ShaderStageBits)(1 << (int)stage);
|
||||
foreach(var descset in m_Vulkan.graphics.DescSets)
|
||||
{
|
||||
foreach (var bind in descset.bindings)
|
||||
{
|
||||
if ((bind.type == ShaderBindType.ImageSampler ||
|
||||
bind.type == ShaderBindType.InputAttachment ||
|
||||
bind.type == ShaderBindType.ReadOnlyBuffer ||
|
||||
bind.type == ShaderBindType.ReadOnlyImage ||
|
||||
bind.type == ShaderBindType.ReadOnlyTBuffer
|
||||
) && (bind.stageFlags & mask) == mask)
|
||||
{
|
||||
// VKTODOMED handle bind.arraySize
|
||||
ret.Add(bind.binds[0].res);
|
||||
}
|
||||
else
|
||||
{
|
||||
// texture viewer currently expects binds to match up to resource list
|
||||
// so we need to pad with empty elements
|
||||
ret.Add(ResourceId.Null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ret.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
return new ResourceId[0];
|
||||
@@ -773,6 +808,39 @@ namespace renderdocui.Code
|
||||
|
||||
return ret;
|
||||
}
|
||||
else if (IsLogVK)
|
||||
{
|
||||
VulkanPipelineState.Pipeline.DescriptorSet[] descsets = m_Vulkan.graphics.DescSets;
|
||||
|
||||
if (stage == ShaderStageType.Compute)
|
||||
descsets = m_Vulkan.compute.DescSets;
|
||||
|
||||
List<ResourceId> ret = new List<ResourceId>();
|
||||
|
||||
ShaderStageBits mask = (ShaderStageBits)(1 << (int)stage);
|
||||
foreach (var descset in m_Vulkan.graphics.DescSets)
|
||||
{
|
||||
foreach (var bind in descset.bindings)
|
||||
{
|
||||
if ((bind.type == ShaderBindType.ReadWriteBuffer ||
|
||||
bind.type == ShaderBindType.ReadWriteImage ||
|
||||
bind.type == ShaderBindType.ReadWriteTBuffer
|
||||
) && (bind.stageFlags & mask) == mask)
|
||||
{
|
||||
// VKTODOMED handle bind.arraySize
|
||||
ret.Add(bind.binds[0].res);
|
||||
}
|
||||
else
|
||||
{
|
||||
// texture viewer currently expects binds to match up to resource list
|
||||
// so we need to pad with empty elements
|
||||
ret.Add(ResourceId.Null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ret.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
return new ResourceId[0];
|
||||
|
||||
@@ -1342,6 +1342,9 @@ namespace renderdocui.Windows
|
||||
}
|
||||
|
||||
rtPanel.RefreshLayout();
|
||||
|
||||
// VKTODOMED all this needs to be updated to account for multiple descriptor sets
|
||||
// VKTODOMED also needs to handle array descriptors (ie. not texture arrays)
|
||||
|
||||
i = 0;
|
||||
for(; i < Texs.Length; i++)
|
||||
@@ -1365,6 +1368,7 @@ namespace renderdocui.Windows
|
||||
{
|
||||
used = true;
|
||||
bindName = "<" + bind.name + ">";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user