diff --git a/tools/shaderc/shaderc_metal.cpp b/tools/shaderc/shaderc_metal.cpp index 30ac8e884..7540e70b5 100644 --- a/tools/shaderc/shaderc_metal.cpp +++ b/tools/shaderc/shaderc_metal.cpp @@ -730,6 +730,15 @@ namespace bgfx { namespace metal if (!str.isEmpty() ) { + // If the line declares a uniform, merge all next + // lines until we encounter a semicolon. + bx::StringView lineEnd = strFind(strLine, ";"); + while (lineEnd.isEmpty() && !reader.isDone()) { + bx::StringView nextLine = reader.next(); + strLine.set(strLine.getPtr(), nextLine.getTerm()); + lineEnd = strFind(nextLine, ";"); + } + bool found = false; for (uint32_t ii = 0; ii < BX_COUNTOF(s_samplerTypes); ++ii)