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
This commit is contained in:
parent
e96ee859a8
commit
040b8ca9d4
10
Todo.txt
10
Todo.txt
@ -4,7 +4,7 @@ Current functionality level: ESSL 3.0, GLSL 1.5
|
|||||||
|
|
||||||
Link Validation
|
Link Validation
|
||||||
+ provide input config file for setting limits
|
+ provide input config file for setting limits
|
||||||
- also consider spitting out measures of complexity
|
- also consider spitting out measures of complexity
|
||||||
+ ensure no static references thrown away
|
+ ensure no static references thrown away
|
||||||
- generate static use of object even if the only use is to access the length of its array
|
- generate static use of object even if the only use is to access the length of its array
|
||||||
Cross-stage linking
|
Cross-stage linking
|
||||||
@ -21,7 +21,7 @@ Link Validation
|
|||||||
- 4.3: compute shader not combined with any other stages
|
- 4.3: compute shader not combined with any other stages
|
||||||
- 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.
|
- 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, single shader
|
Intra-stage linking, single shader
|
||||||
+ recursion for functions
|
+ recursion for functions
|
||||||
- limits checking:
|
- limits checking:
|
||||||
@ -44,8 +44,8 @@ Link Validation
|
|||||||
+ 1.50: at least one geometry shader says max_vertices...
|
+ 1.50: at least one geometry shader says max_vertices...
|
||||||
+ 1.50: origin_upper_left and pixel_center_integer have to match
|
+ 1.50: origin_upper_left and pixel_center_integer have to match
|
||||||
- Even the potential for recursion through subroutine uniforms is an error.
|
- Even the potential for recursion through subroutine uniforms is an error.
|
||||||
- 4.4: An interface contains two different blocks, each with no instance name, where the blocks contain a member with the same name.
|
- 4.4: An interface contains two different blocks, each with no instance name, where the blocks contain a member with the same name.
|
||||||
- 4.4: component aliasing (except desktop vertex shader inputs)
|
- 4.4: component aliasing (except desktop vertex shader inputs)
|
||||||
- 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
|
||||||
Intra-stage linking, multiple shader (Non-ES)
|
Intra-stage linking, multiple shader (Non-ES)
|
||||||
+ type consistency check of uniforms, globals, ins, and outs
|
+ type consistency check of uniforms, globals, ins, and outs
|
||||||
@ -59,7 +59,7 @@ Link Validation
|
|||||||
- matching redeclarations of interface blocks
|
- matching redeclarations of interface blocks
|
||||||
- 4.3: early_fragment_tests contradictions
|
- 4.3: early_fragment_tests contradictions
|
||||||
- 4.3: implicit array sizing is cross shader within a stage
|
- 4.3: implicit array sizing is cross shader within a stage
|
||||||
- 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: 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
|
||||||
|
|
||||||
Shader Functionality to Implement/Finish
|
Shader Functionality to Implement/Finish
|
||||||
ESSL 2.0 (#version 100)
|
ESSL 2.0 (#version 100)
|
||||||
|
|||||||
@ -646,7 +646,7 @@ int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& typ
|
|||||||
|
|
||||||
// Recursively figure out how many locations are used up by an input or output type.
|
// Recursively figure out how many locations are used up by an input or output type.
|
||||||
// Return the size of type, as measured by "locations".
|
// Return the size of type, as measured by "locations".
|
||||||
int TIntermediate::computeTypeLocationSize(const TType& type)
|
int TIntermediate::computeTypeLocationSize(const TType& type) const
|
||||||
{
|
{
|
||||||
// "If the declared input is an array of size n and each element takes m locations, it will be assigned m * n
|
// "If the declared input is an array of size n and each element takes m locations, it will be assigned m * n
|
||||||
// consecutive locations..."
|
// consecutive locations..."
|
||||||
|
|||||||
@ -234,7 +234,7 @@ public:
|
|||||||
bool inIoAccessed(const TString& name) const { return ioAccessed.find(name) != ioAccessed.end(); }
|
bool inIoAccessed(const TString& name) const { return ioAccessed.find(name) != ioAccessed.end(); }
|
||||||
|
|
||||||
int addUsedLocation(const TQualifier&, const TType&, bool& typeCollision);
|
int addUsedLocation(const TQualifier&, const TType&, bool& typeCollision);
|
||||||
int computeTypeLocationSize(const TType&);
|
int computeTypeLocationSize(const TType&) const;
|
||||||
|
|
||||||
bool setXfbBufferStride(int buffer, int stride)
|
bool setXfbBufferStride(int buffer, int stride)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user