Граф коммитов

478 Коммитов

Автор SHA1 Сообщение Дата
John Kessenich 0af1e7c608 Allow selection of the "Platform Toolset", so that XP binaries can be built.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25952 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-17 23:56:45 +00:00
John Kessenich 71e01cbab9 Make switch statements have their own nested scope (bug 11904).
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25949 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-17 22:48:25 +00:00
John Kessenich c63759ef01 Additional test results for previous check in.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25913 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-16 23:18:34 +00:00
John Kessenich 75694fdacd Implement implicit conversions of function-call arguments (both in and out) as explicit conversions in the AST, through handleArgumentConversions().
Also
 - uniformly handle EvqConstReadOnly as an input argument in a function, with 
   isParamInput() and isParamOutput() queries in TQualifier.
 - provide a makeTemporary() in TQualifier, for erasing original qualification when making a temp
 - provide a makeInternalVariable() call to make a shader variable not seen in the shader source


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25912 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-16 23:03:07 +00:00
John Kessenich e5d92eb194 remove bison-generated header from library dependencies
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25897 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-14 17:47:46 +00:00
John Kessenich d0848e0ef1 Add new Linux set up script.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25896 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-14 17:32:51 +00:00
John Kessenich 71241d8221 Allow choice of DLL or static CRT libraries through CMake options.
Also, some trivial miscellaneous build-related changes.


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25811 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-12 02:34:44 +00:00
John Kessenich 3ce1058dbe update Linux build for latest CMake changes from Windows
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25793 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-11 06:35:42 +00:00
John Kessenich d18e2d8adc Add CMake support for Visual Studio and installation, with an expected "install" for CMAKE_INSTALL_PREFIX, and updated test scripts to consume the CMake installation.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25791 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-11 02:10:26 +00:00
John Kessenich 6b57784690 Use more modern bison %parse-param and %lex-param rather than #defined YYPARSE_PARAM and YYLEX_PARAM. This should make it build across a broader range of modern versions of bison, as well as avoid void* and type casting.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25746 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-08 00:17:27 +00:00
John Kessenich 8922ce7353 Fix bug 11736: Minor glslang compilation fixes: Correct "currentChar" logic for recently switched to unsigned size_t locations, and protect more pool guard code with #ifdef.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25512 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-02-24 21:36:08 +00:00
John Kessenich b35e9bfa21 Track things like "(3)" and "+3" as expressions, not literals.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25511 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-02-24 21:16:19 +00:00
John Kessenich 35f04bde8a Make 64-bit VS compile clean. Mostly size_t vs. int tweaks.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25411 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-02-19 02:47:20 +00:00
John Kessenich 8922da24a4 Check in a much improved submitted set of makefiles for Linux builds. This eliminates dependencies on system headers, and generally simplifies the makefiles.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25408 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-02-19 01:00:58 +00:00
John Kessenich 2023368ce1 Correct newlines and executable bit for BuildLinuxCMake.sh
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25404 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-02-19 00:27:03 +00:00
John Kessenich 0547c2a6bb Add submitted CMake files for Linux builds. All existing ways of building remain in tact.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25403 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-02-19 00:18:25 +00:00
John Kessenich 6494baf371 Check-in a couple submitted char* string portability bug fixes: correct sizing of buffers and stop overwriting preprocessor token names with themselves.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25402 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-02-19 00:08:59 +00:00
John Kessenich 51cdd90fa8 Fix the few non-portable uses of "char" (where a -1 might be relevant): All uses of char are now either "int", "unsigned char" or char arrays for storing strings. Also, went to consistent "char* foo" coding convention. (There were only a few ambiguous uses.)
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25400 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-02-18 23:37:57 +00:00
John Kessenich 52c351442c Update rules for "GL_", "gl_", and "__" to match latest specification bug fixes.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25392 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-02-18 21:55:42 +00:00
John Kessenich 3bef952d48 update linux binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25352 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-02-13 19:15:53 +00:00
John Kessenich 56876dcfe7 Fix missing semantic check: Disallow layout qualifiers when augmenting an already declared variable with a qualifier.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25351 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-02-13 19:14:33 +00:00
John Kessenich 782aa830b6 Correct which versions can support the extensions GL_ARB_separate_shader_objects and GL_ARB_shading_language_420pack. They'd only gone back to 150, rather than 130/140.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25314 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-02-12 05:15:49 +00:00
John Kessenich 4094630ca3 GL_ARB_enhanced_layouts, final. #extension tests, built-in constants, and bug fix for non-constant expression in layout(...=expr).
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25220 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-02-03 16:28:23 +00:00
John Kessenich 39974acf93 ESSL 1.0: Add GL_FRAGMENT_PRECISION_HIGH to ESSL 1.0. It was in desktop, and properly not in ES 3.0, but missing in ES 1.0.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25175 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-31 02:42:25 +00:00
John Kessenich ac1e188f3b GL_ARB_enhanced_layouts, part 6: Numerical side of uniform offset and align semantics. Included
- moving offset calculations for std140/std430 from reflection to linkValidate.cpp
 - applying the offset/align rules on top of std140/std430
 - removing caching the structure's number of components (and correcting that this is components, not size)


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25174 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-31 02:40:19 +00:00
John Kessenich 04b1c6ed4c GL_ARB_enhanced_layouts, part 5: uniform offset and align semantics. Numerical computations not yet done.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25092 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-28 21:13:59 +00:00
John Kessenich 255df5760a Fix build errors:
- VS2013: #include <algorithm> in Common.h for std::max
- VS2010 32-bit: explicitly cast size_t to unsigned int to avoid compile error with TInfoSink::operator<< (size_t and unsigned int ambiguous)

