Don't crash if no mesh shader reflection is avialable on a mesh draw

* This is possible after a device lost event.
This commit is contained in:
baldurk
2023-12-04 19:11:47 +00:00
parent 9fe2ec5c2d
commit 6aa0263ace
2 changed files with 8 additions and 2 deletions
@@ -1695,7 +1695,10 @@ void D3D12PipelineStateViewer::setState()
setShaderState(state.rootElements, state.meshShader, ui->msShader, ui->msRootSig,
ui->msResources, ui->msSamplers, ui->msCBuffers, ui->msUAVs);
ui->msTopology->setText(ToQStr(state.meshShader.reflection->outputTopology));
if(state.meshShader.reflection)
ui->msTopology->setText(ToQStr(state.meshShader.reflection->outputTopology));
else
ui->msTopology->setText(QString());
}
else
{
@@ -2300,7 +2300,10 @@ void VulkanPipelineStateViewer::setState()
setShaderState(state.taskShader, state.graphics, ui->tsShader, ui->tsResources, ui->tsUBOs);
setShaderState(state.meshShader, state.graphics, ui->msShader, ui->msResources, ui->msUBOs);
ui->msTopology->setText(ToQStr(state.meshShader.reflection->outputTopology));
if(state.meshShader.reflection)
ui->msTopology->setText(ToQStr(state.meshShader.reflection->outputTopology));
else
ui->msTopology->setText(QString());
}
else
{