| 4839 | } |
| 4840 | |
| 4841 | void BufferViewer::UI_ConfigureMeshPipeFormats() |
| 4842 | { |
| 4843 | const PipeState &pipe = m_Ctx.CurPipelineState(); |
| 4844 | |
| 4845 | const ActionDescription *action = m_Ctx.CurAction(); |
| 4846 | |
| 4847 | m_InPosition = MeshFormat(); |
| 4848 | m_InSecondary = MeshFormat(); |
| 4849 | |
| 4850 | // out1 is task shaders, which do not have displayable data |
| 4851 | m_Out1Position = MeshFormat(); |
| 4852 | m_Out1Secondary = MeshFormat(); |
| 4853 | |
| 4854 | const BufferConfiguration &out2Config = m_ModelOut2->getConfig(); |
| 4855 | |
| 4856 | m_Out2Position = MeshFormat(); |
| 4857 | m_Out2Secondary = MeshFormat(); |
| 4858 | m_Out2Position.allowRestart = false; |
| 4859 | |
| 4860 | if(!out2Config.columns.empty()) |
| 4861 | { |
| 4862 | int elIdx = m_ModelOut2->posColumn(); |
| 4863 | if(elIdx < 0 || elIdx >= out2Config.columns.count()) |
| 4864 | elIdx = 0; |
| 4865 | |
| 4866 | const ShaderConstant &el = out2Config.columns[elIdx]; |
| 4867 | const BufferElementProperties &prop = out2Config.props[elIdx]; |
| 4868 | |
| 4869 | m_Out2Position = m_Out2Data; |
| 4870 | m_Out2Position.vertexByteOffset += el.byteOffset; |
| 4871 | m_Out2Position.unproject = prop.systemValue == ShaderBuiltin::Position; |
| 4872 | |
| 4873 | elIdx = m_ModelOut2->secondaryColumn(); |
| 4874 | |
| 4875 | if(elIdx >= 0 && elIdx < out2Config.columns.count()) |
| 4876 | { |
| 4877 | m_Out2Secondary = m_Out2Data; |
| 4878 | m_Out2Secondary.vertexByteOffset += out2Config.columns[elIdx].byteOffset; |
| 4879 | m_Out2Secondary.showAlpha = m_ModelOut2->secondaryAlpha(); |
| 4880 | } |
| 4881 | } |
| 4882 | } |
| 4883 | |
| 4884 | void BufferViewer::configureDrawRange() |
| 4885 | { |
nothing calls this directly
no test coverage detected