From 639ec18a5003d5790c80d9c288569fab0b3e7ebc Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Sun, 25 Jan 2026 11:27:51 +0800 Subject: [PATCH] [Fix]: fix compilation on Windows --- MobileGL/Includes.h | 8 ++++++++ .../MG_Util/Converters/GLToMG/TextureEnumConverter.cpp | 1 - .../MG_Util/Converters/GLToStr/GLEnumConverter.cpp | 1 - .../SpirvPasses/FloatEqualsZeroEliminationPass.cpp | 10 +++++----- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/MobileGL/Includes.h b/MobileGL/Includes.h index 42a79893..621e7d83 100644 --- a/MobileGL/Includes.h +++ b/MobileGL/Includes.h @@ -53,12 +53,20 @@ #include // Include OpenGL and EGL headers +#ifdef GLAPI +#undef GLAPI +#endif #include #define GL_GLEXT_PROTOTYPES +#include "GL/gl.h" #include #undef GL_GLEXT_PROTOTYPES + #include + +#define GL_GLES_PROTOTYPES 0 #include +#undef GL_GLES_PROTOTYPES // Include glslang headers #include diff --git a/MobileGL/MG_Util/Converters/GLToMG/TextureEnumConverter.cpp b/MobileGL/MG_Util/Converters/GLToMG/TextureEnumConverter.cpp index 0b574cd1..3a899ccf 100644 --- a/MobileGL/MG_Util/Converters/GLToMG/TextureEnumConverter.cpp +++ b/MobileGL/MG_Util/Converters/GLToMG/TextureEnumConverter.cpp @@ -7,7 +7,6 @@ // End of Source File Header #include "TextureEnumConverter.h" -#include "GL/glext.h" #include "MG_Util/Converters/GLToStr/GLEnumConverter.h" namespace MobileGL { diff --git a/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp b/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp index 33622eda..9b1da759 100644 --- a/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp +++ b/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp @@ -7,7 +7,6 @@ // End of Source File Header #include "GLEnumConverter.h" -#include namespace MobileGL { namespace MG_Util { diff --git a/MobileGL/MG_Util/ShaderTranspiler/SpirvPasses/FloatEqualsZeroEliminationPass.cpp b/MobileGL/MG_Util/ShaderTranspiler/SpirvPasses/FloatEqualsZeroEliminationPass.cpp index d0f79cdc..fb05d3fd 100644 --- a/MobileGL/MG_Util/ShaderTranspiler/SpirvPasses/FloatEqualsZeroEliminationPass.cpp +++ b/MobileGL/MG_Util/ShaderTranspiler/SpirvPasses/FloatEqualsZeroEliminationPass.cpp @@ -107,9 +107,9 @@ namespace MobileGL { ); std::vector abs_operands; - abs_operands.push_back({spv_operand_type_t::SPV_OPERAND_TYPE_ID, {glsl_std_450_id}}); - abs_operands.push_back({spv_operand_type_t::SPV_OPERAND_TYPE_LITERAL_INTEGER, {4}}); // 4 is FAbs - abs_operands.push_back({spv_operand_type_t::SPV_OPERAND_TYPE_ID, {var_id}}); + abs_operands.push_back({SPV_OPERAND_TYPE_ID, {glsl_std_450_id}}); + abs_operands.push_back({SPV_OPERAND_TYPE_LITERAL_INTEGER, {4}}); // 4 is FAbs + abs_operands.push_back({SPV_OPERAND_TYPE_ID, {var_id}}); // In GLSL.std.450, `FAbs`'s OpCode == 4 // Ref: https://registry.khronos.org/SPIR-V/specs/1.0/GLSL.std.450.html @@ -124,8 +124,8 @@ namespace MobileGL { // 4. build Abs(x) < Epsilon // OpFOrdLessThan %bool_type %abs_val %eps std::vector less_operands; - less_operands.push_back({spv_operand_type_t::SPV_OPERAND_TYPE_ID, {abs_inst->result_id()}}); - less_operands.push_back({spv_operand_type_t::SPV_OPERAND_TYPE_ID, {eps_id}}); + less_operands.push_back({SPV_OPERAND_TYPE_ID, {abs_inst->result_id()}}); + less_operands.push_back({SPV_OPERAND_TYPE_ID, {eps_id}}); bool isEqualOp = (inst.opcode() == spv::Op::OpFOrdEqual || inst.opcode() == spv::Op::OpFUnordEqual); Instruction* less_than_inst = builder.AddInstruction(MakeUnique(