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
This commit is contained in:
John Kessenich 2014-08-12 03:52:51 +00:00
parent cc7f4eb5a0
commit bedb1bc2db
12 changed files with 165 additions and 46 deletions

View file

@ -900,13 +900,13 @@ parameter_declaration
$$.param.type->getQualifier().precision = $1.qualifier.precision;
parseContext.checkNoShaderLayouts($1.loc, $1.shaderQualifiers);
parseContext.parameterSamplerCheck($2.loc, $1.qualifier.storage, *$$.param.type);
parseContext.parameterTypeCheck($2.loc, $1.qualifier.storage, *$$.param.type);
parseContext.paramCheckFix($1.loc, $1.qualifier, *$$.param.type);
}
| parameter_declarator {
$$ = $1;
parseContext.parameterSamplerCheck($1.loc, EvqIn, *$1.param.type);
parseContext.parameterTypeCheck($1.loc, EvqIn, *$1.param.type);
parseContext.paramCheckFix($1.loc, EvqTemporary, *$$.param.type);
}
//
@ -918,13 +918,13 @@ parameter_declaration
$$.param.type->getQualifier().precision = $1.qualifier.precision;
parseContext.checkNoShaderLayouts($1.loc, $1.shaderQualifiers);
parseContext.parameterSamplerCheck($2.loc, $1.qualifier.storage, *$$.param.type);
parseContext.parameterTypeCheck($2.loc, $1.qualifier.storage, *$$.param.type);
parseContext.paramCheckFix($1.loc, $1.qualifier, *$$.param.type);
}
| parameter_type_specifier {
$$ = $1;
parseContext.parameterSamplerCheck($1.loc, EvqIn, *$1.param.type);
parseContext.parameterTypeCheck($1.loc, EvqIn, *$1.param.type);
parseContext.paramCheckFix($1.loc, EvqTemporary, *$$.param.type);
}
;
@ -1546,9 +1546,8 @@ type_specifier_nonarray
$$.setMatrix(4, 4);
}
| ATOMIC_UINT {
// TODO: 4.2 functionality: add atomic_uint type
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
$$.basicType = EbtInt;
$$.basicType = EbtAtomicUint;
}
| SAMPLER1D {
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());