| 772 | } |
| 773 | |
| 774 | static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint) |
| 775 | { |
| 776 | if (strcmp(name, spv::E_SPV_NV_sample_mask_override_coverage) == 0 || |
| 777 | strcmp(name, spv::E_SPV_NV_geometry_shader_passthrough) == 0 || |
| 778 | strcmp(name, spv::E_ARB_shader_viewport_layer_array) == 0 || |
| 779 | strcmp(name, spv::E_SPV_NV_viewport_array2) == 0 || |
| 780 | strcmp(name, spv::E_SPV_NVX_multiview_per_view_attributes) == 0 || |
| 781 | strcmp(name, spv::E_SPV_NV_fragment_shader_barycentric) == 0 || |
| 782 | strcmp(name, spv::E_SPV_NV_mesh_shader) == 0 || |
| 783 | strcmp(name, spv::E_SPV_NV_shader_image_footprint) == 0) { |
| 784 | switch (entrypoint) { |
| 785 | // NV builtins |
| 786 | case (unsigned)BuiltIn::ViewportMaskNV: return "ViewportMaskNV"; |
| 787 | case (unsigned)BuiltIn::SecondaryPositionNV: return "SecondaryPositionNV"; |
| 788 | case (unsigned)BuiltIn::SecondaryViewportMaskNV: return "SecondaryViewportMaskNV"; |
| 789 | case (unsigned)BuiltIn::PositionPerViewNV: return "PositionPerViewNV"; |
| 790 | case (unsigned)BuiltIn::ViewportMaskPerViewNV: return "ViewportMaskPerViewNV"; |
| 791 | case (unsigned)BuiltIn::BaryCoordNV: return "BaryCoordNV"; |
| 792 | case (unsigned)BuiltIn::BaryCoordNoPerspNV: return "BaryCoordNoPerspNV"; |
| 793 | case (unsigned)BuiltIn::TaskCountNV: return "TaskCountNV"; |
| 794 | case (unsigned)BuiltIn::PrimitiveCountNV: return "PrimitiveCountNV"; |
| 795 | case (unsigned)BuiltIn::PrimitiveIndicesNV: return "PrimitiveIndicesNV"; |
| 796 | case (unsigned)BuiltIn::ClipDistancePerViewNV: return "ClipDistancePerViewNV"; |
| 797 | case (unsigned)BuiltIn::CullDistancePerViewNV: return "CullDistancePerViewNV"; |
| 798 | case (unsigned)BuiltIn::LayerPerViewNV: return "LayerPerViewNV"; |
| 799 | case (unsigned)BuiltIn::MeshViewCountNV: return "MeshViewCountNV"; |
| 800 | case (unsigned)BuiltIn::MeshViewIndicesNV: return "MeshViewIndicesNV"; |
| 801 | |
| 802 | // NV Capabilities |
| 803 | case (unsigned)Capability::GeometryShaderPassthroughNV: return "GeometryShaderPassthroughNV"; |
| 804 | case (unsigned)Capability::ShaderViewportMaskNV: return "ShaderViewportMaskNV"; |
| 805 | case (unsigned)Capability::ShaderStereoViewNV: return "ShaderStereoViewNV"; |
| 806 | case (unsigned)Capability::PerViewAttributesNV: return "PerViewAttributesNV"; |
| 807 | case (unsigned)Capability::FragmentBarycentricNV: return "FragmentBarycentricNV"; |
| 808 | case (unsigned)Capability::MeshShadingNV: return "MeshShadingNV"; |
| 809 | case (unsigned)Capability::ImageFootprintNV: return "ImageFootprintNV"; |
| 810 | case (unsigned)Capability::SampleMaskOverrideCoverageNV:return "SampleMaskOverrideCoverageNV"; |
| 811 | |
| 812 | // NV Decorations |
| 813 | case (unsigned)Decoration::OverrideCoverageNV: return "OverrideCoverageNV"; |
| 814 | case (unsigned)Decoration::PassthroughNV: return "PassthroughNV"; |
| 815 | case (unsigned)Decoration::ViewportRelativeNV: return "ViewportRelativeNV"; |
| 816 | case (unsigned)Decoration::SecondaryViewportRelativeNV: return "SecondaryViewportRelativeNV"; |
| 817 | case (unsigned)Decoration::PerVertexNV: return "PerVertexNV"; |
| 818 | case (unsigned)Decoration::PerPrimitiveNV: return "PerPrimitiveNV"; |
| 819 | case (unsigned)Decoration::PerViewNV: return "PerViewNV"; |
| 820 | case (unsigned)Decoration::PerTaskNV: return "PerTaskNV"; |
| 821 | |
| 822 | default: return "Bad"; |
| 823 | } |
| 824 | } |
| 825 | return "Bad"; |
| 826 | } |
| 827 | |
| 828 | static const char* NonSemanticShaderDebugInfoGetDebugNames(unsigned entrypoint) |
| 829 | { |
no outgoing calls
no test coverage detected