소스 검색

Fixed shaderc crash when $in/output lines have comments.

bkaradzic 12 년 전
부모
커밋
507af8c9f1
33개의 변경된 파일6개의 추가작업 그리고 2개의 파일을 삭제
  1. 1 1
      examples/06-bump/fs_bump.sc
  2. BIN
      examples/runtime/shaders/dx11/fs_bump.bin
  3. BIN
      examples/runtime/shaders/dx11/fs_hdr_bright.bin
  4. BIN
      examples/runtime/shaders/dx11/fs_hdr_lum.bin
  5. BIN
      examples/runtime/shaders/dx11/fs_hdr_lumavg.bin
  6. BIN
      examples/runtime/shaders/dx11/fs_hdr_mesh.bin
  7. BIN
      examples/runtime/shaders/dx11/fs_hdr_skybox.bin
  8. BIN
      examples/runtime/shaders/dx11/fs_hdr_tonemap.bin
  9. BIN
      examples/runtime/shaders/dx11/fs_mesh.bin
  10. BIN
      examples/runtime/shaders/dx11/fs_raymarching.bin
  11. BIN
      examples/runtime/shaders/dx11/vs_bump.bin
  12. BIN
      examples/runtime/shaders/dx11/vs_callback.bin
  13. BIN
      examples/runtime/shaders/dx11/vs_cubes.bin
  14. BIN
      examples/runtime/shaders/dx11/vs_hdr_blur.bin
  15. BIN
      examples/runtime/shaders/dx11/vs_hdr_bright.bin
  16. BIN
      examples/runtime/shaders/dx11/vs_hdr_lum.bin
  17. BIN
      examples/runtime/shaders/dx11/vs_hdr_lumavg.bin
  18. BIN
      examples/runtime/shaders/dx11/vs_hdr_mesh.bin
  19. BIN
      examples/runtime/shaders/dx11/vs_hdr_skybox.bin
  20. BIN
      examples/runtime/shaders/dx11/vs_hdr_tonemap.bin
  21. BIN
      examples/runtime/shaders/dx11/vs_instancing.bin
  22. BIN
      examples/runtime/shaders/dx11/vs_mesh.bin
  23. BIN
      examples/runtime/shaders/dx11/vs_metaballs.bin
  24. BIN
      examples/runtime/shaders/dx11/vs_raymarching.bin
  25. BIN
      examples/runtime/shaders/dx11/vs_update.bin
  26. BIN
      examples/runtime/shaders/dx9/vs_callback.bin
  27. BIN
      examples/runtime/shaders/dx9/vs_metaballs.bin
  28. BIN
      examples/runtime/shaders/gles/vs_callback.bin
  29. BIN
      examples/runtime/shaders/gles/vs_metaballs.bin
  30. BIN
      examples/runtime/shaders/glsl/vs_callback.bin
  31. BIN
      examples/runtime/shaders/glsl/vs_metaballs.bin
  32. BIN
      tools/bin/shaderc.exe
  33. 5 1
      tools/shaderc/shaderc.cpp

+ 1 - 1
examples/06-bump/fs_bump.sc

@@ -1,4 +1,4 @@
-$input v_wpos, v_view, v_normal, v_tangent, v_bitangent, v_texcoord0
+$input v_wpos, v_view, v_normal, v_tangent, v_bitangent, v_texcoord0 // in...
 
 /*
  * Copyright 2011-2013 Branimir Karadzic. All rights reserved.

BIN
examples/runtime/shaders/dx11/fs_bump.bin


BIN
examples/runtime/shaders/dx11/fs_hdr_bright.bin


BIN
examples/runtime/shaders/dx11/fs_hdr_lum.bin


BIN
examples/runtime/shaders/dx11/fs_hdr_lumavg.bin


BIN
examples/runtime/shaders/dx11/fs_hdr_mesh.bin


BIN
examples/runtime/shaders/dx11/fs_hdr_skybox.bin


BIN
examples/runtime/shaders/dx11/fs_hdr_tonemap.bin


BIN
examples/runtime/shaders/dx11/fs_mesh.bin


BIN
examples/runtime/shaders/dx11/fs_raymarching.bin


BIN
examples/runtime/shaders/dx11/vs_bump.bin


BIN
examples/runtime/shaders/dx11/vs_callback.bin


BIN
examples/runtime/shaders/dx11/vs_cubes.bin


BIN
examples/runtime/shaders/dx11/vs_hdr_blur.bin


BIN
examples/runtime/shaders/dx11/vs_hdr_bright.bin


BIN
examples/runtime/shaders/dx11/vs_hdr_lum.bin


BIN
examples/runtime/shaders/dx11/vs_hdr_lumavg.bin


BIN
examples/runtime/shaders/dx11/vs_hdr_mesh.bin


BIN
examples/runtime/shaders/dx11/vs_hdr_skybox.bin


BIN
examples/runtime/shaders/dx11/vs_hdr_tonemap.bin


BIN
examples/runtime/shaders/dx11/vs_instancing.bin


BIN
examples/runtime/shaders/dx11/vs_mesh.bin


BIN
examples/runtime/shaders/dx11/vs_metaballs.bin


BIN
examples/runtime/shaders/dx11/vs_raymarching.bin


BIN
examples/runtime/shaders/dx11/vs_update.bin


BIN
examples/runtime/shaders/dx9/vs_callback.bin


BIN
examples/runtime/shaders/dx9/vs_metaballs.bin


BIN
examples/runtime/shaders/gles/vs_callback.bin


BIN
examples/runtime/shaders/gles/vs_metaballs.bin


BIN
examples/runtime/shaders/glsl/vs_callback.bin


BIN
examples/runtime/shaders/glsl/vs_metaballs.bin


BIN
tools/bin/shaderc.exe


+ 5 - 1
tools/shaderc/shaderc.cpp

@@ -1213,7 +1213,7 @@ uint32_t parseInOut(InOut& _inout, const char* _str, const char* _eol)
 				_str = bx::strws(delim + 1);
 			}
 		}
-		while (delim < _eol && NULL != delim);
+		while (delim < _eol && _str < _eol && NULL != delim);
 
 		std::sort(_inout.begin(), _inout.end() );
 
@@ -1533,11 +1533,15 @@ int main(int _argc, const char* _argv[])
 				if (0 == strncmp(str, "input", 5) )
 				{
 					str += 5;
+					const char* comment = strstr(str, "//");
+					eol = NULL != comment && comment < eol ? comment : eol;
 					inputHash = parseInOut(shaderInputs, str, eol);
 				}
 				else if (0 == strncmp(str, "output", 6) )
 				{
 					str += 6;
+					const char* comment = strstr(str, "//");
+					eol = NULL != comment && comment < eol ? comment : eol;
 					outputHash = parseInOut(shaderOutputs, str, eol);
 				}
 			}