| 790 | } |
| 791 | |
| 792 | void ShaderMessageViewer::refreshMessages() |
| 793 | { |
| 794 | ShaderStageMask mask = ShaderStageMask::Compute; |
| 795 | |
| 796 | if(!m_Action || !(m_Action->flags & ActionFlags::Dispatch)) |
| 797 | { |
| 798 | mask = ShaderStageMask::Unknown; |
| 799 | |
| 800 | if(ui->task->isChecked()) |
| 801 | mask |= ShaderStageMask::Task; |
| 802 | if(ui->mesh->isChecked()) |
| 803 | mask |= ShaderStageMask::Mesh; |
| 804 | if(ui->vertex->isChecked()) |
| 805 | mask |= ShaderStageMask::Vertex; |
| 806 | if(ui->hull->isChecked()) |
| 807 | mask |= ShaderStageMask::Hull; |
| 808 | if(ui->domain->isChecked()) |
| 809 | mask |= ShaderStageMask::Domain; |
| 810 | if(ui->geometry->isChecked()) |
| 811 | mask |= ShaderStageMask::Geometry; |
| 812 | if(ui->pixel->isChecked()) |
| 813 | mask |= ShaderStageMask::Pixel; |
| 814 | } |
| 815 | |
| 816 | int vs = ui->messages->verticalScrollBar()->value(); |
| 817 | int curMsg = -1; |
| 818 | { |
| 819 | RDTreeWidgetItem *item = ui->messages->currentItem(); |
| 820 | if(item) |
| 821 | curMsg = item->tag().toInt(); |
| 822 | } |
| 823 | RDTreeWidgetItem *newCurrentItem = NULL; |
| 824 | ui->messages->beginUpdate(); |
| 825 | ui->messages->clear(); |
| 826 | |
| 827 | QString filter = ui->filter->text().trimmed(); |
| 828 | |
| 829 | const ShaderReflection *vsrefl = m_Ctx.CurPipelineState().GetShaderReflection(ShaderStage::Vertex); |
| 830 | const ShaderReflection *psrefl = m_Ctx.CurPipelineState().GetShaderReflection(ShaderStage::Pixel); |
| 831 | const ShaderReflection *csrefl = m_Ctx.CurPipelineState().GetShaderReflection(ShaderStage::Compute); |
| 832 | const ShaderReflection *tsrefl = m_Ctx.CurPipelineState().GetShaderReflection(ShaderStage::Task); |
| 833 | const ShaderReflection *msrefl = m_Ctx.CurPipelineState().GetShaderReflection(ShaderStage::Mesh); |
| 834 | |
| 835 | for(int i = 0; i < m_Messages.count(); i++) |
| 836 | { |
| 837 | const ShaderMessage &msg = m_Messages[i]; |
| 838 | |
| 839 | // filter by stages |
| 840 | if(!(MaskForStage(msg.stage) & mask)) |
| 841 | continue; |
| 842 | |
| 843 | QString text(msg.message); |
| 844 | |
| 845 | const ShaderReflection *refl = NULL; |
| 846 | |
| 847 | QString location; |
| 848 | if(msg.stage == ShaderStage::Vertex) |
| 849 | { |
nothing calls this directly
no test coverage detected