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.
NB: *Use* of this infrastructure is so far only skeletal. Fixed a few typos and minor issues along the way. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@19951 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
5d3e2e35b6
commit
9fd55bd338
31 changed files with 1662 additions and 706 deletions
|
|
@ -685,18 +685,22 @@ static int CPPversion(yystypepp * yylvalpp)
|
|||
|
||||
yylvalpp->sc_int=atoi(yylvalpp->symbol_name);
|
||||
|
||||
cpp->version = yylvalpp->sc_int;
|
||||
SetVersion(yylvalpp->sc_int);
|
||||
|
||||
token = cpp->currentInput->scan(cpp->currentInput, yylvalpp);
|
||||
|
||||
if (token == '\n'){
|
||||
if (token == '\n') {
|
||||
SetProfile(ENoProfile);
|
||||
return token;
|
||||
}
|
||||
else{
|
||||
cpp->profileAtom = yylvalpp->sc_ident;
|
||||
if (cpp->profileAtom != coreAtom &&
|
||||
cpp->profileAtom != compatibilityAtom &&
|
||||
cpp->profileAtom != esAtom)
|
||||
else {
|
||||
if (yylvalpp->sc_ident == coreAtom)
|
||||
SetProfile(ECoreProfile);
|
||||
else if (yylvalpp->sc_ident == compatibilityAtom)
|
||||
SetProfile(ECompatibilityProfile);
|
||||
else if (yylvalpp->sc_ident == esAtom)
|
||||
SetProfile(EEsProfile);
|
||||
else
|
||||
CPPErrorToInfoLog("#version profile name");
|
||||
|
||||
token = cpp->currentInput->scan(cpp->currentInput, yylvalpp);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue