From f4663d2d687e19504a77ac3aa46dbd241585eeb8 Mon Sep 17 00:00:00 2001 From: korenkonder Date: Sat, 26 Apr 2025 12:33:22 +0300 Subject: [PATCH] Fixed DOF shader compilation on OpenGL 4.1 and 4.2 --- src/DivaGL/shader.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/DivaGL/shader.cpp b/src/DivaGL/shader.cpp index 7438fbf..c1d6dda 100644 --- a/src/DivaGL/shader.cpp +++ b/src/DivaGL/shader.cpp @@ -259,10 +259,18 @@ static void parse_define_inner(std::string& temp) { size_t off = 0; while (true) { size_t pos_set = temp.find("set = ", off); - size_t pos_binding = temp.find("binding = ", off); - if (pos_set == -1 || pos_binding == -1) + if (pos_set == -1) break; + size_t pos_binding = temp.find("binding = ", pos_set); + if (pos_binding == -1) + break; + + if (pos_binding - pos_set > 10) { + off = pos_binding + 10; + continue; + } + temp.erase(pos_set, pos_binding - pos_set); off = pos_set + 10; }