mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-11-14 18:00:54 +00:00
Mark dispatches as drawcalls and fixes for CS pipeline state
This commit is contained in:
1 parent
f93f5c8d89
commit
8e089a8768
3 files changed
+55
-4
No files matched your search
@@ -2720,7 +2720,39 @@ void VulkanReplay::SavePipelineState()
|
||||
m_VulkanPipelineState.graphics.obj = rm->GetOriginalID(state.graphics.pipeline);
|
||||
|
||||
if(state.compute.pipeline != ResourceId())
|
||||
m_VulkanPipelineState.compute.flags = c.m_Pipeline[state.compute.pipeline].flags;
|
||||
{
|
||||
const VulkanCreationInfo::Pipeline &p = c.m_Pipeline[state.compute.pipeline];
|
||||
|
||||
m_VulkanPipelineState.compute.flags = p.flags;
|
||||
|
||||
VulkanPipelineState::ShaderStage &stage = m_VulkanPipelineState.CS;
|
||||
|
||||
int i=5; // 5 is the CS idx (VS, TCS, TES, GS, FS, CS)
|
||||
{
|
||||
stage.Shader = rm->GetOriginalID(p.shaders[i].module);
|
||||
stage.entryPoint = p.shaders[i].entryPoint;
|
||||
stage.ShaderDetails = NULL;
|
||||
|
||||
stage.customName = true;
|
||||
stage.ShaderName = m_pDriver->m_CreationInfo.m_Names[p.shaders[i].module];
|
||||
if(stage.ShaderName.count == 0)
|
||||
{
|
||||
stage.customName = false;
|
||||
stage.ShaderName = StringFormat::Fmt("Shader %llu", stage.Shader);
|
||||
}
|
||||
|
||||
stage.stage = eShaderStage_Compute;
|
||||
if(p.shaders[i].mapping)
|
||||
stage.BindpointMapping = *p.shaders[i].mapping;
|
||||
|
||||
create_array_uninit(stage.specialization, p.shaders[i].specialization.size());
|
||||
for(size_t s=0; s < p.shaders[i].specialization.size(); s++)
|
||||
{
|
||||
stage.specialization[s].specID = p.shaders[i].specialization[s].specID;
|
||||
create_array_init(stage.specialization[s].data, p.shaders[i].specialization[s].size, p.shaders[i].specialization[s].data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(state.graphics.pipeline != ResourceId())
|
||||
{
|
||||
@@ -2765,7 +2797,6 @@ void VulkanReplay::SavePipelineState()
|
||||
&m_VulkanPipelineState.TES,
|
||||
&m_VulkanPipelineState.GS,
|
||||
&m_VulkanPipelineState.FS,
|
||||
&m_VulkanPipelineState.CS,
|
||||
};
|
||||
|
||||
for(size_t i=0; i < ARRAY_COUNT(stages); i++)
|
||||
|
||||
@@ -1201,6 +1201,26 @@ bool WrappedVulkan::Serialise_vkCmdDispatch(
|
||||
commandBuffer = GetResourceManager()->GetLiveHandle<VkCommandBuffer>(cmdid);
|
||||
|
||||
ObjDisp(commandBuffer)->CmdDispatch(Unwrap(commandBuffer), X, Y, Z);
|
||||
|
||||
const string desc = localSerialiser->GetDebugStr();
|
||||
|
||||
{
|
||||
AddEvent(DISPATCH, desc);
|
||||
string name = "vkCmdDispatch(" +
|
||||
ToStr::Get(X) + "," +
|
||||
ToStr::Get(Y) + "," +
|
||||
ToStr::Get(Z) + ")";
|
||||
|
||||
FetchDrawcall draw;
|
||||
draw.name = name;
|
||||
draw.dispatchDimension[0] = X;
|
||||
draw.dispatchDimension[1] = Y;
|
||||
draw.dispatchDimension[2] = Z;
|
||||
|
||||
draw.flags |= eDraw_Dispatch;
|
||||
|
||||
AddDrawcall(draw, true);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -3265,7 +3265,7 @@
|
||||
this.csResources.Size = new System.Drawing.Size(1070, 195);
|
||||
this.csResources.TabIndex = 1;
|
||||
this.csResources.Text = "Outputs";
|
||||
this.csResources.TreeColumn = 7;
|
||||
this.csResources.TreeColumn = 8;
|
||||
this.csResources.ViewOptions.Indent = 0;
|
||||
this.csResources.ViewOptions.ShowLine = false;
|
||||
this.csResources.ViewOptions.PadForPlusMinus = false;
|
||||
@@ -3325,7 +3325,7 @@
|
||||
this.csCBuffers.Size = new System.Drawing.Size(1070, 195);
|
||||
this.csCBuffers.TabIndex = 11;
|
||||
this.csCBuffers.Text = "Constant Buffers";
|
||||
this.csCBuffers.TreeColumn = 5;
|
||||
this.csCBuffers.TreeColumn = 6;
|
||||
this.csCBuffers.ViewOptions.Indent = 0;
|
||||
this.csCBuffers.ViewOptions.PadForPlusMinus = false;
|
||||
this.csCBuffers.ViewOptions.ShowLine = false;
|
||||
|
||||
Reference in new issue
Block a user