John Kessenich
556ab3ac96
Implement GL_OES_sample_variables.
2015-08-16 21:55:59 -06:00
John Kessenich
a39159a192
Implement GL_OES_texture_storage_multisample_2d_array.
2015-08-16 21:10:38 -06:00
John Kessenich
2b0a11351f
Fix two multi-sample bugs: 1) include MS in name mangling, 2) add 'sample' argument texelFetch(*MS*,...).
2015-08-16 21:04:07 -06:00
John Kessenich
dc9eff7221
Implement GL_OES_texture_cube_map_array.
2015-08-16 14:21:20 -06:00
John Kessenich
302b46aebc
Implement GL_OES_texture_buffer.
2015-08-16 13:11:01 -06:00
John Kessenich
30314590ff
Implement GL_OES_primitive_bounding_box.
2015-08-16 12:09:15 -06:00
John Kessenich
65c78a0b62
Array of array: Implement the core functionality: types, constructors, operations.
...
There will be subsequent commits to refine semantics, esp. version-specific semantics,
as well as I/O functionality and restrictions.
Note: I'm getting white-space differences in the preprocessor test results,
which I'm not checking in. I think they need to be tagged as binary or something.
2015-08-10 17:08:55 -06:00
John Kessenich
917ec4ac8c
Front-end atomics: Finish adding atomic built-in functions (non-image) into the AST.
2015-07-22 19:58:15 -06:00
John Kessenich
f4673162b7
Building: Fix a couple of new warnings.
2015-07-18 11:25:54 -06:00
John Kessenich
e3933d684d
Front-end: Implement GL_OES_gpu_shader5.
2015-07-15 19:42:59 -06:00
Andre Weissflog
a5ade51363
Fix most clang warnings
...
- member initializing order in some constructors
- missing default branches in switch-case
- uninitialized variable if switch-case default (uncritical because
program would exit)
- && and || brace warnings in if()
2015-07-11 14:45:57 +02:00
John Kessenich
e0603a441e
Front-end: move to rational internal array-of-array interfaces and design. (A-of-A is not yet implemented though.)
2015-07-06 21:00:03 -06:00
John Kessenich
9b0d9c8aa4
Use E_ prefix instead of _ for distinguishing extension strings from glext.h
2015-07-03 09:24:46 -06:00
Adam Jackson
93deac5295
Fix incompatibility with <GL/glext.h>
...
New extensions in glext.h follow the pattern:
#ifndef GL_ARB_texture_rectangle
#define GL_ARB_texture_rectangle 1
#define GL_TEXTURE_RECTANGLE_ARB 0x84F5
#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7
#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
#endif /* GL_ARB_texture_rectangle */
Versions.h tries to declare:
const char* const GL_ARB_texture_rectangle = "GL_ARB_texture_rectangle";
Which means, if you've included glext.h before Versions.h, that the
compiler will see "const char* const 1 = ...", and rightly refuse to
continue.
The ham-fisted approach taken here is to rename the variables in
Versions.h with a leading underscore. This does sort of undermine the
comment about "better to have the compiler do spelling checks", but.
Signed-off-by: Adam Jackson <ajax@redhat.com>
2015-06-30 10:11:38 -04:00
John Kessenich
b61b82182f
glslang front-end: Implement AEP *_point_size extensions.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31560 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-06-23 04:14:00 +00:00
John Kessenich
6e76bdc88d
glslang front-end: Full turn-on of AEP tessellation semantics.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31538 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-06-19 23:03:32 +00:00
John Kessenich
105704eff2
glslang: Finish turn on of AEP geometry shaders for ES 3.1.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31532 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-06-19 06:28:59 +00:00
John Kessenich
9e41f362a6
glslang AEP: Full semantics for *_shader_io_blocks.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31490 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-06-15 15:08:41 +00:00
John Kessenich
f6deb6203a
glslang AEP: Geometry shader features nominally working. (Full semantic check and turn on pending.) Also picked up partial tessellation shader interface, shader_io_blocks, and mirrored OES set of extensions functionality.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31487 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-06-14 21:36:44 +00:00
John Kessenich
453bb26ef5
glslang AEP: The extension scheme, extension-enabled stage-existence testing, and compute-shader interface. Still needs in/out blocks, unsized arrays, etc. before real testing can be done.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31479 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-06-12 05:01:25 +00:00
John Kessenich
fae38ee277
glslang portability: Fixed a slew of OSX compilation warnings (but not all).
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31469 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-06-10 23:23:12 +00:00
John Kessenich
2fde45a1eb
Requesting input on Bug 1346: checking in, turned off, enum-based operators for texturing and image operations. Please reply there with any input, thanks.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31289 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-26 01:36:50 +00:00
John Kessenich
40e391184c
glslang -> SPV: Use the new TBuiltInVariable instead of string compares to get the type of SPV built in. Also fixed gl_FragData and gl_PrimitiveIDIn.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31226 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-18 23:25:32 +00:00
John Kessenich
dff18a2be0
glslang: Formally track all built-in variables, right from the beginning, to enable avoiding all textual compares at any subsequent stage in the stack. (To be used in future check ins.)
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31224 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-18 16:45:49 +00:00
John Kessenich
93dfbe1309
glslang: Fix over 100 warnings from MSVC warning level 4.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31202 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-15 17:30:55 +00:00
John Kessenich
af9ab5f743
glslang parser: Arrays-of-arrays name-mangling and error messages (lots of A-of-A stuff to come a bit later). This patch from Google, David Neto <dneto@google.com>.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31137 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-11 16:16:49 +00:00
John Kessenich
6df2904391
Implement specification change in 'restrict', allowing it to come and go across function calls.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29195 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-12-11 00:17:42 +00:00
John Kessenich
c47175c7bb
Add memory qualifiers (coherent volatile restrict) to imageSize(), imageLoad(), imageStore(), atomic*(), and imageAtomic*(), to remove errors about dropping qualifiers.
...
Several bugs are related to this, and this is a slightly speculative fix, bit it is certainly wrong to either do it the way it was or to reflect the current specifications.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@28968 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-11-17 16:45:10 +00:00
John Kessenich
ad54b24fba
Implement GL_ARB_viewport_array extension.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@28653 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-10-17 20:01:27 +00:00
John Kessenich
758c15720d
Remove lod argument from texture2DRect built-ins. (Submission from matt.helsley)
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@28440 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-10-06 16:38:53 +00:00
John Kessenich
e91cde52cb
Add missing gl_MaxGeometryTextureImageUnits.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@28439 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-10-06 15:44:02 +00:00
John Kessenich
a3d8557a44
Turn on the sampler 2DMS types for ES 3.1.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27741 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-08-14 23:30:11 +00:00
John Kessenich
58f5a5e77a
Add fma(), tie the 2x16 stuff to the correct versions.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27739 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-08-14 20:05:57 +00:00
John Kessenich
0a33592810
Implement frexp, ldexp, packUnorm2x16, unpackUnorm2x16, packUnorm4x8, packSnorm4x8, unpackUnorm4x8, unpackSnorm4x8, and unpackDouble2x32().
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27738 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-08-14 19:45:52 +00:00
John Kessenich
be70339296
Add the bitField built-in functions. Mark 330 as being complete.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27728 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-08-13 20:04:19 +00:00
John Kessenich
cd77f8e922
Implement GL_ARB_shader_texture_image_samples. Also add in gl_MaxSamples and the float imageAtomicExchange.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27721 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-08-13 16:54:02 +00:00
John Kessenich
df1d81a958
Add ES 3.1 compatibility to 4.5 and the atomic memory functions (e.g. atomicAdd).
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27715 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-08-13 08:32:15 +00:00
John Kessenich
699684180f
Implement cull distances for GLSL 4.5 (but not as an extension yet, just a 4.5 feature).
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27714 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-08-13 06:37:59 +00:00
John Kessenich
13fd6c9dd7
Implement GL_ARB_derivative_control.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27713 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-08-13 04:15:56 +00:00
John Kessenich
265f5fb80e
Finish virtually all of the remaining atomic counter functionality. Still need offset collision detection.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27712 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-08-13 01:04:28 +00:00
John Kessenich
4d57090da5
Turn on ESSL 3.1 for most features:
...
- images: load/store, memory qualifiers
- buffer blocks
- compute shaders
- atomic counters
- texture gather
- SSO
- uniform locations
- all the numeric-based version # comparisons
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27710 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-08-12 22:07:22 +00:00
John Kessenich
bedb1bc2db
Partial implementation of atomic counters.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27701 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-08-12 03:52:51 +00:00
John Kessenich
79cddfcb56
Finish implementing compute shaders, within #version 430, partly based on a submission.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27674 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-08-11 02:32:30 +00:00
John Kessenich
ddea678e3e
Implement GL_ARB_shader_image_load_store. Partly done (format layout qualifiers) from a submission.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27670 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-08-10 18:19:36 +00:00
John Kessenich
8aa57c3c15
Fix assert firing in debug mode from last check in.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27543 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-07-29 18:28:31 +00:00
John Kessenich
b9fc145387
Finish implement GL_ARB_texture_lod; adding the 19 additional *ARB() built-ins to the 11 non-*ARB() that were already supported.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27542 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-07-29 18:11:09 +00:00
John Kessenich
019a62b0ec
Add the original-style texture-rectangle texturing functions, and allow rectangular samplers to be declared under relaxed semantic checks.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27538 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-07-29 17:18:24 +00:00
John Kessenich
3591930f23
Add partial support for GL_ARB_shader_texture_lod.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26945 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-06-03 19:28:48 +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
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