[Fix] (MG_State/ProgramState): Handle version directive in shader source.

This commit is contained in:
BZLZHH
2025-11-01 10:07:36 +08:00
parent 9b0589840b
commit 8da681c720
4 changed files with 66 additions and 0 deletions
@@ -1,6 +1,8 @@
#include "ShaderObject.h"
#include <MG_Util/ShaderTranspiler/Types.h>
#include <MG_Util/ShaderTranspiler/ShaderCompiler.h>
#include <MG_Util/Converters/MGToGL/ProgramEnumConverter.h>
#include <MG_Util/ShaderTranspiler/ShaderSourceProcessor.h>
#include <MG_Util/ShaderTranspiler/glslang/UniformTraverser.h>
namespace MobileGL {
@@ -16,6 +18,7 @@ namespace MobileGL {
void ShaderObject::Compile() {
using namespace MG_Util::ShaderTranspiler;
MG_Util::ShaderTranspiler::PreprocessShaderSource(m_stage, m_source);
// Compile for OpenGL here, so that we can do validation and link
// like a real OpenGL driver at linking stage