auto vs = std::istringstream(*parseInfo.vertexShaderCode);
auto fs = std::istringstream(*parseInfo.fragmentShaderCode);
+ DALI_LOG_DEBUG_INFO("Preprocessing shader. language version : %u\n", static_cast<uint32_t>(parseInfo.language));
+ DALI_LOG_DEBUG_INFO(" vsh size : %zu, legacy version : %u\n", parseInfo.vertexShaderCode->size(), parseInfo.vertexShaderLegacyVersion);
+ DALI_LOG_DEBUG_INFO(" fsh size : %zu, legacy version : %u\n", parseInfo.fragmentShaderCode->size(), parseInfo.fragmentShaderLegacyVersion);
+
output.resize(2);
// Create program
if(parseInfo.vertexShaderLegacyVersion && parseInfo.fragmentShaderLegacyVersion)
{
// Not touching any shaders, return current code as output
+ DALI_LOG_DEBUG_INFO("Skip preprocessing. Use same shader as input\n");
return;
}
else if(!parseInfo.vertexShaderLegacyVersion && !parseInfo.fragmentShaderLegacyVersion)
line << c;
}
}
- DALI_LOG_ERROR("%4d > %s\n", ++lineNumber, line.str().c_str());
+ DALI_LOG_ERROR("%4d > %s[%d / %d]\n", ++lineNumber, line.str().c_str(), i, static_cast<int>(size));
+
+ if(i < size)
+ {
+ while(i < size)
+ {
+ const char c = static_cast<const char>(src[i++]);
+ if(c == '\n')
+ {
+ DALI_LOG_ERROR("(extra) %4d > %s\n", ++lineNumber, line.str().c_str());
+ line = std::ostringstream();
+ }
+ else
+ {
+ line << c;
+ }
+ }
+ }
+ DALI_LOG_ERROR("(extra) %4d > %s\n", ++lineNumber, line.str().c_str());
+ line = std::ostringstream();
}
//DALI_LOG_ERROR("Code: %.*s\n", size, reinterpret_cast<const char*>(src));
DALI_LOG_ERROR("glCompileShader() failed: \n%s\n", output);