Files
MobileGL/MobileGL/MG_Util/Converters/GLToMG/ProgramEnumConverter.cpp
T
HH45137 3823fe528c [Feat, Test]: Add NV mesh shader support
Advertise GL_NV_mesh_shader in the DirectVulkan backend and expose the new task/mesh shader stages in the GL-to-MG and glslang conversion layers. This also wires the mesh task drawing entry points and adds a focused MeshShader test covering extension discovery and task shader compilation.
2026-10-12 00:20:53 +08:00

36 lines
1.3 KiB
C++

// MobileGL - MobileGL/MG_Util/Converters/GLToMG/ProgramEnumConverter.cpp
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt
// https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#include "ProgramEnumConverter.h"
namespace MobileGL {
namespace MG_Util {
ShaderStage ConvertGLEnumToShaderStage(GLenum type) {
switch (type) {
case GL_VERTEX_SHADER:
return ShaderStage::Vertex;
case GL_TESS_CONTROL_SHADER:
return ShaderStage::TessControl;
case GL_TESS_EVALUATION_SHADER:
return ShaderStage::TessEval;
case GL_GEOMETRY_SHADER:
return ShaderStage::Geometry;
case GL_FRAGMENT_SHADER:
return ShaderStage::Fragment;
case GL_TASK_SHADER_NV:
return ShaderStage::Task;
case GL_MESH_SHADER_NV:
return ShaderStage::Mesh;
case GL_COMPUTE_SHADER:
return ShaderStage::Compute;
default:
return ShaderStage::Unknown;
}
}
} // namespace MG_Util
} // namespace MobileGL