From 31c29c31496ae17487535e7181ea278431b1a553 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 24 Jan 2017 12:12:33 +0000 Subject: [PATCH] Give Vulkan shader stage structs in pipeline state consistent names --- qrenderdoc/Code/CommonPipelineState.cpp | 76 ++++++++-------- qrenderdoc/Code/CommonPipelineState.h | 16 ++-- .../VulkanPipelineStateViewer.cpp | 52 +++++------ renderdoc/api/replay/vk_pipestate.h | 2 +- renderdoc/core/replay_proxy.cpp | 12 +-- renderdoc/driver/vulkan/vk_replay.cpp | 6 +- renderdoc/replay/replay_renderer.cpp | 4 +- renderdocui/Code/CommonPipelineState.cs | 90 +++++++++---------- renderdocui/Interop/VulkanPipelineState.cs | 2 +- .../VulkanPipelineStateViewer.cs | 68 +++++++------- 10 files changed, 164 insertions(+), 164 deletions(-) diff --git a/qrenderdoc/Code/CommonPipelineState.cpp b/qrenderdoc/Code/CommonPipelineState.cpp index d306471a7..6d3cc25a9 100644 --- a/qrenderdoc/Code/CommonPipelineState.cpp +++ b/qrenderdoc/Code/CommonPipelineState.cpp @@ -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 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 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; diff --git a/qrenderdoc/Code/CommonPipelineState.h b/qrenderdoc/Code/CommonPipelineState.h index f49f45bcb..c6aa92692 100644 --- a/qrenderdoc/Code/CommonPipelineState.h +++ b/qrenderdoc/Code/CommonPipelineState.h @@ -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; } }; \ No newline at end of file diff --git a/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp index 9b9981a35..1bb9f150f 100644 --- a/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp @@ -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)); } } } diff --git a/renderdoc/api/replay/vk_pipestate.h b/renderdoc/api/replay/vk_pipestate.h index 5fb1cff96..c33fe4b54 100644 --- a/renderdoc/api/replay/vk_pipestate.h +++ b/renderdoc/api/replay/vk_pipestate.h @@ -175,7 +175,7 @@ struct VulkanPipelineState rdctype::array data; }; rdctype::array specialization; - } VS, TCS, TES, GS, FS, CS; + } m_VS, m_TCS, m_TES, m_GS, m_FS, m_CS; struct Tessellation { diff --git a/renderdoc/core/replay_proxy.cpp b/renderdoc/core/replay_proxy.cpp index 2dee34c82..5bfbf71aa 100644 --- a/renderdoc/core/replay_proxy.cpp +++ b/renderdoc/core/replay_proxy.cpp @@ -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); diff --git a/renderdoc/driver/vulkan/vk_replay.cpp b/renderdoc/driver/vulkan/vk_replay.cpp index b350c5b9f..00cb0e0b3 100644 --- a/renderdoc/driver/vulkan/vk_replay.cpp +++ b/renderdoc/driver/vulkan/vk_replay.cpp @@ -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++) diff --git a/renderdoc/replay/replay_renderer.cpp b/renderdoc/replay/replay_renderer.cpp index 5f08a67e3..0cadeb590 100644 --- a/renderdoc/replay/replay_renderer.cpp +++ b/renderdoc/replay/replay_renderer.cpp @@ -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++) diff --git a/renderdocui/Code/CommonPipelineState.cs b/renderdocui/Code/CommonPipelineState.cs index 5d9a20257..a2e4396bd 100644 --- a/renderdocui/Code/CommonPipelineState.cs +++ b/renderdocui/Code/CommonPipelineState.cs @@ -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) diff --git a/renderdocui/Interop/VulkanPipelineState.cs b/renderdocui/Interop/VulkanPipelineState.cs index 2caee73a1..8523f55cd 100644 --- a/renderdocui/Interop/VulkanPipelineState.cs +++ b/renderdocui/Interop/VulkanPipelineState.cs @@ -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 diff --git a/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.cs b/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.cs index e23a13781..c88b04cde 100644 --- a/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.cs +++ b/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.cs @@ -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();