glslang/Test
steve-lunarg a2e7531057 HLSL: inter-stage structure splitting.
This adds structure splitting, which among other things will enable GS support where input structs
are passed, and thus become input arrays of structs in the GS inputs.  That is a common GS case.

The salient points of this PR are:

* Structure splitting has been changed from "always between stages" to "only into the VS and out of
  the PS".  It had previously happened between stages because it's not legal to pass a struct
  containing a builtin IO variable.

* Structs passed between stages are now split into a struct containing ONLY user types, and a
  collection of loose builtin IO variables, if any.  The user-part is passed as a normal struct
  between stages, which is valid SPIR-V now that the builtin IO is removed.

* Internal to the shader, a sanitized struct (with IO qualifiers removed) is used, so that e.g,
  functions can work unmodified.

* If a builtin IO such as Position occurs in an arrayed struct, for example as an input to a GS,
  the array reference is moved to the split-off loose variable, which is given the array dimension
  itself.

When passing things around inside the shader, such as over a function call, the the original type
is used in a sanitized form that removes the builtIn qualifications and makes them temporaries.
This means internal function calls do not have to change.  However, the type when returned from
the shader will be member-wise copied from the internal sanitized one to the external type.
The sanitized type is used in variable declarations.

When copying split types and unsplit, if a sub-struct contains only user variables, it is copied
as a single entity to avoid more AST verbosity.

Above strategy arrived at with talks with @johnkslang.

