John Kessenich
974258d88f
Fix, and add missing tests for, error catching for applying swizzles to arrays.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26858 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-05-27 01:34:38 +00:00
John Kessenich
6e62d92cfb
Fix bug where an anonymous member of a built-in block containing another member with an implicitly-sized array caused two copies of the block to be referenced.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26633 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-05-14 02:38:14 +00:00
John Kessenich
9854f21010
Update Windows executable.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26631 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-05-14 00:40:30 +00:00
John Kessenich
9b3f9e5243
Update readme for no .so
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26630 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-05-14 00:38:21 +00:00
John Kessenich
7cc052baf1
update Linux binary, no .so needed
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26627 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-05-14 00:13:32 +00:00
John Kessenich
6a245921d8
No longer using a shared object model.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26626 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-05-14 00:12:51 +00:00
John Kessenich
ad47ee8909
Non-functional tweak to hidden-member (of anonymous block) semantics.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26610 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-05-12 18:12:04 +00:00
John Kessenich
bae44b74d4
Finish GL_ARB_shading_language_420pack: *ProgramTexelOffset built-in constants. Also, make comma operation not fold constants.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26602 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-05-11 01:07:31 +00:00
John Kessenich
0b9e112da6
420Pack: Implement length() on vectors and matrices. Also, tweak line-continuation semantics to understand the extension.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26601 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-05-10 22:24:50 +00:00
John Kessenich
7c257eb108
Code simplification: Add (and use) helper functions for building constant scalar AST nodes for bool, int, uint, float, and double, shortening all the code segments that were doing that.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26600 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-05-10 19:52:01 +00:00
John Kessenich
a92c30ed23
Add access methods for consuming adapters to get the top-level shader modes like number of invocations, vertex spacing, primitives, etc.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26586 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-05-08 23:57:13 +00:00
John Kessenich
d7dfe2c2b2
Prevent crash when bad shader redeclares built-in array names it is not supposed to redeclare.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26520 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-05-06 22:58:55 +00:00
John Kessenich
8a1a4a7a8b
Implement implicit conversions on function return expressions to the function's type.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26501 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-05-06 06:02:01 +00:00
John Kessenich
2ea882fdae
Change ERROR to WARNING to finish fixing bug 11904, comment 3: bug 11856 resolved to drop the ERROR regarding no statements after the last label in the switch.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26479 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-05-01 16:48:18 +00:00
John Kessenich
8d6ce1c227
Improve the 150.geom test.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26445 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-04-29 23:09:26 +00:00
John Kessenich
f000058fd9
Allow the pre-150 built-in redeclarations when using SSO: gl_Position, gl_PointSize, gl_ClipVertex, and gl_FogFragCoord.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26399 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-04-24 22:38:50 +00:00
John Kessenich
040b8ca9d4
Just make computeTypeLocationSize const.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26354 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-04-22 19:06:23 +00:00
John Kessenich
e96ee859a8
Establish desktop completeness through version 1.50. (gl_MaxVaryingFloats, implicit-cconversion safety, cube-sampler-array fix, add tests)
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26253 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-04-14 22:08:16 +00:00
John Kessenich
447c65c978
Two missing test file sources.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26230 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-04-14 16:14:30 +00:00
John Kessenich
263a134edd
Correct the test results from the last check in.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26229 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-04-14 16:11:00 +00:00
John Kessenich
2bbd2a3be8
Add missing tests and test results.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26228 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-04-14 16:10:01 +00:00
John Kessenich
cf0206c341
Restore r26245 and all tests and test results since 4/1:
...
r26245: Remove "not yet complete" warning for versions 130 and 140, after tidying up a bit and adding tests. Token pasting is the only known missing feature, and gives its own message now on use.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26226 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-04-14 15:46:40 +00:00
John Kessenich
dd09c05e5b
Restore r26192, r26240, r26241: Two missing files from last check in.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26224 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-04-14 15:07:33 +00:00
John Kessenich
150b7acd9a
Restore r26192, r26240, r26241: All three about implicit-array sizing design and implementation. *Minus* test results.
...
r26192: Link-time sizing of implicitly-sized arrays and handling of anonymous blocks containing implicitly-sized members. Also changed "__anon" to "anon@" and encapsulated it.
r26240: Solidify the sharing of struct and array information between nodes and variables: A single copy now allows for simultaneously setting array size for all effected nodes and symbols of a given type. This allowed removal of ioArrayNodeResizeList and makes nodes of implicitly sized arrays know the final size.
r26241: Fix g++ issue with wanting non-const iterator.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26218 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-04-14 14:59:51 +00:00
John Kessenich
078c010de7
Restore r26190: make code PIC
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26211 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-04-14 14:45:55 +00:00
John Kessenich
f2d042a1fe
Non-functional, infrastructure: Be more explicit about "implicit array sizes", improving the infrastructure for handling them. Also fix some output that was too big for its buffer.
...
There is more upcoming functionality for link-time sizing of implicitly-sized arrays that will use this.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26176 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-04-02 02:27:26 +00:00
John Kessenich
b4ef9e0d56
Track which extensions were enabled or required, in the intermediate representation, for reflection of the consumer.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26155 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-31 22:20:47 +00:00
John Kessenich
ea4ae7c3ad
CMake fix for Linux for previous check in
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26138 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-31 00:10:51 +00:00
John Kessenich
fde703438f
CMake: Collapse into a single library all the libraries under the glslang directory, and represent the proper hierarchy in MSVS. There are still a total of 3 libraries to link against: glslang, OGLCompiler, and OSDependent.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26137 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-31 00:06:32 +00:00
John Kessenich
e564fc5e85
Make use of the v110 tool set be Win32 specific.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26127 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-28 18:07:35 +00:00
John Kessenich
585982e32a
Add getStage() and getIntermediate() methods for consumers. Also removed dead options and update test file.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26126 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-28 17:49:10 +00:00
John Kessenich
f5dd2f5c7c
Expand implicit argument conversions to also include handling built-in function calls.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26080 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-26 03:17:31 +00:00
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