Kaynağa Gözat

Run preprocessor before determining input/output.

Dario Manesku 9 yıl önce
ebeveyn
işleme
4ba8725692
1 değiştirilmiş dosya ile 14 ekleme ve 15 silme
  1. 14 15
      tools/shaderc/shaderc.cpp

+ 14 - 15
tools/shaderc/shaderc.cpp

@@ -1058,6 +1058,20 @@ namespace bgfx
 				memset(&data[size+1], 0, padding);
 				fclose(file);
 
+				if (!raw)
+				{
+					// To avoid commented code being recognized as used feature,
+					// first preprocess pass is used to strip all comments before
+					// substituting code.
+					preprocessor.run(data);
+					delete [] data;
+
+					size = (uint32_t)preprocessor.m_preprocessed.size();
+					data = new char[size+padding+1];
+					memcpy(data, preprocessor.m_preprocessed.c_str(), size);
+					memset(&data[size], 0, padding+1);
+				}
+
 				strNormalizeEol(data);
 
 				input = const_cast<char*>(bx::strws(data) );
@@ -1090,21 +1104,6 @@ namespace bgfx
 
 					input = const_cast<char*>(bx::strws(input) );
 				}
-
-				if (!raw)
-				{
-					// To avoid commented code being recognized as used feature,
-					// first preprocess pass is used to strip all comments before
-					// substituting code.
-					preprocessor.run(input);
-					delete [] data;
-
-					size = (uint32_t)preprocessor.m_preprocessed.size();
-					data = new char[size+padding+1];
-					memcpy(data, preprocessor.m_preprocessed.c_str(), size);
-					memset(&data[size], 0, padding+1);
-					input = data;
-				}
 			}
 
 			if (raw)