Display/report compute resources correctly

This commit is contained in:
baldurk
2016-01-03 15:06:31 +01:00
parent d98a9ef4ae
commit a41104bbd0
2 changed files with 12 additions and 4 deletions
+2 -2
View File
@@ -1005,9 +1005,9 @@ namespace renderdocui.Code
descsets = m_Vulkan.compute.DescSets;
ShaderStageBits mask = (ShaderStageBits)(1 << (int)stage);
for (int set = 0; set < m_Vulkan.graphics.DescSets.Length; set++)
for (int set = 0; set < descsets.Length; set++)
{
var descset = m_Vulkan.graphics.DescSets[set];
var descset = descsets[set];
for (int slot = 0; slot < descset.bindings.Length; slot++)
{
var bind = descset.bindings[slot];
+10 -2
View File
@@ -268,7 +268,7 @@ namespace renderdocui.Windows
else if (compute)
{
// only return compute resources for one stage
if (stage == ShaderStageType.Pixel)
if (stage == ShaderStageType.Pixel || stage == ShaderStageType.Compute)
return core.CurPipelineState.GetReadWriteResources(ShaderStageType.Compute);
else
return new Dictionary<BindpointMap, BoundResource[]>();
@@ -303,7 +303,7 @@ namespace renderdocui.Windows
else if (compute)
{
// only return compute resources for one stage
if (stage == ShaderStageType.Pixel)
if (stage == ShaderStageType.Pixel || stage == ShaderStageType.Compute)
return core.CurPipelineState.GetReadOnlyResources(ShaderStageType.Compute);
else
return new Dictionary<BindpointMap, BoundResource[]>();
@@ -1178,6 +1178,11 @@ namespace renderdocui.Windows
else
{
prev.Init();
IntPtr handle = prev.ThumbnailHandle;
m_Core.Renderer.BeginInvoke((ReplayRenderer rep) =>
{
m_Output.AddThumbnail(handle, ResourceId.Null);
});
}
prev.Tag = follow;
@@ -1308,6 +1313,7 @@ namespace renderdocui.Windows
var curDraw = m_Core.GetDrawcall(frameID, eventID);
bool copy = curDraw != null && (curDraw.flags & (DrawcallFlags.Copy|DrawcallFlags.Resolve)) != 0;
bool compute = curDraw != null && (curDraw.flags & (DrawcallFlags.Dispatch)) != 0;
for(int rt=0; rt < RTs.Length; rt++)
{
@@ -1351,6 +1357,8 @@ namespace renderdocui.Windows
ShaderStageType.Pixel
};
if (compute) stages = new ShaderStageType[] { ShaderStageType.Compute };
// display resources used for all stages
foreach (ShaderStageType stage in stages)
{