Add helper for selecting sample mask, which varies in location by API

This commit is contained in:
baldurk
2020-12-18 14:05:54 +00:00
parent 674d11fdda
commit fd1b051d2c
5 changed files with 23 additions and 4 deletions
+7
View File
@@ -310,6 +310,10 @@ DOCUMENT(R"(Specifies a pipeline stage for the :class:`PipelineStateViewer`.
.. data:: ComputeShader
The compute shader.
.. data:: SampleMask
The sample mask.
)");
enum class PipelineStage : int
{
@@ -330,6 +334,9 @@ enum class PipelineStage : int
DepthTest = ColorDepthOutput,
StencilTest = ColorDepthOutput,
ComputeShader,
// these vary by API
SampleMask,
};
DOCUMENT("The pipeline state viewer window.");
@@ -469,7 +469,10 @@ void D3D11PipelineStateViewer::OnEventChanged(uint32_t eventId)
void D3D11PipelineStateViewer::SelectPipelineStage(PipelineStage stage)
{
ui->pipeFlow->setSelectedStage((int)stage);
if(stage == PipelineStage::SampleMask)
ui->pipeFlow->setSelectedStage((int)PipelineStage::ColorDepthOutput);
else
ui->pipeFlow->setSelectedStage((int)stage);
}
void D3D11PipelineStateViewer::on_showUnused_toggled(bool checked)
@@ -503,7 +503,10 @@ void D3D12PipelineStateViewer::OnEventChanged(uint32_t eventId)
void D3D12PipelineStateViewer::SelectPipelineStage(PipelineStage stage)
{
ui->pipeFlow->setSelectedStage((int)stage);
if(stage == PipelineStage::SampleMask)
ui->pipeFlow->setSelectedStage((int)PipelineStage::ColorDepthOutput);
else
ui->pipeFlow->setSelectedStage((int)stage);
}
void D3D12PipelineStateViewer::on_showUnused_toggled(bool checked)
@@ -452,7 +452,10 @@ void GLPipelineStateViewer::OnEventChanged(uint32_t eventId)
void GLPipelineStateViewer::SelectPipelineStage(PipelineStage stage)
{
ui->pipeFlow->setSelectedStage((int)stage);
if(stage == PipelineStage::SampleMask)
ui->pipeFlow->setSelectedStage((int)PipelineStage::Rasterizer);
else
ui->pipeFlow->setSelectedStage((int)stage);
}
void GLPipelineStateViewer::on_showUnused_toggled(bool checked)
@@ -465,7 +465,10 @@ void VulkanPipelineStateViewer::OnEventChanged(uint32_t eventId)
void VulkanPipelineStateViewer::SelectPipelineStage(PipelineStage stage)
{
ui->pipeFlow->setSelectedStage((int)stage);
if(stage == PipelineStage::SampleMask)
ui->pipeFlow->setSelectedStage((int)PipelineStage::Rasterizer);
else
ui->pipeFlow->setSelectedStage((int)stage);
}
void VulkanPipelineStateViewer::on_showUnused_toggled(bool checked)