JohnK approved check-in by E-mail.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25043 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-27 20:02:12 +00:00
John Kessenich e5fbec8a17 Support GL_ARB_texture_cube_map_array extension for desktop.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25025 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-26 22:22:54 +00:00
John Kessenich 4e9d8c3171 x86 (32-bit) fix for last g++ fix.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25018 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-26 07:56:43 +00:00
John Kessenich 772139cd4b fix g++ complaint
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25015 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-26 01:44:34 +00:00
John Kessenich c7776ec3fd GL_ARB_enhanced_layouts, part 4: Numerical side of xfb_*: offset computation, size computation, alias detection, paddings, overflow, implicit strides, gl_Max* checks, etc.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25014 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-26 01:37:13 +00:00
John Kessenich f359199cc3 Support both dynamic CRT and static CRT configurations on VS11 build. The public download needs the static one for user simplicity, while some downstream tools need the dynamic one.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24977 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-23 21:40:33 +00:00
John Kessenich efb2b7d433 Move to the v110_xp toolset to support XP.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24964 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-23 00:35:24 +00:00
John Kessenich f4d6634713 Bug 11531: Use %zu when printing size_t values in printf and use "friend class" instead of "friend".
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24959 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-22 23:37:55 +00:00
John Kessenich 28b95b682c Remove Windows VS 11 executable dependencies on MSVCP110.dll and MSVCR110.dll. The only DLL needed now is the standard KERNEL32.DLL.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24957 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-22 23:23:19 +00:00
John Kessenich 44b807e1d0 GL_ARB_enhanced_layouts, part 3: Semantics for xfb_*: where they can go, inheritance, etc., but not yet the backing arithmetic for offsets and strides.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24916 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-21 04:43:23 +00:00
John Kessenich 281958c21a Fix g++ warning and update Window's binary.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24741 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-11 20:35:26 +00:00
John Kessenich a9819921b3 Improvement to the AST traversal infrastructure.
Note:  This affects any downstream consumers of glslang's traverser.  Let me know if there are any issues.  Essentially, you will need to change the functions that were pointed to into overriding base-class members instead.  See the examples in this check in.


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24740 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-11 19:29:55 +00:00
John Kessenich 4f9aebf659 update Makefile dependencies
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24738 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-10 21:25:05 +00:00
John Kessenich 3cdc47bf0b Several miscellaneous portability improvements (no functional changes).
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24737 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-10 21:09:51 +00:00
John Kessenich 68546c6ca4 GL_ARB_enhanced_layouts, part 2: Full implementation of location/component, plus the parsing for xfb* and align/offset (but not yet full semantics for align/offset).
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24692 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-08 23:25:18 +00:00
John Kessenich b76d6d6496 GL_ARB_enhanced_layouts, part 1: Track whether constants are literals, to enable version-specific checking of layout(... = literal) vs. layout(... = expression).
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24675 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-07 18:14:48 +00:00
John Kessenich 5053a39578 Fix slight inconsistencies in which qualifiers are inherited into block members:
- don't inherit 'binding'
 - always set the member storage qualifier, not just when the shader explicitly set it
 - don't include in/out members as objects that are resized by geometry/primitive layout specifiers
As a side effect, this makes built-in redeclarations (like gl_ClipDistance) require in/out.


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24674 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-07 17:44:41 +00:00
John Kessenich 7cbfdf4394 Minor infrastructure changes, to simplify an upcoming check in:
- print out block member types when printing a block (makes all test results change)
 - const versions of all intermediate.h type-identification methods
 - layoutSlotLocation -> layoutLocation

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24664 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-01-06 21:27:56 +00:00
John Kessenich 7054075804 Tests: add a few more test cases.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24635 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-12-31 23:02:24 +00:00
John Kessenich a70031a696 update linux binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24630 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-12-31 00:16:26 +00:00
John Kessenich 99b0ffd468 Properly handle 'default' nested in flow control, as well as default/case outside switch statements.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24629 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-12-31 00:13:26 +00:00
John Kessenich ddbe0befd7 Update windows binaries.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24628 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-12-30 20:44:49 +00:00
John Kessenich bd306b89a4 fix g++ complaint and update binaries
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24627 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-12-30 20:40:03 +00:00
John Kessenich fcb4ed054c Preprocessor: Rationalize, simplify, and correct the stack of input sources and their tokenization. This included
- consistently dealing with EOF and its effect on error recovery (bug 11444, #1)
 - turning a simulated OO hierarchy of function pointers and typecasting into a real C++ class hierarchy
 - correctly handling '\' everywhere, in all classes of tokens, as a layer before preprocessing itself
 - conditionally handling '\n' in macro expansion input, depending on whether it is in a macro expression or not
 - delete some unused "memory cleanup" code


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24626 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-12-30 20:34:28 +00:00