From b225af0ef95b886abf20a4c450b5a0b3ba351730 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Thu, 29 Jan 2026 18:04:34 +0000 Subject: Fix search/replace of GL_* macros in glsl --- gfx/gl/shader.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gfx/gl') diff --git a/gfx/gl/shader.cpp b/gfx/gl/shader.cpp index cc6473e..319726f 100644 --- a/gfx/gl/shader.cpp +++ b/gfx/gl/shader.cpp @@ -64,7 +64,7 @@ Shader::compile() const }; if (lookups) { std::basic_string textMod {text}; - for (const auto & match : ctre::search_all(textMod)) { + while (const auto match = ctre::search(textMod)) { if (const auto * const lookup = std::find_if(LOOKUPS.begin(), LOOKUPS.end(), [&match](const auto & lookup) { return std::get(lookup) == match; @@ -73,6 +73,9 @@ Shader::compile() const const auto & [name, pname, getFunction] = *lookup; textMod.replace(match.begin(), match.end(), getFunction(pname)); } + else { + throw std::domain_error(std::format("Unknown shader constant: {}", match.view())); + } } source(textMod.c_str(), static_cast(textMod.length())); } -- cgit v1.2.3