This is a big complex change.  I'm inclined to leave it as a WIP until it can get some exposure to
real world cases.
2016-12-26 10:11:15 -07:00
..
baseResults HLSL: inter-stage structure splitting. 2016-12-26 10:11:15 -07:00
100.conf Fix line endings in Test/100.conf. 2016-03-03 12:12:07 -05:00
100.frag Front-end: Implement GL_EXT_shader_non_constant_global_initializers. 2016-06-17 12:43:31 -06:00
100Limits.vert Re-allow non-language characters in ES 100 comments, including '\', except for '\' just before a new line. 2013-12-04 17:23:03 +00:00
100scope.vert Add missing check that a function call is not using the same name as a variable hiding the function's name. Also, support version 110 separate name spaces for functions and variable names. 2013-12-11 22:38:19 +00:00
110scope.vert Give error for calling a user-defined function at global scope. 2015-10-06 13:11:38 -06:00
120.frag Finish implement GL_ARB_texture_lod; adding the 19 additional *ARB() built-ins to the 11 non-*ARB() that were already supported. 2014-07-29 18:11:09 +00:00
120.vert Fix issue #388. 2016-07-19 15:13:47 -06:00
130.frag Implement GL_ARB_shader_image_load_store. Partly done (format layout qualifiers) from a submission. 2014-08-10 18:19:36 +00:00
130.vert Two missing test file sources. 2014-04-14 16:14:30 +00:00
140.frag glslang: Bug 13724: ES global initializers must be constant. 2015-04-30 03:22:41 +00:00
140.vert Remove lod argument from texture2DRect built-ins. (Submission from matt.helsley) 2014-10-06 16:38:53 +00:00
150.frag Parser: Extension requirement of gl_PrimitiveID and gl_Layer should be checked only for ESSL instead of GLSL. 2015-12-09 15:03:41 +08:00
150.geom Implement GL_ARB_viewport_array extension. 2014-10-17 20:01:27 +00:00
150.tesc Require l-value patch-out indexing to be gl_InvocationID. 2015-11-28 16:52:25 -07:00
150.tese Allow tessellation shaders to work on versions back to 150. Also combined all the tessellation tests into a single run. 2013-12-18 18:47:12 +00:00
150.vert Fix public bug 1277: #line L sets the next line to L+1 or just L, based on the version of the language. 2014-12-20 07:03:18 +00:00
300.frag Semantics: Catch nested types containing 'int' with non-'flat' interpolation. 2015-12-22 16:39:07 -07:00
300.vert Array-sizing bug fix: multiple array initializers of different size in the same declaration. 2015-11-28 12:52:29 -07:00
300block.frag GLSL front-end: Check recursively for opaque types in a block; these are all illegal. 2015-09-30 18:57:47 -06:00
300BuiltIns.frag Make double underscore "__" an error for ES 300, but a warning for 310. 2015-06-29 17:19:17 -06:00
300layout.frag Miscellaneous ES 3.1 semantics, and identification of all missing features. 2014-08-14 07:07:21 +00:00
300layout.vert GL_ARB_enhanced_layouts, part 5: uniform offset and align semantics. Numerical computations not yet done. 2014-01-28 21:13:59 +00:00
300link2.frag Add ES 3.0 fragment output link-time test for outputs having or not having location qualifiers. 2013-10-15 21:46:20 +00:00
300link3.frag Add ES 3.0 fragment output link-time test for outputs having or not having location qualifiers. 2013-10-15 21:46:20 +00:00
300link.frag Add ES 3.0 fragment output link-time test for outputs having or not having location qualifiers. 2013-10-15 21:46:20 +00:00
300operations.frag Added constant folding for relational (e.g. lessThan) built-ins, relational built-ins for uints, and bitwise ops for mixed scalars and vectors. 2013-11-09 00:18:22 +00:00
300scope.vert Add missing check that a function call is not using the same name as a variable hiding the function's name. Also, support version 110 separate name spaces for functions and variable names. 2013-12-11 22:38:19 +00:00
310.comp Front-end ESSL: require precision declarations for images. 2016-06-14 22:12:20 -06:00
310.frag Front-end ESSL: require precision declarations for images. 2016-06-14 22:12:20 -06:00
310.geom glslang front-end: Implement AEP *_point_size extensions. 2015-06-23 04:14:00 +00:00
310.tesc Require l-value patch-out indexing to be gl_InvocationID. 2015-11-28 16:52:25 -07:00
310.tese Implement GL_OES_primitive_bounding_box. 2015-08-16 12:09:15 -06:00
310.vert Front-end ESSL: require precision declarations for images. 2016-06-14 22:12:20 -06:00
310AofA.vert Front-end Arrays of arrays: Add ES-specific checks and tests. AoA should be quite close to done now. 2015-09-11 15:25:38 -06:00
310implicitSizeArrayError.vert glslang parser: Fix crash for ES shader with a uniform block with an unsized array that is later accessed. David Neto (dneto@google.com). 2015-05-08 00:54:34 +00:00
330.frag Front-end: Fix issue #147: ensure layout(index=N) has N in [0,1]. 2016-06-05 17:25:34 -06:00
330comp.frag Allow gl_FragColor and gl_FragData in non-forward-compatible contexts for non-ES versions 150 - 410. Also add deprecation message for attribute/varying for core profile. 2013-02-27 19:02:52 +00:00
400.frag Semantics: Spec. changing to reflect reality of int/uint conversion for |^&. 2016-01-22 15:40:24 -07:00
400.geom Doubles: Add all the missing built-in double-based prototypes. 2016-01-16 20:37:43 -07:00
400.tesc Parser: Precise: Recognize 'precise', tag types, and do related semantic checking. 2016-05-04 12:54:56 -06:00
400.tese glslang front-end: Full turn-on of AEP tessellation semantics. 2015-06-19 23:03:32 +00:00
400.vert Front-end: Add a function selector under implicit type conversion. 2016-08-21 14:26:27 -06:00
410.geom Implement implicit conversions on function return expressions to the function's type. 2014-05-06 06:02:01 +00:00
410.tesc Tessellation: Implicit array sizing and consistency checking of control-shader output arrays based on layout(vertices=...). 2013-12-13 18:38:43 +00:00
410.vert Front-end: Fix issue #146: which versions allow double in/out. 2016-06-05 18:52:05 -06:00
420_size_gl_in.geom Restore r26245 and all tests and test results since 4/1: 2014-04-14 15:46:40 +00:00
420.comp Front-end: Complete GL_ARB_compute_shader, previous commit was missing new barriers. 2016-05-30 19:38:39 -06:00
420.frag Fix issue #382: Detect implicitly-sized atomic_uint arrays. 2016-07-19 15:50:58 -06:00
420.geom Implement implicit conversions on function return expressions to the function's type. 2014-05-06 06:02:01 +00:00
420.tesc Semantics: Geometry stage can support max_vertices = 0. 2015-12-11 17:54:35 -07:00
420.tese Front-ends GLSL/HLSL: Fix initializer lists for structs of one member. 2016-07-29 18:29:06 -06:00
420.vert Front-end: Fix issue #409, check for implicitly-sized binding arrays. 2016-07-27 14:55:06 -06:00
430.comp Front-end Arrays of arrays: Add ES-specific checks and tests. AoA should be quite close to done now. 2015-09-11 15:25:38 -06:00
430.vert Full stack: implement textureQueryLod(*) and textureQueryLevels(*). 2015-09-15 19:38:56 -06:00
430AofA.frag Array of array: Implement the core functionality: types, constructors, operations. 2015-08-10 17:08:55 -06:00
430scope.vert Add missing check that a function call is not using the same name as a variable hiding the function's name. Also, support version 110 separate name spaces for functions and variable names. 2013-12-11 22:38:19 +00:00
440.frag Parser: Extension requirement of gl_PrimitiveID and gl_Layer should be checked only for ESSL instead of GLSL. 2015-12-09 15:03:41 +08:00
440.vert Tests: Test base case for fixing issue #443. 2016-08-08 15:29:25 -06:00
450.comp Implement cull distances for GLSL 4.5 (but not as an extension yet, just a 4.5 feature). 2014-08-13 06:37:59 +00:00
450.frag Parser: Redeclaration of gl_CullDistance is disallowed mistakenly. 2016-05-19 12:26:27 +08:00
450.geom Implement cull distances for GLSL 4.5 (but not as an extension yet, just a 4.5 feature). 2014-08-13 06:37:59 +00:00
450.tesc Require l-value patch-out indexing to be gl_InvocationID. 2015-11-28 16:52:25 -07:00
450.tese Implement cull distances for GLSL 4.5 (but not as an extension yet, just a 4.5 feature). 2014-08-13 06:37:59 +00:00
450.vert ES check for vertex out or fragment in containing any of 2014-10-28 05:24:14 +00:00
aggOps.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
always-discard2.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
always-discard.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
array100.frag Disallow arrays in initializers for non-array-object versions (assignment, etc. were already caught, but not initialization). 2013-11-12 22:02:36 +00:00
array.frag Issue 32: Guard against constructors consuming unsized arrays. 2015-07-22 11:44:59 -06:00
atomic_uint.frag Implement atomic counter offset semantics. 2014-08-19 06:08:38 +00:00
badChars.frag Scanning: 1) rationalize end-of-input everywhere, 2) prevent infinite loop at end-of-input, 3) use positive chars. 2015-07-27 09:37:55 -06:00
badMacroArgs.frag Fix issue #391: input stack underflow on too few macro arguments. 2016-07-19 14:32:52 -06:00
bump Add +x to two more scripts. 2015-06-26 10:48:26 -06:00
comment.frag Support line-continuation (backslash before newline) for tokens and one-line comments in the preprocessor. 2013-06-25 21:09:47 +00:00
conditionalDiscard.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
constErrors.frag Add function "const", where the initializer does not have to be a compile-time constant. 2013-10-17 20:55:30 +00:00
constFold.frag Front-end: Implement compile-time constant folding for any() and all(). 2016-07-12 01:27:48 -06:00
conversion.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
cppBad.vert PP: Fix issue #407; handle empty identifier. 2016-07-30 13:39:52 -06:00
cppComplexExpr.vert Preprocessor: Prevent (and give an error on) expression division by 0. 2015-07-20 12:29:41 -06:00
cppIndent.vert Fix issue #391: input stack underflow on too few macro arguments. 2016-07-19 14:32:52 -06:00
cppNest.vert Preprocessor: Rationalize, simplify, and correct the stack of input sources and their tokenization. This included 2013-12-30 20:34:28 +00:00
cppSimple.vert Preprocessor: Allow '\' as a token, which gets actual use in #error, but should have no other use. 2015-07-25 17:34:32 -06:00
dataOut.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
dataOutIndirect.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
dce.frag Test for and prevent any dead-code elimination, as all code is needed in the AST for static-use analysis. 2013-09-20 06:20:21 +00:00
decls.frag Update rules for "GL_", "gl_", and "__" to match latest specification bug fixes. 2014-02-18 21:55:42 +00:00
deepRvalue.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
depthOut.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
discard-dce.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
doWhileLoop.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
earlyReturnDiscard.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
empty2.frag Improve preprocessor by using GLSL scanner, allowing read-only strings to be compiled, unifying of line # tracking, and correct detection that ES #version appeared after a comment. 2013-10-28 18:12:06 +00:00
empty3.frag Improve preprocessor by using GLSL scanner, allowing read-only strings to be compiled, unifying of line # tracking, and correct detection that ES #version appeared after a comment. 2013-10-28 18:12:06 +00:00
empty.frag Improve preprocessor by using GLSL scanner, allowing read-only strings to be compiled, unifying of line # tracking, and correct detection that ES #version appeared after a comment. 2013-10-28 18:12:06 +00:00
errors.frag Minor updates to tests. 2013-03-04 23:50:08 +00:00
es-link1.frag Add test case: Link 2 ESSL fragment shader units 2016-05-24 13:15:01 +02:00
es-link2.frag Add test case: Link 2 ESSL fragment shader units 2016-05-24 13:15:01 +02:00
flowControl.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
forLoop.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
forwardRef.frag Track separate precision defaults for each kind of sampler, give initial defaults as per spec. Also make fragment floats have no default. Modify/add tests to adapt to these changes. 2013-06-19 05:41:25 +00:00
functionCall.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
functionSemantics.frag Front-end: Add missing rule for function-return implicit type conversion check. 2016-06-28 23:56:31 -06:00
glslangValidator Add +x to two more scripts. 2015-06-26 10:48:26 -06:00
glspv.esversion.vert SPV: Further refine OpenGL vs. Vulkan differences for SPIR-V. 2016-07-07 19:27:15 -06:00
glspv.frag SPV: Further refine OpenGL vs. Vulkan differences for SPIR-V. 2016-07-07 19:27:15 -06:00
glspv.version.frag SPV: Further refine OpenGL vs. Vulkan differences for SPIR-V. 2016-07-07 19:27:15 -06:00
glspv.version.vert SPV: Further refine OpenGL vs. Vulkan differences for SPIR-V. 2016-07-07 19:27:15 -06:00
glspv.vert SPV: Further refine OpenGL vs. Vulkan differences for SPIR-V. 2016-07-07 19:27:15 -06:00
hlsl.amend.frag Add amend ability for anonymous blocks, so they can grow between function bodies. 2016-09-29 23:59:26 -06:00
hlsl.array.flatten.frag HLSL Tests: Tests for previous commit, to make it easier to see what's changing. 2016-09-29 10:25:15 -06:00
hlsl.array.frag HLSL: Basic array grammar. 2016-06-19 11:50:34 -06:00
hlsl.array.implicit-size.frag HLSL: More robust handling of bad shader input, catching a few more things. 2016-12-14 17:02:32 -07:00
hlsl.array.multidim.frag HLSL: allow multi-dimensional arrays 2016-10-13 12:32:04 -06:00
hlsl.assoc.frag Tests: Add a set of gtest-file-based HLSL tests. 2016-05-16 17:39:50 -06:00
hlsl.attribute.expression.comp HLSL: Allow expressions in attributes 2016-11-11 08:23:03 -07:00
hlsl.attribute.frag HLSL: Error if funcion with return type doesn't return a value. 2016-09-02 19:13:36 -06:00
hlsl.basic.comp HLSL: Turn on tests for groupshared. 2016-10-16 12:22:20 -06:00
hlsl.basic.geom WIP: HLSL: Add GS support 2016-11-21 18:25:08 -07:00
hlsl.buffer.frag HLSL: Reverse what the driver is told about row/column majorness, matching the row-column reversal. 2016-09-25 20:26:03 -06:00
hlsl.calculatelod.dx10.frag HLSL: Add CalculateLevelOfDetail, and unimplemented errors for *Unclamped and GetSamplePosition 2016-07-27 10:46:33 -06:00
hlsl.calculatelodunclamped.dx10.frag HLSL: Add CalculateLevelOfDetail, and unimplemented errors for *Unclamped and GetSamplePosition 2016-07-27 10:46:33 -06:00
hlsl.cast.frag HLSL: 1) Implement lookahead buffers/stacks for token advance/recede, 2) use it for cast operation. 2016-06-03 16:57:53 -06:00
hlsl.comparison.vec.frag HLSL: Enable component-wise vector comparisons from operators 2016-10-26 08:50:10 -06:00
hlsl.conditional.frag HLSL: Implement ?: grammar productions. 2016-07-27 10:39:57 -06:00
hlsl.constructexpr.frag HLSL: Fix a grammar error related to constructors in parenthetical expressions 2016-07-30 08:09:09 -06:00
hlsl.deadFunctionMissingBody.vert Linker: Eliminate uncalled functions, because they can be ill-defined. 2016-12-09 19:22:20 -07:00
hlsl.depthGreater.frag HLSL: Handle greater/less depth modes. Fixes issue #489. 2016-09-02 20:05:52 -06:00
hlsl.depthLess.frag HLSL: Handle greater/less depth modes. Fixes issue #489. 2016-09-02 20:05:52 -06:00
hlsl.discard.frag HLSL: Error if funcion with return type doesn't return a value. 2016-09-02 19:13:36 -06:00
hlsl.doLoop.frag HLSL: Enable component-wise vector comparisons from operators 2016-10-26 08:50:10 -06:00
hlsl.entry-in.frag HLSL: Intercept flatten aggregates passed to a function input, and copy member-by-member. 2016-09-19 00:06:19 -06:00
hlsl.entry-out.frag HLSL: Handle flattened I/O structs passed to function *out* parameters. 2016-10-01 17:11:21 -06:00
hlsl.entry.rename.frag allow renaming of shader entry point when creating SPIR-V 2016-12-01 08:51:43 -07:00
hlsl.flatten.return.frag HLSL: inter-stage structure splitting. 2016-12-26 10:11:15 -07:00
hlsl.float1.frag HLSL Tests: Tests for previous commit, to make it easier to see what's changing. 2016-09-29 10:25:15 -06:00
hlsl.float4.frag HLSL Tests: Tests for previous commit, to make it easier to see what's changing. 2016-09-29 10:25:15 -06:00
hlsl.forLoop.frag HLSL: Enable component-wise vector comparisons from operators 2016-10-26 08:50:10 -06:00
hlsl.frag HLSL: Add function call syntax and AST building. 2016-05-13 09:33:42 -06:00
hlsl.gather.array.dx10.frag HLSL: Add gather, improve proto generator machine for upcoming 2DMS/Shadow 2016-07-22 12:46:11 -06:00
hlsl.gather.basic.dx10.frag HLSL: Add gather, improve proto generator machine for upcoming 2DMS/Shadow 2016-07-22 12:46:11 -06:00
hlsl.gather.basic.dx10.vert HLSL: Add gather, improve proto generator machine for upcoming 2DMS/Shadow 2016-07-22 12:46:11 -06:00
hlsl.gather.offset.dx10.frag HLSL: Add gather, improve proto generator machine for upcoming 2DMS/Shadow 2016-07-22 12:46:11 -06:00
hlsl.gather.offsetarray.dx10.frag HLSL: Add gather, improve proto generator machine for upcoming 2DMS/Shadow 2016-07-22 12:46:11 -06:00
hlsl.gathercmpRGBA.array.dx10.frag HLSL: Add GatherRed/Green/Blue/Alpha methods, inc 4-offset forms 2016-08-03 13:34:39 -06:00
hlsl.gathercmpRGBA.basic.dx10.frag HLSL: Add GatherRed/Green/Blue/Alpha methods, inc 4-offset forms 2016-08-03 13:34:39 -06:00
hlsl.gathercmpRGBA.offset.dx10.frag HLSL: Add GatherRed/Green/Blue/Alpha methods, inc 4-offset forms 2016-08-03 13:34:39 -06:00
hlsl.gathercmpRGBA.offsetarray.dx10.frag HLSL: Add GatherRed/Green/Blue/Alpha methods, inc 4-offset forms 2016-08-03 13:34:39 -06:00
hlsl.gatherRGBA.array.dx10.frag HLSL: Add GatherRed/Green/Blue/Alpha methods, inc 4-offset forms 2016-08-03 13:34:39 -06:00
hlsl.gatherRGBA.basic.dx10.frag HLSL: Add GatherRed/Green/Blue/Alpha methods, inc 4-offset forms 2016-08-03 13:34:39 -06:00
hlsl.gatherRGBA.offset.dx10.frag HLSL: Add GatherRed/Green/Blue/Alpha methods, inc 4-offset forms 2016-08-03 13:34:39 -06:00
hlsl.gatherRGBA.offsetarray.dx10.frag HLSL: Add GatherRed/Green/Blue/Alpha methods, inc 4-offset forms 2016-08-03 13:34:39 -06:00
hlsl.getdimensions.dx10.frag HLSL: add 2DMS texture formats, and matching Load / GetDimensions support 2016-07-27 07:37:21 -06:00
hlsl.getdimensions.dx10.vert HLSL: Add tx.GetDimensions method (uint returns only) 2016-07-18 16:40:21 -06:00
hlsl.getdimensions.rw.dx10.frag HLSL: phase 1: add RWTexture and RWBuffer 2016-10-06 10:51:52 -06:00
hlsl.getsampleposition.dx10.frag HLSL: Add CalculateLevelOfDetail, and unimplemented errors for *Unclamped and GetSamplePosition 2016-07-27 10:46:33 -06:00
hlsl.identifier.sample.frag HLSL: allow "sample" in expressions. 2016-12-18 18:01:34 -07:00
hlsl.if.frag HLSL: Enable component-wise vector comparisons from operators 2016-10-26 08:50:10 -06:00
hlsl.init2.frag HLSL: allow trailing commas in initializer lists & scalar initialization 2016-07-30 10:47:33 -06:00
hlsl.init.frag HLSL Tests: Tests for previous commit, to make it easier to see what's changing. 2016-09-29 10:25:15 -06:00
hlsl.inoutquals.frag HLSL: Support SV_Coverage and SV_DispatchThreadId; catch SV_GroupIndex. 2016-10-16 12:12:11 -06:00
hlsl.intrinsics.barriers.comp Add HLSL memory barrier intrinsics, fix dst, add lit & EvaluateAttributeSnapped 2016-06-20 09:53:59 -06:00
hlsl.intrinsics.comp HLSL: Turn on tests for groupshared. 2016-10-16 12:22:20 -06:00
hlsl.intrinsics.double.frag Add asdouble, fma, & mad intrinsics and change profile to allow doubles when parsing prototypes 2016-06-28 15:38:38 -06:00
hlsl.intrinsics.evalfns.frag Add HLSL memory barrier intrinsics, fix dst, add lit & EvaluateAttributeSnapped 2016-06-20 09:53:59 -06:00
hlsl.intrinsics.f1632.frag HLSL: Change intrinsics tests to not use overloaded entry points 2016-06-30 14:13:03 -06:00
hlsl.intrinsics.frag HLSL: add intrinsic function implicit promotions 2016-11-23 10:36:34 -07:00
hlsl.intrinsics.lit.frag Add HLSL memory barrier intrinsics, fix dst, add lit & EvaluateAttributeSnapped 2016-06-20 09:53:59 -06:00
hlsl.intrinsics.negative.comp HLSL: Put intrinsics in symbol table for all stages 2016-08-11 07:29:30 -06:00
hlsl.intrinsics.negative.frag HLSL: Change intrinsics tests to not use overloaded entry points 2016-06-30 14:13:03 -06:00
hlsl.intrinsics.negative.vert HLSL Tests: Tests for previous commit, to make it easier to see what's changing. 2016-09-29 10:25:15 -06:00
hlsl.intrinsics.promote.down.frag HLSL: add intrinsic function implicit promotions 2016-11-23 10:36:34 -07:00
hlsl.intrinsics.promote.frag HLSL: add intrinsic function implicit promotions 2016-11-23 10:36:34 -07:00
hlsl.intrinsics.promote.outputs.frag HLSL: add intrinsic function implicit promotions 2016-11-23 10:36:34 -07:00
hlsl.intrinsics.vert HLSL: Change intrinsics tests to not use overloaded entry points 2016-06-30 14:13:03 -06:00
hlsl.layout.frag HLSL: Accept layout(...) also as a post-decl. Issue #454. 2016-09-05 14:37:03 -06:00
hlsl.load.2dms.dx10.frag HLSL: add 2DMS texture formats, and matching Load / GetDimensions support 2016-07-27 07:37:21 -06:00
hlsl.load.array.dx10.frag HLSL: Add texture Load method & decomposition 2016-07-21 09:42:35 -06:00
hlsl.load.basic.dx10.frag HLSL: Add texture Load method & decomposition 2016-07-21 09:42:35 -06:00
hlsl.load.basic.dx10.vert HLSL: add 2DMS texture formats, and matching Load / GetDimensions support 2016-07-27 07:37:21 -06:00
hlsl.load.buffer.dx10.frag HLSL: add Buffer support for Load method 2016-07-27 15:57:31 -06:00
hlsl.load.buffer.float.dx10.frag HLSL: phase 3a: Add sub-vec4 rwtexture formats (qualifier.layoutFormat) 2016-10-14 18:44:32 -06:00
hlsl.load.offset.dx10.frag HLSL: Add texture Load method & decomposition 2016-07-21 09:42:35 -06:00
hlsl.load.offsetarray.dx10.frag HLSL: Add texture Load method & decomposition 2016-07-21 09:42:35 -06:00
hlsl.load.rwbuffer.dx10.frag HLSL: phase 1: add RWTexture and RWBuffer 2016-10-06 10:51:52 -06:00
hlsl.load.rwtexture.array.dx10.frag HLSL: phase 1: add RWTexture and RWBuffer 2016-10-06 10:51:52 -06:00
hlsl.load.rwtexture.dx10.frag HLSL: phase 1: add RWTexture and RWBuffer 2016-10-06 10:51:52 -06:00
hlsl.logical.binary.frag HLSL: Fix unary and binary operator type conversion issues 2016-10-18 16:56:37 -06:00
hlsl.logical.binary.vec.frag HLSL: allow component-wise operations for logical || and &&. 2016-10-26 12:54:56 -06:00
hlsl.logical.unary.frag HLSL: Fix unary and binary operator type conversion issues 2016-10-18 16:56:37 -06:00
hlsl.matNx1.frag HLSL: use HLSL parser to parse HLSL intrinsic prototypes, enable int/bool mats 2016-11-16 11:19:22 -07:00
hlsl.matrixindex.frag WIP: HLSL: Treat HLSL rows as GLSL columns. 2016-09-09 12:02:42 -06:00
hlsl.matType.bool.frag HLSL: use HLSL parser to parse HLSL intrinsic prototypes, enable int/bool mats 2016-11-16 11:19:22 -07:00
hlsl.matType.frag HLSL: Error if funcion with return type doesn't return a value. 2016-09-02 19:13:36 -06:00
hlsl.matType.int.frag HLSL: use HLSL parser to parse HLSL intrinsic prototypes, enable int/bool mats 2016-11-16 11:19:22 -07:00
hlsl.max.frag Tests: Add a set of gtest-file-based HLSL tests. 2016-05-16 17:39:50 -06:00
hlsl.mintypes.frag HLSL: Add min*{float,int,uint} types 2016-10-31 12:46:05 -06:00
hlsl.multiEntry.vert HLSL: Handle "fake" entry points, by undoing their built-in variable declarations. 2016-09-02 20:24:07 -06:00
hlsl.multiReturn.frag HLSL: Do structure conversion for return type struct-punning on non-entry-point functions. 2016-10-06 13:06:13 -06:00
hlsl.numericsuffixes.frag HLSL: allow uint literals, and add test for numeric suffixes 2016-07-28 14:49:48 -06:00
hlsl.numthreads.comp HLSL: implement numthreads for compute shaders 2016-10-31 09:28:17 -06:00
hlsl.overload.frag HLSL: Include shape-changing conversions in overloaded signature selection. 2016-08-25 23:57:39 -06:00
hlsl.partialInit.frag HLSL: Support the constructor idiom "(struct type)0". 2016-11-27 22:51:36 -07:00
hlsl.pp.line.frag HLSL: enable #line extension by default for HLSL source. 2016-07-23 10:45:00 -06:00
hlsl.pp.tokenpasting.frag HLSL: inter-stage structure splitting. 2016-12-26 10:11:15 -07:00
hlsl.precedence2.frag Tests: Add a set of gtest-file-based HLSL tests. 2016-05-16 17:39:50 -06:00
hlsl.precedence.frag HLSL: Fix binary-expression associativity and termination issue. 2016-07-28 21:48:25 -06:00
hlsl.precise.frag HLSL Tests: Tests for previous commit, to make it easier to see what's changing. 2016-09-29 10:25:15 -06:00
hlsl.promote.atomic.frag HLSL: opcode specific promotion rules for interlocked ops 2016-12-07 12:00:32 -07:00
hlsl.promote.binary.frag HLSL: Fix unary and binary operator type conversion issues 2016-10-18 16:56:37 -06:00
hlsl.promote.vec1.frag HLSL: allow promotion from 1-vector types to scalars, e.g, float<-float1 2016-11-13 14:44:46 -07:00
hlsl.promotions.frag HLSL: add implicit promotions for assignments and function returns. 2016-08-09 13:48:47 -06:00
hlsl.reflection.binding.frag add reflection queries to return a TType. Fix minor issue with interface names. 2016-10-02 16:57:58 -06:00
hlsl.reflection.vert HLSL: Turn on reflection, with basic test file, to catch regressions. 2016-09-19 23:12:48 -06:00
hlsl.rw.atomics.frag HLSL: phase 4 of rwtexture support: add image atomics 2016-10-19 10:25:23 -06:00
hlsl.rw.bracket.frag HLSL: phase 2d: minor cleanup, & allow operator[] on non-rw textures 2016-10-12 12:39:44 -06:00
hlsl.rw.register.frag Add UAV (image) binding offset and HLSL register support 2016-11-01 14:44:54 -06:00
hlsl.rw.scalar.bracket.frag HLSL: phase 3a: Add sub-vec4 rwtexture formats (qualifier.layoutFormat) 2016-10-14 18:44:32 -06:00
hlsl.rw.vec2.bracket.frag HLSL: phase 3a: Add sub-vec4 rwtexture formats (qualifier.layoutFormat) 2016-10-14 18:44:32 -06:00
hlsl.sample.array.dx10.frag HLSL: Add SampleBias and SampleGrad, and associated tests 2016-07-15 11:38:49 -06:00
hlsl.sample.basic.dx10.frag HLSL: Add SampleBias and SampleGrad, and associated tests 2016-07-15 11:38:49 -06:00
hlsl.sample.offset.dx10.frag HLSL: Add SampleBias and SampleGrad, and associated tests 2016-07-15 11:38:49 -06:00
hlsl.sample.offsetarray.dx10.frag HLSL: Add SampleBias and SampleGrad, and associated tests 2016-07-15 11:38:49 -06:00
hlsl.sample.sub-vec4.dx10.frag HLSL: phase 3b: Texture methods remember and return vector size. 2016-10-14 18:44:32 -06:00
hlsl.samplebias.array.dx10.frag HLSL: Add SampleBias and SampleGrad, and associated tests 2016-07-15 11:38:49 -06:00
hlsl.samplebias.basic.dx10.frag HLSL: Add SampleBias and SampleGrad, and associated tests 2016-07-15 11:38:49 -06:00
hlsl.samplebias.offset.dx10.frag HLSL: Add SampleBias and SampleGrad, and associated tests 2016-07-15 11:38:49 -06:00
hlsl.samplebias.offsetarray.dx10.frag HLSL: Add SampleBias and SampleGrad, and associated tests 2016-07-15 11:38:49 -06:00
hlsl.samplecmp.array.dx10.frag HLSL: Add SampleCmp and SampleCmpLevelZero texture methods 2016-07-20 09:57:03 -06:00
hlsl.samplecmp.basic.dx10.frag HLSL: Add SampleCmp and SampleCmpLevelZero texture methods 2016-07-20 09:57:03 -06:00
hlsl.samplecmp.offset.dx10.frag HLSL: Add SampleCmp and SampleCmpLevelZero texture methods 2016-07-20 09:57:03 -06:00
hlsl.samplecmp.offsetarray.dx10.frag HLSL: Add SampleCmp and SampleCmpLevelZero texture methods 2016-07-20 09:57:03 -06:00
hlsl.samplecmplevelzero.array.dx10.frag HLSL: Add SampleCmp and SampleCmpLevelZero texture methods 2016-07-20 09:57:03 -06:00
hlsl.samplecmplevelzero.basic.dx10.frag HLSL: Add SampleCmp and SampleCmpLevelZero texture methods 2016-07-20 09:57:03 -06:00
hlsl.samplecmplevelzero.offset.dx10.frag HLSL: Add SampleCmp and SampleCmpLevelZero texture methods 2016-07-20 09:57:03 -06:00
hlsl.samplecmplevelzero.offsetarray.dx10.frag HLSL: Add SampleCmp and SampleCmpLevelZero texture methods 2016-07-20 09:57:03 -06:00
hlsl.samplegrad.array.dx10.frag HLSL: Add SampleBias and SampleGrad, and associated tests 2016-07-15 11:38:49 -06:00
hlsl.samplegrad.basic.dx10.frag HLSL: Add SampleBias and SampleGrad, and associated tests 2016-07-15 11:38:49 -06:00
hlsl.samplegrad.basic.dx10.vert HLSL: Add SampleBias and SampleGrad, and associated tests 2016-07-15 11:38:49 -06:00
hlsl.samplegrad.offset.dx10.frag HLSL: Add SampleBias and SampleGrad, and associated tests 2016-07-15 11:38:49 -06:00
hlsl.samplegrad.offsetarray.dx10.frag HLSL: Add SampleBias and SampleGrad, and associated tests 2016-07-15 11:38:49 -06:00
hlsl.samplelevel.array.dx10.frag HLSL: Add gather, improve proto generator machine for upcoming 2DMS/Shadow 2016-07-22 12:46:11 -06:00
hlsl.samplelevel.basic.dx10.frag HLSL: Add SampleLevel method 2016-07-21 15:02:30 -06:00
hlsl.samplelevel.basic.dx10.vert HLSL: Add SampleLevel method 2016-07-21 15:02:30 -06:00
hlsl.samplelevel.offset.dx10.frag HLSL: Add SampleLevel method 2016-07-21 15:02:30 -06:00
hlsl.samplelevel.offsetarray.dx10.frag HLSL: Add SampleLevel method 2016-07-21 15:02:30 -06:00
hlsl.scope.frag HLSL: Error if funcion with return type doesn't return a value. 2016-09-02 19:13:36 -06:00
hlsl.semicolons.frag HLSL: allow semicolons between global scope declarations. 2016-08-03 07:08:06 -06:00
hlsl.shapeConv.frag HLSL: Enable component-wise vector comparisons from operators 2016-10-26 08:50:10 -06:00
hlsl.shapeConvRet.frag HLSL: Add shape conversions for return values. 2016-10-06 16:56:54 -06:00
hlsl.sin.frag Tests: Add a set of gtest-file-based HLSL tests. 2016-05-16 17:39:50 -06:00
hlsl.string.frag HLSL: Move to correct parsing of annotations, improving all annotations and recent string grammar. 2016-09-20 13:22:58 -06:00
hlsl.stringtoken.frag HLSL: Add EHTokStringConstant, so that string attributes may be parsed 2016-08-22 17:13:17 -06:00
hlsl.struct.frag HLSL: phase 2e: introduce lower level addBinaryNode/UnaryNode fns 2016-10-12 12:39:44 -06:00
hlsl.struct.split-1.vert HLSL: inter-stage structure splitting. 2016-12-26 10:11:15 -07:00
hlsl.struct.split.call.vert HLSL: inter-stage structure splitting. 2016-12-26 10:11:15 -07:00
hlsl.struct.split.trivial.vert HLSL: inter-stage structure splitting. 2016-12-26 10:11:15 -07:00
hlsl.structarray.flatten.frag HLSL: Recursive composite flattening 2016-12-07 14:40:01 -07:00
hlsl.structarray.flatten.geom HLSL: inter-stage structure splitting. 2016-12-26 10:11:15 -07:00
hlsl.structin.vert HLSL: Recursive composite flattening 2016-12-07 14:40:01 -07:00
hlsl.switch.frag HLSL: Implement switch/case/default. 2016-07-01 00:04:11 -06:00
hlsl.swizzle.frag HLSL Tests: Tests for previous commit, to make it easier to see what's changing. 2016-09-29 10:25:15 -06:00
hlsl.templatetypes.frag HLSL: Add template style constructors for vector & matrix types 2016-07-01 13:59:36 -06:00
hlsl.templatetypes.negative.frag HLSL: Add template style constructors for vector & matrix types 2016-07-01 13:59:36 -06:00
hlsl.tx.bracket.frag HLSL: phase 2d: minor cleanup, & allow operator[] on non-rw textures 2016-10-12 12:39:44 -06:00
hlsl.typedef.frag HLSL: Add typedef grammar and production. 2016-07-05 00:02:40 -06:00
hlsl.void.frag HLSL: Error if funcion with return type doesn't return a value. 2016-09-02 19:13:36 -06:00
hlsl.whileLoop.frag HLSL: Enable component-wise vector comparisons from operators 2016-10-26 08:50:10 -06:00
length.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
lineContinuation100.vert glslang: Bug 13724: ES global initializers must be constant. 2015-04-30 03:22:41 +00:00
lineContinuation.vert glslang: Bug 13724: ES global initializers must be constant. 2015-04-30 03:22:41 +00:00
link1.frag Add full support for uniforms with initializers, including intra-stage link validation of aggregate constant initializers. 2013-09-28 04:02:08 +00:00
link2.frag Track which extensions were enabled or required, in the intermediate representation, for reflection of the consumer. 2014-03-31 22:20:47 +00:00
link3.frag Track which extensions were enabled or required, in the intermediate representation, for reflection of the consumer. 2014-03-31 22:20:47 +00:00
localAggregates.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
loops.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
loopsArtificial.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
mains1.frag Add link validation infrastructure for multiple compilation units per stage. Includes a new, straightforward, C++ interface to the front end. 2013-09-04 21:19:27 +00:00
mains2.frag Add link validation infrastructure for multiple compilation units per stage. Includes a new, straightforward, C++ interface to the front end. 2013-09-04 21:19:27 +00:00
mains.frag Add link validation infrastructure for multiple compilation units per stage. Includes a new, straightforward, C++ interface to the front end. 2013-09-04 21:19:27 +00:00
makeDoc Add option for printing documentation (empty). 2014-09-08 21:01:09 +00:00
matrix2.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
matrix.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
matrixError.vert Move the complex pieces of C++ code from glslang.y to ParseHelper.cpp. Updated some tests. 2013-08-27 05:57:15 +00:00
max_vertices_0.geom Semantics: Geometry stage can support max_vertices = 0. 2015-12-11 17:54:35 -07:00
maxClipDistances.vert Front-end: allow max size built-in arrays like gl_ClipDistance 2016-06-27 12:44:15 +02:00
missingBodies.vert Linker: Walk the call graph to report an error on missing bodies. 2016-12-08 23:22:21 -07:00
negativeArraySize.comp fix check for non-positive array size 2016-05-09 17:07:04 -06:00
newTexture.frag Fix an issue related with texelFetchOffset 2015-10-12 17:02:21 +08:00
noMain1.geom Add link-time checks for max_vertices, input primitive, and output primitive for existence and matching. 2013-11-20 22:16:41 +00:00
noMain2.geom Add link-time checks for max_vertices, input primitive, and output primitive for existence and matching. 2013-11-20 22:16:41 +00:00
noMain.vert Add link validation infrastructure for multiple compilation units per stage. Includes a new, straightforward, C++ interface to the front end. 2013-09-04 21:19:27 +00:00
nonSquare.vert Implement non-square matrices, and make a few type improvements. Cleaned up a few old issues. Added two tests. 2013-02-04 23:54:58 +00:00
nonVulkan.frag Vulkan: Add the #define VULKAN 100 when compiled for Vulkan. 2016-05-03 21:18:59 -06:00
numeral.frag glslang PP: make decimal number parser clearer and add boundary tests. Also, disable the warning for "do {} while (true);" 2015-05-16 01:15:41 +00:00
Operations.frag Semantics: Spec. changing to reflect reality of int/uint conversion for |^&. 2016-01-22 15:40:24 -07:00
pointCoord.frag Built-in symbol tables now lazily evaluated, and driven by per version, per profile input. Got all ES 100 and ES 300 built-in symbols correct. 2013-02-17 06:01:50 +00:00
precise_struct_block.vert integer type operation should not be noContraction 2016-05-09 10:46:40 -04:00
precise.tesc integer type operation should not be noContraction 2016-05-09 10:46:40 -04:00
precision.frag Fixes to scanning: 2013-11-12 03:31:24 +00:00
precision.vert Rationalize naming/access to current thread-local-storage scheme. However, the preprocessor tokenizer is not thread-safe, so this may all change. 2013-07-02 20:18:59 +00:00
prepost.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
preprocessor.cpp_style___FILE__.vert Extend the syntax of #line and __FILE__ to support filename strings. 2015-07-27 13:07:52 -04:00
preprocessor.cpp_style_line_directive.vert Extend the syntax of #line and __FILE__ to support filename strings. 2015-07-27 13:07:52 -04:00
preprocessor.defined.vert 'defined' cannot be used as a macro name in #define or #undef. 2015-08-29 23:15:13 +00:00
preprocessor.edge_cases.vert glslang preprocessing: Add -E option to print out preprocessed GLSL, and do the work needed to generate a preprocessed stream. From Andrew Woloszyn <awoloszyn@google.com>. 2015-06-17 02:38:44 +00:00
preprocessor.eof_missing.vert Fix the infinite loop when an input file lacks EOF 2016-04-27 10:05:57 -04:00
preprocessor.errors.vert Added error output to the preprocessor. 2015-07-14 16:02:25 -04:00
preprocessor.extensions.vert Only output explicit extension directives in preprocessing. 2015-07-21 17:47:47 -04:00
preprocessor.function_macro.vert glslang preprocessing: Add -E option to print out preprocessed GLSL, and do the work needed to generate a preprocessed stream. From Andrew Woloszyn <awoloszyn@google.com>. 2015-06-17 02:38:44 +00:00
preprocessor.include.disabled.vert Use extension framework to enable #include directive. 2015-07-31 19:41:19 -04:00
preprocessor.include.enabled.vert Use extension framework to enable #include directive. 2015-07-31 19:41:19 -04:00
preprocessor.line.frag Fix line number handling in line directive callback. 2015-07-14 14:37:59 -04:00
preprocessor.line.vert glslang preprocessing: Add -E option to print out preprocessed GLSL, and do the work needed to generate a preprocessed stream. From Andrew Woloszyn <awoloszyn@google.com>. 2015-06-17 02:38:44 +00:00
preprocessor.many.endif.vert Fix array out of bounds bug in processing if-else-endif macros. 2016-03-09 15:11:56 -05:00
preprocessor.pragma.vert glslang preprocessing: Add -E option to print out preprocessed GLSL, and do the work needed to generate a preprocessed stream. From Andrew Woloszyn <awoloszyn@google.com>. 2015-06-17 02:38:44 +00:00
preprocessor.simple.vert PP: Add missing atoms that effect -E mode. 2016-08-04 22:46:19 -06:00
preprocessor.success_if_parse_would_fail.vert Added error output to the preprocessor. 2015-07-14 16:02:25 -04:00
recurse1.frag Fix recursion detection (it was detecting cycles in the call graph that were not directed cycles). 2013-10-30 01:22:04 +00:00
recurse1.vert Add function recursion testing to the link-time validation. 2013-10-01 21:58:43 +00:00
recurse2.frag Add function recursion testing to the link-time validation. 2013-10-01 21:58:43 +00:00
reflection.vert Update test cases for vertex attribute reflection 2016-05-19 09:30:29 +02:00
remap.basic.dcefunc.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.basic.everything.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.basic.none.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.basic.strip.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.hlsl.sample.basic.everything.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.hlsl.sample.basic.none.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.hlsl.sample.basic.strip.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.hlsl.templatetypes.everything.frag HLSL: Do structure conversion for return type struct-punning on non-entry-point functions. 2016-10-06 13:06:13 -06:00
remap.hlsl.templatetypes.none.frag HLSL: Do structure conversion for return type struct-punning on non-entry-point functions. 2016-10-06 13:06:13 -06:00
remap.if.everything.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.if.none.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.literal64.everything.spv WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.literal64.none.spv WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.similar_1a.everything.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.similar_1a.none.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.similar_1b.everything.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.similar_1b.none.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.switch.everything.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.switch.none.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.uniformarray.everything.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
remap.uniformarray.none.frag WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
runtests Linker: Eliminate uncalled functions, because they can be ill-defined. 2016-12-09 19:22:20 -07:00
sample.frag Fixes to scanning: 2013-11-12 03:31:24 +00:00
sample.frag.out SPV: Fix array strides by explicitly computing them in the getBaseAlignment() algorithm. 2015-12-29 19:20:55 -07:00
sample.vert Make the default version be 100. 2013-02-08 18:56:56 +00:00
sample.vert.out SPV: Fix array strides by explicitly computing them in the getBaseAlignment() algorithm. 2015-12-29 19:20:55 -07:00
simpleFunctionCall.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
specExamples.frag Turn on non-uniform blocks (in/out/buffer), and prevent new stages from working with "no profile" (before 150) shaders. 2013-10-11 19:46:10 +00:00
specExamples.vert Array of array: Implement the core functionality: types, constructors, operations. 2015-08-10 17:08:55 -06:00
spv.100ops.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.130.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.140.frag SPIR-V: Move from Version .99 Rev 31 to Version 1.0, Rev 2. 2015-11-15 22:31:41 -07:00
spv.150.geom glslang SPV tests: Add a set of SPV tests. 2015-05-15 21:32:46 +00:00
spv.150.vert SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.300BuiltIns.vert SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.300layout.frag SPV: Require desktop 140 or ES 310 or above. 2016-01-22 17:47:22 -07:00
spv.300layout.vert SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.300layoutp.vert SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.310.bitcast.frag Front-end: Make ES floatBitsToInt/intBitsToFloat/etc. all be highp. 2016-06-14 20:38:58 -06:00
spv.310.comp SPV arrays: Add support for runtime-sized array types and arrays of arrays. 2015-09-13 10:18:19 -06:00
spv.330.geom glslang SPV tests: Add a set of SPV tests. 2015-05-15 21:32:46 +00:00
spv.400.frag SPV: PrimitiveId in frag shader will emit Geometry capability 2016-09-27 10:35:09 +02:00
spv.400.tesc Require l-value patch-out indexing to be gl_InvocationID. 2015-11-28 16:52:25 -07:00
spv.400.tese glslang SPV tests: Add a set of SPV tests. 2015-05-15 21:32:46 +00:00
spv.420.geom SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.430.frag SPV: Fix issue #376; declare Geometry capability for fragment use of gl_Layer. 2016-07-08 14:05:15 -06:00
spv.430.vert SPV: Fix 'location' inheritance bug. 2016-02-19 12:21:50 -07:00
spv.450.tesc Tests: Add some location-decoration tests, to aid PR #422. 2016-08-05 15:19:46 -06:00
spv.accessChain.frag SPV: Support simultaneous l-value swizzle and dynamic component selection. 2016-09-14 14:43:55 +08:00
spv.aggOps.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.always-discard2.frag SPV: Require desktop 140 or ES 310 or above. 2016-01-22 17:47:22 -07:00
spv.always-discard.frag SPV: Require desktop 140 or ES 310 or above. 2016-01-22 17:47:22 -07:00
spv.AofA.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.atomic.comp SPV: Turn on atomic-storage functionality for SPIR-V. 2016-07-07 17:40:35 -06:00
spv.bitCast.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.bool.vert SPV: Protect getStorageClass() with a test that the thing is pointer. 2015-12-08 20:48:49 -07:00
spv.boolInBlock.frag SPV: Continue to fix the issue of bool -> uint32 2016-03-03 14:38:51 +08:00
spv.branch-return.vert SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.buffer.autoassign.frag Add a test for buffer auto-binding assignment. 2016-09-30 14:26:34 -06:00
spv.conditionalDiscard.frag SPIR-V: Move from Version .99 Rev 31 to Version 1.0, Rev 2. 2015-11-15 22:31:41 -07:00
spv.conversion.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.dataOut.frag SPV: Require desktop 140 or ES 310 or above. 2016-01-22 17:47:22 -07:00
spv.dataOutIndirect.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.dataOutIndirect.vert SPV: Require desktop 140 or ES 310 or above. 2016-01-22 17:47:22 -07:00
spv.deepRvalue.frag SPIR-V: Move from Version .99 Rev 31 to Version 1.0, Rev 2. 2015-11-15 22:31:41 -07:00
spv.depthOut.frag SPIR-V: Move from Version .99 Rev 31 to Version 1.0, Rev 2. 2015-11-15 22:31:41 -07:00
spv.discard-dce.frag SPV: Require desktop 140 or ES 310 or above. 2016-01-22 17:47:22 -07:00
spv.do-simple.vert SPV: Require desktop 140 or ES 310 or above. 2016-01-22 17:47:22 -07:00
spv.do-while-continue-break.vert SPV: Require desktop 140 or ES 310 or above. 2016-01-22 17:47:22 -07:00
spv.double.comp SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.doWhileLoop.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.earlyReturnDiscard.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.float16.frag Parser: Some function prototypes of interpolateAtXXX are incorrect. 2016-10-10 16:55:04 +08:00
spv.flowControl.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.for-complex-condition.vert Add Test/spv.for-complex-condition.vert. 2016-01-20 11:54:11 -05:00
spv.for-continue-break.vert SPV: Require desktop 140 or ES 310 or above. 2016-01-22 17:47:22 -07:00
spv.for-nobody.vert Test a for loop with no body. 2016-01-10 23:15:08 -05:00
spv.for-notest.vert Split loop header from condition testing for for/while loops. 2016-01-20 11:51:43 -05:00
spv.for-simple.vert SPV: Require desktop 140 or ES 310 or above. 2016-01-22 17:47:22 -07:00
spv.forLoop.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.forwardFun.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.functionCall.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.functionSemantics.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.GeometryShaderPassthrough.geom Add support for SPV_NV_geometry_shader_passthrough 2016-12-20 13:28:52 -08:00
spv.glFragColor.frag SPV: Further refine OpenGL vs. Vulkan differences for SPIR-V. 2016-07-07 19:27:15 -06:00
spv.glsl.register.autoassign.frag GLSL: Add binding map tests 2016-09-26 17:02:44 -06:00
spv.glsl.register.noautoassign.frag GLSL: Add binding map tests 2016-09-26 17:02:44 -06:00
spv.image.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.int64.frag Preprocessor: UINT_MAX is translated to constant incorrectly. 2016-09-09 17:06:15 +08:00
spv.interpOps.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.intOps.vert SPV testing: Add missing test case. 2015-11-16 09:31:26 -07:00
spv.layoutNested.vert SPV: Generalize multiple struct-type instances for interpolation/invariant qualifiers. 2015-12-24 10:30:13 -07:00
spv.length.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.localAggregates.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.loops.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.loopsArtificial.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.matFun.vert SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.matrix2.frag SPV: Implement all matrix operators {+,-,*,/} for {matrix,scalar,vector}. 2015-12-12 12:28:14 -07:00
spv.matrix.frag SPV: Handle matrix's OpFConvert vector by vector. 2016-05-14 09:20:52 +08:00
spv.memoryQualifier.frag SPV: Add support for memory qualifiers. 2016-02-21 21:02:08 +08:00
spv.merge-unreachable.frag Front-end: Warn for likely missed change in default precisions. 2016-08-23 18:13:08 -06:00
spv.multiStruct.comp SPV: Fix issue #506: generalize struct deep copy to include arrays. 2016-09-11 12:33:43 -06:00
spv.multiStructFuncall.frag SPV: Flatten structs for copy when they are GLSL type aliases. 2016-09-02 16:35:01 -06:00
spv.newTexture.frag SPV: Fix an issue related with using CubeArrayShadow for texture() 2015-11-22 21:43:05 +08:00
spv.noDeadDecorations.vert Test dead-decoration removal. 2016-03-11 12:06:41 -05:00
spv.nonSquare.vert SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.noWorkgroup.comp Whole stack: Fix stale types in the AST linker object nodes, fixing #557. 2016-11-05 10:22:33 -06:00
spv.offsets.frag SPV: Distinguish between SPV and non-SPV rules for member overlap. 2016-10-07 11:50:25 -06:00
spv.Operations.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.precise.tesc Precise and noContraction propagation 2016-05-09 10:46:40 -04:00
spv.precise.tese Precise and noContraction propagation 2016-05-09 10:46:40 -04:00
spv.precision.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.prepost.frag glslang SPV tests: Add a set of SPV tests. 2015-05-15 21:32:46 +00:00
spv.pushConstant.vert SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.qualifiers.vert glslang SPV tests: Add a set of SPV tests. 2015-05-15 21:32:46 +00:00
spv.queryL.frag Full stack: implement textureQueryLod(*) and textureQueryLevels(*). 2015-09-15 19:38:56 -06:00
spv.register.autoassign-2.frag HLSL: add intrinsic function implicit promotions 2016-11-23 10:36:34 -07:00
spv.register.autoassign.frag HLSL: Add location offsets per resource type 2016-09-20 20:31:27 -06:00
spv.register.autoassign.rangetest.frag HLSL: add intrinsic function implicit promotions 2016-11-23 10:36:34 -07:00
spv.register.noautoassign.frag HLSL: Add location offsets per resource type 2016-09-20 20:31:27 -06:00
spv.rw.autoassign.frag Add UAV (image) binding offset and HLSL register support 2016-11-01 14:44:54 -06:00
spv.sampleMaskOverrideCoverage.frag Add support for SPV_NV_sample_mask_override_coverage 2016-12-19 16:29:34 -08:00
spv.separate.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.set.vert SPIR-V: Move from Version .99 Rev 31 to Version 1.0, Rev 2. 2015-11-15 22:31:41 -07:00
spv.shaderBallot.comp Implement the extension GL_ARB_shader_ballot 2016-05-05 19:02:35 +08:00
spv.shaderDrawParams.vert SPV: Implement extension SPV_KHR_shader_draw_parameters. 2016-10-11 14:40:35 +08:00
spv.shaderGroupVote.comp Implement the extension GL_ARB_shader_group_vote. 2016-05-05 20:38:33 +08:00
spv.shiftOps.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.shortCircuit.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.simpleFunctionCall.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.simpleMat.vert SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.sparseTexture.frag SPV: Support the new OpCode - OpImageSparseRead 2016-02-19 22:24:03 +08:00
spv.sparseTextureClamp.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.specConst.vert SPV: Further refine OpenGL vs. Vulkan differences for SPIR-V. 2016-07-07 19:27:15 -06:00
spv.specConstant.comp SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.specConstant.vert Built-in values declared as specialization constant 2016-04-04 11:10:41 -04:00
spv.specConstantComposite.vert Vulkan: Finish semantics for what creates spec-const-semantics. 2016-05-23 23:10:18 -06:00
spv.specConstantOperations.vert Parser: Add 64-bit type conversion for specialization constant. 2016-09-05 22:20:28 +08:00
spv.structAssignment.frag Front-end: Warn for likely missed change in default precisions. 2016-08-23 18:13:08 -06:00
spv.structDeref.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.structure.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.subpass.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.switch.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.swizzle.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.swizzleInversion.frag SPV: For AST interpolateAt* ops consuming a swizzle, invert the order. 2016-07-26 12:53:54 -06:00
spv.test.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.test.vert SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.texture.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.texture.vert SPV: Require desktop 140 or ES 310 or above. 2016-01-22 17:47:22 -07:00
spv.types.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.uint.frag Preprocessor: UINT_MAX is translated to constant incorrectly. 2016-09-09 17:06:15 +08:00
spv.uniformArray.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.variableArrayIndex.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.varyingArray.frag SPV: Require desktop 140 or ES 310 or above. 2016-01-22 17:47:22 -07:00
spv.varyingArrayIndirect.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.voidFunction.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
spv.while-continue-break.vert SPV: Require desktop 140 or ES 310 or above. 2016-01-22 17:47:22 -07:00
spv.while-simple.vert SPV: Require desktop 140 or ES 310 or above. 2016-01-22 17:47:22 -07:00
spv.whileLoop.frag SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
structAssignment.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
structDeref.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
structure.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
switch.frag glslang -> SPV: 1) Include post switch-break unreachable blocks and 2) Generally, don't emit degenerate (basically empty) unreachable blocks. 2015-05-03 22:38:16 +00:00
swizzle.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
syntaxError.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
test.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
texture.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
tokenLength.vert Consolidate all token length limits (1024), including one bad one (80) hardcoded on the stack (issue #40, issue #41). 2015-07-25 14:02:53 -06:00
tokenPaste.vert PP: Support operator creation with token pasting. 2016-12-21 12:32:56 -07:00
types.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
uint.frag Track separate precision defaults for each kind of sampler, give initial defaults as per spec. Also make fragment floats have no default. Modify/add tests to adapt to these changes. 2013-06-19 05:41:25 +00:00
uniformArray.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
variableArrayIndex.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
varyingArray.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
varyingArrayIndirect.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
versionsClean.frag Track separate precision defaults for each kind of sampler, give initial defaults as per spec. Also make fragment floats have no default. Modify/add tests to adapt to these changes. 2013-06-19 05:41:25 +00:00
versionsClean.vert Add a new shader-versioning infrastructure capable of handling multiple profiles, desktop/ES, many versions, features coming and going in different versions across different profiles, and extensions. 2012-12-13 00:05:26 +00:00
versionsErrors.frag Add a new shader-versioning infrastructure capable of handling multiple profiles, desktop/ES, many versions, features coming and going in different versions across different profiles, and extensions. 2012-12-13 00:05:26 +00:00
versionsErrors.vert Add a new shader-versioning infrastructure capable of handling multiple profiles, desktop/ES, many versions, features coming and going in different versions across different profiles, and extensions. 2012-12-13 00:05:26 +00:00
voidFunction.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00
vulkan.ast.vert Vulkan: Finish semantics for what creates spec-const-semantics. 2016-05-23 23:10:18 -06:00
vulkan.comp SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
vulkan.frag SPV: Prevent issue #415 with better semantic checking. 2016-07-31 12:39:46 -06:00
vulkan.vert Vulkan: Add the #define VULKAN 100 when compiled for Vulkan. 2016-05-03 21:18:59 -06:00
whileLoop.frag glslang testing: Remove dependence on testfiles from LunarGLASS. 2015-06-17 16:15:09 +00:00