mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-06 01:50:38 +00:00
Give Vulkan shader stage structs in pipeline state consistent names
This commit is contained in:
@@ -175,12 +175,12 @@ ShaderBindpointMapping CommonPipelineState::GetBindpointMapping(ShaderStageType
|
||||
{
|
||||
switch(stage)
|
||||
{
|
||||
case eShaderStage_Vertex: return m_Vulkan->VS.BindpointMapping;
|
||||
case eShaderStage_Tess_Control: return m_Vulkan->TCS.BindpointMapping;
|
||||
case eShaderStage_Tess_Eval: return m_Vulkan->TES.BindpointMapping;
|
||||
case eShaderStage_Geometry: return m_Vulkan->GS.BindpointMapping;
|
||||
case eShaderStage_Fragment: return m_Vulkan->FS.BindpointMapping;
|
||||
case eShaderStage_Compute: return m_Vulkan->CS.BindpointMapping;
|
||||
case eShaderStage_Vertex: return m_Vulkan->m_VS.BindpointMapping;
|
||||
case eShaderStage_Tess_Control: return m_Vulkan->m_TCS.BindpointMapping;
|
||||
case eShaderStage_Tess_Eval: return m_Vulkan->m_TES.BindpointMapping;
|
||||
case eShaderStage_Geometry: return m_Vulkan->m_GS.BindpointMapping;
|
||||
case eShaderStage_Fragment: return m_Vulkan->m_FS.BindpointMapping;
|
||||
case eShaderStage_Compute: return m_Vulkan->m_CS.BindpointMapping;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
@@ -236,12 +236,12 @@ ShaderReflection *CommonPipelineState::GetShaderReflection(ShaderStageType stage
|
||||
{
|
||||
switch(stage)
|
||||
{
|
||||
case eShaderStage_Vertex: return m_Vulkan->VS.ShaderDetails;
|
||||
case eShaderStage_Tess_Control: return m_Vulkan->TCS.ShaderDetails;
|
||||
case eShaderStage_Tess_Eval: return m_Vulkan->TES.ShaderDetails;
|
||||
case eShaderStage_Geometry: return m_Vulkan->GS.ShaderDetails;
|
||||
case eShaderStage_Fragment: return m_Vulkan->FS.ShaderDetails;
|
||||
case eShaderStage_Compute: return m_Vulkan->CS.ShaderDetails;
|
||||
case eShaderStage_Vertex: return m_Vulkan->m_VS.ShaderDetails;
|
||||
case eShaderStage_Tess_Control: return m_Vulkan->m_TCS.ShaderDetails;
|
||||
case eShaderStage_Tess_Eval: return m_Vulkan->m_TES.ShaderDetails;
|
||||
case eShaderStage_Geometry: return m_Vulkan->m_GS.ShaderDetails;
|
||||
case eShaderStage_Fragment: return m_Vulkan->m_FS.ShaderDetails;
|
||||
case eShaderStage_Compute: return m_Vulkan->m_CS.ShaderDetails;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
@@ -258,12 +258,12 @@ QString CommonPipelineState::GetShaderEntryPoint(ShaderStageType stage)
|
||||
{
|
||||
switch(stage)
|
||||
{
|
||||
case eShaderStage_Vertex: ret = m_Vulkan->VS.entryPoint; break;
|
||||
case eShaderStage_Tess_Control: ret = m_Vulkan->TCS.entryPoint; break;
|
||||
case eShaderStage_Tess_Eval: ret = m_Vulkan->TES.entryPoint; break;
|
||||
case eShaderStage_Geometry: ret = m_Vulkan->GS.entryPoint; break;
|
||||
case eShaderStage_Fragment: ret = m_Vulkan->FS.entryPoint; break;
|
||||
case eShaderStage_Compute: ret = m_Vulkan->CS.entryPoint; break;
|
||||
case eShaderStage_Vertex: ret = m_Vulkan->m_VS.entryPoint; break;
|
||||
case eShaderStage_Tess_Control: ret = m_Vulkan->m_TCS.entryPoint; break;
|
||||
case eShaderStage_Tess_Eval: ret = m_Vulkan->m_TES.entryPoint; break;
|
||||
case eShaderStage_Geometry: ret = m_Vulkan->m_GS.entryPoint; break;
|
||||
case eShaderStage_Fragment: ret = m_Vulkan->m_FS.entryPoint; break;
|
||||
case eShaderStage_Compute: ret = m_Vulkan->m_CS.entryPoint; break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
@@ -318,12 +318,12 @@ ResourceId CommonPipelineState::GetShader(ShaderStageType stage)
|
||||
{
|
||||
switch(stage)
|
||||
{
|
||||
case eShaderStage_Vertex: return m_Vulkan->VS.Shader;
|
||||
case eShaderStage_Tess_Control: return m_Vulkan->TCS.Shader;
|
||||
case eShaderStage_Tess_Eval: return m_Vulkan->TES.Shader;
|
||||
case eShaderStage_Geometry: return m_Vulkan->GS.Shader;
|
||||
case eShaderStage_Fragment: return m_Vulkan->FS.Shader;
|
||||
case eShaderStage_Compute: return m_Vulkan->CS.Shader;
|
||||
case eShaderStage_Vertex: return m_Vulkan->m_VS.Shader;
|
||||
case eShaderStage_Tess_Control: return m_Vulkan->m_TCS.Shader;
|
||||
case eShaderStage_Tess_Eval: return m_Vulkan->m_TES.Shader;
|
||||
case eShaderStage_Geometry: return m_Vulkan->m_GS.Shader;
|
||||
case eShaderStage_Fragment: return m_Vulkan->m_FS.Shader;
|
||||
case eShaderStage_Compute: return m_Vulkan->m_CS.Shader;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
@@ -381,12 +381,12 @@ QString CommonPipelineState::GetShaderName(ShaderStageType stage)
|
||||
{
|
||||
switch(stage)
|
||||
{
|
||||
case eShaderStage_Vertex: ret = m_Vulkan->VS.ShaderName; break;
|
||||
case eShaderStage_Domain: ret = m_Vulkan->TCS.ShaderName; break;
|
||||
case eShaderStage_Hull: ret = m_Vulkan->TES.ShaderName; break;
|
||||
case eShaderStage_Geometry: ret = m_Vulkan->GS.ShaderName; break;
|
||||
case eShaderStage_Pixel: ret = m_Vulkan->FS.ShaderName; break;
|
||||
case eShaderStage_Compute: ret = m_Vulkan->CS.ShaderName; break;
|
||||
case eShaderStage_Vertex: ret = m_Vulkan->m_VS.ShaderName; break;
|
||||
case eShaderStage_Domain: ret = m_Vulkan->m_TCS.ShaderName; break;
|
||||
case eShaderStage_Hull: ret = m_Vulkan->m_TES.ShaderName; break;
|
||||
case eShaderStage_Geometry: ret = m_Vulkan->m_GS.ShaderName; break;
|
||||
case eShaderStage_Pixel: ret = m_Vulkan->m_FS.ShaderName; break;
|
||||
case eShaderStage_Compute: ret = m_Vulkan->m_CS.ShaderName; break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
@@ -736,10 +736,10 @@ QVector<VertexInputAttribute> CommonPipelineState::GetVertexInputs()
|
||||
for(int i = 0; i < attrs.count; i++)
|
||||
{
|
||||
int attrib = -1;
|
||||
if(m_Vulkan->VS.ShaderDetails != NULL)
|
||||
if(m_Vulkan->m_VS.ShaderDetails != NULL)
|
||||
{
|
||||
if(attrs[i].location < (uint32_t)m_Vulkan->VS.BindpointMapping.InputAttributes.count)
|
||||
attrib = m_Vulkan->VS.BindpointMapping.InputAttributes[attrs[i].location];
|
||||
if(attrs[i].location < (uint32_t)m_Vulkan->m_VS.BindpointMapping.InputAttributes.count)
|
||||
attrib = m_Vulkan->m_VS.BindpointMapping.InputAttributes[attrs[i].location];
|
||||
}
|
||||
else
|
||||
attrib = i;
|
||||
@@ -763,15 +763,15 @@ QVector<VertexInputAttribute> CommonPipelineState::GetVertexInputs()
|
||||
ret[a].Format = attrs[i].format;
|
||||
ret[a].Used = true;
|
||||
|
||||
if(m_Vulkan->VS.ShaderDetails != NULL)
|
||||
if(m_Vulkan->m_VS.ShaderDetails != NULL)
|
||||
{
|
||||
int attrib = -1;
|
||||
|
||||
if(attrs[i].location < (uint32_t)m_Vulkan->VS.BindpointMapping.InputAttributes.count)
|
||||
attrib = m_Vulkan->VS.BindpointMapping.InputAttributes[attrs[i].location];
|
||||
if(attrs[i].location < (uint32_t)m_Vulkan->m_VS.BindpointMapping.InputAttributes.count)
|
||||
attrib = m_Vulkan->m_VS.BindpointMapping.InputAttributes[attrs[i].location];
|
||||
|
||||
if(attrib >= 0 && attrib < m_Vulkan->VS.ShaderDetails->InputSig.count)
|
||||
ret[a].Name = m_Vulkan->VS.ShaderDetails->InputSig[attrib].varName;
|
||||
if(attrib >= 0 && attrib < m_Vulkan->m_VS.ShaderDetails->InputSig.count)
|
||||
ret[a].Name = m_Vulkan->m_VS.ShaderDetails->InputSig[attrib].varName;
|
||||
|
||||
if(attrib == -1)
|
||||
continue;
|
||||
|
||||
@@ -135,7 +135,7 @@ public:
|
||||
return m_GL != NULL && m_GL->m_TES.Shader != ResourceId();
|
||||
|
||||
if(IsLogVK())
|
||||
return m_Vulkan != NULL && m_Vulkan->TES.Shader != ResourceId();
|
||||
return m_Vulkan != NULL && m_Vulkan->m_TES.Shader != ResourceId();
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -237,19 +237,19 @@ private:
|
||||
const VulkanPipelineState::ShaderStage &GetVulkanStage(ShaderStageType stage)
|
||||
{
|
||||
if(stage == eShaderStage_Vertex)
|
||||
return m_Vulkan->VS;
|
||||
return m_Vulkan->m_VS;
|
||||
if(stage == eShaderStage_Tess_Control)
|
||||
return m_Vulkan->TCS;
|
||||
return m_Vulkan->m_TCS;
|
||||
if(stage == eShaderStage_Tess_Eval)
|
||||
return m_Vulkan->TES;
|
||||
return m_Vulkan->m_TES;
|
||||
if(stage == eShaderStage_Geometry)
|
||||
return m_Vulkan->GS;
|
||||
return m_Vulkan->m_GS;
|
||||
if(stage == eShaderStage_Fragment)
|
||||
return m_Vulkan->FS;
|
||||
return m_Vulkan->m_FS;
|
||||
if(stage == eShaderStage_Compute)
|
||||
return m_Vulkan->CS;
|
||||
return m_Vulkan->m_CS;
|
||||
|
||||
qCritical() << "Error - invalid stage " << (int)stage;
|
||||
return m_Vulkan->CS;
|
||||
return m_Vulkan->m_CS;
|
||||
}
|
||||
};
|
||||
@@ -466,23 +466,23 @@ const VulkanPipelineState::ShaderStage *VulkanPipelineStateViewer::stageForSende
|
||||
while(widget)
|
||||
{
|
||||
if(widget == ui->stagesTabs->widget(0))
|
||||
return &m_Ctx->CurVulkanPipelineState.VS;
|
||||
return &m_Ctx->CurVulkanPipelineState.m_VS;
|
||||
if(widget == ui->stagesTabs->widget(1))
|
||||
return &m_Ctx->CurVulkanPipelineState.VS;
|
||||
return &m_Ctx->CurVulkanPipelineState.m_VS;
|
||||
if(widget == ui->stagesTabs->widget(2))
|
||||
return &m_Ctx->CurVulkanPipelineState.TCS;
|
||||
return &m_Ctx->CurVulkanPipelineState.m_TCS;
|
||||
if(widget == ui->stagesTabs->widget(3))
|
||||
return &m_Ctx->CurVulkanPipelineState.TES;
|
||||
return &m_Ctx->CurVulkanPipelineState.m_TES;
|
||||
if(widget == ui->stagesTabs->widget(4))
|
||||
return &m_Ctx->CurVulkanPipelineState.GS;
|
||||
return &m_Ctx->CurVulkanPipelineState.m_GS;
|
||||
if(widget == ui->stagesTabs->widget(5))
|
||||
return &m_Ctx->CurVulkanPipelineState.FS;
|
||||
return &m_Ctx->CurVulkanPipelineState.m_FS;
|
||||
if(widget == ui->stagesTabs->widget(6))
|
||||
return &m_Ctx->CurVulkanPipelineState.FS;
|
||||
return &m_Ctx->CurVulkanPipelineState.m_FS;
|
||||
if(widget == ui->stagesTabs->widget(7))
|
||||
return &m_Ctx->CurVulkanPipelineState.FS;
|
||||
return &m_Ctx->CurVulkanPipelineState.m_FS;
|
||||
if(widget == ui->stagesTabs->widget(8))
|
||||
return &m_Ctx->CurVulkanPipelineState.CS;
|
||||
return &m_Ctx->CurVulkanPipelineState.m_CS;
|
||||
|
||||
widget = widget->parentWidget();
|
||||
}
|
||||
@@ -1443,15 +1443,15 @@ void VulkanPipelineStateViewer::setState()
|
||||
|
||||
QString name = tr("Attribute %1").arg(i);
|
||||
|
||||
if(state.VS.Shader != ResourceId())
|
||||
if(state.m_VS.Shader != ResourceId())
|
||||
{
|
||||
int attrib = -1;
|
||||
if((int32_t)a.location < state.VS.BindpointMapping.InputAttributes.count)
|
||||
attrib = state.VS.BindpointMapping.InputAttributes[a.location];
|
||||
if((int32_t)a.location < state.m_VS.BindpointMapping.InputAttributes.count)
|
||||
attrib = state.m_VS.BindpointMapping.InputAttributes[a.location];
|
||||
|
||||
if(attrib >= 0 && attrib < state.VS.ShaderDetails->InputSig.count)
|
||||
if(attrib >= 0 && attrib < state.m_VS.ShaderDetails->InputSig.count)
|
||||
{
|
||||
name = state.VS.ShaderDetails->InputSig[attrib].varName;
|
||||
name = state.m_VS.ShaderDetails->InputSig[attrib].varName;
|
||||
usedSlot = true;
|
||||
}
|
||||
}
|
||||
@@ -1702,12 +1702,12 @@ void VulkanPipelineStateViewer::setState()
|
||||
ui->viBuffers->setUpdatesEnabled(true);
|
||||
ui->viBuffers->verticalScrollBar()->setValue(vs);
|
||||
|
||||
setShaderState(state.VS, state.graphics, ui->vsShader, ui->vsResources, ui->vsUBOs);
|
||||
setShaderState(state.GS, state.graphics, ui->gsShader, ui->gsResources, ui->gsUBOs);
|
||||
setShaderState(state.TCS, state.graphics, ui->tcsShader, ui->tcsResources, ui->tcsUBOs);
|
||||
setShaderState(state.TES, state.graphics, ui->tesShader, ui->tesResources, ui->tesUBOs);
|
||||
setShaderState(state.FS, state.graphics, ui->fsShader, ui->fsResources, ui->fsUBOs);
|
||||
setShaderState(state.CS, state.compute, ui->csShader, ui->csResources, ui->csUBOs);
|
||||
setShaderState(state.m_VS, state.graphics, ui->vsShader, ui->vsResources, ui->vsUBOs);
|
||||
setShaderState(state.m_GS, state.graphics, ui->gsShader, ui->gsResources, ui->gsUBOs);
|
||||
setShaderState(state.m_TCS, state.graphics, ui->tcsShader, ui->tcsResources, ui->tcsUBOs);
|
||||
setShaderState(state.m_TES, state.graphics, ui->tesShader, ui->tesResources, ui->tesUBOs);
|
||||
setShaderState(state.m_FS, state.graphics, ui->fsShader, ui->fsResources, ui->fsUBOs);
|
||||
setShaderState(state.m_CS, state.compute, ui->csShader, ui->csResources, ui->csUBOs);
|
||||
|
||||
////////////////////////////////////////////////
|
||||
// Rasterizer
|
||||
@@ -1825,15 +1825,15 @@ void VulkanPipelineStateViewer::setState()
|
||||
name = tex->name;
|
||||
typeName = ToQStr(tex->resType);
|
||||
|
||||
if(!tex->customName && state.FS.ShaderDetails != NULL)
|
||||
if(!tex->customName && state.m_FS.ShaderDetails != NULL)
|
||||
{
|
||||
for(int s = 0; s < state.FS.ShaderDetails->OutputSig.count; s++)
|
||||
for(int s = 0; s < state.m_FS.ShaderDetails->OutputSig.count; s++)
|
||||
{
|
||||
if(state.FS.ShaderDetails->OutputSig[s].regIndex == (uint32_t)colIdx &&
|
||||
(state.FS.ShaderDetails->OutputSig[s].systemValue == eAttr_None ||
|
||||
state.FS.ShaderDetails->OutputSig[s].systemValue == eAttr_ColourOutput))
|
||||
if(state.m_FS.ShaderDetails->OutputSig[s].regIndex == (uint32_t)colIdx &&
|
||||
(state.m_FS.ShaderDetails->OutputSig[s].systemValue == eAttr_None ||
|
||||
state.m_FS.ShaderDetails->OutputSig[s].systemValue == eAttr_ColourOutput))
|
||||
{
|
||||
name = QString("<%1>").arg(ToQStr(state.FS.ShaderDetails->OutputSig[s].varName));
|
||||
name = QString("<%1>").arg(ToQStr(state.m_FS.ShaderDetails->OutputSig[s].varName));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -175,7 +175,7 @@ struct VulkanPipelineState
|
||||
rdctype::array<byte> data;
|
||||
};
|
||||
rdctype::array<SpecInfo> specialization;
|
||||
} VS, TCS, TES, GS, FS, CS;
|
||||
} m_VS, m_TCS, m_TES, m_GS, m_FS, m_CS;
|
||||
|
||||
struct Tessellation
|
||||
{
|
||||
|
||||
@@ -1237,12 +1237,12 @@ void Serialiser::Serialise(const char *name, VulkanPipelineState &el)
|
||||
Serialise("", el.IA);
|
||||
Serialise("", el.VI);
|
||||
|
||||
Serialise("", el.VS);
|
||||
Serialise("", el.TCS);
|
||||
Serialise("", el.TES);
|
||||
Serialise("", el.GS);
|
||||
Serialise("", el.FS);
|
||||
Serialise("", el.CS);
|
||||
Serialise("", el.m_VS);
|
||||
Serialise("", el.m_TCS);
|
||||
Serialise("", el.m_TES);
|
||||
Serialise("", el.m_GS);
|
||||
Serialise("", el.m_FS);
|
||||
Serialise("", el.m_CS);
|
||||
|
||||
Serialise("", el.Tess);
|
||||
|
||||
|
||||
@@ -3184,7 +3184,7 @@ void VulkanReplay::SavePipelineState()
|
||||
|
||||
m_VulkanPipelineState.compute.flags = p.flags;
|
||||
|
||||
VulkanPipelineState::ShaderStage &stage = m_VulkanPipelineState.CS;
|
||||
VulkanPipelineState::ShaderStage &stage = m_VulkanPipelineState.m_CS;
|
||||
|
||||
int i = 5; // 5 is the CS idx (VS, TCS, TES, GS, FS, CS)
|
||||
{
|
||||
@@ -3252,8 +3252,8 @@ void VulkanReplay::SavePipelineState()
|
||||
|
||||
// Shader Stages
|
||||
VulkanPipelineState::ShaderStage *stages[] = {
|
||||
&m_VulkanPipelineState.VS, &m_VulkanPipelineState.TCS, &m_VulkanPipelineState.TES,
|
||||
&m_VulkanPipelineState.GS, &m_VulkanPipelineState.FS,
|
||||
&m_VulkanPipelineState.m_VS, &m_VulkanPipelineState.m_TCS, &m_VulkanPipelineState.m_TES,
|
||||
&m_VulkanPipelineState.m_GS, &m_VulkanPipelineState.m_FS,
|
||||
};
|
||||
|
||||
for(size_t i = 0; i < ARRAY_COUNT(stages); i++)
|
||||
|
||||
@@ -1646,8 +1646,8 @@ void ReplayRenderer::FetchPipelineState()
|
||||
|
||||
{
|
||||
VulkanPipelineState::ShaderStage *stages[] = {
|
||||
&m_VulkanPipelineState.VS, &m_VulkanPipelineState.TCS, &m_VulkanPipelineState.TES,
|
||||
&m_VulkanPipelineState.GS, &m_VulkanPipelineState.FS, &m_VulkanPipelineState.CS,
|
||||
&m_VulkanPipelineState.m_VS, &m_VulkanPipelineState.m_TCS, &m_VulkanPipelineState.m_TES,
|
||||
&m_VulkanPipelineState.m_GS, &m_VulkanPipelineState.m_FS, &m_VulkanPipelineState.m_CS,
|
||||
};
|
||||
|
||||
for(int i = 0; i < 6; i++)
|
||||
|
||||
@@ -149,7 +149,7 @@ namespace renderdocui.Code
|
||||
return m_GL != null && m_GL.m_TES.Shader != ResourceId.Null;
|
||||
|
||||
if (IsLogVK)
|
||||
return m_Vulkan != null && m_Vulkan.TES.Shader != ResourceId.Null;
|
||||
return m_Vulkan != null && m_Vulkan.m_TES.Shader != ResourceId.Null;
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -330,12 +330,12 @@ namespace renderdocui.Code
|
||||
{
|
||||
switch (stage)
|
||||
{
|
||||
case ShaderStageType.Vertex: return m_Vulkan.VS.BindpointMapping;
|
||||
case ShaderStageType.Tess_Control: return m_Vulkan.TCS.BindpointMapping;
|
||||
case ShaderStageType.Tess_Eval: return m_Vulkan.TES.BindpointMapping;
|
||||
case ShaderStageType.Geometry: return m_Vulkan.GS.BindpointMapping;
|
||||
case ShaderStageType.Fragment: return m_Vulkan.FS.BindpointMapping;
|
||||
case ShaderStageType.Compute: return m_Vulkan.CS.BindpointMapping;
|
||||
case ShaderStageType.Vertex: return m_Vulkan.m_VS.BindpointMapping;
|
||||
case ShaderStageType.Tess_Control: return m_Vulkan.m_TCS.BindpointMapping;
|
||||
case ShaderStageType.Tess_Eval: return m_Vulkan.m_TES.BindpointMapping;
|
||||
case ShaderStageType.Geometry: return m_Vulkan.m_GS.BindpointMapping;
|
||||
case ShaderStageType.Fragment: return m_Vulkan.m_FS.BindpointMapping;
|
||||
case ShaderStageType.Compute: return m_Vulkan.m_CS.BindpointMapping;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -387,12 +387,12 @@ namespace renderdocui.Code
|
||||
{
|
||||
switch (stage)
|
||||
{
|
||||
case ShaderStageType.Vertex: return m_Vulkan.VS.ShaderDetails;
|
||||
case ShaderStageType.Tess_Control: return m_Vulkan.TCS.ShaderDetails;
|
||||
case ShaderStageType.Tess_Eval: return m_Vulkan.TES.ShaderDetails;
|
||||
case ShaderStageType.Geometry: return m_Vulkan.GS.ShaderDetails;
|
||||
case ShaderStageType.Fragment: return m_Vulkan.FS.ShaderDetails;
|
||||
case ShaderStageType.Compute: return m_Vulkan.CS.ShaderDetails;
|
||||
case ShaderStageType.Vertex: return m_Vulkan.m_VS.ShaderDetails;
|
||||
case ShaderStageType.Tess_Control: return m_Vulkan.m_TCS.ShaderDetails;
|
||||
case ShaderStageType.Tess_Eval: return m_Vulkan.m_TES.ShaderDetails;
|
||||
case ShaderStageType.Geometry: return m_Vulkan.m_GS.ShaderDetails;
|
||||
case ShaderStageType.Fragment: return m_Vulkan.m_FS.ShaderDetails;
|
||||
case ShaderStageType.Compute: return m_Vulkan.m_CS.ShaderDetails;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -406,12 +406,12 @@ namespace renderdocui.Code
|
||||
{
|
||||
switch (stage)
|
||||
{
|
||||
case ShaderStageType.Vertex: return m_Vulkan.VS.entryPoint;
|
||||
case ShaderStageType.Tess_Control: return m_Vulkan.TCS.entryPoint;
|
||||
case ShaderStageType.Tess_Eval: return m_Vulkan.TES.entryPoint;
|
||||
case ShaderStageType.Geometry: return m_Vulkan.GS.entryPoint;
|
||||
case ShaderStageType.Fragment: return m_Vulkan.FS.entryPoint;
|
||||
case ShaderStageType.Compute: return m_Vulkan.CS.entryPoint;
|
||||
case ShaderStageType.Vertex: return m_Vulkan.m_VS.entryPoint;
|
||||
case ShaderStageType.Tess_Control: return m_Vulkan.m_TCS.entryPoint;
|
||||
case ShaderStageType.Tess_Eval: return m_Vulkan.m_TES.entryPoint;
|
||||
case ShaderStageType.Geometry: return m_Vulkan.m_GS.entryPoint;
|
||||
case ShaderStageType.Fragment: return m_Vulkan.m_FS.entryPoint;
|
||||
case ShaderStageType.Compute: return m_Vulkan.m_CS.entryPoint;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -462,12 +462,12 @@ namespace renderdocui.Code
|
||||
{
|
||||
switch (stage)
|
||||
{
|
||||
case ShaderStageType.Vertex: return m_Vulkan.VS.Shader;
|
||||
case ShaderStageType.Tess_Control: return m_Vulkan.TCS.Shader;
|
||||
case ShaderStageType.Tess_Eval: return m_Vulkan.TES.Shader;
|
||||
case ShaderStageType.Geometry: return m_Vulkan.GS.Shader;
|
||||
case ShaderStageType.Fragment: return m_Vulkan.FS.Shader;
|
||||
case ShaderStageType.Compute: return m_Vulkan.CS.Shader;
|
||||
case ShaderStageType.Vertex: return m_Vulkan.m_VS.Shader;
|
||||
case ShaderStageType.Tess_Control: return m_Vulkan.m_TCS.Shader;
|
||||
case ShaderStageType.Tess_Eval: return m_Vulkan.m_TES.Shader;
|
||||
case ShaderStageType.Geometry: return m_Vulkan.m_GS.Shader;
|
||||
case ShaderStageType.Fragment: return m_Vulkan.m_FS.Shader;
|
||||
case ShaderStageType.Compute: return m_Vulkan.m_CS.Shader;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -519,12 +519,12 @@ namespace renderdocui.Code
|
||||
{
|
||||
switch (stage)
|
||||
{
|
||||
case ShaderStageType.Vertex: return m_Vulkan.VS.ShaderName;
|
||||
case ShaderStageType.Domain: return m_Vulkan.TCS.ShaderName;
|
||||
case ShaderStageType.Hull: return m_Vulkan.TES.ShaderName;
|
||||
case ShaderStageType.Geometry: return m_Vulkan.GS.ShaderName;
|
||||
case ShaderStageType.Pixel: return m_Vulkan.FS.ShaderName;
|
||||
case ShaderStageType.Compute: return m_Vulkan.CS.ShaderName;
|
||||
case ShaderStageType.Vertex: return m_Vulkan.m_VS.ShaderName;
|
||||
case ShaderStageType.Domain: return m_Vulkan.m_TCS.ShaderName;
|
||||
case ShaderStageType.Hull: return m_Vulkan.m_TES.ShaderName;
|
||||
case ShaderStageType.Geometry: return m_Vulkan.m_GS.ShaderName;
|
||||
case ShaderStageType.Pixel: return m_Vulkan.m_FS.ShaderName;
|
||||
case ShaderStageType.Compute: return m_Vulkan.m_CS.ShaderName;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -875,10 +875,10 @@ namespace renderdocui.Code
|
||||
for (int i = 0; i < attrs.Length; i++)
|
||||
{
|
||||
int attrib = -1;
|
||||
if (m_Vulkan.VS.BindpointMapping != null && m_Vulkan.VS.ShaderDetails != null)
|
||||
if (m_Vulkan.m_VS.BindpointMapping != null && m_Vulkan.m_VS.ShaderDetails != null)
|
||||
{
|
||||
if(attrs[i].location < m_Vulkan.VS.BindpointMapping.InputAttributes.Length)
|
||||
attrib = m_Vulkan.VS.BindpointMapping.InputAttributes[attrs[i].location];
|
||||
if(attrs[i].location < m_Vulkan.m_VS.BindpointMapping.InputAttributes.Length)
|
||||
attrib = m_Vulkan.m_VS.BindpointMapping.InputAttributes[attrs[i].location];
|
||||
}
|
||||
else
|
||||
attrib = i;
|
||||
@@ -902,15 +902,15 @@ namespace renderdocui.Code
|
||||
ret[a].Format = attrs[i].format;
|
||||
ret[a].Used = true;
|
||||
|
||||
if (m_Vulkan.VS.BindpointMapping != null && m_Vulkan.VS.ShaderDetails != null)
|
||||
if (m_Vulkan.m_VS.BindpointMapping != null && m_Vulkan.m_VS.ShaderDetails != null)
|
||||
{
|
||||
int attrib = -1;
|
||||
|
||||
if (attrs[i].location < m_Vulkan.VS.BindpointMapping.InputAttributes.Length)
|
||||
attrib = m_Vulkan.VS.BindpointMapping.InputAttributes[attrs[i].location];
|
||||
if (attrs[i].location < m_Vulkan.m_VS.BindpointMapping.InputAttributes.Length)
|
||||
attrib = m_Vulkan.m_VS.BindpointMapping.InputAttributes[attrs[i].location];
|
||||
|
||||
if (attrib >= 0 && attrib < m_Vulkan.VS.ShaderDetails.InputSig.Length)
|
||||
ret[a].Name = m_Vulkan.VS.ShaderDetails.InputSig[attrib].varName;
|
||||
if (attrib >= 0 && attrib < m_Vulkan.m_VS.ShaderDetails.InputSig.Length)
|
||||
ret[a].Name = m_Vulkan.m_VS.ShaderDetails.InputSig[attrib].varName;
|
||||
|
||||
if (attrib == -1) continue;
|
||||
}
|
||||
@@ -1035,12 +1035,12 @@ namespace renderdocui.Code
|
||||
|
||||
switch (stage)
|
||||
{
|
||||
case ShaderStageType.Vertex: s = m_Vulkan.VS; break;
|
||||
case ShaderStageType.Tess_Control: s = m_Vulkan.TCS; break;
|
||||
case ShaderStageType.Tess_Eval: s = m_Vulkan.TES; break;
|
||||
case ShaderStageType.Geometry: s = m_Vulkan.GS; break;
|
||||
case ShaderStageType.Fragment: s = m_Vulkan.FS; break;
|
||||
case ShaderStageType.Compute: s = m_Vulkan.CS; break;
|
||||
case ShaderStageType.Vertex: s = m_Vulkan.m_VS; break;
|
||||
case ShaderStageType.Tess_Control: s = m_Vulkan.m_TCS; break;
|
||||
case ShaderStageType.Tess_Eval: s = m_Vulkan.m_TES; break;
|
||||
case ShaderStageType.Geometry: s = m_Vulkan.m_GS; break;
|
||||
case ShaderStageType.Fragment: s = m_Vulkan.m_FS; break;
|
||||
case ShaderStageType.Compute: s = m_Vulkan.m_CS; break;
|
||||
}
|
||||
|
||||
if (s.ShaderDetails != null && BufIdx < s.ShaderDetails.ConstantBlocks.Length)
|
||||
|
||||
@@ -208,7 +208,7 @@ namespace renderdoc
|
||||
SpecInfo[] specialization;
|
||||
};
|
||||
[CustomMarshalAs(CustomUnmanagedType.CustomClass)]
|
||||
public ShaderStage VS, TCS, TES, GS, FS, CS;
|
||||
public ShaderStage m_VS, m_TCS, m_TES, m_GS, m_FS, m_CS;
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public class Tessellation
|
||||
|
||||
@@ -1217,15 +1217,15 @@ namespace renderdocui.Windows.PipelineState
|
||||
|
||||
string name = String.Format("Attribute {0}", i);
|
||||
|
||||
if (state.VS.Shader != ResourceId.Null)
|
||||
if (state.m_VS.Shader != ResourceId.Null)
|
||||
{
|
||||
int attrib = -1;
|
||||
if(a.location < state.VS.BindpointMapping.InputAttributes.Length)
|
||||
attrib = state.VS.BindpointMapping.InputAttributes[a.location];
|
||||
if(a.location < state.m_VS.BindpointMapping.InputAttributes.Length)
|
||||
attrib = state.m_VS.BindpointMapping.InputAttributes[a.location];
|
||||
|
||||
if (attrib >= 0 && attrib < state.VS.ShaderDetails.InputSig.Length)
|
||||
if (attrib >= 0 && attrib < state.m_VS.ShaderDetails.InputSig.Length)
|
||||
{
|
||||
name = state.VS.ShaderDetails.InputSig[attrib].varName;
|
||||
name = state.m_VS.ShaderDetails.InputSig[attrib].varName;
|
||||
usedSlot = true;
|
||||
}
|
||||
}
|
||||
@@ -1460,12 +1460,12 @@ namespace renderdocui.Windows.PipelineState
|
||||
viBuffers.EndUpdate();
|
||||
viBuffers.SetVScrollValue(vs);
|
||||
|
||||
SetShaderState(texs, bufs, state.VS, state.graphics, vsShader, vsResources, vsCBuffers);
|
||||
SetShaderState(texs, bufs, state.GS, state.graphics, gsShader, gsResources, gsCBuffers);
|
||||
SetShaderState(texs, bufs, state.TCS, state.graphics, hsShader, hsResources, hsCBuffers);
|
||||
SetShaderState(texs, bufs, state.TES, state.graphics, dsShader, dsResources, dsCBuffers);
|
||||
SetShaderState(texs, bufs, state.FS, state.graphics, psShader, psResources, psCBuffers);
|
||||
SetShaderState(texs, bufs, state.CS, state.compute, csShader, csResources, csCBuffers);
|
||||
SetShaderState(texs, bufs, state.m_VS, state.graphics, vsShader, vsResources, vsCBuffers);
|
||||
SetShaderState(texs, bufs, state.m_GS, state.graphics, gsShader, gsResources, gsCBuffers);
|
||||
SetShaderState(texs, bufs, state.m_TCS, state.graphics, hsShader, hsResources, hsCBuffers);
|
||||
SetShaderState(texs, bufs, state.m_TES, state.graphics, dsShader, dsResources, dsCBuffers);
|
||||
SetShaderState(texs, bufs, state.m_FS, state.graphics, psShader, psResources, psCBuffers);
|
||||
SetShaderState(texs, bufs, state.m_CS, state.compute, csShader, csResources, csCBuffers);
|
||||
|
||||
////////////////////////////////////////////////
|
||||
// Rasterizer
|
||||
@@ -1587,15 +1587,15 @@ namespace renderdocui.Windows.PipelineState
|
||||
name = texs[t].name;
|
||||
typename = texs[t].resType.Str();
|
||||
|
||||
if (!texs[t].customName && state.FS.ShaderDetails != null)
|
||||
if (!texs[t].customName && state.m_FS.ShaderDetails != null)
|
||||
{
|
||||
for(int s=0; s < state.FS.ShaderDetails.OutputSig.Length; s++)
|
||||
for(int s=0; s < state.m_FS.ShaderDetails.OutputSig.Length; s++)
|
||||
{
|
||||
if(state.FS.ShaderDetails.OutputSig[s].regIndex == colIdx &&
|
||||
(state.FS.ShaderDetails.OutputSig[s].systemValue == SystemAttribute.None ||
|
||||
state.FS.ShaderDetails.OutputSig[s].systemValue == SystemAttribute.ColourOutput))
|
||||
if(state.m_FS.ShaderDetails.OutputSig[s].regIndex == colIdx &&
|
||||
(state.m_FS.ShaderDetails.OutputSig[s].systemValue == SystemAttribute.None ||
|
||||
state.m_FS.ShaderDetails.OutputSig[s].systemValue == SystemAttribute.ColourOutput))
|
||||
{
|
||||
name = String.Format("<{0}>", state.FS.ShaderDetails.OutputSig[s].varName);
|
||||
name = String.Format("<{0}>", state.m_FS.ShaderDetails.OutputSig[s].varName);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1756,11 +1756,11 @@ namespace renderdocui.Windows.PipelineState
|
||||
pipeFlow.SetStagesEnabled(new bool[] {
|
||||
true,
|
||||
true,
|
||||
state.TCS.Shader != ResourceId.Null,
|
||||
state.TES.Shader != ResourceId.Null,
|
||||
state.GS.Shader != ResourceId.Null,
|
||||
state.m_TCS.Shader != ResourceId.Null,
|
||||
state.m_TES.Shader != ResourceId.Null,
|
||||
state.m_GS.Shader != ResourceId.Null,
|
||||
true,
|
||||
state.FS.Shader != ResourceId.Null,
|
||||
state.m_FS.Shader != ResourceId.Null,
|
||||
true,
|
||||
false
|
||||
});
|
||||
@@ -2112,19 +2112,19 @@ namespace renderdocui.Windows.PipelineState
|
||||
while (cur is Control)
|
||||
{
|
||||
if (cur == tabVS)
|
||||
stage = m_Core.CurVulkanPipelineState.VS;
|
||||
stage = m_Core.CurVulkanPipelineState.m_VS;
|
||||
else if (cur == tabGS)
|
||||
stage = m_Core.CurVulkanPipelineState.GS;
|
||||
stage = m_Core.CurVulkanPipelineState.m_GS;
|
||||
else if (cur == tabHS)
|
||||
stage = m_Core.CurVulkanPipelineState.TCS;
|
||||
stage = m_Core.CurVulkanPipelineState.m_TCS;
|
||||
else if (cur == tabDS)
|
||||
stage = m_Core.CurVulkanPipelineState.TES;
|
||||
stage = m_Core.CurVulkanPipelineState.m_TES;
|
||||
else if (cur == tabPS)
|
||||
stage = m_Core.CurVulkanPipelineState.FS;
|
||||
stage = m_Core.CurVulkanPipelineState.m_FS;
|
||||
else if (cur == tabCS)
|
||||
stage = m_Core.CurVulkanPipelineState.CS;
|
||||
stage = m_Core.CurVulkanPipelineState.m_CS;
|
||||
else if (cur == tabOM)
|
||||
stage = m_Core.CurVulkanPipelineState.FS;
|
||||
stage = m_Core.CurVulkanPipelineState.m_FS;
|
||||
|
||||
if (stage != null)
|
||||
return stage;
|
||||
@@ -3584,16 +3584,16 @@ div.stage table tr td { border-right: 1px solid #AAAAAA; background-color: #EEEE
|
||||
{
|
||||
case 0: ExportHTML(writer, m_Core.CurVulkanPipelineState.IA); break;
|
||||
case 1: ExportHTML(writer, m_Core.CurVulkanPipelineState.VI); break;
|
||||
case 2: ExportHTML(writer, m_Core.CurVulkanPipelineState.VS); break;
|
||||
case 3: ExportHTML(writer, m_Core.CurVulkanPipelineState.TCS); break;
|
||||
case 4: ExportHTML(writer, m_Core.CurVulkanPipelineState.TES); break;
|
||||
case 5: ExportHTML(writer, m_Core.CurVulkanPipelineState.GS); break;
|
||||
case 2: ExportHTML(writer, m_Core.CurVulkanPipelineState.m_VS); break;
|
||||
case 3: ExportHTML(writer, m_Core.CurVulkanPipelineState.m_TCS); break;
|
||||
case 4: ExportHTML(writer, m_Core.CurVulkanPipelineState.m_TES); break;
|
||||
case 5: ExportHTML(writer, m_Core.CurVulkanPipelineState.m_GS); break;
|
||||
case 6: ExportHTML(writer, m_Core.CurVulkanPipelineState.RS); break;
|
||||
case 7: ExportHTML(writer, m_Core.CurVulkanPipelineState.FS); break;
|
||||
case 7: ExportHTML(writer, m_Core.CurVulkanPipelineState.m_FS); break;
|
||||
case 8: ExportHTML(writer, m_Core.CurVulkanPipelineState.CB); break;
|
||||
case 9: ExportHTML(writer, m_Core.CurVulkanPipelineState.DS); break;
|
||||
case 10: ExportHTML(writer, m_Core.CurVulkanPipelineState.Pass); break;
|
||||
case 11: ExportHTML(writer, m_Core.CurVulkanPipelineState.CS); break;
|
||||
case 11: ExportHTML(writer, m_Core.CurVulkanPipelineState.m_CS); break;
|
||||
}
|
||||
|
||||
writer.WriteEndElement();
|
||||
|
||||
Reference in New Issue
Block a user