Commit 05a70630 by John Kessenich

Add optional configuration file for specifying (existing) limits. Details…

Add optional configuration file for specifying (existing) limits. Details explained by usage statement. More limits to be added in the future. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23105 e7fa87d3-cd2b-0410-9028-fcbf551c1848
parent b84b700d
This source diff could not be displayed because it is too large. You can view the blob instead.
MaxLights 32
MaxClipPlanes 6
MaxTextureUnits 32
MaxTextureCoords 32
MaxVertexAttribs 64
MaxVertexUniformComponents 4096
MaxVaryingFloats 64
MaxVertexTextureImageUnits 32
MaxCombinedTextureImageUnits 32
MaxTextureImageUnits 32
MaxFragmentUniformComponents 4096
MaxDrawBuffers 32
MaxVertexUniformVectors 128
MaxVaryingVectors 8
MaxFragmentUniformVectors 16
MaxVertexOutputVectors 16
MaxFragmentInputVectors 15
MinProgramTexelOffset -8
MaxProgramTexelOffset 7
...@@ -5,9 +5,17 @@ BASEDIR=baseResults ...@@ -5,9 +5,17 @@ BASEDIR=baseResults
EXE=./glslangValidator.exe EXE=./glslangValidator.exe
# #
# isolated compilation tests # configuration file test
# #
echo running configuration file test
$EXE -c > $TARGETDIR/test.conf
diff -b $BASEDIR/test.conf $TARGETDIR/test.conf
$EXE -i $TARGETDIR/test.conf specExamples.vert > $TARGETDIR/specExamples.vert.out
diff -b $BASEDIR/specExamples.vert.out $TARGETDIR
#
# isolated compilation tests
#
while read t; do while read t; do
echo Running $t... echo Running $t...
b=`basename $t` b=`basename $t`
...@@ -18,7 +26,6 @@ done < testlist ...@@ -18,7 +26,6 @@ done < testlist
# #
# grouped shaders for link tests # grouped shaders for link tests
# #
function runLinkTest { function runLinkTest {
echo Running $*... echo Running $*...
$EXE -i -l $* > $TARGETDIR/$1.out $EXE -i -l $* > $TARGETDIR/$1.out
...@@ -31,8 +38,8 @@ runLinkTest noMain.vert mains.frag ...@@ -31,8 +38,8 @@ runLinkTest noMain.vert mains.frag
# #
# multi-threaded test # multi-threaded test
# #
echo Comparing single thread to multithread for all tests in current directory... echo Comparing single thread to multithread for all tests in current directory...
$EXE -i *.vert *.geom *.frag *.tes* *.comp > singleThread.out $EXE -i *.vert *.geom *.frag *.tes* *.comp > singleThread.out
$EXE -i *.vert *.geom *.frag *.tes* *.comp -t > multiThread.out $EXE -i *.vert *.geom *.frag *.tes* *.comp -t > multiThread.out
diff singleThread.out multiThread.out diff singleThread.out multiThread.out
Current functionality level: ESSL 3.0 Current functionality level: ESSL 3.0
Link Validation Link Validation
+ provide input config file for setting limits
- also consider spitting out measures of complexity
- ensure no static references thrown away - ensure no static references thrown away
Cross-stage linking Cross-stage linking
- type consistency check of uniform and ins <-> outs, both variables and blocks, stage-specific arrayness matching - type consistency check of uniform and ins <-> outs, both variables and blocks, stage-specific arrayness matching
...@@ -13,6 +15,7 @@ Link Validation ...@@ -13,6 +15,7 @@ Link Validation
- 1.3: deprecated mixing fixed vertex/fragment stage with programmable fragment/vertex stage. - 1.3: deprecated mixing fixed vertex/fragment stage with programmable fragment/vertex stage.
- 4.3: remove cross-version linking restrictions. - 4.3: remove cross-version linking restrictions.
- 4.3: Allow mismatches in interpolation and auxiliary qualification across stages. - 4.3: Allow mismatches in interpolation and auxiliary qualification across stages.
- 4.4: A stage contains two different blocks, each with no instance name, where the blocks contain a member with the same name.
Intra-stage linking Intra-stage linking
- exactly one main - exactly one main
- type consistency check of uniforms, globals, ins, and outs, both variables and blocks - type consistency check of uniforms, globals, ins, and outs, both variables and blocks
...@@ -33,6 +36,8 @@ Link Validation ...@@ -33,6 +36,8 @@ Link Validation
- 4.3: Be clear that early_fragment_tests is only needed in one fragment-stage compilation unit. - 4.3: Be clear that early_fragment_tests is only needed in one fragment-stage compilation unit.
- 4.3: Be clear that implicit array sizing is only within a stage, not cross stage. - 4.3: Be clear that implicit array sizing is only within a stage, not cross stage.
- 4.4: overlapping transform/feedback offsets, offset/stride overflow checks, and stride matching - 4.4: overlapping transform/feedback offsets, offset/stride overflow checks, and stride matching
- 4.4: If gl_FragCoord is redeclared in any fragment shader in a program, it must be redeclared in all the fragment shaders in that program that have a static use gl_FragCoord
- 4.4: An interface contains two different blocks, each with no instance name, where the blocks contain a member with the same name.
Shader Functionality to Implement/Finish Shader Functionality to Implement/Finish
ESSL 3.0 ESSL 3.0
...@@ -116,7 +121,6 @@ Shader Functionality to Implement/Finish ...@@ -116,7 +121,6 @@ Shader Functionality to Implement/Finish
- Add 64-bit floating-point attributes for vertex shader inputs. - Add 64-bit floating-point attributes for vertex shader inputs.
- Support viewport arrays so where the geometry shader selects which viewport array will transform its output. - Support viewport arrays so where the geometry shader selects which viewport array will transform its output.
GLSL 4.2 GLSL 4.2
- Add 420-style function signature matching rules (or did this start in 4.0?)
+ Move these previously deprecated features to be only in the compatibility profile: + Move these previously deprecated features to be only in the compatibility profile:
+ The keyword attribute for vertex shader inputs. (Use in instead.) + The keyword attribute for vertex shader inputs. (Use in instead.)
+ The keyword varying for inputs and outputs. (Use in and out instead.) + The keyword varying for inputs and outputs. (Use in and out instead.)
...@@ -153,12 +157,9 @@ Shader Functionality to Implement/Finish ...@@ -153,12 +157,9 @@ Shader Functionality to Implement/Finish
- Allow swizzle operations on scalars. - Allow swizzle operations on scalars.
- Positive signed decimal literals, as well as octal and hexadecimal, can set all 32 bits. This includes setting the sign bit to create a negative value. - Positive signed decimal literals, as well as octal and hexadecimal, can set all 32 bits. This includes setting the sign bit to create a negative value.
- Make GLSL consistent with the API regarding user clipping, by no longer referring to gl_Positionwhen gl_ClipVertex is not written. Rather, user clipping becomes undefined. - Make GLSL consistent with the API regarding user clipping, by no longer referring to gl_Positionwhen gl_ClipVertex is not written. Rather, user clipping becomes undefined.
- Minor consistency fixes, corrections - Clarified that a comma sequence-operator expression cannot be a constant expression. E.g., “(2,3)” is not allowed, semantically, as a valid constant expression 3, even though it is an expression that will evaluate to 3.
- Consistently state structures have members not fields. The period ( . ) is still called the field selector, for all its multiple uses. - Use vec2 instead of vec3 for coordinate in textureGather*(sampler2DRect,...).
- Remove comment that there is no communication between instantiations of a shader. - Clarify that textureGatherOffset() can take non-constants for the offsets.
- Clarified that a comma sequence-operator expression cannot be a constant expression. E.g., “(2,3)” is not allowed, semantically, as a valid constant expression 3, even though it is an expression that will evaluate to 3.
- Use vec2instead of vec3for coordinate in textureGather*(sampler2DRect,...).
- Clarify that textureGatherOffset() can take non-constants for the offsets.
GLSL 4.3 GLSL 4.3
- Add shader storage bufferobjects, as per the ARB_shader_storage_buffer_object extension. - Add shader storage bufferobjects, as per the ARB_shader_storage_buffer_object extension.
This includes 1) allowing the last member of a storage buffer block to be an array that does not This includes 1) allowing the last member of a storage buffer block to be an array that does not
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment