Fix bug of accidentally overriding initial layout location with 0, which does not mean no location. Added in/out structure tests.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22120 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
211cba242b
commit
b29ba33089
@ -38,6 +38,16 @@ struct s {
|
||||
|
||||
out s badout; // ERROR
|
||||
|
||||
struct S2 {
|
||||
vec3 c;
|
||||
float f;
|
||||
};
|
||||
|
||||
in S2 s2;
|
||||
|
||||
out vec3 sc;
|
||||
out float sf;
|
||||
|
||||
void main()
|
||||
{
|
||||
float f;
|
||||
@ -74,6 +84,9 @@ void main()
|
||||
|
||||
f += gl_FragCoord.y;
|
||||
gl_FragDepth = f;
|
||||
|
||||
sc = s2.c;
|
||||
sf = s2.f;
|
||||
}
|
||||
|
||||
float imageBuffer; // ERROR, reserved
|
||||
|
@ -9,6 +9,13 @@ varying vec2 v2; // ERROR
|
||||
|
||||
in vec4 bad[10]; // ERROR
|
||||
|
||||
struct S {
|
||||
vec3 c;
|
||||
float f;
|
||||
};
|
||||
|
||||
out S s;
|
||||
|
||||
void main()
|
||||
{
|
||||
int id = gl_VertexID + gl_InstanceID;
|
||||
@ -34,6 +41,9 @@ void main()
|
||||
gl_Position = m44[2];
|
||||
gl_PointSize = v2.y;
|
||||
|
||||
s.c = v3;
|
||||
s.f = dm;
|
||||
|
||||
#ifdef GL_ES
|
||||
#error GL_ES is set
|
||||
#else
|
||||
|
@ -687,6 +687,7 @@ public:
|
||||
const char* getStorageQualifierString() const { return ::getStorageQualifierString(qualifier.storage); }
|
||||
const char* getPrecisionQualifierString() const { return ::getPrecisionQualifierString(qualifier.precision); }
|
||||
TTypeList* getStruct() { return structure; }
|
||||
TTypeList* getStruct() const { return structure; }
|
||||
|
||||
int getObjectSize() const
|
||||
{
|
||||
@ -705,7 +706,6 @@ public:
|
||||
return totalSize;
|
||||
}
|
||||
|
||||
TTypeList* getStruct() const { return structure; }
|
||||
TString& getMangledName()
|
||||
{
|
||||
if (!mangled) {
|
||||
|
@ -84,13 +84,10 @@ TParseContext::TParseContext(TSymbolTable& symt, TIntermediate& interm, int v, E
|
||||
globalUniformDefaults.clear();
|
||||
globalUniformDefaults.layoutMatrix = ElmColumnMajor;
|
||||
globalUniformDefaults.layoutPacking = ElpShared;
|
||||
globalUniformDefaults.layoutSlotLocation = 0;
|
||||
|
||||
globalInputDefaults.clear();
|
||||
globalInputDefaults.layoutSlotLocation = 0;
|
||||
|
||||
globalOutputDefaults.clear();
|
||||
globalOutputDefaults.layoutSlotLocation = 0;
|
||||
}
|
||||
|
||||
// Get code that is not part of a shared symbol table, specific to this shader
|
||||
|
Loading…
x
Reference in New Issue
Block a user