Fix uniform stripping procedure for unexpected newlines in Metal shaderc. (#2223)

This commit is contained in:
Martijn Courteaux 2020-08-17 06:08:01 +02:00 committed by GitHub
parent ba3be9affd
commit 1ca9f894d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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)