diff --git a/native/cocos/renderer/gfx-base/SPIRVUtils.cpp b/native/cocos/renderer/gfx-base/SPIRVUtils.cpp
index f47730a28fb..fbb32eda5b1 100644
--- a/native/cocos/renderer/gfx-base/SPIRVUtils.cpp
+++ b/native/cocos/renderer/gfx-base/SPIRVUtils.cpp
@@ -31,6 +31,11 @@
 #include "glslang/StandAlone/ResourceLimits.h"
 #include "spirv/spirv.h"
 
+#define CC_GLSLANG_VERSION_GREATOR_OR_EQUAL_TO(major, minor, patch) \
+    (((major) < GLSLANG_VERSION_MAJOR) || ((major) == GLSLANG_VERSION_MAJOR && \
+    (((minor) < GLSLANG_VERSION_MINOR) || ((minor) == GLSLANG_VERSION_MINOR && \
+     ((patch) <= GLSLANG_VERSION_PATCH)))))
+
 namespace cc {
 namespace gfx {
 
@@ -57,10 +62,7 @@ glslang::EShTargetClientVersion getClientVersion(int vulkanMinorVersion) {
         case 0: return glslang::EShTargetVulkan_1_0;
         case 1: return glslang::EShTargetVulkan_1_1;
         case 2: return glslang::EShTargetVulkan_1_2;
-#if GLSLANG_VERSION_LESS_OR_EQUAL_TO(11, 10, 0)
-            // This macro is defined in glslang/build_info.h. This expression means that the
-            // lib version is greater than or equal to 11.10.0 (not less than or equal to),
-            // which is very counterintuitive. But it's the only way to do it.
+#if CC_GLSLANG_VERSION_GREATOR_OR_EQUAL_TO(11, 10, 0)
         case 3: return glslang::EShTargetVulkan_1_3;
 #else
         case 3: return glslang::EShTargetVulkan_1_2;
@@ -77,10 +79,7 @@ glslang::EShTargetLanguageVersion getTargetVersion(int vulkanMinorVersion) {
         case 0: return glslang::EShTargetSpv_1_0;
         case 1: return glslang::EShTargetSpv_1_3;
         case 2: return glslang::EShTargetSpv_1_5;
-#if GLSLANG_VERSION_LESS_OR_EQUAL_TO(11, 10, 0)
-            // This macro is defined in glslang/build_info.h. This expression means that the
-            // lib version is greater than or equal to 11.10.0 (not less than or equal to),
-            // which is very counterintuitive. But it's the only way to do it.
+#if CC_GLSLANG_VERSION_GREATOR_OR_EQUAL_TO(11, 10, 0)
         case 3: return glslang::EShTargetSpv_1_6;
 #else
         case 3: return glslang::EShTargetSpv_1_5;